Open shawnrhoads opened 1 month ago
This mostly looks good but I don't think shuffling the 'ts' values of the regression outputs is exactly the right way to do this.
I think to mirror the original category-based permutations in Maris and Oostenveld 2007 I think we want to shuffle the regressors going into time_resolved_regression_single_channel
, compute the clusters in this new surrogate output, and then compare that to the real cluster test stat
Based on the large DataFrame of time-resolved regression coefficients generated across all electrodes using
statistics_utils.time_resolved_regression_single_channel(timeseries, regressors, standardize=True, smooth=False)
, can subselect rows for a given region of interest (e.g., 'AMY"):Can run the following:
roi_ttest, cluster_tstats = cluster_based_permutation(roi_df)
, which produces the following outputs:roi_ttest
: DataFrame with t-statistics and p-values for each timepoint.cluster_tstats
: DataFrame with summed t-statistics and timepoint range for each cluster identified.cluster_based_permutation()
relies on the following dependencies:find_clusters()
ts_permutation_test()
andts_permutation_test()
It also depends on the following packages:
pandas
,numpy
,scipy.stats.ttest_1samp
,scipy.ndimage.label
,joblib.Parallel
,joblib.delayed
,tqdm.tqdm