如何获得预测模型以随着时间的推移改进其预测而不是拟合训练数据?

数据挖掘 机器学习 时间序列 预报
2022-03-02 10:41:07

假设我有一个模型用于预测某些产品的需求。我可以在一些训练数据上训练它以获得良好的预测。

但是,它输出的预测只会真正匹配过去的需求。这似乎是与我们提供给模型的数据有关的问题,因为如果过去的需求数据只是我们销售了多少,但那也是我们的供应量,那么这将无法帮助改进未来的预测。

例如,如果我供应了 10 件产品 x,并且我总是销售 10 件该产品,那么根据这些训练数据,我的模型总是会说我应该每天订购 10 件。但是,实际上,订购 25 个单位可能会更好,因为如果我总是卖掉所有东西,那么需求可能会大于供应。问题是我不知道真正的需求是什么。

所以我的问题是,我将如何让我的模型来解释这一点并实际改进预测,而不是试图适应历史数据。

1个回答

正如您所说,您可以根据模型中的信息获得良好的预测。

该模型在供应不足的情况下将需求和供应混为一谈,因为它没有关于未满足需求的信息:有多少产品被请求但由于供应不足而未售出。相反,它跟踪sold=min(demand,supply).

扩展模型

显而易见的解决方案是为真正的需求提供一个单独的功能,而不是将其与销售量混为一谈。但是,此数据可能不可用。

从相关性中学习

另一种选择是使用更丰富的模型:如果您有多种产品,其中大多数都没有售罄sold反映真实需求)和它们的销售额是相关的,那么它可以预测特定产品需要以比观察到的销售额更高的速度再供应。该预测将基于与未达到标准的产品的相关性min(demand,supply)-帽和。

强化学习

最后,另一种方法是查看强化学习,其中代理通过实验学习最佳补给策略。

在一个简单的设置中,您的代理将在两种操作之间进行选择:一种根据正常情况下的预测进行排序,另一种排序超过预测的操作。在预测与实际需求匹配的情况下,过度订购动作的概率会很低,但仍会以一些小概率被选中ϵ.

强化学习让agent学习两者的相对概率,并根据实际需求高于你库存的情况,慢慢学习以更高的概率订购更多,直到根据过去的销售预测增加到没有额外销售可以从更多订购中获得的点,并且采取过度订购行动的可能性再次开始下降。