python - 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 *,但是我该如何解决这个问题
解决方案
推荐阅读
- r - eval 中的错误(predvars,data,env):找不到对象“帮助”
- python - 乌龟要走出国门了
- mysql - 无法更新在 PDO 中插入重复条目的查询
- angular - 选择选项后加载组件
- node.js - 在 Loopback 4 中启用 SSL
- spring-boot - .XSD 文件架构中的 JAXB 类
- azure-devops - 等待 Azure 管道上的标头错误时超出 Client.Timeout
- reactjs - npm start for react native 给出错误 Windows 10
- c++ - C++ 中的集合(异构类型的数组)
- c# - 我该如何正确计算?