如何在R中使用简单的指数平滑?


9

我是R的初学者,能否请您解释一下如何在R Forecast的预测包中使用ses ?我想选择初始周期数和平滑常数。

d <- c(3,4,41,10,9,86,56,20,18,36,24,59,82,51,31,29,13,7,26,19,20,103,141,145,24,99,40,51,72,58,94,78,11,15,17,53,44,34,12,15,32,14,15,26,75,110,56,43,19,17,33,26,40,42,18,24,69,18,18,25,86,106,104,35,43,12,4,20,16,8)

我有70个周期,我想将40个周期用于初始样本,将30个周期用于样本外。

ses(d, h=30, level=c(80,95), fan=FALSE,initial=c("simple"), alpha=.1)

这是对的吗?


我假设你指的是在预测包功能-如果这是不正确,请说明具体的打包功能位于英寸
安迪W¯¯

天气预报中包含的Yst
Roji 2012年

有几个例子在这里:otexts.org/fpp/7/1
马贝尔

Answers:


15

这样做:

ses(d[1:40], h=30, alpha=0.1, initial="simple")

与:

  • h 是预测的周期数。
  • alpha 是电平平滑参数。
  • initial 是选择初始状态值的方法

(请参阅?ses。)


sesets功能有什么区别?有没有更好的选择?
MysteryGuy

3

您还可以使用HoltWinters函数,该函数可在基础R中使用:

mod1 <- HoltWinters(d[1:40], alpha=0.1, beta=FALSE, gamma=FALSE)

要获取接下来30个周期的预测,请使用

predict(mod1, n.ahead=30)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.