问题描述
我正在尝试预测呈下降趋势的数据。我知道 Holt 的线性模型可能是更好的方法,但我不确定如何在 R 中实现它。
数据如下:
day saleRep
1 1 1001.104
2 11 1000.944
3 21 1000.734
4 31 1000.642
5 41 1000.517
6 51 1000.468
7 61 1000.425
8 71 1000.377
9 81 1000.286
10 91 1000.306
11 101 1000.285
12 111 1000.170
我正在努力实现一些目标:
- 进行火车测试拆分以创建我可以在测试集上评估的预测模型
- 使用该模型,获取第 250 天和第 500 天 天的预测销售额。
我如何在 R 中实现它?
使用它来重现代码:
day <- seq(1,111,by = 10)
saleRep <- c(1001.104,1000.944,1000.734,1000.642,1000.517,1000.468,1000.425,1000.377,1000.286,1000.306,1000.285,1000.170)
df <- data.frame(day,saleRep)
谢谢。
解决方法
我将使用预测包并逐步进行。加载预测包并生成示例每日时间序列数据
require(forecast)
玩具数据
x <- c(120:1 + rnorm(120,12,3))
将数据转换为 ts 对象
x <- ts(x,frequency = 7,#daily data with no yearly seasonalty
start = 1)
autoplot(x)
拆分训练和测试
train <- window(x,end = c(17,1))
test <- window(x,start = c(17,2))
拟合和预测硬件模型
fc <- forecast::hw(x,h = 7) # h = 7 the lenght of test set
绘制预测
autoplot(fc)