pmdarima 将对象分配给 auto_arima 输出

pmdarima assign object to auto_arima output

我正在试验 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

这里没有太多的智慧,对此我深表歉意,但是是否可以将变量分配给最适合的模型?或者是否必须从上面的输出中手动 select ARIMA(2,0,0) 才能继续使用他们的时间序列预测方法?

例如一些变量,例如 best_model = Best model: ARIMA(2,0,0) 最好的 selection 是...

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