0

在 R 中,在样本中校准 ARMA 模型的系数后,如何生成错误,这将导致在另一组样本外数据上使用相同的系数?

假设 insamp 包含我的样本系列,我通过键入以下内容校准 ARMA(5,2):

    det_fit = arima(insamp , c(5,0,2));

现在我想计算 outsamp 系列的误差(我将系列任意分为两半 insamp 和 outsamp)。

如果模型是 AR(5),这就是我所做的:

    detrended_outsamp_forecast_ts = det_fit$coef["intercept"] + 
    det_fit$coef["ar1"] * c(rep(NA,1), outsamp)  + 
    det_fit$coef["ar2"] * c(rep(NA,2), outsamp) +
    det_fit$coef["ar3"] * c(rep(NA,3), outsamp) +
    det_fit$coef["ar4"] * c(rep(NA,4), outsamp) +
    det_fit$coef["ar5"] * c(rep(NA,5), outsamp);

这很长而且不是通用的。

有没有人写了一个函数来在任意时间序列上应用 ARMA 系数?

4

1 回答 1

3
library(forecast)
det_fit <- Arima(insamp, order=c(5,0,2))
new_fit <- Arima(outsamp, model=det_fit)
于 2012-08-02T02:16:09.270 回答