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 CONNECTIVITYLIB::MvarModel. The output is non-negative and asymmetric (GC_{j->i} != GC_{i->j} in general), so the resulting CONNECTIVITYLIB::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 CONNECTIVITYLIB::DirectedTransferFunction and CONNECTIVITYLIB::PartialDirectedCoherence metrics in this library are derived from the same MVAR fit and are usually reported together.
Definition in file granger_causality.h.