gpt4 book ai didi

r - 如何使用 tsibble 和 fable 指定服务时间的间隔或频率?

转载 作者:行者123 更新时间:2023-12-02 13:59:16 25 4
gpt4 key购买 nike

我想预测在服务时间内进入商店的顾客数量。我有每小时的数据

  • 周一至周五
  • 8:00 至 18:00

因此,我认为我的时间序列实际上是有规律的,但在某种意义上是非典型的,因为我每天 10 小时每周 5 天。 p>

我可以通过将非服务时间设置为零来对这个常规的 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")))

我仍然收到相同的错误消息:

1 error encountered for snaive [1] .data contains implicit gaps in time. You should check your data and convert implicit gaps into explicit missing values using tsibble::fill_gaps() if required.

如有任何帮助,我们将不胜感激。

最佳答案

这个问题实际上对应的是this gh issue 。据我所知,没有 R 包允许用户构建自定义计划,例如指定某些日内和日期。有几个软件包提供了一些特定的日历(例如营业日期),但没有一个提供设置日内的解决方案。当此类包可用时,Tsibble 将获得自定义日历的 calendar 参数,以尊重结构缺失。但目前不支持这一点。

正如您所说,这是每小时数据。因此数据间隔应为 1 小时,而不是 10 小时。但是,ts() 频率 是季节性周期,每天 10 小时,用于建模。

关于r - 如何使用 tsibble 和 fable 指定服务时间的间隔或频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60597646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com