广义概率预测


首页 » 资源 » 此处

优化供应链关键取决于预测市场未来需求的能力。因此,在 20 世纪早期,需求预测就被确定为供应链优化过程的基础元素。不过,驱动经典预测观点的主要在于获取的计算资源较为有限。事实上,一些最早期的预测方法甚至是为手工计算量身定做的。对海量计算资源的获取,从根本上改变了对于预测的观点。产生的一个最直接的好处便是更准确的预测,另一个好处则是更富有表现力的预测。虽然这可能看起来反直观,但后者却是供应链绩效改进的主要原因。这种经过改进的预测类型被称为概率预测。通过将这一概率性观点与机器学习提供的现代化工具集(包括算法及其软件对象)相结合,定量供应链就可以解决比传统预测概念提出的早期供应链方法更广泛的挑战。

经典预测及其局限性

所谓"经典"预测,指的是"平均值、周期、均布、时序预测"的概念。在供应链和需求规划领域,这种特定类型的预测依然占据主导地位。从现代供应链优化角度来看,虽然这类预测实际效益有限,但却具有重要的历史意义,并由此形成了许多供应方法。更具体地说,经典预测是许多供应链方法的基础。因此,这些方法也沿袭了经典预测的局限性。

我们进一步提炼一下这种经典预测观点:

  • 平均值 :预测试图估计未来需求的平均值;即这是一种完美平衡的预测,有 50% 的未来需求量高于预测值,也有 50% 的未来需求低于预测值。在数学上可以证明,估算平均值当于最小平方误差最小化。
  • 周期 :未来需求分成许多周期形式的块,如日、周、月或年。预测则采取实值向量的形式。向量的大小常称为水平线。例如,当提前预测 10 周时,周期采取“周”的形式,水平线就是 10。
  • 均布 :假定这些周期具有一致的特性,具体说就是持续时间相同。这个假设对于“日”和“周”这样的周期有效;不过,对于“月”和“年”就只是大体正确而已。尽管是求近似值,但对周期进行的数值计算过程并不能区分这些周期,而是假设完全一致。
  • 时序 :假定历史数据与将生成的预测的格式相似。具体而言,历史数据作为实值向量建模,并与已选定用于预测的相同周期相关。输入向量的长度受限于可用历史数据的深度。

有时,均值估计量被中位数 取而代之。在中位数情况下,不论需求量如何,一个完美平衡的预测始终有 50% 的机会高于或低于未来需求。优化估计量以获取最佳中位数,就相当于最小化平均绝对误差 – 采用平均值预测时就是最小化最小平方误差。就目前的讨论而言,所考虑的是平均值预测抑或是中位数预测并无区别;如果衡量的是 MAPE(平均绝对百分比误差) 或 MAPE 的加权形式也是同理。因此,为了简单起见,我们将所有这些预测都统称为“经典”预测,同时将所有细微变化一并介绍。

这些类型的预测在供应链领域如此根深蒂固,需要付出极大努力才能退后一步,来考虑这种观点的所有深远影响。通过轶事证据,多种领先的软件解决方案实际上是在其架构中对这些经典预测进行"硬编码",其特点就是采用包含 52 列的数据库表,其中每列与特定的周相关联。如此一来,这些软件解决方案的架构完全无视供应链优化的所有类别。

对不确定性视若无睹

未来的需求具有高度不可归约的不确定性 :大多数影响资本市场的事件都不能十分确定地建模。您的公司无法预测竞争对手何时通过降价来猛然夺回市场份额。您的公司也无法预见中国某个港口因发生重大工业事故,而导致重要供应商无法按时交付产品。您的公司甚至无法预测目前正在内部开发的新技术能否会证明自身是目前所用技术的一种出色备选。

