1.數(shù)據(jù)的平穩(wěn)性
1.1.平穩(wěn)性:
1.平穩(wěn)性是要求經(jīng)由樣本時(shí)間序列所得到的擬合曲線在未來(lái)一段時(shí)間內(nèi)仍能順著現(xiàn)有的形態(tài)“慣性”地延續(xù)下去。
2.平穩(wěn)性要求序列的均值和方差不發(fā)生明顯的變化
1.2.嚴(yán)平穩(wěn)和弱平穩(wěn)
1 嚴(yán)平穩(wěn):嚴(yán)平穩(wěn)表示的分布不隨時(shí)間的改變而改變。
如:白噪聲(正態(tài)),無(wú)論怎么取,都是期望為0,方差為1。
- 弱平穩(wěn):期望與相關(guān)系數(shù)(依賴性)不變。未來(lái)某時(shí)刻的t的值Xt就要依賴于它的過(guò)去信息,所以需要依賴性。
1.3. 差分法:時(shí)間序列在t與t-1時(shí)刻的差值。
在一階差分的結(jié)果上再做一階差分那就是二階差分。
數(shù)據(jù)波動(dòng)特別大的時(shí)候,使用差分法,使得數(shù)據(jù)形態(tài)相對(duì)穩(wěn)定。例如股票日浮動(dòng)波動(dòng)很大,但是五日均線就平緩一些,十日比五日更平緩,如果看年線就幾乎沒(méi)有什么波動(dòng)。

2. ARIMA
2.1.自回歸模型(AR)
2.1.1描述當(dāng)前值與歷史值之間的關(guān)系,用變量自身的歷史時(shí)間數(shù)據(jù)對(duì)自身進(jìn)行預(yù)測(cè)。
2.1.2自回歸模型必須滿足平穩(wěn)性的要求。

P階的意思是當(dāng)前值和前面P個(gè)值相關(guān)。
2.1.4 yt是當(dāng)前值, μ是常數(shù)項(xiàng)(類(lèi)似線性回歸中的b),P是階數(shù),γi是自相關(guān)系數(shù),εt是誤差。γi就是我們需要求的參數(shù)(類(lèi)似線性回歸中的w)。
2.2.自回歸模型(AR)的限制
2.2.1 自回歸模型是用自身的數(shù)據(jù)來(lái)進(jìn)行預(yù)測(cè)。
2.2.2 必須具有平穩(wěn)性。
2.2.3 必須基友自相關(guān)性,如果自相關(guān)系數(shù)小于(φi)0.5,則不宜采用。
2.2.4 自回歸只適用于預(yù)測(cè)與自殺前期相關(guān)的現(xiàn)象。
2.3. 移動(dòng)平均模型(MA)
2.3.1. 移動(dòng)平均模型關(guān)注的是自回歸模型中的誤差項(xiàng)的累加

2.3.3. 移動(dòng)平均法能有效地消除預(yù)測(cè)中的隨機(jī)波動(dòng)。
2.4. 自回歸移動(dòng)平均模型(ARMA)
2.4.1 自回歸與移動(dòng)平均的結(jié)合
2.4.2 公式:

2.4.3. ARIMA(p,d,q)模型全稱為差分自回歸移動(dòng)平均模型(Autoregressive Integrated Moving Average Model),在python統(tǒng)計(jì)學(xué)包statsmodels中。參數(shù)p,d,q,p和d為自回歸項(xiàng)和移動(dòng)平均項(xiàng)數(shù),d代表差分?jǐn)?shù),例如指定d=1 就是一階差分。
2.4.4. AR是自回歸,p為自回歸項(xiàng);MA為移動(dòng)平均,q為移動(dòng)平均項(xiàng)數(shù),d為時(shí)間序列成為平穩(wěn)是所做的差分次數(shù)。
2.4.5. 原理:將非平穩(wěn)時(shí)間序列轉(zhuǎn)化為平穩(wěn)時(shí)間序列然將因變量?jī)H對(duì)它的滯后值以及隨機(jī)誤差項(xiàng)的現(xiàn)值和滯后值進(jìn)行回歸所建立的模型。例如p = 2 就代表自回歸滯后兩階。
3. 建模流程和調(diào)參
3.1.自相關(guān)系數(shù)ACF(autocorrelation function)
3.1.1 有序的隨機(jī)變量序列與其自身相比較。自相關(guān)函數(shù)反映了同一序列再不同時(shí)序的取值之間的相關(guān)性。

