I would like to clarify how the Granger causality can/should be used in practice, and how to interpret the statistical significance given by the test.

Also, I would like to fill this table with things like "we don't know" or if we know something, what do we know (It will for sure not be causality, but maybe something else?).

                        X Granger cause Y sig.   X Granger cause Y not 
Y Granger cause X sig.                     ...                     ... 
Y Granger cause X not                      ...                     ...
  • $\begingroup$ What do the arrows mean in the table headings? $\endgroup$
    – whuber
    Commented Apr 4, 2011 at 14:36
  • 2
    $\begingroup$ You might get more helpful responses if you have a particular application in mind. The term "Granger causality," is unfortunate, given that strong evidence of "Granger causality," may be weak evidence of "causality." $\endgroup$ Commented Apr 4, 2011 at 18:36
  • $\begingroup$ I agree with Michael. I have seen it used for explorative purposes by economists and political scientists working with time series, but it really all depends on the data, as it is used mostly to think more about causality and further methods. $\endgroup$
    – Fr.
    Commented Apr 4, 2011 at 23:33
  • $\begingroup$ @Michael Bishop: I agree that the term causality is not the best. I use it alongside with Granger. I am actually not looking for causality (Indeed Z may cause both X and Y) but maybe something like "X leads Y", and how it is different from doing the lagged correlation, for instance $\endgroup$ Commented Apr 5, 2011 at 1:48
  • $\begingroup$ This is used all the time in fMRI analysis as well $\endgroup$ Commented Apr 5, 2011 at 5:26

1 Answer 1


To begin with, the source you added has almost all you need to get acquainted with Granger (non)causality concept (though I like the scholarpedia's article more). The most crucial is that G-causality in practice looks for the answer: would variable $x$ be useful predicting variable $y$, meaning that information containing in variables up to lag $p$ is statistically significant. Thus G-causality is purely statistical property of the data, that may be though supported by theoretically sound hypothesis.

Some practical considerations:

  1. If you have more than two stationary signals, it may happen that they have to be jointly described by a vector autoregressive model (VAR). Therefore pairwise G-causality could be misleading, since you ignore the impacts that come from the other variables.
  2. Suggestion in $R$: try library(vars) and ?causality for instantaneous and G-causality, when you have more than two variables, and VAR seems meaningful (well it is a separate answer when it really is, some ideas are also related to G-causality concept).
  3. Previous suggestion is better in multivariate case, comparing to pairwise case library(lmtest) and ?grangertest. On the other hand pairwise case is an option when you do have to work with two variables only. Even in multivariate case you may still perform grangertest just to mark possible useful covariates or decide on statistical possible endogeneity issues. I usually do so when lacking in time, since identification of subsets of variables and hyper-parameters (lag order) selection for VAR models is a not-so-quick task. So for quick useful-predictive-information-containing variables detection it is alright to go pairwise (but do not stop with this results, they are just auxiliary).
  4. Note, that under null hypothesis you do test non-G-causality, thus $p$ values will mark G-causal relationships.
  5. Conclusions from G-causality tests would be "We know that if $x$ G-cause $y$ statistically significantly, thus it contains useful information that helps to predict future values of $y$". However if we conclude the same about $y$ (feedback effect) it would mean that $x$ and $y$ are both endogenous and VAR type of the model is needed. You may also conclude that if none of the variables G-cause another, it is one of the signs that VAR specification is not necessary. And you may go for separate ARMA models (note, that your variables have to be stationary to perform G-causality tests correctly).
  6. Any other suggestions from the community are welcome, @zik you may try gretl as an alternative to $R$ to implement Granger-causality tests.

Not the answer you're looking for? Browse other questions tagged or ask your own question.