使用 Holt 的线性模型在 R 中进行预测

问题描述

我正在尝试预测呈下降趋势的数据。我知道 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

绘制它给出:

enter image description here

我正在努力实现一些目标:

  1. 进行火车测试拆分以创建我可以在测试集上评估的预测模型
  2. 使用该模型,获取第 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)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...