pmdarima 保存 auto.arima aic 值

问题描述 投票:0回答:2

有办法保存这个AIC值吗?

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

python arima pmdarima
2个回答
0
投票

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

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

有两种方法。

1)

第一个参数 return_valid_fits 设置为 True。请参阅 pmdarima 1.8.0 文档

return_valid_fits:布尔值,可选(默认=False)

如果为 True,将返回列表中所有有效的 ARIMA。如果为假(通过 默认),只会返回最适合的。

示例:

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()

0
投票

另一种方法如下:

from pmdarima.arima import auto_arima
coeff = auto_arima(data, seasonal=False,m=0,error_action="ignore", suppress_warnings=True, trace=True)
AIC_value=coeff.arima_res_.aic
© www.soinside.com 2019 - 2024. All rights reserved.