你应该了解的 7 种回归分析技术

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

简介

线性回归和逻辑回归通常是人们在预测建模中首先学到的算法。 由于这两种回归分析方法应用如此广泛,因此很多分析人员甚至错误地认为它们是回归分析的唯一形式。稍微了解多一点的人认为它们是所有回归分析方法中最重要两种。

事实上,有大量回归形式可供使用。每一种形式都有其重要性和最适用的具体场景。本文简单介绍了 7 种最常见的回归形式。通过此文,希望大家可以了解回归的广度,而不是在遇到每个问题时只会采用线性回归或逻辑回归,同时也希望这些方法能够各尽其用。

目录
1. 什么是回归分析?
2. 我们为什么使用回归分析?
3. 回归分析的种类
o 线性回归 (Linear Regression)
o 逻辑回归 (Logistic Regression)
o 多项式回归 (Polynomial Regression)
o 逐步回归 (Stepwise Regression)
o 岭回归 (Ridge Regression)
o 套索回归 (Lasso Regression)
o ElasticNet 回归 (ElasticNet Regression)

4. 如何选择正确的回归模型?

什么是回归分析?
回归分析是一项研究因变量(目标)和单个或多个自变量(预测因子)之间关系的预测建模技术。它可用于预测、时间序列建模以及发现各种变量之间的因果关系。 例如:鲁莽驾驶和道路交通事故的次数之间的关系,最好的研究方法就是回归。

回归分析是建模和分析数据的重要工具。在此,我们使用曲线/直线来拟合这些数据点,通过这种方式,从曲线或直线到数据点的距离差异最小。我会在接下来的部分对此进行详细解释。

1.png

我们为什么使用回归分析?
如上所述,回归分析可以估计两个或多个变量之间的关系。下面,让我们通过一个简单的例子来理解:

比如说,你要估计在当前的经济条件下一家公司的销售额增长规模。现在你掌握该公司最近的数据,这些数据显示销售额增长大约是经济增长的 2.5 倍。基于这些洞见,我们就可以根据当前和过去的信息来预测未来公司的销售情况。

使用回归分析的益处良多,具体如下:
1) 指示自变量和因变量之间的显著关系;
2) 指示多个自变量对一个因变量的影响强度。

回归分析还可以用于比较那些通过不同计量测得的变量之间的相互影响,如价格变动与促销活动数量之间的联系。这些益处有利于市场研究人员,数据分析人员以及数据科学家排除和衡量出一组最佳的变量,用以构建预测模型。
 
回归技术的种类
有各种各样的回归技术可用于预测。这些技术主要包含三个度量:自变量的个数、因变量的类型以及回归线的形状。我们将在接下来的部分对此详细讨论。

2.png

对于那些有创意的人而言,如果你觉得有必要使用上面这些参数的组合,你甚至可以构造一个全新的回归技术。但在开始之前,需要先了解最常使用的回归方法:
 
1. 线性回归 (Linear Regression)
它是最为人熟知的建模技术之一。线性回归通常是人们在学习预测模型时首选的少数几种技术之一。在该技术中,因变量是连续的,自变量(单个或多个)可以是连续的也可以是离散的,回归线的性质是线性的。
线性回归使用最佳的拟合直线(也就是回归线)建立因变量 (Y) 和一个或多个自变量 (X) 之间的联系。
用一个等式来表示它,即 Y=a+b*X + e,其中 a 表示截距,b 表示直线的倾斜率,e 是误差项。这个等式可以根据给定的单个或多个预测变量来预测目标变量的值。

3.png

一元线性回归和多元线性回归的区别在于,多元线性回归有一个以上的自变量,而一元线性回归通常只有一个自变量。现在问题来了,我们如何得到一个最佳的拟合线呢?”。

如何获得最佳拟合线(a 和 b 的值)?
这个问题可以使用最小二乘法轻松完成。最小二乘法是拟合回归线最常用的方法。它通过最小化每个数据点到线的垂直偏差平方和,来计算观测的数据的最佳拟合线。由于在相加之前,偏差先平方,所以正值和负值没有抵消。

4.png

5.png

我们可以使用 R-square 指标来评估模型的性能。若要了解这些指标的详细信息,可以阅读:模型性能指标 Part 1,Part 2。

要点:
• 自变量与因变量之间必须有线性关系
• 多元回归存在多重共线性,自相关性和异方差性。
• 线性回归对异常值非常敏感。它会严重影响回归线,最终影响预测值。
• 多重共线性会增加系数估计值的方差,使得估计值对于模型的轻微变化异常敏感,结果就是系数估计值不稳定。
• 在存在多个自变量的情况下,我们可以使用向前选择法,向后剔除法和逐步筛选法来选择最重要的自变量。

