私はチュートリアルに従ってSARIMAXモデルを研究しました: https://www.digitalocean.com/community/tutorials/a-guide-to-time-series-forecasting-with-arima-in-python- 。データの日付範囲は1958-2001です。
mod = sm.tsa.statespace.SARIMAX(y,
order=(1, 1, 1),
seasonal_order=(1, 1, 1, 12),
enforce_stationarity=False,
enforce_invertibility=False)
results = mod.fit()
aRIMA時系列モデルをフィッティングしているときに、著者がすべての日付範囲データをモデルのパラメーターにフィッティングすることがわかりました。しかし、予測を検証する際、著者は1998-01-01から始まる日付を、モデルのデータの日付範囲の一部として使用しました。
pred = results.get_prediction(start=pd.to_datetime('1998-01-01'), dynamic=False)
機械学習モデルでは、トレーニングデータと検証(テスト)データが異なります。つまり、範囲が異なります。著者が正しいということですか?なぜこのようにするのですか(すべてのトレーニングデータを使用する理由を意味します)、私はSARIMAXモデルの新しいモデルです。
このモデルについて詳しく教えてください。たとえば、月だけでなく日や週を予測する方法、つまり、order =(1,1,1)、seasonal_order =(1、1、1、12 )。ありがとう!
著者は正しいです。回帰を行う場合(線形、高次、またはロジスティック-重要ではありません)-トレーニングデータからの逸脱があってもまったく問題ありません(たとえば、トレーニングデータであってもロジスティック回帰によって誤検出が生じる場合があります)。
同じは時系列を表します。この方法で著者はモデルが正しく構築されていることを示したかったと思います。
seasonal_order=(1, 1, 1, 12)
Tsa stats documentation を見ると、四半期データで操作したい場合、最後のパラメータ(s)を割り当てる必要があることがわかります。値は4です。月次-12。週次データで操作したい場合、seasonal_orderは次のようになります。
seasonal_order=(1, 1, 1, 52)
毎日のデータは
seasonal_order=(1, 1, 1, 365)
次数成分は、非季節性パラメーターp、d、qをそれぞれ担当するパラメーターです。データの動作に応じてそれらを見つける必要があります
これが良い answer 非季節成分の値を見つける方法です