私は現在、過去の基油価格から将来の基油価格を予測するペット プロジェクトに取り組んでいます。データは週ごとですが、その間に価格が欠落している期間がいくつかあります。
完全なデータで時系列をモデル化することには多少問題はありませんが、不規則なものになると、私が学んだモデルは適用できない場合があります。xts クラスを使用して、通常の方法で R の ARIMA モデルを進めますか?
将来の価格を予測するモデルを構築した後、精度を向上させるために、原油価格の変動、ディーゼルの利益率、自動車販売、経済成長など (多変量?) を考慮に入れたいと考えています。これを効率的に行うにはどうすればよいか、誰かが光を当てることができますか? 私の考えでは、それは迷路のように見えます。
編集:トリミングされたデータはこちら: https://docs.google.com/document/d/18pt4ulTpaVWQhVKn9XJHhQjvKwNI9uQystLL4WYinrY/edit
コーディング:
Mod.fit<-arima(Y,order =c(3,2,6), method ="ML")
結果: 警告メッセージ: ログ (s2) : NaN が生成されました
この警告はモデルの精度に影響しますか?
データが欠落しているため、ACF と PACF を使用できません。モデルを選択するより良い方法はありますか? AIC(赤池情報量基準)を使用して、このコードを使用して異なる 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