Statistical testing for phase amplitude coupling

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?

Thank you.

Mark Blumberg

Sorry for the late reply, Mark.

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.


Dear Sylvain/Francois,

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?

Thank you in advance!
Eefje Poppelaars


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.

Dear Sylvain,

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?

Thank you very much for your help!

Best regards,
Eefje Poppelaars

Dear Eefje,

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,

Thank you for your reply. I will explore other software in that case.
Maybe it would be helpful to put this fact explictly on the brainstorm webpage?

Best regards,
Eefje Poppelaars

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.

Thanking you

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?

@Samiee @Sylvain

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


Indeed, from the code I can see that there is no option to use a summary statistic for the scouts, it always takes all the vertices...

@Samiee Is it what you intended to do?


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!