本文目录一览:
(四)ARIMA模型方法
1.ARIMA模型的基本思想
将预测对象随时间推移而形成的数据序列视为一个随机序列,对其进行差分整合后用自回归加移动平均来拟合,并据其对时间序列的过去值及未来值进行预测的数学方法,即ARIMA模型的基本思想。
ARIMA模型一般表示为ARIMA(p,d,q),其数学表达式为
φp(B)(1-B)dyt=θq(B)εt, (7-9)
式中:φp(B)=1-φ1B-…-φpBp,θq(B)=1-θ1B-…-θqBq;
AR是自回归,p为自回归项,MA为移动平均,q为移动平均项数,d为差分次数;yt是时间序列,B是后移算子,φ1,…,φp为自回归系数,θ1,…,θq为移动回归系数,{εt} 是白噪声序列。
2.ARIMA模型预测基本程序
(1)平稳性识别
以自相关函数和偏自相关函数图等来判定数列是否为平稳型。
(2)对非平稳序列进行平稳化处理
存在增长或下降趋势,需进行差分处理,直到处理后的数据的自相关函数值和偏相关函数值显著地等于零。
(3)根据时间序列模型的识别规则建立相应模型
据序列的自相关和偏相关函数图判定模型的类型及p与q的阶数。
在自相关和偏相关函数图上,函数在某一步之后为零,称为截尾;不能在某一步之后为零,而是按指数衰减或正负相间递减的形式,称为拖尾。
由自相关函数和偏相关函数是截尾还是拖尾及其期次可进行模型判别,标准见表7-8。
表7-8 模型参数的ACF-PACF图判别的标准
(4)假设检验,诊断残差序列是否为白噪声
用χ2检验检测所估计模型的白噪声残差,其残差应是一随机序列,否则进行残差分析,必要时需重新确定模型。
(5)预测分析
利用已通过检验的模型进行预测分析,得到x(t)在t+1期,即1期以后的预测值,记这个预测值为x(t+1),称它为未来第1期的预测值。
ARIMA模型用Python分析需要安装什么库
需要安装requests库
1.requests库
用一句话总结就是:每个Python程序员都应该有它,爬取数据必备!
2.scrapy
提取结构化数据而创建的一个爬虫框架,是目前python社区最流行的爬虫框架之一
3.wxPython
Python的一个GUI(图形用户界面)工具
4.BeautifulSoup
xml和html的解析库对于新手非常有用
5.Pygame
哪个程序员不喜欢玩游戏和写游戏?这个库会让你在开发2D游戏的时候如虎添翼
6.Pyglet
3D动画和游戏开发引擎
7.NumPy
为Python提供了很多高级的数学方法
8.pandas
在数据操作和数据分析方面,Pandas绝无敌手。
9.Matplotlib
Matplotlib主要的作用,是用来生成绘图,直方图,功率谱,条形图,错误图,散点图等,而Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
如何利用python实现多元ARIMAX建模?
可以在Python中将其实现为一个新的独立函数,名为evaluate_arima_model(),它将时间序列数据集作为输入,以及具有p,d和q参数的元组作为输入。
数据集分为两部分:初始训练数据集为66%,测试数据集为剩余的34%。
arima模型python 怎么看平稳性
时间序列分析(一) 如何判断序列是否平稳
序列平稳不平稳,一般采用两种方法:
第一种:看图法
图是指时序图,例如(eviews画滴):
分析:什么样的图不平稳,先说下什么是平稳,平稳就是围绕着一个常数上下波动。
看看上面这个图,很明显的增长趋势,不平稳。
第二种:自相关系数和偏相关系数
还以上面的序列为例:用eviews得到自相关和偏相关图,Q统计量和伴随概率。
分析:判断平稳与否的话,用自相关图和偏相关图就可以了。
平稳的序列的自相关图和偏相关图不是拖尾就是截尾。截尾就是在某阶之后,系数都为 0 ,怎么理解呢,看上面偏相关的图,当阶数为 1 的时候,系数值还是很大, 0.914. 二阶长的时候突然就变成了 0.050. 后面的值都很小,认为是趋于 0 ,这种状况就是截尾。再就是拖尾,拖尾就是有一个衰减的趋势,但是不都为 0 。
自相关图既不是拖尾也不是截尾。以上的图的自相关是一个三角对称的形式,这种趋势是单调趋势的典型图形。
下面是通过自相关的其他功能
如果自相关是拖尾,偏相关截尾,则用 AR 算法
如果自相关截尾,偏相关拖尾,则用 MA 算法
如果自相关和偏相关都是拖尾,则用 ARMA 算法, ARIMA 是 ARMA 算法的扩展版,用法类似 。
不平稳,怎么办?
答案是差分
还是上面那个序列,两种方法都证明他是不靠谱的,不平稳的。确定不平稳后,依次进行1阶、2阶、3阶...差分,直到平稳位置。先来个一阶差分,上图。
从图上看,一阶差分的效果不错,看着是平稳的。