mne-connectivity
mne-connectivity copied to clipboard
Implement posthoc graph statistics
Describe the problem
mne-connectivity will have implemented a number of connectivity/graph estimation procedures using spectral, envelope correlation, or phase slope index measures. Many of these are symmetric and can be thresholded to be turned into simple, non-directed graphs.
Running valid statistical analysis on graphs is an important problem that should be treated with care. We need to wrap graspologic functions for i) creating embeddings on graphs and ii) performing hypothesis testing on graphs to answer questions, such as: "Are these two connectivity structures between brains different?"
Describe your solution
Write light-weight mne_connectivity.graph_stats wrapper of https://graspologic.readthedocs.io/en/latest/reference/inference.html#two-graph-hypothesis-testing
and related functions.
Additional context
There is no "good way" of running a t-test between two sets of graphs. Therefore, graspologic (supported by Microsoft) implements a good range of SOTA graph statistical procedures.
It seems like https://graspologic.readthedocs.io/en/latest/reference/inference.html#two-graph-hypothesis-testing is for testing one graph versus another. For testing one set of graphs (e.g., for one group of subjects) against another set of graphs for a group difference (like a generalization of a t-test), I think you can use Hotelling T2 tests. I can track down a paper on this if it would help
@bdpedigo we are interested in leveraging graspologic to do graph hypothesis testing on MEG, EEG, iEEG data. Is there a way or planned implementation to test "two sets of graphs" in graspologic?
@adam2392 we don't have anything implemented for that ATM, but I think I know what my first attempt at that would be. Would just have to figure out if it's valid/powerful etc. Jesus/Jovo/CEP may also have thoughts, maybe we should chat more?
@bdpedigo sure will send you a message on slack