R-statsmodel-';ARIMAResults';对象没有属性“';endog'"E;”python
因此,我试图用python中的statsmodel包进行一些时间序列分析。我有一些在课堂上给我的代码,但它不起作用!我已经将误差缩小到下面的函数,但是我得到了一个我无法解决的奇怪的误差度量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
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对象的方法和属性将非常有用
祝你好运