2012-09-18 44 views
0

殘差這似乎是一個明顯的事情,但我不能找到一個函數來做到這一點:按時間序列反轉的ARMA模型獲得R中

我有一個時間序列的觀測,說X_T以及由AR係數給出的ARMA模型規範,例如\ alpha_1,...,& \ alpha_p和MA係數\ beta_1,...,\ beta_q。我想要計算驅動創新的向量,比如e_t。

我已閱讀過濾器的幫助,但它似乎與我需要的相反(即需要創新和係數並計算觀察值)。

我可以通過將系統寫爲Ax = Be然後使用B^{ - 1} Ax來做到這一點,但是這對於大型系列需要時間,我擔心反演的數值穩定性。

我們可以通過

ts1 <- arima.sim(model=list(AR=0.5, MA=0.5), n=10) 

我們如何然後找到其產生的觀測創新產生樣本觀測值?

回答

0

認爲我過度思考這個問題 - 它很容易解決這個問題,通過遞歸在第一次觀察之前做出關於白噪聲項的假設。

顯然,這給出了R.

循環一個解決方法是使用 華宇 與 固定 設置爲您的建模參數。

0

由於@evilphil建議,只需使用arima()固定參數。這裏有一個例子:

ts1 <- arima.sim(model=list(ar=0.5, ma=0.5), n=10) 
fit <- arima(ts1, order=c(1,0,1), fixed=c(.5,.5,0)) 
res <- residuals(fit) 

然而,這沒有實際給出的arima.sim()由於初始化的效果中使用的創新。但是,對於很長的一系列,他們將與前幾個值相距很近。