时序预测之二_ARIMA

1. 说明

 ARMA回归滑动平均模型(Autoregressive Moving Average Model,简记ARIMA),是研究时间序列的重要方法,由自回归模型(简称AR模型)与滑动平均模型(简称MA模型)为基础“混合”构成。常用于具有季节变动特征的销售量、市场规模的预测等。ARIMA模型相对ARMA模型,仅多了差分操作。

2. 相关概念

(1) 自回归模型(AR)

 自回归模型autoregressive model,简称AR.在时序分析中,描述时间序列{yt}自身某一时刻和前p个时刻之间相互关系的模型称自回归模型,其形式为:



 其中Φ1, Φ2,…, Φp是模型参数,εt是白噪声序列,它反映了所有其它随机因素的干扰.其中p为模型阶次,即yt由前p个值决定.

(2) 滑动平均模型(MA)

 滑动平均模型moving average model,也称移动平均模型,它将时间序列{yt}看成白噪声序列的线性组合,为什么误差能描述模型呢?假设某个值可通过之间前N个值的平均值预测,稍作变化,即实际值可以通过前一值的预测值加误差得到.因此实际值可用多个误差值的累加来表示.其形式为:

(3) 回归滑动平均模型(ARMA)

 简单地说:AR模型是建立当前值和历史值之间的联系,MA模型是计算AR部分累积的误差。ARMA是两个维度的和.

(4) 数据预处理

 ARMA要求被分析的数据呈正态分布,平稳,零均值.平稳性一般是指:均值为常数,方差为常数,且自协方差为常数.比如说上升的趋势中,均值就不是常数;如果震荡幅度越来越大,则方差不是常数。
 如果仅是均值非0的情况,可减去均值;如果趋势可用线性拟合,可以减去拟合后的趋势;另外还可以用差分,或者季节性差分的方法使之平稳;对于非正态分布,可使用对数处理.

(5) 差分

 差分是将数据进行移动之后与原数据进行比较得出的差异数据,这里的移动是指上移或者下移.简单的说,比如对某支股票的价格数据做一阶差分,就是将每日价格减去前一天的价格.
 在python中,差分运算可使用pandas的diff(periods=n)函数实现,其中n为阶数,默认为一阶差分,一阶差分的具体操作是df.shift()-df.用于生成平稳数据,比如下面的曲线.

 一阶差分后

 由此可见,差分之后,去掉了趋势,均值趋于0.有助于分析其它特征.

(6) 自相关与偏自相关(ACF&PACF)

 自相关acf和偏自相关pacf是分析时序数据的重要方法,是在平稳条件下求得的.
 自相关函数Auto Correlation Function,简称ACF.形如:

 X轴表示滞后值,Y轴从[-1,1],表示了这些值的相关性.比如左边第一点相关性为1,就是说该点与它自己完全相关.从图中可观察到:12个月为周期的相关性相当明显的.调用方法如下:

from statsmodels.graphics.tsaplots import plot_acf
plot_acf(df['xxx'])

 注意时序数据中不能包括空值,如果之前用了一次一阶差分和一次十二阶差分,应去掉前13个为空的值.
 图中蓝色部分是描述的统计显著性,如果数据随机分布,Y轴的位置会在蓝色区域之内.因此,要着重看蓝色区域以外的点.
 自相关系数包含了其它变量影响下的相关关系,有时需要只考虑某两个变量的相关关系,即偏相关系数.其中的偏字,指的是只考虑首尾两项的关系,把中间项当成常数,使用了偏导数的方法.使用方法如下:

from statsmodels.graphics.tsaplots import plot_pacf
plot_pacf(df['xxx'])

(7) 拖尾和截尾

 我们通过观察自相关图和偏自相关图来确使用哪种模型,以自相关图为例,先看看图片呈现的几种形式.

 左边的图呈直线形式衰减,说明可能包括趋势,需要进一步差分;中间是截尾图,它指的是在某个值(如图中的7)后截止为0;右则是拖尾图,指的是按指数形式或正弦形式有规律地衰减.
 如果自相关系数拖尾,偏自相关系数p阶截尾,则使用p阶的AR模型.
 如果自相关系数q阶截尾,偏自相关函数拖尾,则使用q阶的MA模型.
 简单的讲,它们两个都是看截尾截在哪儿.
 如果自相关函数和偏自相关函数均拖尾,则使用ARMA模型,由于AR和MA相互影响,阶数需要从小到大逐步尝试.

(8) 模型检验

i. 模型对训练数据的拟合
 用模型对训练数据做拟合,用观察或者计算误差的方式,查看二者差异,差异越小越好.

ii. 检查残差的自相关函数
 残差的自相关函数应该没有可识别的结构.

iii. AIC信息准则
 AIC信息准则Akaike information criterion,是衡量统计模型拟合优良性的一种标准,AIC值越小越好,也有根据AIC自动选参数的工具.

3. 步骤

 具体使用python调用statsmodels库实现.statsmodels是一套统计工具集.具体需要考虑三个参数:d,p,q.其中d是消除趋势的差分阶数,p是AR阶层,q是MA的阶数.步骤如下:

(1) 做时序图观察基本的趋势和周期.

(2) 分析平稳性,正态性,周期性;并对数据进行转换.

(3) 做自相关和偏自相关图,确定模型阶次.

(4) 模型检验

(5) 用模型预测.

4. 问题与解答

(1) 做ARMA分析前是否应该剔除周期性因素?
 我们可以从自相关图中看出周期性波动,比如上边右侧的拖尾图,它说明某天与前7,14,21天都强相关.如果发现强相关,可先进行多阶差分(季节差分)后,再进一步使用ARMA模型处理.需要注意的是各层次差分在预测时都需要对应的还原.

(2) 做长期预测时如何应对衰减?
 我在做盐城上牌预测时就遇到了严重的衰减问题,当时需要预测之后几百天的数据,而ARMA在预测了几十天之后,就从类似正弦波型衰减成了一条直线,导致我最终放弃了该模型,改为使用线性拟合趋势,严重损失了精度.后来看复赛排名第一的大神分享,他也使用ARMA,并且也有衰减问题,不同的是他采用按月预测,相比于按日预测,衰减就好得多,非常赞!

5. 参考

(1) 第七篇时间序列分析
https://max.book118.com/html/2014/1223/10828140.shtm

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容