spatio_temporal_clustering

External Email - Use Caution

Hai list,
while computing the spatio-temporal clustering on power generated from 19
subject whole brain volume (after morphing), we observed two problems.
1. as the p_threshold is decreased there should be the less number of
clusters. In our case its reverse. why? refer the table

P_threshold

F_threshold

Number of clusters (p<0.05)

10-2

2.22

0

10-3

3.56

0

10-4

5.22

0

10-5

7.34

1

10-6

10.05

1

10-7

13.55

1

10-8

18.05

4

10-9

23.85

3
2. each time the clusters are localised at different regions.
Can any one us say what is cause of this problem?
please refer to the snippet below,

src_fs = mne.setup_volume_source_space( 'fsaverage',
pos=5.,mri=aseg_fname, subjects_dir=subjects_dir,verbose=True)
connectivity=spatial_src_connectivity(src_fs)
power_test=np.zeros((2,n_subjects,n_vertices,n_timepoints)) ## here we
are checking the power values are significant with respect to
baseline, so the first sample is zero and the second sample is the
contrast.
contrast=l_gamma_power_dist8-l_gamma_power_dist1 ##
l_gamma_power_dist8 and l_gamma_power_dist1 are the power generated
for whole brain volume (after morphing) for n_subjects using Hilbert
beamforming [contrast.shape=n_subjects,n_vertices,n_timepoints]
power_test[1,:,:,:]=contrast
p_accept = 0.05
power_test=np.transpose(power_test,[0,1,3,2]) ## to rearrange the
dimension 2 x n_subjects x n_timepoints x n_vertices
p_threshold=10e-5
n_subjects=19
f_threshold=stats.distributions.f.ppf(1.-p_threshold/2.,n_subjects-1,n_subjects-1)
cluster_stats = spatio_temporal_cluster_test(power_test,
n_permutations=1000,connectivity=connectivity,
                                             threshold=f_threshold,
tail=1,seed=8,
                                             n_jobs=1)T_obs, clusters,
p_values, _ = cluster_stats
good_cluster_inds = np.where(p_values < p_accept)[0]
for i_clu, clu_idx in enumerate(good_cluster_inds):
    # unpack cluster information, get unique indices
    time_inds, space_inds = np.squeeze(clusters[clu_idx])
    time_inds = np.unique(time_inds)
    space_inds = np.unique(space_inds)

External Email - Use Caution

1. as the p_threshold is decreased there should be the less number of
clusters. In our case its reverse. why?

Not necessarily. The initial p-value threshold (really the F_threshold you
pass to the clustering function) just determines which points are included
in clustering (at all). As this becomes more stringent, fewer points will
be included. Finding more clusters with p < 0.05 as this threshold gets
more stringent suggests that the data are somehow being denoised by being
more stringent.

FWIW TFCE is designed to make it so that you don't have to do this sort of
determination, as it will automatically step through a number of
thresholds, and the meaningful data (which for you seem to show up with
quite stringent thresholds) should be enhanced automatically.

2. each time the clusters are localised at different regions.

Same as above, which clusters you find will be affected by which points you
allow to be clustered in the first place. What you should find is that the
clusters you get at more stringent thresholds are a subset of clusters you
get at more relaxed thresholds. So for example if you have a cluster that
contains five spatio-temporal points at a given threshold, if you make the
threshold more stringent, this cluster should only shrink (or split) as the
threshold becomes more significant.

Eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20200427/64de95f0/attachment.html

External Email - Use Caution

I want to add that the null hypothesis says nothing about the cluster
location. There is a nice paper that talks about this:

https://www.draschkow.com/app/download/9767211/16267843.pdf

You should exercise caution when interpreting the location of the clusters.

Mainak