溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

R語言ARMA模型中參數(shù)選擇的示例分析

發(fā)布時間:2021-04-20 12:48:26 來源:億速云 閱讀:729 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細講解有關(guān)R語言ARMA模型中參數(shù)選擇的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

AR(p)模型與MA(q)實際上是ARMA(p,q)模型的特例。它們都統(tǒng)稱為ARMA模型,而ARMA(p,q)模型的統(tǒng)計性質(zhì)也是AR(p)與MA(q)模型的統(tǒng)計性質(zhì)的有機組合。

平穩(wěn)系列建模

假如某個觀察值序列通過序列預(yù)處理可以判定為平穩(wěn)非白噪聲序列,就可以利用ARMA模型對序列建模。

1.求出該觀察值序列的樣本自相關(guān)系數(shù)(ACF)與偏相關(guān)系數(shù)(PACF的值。

2.根據(jù)根樣本自相關(guān)系數(shù)和偏自相關(guān)系數(shù)的性質(zhì),選擇階數(shù)適當?shù)腁RMA(p,q)模型進行擬合。

3.估計模型中未知參數(shù)的值

4.檢驗?zāi)P偷挠行?。如果擬合模型未通過檢驗,回到步驟(2),重新選擇模型擬合。

5.模型優(yōu)化。如果擬合模型通過檢驗,仍然回到步驟(2),充分考慮各種可能,建立多個擬合模型,從所有通過檢驗的擬合的模型中選擇最優(yōu)模型。

6.利用擬合模型,預(yù)測序列將來的走勢。

R語言ARMA模型中參數(shù)選擇的示例分析

選擇合適的模型擬合1950-2008年我國郵路及農(nóng)村投遞線路每年新增里程數(shù)序列:

R語言ARMA模型中參數(shù)選擇的示例分析

白噪聲檢驗:

 for(i in 1:2) print(Box.test(x,type = "Ljung-Box",lag=6*i))
    Box-Ljung test
data:  x
X-squared = 37.754, df = 6, p-value = 1.255e-06
    Box-Ljung test
data:  x
X-squared = 44.62, df = 12, p-value = 1.197e-05

繪制自相關(guān)圖和偏自相關(guān)圖

acf(x)
pacf(x)

R語言ARMA模型中參數(shù)選擇的示例分析

補充:關(guān)于ARMA模型的R語言實現(xiàn)

新手一枚,和大家一起學習R,以后基本每周都會更新1到2篇關(guān)于數(shù)據(jù)預(yù)測處理的模型和方法,希望和大家一起學習,一起成長。

本周首先更新的是用R來實現(xiàn)ARMA模型。

時間序列的模型,基本上都要建立在平穩(wěn)的序列上,這里我們將來了解下ARMA模型,以及其實現(xiàn)的R代碼。

ARMA(p,q)模型,全稱移動平均自回歸模型,它是由自回歸(AR)部分和移動平均(MA)部分組成的,所以稱之為ARMA模型。進行ARMA模型的話,要求時間序列一定要是平穩(wěn)的才行,否則建模無效。

1.ARMA模型具有如下形式:

R語言ARMA模型中參數(shù)選擇的示例分析

2.ARMA模型建模步驟

(1)畫出時序圖,求出樣本的相關(guān)系數(shù),偏自相關(guān)系數(shù)值

(2)根據(jù)樣本的相關(guān)系數(shù)和偏自相關(guān)系數(shù),選擇適當?shù)碾A數(shù),由于這具有一定的主觀性,所以這里我們選用的是最小AIC準則來定階

(3)估計模型中的參數(shù)值

(4)檢驗?zāi)P偷挠行?,一般分為殘差的白噪聲檢驗和參數(shù)的顯著性檢驗。

(5)利用模型進行預(yù)測。

3.建模

我們利用美國科羅拉多州某一加油站連續(xù)57天的OVERSHOOT序列,來進行本次建模。

(1)首先

讀入數(shù)據(jù),畫出其時序圖,檢驗其平穩(wěn)性。

