7.2 如何有效地优化模型

7.2.1 从业务思路上优化

从业务思路上优化模型是最重要的模型优化措施(没有“之一”),这也是很多数据分析师在尝试模型优化时最容易忽视或根本就没想过的方法。很多时候,这个思路和方法对于模型效用的提升是根本性的,是源头上的突破,因而常常更有效。之所以说它常常有效果,主要是因为经过前期的数据熟悉、分析和初步建模之后,我们对数据逻辑之间的关系更加敏锐了,而且对于需求目标的认识更加深刻了,并且前期建模过程中常常会有一些新的关联和联想给我们提供了新的更加贴切的灵感,所有这些正面的因素形成合力,拓宽了我们的业务思路,加强了我们的业务洞察力,换个角度看问题,又是一幅新的风景,通过这种方式常常可以轻松优化、提升模型。

第6章里分享过的“H层会员流失预警模型”,其建模过程中的优化思路就属于从业务思路上优化:在初步建模完成后,我们审视当初的建模思路,发现有一个潜在的、致命的思路漏洞、那就是我们没有考虑到在提取数据的那个时间窗口里,虽然当时处于H层但是非常接近H层最低点位置的人群,他们所处的这个低层位置的指标,是否可以直接取代预测模型的作用而有效引导出随后两周这类人群从H层流失的结论?换言之,这个群体是否会整体上或者绝大多数流失?由于我们发现了这个漏洞,重新增加了对这个假设的验证过程,更重要的是因此增添了一系列与此相关的新的变量,从后期的模型优化和最终的解决方案来看,正是由于这些新的思路和新关键字段的增添,使得模型的预测效果得到显著提升。这个案例非常具体、生动地说明了从思路上优化模型是多么有效,多么给力。

从业务思路上优化主要可以从以下几个层面进行考虑。

❑有没有更加明显且直观的规则、指标可以代替复杂的建模?通过对这些直观的假设进行验证、思考并增添相关的新衍生变量,有时候就可以有效优化模型。上面的案例就是这种思路的成果:如果“近30天登录##助手的PV量”接近“近30天行业标准的登录##助手的PV量,即活跃层与中间层的分界线”,那么,对于符合该指标条件的这部分H层会员在随后两周后大批量流失(或跌落)到中间层是否有明显的趋势?只要这个直观的猜测(或规则)经过数据验证是事实,那么就没有必要去搭建复杂的模型了,可以直接用这个简单的规则去判断。正是基于这个思考,我们一方面对这个猜想进行了验证,另一方面在模型中增加了核心的新的相关输入变量,包括:H层用户近30天登录##助手的PV量,与相应的近30天行业标准的登录##助手的PV量差值Visit_Assist_pv_Gap,以及两者的比值Visit_Assist_pv_Rate等)相信这些新增的变量从业务直觉上看是与用户流失的结果有密切关系的。虽然上面直观的猜想并没有被实际的数据所证实,但是由此带来的新的变量成了最终模型得以优化的最核心指标。

❑有没有一些明显的业务逻辑(业务假设)在前期的建模阶段被疏忽了呢?比如要搭建一个类似于“竞价排名”业务的续费用户(提前充值)预测模型,那么除了直接从数据仓库中提取相关的字段、数据之外,是否考虑到了用户提前充值的行为很可能跟其当前账户里的余额多少有关,或者跟其最近月均消耗金额与余额的比例有关?这些深入的思考可以让我们增添一些衍生的变量、字段,而这些衍生的变量常常能给模型带来明显的效果提升。

