Causality measures

This module provides function to estimate causal influences of signals on each other.

Granger causality

Granger causality is a method to determine causal influence of one signal on another based on autoregressive modelling. It was developed by Nobel prize laureate Clive Granger and has been adopted in various numerical fields ever since [gr2]. In its simplest form, the method tests whether the past values of one signal help to reduce the prediction error of another signal, compared to the past values of the latter signal alone. If it does reduce the prediction error, the first signal is said to Granger cause the other signal.


The user must be mindful of the method’s limitations, which are assumptions of covariance stationary data, linearity imposed by the underlying autoregressive modelling as well as the fact that the variables not included in the model will not be accounted for [gr3].


The mathematical implementation of Granger causality methods in this module closely follows [gr1].

Overview of Functions

Various formulations of Granger causality have been developed. In this module you will find function for time-series data to test pairwise Granger causality (pairwise_granger).

Time-series Granger causality

pairwise_granger(signals, max_order[, ...]) Determine Granger Causality of two time series
conditional_granger(signals, max_order[, ...]) Determine conditional Granger Causality of the second time series on the first time series, given the third time series.


View tutorial

Run tutorial interactively:


[gr1]Mingzhou Ding, Yonghong Chen, and Steven L. Bressler. Granger causality: basic theory and application to neuroscience. 2006. arXiv:q-bio/0608035.
[gr2]Clive WJ Granger. Investigating causal relations by econometric models and cross-spectral methods. Econometrica: journal of the Econometric Society, 37:424–438, 1969. doi:10.2307/1912791.
[gr3]A. Seth. Granger causality. Scholarpedia, 2(7):1667, 2007. revision #127333. doi:10.4249/scholarpedia.1667.