statsmodels.tsa.stattools.kpss

statsmodels.tsa.stattools.kpss(x, regression='c', nlags='auto', 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

The data series to test.

regression : str{"c", "ct"}

The null hypothesis for the KPSS test.

  • ”c” : The data is stationary around a constant (default).

  • ”ct” : The data is stationary around a trend.

nlags : {str, int}, optional

Indicates the number of lags to be used. If “auto” (default), lags is calculated using the data-dependent method of Hobijn et al. (1998). See also Andrews (1991), Newey & West (1994), and Schwert (1989). If set to “legacy”, uses 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 “legacy”, 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.

See the notebook Stationarity and detrending (ADF/KPSS) for an overview.

References