R: 从样本中拟合ARMA



在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)

最新更新