Я хочу прогнозировать количество покупателей, заходящих в магазин в рабочее время. У меня есть почасовые данные для
- с понедельника по пятницу
- 8: 00–18: 00
Таким образом, я предполагаю, что мои временные ряды на самом деле регулярны , но нетипично в некотором смысле, поскольку у меня есть 10 часов в день и 5 дней в неделю .
Я могу заниматься моделированием с этим обычным 24/7 Временные ряды, устанавливая часы без обслуживания в ноль, но я считаю это неэффективным и также неправильным, потому что время не пропущено. Скорее, они не существуют.
Используя старую ts
-рамку, я смог явно указать
myTS <- ts(x, frequency = 10)
Однако в новой tsibble/fable
-рамке это невозможно , Он обнаруживает почасовые данные и ожидает 24 часа в сутки, а не 10. Каждая последующая функция напоминает мне о неявных промежутках во времени. Ручное переопределение атрибута interval
работает:
> attr(ts, "interval") <- new_interval(hour = 10)
> has_gaps(ts)
# A tibble: 1 x 1
.gaps
<lgl>
1 FALSE
, но не влияет на моделирование:
model(ts,
snaive = SNAIVE(customers ~ lag("week")))
Я все еще получаю то же сообщение об ошибке:
* Ошибка 1031 * 1 для snaive [1] .data содержит неявные промежутки во времени. Вы должны проверить свои данные и преобразовать неявные пропуски в явные пропущенные значения, используя tsibble::fill_gaps()
, если требуется.
Любая помощь будет принята.