当前位置: 首页 > 科技观察

如何将机器学习与敏感性分析相结合来制定业务战略?

时间:2023-03-18 02:26:16 科技观察

无数企业经常使用机器学习(ML)来帮助做出决策。然而,在大多数情况下,机器学习系统做出的预测和商业决策仍然需要人类用户的直觉来做出判断。在本文中,我展示了如何将ML与敏感性分析相结合来开发数据驱动的业务策略。这篇文章重点关注客户流失,同时涵盖使用基于ML的分析时的常见问题。这些问题包括难以处理不完整和不平衡的数据、推导模型选择以及定量评估这些选择的潜在影响。具体来说,我使用ML来识别可能流失的客户,然后使用特征重要性和场景分析来得出定量和定性的建议。然后,组织可以使用结果做出适当的战略和战术决策,以减少未来的客户流失。这个用例说明了数据科学实践中出现的几个常见问题,例如:低信噪比,特征与流失率之间缺乏明确的相关性高度不平衡的数据集(其中90%的客户没有流失)使用概率预测并调整确定决策机制,以尽量减少在流失问题上过度投资的风险。端到端实施代码在AmazonSageMaker中可用,或在AmazonEC2上独立提供。在此用例中,我考虑一家提供不同类型产品的虚构公司。我将其两个主要产品称为产品A和B。我只有部分关于公司产品和客户的信息。该公司最近发现客户流失有所增加。该数据集包含有关数以千计客户的不同属性的信息,这些信息是在几个月内收集和分类的。其中一些客户已经流失,有些则没有。通过使用特定的客户列表,我将预测任何一个人流失的可能性。在这个过程中,我试图回答几个问题:我们能否创建一个可靠的客户流失预测模型?哪些变量可以解释流失的可能性?公司可以实施哪些策略来减少客户流失?这篇文章将介绍使用ML模型的以下步骤来创建减少流失策略:1.探索数据和设计新功能我首先展示如何通过查看各个输入功能和流失标签之间的简单关联来探索客户数据。我还研究了特征之间的关联(称为互相关或协方差)。这使我能够做出算法决策,尤其是确定需要派生、更改或删除哪些功能。2.开发一套机器学习模型我然后建立了多种机器学习算法,包括自动特征选择,并结合多个模型来提高性能。3.评估和改进ML模型的性能在第三部分中,我测试了我开发的不同模型的性能。从这里开始,我确定了一种决策机制,可以最大限度地降低高估流失数量的风险。4.将ML模型应用于业务策略设计最后,在第四部分中,我将使用ML结果来了解影响客户流失的因素,推导出特征选择并定量评估这些选择对客户流失率的影响。我通过执行敏感性分析来做到这一点,我在其中修改了一些我在现实生活中可以控制的因素(例如贴现率),并预测该控制因素的不同值对应的预期流失率降低。所有预测都将使用第3节中确定的良好ML模型进行。探索数据和构建新功能ML模型开发过程中经常出现问题的关键问题包括输入数据中存在共线和低方差特征,存在异常值和缺失数据(缺失特征和某些特征的值)。本节介绍如何使用AmazonSageMaker解决Python3.4中的每个问题。(我还通过深度学习AMI在AmazonEC2实例上评估了独立代码。两者都可用。)这种带有时间戳的数据可以包含某些指标内的重要模式。我将这些指标分为每日、每周和每月部分,这使我能够开发新功能来说明指标的动态特性。然后,我研究了原始特征和新特征之间的每个简单的一对一(也称为边际)关联和关联度量。我还研究了特征和流失标签之间的相关性。(见下图)。低方差特征(在dropout标签变化时不会发生显着变化的特征)可以使用边际相关和汉明/杰卡德距离来处理,如下表所示。Hamming/Jaccard距离是一种专门为二元结果设计的相似性度量。这些措施提供了关于每个特征对客户流失的信息量的看法。删除低方差特征是一种很好的做法,因为无论您试图预测什么,它们都不会发生明显变化。因此,它们的存在无助于分析,实际上会降低学习过程的效率。下表显示了特征和流失之间的最高相关性和二元差异。在48个原始和衍生特征中只显示了最重要的特征。“Filtered”列包含为异常值和缺失值过滤数据时获得的结果。从上表得出的主要结论是,三个销售渠道似乎与客户流失呈负相关,且与客户流失的边际相关性大多很小(≤0.1)。对异常值和缺失值应用过滤器可以提高边际相关性的统计显着性。上表的右栏描述了这种效果。共线特征的问题可以通过计算所有特征之间的协方差矩阵来解决,如下图所示。该矩阵为判断某些特征具有的冗余量提供了新的视角。删除冗余特征是一种很好的做法,因为它们会引入偏差并需要更多计算,这会降低学习过程的效率。上图中的左图表示某些特征(例如价格和某些预测变量)是共线的,其中ρ>0.95。在设计下一节中描述的ML模型时,我只保留了其中一个,这给我留下了大约30个特征,如上图右侧所示。缺失和离群数据的问题通常通过经验法则来处理,例如当某些记录的数据值缺失或超过样本标准差的三倍时移除观察值(客户)。由于缺失数据是一个常见问题,您可以使用样本或总体均值或中位数来估算缺失值,作为移除观察值的替代方法。这就是我在这里所做的:我删除了缺失超过40%的特征,并用中位数替换了每个剩余特征的缺失值。读者应该注意到,一种更先进、更有效的缺失数据插补方法是基于其他特征训练监督学习模型,但这可能需要大量工作,因此此处不予介绍。当我在数据中遇到异常值时,我将那些值与均值相差超过六个标准差的客户移除。在16096个观测值中,总共删除了140个(<1%)。开发一组ML模型在本节中,我开发并组合了多个ML模型以利用多个ML算法的强大功能。集成建模还可以使用来自整个数据集的信息,即使流失标签的分布高度不平衡,如以下流程图所示。作为去除低方差特征的良好做法,我通过应用快速简便的方差过滤器进一步将特征空间限制为最重要的特征。此筛选器删除了对95%的客户没有差异的功能。为了根据特征对流失的综合影响(而不是边际影响)来过滤特征,我使用网格搜索和逐步回归执行了基于ML的特征选择。请参阅下一节中的详细信息。在实施ML模型之前,我将数据随机分成两组并确定了30%的测试集。如下一节所述,我还在70%/30%拆分之上使用了10折交叉验证。K折叠是一个迭代循环,它对K次评估的平均性能进行平均,每个评估都在一个单独的K%holdout数据集上。三种ML算法(逻辑回归、支持向量机和随机森林)分别训练,然后组合,如前面的流程图所示。集成方法在文献中被称为“软投票”,因为它采用不同模型的平均概率并将其用于客户分类(也见于前面的流程图)。客户流失仅占数据的10%;因此,数据集是不平衡的。我测试了两种解决类不平衡的方法。在第一种也是最简单的方法中,训练基于丰富类别(没有流失的客户)的随机抽样,以匹配稀有类别(流失的客户)的大小。在第二种方法(如下图所示)中,我训练了一组模型,其中每个模型使用9个丰富类的随机样本(无替换)和一个稀有类的完整样本。我选择了9的因子,因为类不平衡大约是1到9(如下面的直方图所示)。因此,1-9是使用浓缩类中所有或几乎所有数据所需的采样量。这种方法更复杂,但使用了所有可用信息,从而提高了通用性。我将在以下部分评估其有效性。对于这两种方法,模型性能都是在考虑真实情况的测试集上评估的,同时保持类不平衡。评估和改进ML模型的性能在本节中,我测试了上一节中开发的不同模型的性能。然后,我确定了一种决策机制,可以大大降低高估可能流失的客户数量(称为误报率)的风险。所谓的接受者操作特征(ROC)曲线通常用于补充ML性能评估中的列联表。ROC曲线在改变用于推断正类和负类(在本项目中,分别为流失和非流失)的概率阈值时提供不变的准确性度量。它涉及绘制所有准确阳性预测(真阳性)与假阳性的图表。见下表。默认情况下,不同ML模型预测的概率被校准,使得p>0.5的值对应一个类,p<0.5的值对应另一类。这个阈值是一个超参数,可以对其进行微调以最大限度地减少类别的错误分类。这是以添加另一种类型的错误分类为代价的,这会影响不同性能指标的准确性和精确度。相比之下,ROC曲线下的面积是一个恒定的性能衡量指标,在任何阈值下都保持不变。下表描述了使用稀有类的9倍训练群体的不同ML模型的性能。您可以看到随机森林具有出色的性能,整体性能好9倍,ROCAUC得分为0.68。该模型性能更好。下图描述了整体优秀模型(整体随机森林模型的9倍)的性能以及准确率和误差的优化。当使用0.5的概率阈值时,最佳结果准确地预测了69%的流失客户。查看ROC曲线,您可以看到同一模型可以在30%的时间内准确预测流失,而在10%的时间内将非流失者预测为流失者。使用网格搜索,我找到了p=0.56的阈值。如果您想最大程度地降低高估您将流失的客户数量的风险(例如,因为我们留住他们的活动可能代价高昂),您可能希望使用此模型。将ML模型应用于业务战略设计在本节中,我将使用我开发的ML模型来更好地了解影响客户流失的因素,推导出用于减少客户流失的功能选择,并评估这些选择可能对客户流失率产生的影响。影响。考虑到特征对流失的综合影响,我使用逐步逻辑回归来评估特征重要性。如下图所示,回归确定了12个关键特征。当我在回归模型中包含这12个特征时,预测分数更高。在这12个因素中,净利率、产品A和产品B的预期购买量、多个产品客户的指标是最容易造成客户流失的特征。减少客户流失的因素包括三种销售渠道、一种营销活动、折扣价值、总订单量、客户忠诚度和购买的产品总数。因此,为最容易流失的客户提供折扣似乎是一种简单有效的策略。当然还有其他战略杠杆,包括A和B以外的产品之间增强的协同效应、销售渠道1-3、营销活动和长期合同。根据数据,利用这些方法可以减少客户流失。最后,我使用了敏感性分析:我对ML模型识别为可能流失的客户应用了高达40%的折扣,然后重新运行该模型以评估预计有多少客户在包含折扣的情况下流失。当我将模型的p阈值设置为0.6以将损失降至10%时,我的分析预测20%的折扣将减少25%的流失率。假设此阈值的真阳性率约为30%,则该分析表明20%的折扣方法可以消除至少8%的客户流失。详情见下图。折扣策略是遇到客户流失的企业可以考虑采取的缓解问题的简单第一步。结论在本文中,我演示了如何:探索数据并获得新功能,以最大限度地减少因数据丢失和低信噪比引起的问题。设计一组ML模型来处理严重不平衡的数据集。选择性能最佳的模型并优化决策阈值,以最大限度地提高准确性并最大限度地减少流失。使用结果推导特征选择并定量评估其对流失的影响。在这个特定的用例中,我开发了一个模型,可以识别30%可能流失的客户,同时将误报率限制在10%。这项研究支持部署提供折扣的短期战略和基于在服务和销售渠道之间创造协同作用以留住更多客户而制定长期战略的有效性。