基于线性模型的R时间序列预测

基于线性模型的R时间序列预测,r,R,我有一个XTS数据框架,我试图将一个线性模型拟合到一组未来日期。我已经将数据帧分为过去和现在(出于其他原因),并将线性模型拟合如下 lin_mod <- lm(PastExchg ~ Time, data = BackDF) 我怀疑这可能与Time列是日期格式有关。或者,Time列是不规则的。我怎样才能解决这个问题 ForwDF看起来像 PLN Time 2004-06-28 4.5331 2004-06-28 2004-06-29 4.5270

我有一个XTS数据框架,我试图将一个线性模型拟合到一组未来日期。我已经将数据帧分为过去和现在(出于其他原因),并将线性模型拟合如下

lin_mod <- lm(PastExchg ~ Time, data = BackDF)
我怀疑这可能与
Time
列是日期格式有关。或者,
Time
列是不规则的。我怎样才能解决这个问题

ForwDF看起来像

              PLN       Time
2004-06-28 4.5331 2004-06-28
2004-06-29 4.5270 2004-06-29
2004-06-30 4.5025 2004-06-30
2004-07-01 4.5155 2004-07-01
2004-07-02 4.5258 2004-07-02
2004-07-05 4.5304 2004-07-05
2004-07-06 4.5138 2004-07-06
2004-07-07 4.5330 2004-07-07
PLN
是该列的真实值(稍后我将比较
pred
中的预测值,一旦我能得到它们!!)。

试试这个:

ForwDF$pred <- predict(lin_mod, newdata= data.frame(Time = ForwDF$Time))
ForwDF$pred此功能:

# Create similar data
Time <- sort(sample(seq(Sys.Date(), Sys.Date() - 200, length.out = 200))[1:100])
df <- data.frame(y = rnorm(100), Time = Time)

# Linear regression and prediction
lin_mod <- lm(y ~ Time, data = df)
df$pred <- predict(lin_mod, newdata=list(Time = df$Time)
#创建类似的数据

时间预测需要一个数据帧,你给了它一个向量。当您传递数据帧时,predict将根据指定的方式找到正确的变量。这就是为什么埃利亚斯的答案应该有效。
# Create similar data
Time <- sort(sample(seq(Sys.Date(), Sys.Date() - 200, length.out = 200))[1:100])
df <- data.frame(y = rnorm(100), Time = Time)

# Linear regression and prediction
lin_mod <- lm(y ~ Time, data = df)
df$pred <- predict(lin_mod, newdata=list(Time = df$Time)