3.1.3 Pk的取值范圍為[-1,1]

3.2. 偏自相關(guān)函數(shù)(PACF)(partial autocorrelation function)
3.2.1 對(duì)于一個(gè)平穩(wěn)AR(p)模型,求出滯后k自相關(guān)系數(shù)p(k)時(shí)
實(shí)際上得到并不是x(t)與x(t-k)之間單純的相關(guān)關(guān)系。
3.2.2 x(t)同時(shí)還會(huì)受到中間k-1個(gè)隨機(jī)變量x(t-1)、x(t-2)、……、x(t-k+1)的影響,而這k-1個(gè)隨機(jī)變量又都和x(t-k)具有相關(guān)關(guān)系,所以自相關(guān)系數(shù)p(k)里實(shí)際摻雜了其他變量對(duì)x(t)與x(t-k)的影響。
3.2.3 剔除了中間k-1個(gè)隨機(jī)變量x(t-1)、x(t-2)、……、x(t-k+1)的干擾之后x(t-k)對(duì)x(t)影響的相關(guān)程度。
3.2.4 ACF還包含了其他變量的影響,而偏自相關(guān)系數(shù)PACF是嚴(yán)格這兩個(gè)變量之間的相關(guān)性。
3.3 ARIMA(p,d,q)參數(shù)確定
3.3.1 圖表

3.3.2 截尾:落在置信區(qū)間內(nèi)(95%的點(diǎn)都符合該規(guī)則)
3.3.3 ARIMA(p,d,q)階數(shù)確定
AR(p)看PACF,p階后截尾,意思是PACF圖中找到一階,后面的部分的點(diǎn)都落在置信區(qū)間(藍(lán)色部分)上,少部分點(diǎn)不在可以忽略。此圖中p可以取1。
MA(q)看ACF,q階后截尾,意思是ACF圖中找到一階,后面的部分的點(diǎn)都落在置信區(qū)間(藍(lán)色部分)上,少部分點(diǎn)不在可以忽略。此圖中q可以取7。

3.4 ARIMA 建模流程:
- 將序列平穩(wěn)(差分法確定d)
- p和q階數(shù)確定:ACF與PACF
- ARIMA(p,d,q)
3.5. 模型選擇指標(biāo)AIC與BIC: 選擇更簡(jiǎn)單的模型(AIC與BIC都是越低越好)
- AIC:赤池信息準(zhǔn)則(AkaikeInformation Criterion,AIC)
??????=2???2ln(??)(在保證模型精度的同時(shí),盡量讓k更小,這樣模型更簡(jiǎn)單) - BIC:貝葉斯信息準(zhǔn)則(Bayesian Information Criterion,BIC)
??????=?????????2ln(??) - k為模型參數(shù)個(gè)數(shù),n為樣本數(shù)量,L為似然函數(shù)
3.6. 模型殘差檢驗(yàn):
- ARIMA模型的殘差是否是平均值為0且方差為常數(shù)的正態(tài)分布
-
QQ圖:線性即正態(tài)分布
用plot_diagnostics()函數(shù)得到診斷圖
4. 例子
Reference:
https://www.analyticsvidhya.com/blog/2016/02/time-series-forecasting-codes-python/
https://blog.csdn.net/goldxwang/article/details/73351155
https://github.com/aarshayj/Analytics_Vidhya/tree/master/Articles
