如果不清楚的话,抱歉,在标题上有问题。
基本上,我有一个预测销售额的线性模型,其中一个因素是前10天的销售额。因此,当预测下个月时,我需要一个 "前10天的销售额 "在这个月的每一天的估计数字。
我想用模型来生成这些数字--所以,对于我试图预测的第一天,我有过去10天销售的实际数字。对于之后的一天,我有9天的真实数据,加上生成的一个预测数字。之后的一天,有8天的真实数据,加上生成的两个,等等。
不太清楚如何实现,希望能得到帮助。非常感谢。
首先想到的是使用预测数据的移动平均线。这变得很难辩护,虽然一旦你只预测数据的平均值,但它的地方开始。
moving.average = 0
test.dat = rnorm(100, 10,2)
for(i in 1:30){
moving.average[i] = mean(test.dat[i:i+10])
}
希望这对你有帮助
凯西,把你的前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