purtest
implements several testing procedures that have been proposed
to test unit root hypotheses with panel data.
purtest(
object,
data = NULL,
index = NULL,
test = c("levinlin", "ips", "madwu", "Pm", "invnormal", "logit", "hadri"),
exo = c("none", "intercept", "trend"),
lags = c("SIC", "AIC", "Hall"),
pmax = 10,
Hcons = TRUE,
q = NULL,
dfcor = FALSE,
fixedT = TRUE,
ips.stat = NULL,
...
)# S3 method for purtest
print(x, ...)
# S3 method for purtest
summary(object, ...)
# S3 method for summary.purtest
print(x, ...)
For purtest: An object of class "purtest"
: a list with the elements
named:
"statistic"
(a "htest"
object),
"call"
,
"args"
,
"idres"
(containing results from the individual regressions),
"adjval"
(containing the simulated means and variances needed to compute
the statistic, for test = "levinlin"
and "ips"
, otherwise NULL
),
"sigma2"
(short-run and long-run variance for test = "levinlin"
,
otherwise NULL
).
Either a "data.frame"
or a matrix containing the
time series (individuals as columns), a "pseries"
object, a formula;
a "purtest"
object for the print and summary methods,
a "data.frame"
or a "pdata.frame"
object (required for
formula interface, see Details and Examples),
the indexes,
the test to be computed: one of "levinlin"
for
LEVIN:LIN:CHU:02;textualplm, "ips"
for
IM:PESAR:SHIN:03;textualplm, "madwu"
for
MADDA:WU:99;textualplm, "Pm"
, "invnormal"
,
or "logit"
for various tests as in
CHOI:01;textualplm, or "hadri"
for
HADR:00;textualplm, see Details,
the exogenous variables to introduce in the augmented
Dickey--Fuller (ADF) regressions, one of: no exogenous
variables ("none"
), individual intercepts ("intercept"
), or
individual intercepts and trends ("trend"
), but see Details,
the number of lags to be used for the augmented
Dickey-Fuller regressions: either a single value integer (the number of
lags for all time series), a vector of integers (one for each
time series), or a character string for an automatic
computation of the number of lags, based on the AIC
("AIC"
), the SIC ("SIC"
), or on the method by
HALL:94;textualplm ("Hall"
); argument is irrelevant
for test = "hadri"
,
maximum number of lags (irrelevant for test = "hadri"
),
logical, only relevant for test = "hadri"
,
indicating whether the heteroskedasticity-consistent test of
HADR:00;textualplm should be computed,
the bandwidth for the estimation of the long-run variance
(only relevant for test = "levinlin"
, the default (q = NULL
)
gives the value as suggested by the authors as round(3.21 * T^(1/3))),
logical, indicating whether the standard deviation of the regressions is to be computed using a degrees-of-freedom correction,
logical, indicating whether the individual ADF
regressions are to be computed using the same number of
observations (irrelevant for test = "hadri"
),
NULL
or character of length 1 to request a specific
IPS statistic, one of "Wtbar"
(also default if ips.stat = NULL
),
"Ztbar"
, "tbar"
,
further arguments (can set argument p.approx
to be passed on
to non-exported function padf
to either "MacKinnon1994"
or "MacKinnon1996"
to force a specific method for p-value approximation, the latter only being
possible if package 'urca' is installed).
Yves Croissant and for "Pm", "invnormal", and "logit" Kevin Tappe
All these tests except "hadri"
are based on the estimation of
augmented Dickey-Fuller (ADF) regressions for each time series. A
statistic is then computed using the t-statistics associated with
the lagged variable. The Hadri residual-based LM statistic is the
cross-sectional average of the individual KPSS statistics
KWIA:PHIL:SCHM:SHIN:92;textualplm, standardized by their
asymptotic mean and standard deviation.
Several Fisher-type tests that combine p-values from tests based on ADF regressions per individual are available:
"madwu"
is the inverse chi-squared test
MADDA:WU:99;textualplm, also called P test by
CHOI:01;textualplm.
"Pm"
is the modified P test proposed by
CHOI:01;textualplm for large N,
"invnormal"
is the inverse normal test by CHOI:01;textualplm, and
"logit"
is the logit test by CHOI:01;textualplm.
The individual p-values for the Fisher-type tests are approximated as described in MACK:96;textualplm if the package urca (PFAFF:08;textualplm) is available, otherwise as described in MACK:94;textualplm.
For the test statistic tbar of the test of Im/Pesaran/Shin (2003)
(ips.stat = "tbar"
), no p-value is given but 1%, 5%, and 10% critical
values are interpolated from paper's tabulated values via inverse distance
weighting (printed and contained in the returned value's element
statistic$ips.tbar.crit
).
Hadri's test, the test of Levin/Lin/Chu, and the tbar statistic of
Im/Pesaran/Shin are not applicable to unbalanced panels; the tbar statistic
is not applicable when lags > 0
is given.
The exogenous instruments of the tests (where applicable) can be specified in several ways, depending on how the data is handed over to the function:
For the formula
/data
interface (if data
is a data.frame
,
an additional index
argument should be specified); the formula
should be of the form: y ~ 0
, y ~ 1
, or y ~ trend
for a test
with no exogenous variables, with an intercept, or with individual
intercepts and time trend, respectively. The exo
argument is
ignored in this case.
For the data.frame
, matrix
, and pseries
interfaces: in
these cases, the exogenous variables are specified using the exo
argument.
With the associated summary
and print
methods, additional
information can be extracted/displayed (see also Value).
cipstest()
, phansitest()
data("Grunfeld", package = "plm")
y <- data.frame(split(Grunfeld$inv, Grunfeld$firm)) # individuals in columns
purtest(y, pmax = 4, exo = "intercept", test = "madwu")
## same via pseries interface
pGrunfeld <- pdata.frame(Grunfeld, index = c("firm", "year"))
purtest(pGrunfeld$inv, pmax = 4, exo = "intercept", test = "madwu")
## same via formula interface
purtest(inv ~ 1, data = Grunfeld, index = c("firm", "year"), pmax = 4, test = "madwu")
Run the code above in your browser using DataLab