【发布时间】:2019-10-01 14:01:40
【问题描述】:
我的问题的完整 R 数据和代码在这里:https://pastebin.com/QtG6A7ZX。
我是 R 新手,在时间序列分析方面还是初学者,所以请原谅我的无知。
我正在尝试使用 2 个虚拟编码回归器对一些注册数据进行建模和预测。我已经使用auto.arima 来拟合模型:
model <- auto.arima(enroll, xreg=x)
在使用此模型进行预测之前,我试图通过仅选择时间序列的一部分(1:102 而不是 1:112)以及回归量的部分列表来测试其准确性。
基于auto.arima,我拟合部分模型如下:
model_par <-arima((enroll_partial), c(1, 1, 1),seasonal = list(order = c(1, 0, 0), period = 5), xreg=x_par)
我尝试了三种不同的方法来预测并得到基本相同的错误:
fcast_par <- forecast(model_par, h=10) #error
fcast_par <- forecast(model_par, h=10, xreg=x_par) #error
fcast_par <- forecast(model_par, h=10, xreg=forecast(x_par,h=10)) #error
'xreg' 和 'newxreg' 的列数不同
我已经使用auto.arima 对部分数据进行了测试。这行得通,但给了我一个不同的模型,虽然我指定了 10 个预测,但我得到了超过 50 个:
model_par2 <- auto.arima(enroll_partial, xreg=x_par)
fcast_par <- forecast(model_par2, h=12, xreg=x_par)
fcast_par
所以,我的主要问题是,我如何指定一个精确的模型并根据我的数据使用超过 1 个回归量进行预测(请参阅上面的粘贴 Bin 链接)?
【问题讨论】:
标签: r time-series forecasting arima