12、统计预测与机器学习:需求预测的有效方法

统计预测与机器学习:需求预测的有效方法

1. 引入需求驱动因素的挑战

在预测过程中引入各种需求驱动因素是个有吸引力的想法,但也面临诸多挑战:
- 数据收集问题 :在考虑是否将需求驱动因素纳入预测时,首先要问自己是否有所需的数据。许多供应链企业,尤其是制造商,仍属于小数据公司,关键数据常存于 Excel 文件中。需要权衡投资数据收集和清理的利弊,以及这些额外数据能带来的额外预测洞察和准确性。
- 非线性效应 :大多数模型基于线性回归构建,隐含地假设需求与需求驱动因素之间存在直接的线性关系。但实际数据并非如此。以冰淇淋与温度的关系为例,天气越热,冰淇淋销量通常越高,但不能过度推断。即使外面很冷,需求也不会降至零;而天气太热时,人们可能不愿出门购物,且一天内吃冰淇淋的量也有限。
- 驱动因素间的交叉效应 :需要考虑广泛的需求驱动因素,以了解它们如何影响需求以及彼此之间的相互作用。例如,天气变暖通常意味着周末会有更多烧烤活动,但这种关系并非简单直接。季节里的第一次烧烤可能在相对寒冷的天气下举行,而人们会避免在寒冷的夏夜组织烧烤,因为他们知道下周末天气会更好。在预测需求时,应同时考虑本周末和下周末的温度,这两个温度会对当前需求产生交叉影响。
- 滞后效应 :一些驱动因素具有分散的滞后效应,营销和广告就是典型例子。今天看到广告,可能两周后才购买。将这些驱动因素纳入预测模型极具挑战性。

2. 时间序列预测与预测分析的比较

时间序列预测和预测分析各有优缺点,以下是两者的对比:
| 模型 | 复杂性 | 情景规划 | 数据 |
| — | — | — | — |
| 时间序列预测 | 易于设置 | 否 | 有限 |
| 预测分析 | 需要高级分析 | 是 | 难以收集 |

没有一种模型能在所有情况下都表现最佳。建议采用以下方法选择合适的模型:
1. 评估数据可用性 :若底层数据不可用或质量很差,讨论使用高级分析的预测模型就毫无意义。
2. 尝试不同技术 :尝试不同的方法(使用各种模型和输入),以了解其准确性。把所有鸡蛋放在一个篮子里是有风险的,因为很难提前评估新模型的预期准确性。要将新模型与基准、当前流程和当前预测引擎进行比较。
3. 选择或组合 :如果某个模型在准确性方面明显胜出,只保留该模型可能更好且更简单;如果多个模型的准确性相近,可以将它们的预测结果平均成一个最终预测。这种方法通常能提高准确性,但会使模型更复杂,可能让用户感到困惑。

3. 选择模型的框架

3.1 5 步框架

  • 确定目标 :在开展任何预测改进计划(如创建新模型)之前,必须明确需要预测的内容。需求预测的目标不是追求准确性,而是帮助供应链做出正确决策。要确保在正确的聚合级别和适当的时间范围内进行需求预测。例如,许多公司按市场和月份预测需求,但实际按周从工厂向全球仓库部署库存,这种情况下,按仓库和周直接预测需求更有意义。
  • 数据收集 :糟糕的数据会打败优秀的模型。首先要预测需求而非销售,收集需求数据可能是一个困难的开始,需要一个有动力的团队花费时间收集相关数据。除了需求数据,还可以收集需求驱动因素的数据,但获取某些驱动因素的数据可能需要数月时间且工作强度大。可以先使用现有数据尝试模型,之后再用更多数据进行改进。同时,要注意从数据提供商购买的外部数据可能昂贵且不一致,其获取和清理过程也不透明,应尽量避免。
  • 模型与流程指标 :目标明确后,要选择合适的指标来定义成功。为简化操作,可以使用相同的指标评估预测模型的质量和监控整体预测过程。但实际上,可能需要选择一组简单的关键绩效指标(KPI)来评估流程质量,选择更复杂的 KPI 来评估模型。通常,跟踪偏差和平均绝对误差(MAE)能在商业价值和复杂性之间取得较好的平衡。如果供应链销售的产品价格范围广泛,应使用价值加权指标来考虑商业价值。许多预测项目失败是因为高级管理层用于评估预测质量的指标与商业价值不一致,很多供应链和软件供应商仍在使用过时的预测指标,所以在确保跟踪正确的指标之前,进行预测改进是没有意义的。

3.2 4 步模型创建框架

创建模型包括以下四个步骤:

