statsmodels.tsa.stattools.kpss¶
-
statsmodels.tsa.stattools.
kpss
(x, regression='c', lags=None, store=False)[source]¶ Kwiatkowski-Phillips-Schmidt-Shin test for stationarity.
Computes the Kwiatkowski-Phillips-Schmidt-Shin (KPSS) test for the null hypothesis that x is level or trend stationary.
Parameters: - x (array_like, 1d) – Data series
- regression (str{'c', 'ct'}) – Indicates the null hypothesis for the KPSS test * ‘c’ : The data is stationary around a constant (default) * ‘ct’ : The data is stationary around a trend
- lags (int) – Indicates the number of lags to be used. If None (default), lags is set to int(12 * (n / 100)**(1 / 4)), as outlined in Schwert (1989).
- store (bool) – If True, then a result instance is returned additionally to the KPSS statistic (default is False).
Returns: - kpss_stat (float) – The KPSS test statistic
- p_value (float) – The p-value of the test. The p-value is interpolated from Table 1 in Kwiatkowski et al. (1992), and a boundary point is returned if the test statistic is outside the table of critical values, that is, if the p-value is outside the interval (0.01, 0.1).
- lags (int) – The truncation lag parameter
- crit (dict) – The critical values at 10%, 5%, 2.5% and 1%. Based on Kwiatkowski et al. (1992).
- resstore ((optional) instance of ResultStore) – An instance of a dummy class with results attached as attributes
Notes
To estimate sigma^2 the Newey-West estimator is used. If lags is None, the truncation lag parameter is set to int(12 * (n / 100) ** (1 / 4)), as outlined in Schwert (1989). 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.
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.