時序預(yù)測之二_ARIMA

1. 說明

?ARMA回歸滑動平均模型(Autoregressive Moving Average Model,簡記ARIMA)颜矿,是研究時間序列的重要方法频鉴,由自回歸模型(簡稱AR模型)與滑動平均模型(簡稱MA模型)為基礎(chǔ)“混合”構(gòu)成弓摘。常用于具有季節(jié)變動特征的銷售量、市場規(guī)模的預(yù)測等。ARIMA模型相對ARMA模型,僅多了差分操作猫胁。

2. 相關(guān)概念

(1) 自回歸模型(AR)

?自回歸模型autoregressive model,簡稱AR.在時序分析中跛锌,描述時間序列{yt}自身某一時刻和前p個時刻之間相互關(guān)系的模型稱自回歸模型弃秆,其形式為:



?其中Φ1, Φ2,…, Φp是模型參數(shù),εt是白噪聲序列髓帽,它反映了所有其它隨機(jī)因素的干擾.其中p為模型階次菠赚,即yt由前p個值決定.

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

?滑動平均模型moving average model,也稱移動平均模型郑藏,它將時間序列{yt}看成白噪聲序列的線性組合衡查,為什么誤差能描述模型呢?假設(shè)某個值可通過之間前N個值的平均值預(yù)測译秦,稍作變化峡捡,即實(shí)際值可以通過前一值的預(yù)測值加誤差得到.因此實(shí)際值可用多個誤差值的累加來表示.其形式為:

(3) 回歸滑動平均模型(ARMA)

?簡單地說:AR模型是建立當(dāng)前值和歷史值之間的聯(lián)系,MA模型是計(jì)算AR部分累積的誤差筑悴。ARMA是兩個維度的和.

(4) 數(shù)據(jù)預(yù)處理

?ARMA要求被分析的數(shù)據(jù)呈正態(tài)分布,平穩(wěn)稍途,零均值.平穩(wěn)性一般是指:均值為常數(shù)阁吝,方差為常數(shù),且自協(xié)方差為常數(shù).比如說上升的趨勢中械拍,均值就不是常數(shù)突勇;如果震蕩幅度越來越大,則方差不是常數(shù)坷虑。
?如果僅是均值非0的情況甲馋,可減去均值;如果趨勢可用線性擬合迄损,可以減去擬合后的趨勢定躏;另外還可以用差分,或者季節(jié)性差分的方法使之平穩(wěn)芹敌;對于非正態(tài)分布痊远,可使用對數(shù)處理.

(5) 差分

?差分是將數(shù)據(jù)進(jìn)行移動之后與原數(shù)據(jù)進(jìn)行比較得出的差異數(shù)據(jù),這里的移動是指上移或者下移.簡單的說氏捞,比如對某支股票的價格數(shù)據(jù)做一階差分碧聪,就是將每日價格減去前一天的價格.
?在python中,差分運(yùn)算可使用pandas的diff(periods=n)函數(shù)實(shí)現(xiàn)液茎,其中n為階數(shù)逞姿,默認(rèn)為一階差分辞嗡,一階差分的具體操作是df.shift()-df.用于生成平穩(wěn)數(shù)據(jù),比如下面的曲線.

?一階差分后

?由此可見滞造,差分之后续室,去掉了趨勢,均值趨于0.有助于分析其它特征.

(6) 自相關(guān)與偏自相關(guān)(ACF&PACF)

?自相關(guān)acf和偏自相關(guān)pacf是分析時序數(shù)據(jù)的重要方法断部,是在平穩(wěn)條件下求得的.
?自相關(guān)函數(shù)Auto Correlation Function猎贴,簡稱ACF.形如:

?X軸表示滯后值,Y軸從[-1,1]蝴光,表示了這些值的相關(guān)性.比如左邊第一點(diǎn)相關(guān)性為1她渴,就是說該點(diǎn)與它自己完全相關(guān).從圖中可觀察到:12個月為周期的相關(guān)性相當(dāng)明顯的.調(diào)用方法如下:

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

?注意時序數(shù)據(jù)中不能包括空值,如果之前用了一次一階差分和一次十二階差分蔑祟,應(yīng)去掉前13個為空的值.
?圖中藍(lán)色部分是描述的統(tǒng)計(jì)顯著性趁耗,如果數(shù)據(jù)隨機(jī)分布,Y軸的位置會在藍(lán)色區(qū)域之內(nèi).因此疆虚,要著重看藍(lán)色區(qū)域以外的點(diǎn).
?自相關(guān)系數(shù)包含了其它變量影響下的相關(guān)關(guān)系苛败,有時需要只考慮某兩個變量的相關(guān)關(guān)系,即偏相關(guān)系數(shù).其中的偏字径簿,指的是只考慮首尾兩項(xiàng)的關(guān)系罢屈,把中間項(xiàng)當(dāng)成常數(shù),使用了偏導(dǎo)數(shù)的方法.使用方法如下:

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

(7) 拖尾和截尾

?我們通過觀察自相關(guān)圖和偏自相關(guān)圖來確使用哪種模型篇亭,以自相關(guān)圖為例缠捌,先看看圖片呈現(xiàn)的幾種形式.

