r - 使用 auto.Arima() 从回归进行预测并定义 xreg
问题描述
我有一个拍卖数据集,其中存在End_of_week
、Bid_Price
、和USD_INR
、列。我必须预测未来 6 个月的情况。我已经编写了以下代码。创建了两个模型:一个具有级别数据,第二个具有日志转换数据,但对于它显示的两个模型:Crude_Oil_Price
Baltic_Dry_Index
Bid_Price
带有 ARIMA(0,0,0) 错误的回归。
这里提供的数据是原始数据集的一部分。
数据
end_of_week L1_BID_PRICE BDI_MA Crude_Oil_Price USD_INR
27-01-2018 14.45 1184.4 66.14 63.59
03-02-2018 13.975 1153.2 65.45 64.13
10-02-2018 13.95 1101 59.2 64.375
17-02-2018 16.416 1101 61.68 64.215
24-02-2018 16.3 1140.4 63.55 64.71
03-03-2018 15.625 1194.8 61.25 65.22
10-03-2018 16.65 1202.2 62.04 65.125
17-03-2018 15.6 1166.6 62.34 64.99
24-03-2018 16.6 1122.8 65.88 64.99
31-03-2018 17.85 1100 64.94 65.115
代码
#ARIMA
# fit model1
covariates=c("BDI_MA","Crude_Oil_Price","USD_INR")
fit=auto.arima(train[,"L1_BID_PRICE"],xreg = train[,covariates])
fit
summary(fit)
fit$aic
fit$residuals
# forecast1
fcast <- forecast(fit, xreg = test[, covariates])
autoplot(fcast)
# fit model2
covariates=c("BDI_MA_log","Crude_Oil_Price_log","USD_INR_log")
fit=auto.arima(train[,"L1_BID_PRICE_log"],xreg = train[,covariates])
fit
summary(fit)
fit$aic
fit$residuals
# forecast2
fcast <- forecast(fit, xreg = test[, covariates])
autoplot(fcast)
accuracy(fcast)
除此之外,我还有一些疑问:
为了声明协变量,我是否应该使用对数转换版本
USD_INR
,Crude_Oil_Price
或者Baltic_Dry_Index
简单地使用它们?预测时是否应对响应变量进行对数转换?
解决方案
看起来您正在测试加法(第一)和乘法(第二)回归模型。对于乘法回归模型,响应变量应进行对数转换,并根据对数转换变量计算统计数据
推荐阅读
- python - 条带结帐会话缺少元数据
- javascript - 如何在 React 中循环渲染图像?
- java - JodaTime (Java):回历到公历的转换不准确?
- php - php json数组获取重复项
- unicode - 有没有办法判断一个字符串是否在 AppleScript 中包含“\u0000”?
- python - 比较列表列表并将重复项分组到 Python 中的新列表中
- typescript - TypeScript 错误“对象可能是‘未定义’。”
- python - 为什么在不同位置具有相同值的 Python 列表中使用带有“for 循环”的 break 函数时会出现错误结果?
- c - 使用 malloc() 定义的指针写入 netcdf 3D 数据
- lstm - 如何从深度知识追踪模型中获得一致的推论?