[Eeglablist] how to do group analysis in SIFT?

Tim Mullen mullen.tim at gmail.com
Mon Apr 9 13:27:06 PDT 2012


Hui-bin Jia,

I would not attempt to fit a single model to the collection of trials taken
across all subjects. Fitting an MVAR model to an ensemble of trials assumes
that each trial is a realization from the same stochastic process (e.g. all
trials have the same statistical properties). While this is often a
reasonable assumption for a single subject, significant differences in
channel data statistics are likely to exist between subjects, e.g. due to
differences in sensor impedance, noise, biophysics, neural architecture,
etc. Besides, fitting a single model to data from all subjects presumes
that the optimal model order is the same across subjects, which is probably
not true.

Instead, you should fit a separate model for each subject (using only the
channels of interest, as you specified). If for each subject you have (the
same) M channels (e.g. [11, 12, 13]), T time-points, and F frequencies,
this will produce connectivity matrices in EEG.CAT.Conn.(methodname) of
dimension [M x M x F x T] for each subject. It then remains to simply use
your preferred statistical test to assess whether mean population
connectivity for various channel-pairs, times, and frequencies is
significantly non-zero or whether there is are differences in population
means across subject groups or conditions. For this, if the population is
large, it's probably suitable to use an ANOVA or t-test, preferably with
bootstrap resampling (see statcond() in EEGLAB) and/or trimming (Yuen test)
if outliers are present. If the sample size is not very large, or the
sample distributions significantly non-normal, you might also consider
other non-parametric tests such as Mann-Whitney U or permutation testing
depending on nature of the hypothesis you are wishing to test. You'll need
to correct for multiple comparisons e.g. across time and frequency. For
that, you might apply the fdr() function in EEGLAB to obtain corrected
p-values for the population-level significance test.

Individual subject (e.g. first-level, not group) statistics including
bootstrap, jackknife, phase randomization, etc can be carried out in SIFT
using the various routines prefixed by "stat_" or "pop_stat_". In
particular, check out these functions:

pop_stat_analyticStats.m
pop_stat_surrogate.m
pop_stat_surrogateStats.m

Use the "doc <function-name>" feature of Matlab for info on how to use
these functions.

Tim

2012/4/6 Hui-bin Jia <420247417 at qq.com>

> Hi, everyone
>
>    SIFT doesn’t have Group Analysis module in current version.
>    But I want to use this toolbox to do the granger-causal connectivity
> analysis of channel data.
>    To achieve this goal, I thought out this method. But I don’t know
> whether it right or not.
>
>    I will make use of the experiment in the SIFT manual to illustrate my
> method.
>    Assuming I have got the data of 10 subjects in two conditions
> (RespWrong and RespCorrect).
>    So there are 20 datasets in total. Independent component analysis has
> been conducted on all of the 20 datasets.
>    In each dataset, the number of channels and independent components both
> are 152(nbchan = 152 ), and the   number of epochs is 123. In every epoch,
> there are 1024 data points(ie. pnts = 1024).
>
>    Then I collected the EEG data of the eleventh subject in the two
> conditions (RespWrong and RespCorrect).
>    And these two dataset are called ‘datasetwrong’ and ‘datasetcorrect’.
> Independent component analysis has
>    been conducted on all of the 2 datasets. In each dataset, the number of
> channels and independent components
>    both are 152(nbchan = 152 ), and the number of epochs is 1030. In every
> epoch, there are 1024 data
>    points(ie. pnts = 1024).
>
>    Now I want to do granger-causal connectivity analysis of the RespWrong
> condition.
>    The No. of channels for analysis are 11, 12, and 13. For the first ten
> subjects, I get 1230(123*10) epochs
>    at each channel.
>    1. I get 1000 epochs which are free from artifacts from all the 1230
> epochs(123*10) in channel 11, 12 and 13.
>    Then using these data, I get 3 1024*1000 matrices.
>    They are called a, b, and c. And I assume these three matrices
> represent the data from all of the first ten
>    subjects.
>    2.'datasewrong' is loaded in MATLAB, and 30 epochs in this dataset are
> deleted, which means
>    the number of the remaining epochs is 1000.
>    3, in the command line,
>    I type EEG.data(11,:,: ) = a ; EEG.data(12,:,: ) = b; EEG.data(13,:,: )
> = c.  EEG.data is a 152*1024*1000 matrix.
>    4. In the command line, I type EEG.data = EEG.icaact; EEG.icawinv =
> EEG.icaweights = ones(152,152).
>    5, I select the eleventh, twelfth, and thirteenth independent
> components and do granger-causal connectivity
>    analysis according to the Data processing pipeline illustrated by the
> SIFT manual.
>
>    I’m asking my method is right or not? Can it be considered as an
> alternative for group analysis?
>
>    Can I do bootstrap sample and phase randomization with the current
> version of SIFT?
>
>    Thanks!
>
>
> Sincerely,
> Hui-bin Jia
>
> _______________________________________________
> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> To unsubscribe, send an empty email to
> eeglablist-unsubscribe at sccn.ucsd.edu
> For digest mode, send an email with the subject "set digest mime" to
> eeglablist-request at sccn.ucsd.edu
>



-- 
---------  αντίληψη -----------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20120409/a757afc1/attachment.html>


More information about the eeglablist mailing list