【问题标题】:How to print AIC or BIC from ARIMA Model如何从 ARIMA 模型打印 AIC 或 BIC
【发布时间】:2016-11-15 10:10:35
【问题描述】:

我创建了一个 ARIMA 模型,但我找不到打印 AIC 或 BIC 结果的方法。我需要这些数字进行模型比较。不幸的是,关于 sourceforge 的文档已关闭,在查看 statsmodel github 存储库时我找不到答案。

这是我的代码:

import pandas as pd
import pandas.io.data
import statsmodels.formula.api as sm 
import matplotlib.pyplot as plt 
from statsmodels.tsa.arima_model import ARIMA

list = ['spy']
df = pd.io.data.get_data_yahoo(list, start = '2013-11-01', end = '2016-7-01', interval = 'm')['Adj Close'] 
df.dropna(inplace = True) 
df = df.pct_change()
df.dropna(inplace = True) 

model = ARIMA(df.spy, order = (0,0,1))
results_ARIMA = model.fit(disp=-1)
plt.plot(results_ARIMA.fittedvalues, color='red') 
plt.show() 

【问题讨论】:

    标签: python regression statsmodels model-comparison


    【解决方案1】:

    我在这里找到了解决方案。您需要从 statsmodels.tsa.arima_model 导入 ARMAResults 类。

    from statsmodels.tsa.arima_model import ARMAResults 
    

    完成后,您可以插入

    print(ARMAResults.summary(results_ARIMA))
    

    这将打印出包含 BIC 和 AIC 的结果摘要。

    【讨论】:

    • 如果您只需要 AIC 或 BIC 值,您可以调用方法 .aic() 或 .bic()。这将只打印出值。
    【解决方案2】:

    results_ARIMA.aicresults_ARIMA.bic 将为您提供相应的值。你不需要括号,因为它们是不可调用的。

    【讨论】:

      猜你喜欢
      • 2015-11-24
      • 2020-09-27
      • 1970-01-01
      • 2016-05-28
      • 2017-04-16
      • 2018-02-21
      • 2018-02-09
      • 2021-08-28
      • 1970-01-01
      相关资源
      最近更新 更多