library(zoo)
library(tseries)
library(forecast)
overshort=read.table("C:/Users/MrDavid/data_TS/A1.9.csv",sep=",",header=T)
overshort=ts(overshort)
plot(overshort,col=4,lwd=2,pch=8,type="o")

結(jié)果如下:

R語言ARMA模型中參數(shù)選擇的示例分析

進行一次單位根檢驗,測試該序列的平穩(wěn)性:

代碼:adf.test(overshort)

結(jié)果如下圖所示:

R語言ARMA模型中參數(shù)選擇的示例分析

由以上單位根檢驗,我們看到P值為0.01小于0.05,所以該序列平穩(wěn)

(2)對于平穩(wěn)的時間序列

我們需要進行白噪聲檢驗,因為白噪聲是純隨機序列,對白噪聲序列進行建模毫無意義。

for(i in 1:3) print(Box.test(overshort,type="Ljung-Box",lag=6*i))

結(jié)果如下圖:

R語言ARMA模型中參數(shù)選擇的示例分析

可以看出,該序列非白噪聲序列,可以進行建模。

(3)模型的擬合

模型的擬合,我們可以畫出自相關(guān)圖,和偏自相關(guān)圖,對時間序列進行定階

acf(overshort,col=4,lwd=2)
pacf(overshort,col=4,lwd=2)

結(jié)果如下:

R語言ARMA模型中參數(shù)選擇的示例分析R語言ARMA模型中參數(shù)選擇的示例分析

自相關(guān)圖除了顯示1階延遲在兩倍標準差之外,其他自相關(guān)系數(shù)都在兩倍標準差之內(nèi),可以認為該序列自相關(guān)系數(shù)1階截尾,騙子相關(guān)系數(shù)顯示出非截尾性質(zhì),可以擬合模型為ARMA(0,1),即MA(1)模型。

該模型除了自相關(guān),偏自相關(guān)系數(shù)定階以外,還可以根據(jù)自動定階函數(shù)auto.arima來對該序列進行定階結(jié)果如下:

auto.arima(overshort)

R語言ARMA模型中參數(shù)選擇的示例分析

也顯示出該序列的模型為MA(1)模型

接下來進行建模,找出模型的系數(shù):

a=arima(overshort,order=c(0,0,1),include.mean=T)
a

得出結(jié)果:

R語言ARMA模型中參數(shù)選擇的示例分析

該模型為:

R語言ARMA模型中參數(shù)選擇的示例分析

對模型進行顯著性檢驗:

for(i in 1:3) print(Box.test(a$residual,type="Ljung-Box",lag=6*i))

R語言ARMA模型中參數(shù)選擇的示例分析

殘差的白噪聲檢驗,反映出,該殘差是白噪聲序列,所以殘差白噪聲檢驗通過。

對參數(shù)進行顯著性檢驗:

t1=-0.8477/0.1206
pt(t1,df=12,lower.tail=T)
t2=-4.7945/1.0252
pt(t2,df=12,lower.tail=T)

R語言ARMA模型中參數(shù)選擇的示例分析

參數(shù)的顯著性檢驗也通過,說明該序列建模成功。

(4)利用該模型預(yù)測未來5期值。

a.fore=forecast(a,h=5)
a.fore

R語言ARMA模型中參數(shù)選擇的示例分析

(5)畫出預(yù)測圖:

L1=a.fore$fitted-1.96*sqrt(a$sigma2)
U1=a.fore$fitted+1.96*sqrt(a$sigma2)
L2=ts(a.fore$lower[,2])
U2=ts(a.fore$upper[,2])
c1=min(overshort,L1,L2)
c2=max(overshort,L2,U2)
plot(overshort,type="p",pch=8,ylim=c(c1,c2))
lines(a.fore$fitted,col=2,lwd=2)
lines(a.fore$mean,col=2,lwd=2)
lines(L1,col=4,lty=2)
lines(U1,col=4,lty=2)
lines(L2,col=4,lty=2)
lines(U2,col=4,lty=2)

R語言ARMA模型中參數(shù)選擇的示例分析

關(guān)于“R語言ARMA模型中參數(shù)選擇的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI