首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Holt Winters For Weekly Volume And Errors In R

Holt Winters For Weekly Volume And Errors In R
EN

Stack Overflow用户
提问于 2018-04-09 02:34:53
回答 3查看 1K关注 0票数 0

我正在尝试使用Holt Winters和预测函数来预测过去10年的股指周成交量,但我仍然收到错误。你能帮帮我吗?

这就是我现在想要做的:

代码语言:javascript
复制
volumen<-read.csv(file.choose(), header = TRUE, sep = ";")
lines(volumen[,6])
HoltWinters(volumen)

这是我在第三行得到的错误:

代码语言:javascript
复制
Error in decompose(ts(x[1L:wind], start = start(x), frequency = f), seasonal) :
  the time series has no periods or has less than 2

对于预测,我有下面的代码,但是它似乎不能与之前的错误一起工作:

代码语言:javascript
复制
lines(predict(volumen.hw,n.ahead=12),col=2)

R Studio中的数据看起来是正确的。我决定使用file.choose()来使这段代码更通用。我使用的是*.csv文件。有人可以指导我或建议代码应该是什么样子,以应用霍尔特和温特斯方法和预测?

EN

回答 3

Stack Overflow用户

发布于 2018-04-10 07:35:26

很难100%确定,但是

代码语言:javascript
复制
`HoltWinters(lynx)`  generates the same message as you are gettin,g but       `HoltWinters(lynx, gamma = FALSE)` 

生成

Holt-Winters指数平滑,有趋势,没有季节成分。

调用: HoltWinters(x = lynx,gamma = FALSE)

平滑参数:

alpha: 1

测试版:0

gamma: FALSE

系数:,1 a 3396 b 52

这是我在阅读HoltWinters文档中的示例时学到的。

票数 0
EN

Stack Overflow用户

发布于 2018-04-12 17:46:02

首先,如果你把你的数据放在这里会很好(如果它不是私有的)。

其次,据我所知,您只能对向量或时间序列使用HoltWinters()或预测包中的任何其他方法,因此加载整个数据集(卷)而不指定行可能会导致问题。

最后,我建议您尝试将HW转换为包含您要研究的数据的辅助向量,并指定时间序列的频率:

代码语言:javascript
复制
aux_train<-as.ts(volumen$variable, start=1, end=0.9*nrow(volume),  freq="yourfrecuency")
prediction<-forecast(aux_train, h="number of forecast", method="hw")
accuracy(prediction, volumen$value)
票数 0
EN

Stack Overflow用户

发布于 2018-04-14 04:48:38

我终于赢得了这场战斗--我删除了我的代码,从头开始。这就是我带来的东西:

代码语言:javascript
复制
dane2<-read.csv2(file.choose(), header = TRUE, sep = ";", dec=",")
dane2 <-ts(dane2[,5], start=c(2008,1),frequency=52)
past <- window(dane2, end = 2017)
future <- window(dane2, start = 2017)
model <- HoltWinters(past, seasonal = "additive") 
model2 <- HoltWinters(past, seasonal = "multiplicative") 
pred <- predict(model, n.ahead = 52)
pred2 <- predict(model2, n.ahead = 52)
dane2.hw<-HoltWinters(dane2)
predict(dane2.hw,n.ahead=52)
par(mfrow = c(2,1)) 
plot(model, predicted.values = pred)
lines(future, col="blue")
plot(model2, predicted.values = pred2)
lines(future, col="blue")

现在它可以工作了,所以谢谢你的回答。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49721363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档