回归系列之入门篇

作者: wujustin | 来源:发表于2016-11-02 10:50 被阅读378次

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

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问题.

相关文章

  • 回归系列之入门篇

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

  • 1、kafka实践-入门指令

    参考 kafka命令大全[https://www.orchome.com/454] kafka系列-入门篇之常用命...

  • 回归系列之逻辑回归

    逻辑回归是回归系列中一个分类模型,而且是一个二分类模型。逻辑回归模型简单但应用广泛,本文从模型介绍、适用场景以及优...

  • Elasticsearch顶尖高手系列

    《Elasticsearch顶尖高手系列-快速入门篇》 《Elasticsearch顶尖高手系列-高手进阶篇》 下...

  • docker系列之入门篇

    0. 前言 docker是什么?docker是用GO语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术。可...

  • 优质资源汇总【于2019年】

    1、SpringBoot 干货 已完成: Spring Boot干货系列:(一)优雅的入门篇 Spring Boo...

  • Arthas入门篇

    系列 Arthas入门篇Arthas功能介绍Arthas 启动过程分析 Arthas介绍 Arthas(阿尔萨斯)...

  • 【转载】TensorRT 系列之入门篇

    https://mp.weixin.qq.com/s/E5qbMsuc7UBnNmYBzq__5Q TensorR...

  • DataBinding系列之基础入门篇

    by 蜀汉玫瑰 废话不说了直接上步骤。 第一步:首先在项目gradle文件中的 android节点里面加入如下三行...

  • webpack系列文章之入门篇

    Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成...

网友评论

  • 香附:正在学R语言,能否求关注
    wujustin:@香附 没有问题~~

本文标题:回归系列之入门篇

本文链接:https://www.haomeiwen.com/subject/xdgkuttx.html