首先请考虑添加一个可重现的例子,以获得更实质性的答案。使用标签R查看最有帮助的问题。
编辑:我觉得这是在创建TS之前想要的东西:
data.agg <- aggregate(data$purchase, by = list(data$date, data$item), FUN = sum)
如果您的数据还没有阶级的“TS”你可以创建一个ts()
命令的时间序列对象。从?ts
页:
ts(data = NA, start = 1, end = numeric(), frequency = 1,
deltat = 1, ts.eps = getOption("ts.eps"), class = , names =)
as.ts(x, ...)
一般来说,你可以使用HoltWinters功能指数平滑,像这样:
data.hw <- HotlWinters(data)
data.predict <- predict(data.hw, n.ahead = x) # for x = units of time ahead you would like to predict
也?HoltWinters
详情参见在功能聚合
重复的例子:
data <- data.frame(date = c(1, 2, 1, 2, 1, 1), item = c('b','b','a','a', 'a', 'a'), purchase = c(5,15, 23, 7, 12, 11))
data.agg <- aggregate(data$purchase, by = list(data$date, data$item), FUN = sum)
HoltWinters的可重复使用示例:
library(AER)
data("UKNonDurables")
nd <- window((log(UKNonDurables)), end = c(1970, 4))
tsp(nd)
hw <- HoltWinters(nd)
pred <- predict(hw, n.ahead = 35)
pred
plot(hw, pred, ylim = range(log(UKNonDurables)))
lines(log(UKNonDurables))
请参阅[mcve]关于如何在SO上提出问题时提供可重现的示例。 –