pgrangertest {plm} | R Documentation |
Panel Granger (Non-)Causality Test (Dumitrescu/Hurlin (2012))
Description
Test for Granger (non-)causality in panel data.
Usage
pgrangertest(
formula,
data,
test = c("Ztilde", "Zbar", "Wbar"),
order = 1L,
index = NULL
)
Arguments
formula |
a |
data |
a |
test |
a character to request the statistic to be returned,
either |
order |
integer(s) giving the number of lags to include in the test's auxiliary regressions, the length of order must be either 1 (same lag order for all individuals) or equal to the number of individuals (to specify a lag order per individual), |
index |
only relevant if |
Details
The panel Granger (non-)causality test is a combination of Granger tests (Granger 1969) performed per individual. The test is developed by Dumitrescu and Hurlin (2012), a shorter exposition is given in Lopez and Weber (2017).
The formula formula
describes the direction of the (panel) Granger
causation where y ~ x
means "x (panel) Granger causes y".
By setting argument test
to either "Ztilde"
(default) or
"Zbar"
, two different statistics can be requested. "Ztilde"
gives the standardised statistic recommended by Dumitrescu/Hurlin (2012) for
fixed T samples. If set to "Wbar"
, the intermediate Wbar statistic
(average of individual Granger chi-square statistics) is given which is used
to derive the other two.
The Zbar statistic is not suitable for unbalanced panels. For the Wbar statistic, no p-value is available.
The implementation uses lmtest::grangertest()
from
package lmtest to perform the individual Granger tests.
Value
An object of class c("pgrangertest", "htest")
. Besides
the usual elements of a htest
object, it contains the data
frame indgranger
which carries the Granger test statistics
per individual along the associated p-values, degrees of
freedom, and the specified lag order.
Author(s)
Kevin Tappe
References
Dumitrescu E, Hurlin C (2012). “Testing for Granger non-causality in heterogeneous panels.” Economic Modelling, 29(4), 1450 - 1460. ISSN 0264-9993, https://www.sciencedirect.com/science/article/pii/S0264999312000491.
Granger CWJ (1969). “Investigating Causal Relations by Econometric Models and Cross-spectral Methods.” Econometrica, 37(3), 424–438. ISSN 00129682, 14680262.
Lopez L, Weber S (2017). “Testing for Granger causality in panel data.” Stata Journal, 17(4), 972-984. https://www.stata-journal.com/article.html?article=st0507.
See Also
lmtest::grangertest()
for the original (non-panel)
Granger causality test in lmtest.
Examples
## not meaningful, just to demonstrate usage
## H0: 'value' does not Granger cause 'inv' for all invididuals
data("Grunfeld", package = "plm")
pgrangertest(inv ~ value, data = Grunfeld)
pgrangertest(inv ~ value, data = Grunfeld, order = 2L)
pgrangertest(inv ~ value, data = Grunfeld, order = 2L, test = "Zbar")
# varying lag order (last individual lag order 3, others lag order 2)
(pgrt <- pgrangertest(inv ~ value, data = Grunfeld, order = c(rep(2L, 9), 3L)))
# chisq statistics per individual
pgrt$indgranger