Shapley 值:解释个体预测概率您是否曾经负责预测谁将取消您公司的服务? 或者哪些患者会停止用药? 或者哪些人将成为您的新产品的早期采用者? 您可以使用相同的方法回答这些业务问题,仔细准备数据并构建不同的模型,以根据特定的统计标准进行比较并选择最佳模型。 小菜一碟,对吧? 或许。
但是,如果您需要查明预测的主要影响因素,该怎么办?单身的人? 一些建模算法不能轻易回答这个问题。 传统的回归模型非常适合回答此类问题,因为每个参数估计都有一个包含系数的方程。 对于基于树的算法或更复杂的模型(如神经网络)又如何呢? 解释单个预测更为复杂并且通常难以解释。 尽管这些更复杂的算法之一在许多情况下对于预测结果更可靠,但利益相关者通常会放弃你的辛勤工作。
如果您能两全其美怎么办? 性能最佳的模型以及向利益相关者轻松解释个人预测概率的方法,以便您的工作有更好的机会被用作业务工具。 满足 Shapley 值 — JMP 17 中的一项新功能。
沙普利值提供了我们一直在寻找的解决这种情况的解决方案。 这些值将模型中每个因素的贡献量化到行级别。 使用平均预测作为基线,每行数据可以按因子分解为概率之和。 这意味着你可以说 Sean 有 79% 的机会停止服药,与普通患者相比,他可能停止服药的主要原因是他的年龄。
为什么这有这么大的事? 如果没有沙普利值,我们可以更普遍地谈论感兴趣人群中结果的驱动因素,但比较具有相似特征的个体并理解为什么他们之间的预测不同并不是那么简单。 在基于树的算法中,预测公式是基于单个叶子或树创建的。 老实说,它们可能会变得非常混乱。 Shapley 值通过将预测分解为每个因素的单独贡献来解决此问题,它会查看整个模型,而不是逐叶、逐树或逐节点。

您如何开始探索这个新功能? 这很简单。 将刻画器添加到模型结果中,然后选择“保存 Shapley 值”选项。 这会将每个因素/响应水平组合的各个列保存到数据表中。

因此,下次当您的利益相关者询问您是否可以根据药剂师行为或营销策略影响的因素确定哪些患者最有可能停止用药时,您可以放心地说“是”,无论发生什么您正在创建的模型类型。

如果您需要查明预测的主要影响因素该怎么办?单身的人? 一些建模算法不能轻易回答这个问题。 有些方法可以。 输入 Shapley 值。
预测建模和机器学习回复:沙普利值:解释个体预测概率这是一个很好的选择,我喜欢它可用于许多模型(在之前的版本中,只有 XGBoost 插件能够创建 SHAP 值)。
然而,现在的选择非常慢。 我什至在较小的数据集中也尝试过,但 JMP 通常没有响应。 我建议重点关注并行化优化在幕后运行的代码,使其更快,现在速度如此之慢,软件更有可能崩溃。
回复:沙普利值:解释个体预测概率@克里斯汀布拉德福德做得非常好,感谢分享这个实际例子!
回复:沙普利值:解释个体预测概率感谢克里斯汀的分享。
BR。
菲利普
回复:沙普利值:解释个体预测概率@jpol当然! 此示例是使用模拟/样本数据制作的,旨在以清晰简洁的方式说明该功能。 所附数据表中的第 734 行对应于我的屏幕截图中的 Sean。 如果您对此功能还有更多疑问,请告诉我。 它确实是该软件最近最令人兴奋的新增功能之一(在我看来!)。
亲切的问候,
克里斯汀
回复:沙普利值:解释个体预测概率感谢 Kristen 撰写有关 Shapley 值的文章。
您能否发布此处使用的数据表,以便在我自己的笔记本电脑上运行相同的示例?
谢谢,
菲利普
回复:Shapley 值:解释个体预测概率@dmmdiego感谢您对性能的反馈。您介意与 JMP 技术支持分享此信息吗(请发送电子邮件至support@jmp.com )并提供性能缓慢或无响应的示例?这将促使我们参与开发,以便我们可以在未来版本中切实改进它。在您的电子邮件中,请复制此帖子并提及我们在这里对此进行了一些对话。
干杯,
@PatrickGiuliano (JMP 技术支持)
回复: Shapley 值:解释个体预测概率这个例子能不能直接用决策树模型给出最终的分析结果呢?
谢谢!
回复: Shapley 值:解释个体预测概率我在图片中找到了最终的行动步骤。
但是如果您可以直接使用 JSL 来做到这一点呢?
谢谢专家! 