2. 逻辑回归 (Logistic Regression)
逻辑回归可用于发现 “事件=成功”和“事件=失败”的概率。当因变量的类型属于二元(1 / 0、真/假、是/否)变量时,我们就应该使用逻辑回归。这里,Y 的取值范围是从 0 到 1,它可以用下面的等式表示。

odds= p/ (1-p) = 某事件发生的概率/ 某事件不发生的概率
ln(odds) = ln(p/(1-p))
logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3....+bkXk

如上,p 表述具有某个特征的概率。此处,你应该会问这样一个问题:“我们为什么要在公式中使用对数 log 呢?”。
因为在这里我们使用的是的二项分布(因变量),我们需要选择一个最适用于这种分布的连结函数。它就是Logit 函数。在上述等式中,通过观测样本的极大似然估计值来选择参数,而不是最小化平方和误差(如在普通回归使用的)。

6.png

要点:
• 逻辑回归广泛用于分类问题。
• 逻辑回归不要求自变量和因变量存在线性关系。它可以处理各种类型的关系,因为它对预测的相对风险指数使用了一个非线性的 log 转换。
• 为了避免过拟合和欠拟合,我们应该包括所有重要的变量。有一个很好的方法来确保这种情况,就是使用逐步筛选方法来估计逻辑回归。
• 逻辑回归需要较大的样本量,因为在样本数量较少的情况下,极大似然估计的效果比普通的最小二乘法差。
• 自变量之间应该互不相关,即不存在多重共线性。然而,在分析和建模中,我们可以选择包含分类变量相互作用的影响。
• 如果因变量的值是定序变量,则称它为序逻辑回归。
• 如果因变量是多类的话,则称它为多元逻辑回归。

3. 多项式回归 (Polynomial Regression)
对于一个回归等式,如果自变量的指数大于1,那么它就是多项式回归等式。如下等式所示:
y=a+b*x^2

在这种回归技术中,最佳拟合线不是直线。而是一个用于拟合数据点的曲线。

7.png

要点:
• 虽然存在通过高次多项式得到较低的错误的趋势,但这可能会导致过拟合。需要经常画出关系图来查看拟合情况,并确保拟合曲线正确体现了问题的本质。下面是一个图例,可以帮助理解:

8.png

• 须特别注意尾部的曲线,看看这些形状和趋势是否合理。更高次的多项式最终可能产生怪异的推断结果。


4. 逐步回归 (Stepwise Regression)
该回归方法可用于在处理存在多个自变量的情形。在该技术中,自变量的选取需要借助自动处理程序,无须人为干预。
通过观察统计的值,如 R-square、t-stats和 AIC 指标,来识别重要的变量,可以实现这一需求。逐步回归通过同时添加/去除基于指定标准的协变量来拟合模型。下面列出了一些最常用的逐步回归方法:
• 标准逐步回归法需要做两件事情,即根据需要为每个步骤添加和删除预测因子。
• 向前选择法从模型中最重要的预测因子开始,然后为每一步添加变量。
• 向后剔除法从模型中所有的预测因子开始,然后在每一步删除重要性最低的变量。
这种建模技术的目的是使用最少的预测因子变量来最大化预测能力。这也是处理高维数据集的方法之一。
 
5. 岭回归 (Ridge Regression)
当数据之间存在多重共线性(自变量高度相关)时,就需要使用岭回归分析。在存在多重共线性时,尽管最小二乘法(OLS)测得的估计值不存在偏差,它们的方差也会很大,从而使得观测值与真实值相差甚远。岭回归通过给回归估计值添加一个偏差值,来降低标准误差。
上面,我们看到了线性回归等式。还记得吗?它可以表示为:

y=a+ b*x

这个等式也有一个误差项。完整的等式是:

y=a+b*x+e (误差项),  [误差项是用以纠正观测值与预测值之间预测误差的值]
=> y=a+y= a+ b1x1+ b2x2+....+e, 针对包含多个自变量的情形。

在线性等式中,预测误差可以划分为 2 个分量,一个是偏差造成的,一个是方差造成的。预测误差可能会由这两者或两者中的任何一个造成。在这里,我们将讨论由方差所造成的误差。
岭回归通过收缩参数 λ(lambda)解决多重共线性问题。请看下面的等式:

9.png

