SARIMA模型订单

时间:2020-05-21 23:17:41

标签: time-series statsmodels arima

我将SARIMA模型(1,1,1)(2,1,1,96)用于具有ACF和PACF图的数据集,如下所示: ACF plot of the dataset PACF plot of the dataset

在使用上述模型之后,我查看了ACF和PACF图,以确保涵盖了所有依赖项。但是,ACF和PACF图在滞后96处显示出较大的值。如果我对应对SARIMA模型顺序进行的修改有所帮助,我将不胜感激。请注意,我的数据每天都是季节性的,因为它是15分钟的数据,所以S = 96。

ACF and PACF plots after fitting the model

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用auto_arima function in pmdarima package对订单组合进行迭代,并根据AIC得分获得最佳价值。您已通过acf和pacf图确定了季节性和非季节性订单。您可以使用这些订单作为开始参数。

import pmdarima as pm
from sklearn.metrics import mean_squared_error
model = pm.auto_arima(<train_data>,error_action="ignore", suppress_warnings = True,
                         seasonal = True,
                         m = 96,
                         start_p = 1,start_q = 1,d=1,
                         start_P = 2,start_Q = 1,D=1,
                         max_p = 12,max_q = 12,max_d=2,
                         max_P = 4,max_Q = 4,max_D = 2,
                         test='adf', #use adf test
                         information_criterion='aic', #AIC or BIC
                         stepwise = False, trace = False)

之后,您可以使用plot_diagnostics函数获取模型诊断信息

model.plot_diagnostics(figsize=(8,8))

您还可以从摘要函数获取Ljung-BoxJarque-Bera统计信息,以检查残差的分布和残差的相关性。

model.summary()