回归系列之入门篇

常见回归算法基础概念,参见下如下文章,个人感觉是介绍比较好的文章:

7 Types of Regression Techniques you should know!

下面引用少量上述文章中基础概念,本文不详细叙述具体概念, 重点总结下这些算法的适用场景、各自的优缺点等。

回归算法的分类

《回归系列之入门篇》 Paste_Image.png

回归算法的分类:根据目标变量的个数、因变量的类型以及回归的函数形状这三个维度对回归算法进行分类。

回归算法介绍

Linear Regression:(线性回归)

用一个因变量(Y)与多个自变量(x1,x2…)的关系,表达式如下所示:

Y = a + W * X

简单来说, 通过一条直线来拟合自变量与因变量之间的关系。参数W,a取不同的值, 会得不同的直线, 得到最优直线的过程就是线性回归的算法过程,也就是求解参数W,a的过程。最优直线的求解是基于最小二乘法(Ordinary Least Squares)。

线性回归的应用场景:

  1. 自变量和因变量之间是线性关系
  2. 适用于low dimension, 而且每一维之间都没有共线性。

线性回归的问题:

  1. 线性回归存在multicollinearity(共线性), autocorrelation(自相关), heteroskedasticity(异方差)等问题
  2. 线性回归对异常值非常敏感, 因此数据预处理时, 要警惕异常值。
  3. 模型参数的估计很不稳定, 模型中输入数据的微小差异都可能导致参数估计的很多差异。

Logistic Regression:(逻辑回归)

逻辑回归是用来计算“事件=Success”和“事件=Failure”的概率。

《回归系列之入门篇》 55d3f6527f0aa.jpg

应用场景:

  1. 用于分类场景, 尤其是因变量是二分类(0/1,True/False,Yes/No)时我们应该使用逻辑回归。
  2. 不要求自变量和因变量是线性关系

存在的问题:

  1. 防止过拟合和低拟合,应该让模型构建的变量是显著的。一个好的方法是使用逐步回归方法去进行逻辑回归。
  2. 逻辑回归需要大样本量,因为最大似然估计在低样本量的情况下不如最小二乘法有效。
  3. 独立的变量要求没有共线性。

Polynomial Regression:(多项式回归)

如果一个回归,它的自变量指数超过1,则称为多项式回归。
与线性回归的区别, 图形是曲线,而不是直线。

应用场景与问题:

  1. 如下图, 适合非线性关系的回归关系。与线性回归相比, 对不是严格的线性关系的变量来说, 多项式回归拟合度更优,但也存在过度拟合的情况。

    《回归系列之入门篇》 Paste_Image.png

    PS. 特别是看向两端的曲线,看看这些形状和趋势是否有意义。

Stepwise Regression:(逐步回归)

在这个方法中选择变量都是通过自动过程实现的,不需要人的干预。
这个工程是通过观察统计值,比如判定系数,t值和最小信息准则(R-square, t-stats and AIC)等去筛选变量。逐步回归基本思想是:基于特定的标准加入或移除变量来拟合回归模型。

各个逐步回归算法:
1.标准逐步回归做两件事情:需要每一步它都会添加或移除一些变量。
2.前进法是开始于最显著的变量然后在模型中逐渐增加次显著变量。
3.后退法是开始于所有变量,然后逐渐移除一些不显著变量。

PS: 这个模型技术的目的是为了用最少的变量去最大化模型的预测能力。它也是一种降维技术。

Ridge Regression:(岭回归)

岭回归是模型表达方式, 非常类似于线性回归,只是在线性回归的基础上加入一个预测误差项。

y = a+ b1x1+ b2x2+….+e

预测误差项由两部份组成:一部分是偏差, 另一个部分是方差。
如下公式表示预测误差项:

《回归系列之入门篇》 Paste_Image.png

偏差是最小二乘法计算方法, 方差部分是为解决共线性问题,而引入的一个惩罚项 λ (lambda) * ||beta|| ^2, 其中beta是线性模型的自变量系数。加入惩罚项是让参数收敛在比较小的方差。

应用场景:

  1. 可以解决重共线性问题, 简单的说就是自变量之间有高度相关关系。
    问题:
  2. 不能将模型系数收敛为0, 因此岭回归没有特征选择功能。
    PS: ||beta||正则化, 采用的是L2 regularization

Lasso Regression:

Lasso回归,和岭回归非常类似,只是预测误差中方差部分不一样,
如下公式, 是lambda * ||beta||, 而不是lambda * ||beta||的平方。

《回归系列之入门篇》 Paste_Image.png

应用场景:

  1. Lasso回归的惩罚项能收敛参数到0, 能起到特征选择的功能。
  2. 如果一组自变量是高线性相关, lasso选择其中一个变量而将其他项收敛到0。

问题:

  1. Lasso回归是为解决岭回归不能进行变量选择问题而提出的, 但Lasso不能做group selection。
  2. Lasso存在不一致的问题。

PS: ||beta||正则化, 采用的是L1 regularization.

ElasticNet Regression:

简单来说, ElasticNet 回归是岭回归和Lasso回归的权重和, 公式如下所示

《回归系列之入门篇》 Paste_Image.png

这个回归算法的方差部分, 是lambda1 * || beta|| ^ 2 + lambda2 * ||beta||.
应用场景:

  1. 对选择的变量的数目没有影响。
  2. 这个回归算法存在双重收敛。
    问题:
  3. 引入adaptive lasso改善Lasso 的不一致性问题.
  4. 引入adaptive lasso改善不能group select问题.
    原文作者:wujustin
    原文地址: https://www.jianshu.com/p/b628c90e1c1c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