时间序列数据kpss测试结果

时间:2018-04-09 17:43:53

标签: python time-series

我有一个简单的时间序列,每个月的费用超过4年。

首先我试图查看时间序列的组成部分 enter image description here

然后我用kpss测试看看系列是否是静止的(我认为它不是因为有趋势)。 但我对如何阅读kpss测试结果感到困惑。

所以statsmodels.tsa.stattools.kpss(x,regression ='c',lags = None,store = False)我可以指定regression ='c'(静止在一个均值附近)或regression ='ct'(静止不动)围绕一个趋势)。我的(1)问题是我应该在这里使用哪个“均值”或“趋势”?

如果我使用滞后的默认值,我得到以下结果(在滞后11截断),这意味着系列不是静止的

KPSS(DF1 [ '费用'],回归= 'CT')

(0.5363718304676898,
 0.03347481295772753,
 11,
{'1%': 0.739, '10%': 0.347, '2.5%': 0.574, '5%': 0.463})

但如果我指定滞后数,例如:kpss(df1 ['Expense'],regression ='ct',lags = 5)我得到了

 (0.04352483391586768,
  0.1,
  5,
 {'1%': 0.216, '10%': 0.119, '2.5%': 0.176, '5%': 0.146})

kpss结果的滞后意味着什么(例如,上述输出中的滞后11)?它与ARIMA模型的差分数量有什么关系吗?

非常感谢!!!

1 个答案:

答案 0 :(得分:0)

一般来说,KPSS测试的滞后大小affects。两种滞后大小(在您的情况下默认大小为11,取决于观察总数和第二示例大小为5)表示系列是非平稳的,因为p值(0.0334,0.1)小于它们各自的α值(5%)。

滞后大小并不表示您需要应用于非平稳序列的差异的任何级别。因此,您需要进行第一级差分(d = 1)并检查结果序列是否静止。如果不是,你必须重复差分。您可能希望refer对平稳性检查做一个很好的介绍。