2017-11-17 2 views
0

Ich arbeite mit einem Datensatz von 2017-01-01 bis 2017-10-27, aber die auto.arima sagt, es kann nur univariate Zeitreihen, trotz dort es sind nur tägliche Daten.Auto.Arima mit Daily Sales - Univariate Zeitreihen Fehler

Was fehlt mir?

Reproduzierbare Beispiel:

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) 

Fehler:

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

Insgesamt, ich weiß, gibt es eine wöchentliche Saisonalität, also die sieben Tage. Ich weiß, dass es auch eine vierteljährliche Saisonalität gibt, aber ich kann das ein anderes Mal angehen.

Insgesamt versuche ich eine Prognose für 2017-12-31 mit einer Arima-Prognose zu bekommen.

Antwort

0

Das Problem ist, dass Sie die data.frame als Zeitreihe falsch deklarieren. Egal, wie Sie brauchen nicht zu tun, so lassen Sie die ts Teil wie folgt aus:

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

nur head(salesTS) und Sie werden sehen, warum Sie den Fehler.