使用ARMAX(0,2)模型进行预测,无论传递的是外生变量数组,都会产生相同的结果

2024-05-29 07:06:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用statsmodels ARMA功能来生成一个预测,使用一个带有1个外生变量的ARMAX(0,2)模型,得到了违反直觉的结果。在

不管在预测函数中传递给exog的外生变量(例如arma_资源预测(steps=5,exog=f_exog)),则返回除最后一个元素外的相同预测数组。在

例如:

arparams = np.array([0])
maparams = np.array([.65, .35])

arparams = np.r_[1, -arparams]
maparam = np.r_[1, maparams]
nobs = 250
y = arma_generate_sample(arparams, maparams, nobs)

exog = np.random.normal(size=nobs)

arma_mod = sm.tsa.ARMA(y, order=(0, 2), exog=exog)
arma_res = arma_mod.fit(trend='nc', disp=-1)

# Exogenous vars for forecasts
f_exog = [10, 10, 10, 10, 10]
f_exog_2 = [x * 5 for x in f_exog]

forecast_1 = arma_res.forecast(steps=5, exog=f_exog)[0]
forecast_2 = arma_res.forecast(steps=5, exog=f_exog_2)[0]

预测:

^{pr2}$

这里有一个笔记本,上面有这个设置:https://github.com/dbrodSq/ARMA_Test/blob/master/Statsmodels_forecast_example.ipynb

无论“steps”参数如何,上述模式都有效。有人知道为什么吗?在

我相信多个时期的ARMAX预测是可能的,我不相信只要k峎ar出现类似的问题!=0(即至少有一个AR参数)。在

抱歉,如果我错过了一些明显的东西,非常感谢你的帮助。在


Tags: modfor参数npresstepsarrayforecast

热门问题