[FieldTrip] Need help with cluster-based permutation test with 3 groups of subjects
José Antonio Uriguen Garaizabal
jose.uriguen at deusto.es
Tue Apr 11 12:08:44 CEST 2017
Dear all
My name is Toni and I am working on EEG signal processing at University of
Deusto, Bilbao, Spain. More specifically, right now trying to
apply cluster-based permutation testing to determine whether there exist
differences among 3 groups of subjects.
So, for my testing, subject groups are E, EN and N, the 2 former being
different types of patients and the latter being a control group. I am
forming clusters based on proximity (in space) and each subject is
characterized by a matrix of values that vary in 2D (per channel and
another variable related but not equal to frequency).
By means of a T-statistic (indepsamplesT) I can find differences in between
E and EN, but I find no clusters/differences in between E and N or EN and
N, even though hypothetically (I think) they should exist. By means of an
F-statistic (indepsamplesF) I can find differences among the 3 groups at
the same time, then also between E and EN and no differences between E and
N or EN and N...
Am I missing something? I do not understand why the might exist a
significant cluster when comparing all 3 groups that does not exist in the
1vs1 comparisons, even though the cluster is not the same I obtain when I
compare E vs EN...
For additional information, I attach how I run the test:
cfg.method = 'distance';
cfg.neighbourdist = 1;
cfg.elec = ft_datatype_sens(subjEN{1}.elec);
neighbours = ft_prepare_neighbours(cfg);
cfg = [];
cfg.channel = {'EEG'};
cfg.latency = 'all';
cfg.method = 'montecarlo';
cfg.statistic = 'indepsamplesT';
cfg.correctm = 'cluster';
cfg.clusteralpha = 0.05;
cfg.clusterstatistic = 'maxsum';
cfg.minnbchan = 2;
cfg.neighbours = neighbours; % same as defined for the
between-trials experiment
cfg.tail = 0;
cfg.clustertail = 0;
cfg.alpha = 0.025;
cfg.numrandomization = 5000;
nsubj = size(subjE,2)+size(subjEN,2);
design = zeros(2,nsubj);
design(1,:) = [1:nsubj/2 1:nsubj/2];
design(2,1:size(subjE,2)) = 1;
design(2,size(subjE,2)+1:nsubj) = 2;
cfg.design = design;
cfg.ivar = 2;
[stat] = ft_timelockstatistics(cfg, subjEN{:}, subjE{:});
When I compare the 3 groups
cfg.method = 'distance';
cfg.neighbourdist = 1;
cfg.elec = ft_datatype_sens(subjEN{1}.elec);
neighbours = ft_prepare_neighbours(cfg);
cfg = [];
cfg.channel = {'EEG'};
cfg.latency = 'all';
cfg.method = 'montecarlo';
cfg.statistic = 'indepsamplesF'; %F-statistic
cfg.correctm = 'cluster';
cfg.clusteralpha = 0.05;
cfg.clusterstatistic = 'maxsum';
cfg.minnbchan = 2;
cfg.neighbours = neighbours; % same as defined for the
between-trials experiment
cfg.tail = 1; %One sided
cfg.clustertail = 1;
cfg.alpha = 0.025;
cfg.numrandomization = 5000;
nsubj1 = size(subjE,2);
nsubj2 = size(subjEN,2);
nsubj3 = size(subjN,2);
nsubj = nsubj1+nsubj2+nsubj3;
design = zeros(2,nsubj);
design(1,:) = [1:nsubj1 1:nsubj2 1:nsubj3];
design(2,1:nsubj1) = 1;
design(2,nsubj1+1:nsubj1+nsubj2) = 2;
design(2,nsubj1+nsubj2+1:nsubj) = 3;
cfg.design = design;
cfg.ivar = 2; %2nd row is independent var
[stat] = ft_timelockstatistics(cfg, subjE{:}, subjEN{:}, subjN{:});
Then, subjE, subjN and subjEN are like this:
Eall = subjE{:}
Eall =
struct with fields:
label: {1×18 cell}
fsample: 200
elec: [1×1 struct]
trial: {[18×115 double]}
time: {[1×115 double]}
cfg: [1×1 struct]
Thanks in advance
--
*Jose Antonio Urigüen*
PostDoc at Deustotech-LIFE (eVIDA Research Group)
[image: Deusto] <http://www.deusto.es/>
Universidad de Deusto / Deustuko Unibertsitatea / University of Deusto
Facultad de Ingeniería, 4ª Planta
Avda. Universidades 24. 48007 Bilbao
Tel. +34 94 413 90 00 / Mov. +34 656 711 643
Ext. 2980
jose.uriguen at deusto.es <sanchez.alain at deusto.es>
Web: evida.deusto.es
*www.deusto.es <http://www.deusto.es/>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20170411/7a169976/attachment-0001.html>
More information about the fieldtrip
mailing list