【问题标题】:Auto.Arima with Daily Sales - Univariate Time Series ErrorAuto.Arima 与每日销售 - 单变量时间序列错误
【发布时间】:2017-11-17 15:44:23
【问题描述】:

我正在处理从 2017 年 1 月 1 日到 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 天。我知道还有一个季度性的季节性,但我可以再解决一次。

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

【问题讨论】:

    标签: r arima


    【解决方案1】:

    问题是您将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),您就会明白为什么会出现错误。

    【讨论】:

      猜你喜欢
      • 2021-09-20
      • 2016-07-03
      • 2018-07-24
      • 1970-01-01
      • 2017-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多