如何在R中使用auto.arima生成带有日期的未来预测?

时间:2019-10-15 13:45:24

标签: r time-series

我想使用auto.arima生成预测,但是我看不到将来的日期。我如何获得有关日期的未来预测。我有每周数据,想生成直到2020年12月的预测

我正在R中使用预测包

fit <- auto.arima(zoo_ts)

fcast <- forecast(fit, h=83)

需要从2019年7月开始的每周预测,日期间隔为一周。我没有提供任何数据。任何人都可以分享如何做到这一点很棒

1 个答案:

答案 0 :(得分:0)

forecast包使用ts个对象,这些对象不太适合每周数据。时间指数以年为单位以数字形式存储。所以2019.5385表示2019年的28周(因为28/52 = 0.5385)。

一种替代方法是使用fabletsibble软件包。这是使用每周数据的示例。

library(tsibble)
library(fable)
library(fpp3) # For the data

# Fit the model
fit <- us_gasoline %>% model(arima = ARIMA(Barrels))
# Produce forecasts
fcast <- forecast(fit, h = 83)
fcast
#> # A fable: 83 x 4 [1W]
#> # Key:     .model [1]
#>    .model     Week Barrels .distribution
#>    <chr>    <week>   <dbl> <dist>       
#>  1 arima  2017 W04    8.30 N(8.3, 0.072)
#>  2 arima  2017 W05    8.44 N(8.4, 0.077)
#>  3 arima  2017 W06    8.53 N(8.5, 0.082)
#>  4 arima  2017 W07    8.59 N(8.6, 0.086)
#>  5 arima  2017 W08    8.48 N(8.5, 0.091)
#>  6 arima  2017 W09    8.49 N(8.5, 0.096)
#>  7 arima  2017 W10    8.61 N(8.6, 0.101)
#>  8 arima  2017 W11    8.52 N(8.5, 0.106)
#>  9 arima  2017 W12    8.58 N(8.6, 0.111)
#> 10 arima  2017 W13    8.47 N(8.5, 0.115)
#> # … with 73 more rows

时间索引在这里以周为单位存储。可以使用as.Date将其转换为日期:

# Convert weekly index to a date
fcast %>% mutate(date = as.Date(Week))
#> # A fable: 83 x 5 [1W]
#> # Key:     .model [1]
#>    .model     Week Barrels .distribution date      
#>    <chr>    <week>   <dbl> <dist>        <date>    
#>  1 arima  2017 W04    8.30 N(8.3, 0.072) 2017-01-23
#>  2 arima  2017 W05    8.44 N(8.4, 0.077) 2017-01-30
#>  3 arima  2017 W06    8.53 N(8.5, 0.082) 2017-02-06
#>  4 arima  2017 W07    8.59 N(8.6, 0.086) 2017-02-13
#>  5 arima  2017 W08    8.48 N(8.5, 0.091) 2017-02-20
#>  6 arima  2017 W09    8.49 N(8.5, 0.096) 2017-02-27
#>  7 arima  2017 W10    8.61 N(8.6, 0.101) 2017-03-06
#>  8 arima  2017 W11    8.52 N(8.5, 0.106) 2017-03-13
#>  9 arima  2017 W12    8.58 N(8.6, 0.111) 2017-03-20
#> 10 arima  2017 W13    8.47 N(8.5, 0.115) 2017-03-27
#> # … with 73 more rows

reprex package(v0.3.0)于2019-10-16创建