首页 > 解决方案 > NameError:名称“aic”未在 Arima 模型中定义

问题描述

我正在使用 Arima 模型进行时间序列预测,但是有一个我无法解决的错误,

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import statsmodels.api as sm
from statsmodels.tsa.stattools import adfuller
from pandas.plotting import autocorrelation_plot
from statsmodels.tsa.arima_model import ARIMA

from tqdm import *
for param in tqdm_notebook(parameters_list):
# we need try-except because on some combinations model fails to converge
    try: model=sm.tsa.statespace.SARIMAX(data, order=(param[0], d, param[1]),seasonal_order=(param[2], D, param[3], s)).fit(disp=-1)

    
    except:
        continue
    aic = model.aic
# saving best model, AIC and parameters
if aic < best_aic:
    best_model = model
best_aic = aic
best_param = param
results.append([param, model.aic])

显示的错误是

NameError                                 Traceback (most recent call last)
<ipython-input-60-0146ed8d5138> in <module>
      9     aic = model.aic
     10 # saving best model, AIC and parameters
---> 11 if aic < best_aic:
     12     best_model = model
     13 best_aic = aic

NameError: name 'aic' is not defined

在此之前,我的 tqdm_notebook 有一个错误,所以我为此使用了 import *,但是我该如何解决这个问题

标签: pythonmodeljupyter-notebookarima

解决方案


推荐阅读