栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

ARMA模型时间序列分析全流程(附python代码)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ARMA模型时间序列分析全流程(附python代码)

ARMA模型建模流程

建模流程 1)平稳性检验

原始数据data经过清洗得到data_new,然后进行平稳性检验,非平稳数据无法采用ARMA模型进行预测,ADF检验可以用来确定数据的平稳性,这里导入的是statsmodels包下的adfuller函数。

2)白噪声检验

白噪声数据没有分析价值,所以要进行白噪声检验,LB检验可以确定数据是否为白噪声,这里导入的是statsmodels包下的acorr_ljungbox函数。

3)ACF、PACF图绘制

自相关函数与偏自相关函数图可以用来进行模型的识别,这里我们直接使用statsmodels包下的plot_acf和plot_pacf函数绘制ACF和PACF图。

4)模型定阶

使用AIC准则进行模型参数估计,从statsmodels包导入ARIMA(p,0,q),即ARMA(p,q),通过循环遍历找出使得AIC值最小的模型参数。

5)模型检验

在使用ARMA模型进行预测后,通过计算真实值与预测值之间的差值得到残差序列,并使用LB检验确定残差序列是否为白噪声,若是白噪声,则模型性能较好,反之则差。

结果分析 1)平稳性检验结果

discoveries数据集可视化结果

绘制时间序列数据图像,观其大致平稳,进行ADF检验,得到概率p值为0.007,小于0.05,认为序列平稳。

2)白噪声检验结果

LB检验的概率p值为0.0054,认为该时间序列为非白噪声序列,可以进行后续分析。

3)ACF、PACF图

ACF图(左)与PACF图(右)

可以看出,ACF和PACF图均呈现出明显的拖尾特点,且有一定的周期性,所以需要选取ARMA模型。

4)模型定阶结果

根据AIC准则,选取使得AIC值最小的参数,p=4,q=4,即模型ARMA(4,4)。

5)预测结果

未来10个时间点的预测结果为:

[3.07701677,1.67355553,2.30909501,1.9248518 ,3.02228534,2.60590081,2.81233033,2.3156652 ,2.8091806,2.79388168]

模型拟合与预测结果图

6)模型检验结果

残差图

从残差图可以看出,残差序列平稳,进行白噪声检验,得到LB检验的概率p值为0.277,认为残差序列为白噪声序列,模型性能较好。

ARMA模型特点:

优点:模型简单,易于解释。

缺点:只能处理平稳时间序列,而现实生活中的数据以非平稳时间序列为主;只适用于短期预测。

python代码:https://download.csdn.net/download/m0_48973594/85800097https://download.csdn.net/download/m0_48973594/85800097 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994531.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号