我试图根据前几年同一天的业务量(3-5 年的数据)预测餐厅在用餐期间可能服务的客人数量,最近一周同一天的趋势(6-8 周),以及前 21 天与去年相比的每日趋势。例如,我想使用过去 3-5 年中每个相同的星期三以及 11 点之前的 6-8 个星期三的数据来预测我可能在 2017 年 11 月 15 日星期三提供的午餐数量/15/17,以及 2017 年 11 月 15 日之前的 21 天中的每一天与去年相比的每日趋势。理想情况下,我希望 a 返回显示低端、高端和最有可能的结果。我不是统计学家,只是一名试图从人员配备和订购中消除一些猜测的餐厅经理。
根据当前和历史数据预测客人数量的简单方法
有一些简单的方法可以使用,但它们可能大错特错,因为每天的数据提供了大量的机会。简单地敲击每日平均值既简单又无用,但我想如果没有分析,它可能比整体平均值更好。绝对 LAST 方法是使用整体均值。模型需要尽可能简单,但不要太简单。
正如@Frans 很好地总结的那样,您的问题/机会是一个复杂但非常有益的问题。除了提到的一些项目之外,每个假期都会产生单独的领先和滞后效应,以及可能的水平变化和每周影响的变化,当然还有如何识别和处理异常。也有可能的周=月效应和月日效应等。识别结构是问题,甚至可能结合定价和广告效果。
看看http://autobox.com/cms/index.php/afs-university/intro-to-forecasting/doc_download/53-capabilities-presentation特别是幻灯片 50-。我一直在与快餐连锁店合作,甚至将预测时间降低到 15 分钟的间隔,并会尝试给你一些指导。如果您发布您的数据并指定国家和开始日期,我会尽力提供进一步的帮助。最好您可以发布 3 年的每日数据,因为可能需要确定季节性和假日影响。
就能够快速提出预测而言,这是通过存储和更新模型来处理的,然后使用已存档的模型进行快速预测。预测区间应该通过蒙特卡罗来接近,以提供对未来值范围的可靠估计。
你有一个复杂的问题,并且有很多糟糕的简单解决方案可能不够但便宜。如果这很重要,那么也许您需要加强可行且负担得起的解决方案。
收到数据后进行编辑:
收到您的数据后,我任意获取了 LUNCH 系列(您提供了 LUNCH 和 DINNER 数据)并在一些缺失的日子里插入了 0.0,获得了 1454 个每日值.. 开始日期 2013 年 1 月 1 日结束 2016 年 12 月 24 日和将数据介绍给 AUTOBOX,要求提供 14 天的预测。
这是 14 天(任意选择)的预测
。原始数据的 acf 显示出显着的记忆结构,这当然是假设没有特殊原因
,而最终模型残差的 acf 显示残差中没有剩余的随机结构
。由于样本量很大,我们使用 acf 的非常近似的标准偏差(1/sqrt(观察次数)得到“错误结论”。最终模型的残差图支持随机性结论或至少表明模型的建议无法拒绝
如何评估时间序列的确定性与随机性成分?讨论了通过搜索过程发现的随机(arima/记忆)结构和事件/固定效应集成的优势,最终形成一个整体模型。
餐厅活动是我们如何以可预测的节奏做事的典型例子。尽管受到假期和其他特殊事件的影响很大,但到达餐厅的人数遵循一周中的某一天和每月的模式。总结该模型包含 6 种类型的因素/特征,将观察到的系列分为信号(可预测)和噪声(随机)。这 6 个特征是 1)基线;2) 星期几;3) 一年中的月份;4) 节前、当代和节后效果;5)通过干预检测发现的确定性效应;6)内存(以前的值)。
详述6个特点。首先是基线……本质上是在引入确定的影响之前的预期。
现在是星期几
现在是一年中的月份
现在是假期
现在已确定的外生确定性/未归因效应(部分列表)
最后是先前观察的影响,即反映模型中省略的未指定变量的记忆。这是记忆的条件效应给定的确定性(可分配原因)结构
每个假期前后的响应窗口使用后移运算符 B 呈现; https://en.wikipedia.org/wiki/Lag_operator
这不是一项简单的任务,因为有很多方法可以解决这个问题,以及需要考虑的事项。我不会提出一个模型,而是给你一些一般性的建议。
你所描述的是一个时间序列,预测未来的客人数量是一个预测问题。例如,可以使用混合模型对时间序列进行建模,将日期建模为随机效应,因为它们在数据集中多次出现。
您可能要考虑的第一件事是:
- 在过去的几年里,客人的平均数量是保持不变还是有所增加/减少?这决定了时间序列是否平稳。
- 是否有任何特殊的日子需要考虑,例如国定假日?在回归模型中,这些可以作为虚拟变量包含在内。
- 还有哪些其他因素可能会影响某一天的客人数量?当然,每天或每周的菜单可能会产生影响,或者根据季节的不同,客人的数量可能会有所不同。
一旦您想决定模型,其他一些可能会有所帮助的事情:
Excel 在统计分析方面非常有限。考虑使用 R 或 Python,它们都是免费程序。在 R 中,有一个包含
forecast大量有用模型的包,正是为了预测时间序列。如果您使用回归模型,请考虑客人数量是计数数据。独立计数是泊松分布的,但由于会有回头客、其他客人的推荐、每日菜单的变化以及许多其他(可能未知)影响客人数量的因素,您可能需要考虑一个可以对这些额外因素进行建模的分布通过使用例如负二项分布的方差来源(过度分散)。
您提到要报告具有下限和上限的预期客人数量。对于给定的不确定性,预测区间可以为您提供这个下限和上限。预期值取决于您打算使用的分布。
我想餐厅不会等你完成这个分析,所以我还应该注意,对于初学者来说,简单地使用平均客人数量可能会很好,特别是考虑到计算它的时间投入。您甚至可以在 Excel 中执行此操作。
最后,搜索与您相关的问题。这个网站上有很多关于时间序列的好问题。







