在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系数应用于任意时间序列?
library(forecast)
det_fit <- Arima(insamp, order=c(5,0,2))
new_fit <- Arima(outsamp, model=det_fit)