ARIMA——从案列出发,让你彻底懂得时间序列模型

时间:2024-03-22 10:36:41

解读导航:文章脉络会先以图问结合的方式,让你理解ARIMA的基本概念和术语,然后以预测下月商品销售额为实例,带你亲临建立时间序列模型的步骤和方法,之后介绍一种很有前瞻性的方法Prophet,最后总结时间序列模型的要点、技巧和注意事项。

一、用图形理解概念

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

ARIMA——从案列出发,让你彻底懂得时间序列模型

ARIMA模型其实是由AR、I、MA三者中的一个或多个组成的,p、q、d分别为对应成员的各自滞后的参数。故模型可以表示为:

ARIMA——从案列出发,让你彻底懂得时间序列模型

其中AR是自回归模型,即在序列中的下一个值的误差(平均值的差值)是前n个值中的误差的函数。p代表预测模型中采用的时序数据本身的滞后数(lags) ,也叫做AR/Auto-Regressive项 ,一般观察PACF图决定P值大小。

MA为移动平均模型,在序列中的下一个值是前n个值的平均值的函数。q代表预测模型中采用的预测误差的滞后数(lags),也叫做MA/Moving Average项

d为时间序列成为平稳时所做的差分次数。代表时序数据需要进行几阶差分化,才是稳定的。

说到这里就需要解释下差分了: 假设y表示t时刻的Y的差分。

ARIMA——从案列出发,让你彻底懂得时间序列模型
二、 ARIMA建模基本步骤:

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

三、实例

       我们使用kaggle比赛的数据,沿着建模步骤,逐渐建立对商品销售额建立时间序列模型(因为这里主讲时间序列,EDA、F-E就忽略了)

  1、原数据经过处理后得到的销售总额时间序列可视化如图:

      ARIMA——从案列出发,让你彻底懂得时间序列模型

   2、平稳性检验

平稳性是指序列上的时间不变性。时间序列中任意两个点之间的距离是稳定的,而且没有方向性(向前/向后)。即稳定的数据是没有趋势(trend),没有周期性(seasonality)的; 即它的均值,在时间轴上拥有常量的振幅,并且它的方差,在时间轴上是趋于同一个稳定的值的。

平稳周期要求:均值平稳;方差收敛;协方差具有周期性(如下三幅对比图)

检查平稳性的方法有:ADF、KPSS、PP (Phillips-Perron test)

ARIMA——从案列出发,让你彻底懂得时间序列模型ARIMA——从案列出发,让你彻底懂得时间序列模型

 

ARIMA——从案列出发,让你彻底懂得时间序列模型

我们使用Dickey-Fuller Test进行假设检验,原数据p值大于百分之五,故需要将原数据平稳化

ARIMA——从案列出发,让你彻底懂得时间序列模型

经过差分转换后(销售商品大都具有明显的“季节性”,故多次尝试后,滞后选择12个月),满足了序列的平稳性

ARIMA——从案列出发,让你彻底懂得时间序列模型

3、通过自相关、偏自相关图,确定p、q值     

常见ACF、PACF图情况的解读汇总表

ACF 图状态 指示模型
指数、衰减到0 自回归模型。利用部分自相关图识别自回归模型的阶数 p
正、负交替,衰减到零自回归模型。 使用部分自相关图帮助确定模型的阶数 p
一个或多个尖峰,基本在零上平稳下来 移动平均模型,模型的阶数 q为图中位置为零的点。
从某个滞后开始衰减 混合自回归和移动平均(ARMA)模型。
全零或接近零 数据本质上是随机的。
峰值在固定区间 包括季节性自回归项。
没有衰减到0 序列是不稳定的 

ARIMA——从案列出发,让你彻底懂得时间序列模型ARIMA——从案列出发,让你彻底懂得时间序列模型

ARIMA——从案列出发,让你彻底懂得时间序列模型ARIMA——从案列出发,让你彻底懂得时间序列模型

通过系统性的寻找方法,我们找到了平稳性转换后的数据的时间序列模型的p、q值

ARIMA——从案列出发,让你彻底懂得时间序列模型

4、使用模型预测

四、Prophet

       最近由Facebook上开放的源码,这是一个非常有前途的工具。如果你有经验和时间,通过仔细调参,可以找到比较好的模型参数,不过对于经验不足且时间不足的人而言,Prophet提供了一个非常方便快捷的解决方案。

       Prophet核心是一个加性回归模型,有四个主要组成部分:

       1、分段线性或Logistic增长曲线趋势。Prophet通过从数据中选择转换点自动检测趋势的变化。
       2、使用傅立叶级数建模的年季节分量。
       3、每周使用虚拟变量的季节性成分。
       4、用户提供重要节日列表。

有兴趣的可以看下:

五、总结

ARIMA模型,是指将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型。ARIMA模型根据原序列是否平稳以及回归中所含部分的不同,包括移动平均过程(MA)、自回归过程(AR)、自回归移动平均过程(ARMA)以及ARIMA过程。

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

ARIMA模型缺点:
1.要求时序数据是稳定的(stationary),或者是通过差分化(differencing)后是稳定的。
2.本质上只能捕捉线性关系,而不能捕捉非线性关系。

注意,采用ARIMA模型预测时序数据,必须是稳定的,如果不稳定的数据,是无法捕捉到规律的。比如股票数据用ARIMA无法预测的原因就是股票数据是非稳定的,常常受政策和新闻的影响而波动。

六、差分的辅助理解

1.ARIMA(0,1,0)   

         ARIMA——从案列出发,让你彻底懂得时间序列模型

 2、ARIMA(1,0,0)

ARIMA——从案列出发,让你彻底懂得时间序列模型

ARIMA——从案列出发,让你彻底懂得时间序列模型

ARIMA——从案列出发,让你彻底懂得时间序列模型

https://www.cnblogs.com/bradleon/p/6827109.html

###欢迎加入全网音频视频课程共享群群,和各领域大佬一起讨论学习知识####

ARIMA——从案列出发,让你彻底懂得时间序列模型