kpss.test {aTSA} | R Documentation |
Kwiatkowski-Phillips-Schmidt-Shin Test
Description
Performs Kwiatkowski-Phillips-Schmidt-Shin (KPSS) test for the null
hypothesis that x
is a stationary univariate time series.
Usage
kpss.test(x, lag.short = TRUE, output = TRUE)
Arguments
x |
a numeric vector or univariate time series. |
lag.short |
a logical value indicating whether the parameter of lag to calculate the test statistic is a short or long term. The default is a short term. See details. |
output |
a logical value indicating to print out the results in R console.
The default is |
Details
The Kwiatkowski-Phillips-Schmidt-Shin (KPSS) test tends to decompose the time series into the sum of a deterministic trend, a random walk, and a stationary error:
x[t] = \alpha*t + u[t] + e[t],
where u[t]
satisfies u[t] = u[t-1] + a[t]
, and a[t]
are i.i.d
(0,\sigma^2)
. The null hypothesis is that \sigma^2 = 0
, which implies
x
is a stationary time series. In order to calculate the test statistic,
we consider three types of linear regression models.
The first type (type1
) is the one with no drift and deterministic trend,
defined as
x[t] = u[t] + e[t].
The second type (type2
) is the one with drift but no trend:
x[t] = \mu + u[t] + e[t].
The third type (type3
) is the one with both drift and trend:
x[t] = \mu + \alpha*t + u[t] + e[t].
The details of calculation of test statistic (kpss
) can be seen in the references
below. The default parameter of lag to calculate the test statistic is
max(1,floor(3*sqrt(n)/13)
for short term effect, otherwise,
max(1,floor(10*sqrt(n)/13)
for long term effect.
The p.value is calculated by the interpolation of test statistic from tables of
critical values (Table 5, Hobijn B., Franses PH. and Ooms M (2004)) for a given
sample size n
= length(x
).
Value
A matrix for test results with three columns (lag
, kpss
,
p.value
) and three rows (type1
, type2
, type3
).
Each row is the test results (including lag parameter, test statistic and p.value) for
each type of linear regression models.
Note
Missing values are removed.
Author(s)
Debin Qiu
References
Hobijn B, Franses PH and Ooms M (2004). Generalization of the KPSS-test for stationarity. Statistica Neerlandica, vol. 58, p. 482-502.
Kwiatkowski, D.; Phillips, P. C. B.; Schmidt, P.; Shin, Y. (1992). Testing the null hypothesis of stationarity against the alternative of a unit root. Journal of Econometrics, 54 (1-3): 159-178.
See Also
adf.test
, pp.test
, stationary.test
Examples
# KPSS test for AR(1) process
x <- arima.sim(list(order = c(1,0,0),ar = 0.2),n = 100)
kpss.test(x)
# KPSS test for co2 data
kpss.test(co2)