什么是 ARIMA模型

ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA, Autoregressive Integrated Moving Average Model)。也记作ARIMA(p,d,q),是统计模型(statistic model)中最常见的一种用来进行时间序列 预测的模型。

1. ARIMA的优缺点

优点: 模型十分简单,只需要内生变量而不需要借助其他外生变量。

缺点:
1.要求时序数据是稳定的(stationary),或者是通过差分化(differencing)后是稳定的。
2.本质上只能捕捉线性关系,而不能捕捉非线性关系。
注意,采用ARIMA模型预测时序数据,必须是稳定的,如果不稳定的数据,是无法捕捉到规律的。比如股票数据用ARIMA无法预测的原因就是股票数据是非稳定的,常常受政策和新闻的影响而波动。

2. 判断是时序数据是稳定的方法。

严谨的定义: 一个时间序列的随机变量是稳定的,当且仅当它的所有统计特征都是独立于时间的(是关于时间的常量)。
判断的方法:

  1. 稳定的数据是没有趋势(trend),没有周期性(seasonality)的; 即它的均值,在时间轴上拥有常量的振幅,并且它的方差,在时间轴上是趋于同一个稳定的值的。
  2. 可以使用Dickey-Fuller Test进行假设检验。(另起文章介绍)

3. ARIMA的参数与数学形式

ARIMA模型有三个参数:p,d,q。

  • p--代表预测模型中采用的时序数据本身的滞后数(lags) ,也叫做AR/Auto-Regressive项
  • d--代表时序数据需要进行几阶差分化,才是稳定的,也叫Integrated项。
  • q--代表预测模型中采用的预测误差的滞后数(lags),也叫做MA/Moving Average项

先解释一下差分: 假设y表示t时刻的Y的差分。
\[ if \ d=0 ,\ y_t = Y_t \\[2ex] if \ d=1 ,\ y_t = Y_t-Y_{t-1} \\[2ex] if \ d=2 ,\ y_t = (Y_t-Y_{t-1}) -(Y_{t-1}-Y_{t-2}) \\ =Y_t-2Y_{t-1}+Y_{t-2}\]

ARIMA的预测模型可以表示为:

Y的预测值 = 常量c and/or 一个或多个最近时间的Y的加权和 and/or 一个或多个最近时间的预测误差。

假设p,q,d已知,
ARIMA用数学形式表示为:
\[ \widehat{y_t} = \mu + \phi_1*y_{t-1} + ...+ \phi_p*y_{t-p} + \theta_1*e_{t-1} +...+\theta_q*e_{t-q} \]
\[其中, \phi表示AR的系数,\theta表示MA的系数 \]

4.ARIMA模型的几个特例

1.ARIMA(0,1,0) = random walk:

当d=1,p和q为0时,叫做random walk,如图所示,每一个时刻的位置,只与上一时刻的位置有关。

预测公式如下:
\[ \widehat Y_t = \mu + Y_{t-1}\]

2. ARIMA(1,0,0) = first-order autoregressive model:

p=1, d=0,q=0。说明时序数据是稳定的和自相关的。一个时刻的Y值只与上一个时刻的Y值有关。

\[ \widehat Y_t = \mu + \phi_1*Y_{t-1}. \\ where,\ \phi \in [-1,1] , 是一个斜率系数\]

3. ARIMA(1,1,0) = differenced first-order autoregressive model:

p=1,d=1,q=0. 说明时序数据在一阶差分化之后是稳定的和自回归的。即一个时刻的差分(y)只与上一个时刻的差分有关。

\[ \widehat y_t = \mu +\phi_1*y_{t-1} \\ 结合一阶差分的定义,也可以表示为:\widehat Y_t-Y_{t-1} = \mu+ \phi_1 * (Y_{t-1} - Y_{t-2})\\ 或者 \widehat Y_t = \mu +Y_{t-1} + \phi_1 * (Y_{t-1} - Y_{t-2}) \]

4. ARIMA(0,1,1) = simple exponential smoothing with growth.

p=0, d=1 ,q=1.说明数据在一阶差分后市稳定的和移动平均的。即一个时刻的估计值的差分与上一个时刻的预测误差有关。

\[ \widehat y_t = \mu + \alpha_1*e_{t-1} \\ 注意q=1的差分y_t与p=1的差分y_t的是不一样的 \\ 其中,\widehat y_t = \widehat Y_t-\widehat Y_{t-1} , \ e_{t-1}={Y_{t-1} - \widehat Y_{t-1}} , 设\theta_1 = 1- \alpha_1 \\ 则也可以写成: \widehat Y_t = \mu + \widehat Y_{t-1} + \alpha_1 ({Y_{t-1} - \widehat Y_{t-1}}) \\ = \mu +Y_{t-1} - \theta_1*e_{t-1}\]

5. ARIMA(2,1,2)

在通过上面的例子,可以很轻松的写出它的预测模型:

\[ \widehat y_t = \mu + \phi_1 * y_{t-1} + \phi_2 * y_{t-2} - \theta_1 * e_{t-1} - \theta_2* e_{t-2} \\ 也可以写成: \widehat Y_t = \mu + \phi_1 * (Y_{t-1} - Y_{t-2}) + \phi_2 * (Y_{t-2} - Y_{t-3}) - \theta_1 *(Y_{t-1} - \widehat Y_{t-1}) -\theta_2 *(Y_{t-2} - \widehat Y_{t-2}) \]

6. ARIMA(2,2,2)

\[ \widehat y_t = \mu + \phi_1 * y_{t-1} + \phi_2 * y_{t-2} - \theta_1 * e_{t-1} - \theta_2* e_{t-2} \\ \widehat Y_t = \mu + \phi_1 * (Y_{t-1}-2Y_{t-2} + Y_{t-3}) + \phi_2 * (Y_{t-2}-2Y_{t-3} + Y_{t-4}) - \theta_1 *(Y_{t-1} - \widehat Y_{t-1})- \theta_2* (Y_{t-2} - \widehat Y_{t-2}) \]

7. ARIMA建模基本步骤

  1. 获取被观测系统时间序列数据;
  2. 对数据绘图,观测是否为平稳时间序列;对于非平稳时间序列要先进行d阶差分运算,化为平稳时间序列;
  3. 经过第二步处理,已经得到平稳时间序列。要对平稳时间序列分别求得其自相关系数ACF 和偏自相关系数PACF,通过对自相关图和偏自相关图的分析,得到最佳的阶层 p 和阶数 q
  4. 由以上得到的d、q、p,得到ARIMA模型。然后开始对得到的模型进行模型检验。
    具体例子会在另一篇文章中给出。

转载于:https://www.cnblogs.com/bradleon/p/6827109.html

