名词解释:
Dickey-Fuller 迪基-福勒检验, 单位根检验, 如果存在时序数据中存在单位根, 则表明是非平稳序列
ADF检验 增广迪基-福勒检验 排除了自相关的影响
为什么需要检验:
单位根检验师时序序列分析的一个热点问题, 大部分时序模型都要求输入数据具有稳定性, 因此要先检测数据是否稳定.
如果数据本身是不稳定的, 要对数据做差分变化等操作消除单位根, 此时目标值已经没有了实际含义, 但是满足模型需求, 结果在逆向推导.
检验原理:
时序回归方程: x_t = k *(x_t -1) + b.
B为一系列平稳噪音,
|K|<1, 当k为1时, 上式就是一个随机游走(时序前后毫无关系)序列, 一种单位根过程.
上式可以转化为: (1-kL)x_t = b , 当k=1时, 存在单位根.
coding:
#ts: 序列值为index的series
def teststationarity(ts):
dftest = statsmodels.tsa.stattools.adfuller(ts)
# 对上述函数求得的值进行语义描述
dfoutput = pd.Series(dftest[0:4], index=[‘Test Statistic’,‘p-value’,’#Lags Used’,‘Number of Observations Used’])
for key,value in dftest[4].items():
dfoutput[‘Critical Value (%s)’%key] = value
return dfoutput
#示例结果: