拓端tecdat|R語言使用ARIMAX預(yù)測(cè)失業(yè)率經(jīng)濟(jì)時(shí)間序列數(shù)據(jù)
原文鏈接:http://tecdat.cn/?p=22521
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
在大數(shù)據(jù)的趨勢(shì)下,我們經(jīng)常需要做預(yù)測(cè)性分析來幫助我們做決定。其中一個(gè)重要的事情是根據(jù)我們過去和現(xiàn)在的數(shù)據(jù)來預(yù)測(cè)未來。這種方法我們通常被稱為預(yù)測(cè)。
許多情況下都需要預(yù)測(cè):決定是否在未來五年內(nèi)再建一座發(fā)電站需要對(duì)未來的需求進(jìn)行預(yù)測(cè);安排下周呼叫中心的工作人員需要對(duì)呼叫量進(jìn)行預(yù)測(cè);儲(chǔ)備庫存需要對(duì)庫存需求進(jìn)行預(yù)測(cè)。一個(gè)事件的可預(yù)測(cè)性取決于幾個(gè)因素,包括。
我們對(duì)造成這種情況的因素了解得如何。
有多少數(shù)據(jù)可用。
預(yù)測(cè)是否能影響我們?cè)噲D預(yù)測(cè)的事物。
ARIMA
差分整合自回歸移動(dòng)平均模型(ARIMA)(p,d,q)是自回歸(AR)、移動(dòng)平均(MA)和自回歸移動(dòng)平均(ARMA)模型的擴(kuò)展版本。ARIMA模型是應(yīng)用于時(shí)間序列問題的模型。ARIMA將三種類型的建模過程結(jié)合到一個(gè)建??蚣苤?。
I:差分是用d表示的。它告訴我們?cè)谶B續(xù)的觀察樣本中,被差分的序列對(duì)于原始序列的變化數(shù)量。
AR:自回歸用p表示,它告訴我們?yōu)檫m應(yīng)平穩(wěn)序列的AR過程所需的滯后期數(shù)。ACF和PACF幫助我們確定AR過程的最佳參數(shù)集。
MA:移動(dòng)平均階數(shù)用q表示。它告訴我們要回歸的序列中的誤差項(xiàng)的數(shù)量,以便將差分的AR過程殘差減少為白噪聲。
關(guān)于ARIMAX
ARIMAX或回歸ARIMA是ARIMA模型的一個(gè)擴(kuò)展。在預(yù)測(cè)中,這種方法也涉及自變量。ARIMAX模型表示輸出時(shí)間序列由以下部分組成:自回歸(AR)部分,移動(dòng)平均(MA)部分,差分整合(I)部分,以及屬于外生輸入(X)的部分。外生部分(X)反映了將外生輸入的現(xiàn)值

和過去值

包括到ARIMAX模型中。
多元回歸模型公式:

其中Y是xi預(yù)測(cè)變量的因變量,ε通常被認(rèn)為是一個(gè)不相關(guān)的誤差項(xiàng)(即是白噪聲)。我們考慮了諸如Durbin-Watson檢驗(yàn)等檢驗(yàn)方法來評(píng)估ε是否有顯著的相關(guān)性。我們將在方程中用nt代替ε。誤差序列

被假定為遵循ARIMA模型。例如,如果 nt 遵循一個(gè) ARIMA(1,1,1)模型,我們可以寫成

其中εt是一個(gè)白噪聲序列。ARIMAX模型有兩個(gè)誤差項(xiàng),一個(gè)是回歸模型的誤差,我們用jt表示,另一個(gè)是ARIMA模型的誤差,我們用εt表示。只有ARIMA模型的誤差被認(rèn)為是白噪聲。
實(shí)例探究
我們將使用經(jīng)濟(jì)序列數(shù)據(jù)。數(shù)據(jù)是一個(gè)五個(gè)季度的經(jīng)濟(jì)序列,包含以下數(shù)字變量:季度失業(yè)率、國(guó)民生產(chǎn)總值、消費(fèi)、政府投資和私人投資。有161個(gè)觀測(cè)點(diǎn)。

季節(jié)性成分已經(jīng)從數(shù)據(jù)中去除。集中在失業(yè)率(Ut)、國(guó)民生產(chǎn)總值(Gt)和消費(fèi)(Ct)上,首先對(duì)每個(gè)序列進(jìn)行記錄,然后去掉線性趨勢(shì),對(duì)數(shù)據(jù)擬合一個(gè)向量ARMA模型。也就是說,對(duì)xt=(x1t,x2t,x3t)t擬合一個(gè)向量ARMA模型,例如,x1t=log(Ut)-β0^-β1^t,其中β0^和β1^是log(Ut)對(duì)時(shí)間t的回歸的最小二乘估計(jì)。對(duì)殘差運(yùn)行一套完整的診斷方法。
數(shù)據(jù)探索
grid.arrange(p1,p2,p3,ncol=2)

從圖中可以看出,國(guó)民生產(chǎn)總值和消費(fèi)可以作為回歸使用。我們可以用時(shí)間、國(guó)民生產(chǎn)總值和消費(fèi)來預(yù)測(cè)失業(yè)率。
ARIMAX模型擬合
summary(varma)

plot(df,aes(t,res))+line(col=colpla[2])
acf_pacf(res_= acf(x, plot= F)
, label= "ACF")
plot(df, aes(x=res)) +
histogram(aes(y=..density..)

我們的殘差在大多數(shù)情況下是正態(tài)分布的,ACF圖中沒有明顯的尖峰。Ljung-Box檢驗(yàn)在5%的水平上有0.05297的p值,所以數(shù)據(jù)是獨(dú)立分布的,在任何滯后期都沒有明顯的自相關(guān)。這是一個(gè)理想的結(jié)果。
預(yù)測(cè)
我們隨機(jī)生成log(g)和log(c)的向量,作為我們預(yù)測(cè)模型的輸入值。兩個(gè)向量的長(zhǎng)度都是8,所以我們的目標(biāo)是預(yù)測(cè)未來8個(gè)季度的log(u)值。請(qǐng)注意,對(duì)于多個(gè)回歸因子,我們必須將這些向量合并成一個(gè)矩陣,以便我們進(jìn)行預(yù)測(cè)工作。
forecast(m,x=logfc+logc )
plot(yfor)

ARIMA模型
通過使用ARIMA,我們只根據(jù)連續(xù)的時(shí)間數(shù)據(jù)來預(yù)測(cè)未來。它忽略了可能影響消費(fèi)變化的其他因素。
ARIMAX優(yōu)點(diǎn)缺點(diǎn)
要使用ARIMAX模型,有幾個(gè)可能的優(yōu)點(diǎn)和缺點(diǎn)。
優(yōu)點(diǎn)
使用ARIMAX的好處是我們可以將回歸和時(shí)間序列部分結(jié)合在一個(gè)模型中,命名為ARIMAX。與回歸模型或ARIMA模型相比,這個(gè)模型可以優(yōu)化我們的誤差。
缺點(diǎn)
一個(gè)缺點(diǎn)是,協(xié)變量系數(shù)很難解釋。斜率的值不是xt增加1時(shí)對(duì)Yt的影響(就像回歸中那樣)。方程右側(cè)存在因變量的滯后值,這意味著斜率β只能以因變量以前的值為條件進(jìn)行解釋,這很不直觀。

最受歡迎的見解
1.在python中使用lstm和pytorch進(jìn)行時(shí)間序列預(yù)測(cè)
2.python中利用長(zhǎng)短期記憶模型lstm進(jìn)行時(shí)間序列預(yù)測(cè)分析
3.使用r語言進(jìn)行時(shí)間序列(arima,指數(shù)平滑)分析
4.r語言多元copula-garch-模型時(shí)間序列預(yù)測(cè)
5.r語言copulas和金融時(shí)間序列案例
6.使用r語言隨機(jī)波動(dòng)模型sv處理時(shí)間序列中的隨機(jī)波動(dòng)
7.r語言時(shí)間序列tar閾值自回歸模型
8.r語言k-shape時(shí)間序列聚類方法對(duì)股票價(jià)格時(shí)間序列聚類
9.python3用arima模型進(jìn)行時(shí)間序列預(yù)測(cè)