然而,虽然这种对市场未来状态的不可规约的不确定性似乎是后知后觉,但特别的是,经典预测几乎完全摒弃了挑战,而不是解决挑战。事实上,从经典的预测角度来看,任何不确定性都不存在。预测的准确性其实可以通过后验分析等方法来估算,但这是一个很大程度上背离预测过程的外部过程。

由于不确定性被忽略,很多情况甚至无从在预测中表达。举个例子,我们不妨设想一下某个批发商服务于几个大型零售网络的情况。对某款产品似乎有着非常稳定的需求,因为一段时间以来,该款产品每周都会进行数量相对稳定的订购。但是,深入研究需求结构后发现,这些订单实际上都来自某一个零售网络。因此,如果批发商被这个零售网络从这款特定产品的供货商列表中除名,那么需求将降到零,批发商那边的剩余库存中立即会产生积压存货。因此,当该款产品的平均预期需求可能很高时,需求突降到零的风险是真实存在的。这种风险不能通过简单地降低平均需求来建模。经典预测未能表达出这样的双模式情形 :一种模式是因循守旧,另一种模式是戛然而止

需求历史记录 中的已知偏差

针对需求预测的时序观点假定了历史需求记录准确反映需求本身。但这种假设实际上很少存在,因为市场需求只是间接观察到的。这一点在实践中很微妙但是很重要:客户订单历史记录只是对市场需求的近似估计,并非真正的市场需求,它在一定程度上是不可知的。例如,每当一家公司面临缺货时,客户就会开始寻求从别处获取他们的货品。通过替代渠道获取的用于减少缺货的数量并不会反映在销售历史记录中,由此就会产生偏差。

这些偏差无所不在。即便考虑所有客户的需求都记录在案的情形,不管这些需求是否及时得到满足,仍然存在偏差。我们不妨以某个服务于一系列零售店的区域仓库为例。每个商店每天都向仓库发送订单来进行补货。这些订单不考虑仓库中的库存情况;仓库的责任是根据实际库存,尽最大努力公平地服务于所有商店。在这种情况下,如果某个商店的订单在第一天不能得到履行,像往常一样,相同的订单就会被移到第二天。订单可能有点大,但仍然面临同样的缺货,由此而持续让仓库陷于困扰。然而,这个过程还形成了另外一种假象 :在面临缺货的情况下,商店实际上订购的数量要比原本应当订购的数量多得多,因为只要货品没有交付,它们就会不断重新订购相同数量的货品。因此,即便一切都记录下来,总的订购数量也不能理解为准确体现需求。在实践中,仓库缺货会导致情况变得愈发复杂,进而在商店层面产生缺货。但无论是何种情况,都不是顾客在商店的货架间走过时发现缺货时而记录下来的缺货。

考虑到目前可用的现代化统计工具,问题不在于存在偏差,而在于经典预测视角不足以涵盖这些偏差。实际上,时序观点不仅简单,而且片面。此外,作为实值向量建模的输入数量(与过去的周期相关联),并不能反映关于这些偏差的信息。因此,为了化解这个问题,经典预测通常会涉及一些预处理步骤 ,递归地使用预测过程本身,来在明知需求严重偏离的周期内"填补差距",即把缺货产生的零值 替换为以前针对这些日期预测的需求值。然而,此举让公司最终在预测之上建立预测,这是极其低效的。首先,在预测的基础上进行预测会产生非常不准确的预测结果 。其次,这会导致数据准备阶段 进一步复杂化,而数据准备阶段原本已是定量建模 中最复杂的部分。

预测并不只是关乎未来需求

时序预测观点在供应链历史上一直占据主导地位,因此经常导致我们所说的“金锤” 问题:你仅有的一把工具是锤子,所有的东西看起来都像是钉子。未来需求只是需要预测的诸多因素之一,而时序预测也只是可以用来执行预测的方法之一。

