pp.test: Phillips--Perron Unit Root Test
Description
Computes the Phillips-Perron test for the null hypothesis that
x
has a unit root.Usage
pp.test(x, alternative = c("stationary", "explosive"),
type = c("Z(alpha)", "Z(t_alpha)"), lshort = TRUE)
Arguments
x
a numeric vector or univariate time series.
alternative
indicates the alternative hypothesis and must be
one of "stationary"
(default) or "explosive"
. You can
specify just the initial letter.
type
indicates which variant of the test is computed and must
be one of "Z(alpha)"
(default) or "Z(t_alpha)"
.
lshort
a logical indicating whether the short or long version
of the truncation lag parameter is used.
Value
- A list with class
"htest"
containing the following components: - statisticthe value of the test statistic.
- parameterthe truncation lag parameter.
- p.valuethe p-value of the test.
- methoda character string indicating what type of test was
performed.
- data.namea character string giving the name of the data.
- alternativea character string describing the alternative
hypothesis.
Details
The general regression equation which incorporates a constant and a
linear trend is used and the Z(alpha)
or Z(t_alpha)
statistic for a first order autoregressive coefficient equals one are
computed. To estimate sigma^2
the Newey-West estimator is
used. If lshort
is TRUE
, then the truncation lag
parameter is set to trunc(4*(n/100)^0.25)
, otherwise
trunc(12*(n/100)^0.25)
is used. The p-values are interpolated
from Table 4.1 and 4.2, p. 103 of Banerjee et al. (1993). If the
computed statistic is outside the table of critical values, then a
warning message is generated.
Missing values are not handled.References
A. Banerjee, J. J. Dolado, J. W. Galbraith, and D. F. Hendry (1993):
Cointegration, Error Correction, and the Econometric Analysis
of Non-Stationary Data, Oxford University Press, Oxford.
P. Perron (1988):
Trends and Random Walks in Macroeconomic Time Series.
Journal of Economic Dynamics and Control 12, 297--332.Examples
Run this codex <- rnorm(1000) # no unit-root
pp.test(x)
y <- cumsum(x) # has unit root
pp.test(y)
Run the code above in your browser using DataLab