我目前正在从事一个宠物项目,以根据历史基础油价格预测未来的基础油价格。数据是每周的,但在这之间的某些时期价格缺失。
我对使用完整数据建模时间序列有点好,但是当涉及到不规则的时间序列时,我学到的模型可能不适用。我是否使用 xts 类并以通常的方式在 R 中使用 ARIMA 模型?
在建立了预测未来价格的模型后,我想考虑原油价格波动、柴油利润率、汽车销量、经济增长等因素(多变量?)以提高准确性。有人可以阐明我如何以有效的方式做到这一点吗?在我看来,它就像一个迷宫。
编辑:此处的修剪数据:https ://docs.google.com/document/d/18pt4ulTpaVWQhVKn9XJHhQjvKwNI9uQystLL4WYinrY/edit
编码:
Mod.fit<-arima(Y,order =c(3,2,6), method ="ML")
结果:警告消息:在 log(s2) 中:产生了 NaN
此警告会影响我的模型准确性吗?
由于缺少数据,我无法使用 ACF 和 PACF。有没有更好的选择模型的方法?我使用 AIC(Akaike 的信息标准)来比较使用此代码的不同 ARIMA 模型。ARIMA(3,2,6) 给出了最小的 AIC。
编码:
AIC<-matrix(0,6,6)
for(p in 0:5)
for(q in 0:5)
{
mod.fit<-arima(Y,order=c(p,2,q))
AIC[p+1,q+1]<-mod.fit$aic
p
}
AIC
结果:
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1396.913 1328.481 1327.896 1328.350 1326.057 1325.063
[2,] 1343.925 1326.862 1328.321 1328.644 1325.239 1318.282
[3,] 1334.642 1328.013 1330.005 1327.304 1326.882 1314.239
[4,] 1336.393 1329.954 1324.114 1322.136 1323.567 1316.150
[5,] 1319.137 1321.030 1320.575 1321.287 1323.750 1316.815
[6,] 1321.135 1322.634 1320.115 1323.670 1325.649 1318.015