交付周期最为重要。只有在库存量足够满足交付周期要求的情况下,公司持有的库存才恰当。不必持有更多库存,因为到时会对库存进行补货。不过,交付周期本身会表现出复杂的行为。假设供应商 的交付周期是 7 天,仅仅是因为合同中有此规定,这既低效,又很危险。之所以说它低效,是因为供应商倾向于商定他们觉得能够维持的交付周期,即使在恶劣的情况下,即更坏的情况下也能维持。不过,实际上常常看到供应商在交付周期方面的表现远超合同中的约定。另外,之所以说很危险,是因为如果一个供应商经常未能达到合同中约定的交付周期,那么供应链的其余部分就会继续"假装"一切正常,并且完全不做任何尝试来化解由该供应商造成的问题。

因此就需要预测交付周期。就像预测需求一样,交付周期可以根据历史数据进行预测,而且如何需求一样,交付周期也表现出复杂的统计模式 ,例如可用于改进预测的季节性 。举个例子,中国的制造商每年很可能在春节 前后将交付周期增加 3 到 4 周,原因不过是工厂在这段时间会关闭。

除了交付周期和需求之外,还有更多的供应链要素也需要进行某种预测。例如:

  • 客户退货 :在时装电子商务中,顾客可能会退回订购量的相当大一部分。例如,在德国,客户常常会订购多双鞋子,然后再退回尺码不合适的鞋子。退货数量超出原订数量 30% 的情况很多。因此,也应当预测退货数量。
  • 收到的却不能使用的商品 :在食品零售中,商品易碎易腐,仓库收到的商品中经常有相当一部分没有通过质量控制。比方说,一个仓库收到的盒装草莓中一半可能会被当场丢弃,因为商品不再视为可销售。在将采购订单传递给供应商时,考虑预期不会通过质量控制检查的商品部分很重要。因此,预测多少会被拒收具有高度相关性。
  • 电子记录的不准确性 :在零售领域,商店级别的库存准确性通常相当低。的确,客户可能会损坏、窃取或在商店内移动产品,这都会导致存货水平的电子记录与货架上的实际存货水平之间的差异。实际库存水平与电子库存水平的差异可以通过库存盘点过程产生的库存更正历史记录来进行预测。

根据垂直方向,还有更多的问题需要预测或进行某种预测性的统计估算。确定这些问题非常重要,否则供应链会根据可能适合或可能不适合的规则进行运作;但没有把自身置于基准位置并根据这些规则加以改进。

利用机器学习 进行广义预测

在过去的几十年中,机器学习领域(可以视为计算机科学 与统计学 的交汇)取得了巨大进步。机器学习领域远未达到顶峰,仍在以前所未有的速度进步,而近期在深度学习 而言几乎都意味着需要做更多的工作,才能保持算法 正常使用。机器学习算法 - 所有这一切 - 都是为了更好地处理更多的数据而构建的。可以说,机器学习领域许多最成功的运作,包括语音识别或机器翻译(冰山一角而已),都已经做到了最终成功处理比以前尝试过的规模大得多的数据集。

一旦收集到足够的相关数据,利用机器学习提供的许多方法,只需很少或根本无需调整便可开始生成各类预测。在机器学习的助力之下消除了对数据管道 的几乎所有手动调整,这是学术界和软件行业数十年来共同努力的成果。目前,大多数现代机器学习方法只需极少的手动调整 。实际上,对于任何需要不止一些表面手动调整的方法,机器学习社区越来越怀疑其可持续性。这一立场助推了机器学习领域诸多最伟大的成就,尤其是在深度学习领域。注意:虽然机器学习算法可能需要极少或者无需调整,但准备数据需要付出相当大的努力。不过,这些努力主要用在数据管道后续阶段使用的机器学习算法类型上面。

因此,对于提供手动调整预测可能性的任何预测性统计解决方案,我们建议供应链从业者持高度怀疑态度。这样的特点表明,该种解决方案的设计正在破坏从机器学习中获得的一些最重要的见解。其实,这样的解决方案势必会遭遇基于规则的早期计算机系统 备受困扰的相同问题,这在数十年前就已经证明,此类系统维护起来简直就是噩梦。

