接着上篇大数据挖掘技术之DM经典模型(上)文章,接下来我们将探讨朴素贝叶斯模型、线性回归、多元回归、逻辑回归分析等模型。
4、朴素贝叶斯模型
表查询模型简单有效,但是存在一个问题。随着输入数量的额增加,每个单元格中训练样本的数量会迅速减少。如果维度为2,且每一维有10个不同的变量,那么就需要100个单元格,而当有3个维度时,就需要1000个单元格,4个维度就是10000.这样成指数级的增长,哪怕的传统数据挖掘中都会遇到明显瓶颈。
当试图预测某一个概率值时,朴素贝叶斯模型就提供这一办法。基本思想:每个输入变量本身就包含一些预测需要的信息。比如目标变量是取消业务的概率,解释变量是市场、获取渠道、初始信用评分、利率计划、电话号码类型、手机号以及客户年龄。这些变量都具有预测能力。根据取消率的显著差异性,可将每个变量划分在不同的范围中。
简单理解:条件概率是指给定B的条件下A的概率以及给定A的条件下B的概率。
解释:给定B的条件下A发生的概率,等于给定A的条件下B发生的概率乘以A和B发生的概率的比例。
如果A代表停止续签,B代表使用黑莓手机,然后给定使用黑莓手机的条件下停止续签的概率,就是给定停止续签的条件下使用黑莓手机的概率乘以总体停止续签的概率与总体使用黑莓手机的概率之比。
4.1、概率、几率和释然
·概率:0到1之间的一个数字,表示一个特定结果发生的可能性。一种估计结果概率的方法是计算样本数据中出现结果次数的百分比。
·几率:某一特定结果发生于不发生的概率比。如果一个事件发生的概率是0.2,那么不发生的概率是0.8。那么其发生的几率就是1/4。几率的取值是0到无穷。
·似然:两个相关的条件概率比。即给定B发生的情况下,某一特定结果A发生的概率和给定B不发生的情况下A发生的概率之比。
4.2、朴素贝叶斯计算
对任意数量属性中的每一个属性,朴素贝叶斯公式都将目标事件的几率与该事件的似然联系起来。回到基于营销市场、渠道获取、最初信用评分、费率计算、电话号码类型、手机型号以及客户年龄来预测客户流失的例子。例如上面谈到的黑莓手机续签的案例,我们关注的是。1、停止续签的总体几率。2、黑莓手机用户停止的似然。3、在整个州市场停止续签的似然。
之所以定义为“朴素”,是基于所有似然相乘都基于输入变量相互独立的假设。在这个案例中,假设的是使用黑莓手机的似然与市场独立(并且存在于该州的似然与手机类型独立)。而在实际中,这种真正相互独立的情况很少见。
朴素贝叶斯模型最吸引人的点:对于待评分的观测,如果缺失某些输入值,可以简单地将缺失的似然从模型中去掉。意味着,包含那些并不是对所有有用都可用的输入(用户年龄),但如果知道这些变量,它们就有用。给定不同输入的概率,且这些输入与停止续签相关,朴素贝叶斯公式就可以计算停止续签的几率,而公司对这种停止续签的用户更感兴趣。
4.3、朴素与表查询模型的比较
对于概率型目标来说,朴素贝叶斯模型和表查询模型密切相关。两者之间的主要区别就在于如何使用维度。在表查询模型中,使用所有维度依次定义单元格,然后计算每一个单元格的目标概率。因此,表查询模型可以获取变量之间的相互作用。在朴素中,需要为每一个维度单独计算似然,之后组合这些似然,从而计算出目标概率。似然的组合有一个假设:各维度关于目标彼此独立。表查询没有说明这样一类属性的组合关系,即由于在训练数据中出现的频率很低,导致这些概率很低的属性就不会出现。
在朴素模型中可以预测任何从未出现过的组合,但要这样做,就必须假设这些输入所造成的影响彼此独立。表查询模型没有这样的假设,所以当数据多到可以支持一个可信的估计模型时,表查询模型也许会做的更好。
5、线性回归
回归模型也是一种预测建模技术。在Excel中就可以使用线性回归。回归模型也很复杂,这里谈到——最佳拟合曲线。输入变量和目标变量必须都是数值变量,回归方程描述了两者之间的一种算术关系。“最佳的”关系是指大限度地减少了从数据点到拟合曲线的垂直距离的平方和。
5.1最佳拟合曲线
如下图,显示了一个知名博主发表的一篇文章日浏览率随着时间和被关注度之间的关系。图中使用描点的符号是空心圆,它有助于清楚的显示各点之间的聚集情况。例如,在较短时间内用户的关注度分布非常密集。当使用不同的颜色比较不同的客户组时,这种散点图尤其有用。
随着时间的增加,博客的日访问量会越来越低,最后维持到一个水平。画出来的曲线更像是一个双曲线。根据X轴,时间的递增。Y轴,日访问量的增加。我们可以模拟出这个博主的访问量随时间变化的曲线。如果在保证博客质量的同时,我们就可以预测博主的一篇博客的访问量大致在什么范围。可能这里有很多的误差或不精确的地方。但是通过拟合曲线,我们更能从直观上看到,曲线的走势。如果曲线更精确的化,我们甚至可以模拟出曲线的函数表达式。
如果用作数据点的标记并没有完全拟合,散点图可以传递出更多的信息。最佳拟合曲线的性质:在所有可能的曲线中,最佳拟合曲线指的是从观察点到曲线垂直距离的平方最下的那条曲线,散点图显示了每个点到曲线之间的距离。
最佳拟合曲线的定义就是最小二乘法的定义。欧式距离公式对该值进行了开方,在没有计算机的年代,计算欧式距离非常困难。当时,高斯提出这一观点,就是利用计算平方和,代替计算距离之和。这样做的目的,就使最佳拟合曲线系数很容易计算。
这里谈到的是线性回归,其实回归模型是一个直线方程,这里只是来描述一个拟合曲线,其实算不上一个回归曲线。在现实之中,更多线性回归的模型很少见,更多的是曲线拟合。
5.2拟合的优点
对于一个给定的数据集,总是可以找到一条最佳的拟合曲线。但是,存在很多条曲线,哪条才是最佳的。这里引入“残差”,就是度量预测值与实际值之差。还有一个标准方法,成为,用来衡量描述曲线对观测数据的拟合程度。
(1)残差
如图,身高与体重模型的残差。
一个无偏模型在丢失高值点方面应与丢失低值点类似。在残差图中,最重要的一点就是,这些值是位于拟合曲线之上的可能性与之下的可能性是否一样。从图中我们也可以看到在曲线上与在曲线下的样本点是不一样的。
一个良好的模型所产生的估计值应该接近真实值,所以残差应该集中于曲线轴附近。如图中也是可以看到抛离曲线的一些孤立点。这些点出现的原因,可能是由于一些人为记录的原因造成的。
在统计学中,残差在回归方程中要考虑误差项。最佳拟合曲线的方程是:
Y=aX+b
但该曲线,不是完整的模型。统计人员会将模型方程表示为:ε代表误差项,因为X并不能完美的展示Y。误差项表示模型无法解释的Y的部分。
Y=aX +b+ε
(2)R(R这里代表是R的平方)
对于最佳拟合曲线,R的取值始终在0~1之间。当该值接近1时,说明该曲线在捕获输入和目标之间的关系方面表现很好。若接近于0,则说明最佳拟合曲线的表现很差。在0~1的范围内,值越大表明两者之间存在很强的关系,越下其关系越下。
相比于随机猜测的平均值,模型的估计值有多好。定义简单,但计算起来复杂。R要比较最佳拟合曲线与y平均值的水平线。1减去两个误差的比值可以计算出R。分子式最佳拟合曲线残差的平方和。分母是水平线的残差平方和。R度量了最佳拟合曲线优于均值作为估计的程度。
R度量了数据的稳定性。同一数据集中不同的样本是否会生成相似的模型。当R值较低时,不同的样本可能会表现出非常不同的行为。或者,在此基础上,再加入少量观察值可能会极大地改变模型的系数。当R值较高时,再加入少量观察值就不会有上述的改变。
5.3全局效应
回归方程能发现数据中的全局模式。即,方程系数应该对范围内的所有输入变量都起作用。这表明回归模型善于捕获那些总是正确的模式,不是产于处理局部模式。
例如,考虑不同年龄的汽车保险购买人的风险。年轻司机的风险较高。随着驾驶人员经验的不断增加,风险会逐步降低。而对年龄很大的驾驶者,风险又会增加。因为年龄很难作为回归方程的输入。因为没有全局模式,对于不同的年龄组,年龄的影响变化又会不同。
在很多程度上,这个需要根据建模人员的熟悉程度,可以使用那些在不同取值范围的变量作为输入参数。但是,回归方程本身不会发现局部模式。
6、多元回归
引入线性回归的那个例子使用了单一的输入——持续期——来解释日访问量随时间的变化。当一个回归模型有多个输入时,就称其为多元回归。
6.1、等式
线性回归模型的一般形式(没有误差项)是:Y=a+a1x1+a2x2+a3x3+…..+anxn。这个方程通过添加更多变量,并为每个变量选定系数,对最佳曲线方程进行了扩展。
尽管通过引入更多维度,可以将线性回归的几何解释扩展到多元回归——曲线变为平面再变到超平面。考虑到每个字变量对因变量估计值的贡献会更容易些,即可以由系数决定自变量贡献的大小和方向。
6.2、目标变量的范围
一个回归方程可以产生任何值。如果对X没有限制,那么Y也是没有限制的。对 Y=aX+b 就可以说明这一点,该方程是一条简单的直线,取值随之X的取值而边变化,从负无穷到正无穷。但实际情况非如此。许多目标变量的范围并不是无穷的,甚至不是连续的。对于这些情况,统计学家引入了一个链接函数将回归方程产生的Y值映射到目标变量的一个适合的范围。当目标遵循某一已知的分布时,就可以选择一个链接函数,它产生的值与目标的平均值相同,同时也会产生一个类似的分布。即使不知道确切的分布,也可以引入链接函数将估计映射到目标的一个适当的范围。
后面我们会介绍逻辑回归分析,那里使用一个链接函数将线性回归的无穷范围映射到0~1的区间,该区间等价于概率估计。
6.3、使用多元回归的其他注意事项
回归模型中有多个输入变量时,会产生一些在单一输入中不存在的问题。
理想情况下,所有输入之间应该线性无关。
被模型显示地包含的输入之间可能存在相互。
添加一个新输入将会改变所有原输入的系值取值。
(1)线性无关
与朴素贝叶斯类似,多元模型的输入之间应该线性无关。这一位置改变其中一个输入值应该对其他输入值没有影响。实际情况很难实现真正独立性。一般情况,注意不要包含彼此密切相关的自变量就可以。如果包含这些变量,往往会导致模型的一个输入变量有较大的正系数而另一个输入变量有较大的负系数。两个变量本质上相互抵消,因此这两个系数的取值并不会对任何变量有真正意义上的影响。
(2)交互
即使两个变量是完全独立的,它们对目标的影响也可能是相关的。一个冰淇淋的吸引力可能依赖于价格和天气——尤其是某天的炎热程度。这些变量可以认为是独立的(当然,冰淇淋的价格并不取决于温度,温度可能会影响冰淇淋的价格,但是这里假设不会)。尽管这些变量相互独立,价格对目标的影响扔可能受温度的影响。当天气炎热的时候,人民不是在意冰淇淋的价额都会购买。当天气寒冷的时候,只有真正物美价廉才可能会吸引人民购买。
类似的,价格的变化对住户率的影响可能会随着距离市中心的远近不同而不同。这就是交互的例子。
当认为交互很重要时,一般情况下,可以通过添加新变量引入这些交互,而这些新变量是标准化交互中涉及变量值的产物。
(3)添加变量可以改变模型中的原有变量的取值
一种很自然的模型开发方法从一个仅有一个输入的简单模型开始,然后通过增加变量逐步提高其复杂性。如果所有输入变量都是完全独立的,那么添加或删除其中一个变量不会更改模型中的其他变量的系数。但是输入变量几乎不可能完全独立,所有包含另一个变量会改变系数的大小,甚至可能改变模型中其他原有变量系数的正负值。
6.4、多元回归的变量选择
多元回归模型在有大量输入时,它的表现并不理想。选择正确的输入变量对任何建模而言都是最重要的部分。这里谈到“领域知识”,就是首先要考虑的是对该问题所知道的一些先验知识以及以往人民解决此类问题的额方法。有的时候领域知识对一时模型的预测可以提供一个很好的指标指向。
当使用领域知识和常识创建了一张候选变量列表后,用于创建回归模型的软件通常可以帮助使用者选择出模型所需的好变量。使用的方法:
(1)前向选择
前向现在开始使用一组输入变量,其中一些变量或全部变量都可以出现在最终模型里。第一步是为每一个输入变量创建一个单独的回归模型;如果有n个输入变量,那么第一步会考虑具有一个输入变量的n个不同的回归模型。选择测试得分高的模型所对应的变量作为前向选择模型中的第一个变量。
选择最佳模型的一种方法是选择R值最低的模型。另一种方法是使用统计检验中F-检验的方法。好的模型是在验证集上的误差最小的模型。这看上去更像是数据挖掘,因为它使用了验证集,并没有对输入或目标值做出任何假设。
选定了第一个变量后,这以过程会在此重复进行。第二次通过将每个剩余变量与第一步已选定的变量组合以创建包含有两个输入变量的n-1个回归模型。这些模型中好的模型将会是下一次迭代的基础,下次迭代会测试带有三个变量的多元回归模型。持续这一过程直到满足某些停止条件为止。终止条件可以是到达大的选择变量个数,或者继续增加变量不能在继续提高模型的某个阈值。
(2)逐步选择
逐步选择与前向选择非常类似,只有一点不同。在每个步骤中除了增加一个变量外,还可以删除一个变量,较早进入模型的一个变量可能由于后续变量的联合作用而不再是有效变量。
(3)后向消去
后向消去选择变量的方法首先使用所有的n个输入变量创建了一个多元回归模型。使用统计检验,消去较糟糕的变量,然后重置该模型。持续该过程直到满足某些停止条件,比如到达理想变量的最小数目。
7、逻辑回归分析
线性回归模型有一种特殊的形式。该形式对任意数量的输入变量都可用,但当只有一个输入变量时,效果最明显。回归公式是一条直线方程。直线的一个属性是它可以向两端无限延伸。除与X轴平行的直线外,回归模型没有大值和最小值。这些属性使得线性回归模型适用于估计那些取值范围可能很广的连续变量。
相同的属性使得线性回归模型适用于建模无界的、连续的目标,而不适于建模二元结果,比如是否或好坏。因为二元问题是极其常见的,这就逻辑回归分析模型。
7.1建模二元输出
建模二元输出似乎不像是一个评估任务。有两个类别的,任务是将每条记录分配到其中的一个类。这就是一个分类任务。然而,该任务可以重述为“某个记录属于其中一个类的概率是多少?”,因为概率是数字,这个问题就转化为一项评估任务。
(1)使用线性回归评估概率
在谈到基于客户的持续期估计订阅在报纸上的支付额度模型上。呼叫中心通过与用户取得联系,其中一些客户同意签订订阅协议。签订合约不久后他们便开始接收报纸,随后他们要支付一笔账单。一些新用户不会抽时间来支付这第一张订单,从而消减了报纸的收入。一段时间后,没有支付订单的客户被停止收到报纸,其中一些支付账单的新客户并有可能在很长时间后成为良好的客户。不过在前面几个星期,客户不愿意付款的可能性非常大。
目标值为0可以表示为从未付款的客户,为1的表示付过款的客户,所有这里会存在一条最佳拟合曲线。但不能保证这是一个好的模型。因为在超过一定天后,这一概率轨迹值大于1,而且这一估计值会随着持续期的增加而无限的增加。这就是直线的性质:显然存在弊端,没有大值或最小值。
(2)将回归直线弯成曲线
显然,直线不是一个估计概率的合适形状。逻辑回归分析通过将回归直线弯成一个更合适的形状来解决这一问题。我们要获得一个取值范围在0~1之间的函数。这就是逻辑函数。
7.2、逻辑函数
朴素贝叶斯模型是乘以一串似然来估计几率,然后将其转换成概率。把线性回归转换成逻辑回归也使用了这类技巧。
第一步:通过P与1-P之间将概率P转换为几率。几率和概率表示同一件事情。不同点在于,概率取值范围0~1,几率是0到正无穷。在去几率的对数值以生成一个从负无穷到正无穷的函数。
从这一点来看,概率被转换为一个从负无穷到正无穷的连续函数——这正式线性回归的优势。把几率的对数值作为目标变量而建立回归方程。
方程结果为:
这就是逻辑函数。逻辑函数本身有一个特征,就是S曲线。该模型的参数向左或向右弯曲,并对其进行拉伸或收缩。一个好的属性是:在原点处,曲线的斜率大约为45%,而曲线在-1到1之间区域接近一条直线。除此之外,它变得很平坦,一直保持在0-1之间。这就是一条非常适合概率的曲线。
尽管逻辑回归看起来比直线更“弯曲”,但它只能发现全局模式,而不是局部模式。局部模式的获取需要显示的体现在变量确定其影响。为线性回归找出最佳拟合曲线所使用的普通最小二乘法并不适用与逻辑回归分析,它使用大似然的方法,通过大似然法拟合模型。
大似然法拟合模型
拟合任何类型的参数模型对意味着要使用数据来找出最佳参数,利用这些最佳参数计算的预测值与实际值尽可能相符。这与模型评分的情况恰恰相反。在评分过程中,给定一组参数值模型,模型为某些输入产生最佳的估计值。
给定一个待定的参数值和一组观察值,这一函数返回该参数值正确的概率。虽然一般不存在这样的函数,但在给定参数的情况下,训练集中出现目标值的概率和参数的似然之间存在一个有用的关系——成正比。似然是不确定性相关的一种度量,这与概率是一种绝对度量的情况不同,但使用似然相比较与候选参数优势已经明显。似然函数的实际计算公式取决于对数据的各种假设,这又反过来取决于使用特定的参数模型。
对于逻辑回归,似然函数有一个精确的最佳值。可以使用数值优化的方法来大化似然值,并可以保证找到大点。
总结:
概率统计的思想是所有数据挖掘技术的基础。给定一个理想目标统计描述,就可以用相似度来度量候选值与原型或理想对象的距离来对候选进行评分。欧式距离是一种常见的相似度度量,但也有许多其他可能的方法。
表查询模型使用了一种不同的相似度度量的方法。所有落入表中同一单元格的观察值都会得到相同得的分值。根据训练数据的特征为分配到该单元格的记录评分。有许多方法可以定义表查询模型的单元格,但最简单的方式将每个输入的取值范围划分成同等大小的组,如三等分或五等分。
表查询有个问题,随着输入数量的增加,每一单元格内训练样本数会急剧减少。如果有很多输入,就很难满足多的数据来做出具有置信度的估计。一种解决方案是将若干个小单元格结合成一个较大的单元格。
朴素模型解决的方法是对每个维度都使用所有的训练数据,然后再结合每一维度的贡献。“朴素”一词是指输入变量相互独立的假设,但这个假设在实际中往往不成立。
常见的统计模型是回归模型。线性回归模型通过对一个输入乘以一个系数之后再求和,从而将所有的输入结合起来。拟合一个回归模型意味着发现一些系数值,这些系数值大限度减少了估计误差的平方值。线性回归有很多好处,但并不适用与所有情况。尤其是,它不适用与概率估计。逻辑回归模型利用S形函数而不是一条直线来拟合观测数据。它将产生范围仅在0-1的估计,因此适用于表示概率。
所有的回归模型都能发现全局模式,也就是说,它们发现了变量所有的输入值的模式。事实上有很多模式是局部的,关于什么是局部模式,下面我们会谈到决策树,它在寻找输入和目标之间的局部模式方面非常强大。
系列文章:
大数据时代下的变革三部曲:思维变革(一)
大数据时代下的变革三部曲:商业变革(二)
大数据时代下的变革三部曲:管理变革(三)
大数据的核心:数据挖掘
大数据技术贴:构建一个有指导的数据挖掘模型
大数据挖掘技术之DM经典模型(上)
作者:dufman
End.