我有一个每月的时间序列数据以及一些衍生变量(从日期开始),我的数据框可以由以下代码以 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)
然后我创建用于预测未来AMOUNT的数据:
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和接下来的几个月时将此预测值包括为滞后值?