pmdarima save auto.arima aic values



是否有办法保存这个AIC值?

我想对这些值进行排序,以查看哪个模型具有最低的AIC,以便对AIC较低的模型进行交叉验证

我在pmdarima (alkaline-ml/pmdarima)的GitHub页面上看到了这个问题。

答案来自积极维护pmdarima的Taylor G. Smith。

有两种方法。

1)

第一个参数是return_valid_fits设为True。参见pmdarima 1.8.0文档:

return_valid_fits: bool,可选(default=False)

如果为True,将返回列表中所有有效的ARIMA匹配。如果是False (by)),只会返回最合适的。

例子:

import pmdarima as pm
sxmodel = pm.auto_arima(endog[:n_train],exog[:n_train], start_p=0, start_q=0, max_p=2, max_q=2,
start_P=0,start_Q=0, max_P=2,max_D=1,max_Q=2, m=7, seasonal=True,
d=0, trace=True, error_action='trace',suppress_warnings=True, stepwise=True)
sxmodel

在第一种情况下,sxmodel将是一个包含拟合模型信息的元组


2)

另一个是使用sys模块:

import sys
orig_stdout = sys.stdout
f = open('out.txt', 'w')
sys.stdout = f
# fit your model
model = pm.auto_arima(...)
sys.stdout = orig_stdout
f.close()

最新更新