购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.2 案例12:店铺评分系统

以两大电商平台淘宝和京东为例:淘宝天猫的店铺评分体系分为商品体验、物流体验、售后体验、纠纷投诉、咨询体验共5个维度,每个维度下有1~3个指标,每个指标又分档,最终结果会分成2、3、4、5分,总分则是在这5个维度分上进行加权计算得出;京东的店铺评分体系分为用户评价、客服咨询、物流履约、售后服务、交易纠纷、加分项、减分项,总体的设计思路可能大差不差,但京东的这些指标背后有很多算法逻辑,相对的分值也会复杂一些,不过总分也是通过加权得出来的。

那么,类似这样的评分体系如何设计?以下篇幅着重介绍统计学方法构建评分,实际上在一些大公司里经常会听到类似这些达标和画像的工作需要用到算法、模型,但其实算法和模型主要是把构建的对象更加科学化、精准化,其本质仍然需要有一个例如评分体系这样的结构在里面,否则假如不加筛选地使用成百上千个特征让算法自己学习以形成评分体系,大概率的情况下会发现,得出的评分体系不具备业务上的解释性,也就是常说的黑盒,这样对业务优化也是十分困难的,这也是常说的“数据和特征决定了模型的上限,模型和算法只是逼近这个上限”,利用非模型方法构建综合评分,主要是解决3个基本问题:特征、权重及效果评估。

特征选择及处理,特征其实是指对研究对象来讲比较有代表性和描述性的标签,就像可以通过鹰钩鼻来准确地筛选出来一部分人,那鹰钩鼻就是这个人群的特征。特征的选择方法有很多,如过滤法(Filter)、包裹法(Wrapper)、嵌入法(Embedded),每种方法有各自的操作理念,如图2-1所示。总体来讲,特征的选择需要衡量其合理性、冗余性及全面性。

在确定特征合理性的方法上主要介绍两种方法。第1种是熵理论,在一个评分体系的构建中会有很多特征输入,有的特征信息量大,有的特征信息量小,所谓信息量大,就是把本来不确定的事情变得十分确定,于是在数据处理中引用了熵的概念,熵这个字来源于物理学,其定义为热量与温度的比值,反映的是系统的无序性,在这里把特征携带的信息量比作熵,称为信息熵,量化信息熵大小主要有3个因素:①单调性,发生概率越高的事件,其所携带的信息熵越低,例如“太阳从东方升起”是一个确定的事件,基本不携带任何信息量,不管是对于什么对象,这个信息都无法消除任何不确定性,因此这个特征的信息熵为0;②非负性,也就是信息熵不可能是负数,因为对一个对象的描述不可能在得到一个新的信息后反而增加了不确定性,这是不合逻辑的;③累加性,多个随机事件同时发生存在的总不确定性是可以表示为各事件不确定性的和的。克劳德·香农从数学上严格证明了满足上述3个条件的随机变量不确定性度量函数具有唯一形式,如式(2-1)所示。

图2-1 特征选择方法类型图

如果在一个评分系统当中又进来了一个新的标签,则可按照新的标签的每个值对原特征进行分类,然后在每个小类里都计算一个小熵,再对每个小熵加权求和,称为条件熵,如式(2-2)所示。用另一个标签对原来的特征分类后,原标签的不确定性会减小,因为多了新标签的信息,而信息熵和条件熵的差值就是该信息的信息增益,即新增信息后原信息的不确定性降低的幅度。

第2种是IV值,IV值是以证据权重(Weight Of Evidence,WOE)为基础进行计算的,WOE相当于对原先的一个变量进行分组处理,如分箱或者离散化,常用的离散方法如等宽分组、等高分组,或者利用决策树分组。分组后对于某个分组 i ,WOE的计算公式如式(2-3)所示,其含义是“当前分组中响应用户占所有响应用户的比例”和“当前分组中没有响应的用户占所有没有响应用户的比例”的差异。

也可以理解为当前组中正负样本的比值与所有样本中正负样本比值的差异。差异越大则WOE越大,这个分组里的样本响应的可能性就越大,而IV值衡量的是一个变量的信息量,相当于是自变量WOE值的一个加权求和,其值的大小决定了自变量对于目标变量的影响程度。特别地,在变量的任何分组中都不应该出现响应数为0或非响应数为0的情况,这反映到实际的特征上意味着这个标签对全量适用或者不适用,可以直接把这个分组做成一个规则,作为特征模型的前置条件。

确定完特征的合理性之后,需要进行特征的冗余性检查,实际上即使特征冗余对整体特征模型的准确性影响不大,但在计算的过程中往往意味着不必要的复杂,一般来讲,检查冗余性主要通过相关性的度量来筛选,最常用的一种相关系数是皮尔森相关系数,也称为皮尔森积矩相关系数(Pearson Product-moment Correlation Coefficient),一般记为 r ,用来反映两个变量 X Y 的线性相关程度,如式(2-4)所示, r 值介于-1到1之间,绝对值越大表明相关性越强。

