mne.stats.spatio_temporal_cluster_test¶
-
mne.stats.
spatio_temporal_cluster_test
(X, threshold=None, n_permutations=1024, tail=0, stat_fun=None, connectivity=None, verbose=None, n_jobs=1, seed=None, max_step=1, spatial_exclude=None, step_down_p=0, t_power=1, out_type='indices', check_disjoint=False, buffer_size=1000)[source]¶ Non-parametric cluster-level test for spatio-temporal data.
This function provides a convenient wrapper for data organized in the form (observations x time x space) to use
mne.stats.permutation_cluster_test()
. See [1] for more information.- Parameters
- X: list of arrays
List of data arrays, shape
(n_observations, n_times, n_vertices)
in each group.- threshold
float
|dict
|None
If threshold is None, it will choose an F-threshold equivalent to p < 0.05 for the given number of observations (only valid when using an F-statistic). If a dict is used, then threshold-free cluster enhancement (TFCE) will be used, and it must have keys
'start'
and'step'
to specify the integration parameters, see the TFCE example.- n_permutations: int
See permutation_cluster_test.
- tail-1 or 0 or 1 (default = 0)
See permutation_cluster_test.
- stat_fun
callable()
|None
Function called to calculate statistics, must accept 1d-arrays as arguments (default None uses
mne.stats.f_oneway()
).- connectivity
scipy.sparse.spmatrix
orNone
Defines connectivity between features. The matrix is assumed to be symmetric and only the upper triangular half is used. Default is None, i.e, a regular lattice connectivity.
- verbosebool,
str
,int
, orNone
If not None, override default verbose level (see
mne.verbose()
and Logging documentation for more).- n_jobs
int
The number of jobs to run in parallel (default 1). Requires the joblib package.
- seed
None
|int
| instance ofRandomState
If
seed
is anint
, it will be used as a seed forRandomState
. IfNone
, the seed will be obtained from the operating system (seeRandomState
for details). Default isNone
.- max_step
int
When connectivity is a n_vertices x n_vertices matrix, specify the maximum number of steps between vertices along the second dimension (typically time) to be considered connected. This is not used for full or None connectivity matrices.
- spatial_exclude
list
ofint
orNone
List of spatial indices to exclude from clustering.
- step_down_p
float
To perform a step-down-in-jumps test, pass a p-value for clusters to exclude from each successive iteration. Default is zero, perform no step-down test (since no clusters will be smaller than this value). Setting this to a reasonable value, e.g. 0.05, can increase sensitivity but costs computation time.
- t_power
float
Power to raise the statistical values (usually F-values) by before summing (sign will be retained). Note that t_power == 0 will give a count of nodes in each cluster, t_power == 1 will weight each node by its statistical score.
- out_type
str
For arrays with connectivity, this sets the output format for clusters. If ‘mask’, it will pass back a list of boolean mask arrays. If ‘indices’, it will pass back a list of lists, where each list is the set of vertices in a given cluster. Note that the latter may use far less memory for large datasets.
- check_disjointbool
If True, the connectivity matrix (or list) will be examined to determine of it can be separated into disjoint sets. In some cases (usually with connectivity as a list and many “time” points), this can lead to faster clustering, but results should be identical.
- buffer_size: int or None
The statistics will be computed for blocks of variables of size “buffer_size” at a time. This is option significantly reduces the memory requirements when n_jobs > 1 and memory sharing between processes is enabled (see set_cache_dir()), as X will be shared between processes and each process only needs to allocate space for a small block of variables.
- Returns
References
- 1
Maris/Oostenveld (2007), “Nonparametric statistical testing of EEG- and MEG-data”, Journal of Neuroscience Methods, Vol. 164, No. 1., pp. 177-190. doi:10.1016/j.jneumeth.2007.03.024.