Arma
ARMA模型的擬合值
我試圖了解如何為 ARMA(p,q) 模型計算擬合值。我已經在這裡找到了一個關於 ARMA 過程的擬合值的問題,但無法理解它。
如果我有一個 ARMA(1,1) 模型,即
並給出一個(固定的)時間序列,我可以估計參數。我將如何使用這些估計值計算擬合值。對於 AR(1) 模型,擬合值由下式給出
由於 ARMA 模型中的創新是不可觀察的,我將如何使用 MA 參數的估計?我會忽略 MA 部分併計算 AR 部分的擬合值嗎?
要回答您的問題,您基本上需要知道殘差即 在
arma
模型中計算。因為那時. 讓我們首先生成一個假數據() 來自arima(.5,.6)
並擬合arma
模型(無均值):library(forecast) n=1000 ts_AR <- arima.sim(n = n, list(ar = 0.5,ma=0.6)) f=arima(ts_AR,order=c(1,0,1),include.mean=FALSE) summary(f) Series: ts_AR ARIMA(1,0,1) with zero mean Coefficients: ar1 ma1 0.4879 0.5595 s.e. 0.0335 0.0317 sigma^2 estimated as 1.014: log likelihood=-1426.7 AIC=2859.4 AICc=2859.42 BIC=2874.12 Training set error measures: ME RMSE MAE MPE MAPE MASE Training set 0.02102758 1.00722 0.8057205 40.05802 160.1078 0.6313145
現在我創建殘差如下:(因為在 1 處沒有殘差)並且對於我們有:, 在哪裡和是上述擬合模型中估計的自回歸和移動平均部分。這是代碼:
e = rep(1,n) e[1] = 0 ##since there is no residual at 1, e1 = 0 for (t in (2 : n)){ e[t] = ts_AR[t]-coef(f)[1]*ts_AR[t-1]-coef(f)[2]*e[t-1] }
一旦你找到殘差, 擬合值只是. 所以在下文中,我比較了從 R 獲得的前 10 個擬合值和我可以從中計算的值我在上面創建(即手動)。
cbind(fitted.from.package=fitted(f)[1:10],fitted.calculated.manually=ts_AR[1:10]-e[1:10]) fitted.from.package fitted.calculated.manually [1,] -0.4193068 -1.1653515 [2,] -0.8395447 -0.5685977 [3,] -0.4386956 -0.6051324 [4,] 0.3594109 0.4403898 [5,] 2.9358336 2.9013738 [6,] 1.3489537 1.3682191 [7,] 0.5329436 0.5219576 [8,] 1.0221220 1.0283511 [9,] 0.6083310 0.6048668 [10,] -0.5371484 -0.5352324
如您所見,它們很接近但不完全相同。原因是當我創建我設置的殘差時. 不過還有其他選擇。例如,基於幫助文件
arima
,卡爾曼濾波器發現的殘差及其方差,因此它們的計算會和我略有不同。但隨著時間的推移,它們正在趨同。現在為 Ar(1) 模型。我擬合了模型(沒有平均值)並直接向您展示如何使用係數計算擬合值。這次我沒有計算殘差。請注意,我報告了刪除第一個擬合值的前 10 個擬合值(同樣,它會根據您的定義方式而有所不同)。如您所見,它們完全相同。
f=arima(ts_AR,order=c(1,0,0),include.mean=FALSE) cbind(fitted.from.package=fitted(f)[2:10],fitted.calculated.manually=coef(f)*ts_AR[1:9]) fitted.from.package fitted.calculated.manually [1,] -0.8356307 -0.8356307 [2,] -0.6320580 -0.6320580 [3,] 0.0696877 0.0696877 [4,] 2.1549019 2.1549019 [5,] 2.0480074 2.0480074 [6,] 0.8814094 0.8814094 [7,] 0.9039184 0.9039184 [8,] 0.8079823 0.8079823 [9,] -0.1347165 -0.1347165