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的估计,因此适用于表示概率。
所有的回归模型都能发现全局模式,也就是说,它们发现了变量所有的输入值的模式。事实上有很多模式是局部的,关于什么是局部模式,下面我们会谈到决策树,它在寻找输入和目标之间的局部模式方面非常强大。