预算分割的解释

如何在不失去解释结果的影子价格的情况下实现预算多元化《解释自身的预算分割》一文首先出现在《走向数据科学》上。

来源:走向数据科学

将 20,000 英镑的全部预算交给了一个频道。添加一个规则,将一点强制到第二个通道,它会遵守,但除了该规则之外,它还会返回一个安静的负数。这个数字意味着你设定的下限对你不利,而且它准确地说明了你要付出的代价。

许多优化工作流程在分配本身就停止了。分裂背后的原因已经存在于数学中,而且是免费的,唯一阻碍你的就是一个看起来完全无害的建模决策。这是为了不扔掉它。

从简单版本失败的原因开始。显而易见的方法是根据每磅的回报对每个渠道进行评分,并为获胜者提供资金。它制作了一张干净的桌子和一个没人可以使用的计划。排名假设每个选择都是独立的,但预算分配是一个相互关联的决策。你给一个频道的每一磅,其他频道就会损失一磅。添加一条规则,“这里至少保留 3,000 英镑”,排序后的列表就没什么可说的了。

所以这是一个约束优化问题,线性规划是解决这些问题的标准工具。然而,实现这一目标的原因并不是分配。这是几乎每个人都忽视的副产品。当连续 LP 完成时,它还可以提供其约束的双重值:如果将规则放松一个单位,则目标将移动多少。这个副产品就是解释。并且只有当模型保持连续LP时它才有效。

这正是看似无害的决定的用武之地。普通的 LP 会将全部预算倾销到单个最佳频道上,而让其余频道挨饿。自然的解决方案是一个开/关开关,一个二进制“是否运行该通道”变量。它解决了倾销问题。它还将模型转变为混合整数程序,其中使解释成为可能的 LP 影子价格不再直接可用。你得到了分裂,却失去了理由。

模型保持简短。 PuLP 使其接近问题的简单描述。

从优化器到决策引擎