coherence stats

jan-mathijs schoffelen j.schoffelen at PSY.GLA.AC.UK
Wed May 21 11:18:32 CEST 2008

Dear Bernhard,

Indeed, since coherence already is a kind of 'statistic', and
computed across observations, you have to walk a different path.
Personally I usually perform statistics on coherence between
conditions on the group level, but from your question I understand
that you want to compare within a subject.
If you would want to go for the non-parametric option (which I would
strongly encourage) you could have a look at Maris et al.
J Neurosci Meth 2007. As such I think that the method is implemented
in Fieldtrip. If you prefer to stick to a parametric approach
you could for example have a look at Bokil et al J Neurosci Meth
2006, or Amjad J Neurosci Meth 1997. These methods are not
readily available in Fieldtrip but Hemant Bokil's double jackknife
approach should be present in the Chronux software package.
Finally, you could try to compute a condition specific variance of
coherence, and perform a simple T-test across the conditions.
However, statistically this is not completely correct, because you
are violating the t-test's assumption of gaussianity.

Anyway, a variance estimate of coherence can be obtained by
specifying cfg.jackknife = 'yes' in freqdescriptives after having run
freqanalysis with cfg.keeptrials = 'yes'. However, I believe that any
T-value computation has to be done outside fieldtrip.
Since this is not the path you seem to want to go, I'd suggest that
you call freqanalysis with cfg.output = 'fourier'.
If you subsequently call freqstatistics with cfg.statistic =
'indepsamplesZcoh', and a further appropriate cfg, I think you are
pretty much
there. However, I believe statfun_indepsamplesZcoh computes coherence
between all channel-combinations between the channels
you provide it with, so you can run into memory problems if you have
many channels. You could however create a loop in which you feed
freqstatistics with a channel pair each time. I would then take care
to initialize the random-number generator in the same way prior to every
call of freqstatistics, so that the 'random' permutation is the same
for all channel-pairs.

Hope this helps,


On May 21, 2008, at 2:58 AM, Bernhard Staresina wrote:

> Dear FieldTrip experts,
> I have a quick question about the statistical assessment of
> coherence. I
> first derive coherence values across two channels of interest for
> condition
> A and condition B by running (i) FREQ = freqanalysis [with
> cfg.output =
> 'powandcsd'] followed by (ii) COH = freqdescriptives(FREQ),
> separately for
> each condition.
> Now, how can I assess whether the coherence values differ
> significantly
> between condition A and condition B? First I thought the I can just
> plug in
> COH_condition_A and COH_condition_B into freqstatistics (using
> montecarlo
> randomizations). But given that COH doesn't contain trial-by-trial
> data any
> more, that doesn't seem to work. So, I assume that I should use
> FREQ_condition_A and FREQ_condition_B instead? But if so, how does
> the code
> know what data to choose for the stats (e.g., crsspctrm versus
> powspctrm)?
> Any guidance would be appreciated.
> Best,
> Bernhard
> ----------------------------------
> The aim of this list is to facilitate the discussion between users
> of the FieldTrip  toolbox, to share experiences and to discuss new
> ideas for MEG and EEG analysis. See also
> archives/fieldtrip.html and

The aim of this list is to facilitate the discussion between users of the FieldTrip  toolbox, to share experiences and to discuss new ideas for MEG and EEG analysis. See also and

More information about the fieldtrip mailing list