r语言 - 具有每日销售额的自动有马 - 单变量时间序列错误



我正在使用从 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

总的来说,我知道每周都有季节性,因此是七天。我知道也有季度的季节性,但我可以下次解决这个问题。

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

问题是您将data.frame声明为错误的时间序列。任何你不需要这样做的方法,只需省略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),您就会明白为什么会出现错误。

最新更新