pmdarima将对象分配给auto_arima输出

时间:2020-10-16 14:29:33

标签: python statistics time-series statsmodels pmdarima

我正在尝试使用auto_arima,它可以很好地输出用于时间序列预测的最佳模型。

from pmdarima import auto_arima

stepwise_fit = auto_arima(hourly_avg['kW'], start_p=0, start_q=0,
                          max_p=2, max_q=2, m=4,
                          seasonal=False,
                          d=None, trace=True,
                          error_action='ignore',   # we don't want to know if an order does not work
                          suppress_warnings=True,  # we don't want convergence warnings
                          stepwise=True)           # set to stepwise

stepwise_fit.summary()

输出:

Performing stepwise search to minimize aic
 ARIMA(0,0,0)(0,0,0)[0]             : AIC=778.328, Time=0.01 sec
 ARIMA(1,0,0)(0,0,0)[0]             : AIC=inf, Time=0.07 sec
 ARIMA(0,0,1)(0,0,0)[0]             : AIC=inf, Time=0.07 sec
 ARIMA(1,0,1)(0,0,0)[0]             : AIC=138.016, Time=0.12 sec
 ARIMA(2,0,1)(0,0,0)[0]             : AIC=135.913, Time=0.16 sec
 ARIMA(2,0,0)(0,0,0)[0]             : AIC=inf, Time=0.11 sec
 ARIMA(2,0,2)(0,0,0)[0]             : AIC=135.302, Time=0.27 sec
 ARIMA(1,0,2)(0,0,0)[0]             : AIC=138.299, Time=0.14 sec
 ARIMA(2,0,2)(0,0,0)[0] intercept   : AIC=121.020, Time=0.36 sec
 ARIMA(1,0,2)(0,0,0)[0] intercept   : AIC=123.032, Time=0.36 sec
 ARIMA(2,0,1)(0,0,0)[0] intercept   : AIC=119.824, Time=0.28 sec
 ARIMA(1,0,1)(0,0,0)[0] intercept   : AIC=125.968, Time=0.31 sec
 ARIMA(2,0,0)(0,0,0)[0] intercept   : AIC=118.512, Time=0.15 sec
 ARIMA(1,0,0)(0,0,0)[0] intercept   : AIC=130.956, Time=0.12 sec

Best model:  ARIMA(2,0,0)(0,0,0)[0] intercept
Total fit time: 2.547 seconds

这里我没有道歉,但是可以为最佳拟合模型分配变量吗?还是必须从上面的输出中手动选择ARIMA(2,0,0)才能继续其时间序列预测方法?

例如,像best_model = Best model: ARIMA(2,0,0)这样的变量,最好的选择是...

1 个答案:

答案 0 :(得分:1)

Look at the documentation where they give an example

model = pm.auto_arima(train, seasonal=False)

# make your forecasts
forecasts = model.predict(24)  # predict N steps into the future