在这个等式中,有两个组成部分。第一个是最小二乘项,另一个是 β2(β-平方)和的 λ 倍,其中 β 是相关系数。λ 被添加到最小二乘项中用以缩小参数值,从而降低方差值。

要点:
• 除常数项以外,岭回归的假设与最小二乘回归相同;
• 它收缩了相关系数的值,但没有达到零,这表明它不具有特征选择功能
• 这是一个正则化方法,并且使用的是 L2 正则化。
 
6. 套索回归 (Lasso Regression)
与岭回归类似,套索 (Least Absolute Shrinkage and Selection Operator) 也会对回归系数的绝对值添加一个罚值。此外,它能降低偏差并提高线性回归模型的精度。看看下面的等式:

10.png

套索回归与岭回归有一点不同,它在惩罚部分使用的是绝对值,而不是平方值。这导致惩罚(即用以约束估计的绝对值之和)值使一些参数估计结果等于零。使用的惩罚值越大,估计值会越趋近于零。这将导致我们要从给定的n个变量之外选择变量。
要点:
• 除常数项以外,这种回归的假设与最小二乘回归类似;
• 它将收缩系数缩减至零(等于零),这确实有助于特征选择;
• 这是一个正则化方法,使用的是 L1 正则化;
• 如果一组预测因子是高度相关的,套索回归会选出其中一个因子并且将其它因子收缩为零。


7. ElasticNet 回归 (ElasticNet Regression)
ElasticNet 回归是套索回归和岭回归的组合体。它会事先使用 L1 和 L2 作为正则化矩阵进行训练。当存在多个相关的特征时,Elastic-net 会很有用。岭回归一般会随机选择其中一个特征,而 Elastic-net 则会选择其中的两个。

11.png

同时包含岭回归和套索回归的一个切实的优点是,ElasticNet 回归可以在循环状态下继承岭回归的一些稳定性。

要点:
• 在高度相关变量的情况下,它会产生群体效应;
• 选择变量的数目没有限制;
• 它可以承受双重收缩。
除了这7个最常用的回归技术,你也可以了解下其他模型,如 Bayesian、Ecological 和 Robust 回归。

如何选择正确的回归模型?
当你只了解一两种回归技术的时候,情况往往会比较简单。我知道的一个培训机构告诉他们的学生,如果结果是连续的,就使用线性回归。如果结果是二元的,就使用逻辑回归!然而,当我们在应对问题时可供选择的方法越多,选择正确的那一个就越难。类似的情况下也发生在回归模型中。

掌握多种回归模型时,基于自变量和因变量的类型、数据的维数以及数据的其它基本特征去选择最合适的技术非常重要。以下是你要选择正确的回归模型时需要考虑的主要因素:
1. 数据探索是构建预测模型的不可或缺的部分。在选择合适的模型前,比如识别变量的关系和影响,你应该首先执行这一步骤。
2. 比较不同模型的拟合优点,我们可以分析不同的指标参数,如统计意义的参数,R-square,调整 R-square,AIC,BIC以及误差项,另一个是 Mallows’ Cp 准则。这个主要是通过将所选的模型与所有可能的子模型(或仔细挑选的一组模型)进行对比,检查可能出现的偏差。
3. 交叉验证是评估预测模型最好的方法。使用该方法,需将数据集分成两份(一份用于训练,一份用于验证)。使用观测值和预测值之间的均方差即可快速衡量预测精度。
4. 如果数据集中存在是多个混合变量,那就不应选择自动模型选择方法,因为你可不愿意将所有变量同时放在同一个模型中。
5. 所选择的回归技术也取决于你的目的。可能会出现这样的情况,一个不太强大的模型与具有高度统计学意义的模型相比,更易于实现。
6. 回归正则化方法(套索,岭和ElasticNet)在高维数据和数据集变量之间存在多重共线性的情况下运行良好。

结语
到此为止,希望大家已经对回归技术有了大致的了解。这些回归技术的应用需要考虑到数据的具体情况。要搞清楚所应使用的技术,一个诀窍是查看下变量组的情况,比如是离散的还是连续的。

本文讨论了 7 种回归技术和每种技术的一些主要特点。对于行业中的新手,建议先学习这些技术,然后可以在自己的模型中使用这些技术。

 

英文原文:https://www.analyticsvidhya.com/blog/2015/08/comprehensive-guide-regression/
译者:BellyJ
 

2月15日11:00到13:00网站停机维护,13:00前恢复
iPy智能助手 双击展开
查看更多聊天记录
(Ctrl+回车)换行