下面的代码改编自一个相关的问题,我从来没有让它工作过。
def objfunc(order, endog, exog=None):
from statsmodels.tsa.arima_model import ARIMA
fit = ARIMA(endog, order, exog, freq='D').fit()
return fit.aic
from scipy.optimize import brute
grid = (slice(1, 3, 1), slice(1, 3, 1), slice(1, 3, 1))
brute(objfunc, grid, args=([1.350320637, 1.39735651, 1.712129712, 1.718507051, 1.772633255, 1.766728163, 1.590842962, 1.386521041, 1.71810019, 1.743380606, 1.718501449, 1.77709043, 1.823061287, 1.562814653],), finish=None)
暴力破解时抛出异常:
The computed initial AR coefficients are not stationary
You should induce stationarity, choose a different model order, or you can
pass your own start_params.
我在这里阅读了有关此问题的帖子,但没有发现它很有帮助。
说到季节性,有人建议使用 X13as 来自动处理。有什么指示吗?
无论如何,我迫切需要一个关于 ARIMA in Python 的坚如磐石的例子。应该不会那么痛吧?