当输出影响未来输入时的预测建模

数据挖掘 机器学习 预测建模 偏见 方法 概念漂移
2022-02-01 11:22:01

假设我有一个模型可以预测商店中销售的冰淇淋数量的结果。

该模型在过去 5 年的数据上进行了训练,同时将去年作为验证集,并产生了非常好的结果。

我们现在将模型投入生产,以便首席财务官可以为来年的预算做出估算。首席财务官现在查看 5 月的预测,比如 2000 份冰淇淋,并认为“哦……我希望在 5 月份有更多销售。我会卖 4000 份”,因此他订购了更多广告,推出了新口味等. 并在 5 月底达到他所希望的 4000 份冰淇淋销量。

6 月 1 日,我们与首席财务官交谈,在前 6 个月后评估模型,我们看到我们在 5 月的预测偏离了 100%!

这种飙升可以用增加的广告等来解释,并且在其他所有日子里,该模型都做得很好,但是如果首席财务官每天都开始调整广告、口味等以达到预算,我们将如何能够测试,如果我们的模型在生产/现实世界中确实很好?以及我们将如何重新训练模型,因为前 5 年的销售没有任何“人为影响”,而在一年后,销售受到广告等的影响,因此 5 月的飙升不是“自然”,但由于一些我们无法纳入的外生变量(例如,我们不知道首席财务官的预算)?

2个回答

恐怕这种情况从根本上是预测/预测环境所固有的;引用 Taleb 等人最近的论文,关于胖尾变量的单点预测开放获取,第 3.7 段):

3.7. 预测可能会导致调整导致预测不太准确

很明显,如果预测导致调整,以及影响所研究现象的反应,那么人们就无法再根据这些预测的后续准确性来判断这些预测。

因此,除了 事先清楚地传达这一点并就在存在此类调整的情况下如何评估预测达成一致之外,从建模或方法论的角度来看,您无能为力。在上面引用的同一段中进一步提出的建议:

从这个意义上说,预测可以是一种“如果你不采取行动,这些就是成本”的警告。

可以构成这种沟通和协议的基础。

更简单、更实用、更面向业务的方法是将广告包含在您的模型中。这将允许您:

  • 相应地更改您的预测,然后更改您的测量性能。关键是要保持透明,甚至是教学。基本上,在您的示例中,您有 6 个月的时间来审查您的预测并通知首席财务官,这样他就不会认为您的模型是错误的。如果问题是他缺乏沟通,你可以这样表述:来自他身边的更多沟通将允许更好的预测。如果他不愿意这样做,那是他的事。

  • 帮助评估所需的广告通过一个简单的模型,您可以与您的 CFO 展开一些有趣的讨论。基本上,如果您预测 2000 并且他想要销售 4000,您可以尝试了解广告功能的哪些变化会导致 2000 的销售增加。它可以让你讨论什么时候值得做广告,它可能会开启关于第一点(预测更新)的讨论。