时间序列数据kpss测试结果

2024-07-05 14:33:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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

首先,我试图了解时间序列的组成部分 enter image description here

然后我用kpss测试来观察序列是否是平稳的(我假设不是这样,因为有趋势)。 但是我不知道如何读取kpss测试结果。在

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

如果我使用lags的默认值,我得到以下结果(在lag 11处截断),这意味着序列不是平稳的

kpss(df1['Expense',回归='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),我得到

^{pr2}$

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

非常感谢!!!在


Tags: storenone时间序列趋势费用df1ct
1条回答
网友
1楼 · 发布于 2024-07-05 14:33:17

一般来说滞后大小affectsKPSS测试。两个滞后大小(默认值为11,取决于观察总数,第二个示例大小为5)表明序列是非平稳的,因为p值(0.0334,0.1)小于它们各自的α值(5%)。在

滞后大小并不表示需要应用于非平稳序列的任何差分级别。所以,你需要做一个一级差分(d=1)并检查结果序列是否平稳。如果没有,你必须重复差分法。您可能想refer来详细介绍一下平稳性检查。在

相关问题 更多 >