如何在ARIMA的预测模型中指定newxreg?

时间:2013-04-29 04:08:32

标签: r time-series forecasting prediction

我将下面的模型与我的时间序列数据相符。 xreg由1到1000之间的时间向量和表示月份的12个指示符变量(1或0)组成。我正在处理的数据有一些强烈的每周和每月季节性模式。

fit <- arima(x, order = c(3, 0, 0),
    seasonal = list(order = c(1, 0, 1), period = 7),   
    xreg = cbind(t, M1, M2, M3, M4, M5,
    M6, M7, M8, M9, M10, M11, M12), include.mean = FALSE,
    transform.pars = TRUE,
    fixed = NULL, init = NULL,
        method = c("CSS-ML", "ML", "CSS"),
        optim.method = "BFGS",
        optim.control = list(), kappa = 1e6)

此时我正在试图弄清楚如何预测1月份的14个值(M1=1)。 所以当我在R中使用预测函数时,我想我需要在newxreg部分中指定我想要M1=1M2,...,M12=0进行预测 - 是否正确? 我玩过代码,但我无法使用它,我无法在线找到关于预测公式的newxreg部分的非常详细的信息。

任何人都可以向我解释一下如何在一个月份获得预测,比如一月份吗? 我如何在预测函数的newxreg部分注意到这一点?

非常感谢提前!

1 个答案:

答案 0 :(得分:6)

我终于找到了出路并想发布它 - 以防它帮助其他人。 所以基本上,newxreg应该是一个矩阵,其中包含您想要预测的回归量的值。 所以在我的情况下,我的回归量都是1或0(编码变量)来指定特定月份。 所以我做的是创建了一个0和1的矩阵作为我的newxreg。 我做的是我定义了一个矩阵mx,然后在预测函数中我设置了newxreg = mx。我确保mx的行数> = n.ahead的行数。

pred&lt; - predict(fit,n.ahead = n,newxreg = mx)

希望这对其他人也有帮助!