我想预测在服务时间内进入商店的顾客数量。我有每小时的数据
- 星期一到星期五
- 8:00 至 18:00
因此,我假设我的时间序列实际上是有规律的,但在某种意义上是非典型的,因为我每天有10 小时,每周有 5 天。
我可以通过将非服务时间设置为零来使用这个常规的 24/7 时间序列进行建模,但我发现这效率低下而且也不正确,因为时间并没有丢失。相反,它们不存在。
使用旧的ts
-framework 我能够明确指定
myTS <- ts(x, frequency = 10)
但是,在新的tsibble/fable
框架内这是不可能的。它检测每小时数据,预计每天 24 小时,而不是 10 小时。每个后续功能都让我想起了隐含的时间间隔。手动覆盖interval
-Attribute 有效:
> 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")))
我仍然收到相同的错误消息:
snaive [1] 遇到 1 个错误。数据包含隐含的时间间隔。如果需要,您应该检查您的数据并将隐式间隙转换为显式缺失值
tsibble::fill_gaps()
。
任何帮助,将不胜感激。