您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python statsmodels ARIMA预测

5b51 2022/1/14 8:22:06 python 字数 2572 阅读 536 来源 www.jb51.cc/python

我正在尝试使用 python statsmodels进行样本预测.我不想仅仅预测训练集末尾的下一个x值,但我想一次预测一个值,并在预测时考虑实际值.换句话说,我想做滚动1期预测,但我不想每次都重新校准模型.我能找到的最近的帖子是: ARMA out-of-sample prediction with statsmodels 但是,这使用ARMA而不是ARIMA.如何使用ARIMA实现这一目标还是有

概述

ARMA out-of-sample prediction with statsmodels

但是,这使用ARMA而不是ARIMA.如何使用ARIMA实现这一目标还是有更好的方法?我知道我实际上可以拉动系数并自己应用函数但是在我的代码中我使用的ARIMA模型随着时间的推移是动态的,因此系数和滞后值的使用数量不是恒定的.任何帮助将不胜感激.

这就是我使用statsmodel做的方式:我已经将一阶差异应用于系列以实现平稳性,并计算了一个arma模型:

model = sm.tsa.ARMA(fitting_data,order=(p,q),dates=fitting_dates).fit()

我已经将arma模型转换为纯粹的AR模型

ar_params = model.arparams
ma_params = model.maparams

ar_coefficients = arma2ar(ar_params,ma_params,nobs=final_ar_coeff)

nobs参数会影响您将获得的自回归系数的数量.我尝试了几个值,增加它直到观察到预测没有显着变化.一旦你得到你的预测w.r.t.差异系列,你想把它们带回原来的系列.我实现了一种方法,在预测之前给出一个或一组预测和最后一个已知元素,计算原始系列中的预测:

def differenced_series_to_original(values,starting_value):

    original_series = [starting_value]
    [original_series.append(original_series[-1]+i) for i in values]

    return original_series[1:]

显然,值是您的预测列表,starting_value是最后一个已知元素.希望它有助于解决您的问题.

总结

以上是编程之家为你收集整理的Python statsmodels ARIMA预测全部内容,希望文章能够帮你解决Python statsmodels ARIMA预测所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