Как генерировать будущие прогнозы с датами, используя auto.arima в R? - PullRequest
0 голосов
/ 15 октября 2019

Я хотел бы генерировать прогнозы, используя auto.arima, но не вижу будущих дат. Как я могу получить будущие прогнозы с датой. У меня еженедельные данные, я хочу создавать прогнозы до декабря 2020 года

Я использую пакет прогнозов в R

fit <- auto.arima(zoo_ts)

fcast <- forecast(fit, h=83)

Нужен еженедельный прогноз с июля 2019 года с датами, имеющими недельный интервал. Я не предоставляю никаких данных. Может кто-нибудь поделится, как это будет здорово

1 Ответ

0 голосов
/ 16 октября 2019

Пакет forecast использует ts объекты, которые не подходят для еженедельных данных. Индекс времени хранится в числовом выражении в годах. Таким образом, 2019,5385 означает 28-ю неделю 2019 года (как 28/52 = 0,5385).

Альтернативой является использование пакетов fable и tsibble. Вот пример использования еженедельных данных.

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

Создано в 2019-10-16 гг. представительным пакетом (v0.3.0)

...