Spectral Granger Causality (Geweke 1982, Bressler & Seth 2011) between every channel pair, computed from a fitted MVAR model. More...
#include "../connectivity_global.h"#include "abstractmetric.h"#include <QSharedPointer>#include <Eigen/Core>

Go to the source code of this file.
Classes | |
| class | CONNECTIVITYLIB::GrangerCausality |
| Spectral Granger Causality estimator; directional, MVAR-based. More... | |
Namespaces | |
| namespace | CONNECTIVITYLIB |
| Functional connectivity metrics (coherence, PLV, cross-correlation, etc.). | |
Spectral Granger Causality (Geweke 1982, Bressler & Seth 2011) between every channel pair, computed from a fitted MVAR model.
SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors
Granger's idea (Granger, Econometrica 1969) is that a process X_j "causes" X_i if the past of X_j helps predict X_i beyond what the past of X_i alone already does. Geweke (JASA 1982) gave the frequency-resolved version used here:
GC_{j->i}(f) = ln( S_{ii}(f) / ( S_{ii}(f) - ( Sigma_{jj} - Sigma_{ij}^2 / Sigma_{ii} ) * |H_{ij}(f)|^2 ) )
with H the MVAR transfer function and Sigma the innovation covariance, both supplied by MvarModel. The output is non-negative and asymmetric (GC_{j->i} != GC_{i->j} in general), so the resulting Network is directional. Spectral GC is the standard reference directed measure for stationary linear systems and is the metric most directly comparable to the spectral_connectivity_epochs(method='gc') output produced by MNE-Python's mne-connectivity.
Practical caveats are well known (Bressler & Seth, NeuroImage 2011): the estimate is sensitive to MVAR model order, requires reasonably stationary trial segments, and is biased by observation noise. The complementary DirectedTransferFunction and PartialDirectedCoherence metrics in this library are derived from the same MVAR fit and are usually reported together.
Definition in file granger_causality.h.