我正在使用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
。
答案 0 :(得分:0)
问题在于您宣布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)
,您就会明白为什么会收到错误。