概述
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预测所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