?左邊的圖呈直線形式衰減,說明可能包括趨勢译蒂,需要進(jìn)一步差分曼月;中間是截尾圖,它指的是在某個值(如圖中的7)后截止為0柔昼;右則是拖尾圖哑芹,指的是按指數(shù)形式或正弦形式有規(guī)律地衰減.
?如果自相關(guān)系數(shù)拖尾,偏自相關(guān)系數(shù)p階截尾捕透,則使用p階的AR模型.
?如果自相關(guān)系數(shù)q階截尾聪姿,偏自相關(guān)函數(shù)拖尾,則使用q階的MA模型.
?簡單的講激率,它們兩個都是看截尾截在哪兒.
?如果自相關(guān)函數(shù)和偏自相關(guān)函數(shù)均拖尾咳燕,則使用ARMA模型,由于AR和MA相互影響乒躺,階數(shù)需要從小到大逐步嘗試.

(8) 模型檢驗(yàn)

i. 模型對訓(xùn)練數(shù)據(jù)的擬合
?用模型對訓(xùn)練數(shù)據(jù)做擬合招盲,用觀察或者計(jì)算誤差的方式,查看二者差異嘉冒,差異越小越好.

ii. 檢查殘差的自相關(guān)函數(shù)
?殘差的自相關(guān)函數(shù)應(yīng)該沒有可識別的結(jié)構(gòu).

iii. AIC信息準(zhǔn)則
?AIC信息準(zhǔn)則Akaike information criterion曹货,是衡量統(tǒng)計(jì)模型擬合優(yōu)良性的一種標(biāo)準(zhǔn)咆繁,AIC值越小越好,也有根據(jù)AIC自動選參數(shù)的工具.

3. 步驟

?具體使用python調(diào)用statsmodels庫實(shí)現(xiàn).statsmodels是一套統(tǒng)計(jì)工具集.具體需要考慮三個參數(shù):d顶籽,p玩般,q.其中d是消除趨勢的差分階數(shù),p是AR階層礼饱,q是MA的階數(shù).步驟如下:

(1) 做時序圖觀察基本的趨勢和周期.

(2) 分析平穩(wěn)性坏为,正態(tài)性,周期性镊绪;并對數(shù)據(jù)進(jìn)行轉(zhuǎn)換.

(3) 做自相關(guān)和偏自相關(guān)圖匀伏,確定模型階次.

(4) 模型檢驗(yàn)

(5) 用模型預(yù)測.

4. 問題與解答

(1) 做ARMA分析前是否應(yīng)該剔除周期性因素?
?我們可以從自相關(guān)圖中看出周期性波動蝴韭,比如上邊右側(cè)的拖尾圖够颠,它說明某天與前7,14,21天都強(qiáng)相關(guān).如果發(fā)現(xiàn)強(qiáng)相關(guān),可先進(jìn)行多階差分(季節(jié)差分)后榄鉴,再進(jìn)一步使用ARMA模型處理.需要注意的是各層次差分在預(yù)測時都需要對應(yīng)的還原.

(2) 做長期預(yù)測時如何應(yīng)對衰減履磨?
?我在做鹽城上牌預(yù)測時就遇到了嚴(yán)重的衰減問題,當(dāng)時需要預(yù)測之后幾百天的數(shù)據(jù)庆尘,而ARMA在預(yù)測了幾十天之后剃诅,就從類似正弦波型衰減成了一條直線,導(dǎo)致我最終放棄了該模型驶忌,改為使用線性擬合趨勢综苔,嚴(yán)重?fù)p失了精度.后來看復(fù)賽排名第一的大神分享,他也使用ARMA位岔,并且也有衰減問題,不同的是他采用按月預(yù)測堡牡,相比于按日預(yù)測抒抬,衰減就好得多,非常贊晤柄!

5. 參考

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末擦剑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子芥颈,更是在濱河造成了極大的恐慌惠勒,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爬坑,死亡現(xiàn)場離奇詭異纠屋,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)盾计,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門售担,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赁遗,“玉大人,你說我怎么就攤上這事族铆⊙宜模” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵哥攘,是天一觀的道長剖煌。 經(jīng)常有香客問我,道長逝淹,這世上最難降的妖魔是什么耕姊? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮创橄,結(jié)果婚禮上箩做,老公的妹妹穿的比我還像新娘。我一直安慰自己妥畏,他們只是感情好邦邦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著醉蚁,像睡著了一般燃辖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上网棍,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天黔龟,我揣著相機(jī)與錄音,去河邊找鬼滥玷。 笑死氏身,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的惑畴。 我是一名探鬼主播蛋欣,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼如贷!你這毒婦竟也來了陷虎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤杠袱,失蹤者是張志新(化名)和其女友劉穎尚猿,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體楣富,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凿掂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了菩彬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缠劝。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡潮梯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惨恭,到底是詐尸還是另有隱情秉馏,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布脱羡,位于F島的核電站萝究,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏锉罐。R本人自食惡果不足惜帆竹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脓规。 院中可真熱鬧栽连,春花似錦、人聲如沸侨舆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挨下。三九已至熔恢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間臭笆,已是汗流浹背叙淌。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留愁铺,地道東北人鹰霍。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像茵乱,于是被迫代替她去往敵國和親衅谷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容