首页 > 解决方案 > R中线性回归中未来预测的滞后变量

问题描述

我有一个时间序列月度数据以及一些派生变量(从日期开始),我们可以从下面的R 语言代码中创建我的数据框。

Date = seq(as.Date("2018-06-01"), as.Date("2019-05-01"), by="months")
AMOUNT = c(1300,1023,3310,4120,4434,8700,355,453,590,880,1200,1811)
df = cbind.data.frame(Date,AMOUNT)
df$Seasonal = rep(1:12)
df$Month = lubridate::month(df$Date)
df$Lag1 = data.table::shift(df$AMOUNT,1L,fill = df$AMOUNT[1],type = "lag")
df$Lag2 = data.table::shift(df$Lag1,1L,fill = df$AMOUNT[1],type = "lag") 

创建的示例数据框的前几行: 在此处输入图像描述

现在,我创建一个这样的线性回归模型:

model_LR = lm(AMOUNT ~ Seasonal+Month+Lag1+Lag2,data=df)

我创建了用于预测未来数量的数据:

Date = seq(as.Date("2019-06-01"), as.Date("2019-10-01"), by="months")
Seasonal = rep(1:5)
future_df = cbind.data.frame(Date,Seasonal)
future_df$Month = lubridate::month(future_df$Date) 

如何获取 future_df 的滞后值,以便我可以使用“model_LR”对象进行未来预测?我可以从 2019-05 和 2019-04 数据中获取 2019-06 预测的值作为滞后值,但是如何在预测 2019-07 和接下来的几个月时将此预测值作为滞后值包含在内?

标签: rtime-seriesregression

解决方案


推荐阅读