问题遇到的现象和发生背景 在ARIMA模型中,在提取p和q值的时候,使用到的fit()函数得到的bim矩阵元素全部为None,就是在ARIMA中找不到fit()方法
问题相关代码,请勿粘贴截图
from statsmodels.tsa.arima_model import ARIMA
pmax = int(len(D_data)/10)
qmax = int(len(D_data)/10)
bic_matrix=[]#bic矩阵
for p in range(pmax+1):
tmp=[]
for q in range(qmax+1):
try:
tmp.append(ARIMA(data,(p,1,q)).fit().bic)
except:
tmp.append(None)
bic_matrix.append(tmp)
print(bic_matrix)
bic_matrix=pd.DataFrame(bic_matrix)
#print(bic_matrix)
p,q=bic_matrix.stack().astype('float64').idxmin()
print(u'BIC最小的p值和q值为:%s、%s' %(p,q))
plt.show()
model=ARIMA(data,(0,1,1)).fit()
model.summary2()
model.forecast(5)
运行结果及报错内容
Traceback (most recent call last):
File "D:\pyproject\datafenxi\main.py", line 67, in
p,q=bic_matrix.stack().astype('float64').idxmin()
File "D:\pyproject\datafenxi\venv\lib\site-packages\pandas\core\series.py", line 2334, in idxmin
i = self.argmin(axis, skipna, *args, **kwargs)
File "D:\pyproject\datafenxi\venv\lib\site-packages\pandas\core\base.py", line 719, in argmin
return nanops.nanargmin( # type: ignore[return-value]
File "D:\pyproject\datafenxi\venv\lib\site-packages\pandas\core\nanops.py", line 93, in _f
return f(*args, **kwargs)
File "D:\pyproject\datafenxi\venv\lib\site-packages\pandas\core\nanops.py", line 1142, in nanargmin
result = values.argmin(axis) # type: ignore[var-annotated]
ValueError: attempt to get argmin of an empty sequence