使用皮尔森相关系数有几个需要注意的基本点:第一,皮尔森相关系数是用来衡量线性相关性的,因此在数据的分布不清楚的情况下,直接比较皮尔森相关系数不能说明任何问题,就算是皮尔森相关系数大(非线性相关也会使皮尔森相关系数很大),也不能说明两个变量线性相关,必须画出散点图进行比较;第二,离群点对皮尔森相关系数的影响很大,观察公式也可以知道,皮尔森相关系数基于平均值、方差,因此离群点会导致较大偏差,在实际检验过程中需要根据实际情况判断是否将其剔除;第三,皮尔森相关系数的假设检验部分用到的是t检验的方法,实验数据是成对地来自正态分布的总体,两个变量的观测值也是成对的,每对观测值之间相互独立。

完成了特征的相关性检验其实相当于筛选出了有效且相互不太重叠的标签了,但是筛选出可以构成特征的标签也会存在置信问题,例如商家,只成交了一笔订单并收获好评,是否意味着这个商家就是最好的商家呢?同样地,另一个商家只成交了一笔订单并收获差评,是否意味着这个商家就是最差的商家呢?因此对特征还需要进行置信度处理,并且实际上正常的置信处理基本上会基于样本服从正态分布去进行,但在小样本时并不可靠,因此进行特征处理时,经常会用到威尔逊区间。来看个实际的案例,在如大众点评、美团等一些非常注重评分系统的App上,在样本量小的初期多多少少也会通过威尔逊区间去做评分的处理,对于一个商家的评价这件事有几个基本的事实:①每个用户的投票都是独立事件。②用户只有两个选择,要么点赞,要么差评。③如果投票的总人数为 n ,其中点赞的数量为 k ,则点赞的比例 p 就等于 k / n 。威尔逊的思路是, p 越大,就代表这个项目的好评比例越高,越应该排在前面,但是, p 的可信性取决于有多少人投票,如果样本太小, p 就不可信,但是可以知道的是,由于 p 是二项分布中某个事件的发生概率,所以可以计算出 p 的置信区间,因此这个好评率的标签就可以分为3个步骤,第1步:计算每个对象的好评率;第2步:计算每个好评率的置信区间;第3步:根据置信区间的下限值进行排名,值越大排名就越高。当然这样的做法会导致排行榜前列总是那些票数最多的对象,新对象或者冷门的对象很难有出头的机会,排名可能长期靠后。

在完成了上述的一些特征的必要性处理之后,针对特征还可以做一些优化处理,其中最常见的就是去量纲化,去量纲化可以消除特征之间量纲的影响,将所有特征统一到一个大致相同的数值区间内,以便不同量级的指标能够进行比较和加权处理,主要的去量纲化方法有3种,适用于不同类型的数据,第1种是0-1标准化,也叫归一化,是让不同维度之间的特征在数值上有一定比较性,这样可以大大地提高分类器的准确性。归一化的缺点是最大值和最小值非常容易收到异常点的影响,当样本中有异常点时,归一化有可能将正常的样本挤到一起,例如3个样本的值分别为1、2、10 000,那对这样的3个样本归一化之后,1和2会被挤到一起,即被视为同一类值,但实际情况中1、2反而可能是样本标签的两端,因此这种方法的稳健性(稳健是Robust的音译,也就是健壮和强壮的意思。它也是在异常和危险情况下系统生存的能力。例如,计算机软件在输入错误、磁盘故障、网络过载或有意攻击的情况下能否不死机、不崩溃,就是该软件的稳健性)较差,只适合传统精确小数据场景。第2种是正态标准化,这种方法只适合正态分布的数据,对异常值的缩放有限。第3种是分箱,类似排序,这种方法对异常数据有很强的稳健性,分箱的方法一方面可以将缺失值作为一类特殊的变量一同放进特征里面,另一方面分箱后降低模型运算复杂度,提升模型运算速度,对后期生产上线较为友好,分箱的弊端也很明显,分箱处理的过程相当于对标签值做了进一步细分,这个处理过程是多出来的。

经历过上述步骤以后,基本可以把一个特征需要用到的各种标签筛选出来了,下一步对特征的标签值做权重设计,就例如一个店铺是不是好店铺,肯定会优先去关注例如销售商品好不好,发货时效好不好,消费者的评价好不好,至于店铺面积大不大,装修好不好就会次一些,再后面如服务员声音好不好听,店内有没有卫生间就是对于评价是不是好店铺相对更不重要的标签了,因此每个标签对于特征都有不同的权重值。 5h0LwGN3G8MymrQBh2t8XaBCFVW+26M5s5HZT3jltdeI23iP1buuOe2kPxkMMvgr

点击中间区域
呼出菜单
上一章
目录
下一章
×