实际上,所有的数据挖掘技术都是以概率论和统计学为基础的。
下面我们将探讨如何用模型来表示简单的、描述性的统计数据。如果我们可以描述所要找的事物,那么想要找到它就会变得很容易。这就是相似度模型的来历——某事物与所要寻找的事物越相似,其得分就越高。
下面就是查询模型,该模型正在直销行业很受欢迎,并广泛用于其它领域。朴素贝叶斯模型是表查找模型中一种非常有用的泛化模型,通常表查询模型适用于较低的维度,而朴素贝叶斯模型准许更多的维度加入。还有线性回归和逻辑回归模型,都是最常见的预测建模技术。回归模型,用于表示散点图中两个变量之间的关系。多元回归模型,这个准许多个单值输入。随后介绍逻辑回归分析,该技术扩展了多元回归以限制其目标范围,例如:限定概率估计。还有固定效应和分层回归模型,该模型可将回归应用于个人客户,在许多以客户为中心的数据挖掘技术之间搭建了一座桥梁。
1、相似度模型
相似度模型中需要将观察值和原型进行比较,以得到相应的相似度得分。观察值与原型相似度越高,其得分也就越高。一种度量相似度的方法是测量距离。观察值与原型值之间的距离越近,观察值的得分就越高。当每个客户细分都有一个原型时,该模型可以根据得分把客户分配到与其最相似的原型所在的客户细分中。
相似度模型有原型和一个相似度函数构成。新数据通过计算其相似度函数,就可以计算出相似度得分。
1.1、相似度距离
通过出版社的读者比一般大众要富有,而且接受教育的程度要高为例。通常前者要比后者在富有程度、教育程度的比例大三倍。这样我们就可以给读者一个讯息——“工资很高,并且受过良好的教育”。
如果要把对读者的描述表示成一个可以识别该杂志潜在的读者的模型,就需要对理想的读者做出精确的定义,并以此来量化潜在读者与理想读者之间的相似程度。
相似度和距离是同一概念的两种不同描述方式,但是它们度量的方向不同。使用距离作为度量指标时,如果两个事物彼此非常靠近,那么两者就很相似。所以当两者距离很小时,相似度就会很高。
例如:出版社的理想读者的受教育程度是16年,年收入100000美元。那么受教育14年,年收入75000美元的潜在客户与理想客户之间的相似度是多少呢?另外它们与受教育12年,并且年收入为150000美元的潜在客户又有多少相似呢?这时候,我们要选择一个度量的标准,欧式距离。当我们计算一潜在客户与理想客户(x=16,y=100000)之间的距离时,就会发现收入在计算中占了主导地位,因为它的取值比教育年限大的多得多。这就引入另一个问题:度量尺度。解决方法:将两值分别减去相应的平均值然后除以相应的标准差。这样就把两者转化成分数,然后用分数代替原来的值来计算欧式距离。
欧式距离仅计算距离方法之一。这里才采用欧式距离只是为了将原型目标的一种统计描述与某种距离函数结合起来,搭建一种相似度模型。有了潜在用户与理想客户之间的距离,就可以对潜在客户排序,或者将距离作为另一种计算的输入,得到预期收入或相应概率。
1.2 、构建相似度模型的步骤
构建相似度模型,首先是要对原型进行描述,或得到一个用于与其他对象进行比较的理想对象。这些描述必须表示为度量,对于那些与理想值较近或较远的对象,这些变量的取值要明显不同。
首先,要解决三个问题
(1)“差”记录与“好”记录有什么区别?
(2)理想的“好”记录看起来是什么样子的?
(3)如何度量与理想对象之间的距离?
2、表查询模型
实现数据挖掘模型的一个简单方法就是查询表。表查询模型思想就是:相似的人所作出的反应也相似。对一个新观测值的评分涉及两个步骤。一、为观测值指定一个特定的标签或主键。主键对应于查询表中的一个单元格。二、被分配到某一个单元格的所有记录都会有一个得分,该分值在模型训练时就被赋予该单元格。
分配主键的方式有多种。决策树模型适用了规则集将观测值分配到特定的叶节点,叶节点的ID就可以作为一个可用于查询得分的主键。聚类技术为记录指定标签,这里的聚类标签就可以作为查询主键。
构建查询表,一、为查询表选择输入变量。将训练集中的每条记录精确地分配到该表中的一个单元格中。使用训练集中的统计数据来刻画单元格的特征,这些统计数据包括平均值、标准差以及落入该单元格的训练实例个数。在为模型评分的时候会用到这些统计数据。分数可以是数值型目标的平均值,也可以是属于某一特定类别的比例,或者是单元格中占主导地位的类别。
2.1、选择维度
每个维度都应该是一个对目标有影响的变量。理想情况,输入变量不应该彼此相关,实际上,很难避免之间不相关。相关变量的实际影响是,训练完成后有些单元格仅含有几个训练实例,这会使得估计值的置信度偏低。实际情况可能好点,因为要评分的新数据在那些单元格中也是稀疏的。
例如:在RFM模型中,有一个维度是采购总数,还有一个维度是整个生存期的花费。在两个变量高度相关,因为通常情况下,额外的购买会创造额外的收入。很少有记录会落入到购买数量***而收入却很少,或收入很高而采购量却很少的单元格情况。
应该避免使用高度相关的变量作为查询表的维度,因为这些相关变量会导致大量的稀疏的单元格。包含训练样本过少的单元格会产生置信度偏低的目标估计值。
对维度数的主要限制是单元格中训练记录的数量。在维度数与每个维度上分到的训练样本数之间有一个权衡。使用较少的维度,可以在每一个维度上进行更加精细的划分。在实际处理过程中,可能会出现该单元格中什么都没有,有的时候这种情况是确实存在的。这种异常情况,表中应该包含具有默认得分的单元格,这样就可为那些与任意主键不匹配的记录分配得分。典型的默认异常单元格得分,就是平均值。
2.2、维度的划分
在实际的过程中,并不需要,每一个类别划分一个维度。维度的分割应该依实而用。对于一个维度的合理划分是按高、中、低划分,而对另一个维度的合理划分可能是按照百分比来划分。有的时候,根据业务规则来定分割点,遵循这些特定的分割点划分记录可能那个比等分划分更有意义。有监督的分割,可以用于确保分割的有效性。这个后面在讨论。
2.3、从训练数据到得分
维度划分好以后,在训练集上计算每个单元格的得分就简单了。对于数值型目标而言,得分=平均值。对于类别目标,每个类别会有一个得分=每个单元格类标签的比例。这样对于每个类都有一个概率估计,即待评分的数据记录属于该类的概率。
2.4、通过删除维度处理稀疏和缺失数据
有些单元格没有分配到足够多的数据,这会导致目标估计值的置信度较低。对于这类单元格该怎么办?一、减少每个维度上的划分数量。二、减少定义稀疏单元格的维度数。
例如:构建某购物网站物品清单价格的竞争力模型。基于清单熟悉感,点击吸引力的分析考虑四个维度:
- 产品
- 地域
- 供应商类型
- 星期几
对于一些比较受欢迎的产品,使用这四个维度是有道理的。而对于不受欢迎的商品,没有足够多的清单来支持所有维度,所以要丢弃一些维度。对于一些产品,放弃星期几这一维度就OK。对于已协商产品,只是基于三个维度而不是基于四个维度之间的比较。对于一些产品,甚至只留下一个维度,对于这类产品,要做的就是持续删除维度并合并单元格,直到每个单元格含有足够的多的数据。
3、RFM:一种广泛使用的查询模型
RFM模型,称为近期、频率以及货币。RFM背后的逻辑很简单。近期下单的客户在不久的将来再次购买的概率可能性非常大。在过去有许多购买记录的顾客更有可能在不久的将来再次购买,并且在过去消费较多的客户更有可能在将来消费更多。RFM是一种***化现有客户收益的技术,而不是吸引新客户的技术。
将客户分配大RFM单元中,三个RFM变量需要转化为三个量化指标。近期:距离上次购买的天数或周数,用于得到R的得分。
第二个变量频率,通常是以前下单的总数,记录F的得分。***一个是客户生存期中的总的花费,该值用于创建M的得分。每个维度5等分。由于维度之间具有相关性,如F维和M维,所以各个单元格的客户数量并不相等。要做的就是将所有的数据都分配到合适的单元格中,而且每个单元格要有足够多的记录,从而目标估计值具有一个可以接受的置信度。
3.1、RFM单元格转移
对于每个营销活动,客户都会在RFM单元格之间转移。那些做出响应的客户对增加其消费频率和消费总额,并且会减少距上一次购买的时间。这些新的取值通常都会迁移到单元格中。没有响应的客户也可能因距上一次购买时间的增加而转移到新的单元格。其实这就是定期的数据更新,模型更新。数据的迁移,会导致原来的期望的变化,在数据单元格迁移过程中,要不断的了解客户的需求,及时的更改数据。
3.2、RFM和增量响应建模
增量响应建模的目标是识别那些容易被说服的潜在客户——受营销影响***的人。RFM可以看成是对客户营销活动响应能力的预测。在定义好的RFM单元格之后,需要为每个单元格分配成员,要么是接收营销信息的测试组成员,要么就是不接受该信息的对照组成员。基于测试组和对照组两个分组之间的响应率之差决定了营销活动对于发现潜在客户的能力。对于测试组和对照组之间的响应率差异***的单元格,营销获得产生的影响也是***的。但这些单元格的响应率却未必是***的。