# Granger causality test on residuals

I have a time-series of three variables: $$x_0, x_1, x_2$$. I have a theory that claims $$x_0$$ granger causes both $$x_1$$ and $$x_2$$.

On the other side I want to check if $$x_1$$ causes $$x_2$$, $$x_2$$ causes $$x_1$$, or both.

As $$x_0$$ causes both other variables I though of running 2 different var models:

1. $$\textrm{var}(x_0,x_1)$$
2. $$\textrm{var}(x_0,x_2)$$

Then I get the residuals of $$x_1$$ and $$x_2$$ from these models and call them $$rx_1$$ and $$rx_2$$. Finally I apply the following var model: $$\textrm{var}(rx_1, rx_1)$$, after which I test for Granger causality. In other words, as I know that $$x_0$$ causes both $$x_1$$ and $$x_2$$ to vary, therefore, I control for $$x_0$$ and then check if the residuals, $$rx_1$$ and $$rx_1$$, granger cause each other.

My question would be: Does this procedure make sense (statistically)? Am I controlling the effect of $$x_0$$? And if so, is there a book chapter or article that introduces or uses a similar approach? I need to cite something in order to justify my procedure!

Why are you not running a VAR model with all three variables in it? It is the sounder approach.

1. $$x_1\xrightarrow{Granger}x_2$$ or $$x_2\xrightarrow{Granger}x_1$$ and
2. lags of $$x_0$$ are correlated with lags of $$x_1$$ and $$x_2$$ and
3. you run pairwise VARs for $$(x_0,x_1)$$ and $$(x_0,x_2)$$,

these pairwise VARs will capture some of the Granger causality of $$x_1\xrightarrow{Granger}x_2$$ or $$x_2\xrightarrow{Granger}x_1$$ in their fitted values, so their residuals will have less of it than there originally were. Therefore, testing for it using residuals form these pairwise VARs may yield weaker findings.

This is analogous to omitted variable bias in regression. If the true model is $$y=\beta_0+\beta_1 x_1+\beta_2 x_2+\varepsilon$$ where $$\text{Corr}(x_1,x_2)\neq 0$$, you cannot recover $$\beta_2$$ by first running a regression of $$y$$ on $$x_1$$ and then its residuals on $$x_2$$. This is because in the first regression the effect of $$x_2$$ on $$y$$ is partly captured by $$x_1$$ due to its correlation with $$x_2$$, so there is less of it left in the residuals.

• I have a sound theory that: firstly, $x_0$ granger causes $x_1$ and $x_2$ and furthermore, $x_1$ and $x_2$ do not granger cause $x_0$. Therefore, I can't run a VAR with all 3 of them since such a var will answer if $x_1$ granger causes $x_0$ and $x_2$ in the same time! However, it will not be the cases since I know that $x_1$ can't granger cause $x_0$! so running a var with 3 variables is not valid, is it? Mar 30 at 6:43
• given your answer and my comment, which solution would be better? running a VAR with 3 variables or using that omitted variable method? or maybe there is better solution? Mar 30 at 6:47
• @Morty, I do not see a big problem with the 3-variable VAR. Including some irrelevant variables will simply make their coefficients indistinguishable from zero. However, you can skip the first equation of this VAR model (the equation with $x_0$ on the left hand side) and estimate only the other two equations (with $x_1$ and $x_2$ on the left hand side). Or technically, you can estimate all three but disregard the first one. Then you would look at the relevant coefficients in equations 2 and 3 to test you hypothesis. Mar 30 at 8:08
• @Morty, on the other hand, the approach you have proposed has a serious problem, as I have indicated. It cannot be trusted to yield correct results, unless you know that lags of $x_0$ are uncorrelated with lags of $x_1$ and $x_2$. Also, when you say I can't run a VAR with all 3 of them since such a var will answer if x1 granger causes x0 and x2 in the same time, this is not quite so. Just specifying and estimating a VAR does not by itself answer the Granger causality question. You still need to carry out the test. So the problem you are concerned with is not there. Mar 30 at 8:09
• should I then run a VAR with all 3 variables and then run a granger test on the residuals of $x_1$ and $x_2$ equations? Or how exactly can I perform the granger test after running the VAR with all 3 variables? @Richard-Hardy Mar 30 at 8:19