为什么auto arima生成一个q阶超过我预设范围的最佳模型?



我想创建一个自动arima模型来自动选择最佳参数值。我为q设置的值范围是[1,2]。然而,auto arima生成的最佳q值为0。有人知道为什么吗?

下面是我的代码

sarimax_model = auto_arima(df_x_train['y'],exogenous=df_x_train[['black_friday_ind','holiday_season_ind','covid_ind']],start_p=0,d=1,start_q=1,max_p=1,max_d=1,max_q=2, start_P=0,D=1,start_Q=1,max_P=1,max_D=1,max_Q=1, m=seasonal_periods, information_criterion='aic',stepwise=True)

这是auto arima生成的最佳模型

您正在通过AIC(赤池信息标准)进行测试,最低的AIC是自动模型选择的最佳模型。q阶是0。如果你可以共享sarimax_model.summary(),那么我们可以看到最低的AIC。

但是,您需要小心自动选择模型。它非常依赖于你的输入数据和给函数的参数。参数需要与数据匹配(季节性、季节周期、季节差序等)。

您可以通过ACF和PACF图手动验证p和Q顺序,也可以检查诊断图的正态性和残差相关性。

最新更新