有没有办法保存这个 AIC 值?
我想对这些值进行排序以查看哪个模型的 AIC 最低,以便在此处对具有较低 AIC 输入图像描述的模型进行交叉验证
我在pmd arima (alkaline-ml/pmdarima)的 GitHub 页面中看到了这个问题。
答案来自积极维护 pmdarima的Taylor G. Smith 。
有两种方法。
1)
第一个是参数return_valid_fits设置为 True。请参阅 pmdarima 1.8.0文档:
return_valid_fits:布尔值,可选(默认=假)
如果为 True,将返回所有有效的 ARIMA 适合列表。如果为 False(默认),将只返回最佳拟合。
例子:
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()