从机器学习的进步中获得的预测供应链,它的一大关键优势就是:生成不同类型的预测所付出的努力不比生成传统需求预测的多。几乎所有的努力都集中在数据准备 上面,而后续则集中在调整公司的组织方式以充分利用这些新型预测上面。

定量供应链纳入了机器学习,以便在相关且可行的情况下注入预测性供应链能力。定量供应链并非只专注于纯粹的需求预测,而是直面供应链中所有的不确定性 来源:交付周期、生产缺陷 、市场变化等等。定量供应链广泛使用机器学习技术,由此生成类型截然不同的预测,来精准契合供应链的要求。这种方法与经典观点出入很大,后者则是强制每周或每月需求预测为关联不大的问题提供答案。

概率预测解决不确定性

在考虑复杂的供应链时展望未来,最好不仅要预测最可能的未来结果,还要预测许多其他结果,因而常常会面对不可减缩的不确定性 。概率预测 正是这种洞察力最为普遍的统计形式化。它为所有可能的结果生成一项统计估计。这种广义估计量采用与每种可能结果相关的概率分布的形式。概率预测可以被视为 what-if 方法(考虑所有情景)的一种相当极端的变体。

虽然概率预测可能感觉像是一种相当理论化的方法,但其实它既易于处理又简单明了。不妨来考虑一下概率性需求预测。我们不去计算表示平均未来需求预期值的单一数字,而是计算概率列表,即观察到 0,1,2,3…个需求单位的概率。为了实现所有概率可视化,最常见的方法是使用直方图 ,其中每个桶表示与特定需求水平相关的概率。概率加在一起被统称为形成“概率分布” 。

Image

预测概率分布(即概率预测)是传统平均值预测或中位数预测的广义化。虽然看起来可能要复杂得多,但它是一种已经在许多领域广为使用的完善统计方法。例如,深度学习领域的几乎所有最新进展(让自动驾驶车辆成为现实)都将概率视角作为核心(更具体地说是贝叶斯视角,但这超出了本文讨论的范畴)。概率预测实践众所周知,已经发表了数千篇关于该主题的研究论文,也已经实现了许多软件。

定量供应链强调概率预测是首选的预测形式。事实上,在供应链中,费钱并非一般性的情况,而是极端情况 :异常高的需求会导致缺货,异常低的需求则会造成库存过剩。概率预测则是提供所有可能情形(包括有问题的情形)的可能性,来直面这个问题。概率预测是供应链结构化风险管理 :零缺货通常意味着无限的库存,这显然不是合理的选择。如果没有概率预测,比较相应的库存成本和缺货成本便只是猜测而已。

概率预测有一个小缺点,那就是相比简单的预测方法,它所需要的计算资源 要密集得多。具体而言,尽管在 Microsoft Excel 中实施经典预测模式(例如指数平滑)是可行的,但即便不是大部分概率预测模式也有许多预测模式需要比通过电子表格方便推送更多的计算资源。然而,随着云计算的出现,计算资源变得前所未有地便宜:目前,一些云计算平台已经在高端 2GHz 单核服务器上以低于 10 美元的公开价格提供 1000 个计算小时。但实际上,为了利用这种低成本的处理能力 ,支持概率预测流程的软件需要从一开始就设计在云计算平台中运行。

重申一下,大部分概率预测算法源自广泛的机器学习领域的见解和发现。然而,就如同你不必成为一名机器学习专家,就可以享受由机器学习实现的垃圾邮件过滤器的好处——保持收件箱没有垃圾邮件,同样,你不必成为机器学习专家,就可以将供应链带入通过机器学习技术进入下一阶段的供应链。如上所述,机器学习的两个关键方面恰恰是自动化 和(接近)消除统计模式所有手动调整的核心焦点。