R Studio - 如何预测 row-by-row 并在下一个中使用先前的预测 - 线性模型

R Studio - How to predict row-by-row and use previous prediction in next one - linear model

很抱歉,如果这不清楚,给它起标题时遇到了麻烦。

基本上我有一个预测销售额的线性模型,其中一个因素是前 10 天的销售额。因此,在预测下个月时,我需要估计该月每一天的 "previous 10 days of sales" 数。

我想使用该模型生成这些数字 - 因此,在我尝试预测的第一天,我有过去 10 天销售的实际数字。在那之后的一天,我有 9 天的真实数据,加上生成的一个预测数字。之后的一天,8天的真实数据和2天的生成数据,等等

不太确定如何实施,希望得到任何帮助。非常感谢。

首先想到的是使用预测数据的移动平均线。虽然一旦您仅对预测数据进行平均,但这是一个开始的地方。

moving.average = 0

test.dat = rnorm(100, 10,2)

for(i in 1:30){
  moving.average[i] = mean(test.dat[i:i+10])
}

希望对您有所帮助

Kathy,从...获取您的前 10 个数据点。用它来做你的预测。

initialization <- c(9.463, 9.704, 10.475, 8.076, 8.221, 8.509, 
            10.083, 9.572, 8.447, 10.081)

prediction = initialization

这是一个使用最后 10 个值的愚蠢预测函数:

predFn <- function(vec10){
  stopifnot(length(vec10) == 10)
  round(mean(vec10) + 1 , 3)
}

虽然我平时喜欢用map家族,但是这个好像是要loop

for(i in 11:20){
  lo = i - 10
  hi = i - 1
  prediction[i] <- predFn(prediction[lo:hi])
}

我们得到了什么?

prediction
#  [1]  9.463  9.704 10.475  8.076  8.221  8.509 10.083  9.572  8.447 10.081 10.263 10.343 10.407 10.400 10.633 10.874 11.110 11.213
# [19] 11.377 11.670