私はARIMAモデルを学び、適用しようとしています。私はPankratzによってARIMAに優れた文章を読んでてきた- 予測を単変量ボックスで-ジェンキンスモデル:概念と事例。本文では、著者は特にARIMAモデルを選択する際の節約の原則を強調しています。
Rパッケージ予測のauto.arima()
関数で遊び始めました。これが私がやったことです。ARIMAをシミュレートしてから適用しました。以下に2つの例を示します。両方の例でわかるように、多くの人が非慈善的と考えるモデルを明確に特定しました。特に例2では、実際にはARIMA(1,0,1)で十分かつpar約であるにもかかわらず、ARIMA(3,0,3)が識別されています。auto.arima()
auto.arima()
auto.arima()
以下は私の質問です。提案や推奨事項に感謝します。
- 次のような自動アルゴリズムを使用して特定されたモデルをいつ使用/変更するかについてのガイダンスはあります
auto.arima()
か? auto.arima()
モデルを識別するためにAIC(これが使用していると思う)を使用するだけで落とし穴はありますか?- 節約的な自動アルゴリズムを構築できますか?
ちなみに、私はauto.arima()
ちょうど例として使用しました。これは、自動アルゴリズムに適用されます。
以下は例1です。
set.seed(182)
y <- arima.sim(n=500,list(ar=0.2,ma=0.6),mean = 10)
auto.arima(y)
qa <- arima(y,order=c(1,0,1))
qa
以下はからの結果ですauto.arima()
。すべての係数は重要ではないことに注意してください。すなわち、値<2。
ARIMA(1,0,2) with non-zero mean
Coefficients:
ar1 ma1 ma2 intercept
0.5395 0.2109 -0.3385 19.9850
s.e. 0.4062 0.4160 0.3049 0.0878
sigma^2 estimated as 1.076: log likelihood=-728.14
AIC=1466.28 AICc=1466.41 BIC=1487.36
以下は、arima()
注文ARIMA(1,0,1)で定期的に実行した結果です。
Series: y
ARIMA(1,0,1) with non-zero mean
Coefficients:
ar1 ma1 intercept
0.2398 0.6478 20.0323
s.e. 0.0531 0.0376 0.1002
sigma^2 estimated as 1.071: log likelihood=-727.1
AIC=1462.2 AICc=1462.28 BIC=1479.06
例2:
set.seed(453)
y <- arima.sim(n=500,list(ar=0.2,ma=0.6),mean = 10)
auto.arima(y)
qa <- arima(y,order=c(1,0,1))
qa
以下はからの結果ですauto.arima()
:
ARIMA(3,0,3) with non-zero mean
Coefficients:
ar1 ar2 ar3 ma1 ma2 ma3 intercept
0.7541 -1.0606 0.2072 0.1391 0.5912 0.5491 20.0326
s.e. 0.0811 0.0666 0.0647 0.0725 0.0598 0.0636 0.0939
sigma^2 estimated as 1.027: log likelihood=-716.84
AIC=1449.67 AICc=1449.97 BIC=1483.39
以下は、arima()
注文ARIMA(1,0,1)で定期的に実行される結果です。
Series: y
ARIMA(1,0,1) with non-zero mean
Coefficients:
ar1 ma1 intercept
0.2398 0.6478 20.0323
s.e. 0.0531 0.0376 0.1002
sigma^2 estimated as 1.071: log likelihood=-727.1
AIC=1462.2 AICc=1462.28 BIC=1479.06