Пакет «прогноз»: ежедневные данные с недельными частотами приводят к неправильным годовым показателям - PullRequest
0 голосов
/ 07 мая 2019

Я пытаюсь приспособить модели ETS и ARIMA к ежедневным данным о продажах с 2017-01-01 по 2019-03-31

Используя "прогноз" пакета R, я создал объект TS из своегоданные.Здесь я использовал для частоты 7 .К сожалению, это изменило мои обозначения даты, как это видно ниже, так что каждый седьмой период начинается новый «год» вместо сохранения старого формата даты.

Вопрос: Как я могу применить еженедельную сезонность из моих данных и в то же время сохранить желаемую структуру дат в формате «Год-месяц-день» (2017-01-01).

DF <- read_excel("....",
                 col_names = TRUE,
                 col_types = c("date", "numeric", "numeric", 
                               "numeric", "numeric","numeric","numeric"))
TS <- ts(DF[,2:6], , start = c(2017, 1), frequency = 7)
TS_ggseasonplot <- lapply(TS,function(x){ggseasonplot(x, polar=TRUE)})


Старый вывод перед применением тс.

Date       V_1
   <date>       <dbl>
 1 2017-01-01       0
 2 2017-01-02     529
 3 2017-01-03     556
 4 2017-01-04     544
 5 2017-01-05     510
 6 2017-01-06     319
 7 2017-01-07       0
 8 2017-01-08       0
 9 2017-01-09    1296
10 2017-01-10     388

После:

Date         V_1    
2017.000       0      
2017.286     556   
2017.429     544    
2017.571     510    
2017.714     319      
2017.857       0      
2018.000       0      
2018.143    1296    

1 Ответ

0 голосов
/ 15 мая 2019

Это большой недостаток использования объектов ts для прогнозирования и большой мотиватор того, почему мы разрабатываем новые пакеты для работы непосредственно с фреймами данных временных рядов (объектами tsibble).

Для прогнозапакет, вы можете использовать функцию lubridate::date_decimal() пакета lubridate для преобразования десятичной даты обратно в дату.

lubridate::date_decimal(2017.3287671233)
#> [1] "2017-05-01 00:00:00 UTC"

Создано в 2019-05-15 с помощью пакета представить (v0.2.1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...