Python时间序列处理之ARIMA模型的使用讲解


Posted in Python onApril 02, 2019

ARIMA模型

ARIMA模型的全称是自回归移动平均模型,是用来预测时间序列的一种常用的统计模型,一般记作ARIMA(p,d,q)。

ARIMA的适应情况

ARIMA模型相对来说比较简单易用。在应用ARIMA模型时,要保证以下几点:

  • 时间序列数据是相对稳定的,总体基本不存在一定的上升或者下降趋势,如果不稳定可以通过差分的方式来使其变稳定。
  • 非线性关系处理不好,只能处理线性关系

判断时序数据稳定

基本判断方法:稳定的数据,总体上是没有上升和下降的趋势的,是没有周期性的,方差趋向于一个稳定的值。

ARIMA数学表达

ARIMA(p,d,q),其中p是数据本身的滞后数,是AR模型即自回归模型中的参数。d是时间序列数据需要几次差分才能得到稳定的数据。q是预测误差的滞后数,是MA模型即滑动平均模型中的参数。

a) p参数与AR模型

AR模型描述的是当前值与历史值之间的关系,滞后p阶的AR模型可以表示为:

Python时间序列处理之ARIMA模型的使用讲解

其中u是常数,et代表误差。

b) q参数与MA模型

MA模型描述的是当前值与自回归部分的误差累计的关系,滞后q阶的MA模型可以表示为:

Python时间序列处理之ARIMA模型的使用讲解

其中u是常数,et代表误差。

c) d参数与差分

一阶差分:

Python时间序列处理之ARIMA模型的使用讲解

二阶差分:

Python时间序列处理之ARIMA模型的使用讲解

d) ARIMA = AR+MA

Python时间序列处理之ARIMA模型的使用讲解

ARIMA模型使用步骤

  • 获取时间序列数据
  • 观测数据是否为平稳的,否则进行差分,化为平稳的时序数据,确定d
  • 通过观察自相关系数ACF与偏自相关系数PACF确定q和p

Python时间序列处理之ARIMA模型的使用讲解

  • 得到p,d,q后使用ARIMA(p,d,q)进行训练预测

Python调用ARIMA

#差分处理
diff_series = diff_series.diff(1)#一阶
diff_series2 = diff_series.diff(1)#二阶
#ACF与PACF
#从scipy导入包
from scipy import stats
import statsmodels.api as sm
#画出acf和pacf
sm.graphics.tsa.plot_acf(diff_series)
sm.graphics.tsa.plot_pacf(diff_series)
#arima模型
from statsmodels.tsa.arima_model import ARIMA
model = ARIMA(train_data,order=(p,d,q),freq='')#freq是频率,根据数据填写
arima = model.fit()#训练
print(arima)
pred = arima.predict(start='',end='')#预测

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python多线程编程简单介绍
Apr 13 Python
Python的函数的一些高阶特性
Apr 27 Python
python制作一个桌面便签软件
Aug 09 Python
快速入门python学习笔记
Dec 06 Python
python中itertools模块zip_longest函数详解
Jun 12 Python
详解python中递归函数
Apr 16 Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 Python
python扫描线填充算法详解
Feb 19 Python
python由已知数组快速生成新数组的方法
Apr 08 Python
Python BeautifulReport可视化报告代码实例
Apr 13 Python
TensorFLow 数学运算的示例代码
Apr 21 Python
使用pyecharts1.7进行简单的可视化大全
May 17 Python
Python代码实现删除一个list里面重复元素的方法
Apr 02 #Python
从0开始的Python学习014面向对象编程(推荐)
Apr 02 #Python
Python参数解析模块sys、getopt、argparse使用与对比分析
Apr 02 #Python
python flask安装和命令详解
Apr 02 #Python
详解python 3.6 安装json 模块(simplejson)
Apr 02 #Python
Pyinstaller打包.py生成.exe的方法和报错总结
Apr 02 #Python
Python3字符串encode与decode的讲解
Apr 02 #Python
You might like
PHP安装问题
2006/10/09 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
2019/04/03 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
jquery图片上下tab切换效果
2011/03/18 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
2015/08/13 Javascript
JavaScript函数内部属性和函数方法实例详解
2016/03/17 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
input file上传 图片预览功能实例代码
2016/10/25 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
JS实现轮播图效果
2020/01/11 Javascript
在Python中使用Mako模版库的简单教程
2015/04/08 Python
python获取从命令行输入数字的方法
2015/04/29 Python
python顺序执行多个py文件的方法
2019/06/29 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
pytorch 求网络模型参数实例
2019/12/30 Python
Python3实现打印任意宽度的菱形代码
2020/04/12 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
实现Python3数组旋转的3种算法实例
2020/09/16 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
阿巴庭院:Abba Patio
2019/06/18 全球购物
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
小学六年级学生评语
2014/04/22 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
骨干教师个人总结
2015/02/11 职场文书
门店店长岗位职责
2015/04/14 职场文书
电力培训学习心得体会
2016/01/11 职场文书
Python实现拼音转换
2021/06/07 Python