我想创建一个自动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顺序,也可以检查诊断图的正态性和残差相关性。