0

我正在使用从 2017-01-01 到 2017-10-27 的数据集,但是auto.arima,尽管只有每日数据,但它表示它只能处理单变量时间序列。

我错过了什么?

可重现的例子:

set.seed(25)
datelist<-seq(as.Date("2016-01-01"),as.Date("2017-10-27"),by="day")
salesvals<-round(abs(rnorm(length(datelist)))*1000,digits=2)
salestbl<-data.frame(datelist,salesvals)

salesTS<-ts(salestbl,
            start=c(2016,as.numeric(format(salestbl$datelist, "%j"))),
            frequency=7)
fit <- auto.arima(salesTS)

错误:

Error in auto.arima(salesTS) : auto.arima can only handle univariate time series

总的来说,我知道有一个每周的季节性,因此是 7 天。我知道还有一个季度性的季节性,但我可以再解决一次。

总的来说,我正在尝试2017-12-31使用 arima 预测来获得 的预测。

4

1 回答 1

0

问题是您将data.frameas 时间序列声明为错误的。任何你不需要这样做的方式只是省略这样的ts部分:

set.seed(25)
datelist<-seq(as.Date("2016-01-01"),as.Date("2017-10-27"),by="day")
salesvals<-round(abs(rnorm(length(datelist)))*1000,digits=2)
salestbl<-data.frame(datelist,salesvals)

fit <- auto.arima(salestbl[,2])

只是head(salesTS),你会明白为什么你会得到错误。

于 2017-11-17T16:58:54.960 回答