❑通过前期的初步建模和数据熟悉,是否有新的发现,甚至能颠覆之前的业务推测或业务直觉呢?如果有,适时调整新的分析思路,常常就会有明显的模型效果提升作用。比如,起初我们会猜想有佛教信仰的人应该是寺庙收入的主流目标群体,其承担了寺庙的绝大多数门票和捐款收入,但是仔细观察数据我们会发现其实在现实生活中不一定信仰佛教,但是一定有愿望乞求佛菩萨保佑,即保佑发财、保佑升官、保佑平安等的香客才是寺庙收入真正的主流目标群体。这种观察直接颠覆了之前的猜想,如果要为某寺庙寻找收入提升的方式,那么修改原先的目标群体,重新定位于那些乞求佛菩萨保佑的信众,宣传有求必应的灵验性,或许是提升收入的重要策略。针对这个新的目标群体构建的数据模型,理论上来说其效果会有明显的提升。

❑目标变量的定义是否稳定(在不同时间点抽样验证)?如果不稳定,通常应该考虑一个更加合适的相关的稳定的变量作为目标,并重新建模。

通过与业务需求方的“头脑风暴”,可以发掘出新的想法和思路,从更多的角度、更多的层次考虑业务逻辑,从而更全面地增加衍生字段。对于数据分析师来说,不仅自己要多角度、多层次考虑业务逻辑,更重要的是要与业务团队充分沟通、共同探讨,在大家的思维碰撞中发现新的火花。

7.2.2 从建模的技术思路上优化

从建模的技术思路上优化是指在建模的总体技术思路、总体技术方向上进行比较、权衡。建模的总体技术思路包括不同的建模算法、不同的抽样方法、有没有必要通过细分群体来分别建模等。

一般来讲,不同的建模算法针对不同的具体业务场景会有不同的表现,没有哪种算法可以永远优越于其他算法,所以数据分析师在具体的业务项目实践中应该多尝试不同的建模算法,从中比较、权衡,择其优者而用之(在本章的后半部分,会详细介绍模型的评价指标体系和评估方向)。这里的建模算法是广义上的,包括基本的统计分析技术,只要是可以解决业务问题,都是我们的候选算法。而对于不同建模算法的比较,既包括预测响应(或分类)模型思路里不同算法的比较,如综合考虑逻辑回归算法、决策树算法、神经网络算法、支持向量机算法等,又有广义上的算法比较。比如,在A产品付费用户特征分析项目中,实际上有至少3种完全不同的技术思路可以应用,包括基本的统计分析方法,如找出有统计差异显著性的特征字段及组合、常规的聚类分析方法,如对付费用户群体进行几个重要业务变量的聚类划分,以及预测项目模型的思路,它不仅可以找出特征字段,还可以有效预测潜在的最可能付费的目标人群。很明显,3种不同的思路有更多种不同的算法可以尝试,究竟哪种思路和算法最适合本项目,要权衡的因素很多,包括项目的资源是否充足、现有数据的完整情况、项目的时间节点、模型精度要求等,但是从模型优化的角度来考虑,对不同的算法多尝试、多比较,是数据分析师常用的一种优化思路。

同样的道理,如何抽样对于模型的效果也有着非常重要的影响。基于业务背景的判断和现有的数据资源状况,数据分析师要决定是否抽样,以及如何抽样。对于稀有事件的建模预测,还会涉及过抽样,过抽样的浓度需要调整,需要结合具体的业务背景考虑。有关数据抽样的问题,将在本书第8章中做进一步的总结和分享。

