R-statsmodel-';ARIMAResults';对象没有属性“';endog'"E;”python

R-statsmodel-';ARIMAResults';对象没有属性“';endog'"E;”python,python,time-series,statsmodels,arima,Python,Time Series,Statsmodels,Arima,因此,我试图用python中的statsmodel包进行一些时间序列分析。我有一些在课堂上给我的代码,但它不起作用!我已经将误差缩小到下面的函数,但是我得到了一个我无法解决的奇怪的误差度量 def model_ARIMA_2(ts, order): from statsmodels.tsa.arima_model import ARIMA from statsmodels.tsa.arima_model import ARIMAResults model = AR

因此,我试图用python中的statsmodel包进行一些时间序列分析。我有一些在课堂上给我的代码,但它不起作用!我已经将误差缩小到下面的函数,但是我得到了一个我无法解决的奇怪的误差度量

def model_ARIMA_2(ts, order):
    from statsmodels.tsa.arima_model import ARIMA
    from statsmodels.tsa.arima_model import ARIMAResults    
    model = ARIMA(ts, order = order)
    model_fit = model.fit(disp=0, method='mle', trend='nc')
    BIC = ARIMAResults(model_fit, order).bic
    print('Testing model of order: ' + str(order) + ' with BIC = ' + str(BIC))
    return(BIC, order, model_fit)

order = (1,1,1)
model_ARIMA_2(decomp.resid[6:-6], order)
我得到一个错误:AttributeError:'ARIMAResults'对象没有属性'endog'

我的数据如下所示:

我试着在网上搜索,但没有找到任何有用的东西。有人知道为什么会出现这种错误,解决方法是什么吗


谢谢

当您试图提取BIC时,似乎发生了错误

当您拟合一个ARIMA模型时,在您的例子中,
model\u fit=model.fit(disp=0,method='mle',trend='nc')
,Statsmodels返回一个ARIMAResults对象(请参阅)。因此,您正试图从ARIMAResults对象创建一个ARIMAResults对象,这导致了您的错误

当您拟合模型(即
BIC=model\u fit.BIC
)以及所有其他模型拟合statsmodels报告时,您应该能够直接从返回的对象获取BIC

熟悉可以找到的ARIMAResults对象的方法和属性将非常有用

祝你好运