Statsmodels SARIMAX:如何处理maxlag错误?

car*_*erg 5 python time-series forecasting statsmodels

我正在尝试使用SARIMAX预测季节性时间序列。时间序列包含PV馈送的每日最大值,这导致假设为365天为周期。

这是我的代码:

mod= SARIMAX(realy.Max, order=(0,1,1), seasonal_order=(0,1,1,365))
results_SARIMAX = mod.fit(disp= -1)
Run Code Online (Sandbox Code Playgroud)

seasonal_order由于周期性,我将设置为365。我还根据一些预先考虑分别设置了变量p,d,q,P,D,Q。我的问题是,执行代码后,将出现以下错误:

ValueError: maxlag should be < nobs
Run Code Online (Sandbox Code Playgroud)

当我将s的值从365降低到150时,它可以工作,但是结果不好,因为这根本不是我的季节性。问题是,maxlag或nobs在哪里定义,我可以相应地对其进行更改吗?

SARIMAX函数的文档字符串仅讲述季度或每月数据,而不是日常数据。是否有人在使用SARIMAX方面有经验,并且已经根据日值对时间序列进行了预测?我搜寻了互联网来解决问题,但是找不到任何有用的信息。

这里已经出现了类似的问题, 在SARIMAX中预测较小数据的销售时如何设置maxlag? 在这里 如何更改ARMAX.predict的maxlag?

但是我不了解如何克服这个问题,因为我没有任何外在的价值要提交。

我还基于ARIMA建立了一个模型,可以使用该模型进行适当的预测。由于我没有非季节性的时间序列,所以我认为使用SARIMAX获得更好的结果可能是个好主意。不幸的是,我无法处理此错误。

谢谢您的帮助!

Jos*_*sef 5

您需要几年(完整的季节性周期)才能估计 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