我試圖預測使用SARIMAX的季節性時間序列。時間序列包含每日PV饋入的最大值,這導致假定365天的週期性。Statsmodels SARIMAX:我該如何處理maxlag錯誤?
這裏是我的代碼:
mod= SARIMAX(realy.Max, order=(0,1,1), seasonal_order=(0,1,1,365))
results_SARIMAX = mod.fit(disp= -1)
我seasonal_order
設置s到365,因爲我的週期性。我還根據一些預先考慮的因素分別設置變量p,d,q,P,D,Q。 我的問題是,執行的代碼後,得出了以下錯誤:
ValueError: maxlag should be < nobs
當我設置對於s值從365降低到即150這是工作,但效果不好,因爲這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獲得更好的結果可能是一個好主意。不幸的是,我無法處理這個錯誤。
感謝您的幫助提前!
數據如何多年,你呢? – user333700
對不起,我想到了。我獲得了2.5年的數據。 – carlsberg
顯然,同時設置Q = 1和s = 365會出現問題。通過設置Q = 0和S = 365它正在工作。雖然,我不明白這一點。據我瞭解,在季節性ARIMA模型中,我有三個可以使用的旋鈕,分別是P,Q,D。它們中的三個不得大於1。設定Q = 1意味着,我將我的季節性滯後誤差等於s = 365的倍數加到我的時間序列預測中。當它只與Q = 0一起工作時,我再也沒有季節性了! – carlsberg