graph LR
    A[(Visual) Data Analysis] --> B[Model Selection]
    B --> C[Model Fitting]
    C --> D[Error Analysis]
    D --> A
  • (可视化)数据分析 :在创建新模型之前,必须调查需求数据和驱动因素。一种简单的方法是将需求与需求驱动因素绘制成图表,寻找趋势、季节性、不同产品/地区的相似性、假期、促销、价格变化或任何奇怪的模式。
  • 模型选择 :选择能够捕捉第一步中确定的关系的模型。一些高级统计模型可以同时捕捉需求水平、趋势、季节性以及需求驱动因素的影响。机器学习模型通常更擅长捕捉多种复杂关系。
  • 模型拟合 :选择模型并明确目标后,将模型拟合到数据集上。这意味着让优化引擎找到最适合历史需求模式的参数集。对于时间序列模型,需要评估模型对趋势或季节性变化的反应程度;对于更高级的模型,如神经网络,数据科学家会使用高级训练算法来优化隐藏的内部参数。如果正在使用预测软件,建议向供应商询问用于优化模型的时间范围和指标,并根据需要进行调整。
  • 误差分析 :拟合模型不是终点,要通过查看模型的误差来创建反馈循环,以找到改进模型的方法。可以使用各种图表和可视化仪表板,例如绘制最大误差点,查看模型是否遗漏了一些明显的信息,如促销、假期或短缺。要同时查看训练集和测试集的误差。当模型出现明显错误时,通常有三种可能:
    • 底层数据错误 :如果数据集包含不准确的数据,模型自然无法正确预测需求。不建议手动清理数据,而应找到根本原因并进行修复。
    • 缺少需求驱动因素 :例如,历史价格上涨影响了需求,但模型未考虑到这一点,不能责怪模型预测不准确。此时,需要收集和清理更多数据,并确保模型能够利用这些新信息。
    • 优化引擎设置不当 :如果模型的训练或选择阶段没有正确进行,例如重要的需求驱动因素未被正确捕捉或权重不足,或者模型参数未得到充分微调,可能会导致过拟合(模型捕捉到的需求模式只是随机噪声)或欠拟合(模型未捕捉到实际的需求模式)。

4. 统计模型的优势与局限

统计模型具有一定的优势和局限性:
- 优势
- 洞察力强 :能展示历史需求、需求驱动因素和最终预测之间的相互作用。
- 易于理解和解释 :使用时间序列预测时,可以直接读取需求水平、趋势或季节性。如果特定时期的预测结果异常,可以通过分析子组件(水平、趋势、季节性)或需求驱动因素(定价、促销等)的表现来找出误差来源。
- 设置简单 :时间序列预测技术受到供应链从业者和软件供应商的青睐,因为它易于设置,且不需要大量数据就能取得令人满意的结果。
- 局限性 :统计模型所能处理的复杂性和所能达到的准确性有限,在处理复杂情况时可能力不从心。

5. 预测分析模型的特点

预测模型利用需求驱动因素来预测需求,具有以下特点:
- 分析影响 :可以分析需求驱动因素对需求的影响,例如回答“天气如何影响需求”等问题。
- 情景规划 :能够进行情景规划,例如“如果我策划一场促销活动,未来需求将增加 15%”。
- 实施挑战 :虽然用需求驱动因素丰富预测模型听起来很有前景,但实际操作通常更具挑战性,因为需要收集干净的数据并管理更高级的模型。

6. 机器学习助力需求预测

6.1 机器学习的定义与原理

传统统计模型使用预定义的数学关系来进行需求预测,但无法适应需求模式的变化。例如,使用不包含季节性因素的统计模型预测季节性产品的需求,会误将周期性模式解读为变化的趋势;而使用季节性模型预测非季节性产品的需求,会过度拟合历史随机变化,将其解读为反复出现的季节性。

机器学习则不同,随着机器学习算法的技术进步,我们拥有了新的工具,这些工具在典型的供应链需求数据集上能取得出色的性能。机器学习模型最初只是算法蓝图,它可以从由各种特征组成的数据集中学习潜在的关系。也就是说,机器学习是让算法自行理解数据集及其潜在关系。虽然可以选择学习算法及其主要特征,但无法明确控制最终的模型。从技术上讲,算法会从训练数据集中学习数据输入(如历史需求和需求驱动因素)和期望输出(如未来需求)之间的关系,训练完成后,就可以将这些关系应用到新数据上进行未来需求的预测。

6.2 机器学习与统计模型的对比

模型类型 关系假设 学习方式 典型模型
统计模型 预定义关系(如季节性、趋势等) 基于预定义方程 线性回归等
机器学习模型 不预先假设特定关系 直接从历史需求和需求驱动因素中学习 树基模型、神经网络等

需要注意的是,统计模型并非过时无用,机器学习模型也不能完全取代它,两者各有优劣,在实际应用中可以根据具体情况选择合适的模型。

6.3 机器学习的应用建议

如果想学习如何创建自己的机器学习模型,可以参考相关专业书籍。在使用机器学习进行需求预测时,要了解其可能存在的陷阱和最佳实践。同时,要结合前面提到的选择模型的框架,综合考虑目标、数据、指标等因素,确保机器学习模型能够在实际应用中发挥最大的作用。

综上所述,在需求预测领域,统计预测和机器学习都有其独特的价值。我们需要根据具体的业务场景、数据情况和预测目标,合理选择和运用这些方法,以提高需求预测的准确性和有效性,为供应链决策提供有力支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值