Python 3.x “我想知道”;SARIMA(statsmodels)参数“;[订单]和[季节性订单]。我该如何选择?

Python 3.x “我想知道”;SARIMA(statsmodels)参数“;[订单]和[季节性订单]。我该如何选择?,python-3.x,time-series,statsmodels,arima,Python 3.x,Time Series,Statsmodels,Arima,我的数据(时间序列)包含两年的数据。(a值/天,行=360*2) 现在,我尝试使用statsmodels中的SARIMA模型。 我随机选择了参数(订单和季节性订单)。 顺序=(1,0,1),季节顺序=(0,1,0360) 这非常符合我的数据 但我在本质上不被理解。 我应该如何选择参数(p,d,q)? 顺序=(P,D,Q),季节顺序=(P,D,Q,s=360?) 我可以从ACF或PACF图中读取它吗?还是总结中的AIC、BIC (我试着从“最小AIC模型”中选择,但效果不好) 将statsmod

我的数据(时间序列)包含两年的数据。(a值/天,行=360*2)

现在,我尝试使用statsmodels中的SARIMA模型。 我随机选择了参数(订单和季节性订单)。 顺序=(1,0,1),季节顺序=(0,1,0360) 这非常符合我的数据

但我在本质上不被理解。 我应该如何选择参数(p,d,q)? 顺序=(P,D,Q),季节顺序=(P,D,Q,s=360?) 我可以从ACF或PACF图中读取它吗?还是总结中的AIC、BIC

(我试着从“最小AIC模型”中选择,但效果不好)


将statsmodels.api作为sm导入
SARIMA_1_0_1_010=sm.tsa.SARIMAX(t3,订单=(1,0,1),季节订单=(0,1,0300)).fit()
打印(SARIMA_1_0_1_010.summary())
residSARIMA=SARIMA_1_0_1_010.resid
图=plt.图(图尺寸=(12,8))
ax1=图添加子批次(211)
fig=sm.graphics.tsa.plot_acf(residSARIMA.values.squence(),lags=100,ax=ax1)
ax2=图添加子批次(212)
图=sm.graphics.tsa.plot_pacf(剩余面积,滞后时间=100,ax=ax2)
pred=SARIMA_1_0_1_010.预测(7001200)
plt.图(figsize=(22,10))
地块(t3)
plt.地块(前,“r”)

最大p=3
最大q=3
最大值=1
最大sp=0
最大平方=0
最大值sd=0
模式=最大p*(最大q+1)*(最大d+1)*(最大sp+1)*(最大sq+1)*(最大sd+1)
modelSelection=pd.DataFrame(索引=范围(模式),列=[“model”,“aic”])
季节=360
num=0
对于范围内的p(1,最大p+1):
对于范围内的d(0,最大d+1):
对于范围内的q(0,最大q+1):
对于范围内的sp(0,最大sp+1):
对于范围内的sd(0,最大sd+1):
对于范围内的平方(0,最大平方+1):
sarima=sm.tsa.SARIMAX(
t3,顺序=(p,d,q),
季节性订单=(sp、sd、sq、360),
强制_平稳性=假,
强制执行可逆性=错误
).fit()
modelSelection.ix[num][“model”]=“order=(“+str(p)+”,“+str(d)+”,“+str(q)+”)季节=(“+str(sp)+”,“+str(sd)+”,“+str(sq)+”)季节=”
modelSelection.ix[num][“aic”]=sarima.aic
modelSelection.ix[num][“bic”]=sarima.bic
num=num+1
modelSelection[modelSelection.aic==min(modelSelection.aic)]

它没有很好地预测…

这里的基本问题是
SARIMAX
不是一个很好的模型,在季节效应很长的情况下使用(参见例)

一般来说,通过信息标准选择模型的顺序(例如p、q和p、q)是一个好主意,但这样选择差分顺序(d或d)不是一个好主意

在使用
SARIMAX
模型时,可以帮助自动选择模型的python包是


但是,我要重复一次,这通常不适用于季节长度为360的车型。

谢谢!我必须学习更多。你的“URL”非常有用,给了我新的知识!