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


您如何开始探索这项新功能? 这很简单。 将 Profiler 添加到您的模型结果中,然后选择 Save Shapley Values 选项。 这将为每个因素/响应水平组合将单独的列保存到数据表中。

因此,下次您的利益相关者询问您是否可以根据受药剂师行为或营销策略影响的因素确定哪些患者最有可能停止服药时,您可以自信地说是,无论如何您正在创建的模型类型。