|
实际上,所有的数据挖掘技术都是以概率论和统计学为基础的。
$ k! v$ A' p9 @, H/ Y0 B1 A$ r下面我们将探讨如何用模型来表示简单的、描述性的统计数据。如果我们可以描述所要找的事物,那么想要找到它就会变得很容易。这就是相似度模型的来历——某事物与所要寻找的事物越相似,其得分就越高。
8 K8 z! N! W" `1 w- m下面就是查询模型,该模型正在直销行业很受欢迎,并广泛用于其它领域。朴素贝叶斯模型是表查找模型中一种非常有用的泛化模型,通常表查询模型适用于 较低的维度,而朴素贝叶斯模型准许更多的维度加入。还有线性回归和逻辑回归模型,都是最常见的预测建模技术。回归模型,用于表示散点图中两个变量之间的关 系。多元回归模型,这个准许多个单值输入。随后介绍逻辑回归分析,该技术扩展了多元回归以限制其目标范围,例如:限定概率估计。还有固定效应和分层回归模 型,该模型可将回归应用于个人客户,在许多以客户为中心的数据挖掘技术之间搭建了一座桥梁。 3 G, {4 c. q, U8 K
1、相似度模型 1 F6 p+ p0 `! Z8 s! M! T1 X. d
相似度模型中需要将观察值和原型进行比较,以得到相应的相似度得分。观察值与原型相似度越高,其得分也就越高。一种度量相似度的方法是测量距离。观 察值与原型值之间的距离越近,观察值的得分就越高。当每个客户细分都有一个原型时,该模型可以根据得分把客户分配到与其最相似的原型所在的客户细分中。
2 l" e* r/ k: b4 |0 l8 ]( q7 @相似度模型有原型和一个相似度函数构成。新数据通过计算其相似度函数,就可以计算出相似度得分。
9 H5 X/ A- S; p; |% E) _1.1、相似度距离
/ m: d0 W) r2 B! ^: k通过出版社的读者比一般大众要富有,而且接受教育的程度要高为例。通常前者要比后者在富有程度、教育程度的比例大三倍。这样我们就可以给读者一个讯息——“工资很高,并且受过良好的教育”。
/ `3 ?# d) n* Q& q( d2 H+ B `如果要把对读者的描述表示成一个可以识别该杂志潜在的读者的模型,就需要对理想的读者做出精确的定义,并以此来量化潜在读者与理想读者之间的相似程度。
?# ~% H f- J G# n相似度和距离是同一概念的两种不同描述方式,但是它们度量的方向不同。使用距离作为度量指标时,如果两个事物彼此非常靠近,那么两者就很相似。所以当两者距离很小时,相似度就会很高。
# V, D& y5 ^& }4 R* D: y例如:出版社的理想读者的受教育程度是16年,年收入100000美元。那么受教育14年,年收入75000美元的潜在客户与理想客户之间的相似度 是多少呢?另外它们与受教育12年,并且年收入为150000美元的潜在客户又有多少相似呢?这时候,我们要选择一个度量的标准,欧式距离。当我们计算一 潜在客户与理想客户(x=16,y=100000)之间的距离时,就会发现收入在计算中占了主导地位,因为它的取值比教育年限大的多得多。这就引入另一个 问题:度量尺度。解决方法:将两值分别减去相应的平均值然后除以相应的标准差。这样就把两者转化成分数,然后用分数代替原来的值来计算欧式距离。
5 o; x J) p" e欧式距离仅计算距离方法之一。这里才采用欧式距离只是为了将原型目标的一种统计描述与某种距离函数结合起来,搭建一种相似度模型。有了潜在用户与理想客户之间的距离,就可以对潜在客户排序,或者将距离作为另一种计算的输入,得到预期收入或相应概率。 9 }% Q1 [' a9 g( U1 T+ e2 L" k/ T
1.2 、构建相似度模型的步骤
/ k u0 h! [+ L0 L构建相似度模型,首先是要对原型进行描述,或得到一个用于与其他对象进行比较的理想对象。这些描述必须表示为度量,对于那些与理想值较近或较远的对象,这些变量的取值要明显不同。 $ P& A$ u- D" v+ H
首先,要解决三个问题 9 b3 m& T" Q3 O
(1)“差”记录与“好”记录有什么区别?
/ S: u! F7 [& |0 M5 ?, ^2 R3 p(2)理想的“好”记录看起来是什么样子的?
" X; @2 I9 y) s, z3 ~& |/ a(3)如何度量与理想对象之间的距离? ; k" j9 R5 ^0 _5 n4 n
2、表查询模型 $ @* P% f$ r8 S- J( T2 O
实现数据挖掘模型的一个简单方法就是查询表。表查询模型思想就是:相似的人所作出的反应也相似。对一个新观测值的评分涉及两个步骤。一、为观测值指定一个特定的标签或主键。主键对应于查询表中的一个单元格。二、被分配到某一个单元格的所有记录都会有一个得分,该分值在模型训练时就被赋予该单元格。 _& X, X9 B* K" Z6 k" [8 X- V* k3 a
分配主键的方式有多种。决策树模型适用了规则集将观测值分配到特定的叶节点,叶节点的ID就可以作为一个可用于查询得分的主键。聚类技术为记录指定标签,这里的聚类标签就可以作为查询主键。
+ y( v: H) d4 \; C/ H构建查询表,一、为查询表选择输入变量。将训练集中的每条记录精确地分配到该表中的一个单元格中。使用训练集中的统计数据来刻画单元格的特征,这些 统计数据包括平均值、标准差以及落入该单元格的训练实例个数。在为模型评分的时候会用到这些统计数据。分数可以是数值型目标的平均值,也可以是属于某一特 定类别的比例,或者是单元格中占主导地位的类别。
( T) K/ k+ G8 e2.1、选择维度 9 J9 q6 f0 I G8 q* K
每个维度都应该是一个对目标有影响的变量。理想情况,输入变量不应该彼此相关,实际上,很难避免之间不相关。相关变量的实际影响是,训练完成后有些单元格仅含有几个训练实例,这会使得估计值的置信度偏低。实际情况可能好点,因为要评分的新数据在那些单元格中也是稀疏的。
" |9 V' o( h+ k- c! S P0 p例如:在RFM模型中,有一个维度是采购总数,还有一个维度是整个生存期的花费。在两个变量高度相关,因为通常情况下,额外的购买会创造额外的收入。很少有记录会落入到购买数量最大而收入却很少,或收入很高而采购量却很少的单元格情况。 2 g- s# a, e/ n' H. J
应该避免使用高度相关的变量作为查询表的维度,因为这些相关变量会导致大量的稀疏的单元格。包含训练样本过少的单元格会产生置信度偏低的目标估计值。
+ s2 |) O5 N8 A, g& Y) n3 P对维度数的主要限制是单元格中训练记录的数量。在维度数与每个维度上分到的训练样本数之间有一个权衡。使用较少的维度,可以在每一 个维度上进行更加精细的划分。在实际处理过程中,可能会出现该单元格中什么都没有,有的时候这种情况是确实存在的。这种异常情况,表中应该包含具有默认得 分的单元格,这样就可为那些与任意主键不匹配的记录分配得分。典型的默认异常单元格得分,就是平均值。
/ ?/ T; ~$ Z v& U3 @( P4 k. ?2.2、维度的划分 $ ~' n( C, t0 N! f3 x
在实际的过程中,并不需要,每一个类别划分一个维度。维度的分割应该依实而用。对于一个维度的合理划分是按高、中、低划分,而对另一个维度的合理划 分可能是按照百分比来划分。有的时候,根据业务规则来定分割点,遵循这些特定的分割点划分记录可能那个比等分划分更有意义。有监督的分割,可以用于确保分 割的有效性。这个后面在讨论。
7 O) I* k& A& g+ f" d2.3、从训练数据到得分 ! ^) A/ H. Q( x
维度划分好以后,在训练集上计算每个单元格的得分就简单了。对于数值型目标而言,得分=平均值。对于类别目标,每个类别会有一个得分=每个单元格类标签的比例。这样对于每个类都有一个概率估计,即待评分的数据记录属于该类的概率。
- r+ O% B7 R' b2.4、通过删除维度处理稀疏和缺失数据 9 N) ^3 C0 ~- q& K
有些单元格没有分配到足够多的数据,这会导致目标估计值的置信度较低。对于这类单元格该怎么办?一、减少每个维度上的划分数量。二、减少定义稀疏单元格的维度数。 ; O3 i5 t/ }- Q
例如:构建某购物网站物品清单价格的竞争力模型。基于清单熟悉感,点击吸引力的分析考虑四个维度:
) ~: Q" ]3 d C# ]8 X) q产品 4 u8 r( h( Z. `; ?- D
地域
/ U6 t+ x# P/ O. R# Q0 B# W供应商类型
! I) \" j3 C6 f! ] ]4 ^星期几
! r4 U" S5 P: u, ]. ^: R* B( e' p: }对于一些比较受欢迎的产品,使用这四个维度是有道理的。而对于不受欢迎的商品,没有足够多的清单来支持所有维度,所以要丢弃一些维度。对于一些产 品,放弃星期几这一维度就OK。对于已协商产品,只是基于三个维度而不是基于四个维度之间的比较。对于一些产品,甚至只留下一个维度,对于这类产品,要做 的就是持续删除维度并合并单元格,直到每个单元格含有足够的多的数据。 $ `0 n! r3 [( w& B+ v
3、RFM:一种广泛使用的查询模型 * D$ d+ y+ e, X* ^* m# w( w2 N
RFM模型,称为近期、频率以及货币。RFM背后的逻辑很简单。近期下单的客户在不久的将来再次购买的概率可能性非常大。在过去有许多购买记录的顾 客更有可能在不久的将来再次购买,并且在过去消费较多的客户更有可能在将来消费更多。RFM是一种最大化现有客户收益的技术,而不是吸引新客户的技术。
) D8 e: V. @1 B* u4 {9 r将客户分配大RFM单元中,三个RFM变量需要转化为三个量化指标。近期:距离上次购买的天数或周数,用于得到R的得分。
* K, Q% O4 Z0 D8 W第二个变量频率,通常是以前下单的总数,记录F的得分。最后一个是客户生存期中的总的花费,该值用于创建M的得分。每个维度5等分。由于维度之间具 有相关性,如F维和M维,所以各个单元格的客户数量并不相等。要做的就是将所有的数据都分配到合适的单元格中,而且每个单元格要有足够多的记录,从而目标 估计值具有一个可以接受的置信度。 # }, O: \) w" |# o& O7 z
3.1、RFM单元格转移 $ L( n+ r7 P {& E' G
对于每个营销活动,客户都会在RFM单元格之间转移。那些做出响应的客户对增加其消费频率和消费总额,并且会减少距上一次购买的时间。这些新的取值通常都会迁移到单元格中。没有响应的客户也可能因距上一次购买时间的增加而转移到新的单元格。其实这就是定期的数据更新,模型更新。数据的迁移,会导致原来的期望的变化,在数据单元格迁移过程中,要不断的了解客户的需求,及时的更改数据。
2 q: m2 i9 q* q% f9 A) B3.2、RFM和增量响应建模
! c: @1 |: F, [; P: \2 j增量响应建模的目标是识别那些容易被说服的潜在客户——受营销影响最大的人。RFM可以看成是对客户营销活动响应能力的预测。在定义好的RFM单元 格之后,需要为每个单元格分配成员,要么是接收营销信息的测试组成员,要么就是不接受该信息的对照组成员。基于测试组和对照组两个分组之间的响应率之差决 定了营销活动对于发现潜在客户的能力。对于测试组和对照组之间的响应率差异最大的单元格,营销获得产生的影响也是最大的。但这些单元格的响应率却未必是最大的。 4、朴素贝叶斯模型
# [) I5 d1 F% f! m0 @' a# w# [) V表查询模型简单有效,但是存在一个问题。随着输入数量的额增加,每个单元格中训练样本的数量会迅速减少。如果维度为2,且每一维有10个不同的变 量,那么就需要100个单元格,而当有3个维度时,就需要1000个单元格,4个维度就是10000.这样成指数级的增长,哪怕的传统数据挖掘中都会遇到 明显瓶颈。
4 g$ i: U- L6 z6 F8 }6 z4 f当试图预测某一个概率值时,朴素贝叶斯模型就提供这一办法。基本思想:每个输入变量本身就包含一些预测需要的信息。比如目标变量是取消业务的概率, 解释变量是市场、获取渠道、初始信用评分、利率计划、电话号码类型、手机号以及客户年龄。这些变量都具有预测能力。根据取消率的显著差异性,可将每个变量 划分在不同的范围中。
1 |8 y: k0 E6 O$ b简单理解:条件概率是指给定B的条件下A的概率以及给定A的条件下B的概率。
d# P' b1 D" F' S L2 h解释:给定B的条件下A发生的概率,等于给定A的条件下B发生的概率乘以A和B发生的概率的比例。
( K& I0 _- R; R如果A代表停止续签,B代表使用黑莓手机,然后给定使用黑莓手机的条件下停止续签的概率,就是给定停止续签的条件下使用黑莓手机的概率乘以总体停止续签的概率与总体使用黑莓手机的概率之比。
& z w/ T4 _2 l2 v. m4.1、概率、几率和释然 " [* J/ r# ~1 j8 g# S9 Q' r
·概率:0到1之间的一个数字,表示一个特定结果发生的可能性。一种估计结果概率的方法是计算样本数据中出现结果次数的百分比。 " w; u: [8 \$ x% [+ w. u
·几率:某一特定结果发生于不发生的概率比。如果一个事件发生的概率是0.2,那么不发生的概率是0.8。那么其发生的几率就是1/4。几率的取值是0到无穷。
# O2 @; P3 k. Q) |0 ?5 ^- h' o) f·似然:两个相关的条件概率比。即给定B发生的情况下,某一特定结果A发生的概率和给定B不发生的情况下A发生的概率之比。
& x# M% ^) C$ [4.2、朴素贝叶斯计算
: I8 f0 m6 {- t+ B对任意数量属性中的每一个属性,朴素贝叶斯公式都将目标事件的几率与该事件的似然联系起来。回到基于营销市场、渠道获取、最初信用评分、费率计算、电话号码类型、手机型号以及客户年龄来预测客户流失的例子。例如上面谈到的黑莓手机续签的案例,我们关注的是。1、停止续签的总体几率。2、黑莓手机用户停止的似然。3、在整个州市场停止续签的似然。 / ~0 A7 p1 U1 u, \* ?
之所以定义为“朴素”,是基于所有似然相乘都基于输入变量相互独立的假设。在这个案例中,假设的是使用黑莓手机的似然与市场独立(并且存在于该州的似然与手机类型独立)。而在实际中,这种真正相互独立的情况很少见。 7 V% b- ]9 _% w6 N
朴素贝叶斯模型最吸引人的点:对于待评分的观测,如果缺失某些输入值,可以简单地将缺失的似然从模型中去掉。意味着,包含那些并不 是对所有有用都可用的输入(用户年龄),但如果知道这些变量,它们就有用。给定不同输入的概率,且这些输入与停止续签相关,朴素贝叶斯公式就可以计算停止 续签的几率,而公司对这种停止续签的用户更感兴趣。
* V" T/ o* D7 T: B- w- g0 w# Z+ A! p& @" K4.3、朴素与表查询模型的比较
& U5 g% R( E/ r; u对于概率型目标来说,朴素贝叶斯模型和表查询模型密切相关。两者之间的主要区别就在于如何使用维度。在表查询模型中,使用所有维度依次定义单元格, 然后计算每一个单元格的目标概率。因此,表查询模型可以获取变量之间的相互作用。在朴素中,需要为每一个维度单独计算似然,之后组合这些似然,从而计算出 目标概率。似然的组合有一个假设:各维度关于目标彼此独立。表查询没有说明这样一类属性的组合关系,即由于在训练数据中出现的频率很低,导致这些概率很低 的属性就不会出现。
2 ?0 V1 K, g2 Y& S J在朴素模型中可以预测任何从未出现过的组合,但要这样做,就必须假设这些输入所造成的影响彼此独立。表查询模型没有这样的假设,所以当数据多到可以支持一个可信的估计模型时,表查询模型也许会做的更好。
' Q* u9 F6 x* S8 D9 W$ f" |+ y5、线性回归 2 Z- e q, g6 L% D9 K, ^( g$ G
回归模型也是一种预测建模技术。在Excel中就可以使用线性回归。回归模型也很复杂,这里谈到——最佳拟合曲线。输入变量和目标变量必须都是数值变量,回归方程描述了两者之间的一种算术关系。“最佳的”关系是指最大限度地减少了从数据点到拟合曲线的垂直距离的平方和。
" u+ {1 x; ^ I* M1 [) w) y4 [# O5.1最佳拟合曲线
+ N- Y6 a2 k: w0 V. u' G+ a如下图,显示了一个知名博主发表的一篇文章日浏览率随着时间和被关注度之间的关系。图中使用描点的符号是空心圆,它有助于清楚的显示各点之间的聚集情况。例如,在较短时间内用户的关注度分布非常密集。当使用不同的颜色比较不同的客户组时,这种散点图尤其有用。
2 l( e S* a6 m- ~随着时间的增加,博客的日访问量会越来越低,最后维持到一个水平。画出来的曲线更像是一个双曲线。根据X轴,时间的递增。Y轴,日访问量的增加。我 们可以模拟出这个博主的访问量随时间变化的曲线。如果在保证博客质量的同时,我们就可以预测博主的一篇博客的访问量大致在什么范围。可能这里有很多的误差 或不精确的地方。但是通过拟合曲线,我们更能从直观上看到,曲线的走势。如果曲线更精确的化,我们甚至可以模拟出曲线的函数表达式。 8 g; q5 T: P5 R# M- U. [
如果用作数据点的标记并没有完全拟合,散点图可以传递出更多的信息。最佳拟合曲线的性质:在所有可能的曲线中,最佳拟合曲线指的是从观察点到曲线垂直距离的平方最下的那条曲线,散点图显示了每个点到曲线之间的距离。
$ Y7 C1 {2 e* W k5 D最佳拟合曲线的定义就是最小二乘法的定义。欧式距离公式对该值进行了开方,在没有计算机的年代,计算欧式距离非常困难。当时,高斯提出这一观点,就是利用计算平方和,代替计算距离之和。这样做的目的,就使最佳拟合曲线系数很容易计算。
+ Z8 X2 s# ?9 f- m4 Y2 v, j # F/ J+ Z! _/ s7 F( K0 u
![]() 这里谈到的是线性回归,其实回归模型是一个直线方程,这里只是来描述一个拟合曲线,其实算不上一个回归曲线。在现实之中,更多线性回归的模型很少见,更多的是曲线拟合。
5 Z# F! ~( A( f: E- N6 h5.2拟合的优点 ' o- R P. \1 D0 w5 N+ }
对于一个给定的数据集,总是可以找到一条最佳的拟合曲线。但是,存在很多条曲线,哪条才是最佳的。这里引入“残差”,就是度量预测值与实际值之差。还有一个标准方法,成为,用来衡量描述曲线对观测数据的拟合程度。 3 h1 p5 k7 x- i9 h. v/ o7 j& c1 U
(1)残差 4 o7 S- d9 R( \% m4 H# F+ O, c# H
如图,身高与体重模型的残差。 7 |0 K: ~, j# ?1 M- _5 O
一个无偏模型在丢失高值点方面应与丢失低值点类似。在残差图中,最重要的一点就是,这些值是位于拟合曲线之上的可能性与之下的可能性是否一样。从图中我们也可以看到在曲线上与在曲线下的样本点是不一样的。 6 ~5 d4 X5 [" s
一个良好的模型所产生的估计值应该接近真实值,所以残差应该集中于曲线轴附近。如图中也是可以看到抛离曲线的一些孤立点。这些点出现的原因,可能是由于一些人为记录的原因造成的。
4 W2 n6 c" f+ u# q# u 8 a& T1 d$ r. O( _& x9 r
在统计学中,残差在回归方程中要考虑误差项。最佳拟合曲线的方程是: + T9 M) q9 f7 G/ ^4 r
Y=aX+b
, y7 ~ x' @' S, _) B, b但该曲线,不是完整的模型。统计人员会将模型方程表示为:ε代表误差项,因为X并不能完美的展示Y。误差项表示模型无法解释的Y的部分。 : V- a9 \! Y& w6 A2 k5 M* e$ j
Y=aX +b+ε
' Z) H9 ~6 L& {* X+ B4 Y3 j6 u+ d(2)R(R这里代表是R的平方) - t4 R3 f- `& N6 z9 h
对于最佳拟合曲线,R的取值始终在0~1之间。当该值接近1时,说明该曲线在捕获输入和目标之间的关系方面表现很好。若接近于0,则说明最佳拟合曲线的表现很差。在0~1的范围内,值越大表明两者之间存在很强的关系,越下其关系越下。
' E( h0 T( h5 H3 r/ L/ j& m8 e5 C相比于随机猜测的平均值,模型的估计值有多好。定义简单,但计算起来复杂。R要比较最佳拟合曲线与y平均值的水平线。1减去两个误差的比值可以计算出R。分子式最佳拟合曲线残差的平方和。分母是水平线的残差平方和。R度量了最佳拟合曲线优于均值作为估计的程度。 1 x- R' x# U# ?# E
R度量了数据的稳定性。同一数据集中不同的样本是否会生成相似的模型。当R值较低时,不同的样本可能会表现出非常不同的行为。或者,在此基础上,再加入少量观察值可能会极大地改变模型的系数。当R值较高时,再加入少量观察值就不会有上述的改变。 % E+ l$ g5 m" v1 P
5.3全局效应
( A" S4 n. q3 `& q6 r# T0 S( s- l回归方程能发现数据中的全局模式。即,方程系数应该对范围内的所有输入变量都起作用。这表明回归模型善于捕获那些总是正确的模式,不是产于处理局部模式。 4 r% C6 O3 f9 J
例如,考虑不同年龄的汽车保险购买人的风险。年轻司机的风险较高。随着驾驶人员经验的不断增加,风险会逐步降低。而对年龄很大的驾驶者,风险又会增加。因为年龄很难作为回归方程的输入。因为没有全局模式,对于不同的年龄组,年龄的影响变化又会不同。 1 g6 {4 K" F7 x9 b( A4 O4 M$ |
在很多程度上,这个需要根据建模人员的熟悉程度,可以使用那些在不同取值范围的变量作为输入参数。但是,回归方程本身不会发现局部模式。 9 {6 w4 `! @/ @' ^0 \5 A
6、多元回归 1 A$ I# ~: B! Y7 y f
引入线性回归的那个例子使用了单一的输入——持续期——来解释日访问量随时间的变化。当一个回归模型有多个输入时,就称其为多元回归。
; U. w) H% Q* a6.1、等式 0 D: r0 i! _$ e! |
线性回归模型的一般形式(没有误差项)是:Y=a+a1x1+a2x2+a3x3+…..+anxn。这个方程通过添加更多变量,并为每个变量选定系数,对最佳曲线方程进行了扩展。
* k6 N$ [' o7 B) K( x尽管通过引入更多维度,可以将线性回归的几何解释扩展到多元回归——曲线变为平面再变到超平面。考虑到每个字变量对因变量估计值的贡献会更容易些,即可以由系数决定自变量贡献的大小和方向。 ) i7 D5 c8 u$ u) y4 O. u1 ^+ o
6.2、目标变量的范围 . C8 ]9 P) s% b* |
一个回归方程可以产生任何值。如果对X没有限制,那么Y也是没有限制的。对 Y=aX+b 就可以说明这一点,该方程是一条简单的直线,取值随之X的取值而边变化,从负无穷到正无穷。但实际情况非如此。许多目标变量的范围并不是无穷的,甚至不是 连续的。对于这些情况,统计学家引入了一个链接函数将回归方程产生的Y值映射到目标变量的一个适合的范围。当目标遵循某一已知的分布时,就可以选择一个链 接函数,它产生的值与目标的平均值相同,同时也会产生一个类似的分布。即使不知道确切的分布,也可以引入链接函数将估计映射到目标的一个适当的范围。 $ Q4 a! I5 D: T7 q% Y! Q- b
后面我们会介绍逻辑回归分析,那里使用一个链接函数将线性回归的无穷范围映射到0~1的区间,该区间等价于概率估计。
+ T) u1 q* R, L. |$ @3 e6.3、使用多元回归的其他注意事项
( z9 V1 U+ F: l# H( I回归模型中有多个输入变量时,会产生一些在单一输入中不存在的问题。
# J" a" B* c: Q1 Y. b, g4 E" ^理想情况下,所有输入之间应该线性无关。
! K/ R/ u6 \. U# Z被模型显示地包含的输入之间可能存在相互。
1 @$ \9 I; d9 R* B! h添加一个新输入将会改变所有原输入的系值取值。
9 T5 |; S& N2 ?+ R1 o2 g' v/ ?(1)线性无关 : R3 u( E* `) b% s: {
与朴素贝叶斯类似,多元模型的输入之间应该线性无关。这一位置改变其中一个输入值应该对其他输入值没有影响。实际情况很难实现真正独立性。一般情 况,注意不要包含彼此密切相关的自变量就可以。如果包含这些变量,往往会导致模型的一个输入变量有较大的正系数而另一个输入变量有较大的负系数。两个变量 本质上相互抵消,因此这两个系数的取值并不会对任何变量有真正意义上的影响。 2 ] s- c2 W) }% P3 P* e# f
(2)交互 : `3 c6 c4 B% `0 w. u7 X& ]/ T: r
即使两个变量是完全独立的,它们对目标的影响也可能是相关的。一个冰淇淋的吸引力可能依赖于价格和天气——尤其是某天的炎热程度。这些变量可以认为 是独立的(当然,冰淇淋的价格并不取决于温度,温度可能会影响冰淇淋的价格,但是这里假设不会)。尽管这些变量相互独立,价格对目标的影响扔可能受温度的 影响。当天气炎热的时候,人民不是在意冰淇淋的价额都会购买。当天气寒冷的时候,只有真正物美价廉才可能会吸引人民购买。
4 a5 J K' ]! a类似的,价格的变化对住户率的影响可能会随着距离市中心的远近不同而不同。这就是交互的例子。 ! q0 |- d4 ?/ A" t0 \
当认为交互很重要时,一般情况下,可以通过添加新变量引入这些交互,而这些新变量是标准化交互中涉及变量值的产物。 8 z; d" z' F) ?+ u
(3)添加变量可以改变模型中的原有变量的取值 0 V9 i/ u7 b9 e, m, z# f I
一种很自然的模型开发方法从一个仅有一个输入的简单模型开始,然后通过增加变量逐步提高其复杂性。如果所有输入变量都是完全独立的,那么添加或删除 其中一个变量不会更改模型中的其他变量的系数。但是输入变量几乎不可能完全独立,所有包含另一个变量会改变系数的大小,甚至可能改变模型中其他原有变量系 数的正负值。 * g- `! M5 `( b' [5 J8 x/ r W
6.4、多元回归的变量选择 " V9 Z t' E8 Q" l: A
多元回归模型在有大量输入时,它的表现并不理想。选择正确的输入变量对任何建模而言都是最重要的部分。这里谈到“领域知识”,就是首先要考虑的是对 该问题所知道的一些先验知识以及以往人民解决此类问题的额方法。有的时候领域知识对一时模型的预测可以提供一个很好的指标指向。
4 x9 G4 `5 A L0 K8 X4 [( v0 k当使用领域知识和常识创建了一张候选变量列表后,用于创建回归模型的软件通常可以帮助使用者选择出模型所需的最好变量。使用的方法:
3 y( k7 v" u0 k8 l# p. X(1)前向选择
8 W" Z% `5 K; r7 M _前向现在开始使用一组输入变量,其中一些变量或全部变量都可以出现在最终模型里。第一步是为每一个输入变量创建一个单独的回归模型;如果有n个输入 变量,那么第一步会考虑具有一个输入变量的n个不同的回归模型。选择测试得分最高的模型所对应的变量作为前向选择模型中的第一个变量。
8 i; L; m" l; q选择最佳模型的一种方法是选择R值最低的模型。另一种方法是使用统计检验中F-检验的方法。最好的模型是在验证集上的误差最小的模型。这看上去更像是数据挖掘,因为它使用了验证集,并没有对输入或目标值做出任何假设。 6 d* [2 @: m* ~# N Q" r
选定了第一个变量后,这以过程会在此重复进行。第二次通过将每个剩余变量与第一步已选定的变量组合以创建包含有两个输入变量的n-1个回归模型。这些模型中最好的模型将会是下一次迭代的基础,下次迭代会测试带有三个变量的多元回归模型。持续这一过程直到满足某些停止条件为止。终止条件可以是到达最大的选择变量个数,或者继续增加变量不能在继续提高模型的某个阈值。 / W! u$ `% z& I! X
(2)逐步选择 ; Z5 L7 m" n) `0 T, Y
逐步选择与前向选择非常类似,只有一点不同。在每个步骤中除了增加一个变量外,还可以删除一个变量,较早进入模型的一个变量可能由于后续变量的联合作用而不再是有效变量。
- V. L# J' A1 U% {(3)后向消去 ; L+ l& W& B9 T
后向消去选择变量的方法首先使用所有的n个输入变量创建了一个多元回归模型。使用统计检验,消去较糟糕的变量,然后重置该模型。持续该过程直到满足某些停止条件,比如到达理想变量的最小数目。
( |) b; c. `* I. |+ R7、逻辑回归分析
, ?; F' e8 L; i: J3 M# P& T线性回归模型有一种特殊的形式。该形式对任意数量的输入变量都可用,但当只有一个输入变量时,效果最明显。回归公式是一条直线方 程。直线的一个属性是它可以向两端无限延伸。除与X轴平行的直线外,回归模型没有最大值和最小值。这些属性使得线性回归模型适用于估计那些取值范围可能很 广的连续变量。 " L$ l* L5 p3 K c: y
相同的属性使得线性回归模型适用于建模无界的、连续的目标,而不适于建模二元结果,比如是否或好坏。因为二元问题是极其常见的,这就逻辑回归分析模型。 8 T- c4 R- Z! D+ s0 w& U
7.1建模二元输出
- a. x$ y7 E3 F建模二元输出似乎不像是一个评估任务。有两个类别的,任务是将每条记录分配到其中的一个类。这就是一个分类任务。然而,该任务可以重述为“某个记录属于其中一个类的概率是多少?”,因为概率是数字,这个问题就转化为一项评估任务。
% q4 l( L1 ~: G4 y(1)使用线性回归评估概率 " i; K0 q! f O: X1 `
在谈到基于客户的持续期估计订阅在报纸上的支付额度模型上。呼叫中心通过与用户取得联系,其中一些客户同意签订订阅协议。签订合约不久后他们便开始 接收报纸,随后他们要支付一笔账单。一些新用户不会抽时间来支付这第一张订单,从而消减了报纸的收入。一段时间后,没有支付订单的客户被停止收到报纸,其 中一些支付账单的新客户并有可能在很长时间后成为良好的客户。不过在前面几个星期,客户不愿意付款的可能性非常大。 / ]$ Y* ~% D- R. _7 y p
目标值为0可以表示为从未付款的客户,为1的表示付过款的客户,所有这里会存在一条最佳拟合曲线。但不能保证这是一个好的模型。因为在超过一定天 后,这一概率轨迹值大于1,而且这一估计值会随着持续期的增加而无限的增加。这就是直线的性质:显然存在弊端,没有最大值或最小值。
$ D6 v6 g9 H+ J2 E(2)将回归直线弯成曲线
8 b9 ~( T9 E, h% \* H w- u/ J显然,直线不是一个估计概率的合适形状。逻辑回归分析通过将回归直线弯成一个更合适的形状来解决这一问题。我们要获得一个取值范围在0~1之间的函数。这就是逻辑函数。 * u M, }- `) ]+ ]
7.2、逻辑函数
+ ?/ |! u% k" `6 j2 s6 S. j6 r朴素贝叶斯模型是乘以一串似然来估计几率,然后将其转换成概率。把线性回归转换成逻辑回归也使用了这类技巧。 4 r( `! I% ~! L. ]1 }* v. \
第一步:通过P与1-P之间将概率P转换为几率。几率和概率表示同一件事情。不同点在于,概率取值范围0~1,几率是0到正无穷。在去几率的对数值以生成一个从负无穷到正无穷的函数。 2 Q, H3 G2 @& ~8 v
从这一点来看,概率被转换为一个从负无穷到正无穷的连续函数——这正式线性回归的优势。把几率的对数值作为目标变量而建立回归方程。
# G; D5 w2 j/ r g; W方程结果为: ) a$ I/ y! `9 @( Z+ h* |) Q
这就是逻辑函数。逻辑函数本身有一个特征,就是S曲线。该模型的参数向左或向右弯曲,并对其进行拉伸或收缩。一个好的属性是:在原 点处,曲线的斜率大约为45%,而曲线在-1到1之间区域接近一条直线。除此之外,它变得很平坦,一直保持在0-1之间。这就是一条非常适合概率的曲线。 - [1 Z' }4 g% S' _, G
尽管逻辑回归看起来比直线更“弯曲”,但它只能发现全局模式,而不是局部模式。局部模式的获取需要显示的体现在变量确定其影响。为线性回归找出最佳拟合曲线所使用的普通最小二乘法并不适用与逻辑回归分析,它使用最大似然的方法,通过最大似然法拟合模型。
; ^2 B6 \+ ?+ J最大似然法拟合模型
( j/ I/ k( B# B& K2 \$ i- q' }) `拟合任何类型的参数模型对意味着要使用数据来找出最佳参数,利用这些最佳参数计算的预测值与实际值尽可能相符。这与模型评分的情况恰恰相反。在评分过程中,给定一组参数值模型,模型为某些输入产生最佳的估计值。
5 u5 J6 q1 b3 e" w3 v; `给定一个待定的参数值和一组观察值,这一函数返回该参数值正确的概率。虽然一般不存在这样的函数,但在给定参数的情况下,训练集中出现目标值的概率 和参数的似然之间存在一个有用的关系——成正比。似然是不确定性相关的一种度量,这与概率是一种绝对度量的情况不同,但使用似然相比较与候选参数优势已经 明显。似然函数的实际计算公式取决于对数据的各种假设,这又反过来取决于使用特定的参数模型。 ! U# i# P5 k1 M# G: A! |
对于逻辑回归,似然函数有一个精确的最佳值。可以使用数值优化的方法来最大化似然值,并可以保证找到最大点。 ) k) {% ] l& o# M" a$ s- W$ M
总结: 4 f. ]& W/ i- n
概率统计的思想是所有数据挖掘技术的基础。给定一个理想目标统计描述,就可以用相似度来度量候选值与原型或理想对象的距离来对候选进行评分。欧式距离是一种常见的相似度度量,但也有许多其他可能的方法。 : Y' g7 B! o& G1 ?: a
表查询模型使用了一种不同的相似度度量的方法。所有落入表中同一单元格的观察值都会得到相同得的分值。根据训练数据的特征为分配到该单元格的记录评分。有许多方法可以定义表查询模型的单元格,但最简单的方式将每个输入的取值范围划分成同等大小的组,如三等分或五等分。
0 c- C Q; R. P% T# A* t" m+ |, g! |表查询有个问题,随着输入数量的增加,每一单元格内训练样本数会急剧减少。如果有很多输入,就很难满足多的数据来做出具有置信度的估计。一种解决方案是将若干个小单元格结合成一个较大的单元格。
4 C6 [( a: [" F" P/ a% s! j朴素模型解决的方法是对每个维度都使用所有的训练数据,然后再结合每一维度的贡献。“朴素”一词是指输入变量相互独立的假设,但这个假设在实际中往往不成立。
1 h% U( J) q1 D; O4 B常见的统计模型是回归模型。线性回归模型通过对一个输入乘以一个系数之后再求和,从 而将所有的输入结合起来。拟合一个回归模型意味着发现一些系数值,这些系数值最大限度减少了估计误差的平方值。线性回归有很多好处,但并不适用与所有情 况。尤其是,它不适用与概率估计。逻辑回归模型利用S形函数而不是一条直线来拟合观测数据。它将产生范围仅在0-1的估计,因此适用于表示概率。 # o+ J. Q0 d1 o% [/ `
所有的回归模型都能发现全局模式,也就是说,它们发现了变量所有的输入值的模式。事实上有很多模式是局部的,关于什么是局部模式,将会联系到决策树,它在寻找输入和目标之间的局部模式方面非常强大。 ! ^, p$ R( e$ Y# u7 t! a# a$ @
" Q( F7 ?4 ^, Y |