时间序列预测之--ARIMA模型相关推荐

  1. arima 公式_时间序列预测之--ARIMA模型

    什么是 ARIMA模型 ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA, Autoregressive Integrated Moving Average Model).也记作ARIM ...

  2. 数据挖掘——时间序列算法之ARIMA模型

    数据挖掘--时间序列算法之ARIMA模型 前言 差分定义 ARIMA模型 实践 1.检验序列的平稳性 2.进行一阶差分后,进行平稳性和白噪声检验 3.对一阶差分之后的平稳非白噪声序列拟合ARMA模型 ...

  3. 【深度学习 项目实战】Keras深度学习多变量时间序列预测的LSTM模型

    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程.人工智能教程 本篇文章将介绍基于 ...

  4. 时序预测构建ARIMA模型时报错:NotImplementedError: statsmodels.tsa.arima_model.ARMA and statsmodels.tsa.arima_

    在我时序预测构建ARIMA模型时出现报错: NotImplementedError: statsmodels.tsa.arima_model.ARMA and statsmodels.tsa.arim ...

  5. 时间序列预测-传统统计学模型ARIMA

    ARIMA单变量预测股价DEMO 时间序列介绍: 统计学模型-ARIMA介绍 ARIMA 参数选择说明 源代码解析 参考资料 时间序列介绍: 时间序列(TIME-SERISE)充斥着我们生活的空间,在 ...

  6. python arima模型_Python时间序列处理之ARIMA模型的使用讲解

    ARIMA模型 ARIMA模型的全称是自回归移动平均模型,是用来预测时间序列的一种常用的统计模型,一般记作ARIMA(p,d,q). ARIMA的适应情况 ARIMA模型相对来说比较简单易用.在应用A ...

  7. pandas时间序列与自回归ARIMA模型

    文章目录 知识点梳理 1 时间预处理 1.1 创造时间序列 1.2 选择时间序列 1.3 重采样 1.4 滑动窗口 1.5 差分 2.自回归ARIMA模型 1.平稳性(差分) 2. ACF与PACF ...

  8. 时间序列预测任务的模型选择最全总结

    在第一部分,将了解多种时间序列的模型,如 经典的时间序列模型 监督学习模型 基于深度学习的模型 在第二部分,将建立几个时间序列模型来预测股市的应用案例,并了解一些时间序列建模技术.这些模型将相互比较, ...

  9. Python实现时间序列中的ARIMA模型(学习笔记)

    文章目录 ARIMA模型 AR MA模型 ARMA模型 基本步骤 平稳检验 数据差分 ACF和PACF ACF PACF 代码实现 本篇文章仅为学习笔记,阅读本文章您很难获得收获.

最新文章

  1. matlab中读取txt数据文件(txt文本文档)
  2. 互联网架构“高并发”到底怎么玩?
  3. MySQL中的索引(普通索引篇)
  4. 无法保存打印机设置 0x000006d9
  5. lte核心网由哪些设备组成_一整套无线智能家居,是由哪些设备组成?这份清单告诉你答案...
  6. JavaScriptCore API 和V8 API
  7. Windows中查看端口占用情况
  8. 通俗易懂的进程与线程解释
  9. 英特尔nuc能代替主机吗_拆了拆了!Intel NUC装机!小机箱退烧器啊!主机显示器合体...
  10. 精细化管理设备资产,降低企业运营成本
  11. 工程项目全过程,工程项目建设分为几个阶段?
  12. OMNeT++下载、安装及实例tictoc1-tictoc18
  13. 猫怎么设置虚拟服务器,光纤猫设置虚拟服务器
  14. 004-行为型-02-模板方法模式(Template Method)
  15. 列宽一字符等于多少厘米_excel里面的列宽和行高单位是多少?多少等于1厘米?怎么对比的?...
  16. 【CANdelaStudio编辑CDD】-0.2-将CDD转换成ODX/PDX诊断描述文件
  17. 全天星图应用软件介绍(四季星座VB6源码)
  18. win10语音助手服务器,深入了解“小娜”Win10语音助手详解
  19. T(n)=2T(n/2)+n=o(nlogn)
  20. 安卓开发上传相册图片成功上传拍照图片失败解决办法

热门文章

  1. (基于安卓的毕业设计)日语学习软件APP开发(附源码+论文)
  2. OpenMMLab AI实战营第二期|人体关键点检测与MMPose学习笔记
  3. 微信授权及微信支付跳转回来的路径带有#的hash路径会被忽略
  4. 动态人脸识别的简要原理分析
  5. 图算法(十四):关联预测算法(Link Prediction)【适用场景:用于社交网上的好友推荐、关系预测等】【给定两个节点,根据Jaccard度量方法计算两个节点的相似程度,预测他们之间的紧密关系】
  6. sharepoint 2010 默认弹出模式窗口最大化default showModalDialog maximize
  7. 浅聊Jetty和Tomcat的区别
  8. php推送mip示例,神马搜索出现“MIP 数据提交”接口,或将支持百度 MIP 规范
  9. 代码随想录【Day24】| 开始回溯!77. 组合
  10. tinyproxy配置文件_使用tinyproxy进行ip代理