我正在尝试检索 ARIMA 模型的样本外预测。但是,我不断收到错误,我不确定现在应该如何进行:(代码如下:
from statsmodels.tsa.arima_model import ARIMA
fit = ARIMA(endog, (1,1,1)).fit()
params = fit.params
forecast = fit.predict(params.all(), start='2015-9-21', end='2016-9-21', typ='levels')
当我只使用
forecast = fit.predict(params.all(), typ='levels')
但是,当我添加“开始”和“结束”日期(或仅添加“开始”)时,它不起作用,我经常会遇到错误。如果是第一个引用的代码块:“TypeError: predict() 得到了关键字参数‘start’的多个值”。我也尝试过 datetime 类型,但它也没有用。谁能帮我解决这个问题?
最佳答案
我遇到了与上面报告的错误类似的错误:
“AttributeError:‘NoneType’对象没有属性‘get_loc’”
但我意识到这是因为我传递了一个没有日期时间索引的数组(或列表),例如如果您使用 pandas 数据帧并将其输入为 df.values
,那么您将删除时间索引,并且 ARMA 没有触发此错误的日期信息(因此日期为 None)。我建议您输入带有日期时间索引的 pd.DataFrame
或 pd.Series
对象。另请参阅此线程 http://pystatsmodels.narkive.com/rhX3T509/arma-predict-throws-attributeerror-with-start-and-end-dates
关于python - Python 中的 Statsmodels 包 - 检索 ARIMA 模型的样本外预测的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32744940/