Python建立ARIMA模型
Python建立ARIMA模型
ARIMA(p,d,q)模型:AR是自回归,p为自回归项;MA为移动平均,q为移动平均项数;d为时间序列成为平稳时所做的差分次数。
原理:将非平稳时间序列转化为平稳时间序列然后将因变量仅对它的滞后性以及随机误差项的现值和滞后值进行回归所建立的模型。
平稳性:
要求经由样本时间序列所得到的拟合曲线在未来一段时间内仍能顺着现有形态“惯性”地延续下去;平稳性要求序列的均值和方差不发生明显变化。
严平稳:分布不随时间变化,如白噪声(正态),无论怎么取都是期望为0,方差为1
弱平稳:期望与相关系数(依赖性)不变,未来某时刻的t的值就要依赖于它过去的信息,需要依赖性。
差分法:
时间序列在t与t-1时刻的差值
自回归模型(AR)
描述当前值与历史值之间的关系,用变量自身的历史时间数据对自身进行预测
自回归模型必须满足平稳性的要求
p阶自回归过程的公式定义:
自回归模型的限制:
自回归模型是用自身的数据来进行预测
必须具有平稳性
必须具有自相关性
自回归只适用于预测与自身前期相关的现象
移动平均模型(MA)
移动平均模型关注的是自回归模型中的误差项的累加
q阶自回归过程的公式定义:
移动平均法能有效地消除预测中的随机波动
自回归移动平均模型(ARMA)
自回归与移动平均的结合
公式定义:
p,q需要自己指定。
自相关系数ACF:
有序的随机变量序列与其自身相比较,自相关函数反映了同一序列在不同时序的取值之间的相关性。
公式:(取值范围为[-1,1])
偏自相关函数PACF:
ACF还包含了其他变量的影响,而偏自相关系数PACF是严格x(t)与x(t-k)之间的相关性。
安装statsmodels
pip install statsmodels
建模流程:
将序列平稳化(差分法确定d)
p和q阶数确定:ACF与PACF
ARIMA(p,d,q)
ARIMA(p,d,q)阶数确定:
截尾:落在置信区间内(95%的点都符合该规则)
1、什么是截尾和拖尾?
(1)p阶自回归模型 AR§
AR§模型的偏自相关函数PACF在p阶之后应为零,称其具有截尾性;
AR§模型的自相关函数ACF不能在某一步之后为零(截尾),而是按指数衰减(或成正弦波形式),称其具有拖尾性。
(2)q阶移动平均模型 MA(q)
MA(q)模型的自相关函数ACF在q阶之后应为零,称其具有截尾性;
MA(q)模型的偏自相关函数PACF不能在某一步之后为零(截尾),而是按指数衰减(或成正弦波形式),称其具有拖尾性。
2、如何判断拖尾和截尾?
(1)如果样本自相关系数(或偏自相关系数)在最初的d阶明显大于2倍标准差范围,而后几乎95%的样本自相关(偏自相关)系数都落在2倍标准差范围以内,而且由非零自相关(偏自相关)系数衰减为小值波动的过程非常突然,这时,通常视为自相关(偏自相关)系数截尾。
(2)如果有超过5%的样本相关系数落在2倍标准差范围以外,或者是由显著非零的相关函数衰减为小值波动的过程比较缓慢或者非常连续,这时,通常视为相关系数不截尾。
##通过观察PACF和ACF截尾,分别判断p、q的值。
from statsmodels.graphics.tsaplots import plot_acf,plot_pacf
plot_acf(data3).show() #自相关图
plot_pacf(data3).show() #偏自相关图
Python建立ARIMA模型相关推荐
- 经济数据预测 | Python实现ARIMA模型股票趋势预测
经济数据预测 | Python实现ARIMA模型股票趋势预测 目录 经济数据预测 | Python实现ARIMA模型股票趋势预测 基本介绍 数据描述 程序设计 参考资料 基本介绍 随着人们生活水平的提 ...
- Python建立线性回归模型进行房价预测
Python建立线性回归模型进行房价预测 前期准备 多因子房价预测 实战流程 1.数据加载 2.数据可视化 3.数据预处理 4.模型建立与训练 5.模型预测 6.模型评估 7.房价预测 数据与代码 前 ...
- 《英文取名》未来五年名字使用人数预测 --- Python实现ARIMA模型
一.ARIMA知识介绍 时间序列提供了预测未来价值的机会. 基于以前的价值观,可以使用时间序列来预测经济,天气和能力规划的趋势,其中仅举几例. 时间序列数据的具体属性意味着通常需要专门的统计方法. 我 ...
- Python通过ARIMA模型进行时间序列分析预测
ARIMA模型预测 时间序列分析预测就是在已有的和时间有关的数据序列的基础上构建其数据模型并预测其未来的数据,例如航空公司的一年内每日乘客数量.某个地区的人流量,这些数据往往具有周期性的规律.如下图所 ...
- python用ARIMA模型预测CO2浓度时间序列实现
全文下载链接:http://tecdat.cn/?p=20424 时间序列为预测未来数据提供了方法.根据先前的值,时间序列可用于预测经济,天气的趋势.时间序列数据的特定属性意味着通常需要专门的统计方法 ...
- python建立回归模型_简单线性回归的Python建模方法
简单线性回归,就是两个随机变量存在一定大小的相关系数的前提下,结合散点图观察,采用最小二乘OLS方法,尝试建立一条回归直线,使得误差平方和SSE最小.OLS是一种参数方法,通过确定直线的斜率b和截距a ...
- 【机器学习】——纯Python建立BP模型
参考:https://blog.csdn.net/michael_f2008/article/details/103715699 https://developer.aliyun.com/articl ...
- python交通流预测代码_使用ARIMA模型进行的短时交通流预测和结果分析
首先要讲的是,在短时交通流预测领域,ARIMA模型是一种相当粗糙的基于时间序列的预测方法,相应地,这种预测方法的准确性也不高.同时,ARIMA方法也不在我的研究范围内,所以本次实验就直接使用网络上现成 ...
- ARIMA模型的Python实现
from __future__ import print_function import pandas as pd import matplotlib.pyplot as plt import sta ...
最新文章
- Jvm面试题及答案 100道(持续更新)
- 云网融合 — 云网络的边界
- Linux_RHEL7_YUM
- Docker aufs存储驱动layer、diff、mnt目录的区别
- 当前计算机领域中 有关计算机的性能指标,计算机文化基础真题(十七)
- 【POJ - 1001 】Exponentiation (Java大数,高精度)
- emlog和typecho文章采集插件-简数第三方数据采集
- CCNA初认识——链路捆绑命令
- 如何在Linux上安装设备驱动程序
- 如何将地址栏打开的图标隐藏_如何制作一款手机主题?这套UI主题图标教程将为你解密!...
- 数据结构_二叉树非递归遍历
- [转载] 老友记——潘石屹 任志强《天台论道》(下)
- Web.config中用customErrors可以自定义默认的出错页面
- linux程序设计——多线程(第十二章)
- c语言输入身高计算标准体重_体质测试 | 身高 / 体重测试评分标准及方法
- 使用Hex2Bin软件将Hex文件转Bin文件
- HDU2544:最短路(Dijkstra)
- python写数据到hive_Python数据篇之Pyhive
- vue+element使用动态加载路由方式实现三级菜单页面显示问题
- Python学习笔记(4)-文件读取报错