I've just started using Brainstorm and have made rapid progress in doing phase-amplitude coupling. However, after producing the plots I expected, I was unable to find any reference to statistical testing of the coupling. Most papers I've read use some form of shuffling. Is such a method available in Brainstorm and, if not, will one be available soon?
So far we do not have such method in Brainstorm. It is correct that shuffling techniques (of phase data vs. amplitude) can be used for performing tests on PAC measures. What we currently use at the lab are in-house scripts that are probably not mature enough to be integrated into Brainstorm. They are however on our list for future releases.
I am also interested in statistical testing of PAC. Since some time has passed since the earlier, I wanted to ask whether the statistical testing is currently already available?
The implementation of the test depends on your hypothesis. For instance, you can use PAC as any other statistics (e.g., source activity; power spectra, coherence, etc.) i.e., contrast between groups, conditions, etc.
I am using 64-channel EEG data and I intend to compare two groups (on three conditions) to see whether the first group has significantly more delta-beta coupling than the first group for certain electrodes. Unfortunately, the general statistics description in the tutorials is unclear to me and there is no specific PAC statistics section.
While trying the statistical testing in the process 2 tab, I noticed that if I put in the PAC files to do independent parametric testing, it gives an error that it is not supported yet, saying to ask at the forum. Is it indeed not possible to analyze the PAC files in this way? When trying fieldtrip_freqanalysis instead, it runs but double-clicking on the resulting file gives the error “Attempt to reference field of non-structure array” and “File is not registered in database”. However, when I put in the canolty maps into fieldtrip_freqanalysis, everything does work. Is this actually how it is supposed to be done? And in what way can I then see the actual statistics values and not just the image?
Indeed, the PAC files are currently not supported by any process in Brainstorm. They use a file structure that is not handled by any of the processes (including the statistics).
We are still waiting for an update of the PAC implementation: the files will be saved differently, and only then we will update the code of the other processes to support them.
There is no clear timeline for these developments, I recommend you do not wait for it and run your statistics directly from Matlab.
Compute the PAC measures you want in Brainstorm, export them to Matlab (or read the .mat files with the “load” command) and run your tests with Matlab functions.
Dear Francois,
I have used 'tPAC' method and chosen 'maxpac' measure for computing PAC and later imported time frequency map into Matlab. Now I would like to perform statistical testing on DynamicPAC (4D matrix) which is stored in sPAC structure of individual subjects. I have used Desikan-Killiany atlas for choosing scout. The 'TF' variable varies from subject to subject, for e.g., for subject 1, TF=3099 (1443 for rostral middle frontal L and 1656 for superior frontal L) and for subject 2, TF=3075 (1323 for rostral middle frontal L and 1752 for superior frontal L). So while performing the statistics using DynamicPAC subject 1 has 3099X103X39 double matrix and subject 2 has 3075X103X39 double matrix. Therefore it is becoming hard to perform between group statistics because every subject within a group have a different matrix dimension and same applies to subjects belonging to different groups.
if 'TF' is constant across subjects within and between groups we can run statistics in Matlab or R
Kindly suggest the needful.
You obtain different dimensions because you have different numbers of vertices in the scouts your are extracting?
You need to compute a summary statistic of the values you obtained per scout (eg. mean), in order to have only one value per scout/time point/frequency, for all the subjects.
Am I misunderstanding your question?
Thanks Francois,
I understand the difference in dimensions is just because of different number of vertices for extracted scouts. However, I am not able to calculate the summary statistic of these values obtained per scout.
Can you please suggest how to compute these because at the time of computing tPAC, this option of obtaining mean per scout was not available.
Perhaps Samiee is the better person to answer this...
Over to @Samiee
Sorry for my late reply, we actually have a method implemented in brainstorm for statistical analysis of tPAC results based surrogate data (as Sylvain mentioned). It works with single band data (to more efficient in terms of computational cost, and interpretability of results as explained bellow). You can z-score your tPAC values with respect to surrogate data.
I would suggest not using maxPAC measure! (Could be very noisy and not really meaningful if you have a wide range for fA). Instead compute the PAC for the whole range of interest, estimate comodulogram, and then based on that find the main mode of coupling and run tPAC in the second round in a narrower band with strongest coupling using "single band" option for fA.
(As recommended in the tutorial, it would be better to select fP band also based on the your background hypothesis and power spectrum of the signal.)
It is more reasonable to run statistics on single band results (2D) both in terms of computational cost and interpretability of the result!
Hello. apologies for opening up an old conversation but I have some questions regarding this original post made some years ago. I too am working with PAC data and seeking some advice in the statistical testing of scout PAC comodulogram. My comodulograms consist of nesting frequency of 1-30 Hz and nested frequency of 30-90 Hz; effectively 34 by 40 matrix comodulogram per scout.
the original post refers to papers that used some form of "shuffling". Is this referring to nonparametric permutation tests?
if so, what are your recommendations on how to execute such test? What softwares can do this easily? (it looks like Matlab can handle this with the right coding; anything else?) If you could give some pointers as to previous papers and resources that I could look into that would be great.