4

予測にARIMAモデルを使用しようとしています。私はそれに慣れていません。データセット (毎時データ) の Seasonal_decompose() をプロットしようとしましたが、以下はプロットですか?

ここに画像の説明を入力

これらのプロットを理解したいのですが、簡単な説明が役に立ちます。最初はトレンドがなく、しばらくすると上昇トレンドになることがわかります。私はこれを正しく言っているのかどうかわかりませんか?これらのグラフを正しく読む方法を理解したいです。良い説明をお願いします。

ディッキー・フラー検定を適用して、データが静止しているかどうかを確認しようとしていて、さらに差分が必要かどうかを確認しようとすると、次の結果が得られました。

Test Statistic                   -4.117543
p-value                           0.000906
Lags Used                       30.000000
Number of Observations Used    4289.000000
Critical Value (1%)              -3.431876
Critical Value (5%)              -2.862214
Critical Value (10%)             -2.567129

これを理解するために 2 つのリンクを参照しています: http://www.seanabu.com/2016/03/22/time-series-seasonal-ARIMA-model-in-python/

このリンクは、テスト統計が臨界値より大きい場合、データが定常であることを意味します。一方、他のリンクはその逆です。これについても混乱しています。otexts.org を参照したところ、p 値に基づいてチェックする必要があると書かれています。ADF テストの結果をどのように解釈すればよいか教えてください。

また、データセットに ARIMA モデルを適用しようとしたとき:

from statsmodels.tsa.arima_model import ARIMA
model = ARIMA(df.y, order=(0,1,0))
model_fit = model.fit()

私のデータフレームにはインデックスとしてdatetime列があり、y列には浮動小数点値があります。このデータフレームにモデルを適用しているとき。この種のエラーが発生しています:

IndexError: リスト インデックスが範囲外です。

を使用してモデルの概要を印刷しようとすると、このエラーが発生します。

print(model_fit.summary())

これで私を助けてください。ARIMAの理解を深めるために。

4

3 に答える 3

0

ARIMAモデルの説明に関しては、私はあなたを参照することしかできません

https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average

お電話model_fit.summary()の際に発生している問題につきましては、order=(0,1,0). モデルが一定の差のみを推定するためのパラメータpまたはパラメータはありません。q

以下のコードを実行すると、一定の差が差の値の平均に過ぎないことがわかります。

#differences in forecasted values
pd.Series(model_fit.forecast(steps=10)[0]).diff(1)

#results
#0              NaN
#1    107904.396563
#2    107904.396563
#3    107904.396563
#4    107904.396563

#mean of the original time series differenced once
model_fit.model.endog.mean()
#107904.3965625

order=(0,1,1)またはに変更するとorder=(1,1,0)、要約は問題なく出力されますが、それはもちろん別のモデルであり、時間の経過とともにランダムなプロセスがどのように進化するかについて異なる仮定をしています。

于 2018-04-30T14:22:10.507 に答える