我有一个多变量和多时间步长的预测问题。基本上,我有一个预测的目标y,作为一个时间序列。还有几个外生变量x,它们也是时间序列数据。
我希望用这4天的滞后性来预测y的未来价值,所以基本上如下所示。请注意,我也希望使用x(t)数据进行预测。
y(t)=f(y(t-4), y(t-3), y(t-2), y(t_1), x(t-4), x(t-3), x(t-2), x(t-1), x(t))但是它看起来像状态模型中的瓦尔马克斯模型只考虑x的一个时间步长吗?
此外,当x可用时,如何预测y的多步?我想我应该把x当作一个外生变量。
发布于 2021-07-17 16:14:38
order = (4,0)。exog=参数。设x是包含所有外生变量的熊猫数据框架。
我们可以使用下面的代码创建将传递给x_lag参数的exog=数据帧:
x_list = []
for q in range(5):
x_lagged = x.shift(q).bfill()
x_list.append(x_lagged)
x_lag = pd.concat(x_list,axis=1)最后,您可以按照以下方式进行拟合和预测:
model = VARMAX(y, order=(4,0), exog=x_lag)
model_fit = model.fit()
# Suppose you have some later observations of the exogenous variables: x_lag_pred
# and you want to forecast 10 steps ahead.
model_fit.forecast(steps=10, exog=x_lag_pred.iloc[:10,:])https://stackoverflow.com/questions/68331733
复制相似问题