R: KPSS Test for Stationarity

kpss.test {tseries} | R Documentation

## KPSS Test for Stationarity

### Description

Computes the Kwiatkowski-Phillips-Schmidt-Shin (KPSS) test for the null hypothesis that `x` is level or trend stationary.

### Usage

    kpss.test(x, null = c("Level", "Trend"), lshort = TRUE)

### Arguments

`x` | a numeric vector or univariate time series.
`null` | indicates the null hypothesis and must be one of `"Level"` (default) or `"Trend"`. You can specify just the initial letter.
`lshort` | a logical indicating whether the short or long version of the truncation lag parameter is used.

### Details

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 1 of Kwiatkowski et al. (1992). If the computed statistic is outside the table of critical values, then a warning message is generated.

Missing values are not handled.

### Value

A list with class `"htest"` containing the following components:

`statistic` | the value of the test statistic.
`parameter` | the truncation lag parameter.
`p.value` | the p-value of the test.
`method` | a character string indicating what type of test was performed.
`data.name` | a character string giving the name of the data.

### Author(s)

A. Trapletti

### References

D. Kwiatkowski, P. C. B. Phillips, P. Schmidt, and Y. Shin (1992): Testing the Null Hypothesis of Stationarity against the Alternative of a Unit Root. Journal of Econometrics 54, 159–178.

### See Also

`pp.test`

### Examples

    x <- rnorm(1000)  # is level stationary
    kpss.test(x)

    y <- cumsum(x)  # has unit root
    kpss.test(y)

    x <- 0.3*(1:1000)+rnorm(1000)  # is trend stationary
    kpss.test(x, null = "Trend")

[Package tseries version 0.10-47 Index]