我已将以下模型拟合到我的时间序列数据中。 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=1
和 M2,...,M12=0
我的预测 - 正确吗?
我试过这些代码,但我无法让它工作,而且我无法在网上找到有关预测公式的 newxreg 部分的非常详细的信息。
任何人都可以向我解释如何获得某个特定月份(例如 1 月)的预测吗? 以及在预测函数的 newxreg 部分我需要如何注意?
非常感谢!
最佳答案
我终于找到了出路,想把它贴出来——以防它能帮助别人。 所以基本上,newxreg 应该是一个矩阵,其中包含您想要预测的回归变量的值。 所以在我的例子中,我的回归量都是 1 或 0(编码变量)来指定特定的月份。 所以我所做的是创建一个由 0 和 1 组成的矩阵用作我的 newxreg。 我所做的是定义一个矩阵 mx,然后在预测函数中设置 newxreg=mx。我确保 mx 的行数 >= n.ahead 的行数。
pred <- predict(fit,n.ahead=n, newxreg=mx)
希望这对其他人也有帮助!
关于r - 如何在ARIMA预测模型中指定newxreg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16288375/