针对细分群体分别建模也是建模过程中常用的、有效的模型优化思路和方法之一。细分建模的思路和作用很容易理解,细分本身就是对分析对象的一次筛选,即所谓的物以类聚,人以群分。细分后的各个群体相比之前的整体对象来说一定是多了些精细化的分割,群里多了一些共性,群里的数据因此更加“整齐,少了噪声”,群间多了一些差异,所以更适合分别建模,分别分析,基于这些精细化的群体分别建模,常能更明显提升模型的效果。当然了,不是说只要做了细分,模型就一定会得到明显的提升,因为模型的提升还涉及具体的细分方案是否合理、是否合适,细分的关键指标的挑选是否精准,细分后核心群体里的逻辑关系是否与建模所希望寻找的逻辑关系相吻合等因素。但是,总体来说,细分后的群体,尤其是核心群体(占有最大比例的目标事件)的模型效果提升常常是很明显的。比如,某产品是用于线上店铺装修的一个付费产品,其功能是帮助店家有效装修网上的店铺。在有关该产品的付费用户预测模型中,初期的模型效果不太理想,但我们通过建模和数据摸底发现了一个有趣的现象,那就是过去30天主动查看自己店面外观(该变量是指卖家像买家那样浏览自己的店铺前台,而不是作为卖家进行后台打理)的用户相比于过去30天完全不查看自己店面外观的用户来说,前者购买该产品的比例远远高于后者,并且在最终成为该产品的付费用户中,来自前者的付费用户数量远远高于来自后者的付费用户。其比例为91∶9,限于企业的商业隐私,无法提供更具体的数据规模,不过,相信现有的数据和背景已经足够让读者充分理解项目背景,并体会项目中的思路和方法了。因此在该模型的优化过程中,我们采用了细分建模的优化思路,并针对重点细分群体(该群体中付费用户数量占总付费用户数量的91%,其基本阀值是“过去30天内主动查看自己店面外观达1天次以上的用户”)重新建模,结果模型的效果有了明显的提升;而对于另外剩下的那个小群体(该群体中付费用户数量占总付费用户数量的9%,其基本阀值是“过去30天内主动查看自己店面外观为0天次的用户”),我们用简单的统计分析工具做了一个简单的重要变量筛选,有效锁定了该群体中更有可能转化为付费用户的人群,并找出其特征。其实,就算在这个小群体里无法找出付费用户的特征,整个项目的优化也是比较明显的,因为虽然我们放弃了9%的付费用户,但是通过细分优化后的模型,可以更有效地覆盖可能产生付费用户中91%的目标用户的预测模型,并且模型的提升和效率更加明显。因此从这个案例中,也可以得到这样的认识,即细分建模有时候会通过故意漏掉一小部分目标用户,从而可以针对剩下的绝大多数目标用户进行更有效的预测。

当然了,针对细分群体分别建模更多的时候并非如上面的案例一样操作,即只针对“过去30天主动查看自己店面外观的用户”建模,放弃对“过去30天没有查看自己店面外观的用户”建模,而是真正地分别建立多个模型,从而一一对应不同的核心客户群体。同样是苹果手机iPhone的核心目标群体,即目标消费者,其实可以细分成苹果发烧友消费者、非发烧友消费者,两个群体的购买动机、消费心理等一定有比较明显的差异,从理论上来说,对两个不同群体分别建模来进行分析应该比笼统地分析建模更加精准,这是很容易理解的。

7.2.3 从建模的技术技巧上优化

之所以本节专门针对建模技巧进行总结和分享,对应于7.2.2节的建模技术思路上优化,是想强调,在建模过程中,业务思路上的优化比建模技术思路上的优化更重要,而建模技术思路上的优化又比单纯的建模技巧的优化更重要。很多数据分析师,尤其是刚刚涉足该职业的分析师,总是非常热衷于对技巧的掌握和应用,殊不知在真正成功的数据挖掘应用中这些建模技巧最多只是“术”层面上的,而所谓“术”更多的是“锦上添花”而不能“雪中送炭”。与之相对应的是,思路上的优化,尤其是业务思路上的优化才是真正“道”层面上的,是方向性的,是可以产生质变的因素和条件,所以它是可以“雪中送炭”的,是最有可能显著提升模型效果的。

既然建模技巧更多起到的是“锦上添花”的作用,这倒也很符合模型优化的初衷,如果业务思路正确了,建模技术思路正确了,再加上这些建模技巧,的确是可以有效优化和提升模型的。

事实上,本书相当的篇幅都涉及了各种类型课题即模型的分析技巧和建模技巧。第8~13章分别介绍了大量的建模技巧和需要注意的事项,这些所罗列、分享的各种技术细节和技巧,当然也可以用于建模优化的技巧和措施,有关这6章所罗列的技术措施和技巧,本章就不重复了,希望读者在实践中将它们有机地结合起来,并应用到具体的业务实践中。