霍尔特·温特斯的每周交易量和 R 中的错误



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

这就是我现在要做的:

volumen<-read.csv(file.choose(), header = TRUE, sep = ";")
lines(volumen[,6])
HoltWinters(volumen)

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

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

对于预测,我有以下代码,但是它似乎不适用于以前的错误:

lines(predict(volumen.hw,n.ahead=12),col=2)

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

很难

100%确定,但是

HoltWinters(lynx) 生成与您获得的消息相同的消息,但 HoltWinters(lynx, gamma = FALSE)

生成

霍尔特-温特斯指数平滑与趋势和无季节性 元件。

呼叫: 霍尔特温特斯(x = 猞猁, 伽马 = 假(

平滑参数:
阿尔法:1
测试版 : 0
伽玛:假

系数: [,1] A 3396 乙 52

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

首先,

如果你把你的数据放在这里(如果它不是私有的(,那就太好了。

其次,据

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

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

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)

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

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")

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

相关内容

  • 没有找到相关文章

最新更新