[FieldTrip] Statistics (against baseline)

Manuel Mercier manuel.mercier at einstein.yu.edu
Thu Apr 21 22:10:45 CEST 2011


Dear Field-trippers
First of all, I would like to thank the Fieldtrip mentors, and all the 
contributors.
I find this toolbox more than a toolbox. The website and the active 
mailing list makes it stimulating and definitively instructive.
Which motivates me to share with you some reflections and questions.

I did some statistics on data from implanted electrodes (ECoG) in human. 
For the purpose of this analysis, I mainly looked at the time frequency 
space, so I first ran the following script:
(with data being the output of the /ft_preprocessing/ function)

load data;
trig = [3 4 5];
for cond = 1:length(trig)
     cfg = [];
     cfg.method = 'wavelet';
     cfg.output = 'fourier';
     cfg.foi = 2:2:50;
     cfg.toi = -0.5:0.02:0.05;
     cfg.keeptrials = 'yes';
     cfg.keeptaper = 'yes';
     cfg.width = 5;
     cfg.trials = find(data.trialinfo(:,1) == trig(cond));
     TF_Mwlt_fourier{cond} = ft_freqanalysis(cfg, data);
end;

I used Morlet wavelet because a previous post from Robert that 
recommended not to use multitapering for PLF
(http://mailman.science.ru.nl/pipermail/fieldtrip/2006-March/000446.html).
And also to facilitate comparison with other studies.

The output being Fourier, I computed power and phase concentration (aka 
PLF or ITC),
(both calculated at single trial level for stats and then averaged for 
/ft_multiplot//TFR/ )

powplf_data.pow                  = abs(data.fourierspctrm) .^2;
powplf_data.powspctrm      = abs(mean(squeeze(powplf_data.pow),1));
powplf_data.plf                     = 
data.fourierspctrm./abs(data.fourierspctrm);
powplf_data.plf_average    =  abs(mean(squeeze(powplf_data.plf),1));


The first statistics I wanted to run was a comparison of the power and 
the PLF for each condition against their respective baseline period.
To do so I applied the following method (based on Delorme et Makeig 
2004) for a given channel:
- draw a value within the baseline period for each trial (independently 
for each time point and frequency).
- average along the trial dimension
- repeat those steps thousand time
- use those thousand repetition to construct the distribution
- count the percentage of values above (/below) the observed post-onset 
value from the data (at a given latency and frequency).
Define significance for power using two tails (p < 0.025 & p > 0.975), 
and one tail for PLF (p<0.05).

I decided to write my own function because I was not sure that I could 
do it using Field trip.
I noticed that there is the /statfun_actvsblT/ that can be specified in 
/cfg.method/ field of /ft_freqstatistics/.
But I have two concerns about it:
- I prefer to used a randomization method for distribution reason. 
Indeed even if for power it seems to be ok with my data (seems to be 
normally distributed),
it is by definition not the case with PLF (which is more like a gamma or 
F distribution; because values are more concentrated near to zero, rare 
value toward 1).
- this function average  over the specified baseline time period. This 
average step makes more sense to me in the case of ERP analysis, but 
less with time frequency.
Especially with PLF, since the average will have the tendency to 
compress the values toward 0.

I guess that an alternative would be to use /statfun_diff_itc/ with one 
condition being post-onset period and the other "fake" condition being 
the baseline.
But in this case the length (duration) of the two pools should be 
identical, as the time points would be "paired". Am I correct about this 
or is it more flexible ?

Here are the points I would like to discuss:
1) I think I did my analysis the correct way, but it might not be the 
case, so any comments about the method are very welcome.
2) when someone is interested in the phase, is there a "better" method  
to compute the time frequency transform?
(or any method is good as long as there is no frequency smoothing)
3) can we imagine a future extra/new option in the /statfun_actvsbl/ 
that would allow for choosing between averaging and taking a random time 
point within the specified time period ?
   Maybe this makes less sense for T-stats than in the case of a 
randomization test ? and even less when this is not done at the level of 
single trials ?

Thanks in advance for your comments.

Manuel



-- 
Manuel Mercier, PhD
Research Fellow

Cognitive Neurophysiology Laboratory,
Children's Evaluation and Rehabilitation Center (CERC),
Departments of Pediatrics
Albert Einstein College of Medicine,
1225 Morris Park Avenue
Bronx , New York, NY 10461

phone: +1 (718) 862 1824
fax: +1 (718) 862 1807

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20110421/d55e1df4/attachment-0001.html>


More information about the fieldtrip mailing list