2017-03-09 91 views
0

SARIMAXを使用して季節の時系列を予測しようとしています。時系列にはPVフィードインの1日の最大値が含まれており、365日の周期性が仮定されます。私は私のために、周期の365にseasonal_orderにSを設定統計モデルSARIMAX:どのようにして最大誤差エラーに対処できますか?

mod= SARIMAX(realy.Max, order=(0,1,1), seasonal_order=(0,1,1,365)) 
results_SARIMAX = mod.fit(disp= -1) 

は、ここに私のコードです。また、いくつかの事前検討事項に従って、変数p、d、q、それぞれP、D、Qを設定する。 私の問題は、コードを実行した後、次のエラーが描かれていること、である:

ValueError: maxlag should be < nobs 

私は150、すなわちダウン365からSの値を設定すると「このISNいるので、それが働いているが、結果が悪いです私の季節性はまったくありません。問題は、maxlagまたはnobsはどこに定義されていますか、それに応じて変更することができますか?

SARIMAX関数のドキュメントストリングは、毎日のデータではなく、月ごとまたは月ごとのデータのみを示します。 誰かがSARIMAXでの作業経験があり、すでに日々の価値観に基づく時系列の予測を行っていますか?私は問題を解決するためにインターネットを精査しましたが、役に立たないものは何も見つかりません。

同様の質問はすでに How to set maxlag when Forecasting Sales for smaller data in SARIMAX? ここまで来て、ここに How to change maxlag for ARMAX.predict?

しかし、私はコミットする任意の外因性の値を持っていないので、私は、私の場合には、この問題を克服する方法を理解していません。

私は適切な予測をすることができるARIMAに基づいてモデルを作成しました。私は非季節の時系列を持っていないので、よりよい結果を得るためにSARIMAXを使うのは良い考えだと思った。残念ながら、私はこのエラーに対処できません。

ご協力いただきありがとうございます。

+0

あなたは何年のデータを持っていますか? – user333700

+1

申し訳ありませんが、私はそれを言いました。私は2,5年のデータを持っています。 – carlsberg

+0

明らかに、Q = 1とs = 365を同時に設定することには問題があります。 Q = 0とs = 365を設定することにより、動作しています。しかし、私はそれを理解していません。私が理解している限り、季節のARIMAモデルでは、P、Q、Dの3つのノブがあります。 3つはそれぞれ1より大きくてはいけません。 Q = 1に設定すると、時系列の予測にs = 365の季節的な遅れた誤差et-sの倍数を加算することになります。それがQ = 0でしか動作しないとき、私はもはや季節性がありませんか? – carlsberg

答えて

1

SARIMAXの季節の部分を推定するには、数年(完全な季節のサイクル)が必要です。https://github.com/statsmodels/statsmodels/issues/3529を参照してください。

スプラインまたはフーリエ級数を使用して、季節パターンをexogとしてモデル化することもできます。たとえば、http://robjhyndman.com/hyndsight/longseasonality/

patsyの式を使ってOLSとARMAの季節的スプラインを作成するドラフトノートです。 SARIMAXも同様に動作します。 https://gist.github.com/josef-pkt/1ea164439b239b228557

+0

答えをありがとう。これが役立つかどうかを確認します。 – carlsberg

関連する問題