网站如何做seo优化,单位网站建设方案,wordpress文章 代码块,卖代码建设网站在对时间序列数据进行分析预测时#xff0c;平稳时间序列数据预测效果更好。所以首先要检测数据是否平稳#xff0c;没有趋势的时间序列数据#xff0c;我们称为平稳的#xff0c;即随着时间的推移#xff0c;表现出恒定的方差#xff0c;具有恒定的自相关结构。本文介绍… 在对时间序列数据进行分析预测时平稳时间序列数据预测效果更好。所以首先要检测数据是否平稳没有趋势的时间序列数据我们称为平稳的即随着时间的推移表现出恒定的方差具有恒定的自相关结构。本文介绍如何检测数据集是否平稳的方法并给出实战过程代码。常用的检测方法有KPSSPhillips–Perron, 和 Augmented Dickey-Fuller本文主要介绍ADF检测。 单位根检验
在时间序列分析中单位根检验是检验时间序列是否不平稳是否由单位根组成。时间序列中单位根的存在定义了零假设备择假设定义了时间序列是平稳的。单位根检验的数学公式可表示为 y t D t z t ɛ t y_t D_t z_t ɛ_t ytDtztɛt D t D_t Dt 是决定性成分 Z t Z_t Zt 是随机成分 ɛ t ɛ_t ɛt 是平稳的误差处理
单位根检验的基本概念是确定 z t z_t zt(随机分量)是否由单位根组成。
ADF检验简要说明
ADF(Augmented Dickey-Fuller) 检验是一种检验时间序列数据是否平稳的方法。ADF是统计显著性检验包括零假设和备择假设分别为 H0 时间序列不是平稳的换句话说它有一些随时间变化的结构随时间推移没有恒定的方差。 H1 时间序列是平稳的。
如果测试的P值小于显著性水平假设为 .α .05)那么我们能拒绝零假设得出结论时间序列是平稳的。下面通过示例进行说明。
Python实现ADF检验
假设我们有下面测试数据
data [3, 4, 4, 5, 6, 7, 6, 6, 7, 8, 9, 12, 10]在检验之前我们先对数据进行可视化展示数据的分布情况。下面代码可视化数据
import matplotlib.pyplot as pltplt.plot(data)
plt.show()要执行ADF单位根检验需要statsmodels库中导入函数 adfuller()函数首先需要安装statsmodels包
pip install statsmodels接下来我们使用下面代码执行ADF检验
from statsmodels.tsa.stattools import adfuller# perform augmented Dickey-Fuller test
result adfuller(data)
print(result)
输出结果如下
-0.975383623474406, 0.7621363564361016, 0, 12, {1%: -4.137829282407408, 5%: -3.1549724074074077, 10%: -2.7144769444444443}, 31.2466098872313这里我们解释前两个最重要的值
检验统计量: -0.97538
P-value: 0.7621
既然P值不小于.05, 我们不能拒绝零假设。这意味着数据不是平稳的也就是说随时间推移没有恒定的方差。