首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pmdarima autoarima预测方法返回“SARIMAX”对象没有属性“_k_trend”

pmdarima autoarima预测方法返回“SARIMAX”对象没有属性“_k_trend”
EN

Stack Overflow用户
提问于 2020-05-06 11:34:27
回答 1查看 710关注 0票数 1

我使用pmdarima模块的管道方法创建了一个模型

代码语言:javascript
复制
fit2 = Pipeline([
('boxcox', BoxCoxEndogTransformer(lmbda2=1e-6)),
('arima', pmd.AutoARIMA(trace=True,
                       suppress_warnings=True,
                       m=12,
                       stepwise=True))])

并利用列车数据集对模型进行拟合。

代码语言:javascript
复制
fitted = fit2.fit(train)

并能进行预测。之后,尝试将模型保存为泡菜文件。

代码语言:javascript
复制
pickle_tgt = "arima.pkl"
joblib.dump(fitted, pickle_tgt, compress=3)

然后,我将泡菜文件读入另一个python实例中。

代码语言:javascript
复制
def get_model(product_id):
  file_path = "collector/resources/" + product_id
  try:
      model = joblib.load(file_path)
      return model
  except Exception:
      print(traceback.format_exc())

但是,当我试图使用导入的模型执行预测时

代码语言:javascript
复制
fc, confint = model.predict(n_periods=24, return_conf_int=True)

它失败并返回下面的堆栈跟踪

代码语言:javascript
复制
    fc, confint = model.predict(n_periods=n_periods, return_conf_int=True)
  File "C:\Users\collector\venv\lib\site-packages\pmdarima\pipeline.py", line 436, in predict
    alpha=alpha, **predict_kwargs)
  File "C:\Users\collector\venv\lib\site-packages\pmdarima\utils\metaestimators.py", line 53, in <lambda>
    out = (lambda *args, **kwargs: self.fn(obj, *args, **kwargs))
  File "C:\Users\collector\venv\lib\site-packages\pmdarima\arima\auto.py", line 184, in predict
    return_conf_int=return_conf_int, alpha=alpha)
  File "C:\Users\collector\venv\lib\site-packages\pmdarima\arima\arima.py", line 651, in predict
    alpha=alpha)
  File "C:\Users\collector\venv\lib\site-packages\pmdarima\arima\arima.py", line 86, in _seasonal_prediction_with_confidence
    **kwargs)
  File "C:\Users\collector\venv\lib\site-packages\statsmodels\tsa\statespace\mlemodel.py", line 3234, in get_prediction
    transformed=True, includes_fixed=True, **kwargs)
  File "C:\Users\collector\venv\lib\site-packages\statsmodels\tsa\statespace\sarimax.py", line 1732, in _get_extension_time_varying_matrices
    if not self.simple_differencing and self._k_trend > 0:
AttributeError: 'SARIMAX' object has no attribute '_k_trend'

pmdarima版本为1.6.0,我尝试在_k_trend文件中设置sarimax.py =0变量,但似乎没有任何效果。有人有这方面的工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-18 05:40:05

显然,在colab和本地env中安装pmdarima时存在版本兼容性问题,请查找更多信息这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61634152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档