12

我有一个从 2012-05-15-0700 到 2013-05-17-1800 的事件的每小时快照。如何在此数据上创建时间序列并对其执行 HoltWinters?

我尝试了以下

EventData<-ts(Eventmatrix$X20030,start=c(2012,5,15),frequency=8000) 
HoltWinters(EventData)

但是我在 decompose(ts(x[1L:wind], start = start(x), frequency = f),seasonal) 中遇到错误:时间序列没有或少于 2 个周期

我应该从频率中输入什么值?

4

2 回答 2

18

我认为您应该考虑使用etsfrom the packageforecast来执行指数平滑。阅读这篇文章以比较HoltWintersets

require(xts)
require(forecast)

time_index <- seq(from = as.POSIXct("2012-05-15 07:00"), 
                  to = as.POSIXct("2012-05-17 18:00"), by = "hour")
set.seed(1)
value <- rnorm(n = length(time_index))

eventdata <- xts(value, order.by = time_index)
ets(eventdata)

现在,如果您想了解更多有关ets此函数的帮助和 Rob Hyndman 的在线书籍(第 7 章第 6 节)的语法的信息

于 2013-06-17T20:37:50.650 回答
2

请看下面的帖子,它可能会回答这个问题:

分解 xts 每小时时间序列

它解释了如何使用 POSIXct 对象创建 xts 对象。这个 xts 对象可以手动设置它的频率属性,然后您可能就可以使用 HoltWinters

于 2015-07-23T12:09:26.950 回答