在之前的文章《机器学习---线性回归(Machine Learning Linear Regression)》中说到,使用最小二乘回归模型需要满足一些假设条件。但是这些假设条件却往往是人们容易忽略的地方。如果不考虑模型的适用情况,就只会得到错误的模型。下面来看一下,使用最小二乘回归模型需要满足哪些假设,以及如果不满足这些假设条件会产生怎样的后果。

最小二乘回归模型的5个基本假设:

  • 自变量(X)和因变量(y)线性相关
  • 自变量(X)之间相互独立
  • 误差项(ε)之间相互独立
  • 误差项(ε)呈正态分布,期望为0,方差为定值
  • 自变量(X)和误差项(ε)之间相互独立

第一个假设:自变量(X)和因变量(y)线性相关

线性相关(linearly dependent)是最基本的假设。如果自变量和因变量之间没有关系或者是非线性关系,那么就无法使用线性回归模型进行预测,或者无法预测出准确的结果。

第二个假设:自变量(X)之间相互独立

如果我们发现本应相互独立的自变量出现了一定程度(甚至高度)的相关性,那么我们就无法知道自变量和因变量之间的真正关系,这称之为共线性(collinearity)。当共线性出现的时候,变量之间的联动关系会导致我们估计的参数的标准差变大,置信区间变宽,由此来看,参数的估计值会变得不稳定,对参数的假设检验也会变得不准确。

(注:两个特征之间相互关联被称之为共线性,但是也有可能三个或更多的特征之间相互关联,即使这些特征两两之间并没有很高的关联,这被称之为多重共线性(multicollinearity))

第三个假设:误差项(ε)之间相互独立

随机误差项的各期望值之间存在着相关关系,称随机误差项之间存在自相关性(autocorrelation)。自相关性通常出现在时间序列里,后一项依赖于前一项;也可能出现在有偏差的样本里,比如样本搜集自同一个家庭的成员。当自相关性出现的时候,预测值的标准差往往比真实的小,进而会导致置信区间变窄,同时,较低的标准差会导致p值较小,这会让我们得到错误的假设检验结果。

第四个假设:误差项(ε)呈正态分布,期望为0,方差为定值

误差项服从均值为0的正态分布,方差为定值。如果违反了这一假设,意味着异常点增多,置信区间会变宽,这称之为异方差性(heteroscedasticity)。当异方差性出现的时候,如果仍采用最小二乘法估计参数,会导致参数的t检验值被高估,可能造成本来不显著的某些参数变为显著,使假设检验失去意义。

第五个假设:自变量(X)和误差项(ε)之间相互独立

模型中一个或多个自变量与随机误差项存在相关关系,这称之为内生性(endogeneity)。内生性通常由于遗漏变量而导致,因此是一个普遍存在的问题。内生性会导致模型参数估计不准确。

机器学习---最小二乘线性回归模型的5个基本假设(Machine Learning Least Squares Linear Regression Assumptions)的更多相关文章

  1. 机器学习---用python实现最小二乘线性回归算法并用随机梯度下降法求解 (Machine Learning Least Squares Linear Regression Application SGD)

    在<机器学习---线性回归(Machine Learning Linear Regression)>一文中,我们主要介绍了最小二乘线性回归算法以及简单地介绍了梯度下降法.现在,让我们来实践 ...

  2. 机器学习案例学习【每周一例】之 Titanic: Machine Learning from Disaster

     下面一文章就总结几点关键: 1.要学会观察,尤其是输入数据的特征提取时,看各输入数据和输出的关系,用绘图看! 2.训练后,看测试数据和训练数据误差,确定是否过拟合还是欠拟合: 3.欠拟合的话,说明模 ...

  3. 机器学习---用python实现朴素贝叶斯算法(Machine Learning Naive Bayes Algorithm Application)

    在<机器学习---朴素贝叶斯分类器(Machine Learning Naive Bayes Classifier)>一文中,我们介绍了朴素贝叶斯分类器的原理.现在,让我们来实践一下. 在 ...

  4. 机器学习---朴素贝叶斯与逻辑回归的区别(Machine Learning Naive Bayes Logistic Regression Difference)

    朴素贝叶斯与逻辑回归的区别: 朴素贝叶斯 逻辑回归 生成模型(Generative model) 判别模型(Discriminative model) 对特征x和目标y的联合分布P(x,y)建模,使用 ...

  5. 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)

    ##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...

  6. (原创)(三)机器学习笔记之Scikit Learn的线性回归模型初探

    一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的 ...

  7. 多重线性回归 (multiple linear regression) | 变量选择 | 最佳模型 | 基本假设的诊断方法

    P133,这是第二次作业,考察多重线性回归.这个youtube频道真是精品,用R做统计.这里是R代码的总结. 连续变量和类别型变量总要分开讨论: 多重线性回归可以写成矩阵形式的一元一次回归:相当于把多 ...

  8. 机器学习---三种线性算法的比较(线性回归,感知机,逻辑回归)(Machine Learning Linear Regression Perceptron Logistic Regression Comparison)

    最小二乘线性回归,感知机,逻辑回归的比较:   最小二乘线性回归 Least Squares Linear Regression 感知机 Perceptron 二分类逻辑回归 Binary Logis ...

  9. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

随机推荐

  1. Webpack系列-第三篇流程杂记

    系列文章 Webpack系列-第一篇基础杂记 Webpack系列-第二篇插件机制杂记 Webpack系列-第三篇流程杂记 前言 本文章个人理解, 只是为了理清webpack流程, 没有关注内部过多细节 ...

  2. 使用 pm2 守护你的 .NET Core 应用程序

    一.守护进程的前世今生 守护进程,英文名:"daemon",也有守护神的意思.守护进程是一个在后台运行并且不受任何终端控制的进程,不会随着会话结束而退出.诸如 mysql.apac ...

  3. sql server 生成数据库字典 sql语句

    SELECT TOP 100 PERCENT --a.id,          CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名,      ...

  4. 程序猿想聊天 - 創問 4C 團隊教練心得(一)

    今天難得參加了創問舉辦的 4C 團隊教練課程 From : http://www.cccoach.cn/Home/Activity/show/id/449.html 整個課程主要圍繞著 Common ...

  5. unity transform 常用操作

    1.寻找物体 1.1 寻找满足条件的子物体 ` public static Transform FindObj(Transform transform, Func<Transform, bool ...

  6. Deepin Linux系统的日常使用总结(日常施工)

    1.登录root权限用户 sudo su 2.安装软件语句 apt-get install <package_name> 相对的, 安装:apt-get install <packa ...

  7. java笔记----获取项目resource中class下的路径

    String path =类名.class.getClassLoader().getResource("./包/文件名").getPath(); 相对路径推荐使用这个 类名.cla ...

  8. spring笔记----看书笔记

    上周末看了一章以前javaee轻量级的书spring部分,简单做了一些笔记 // ApplicationContext ac=new ClassPathXmlApplicationContext(&q ...

  9. [20190417]隐含参数_SPIN_COUNT.txt

    [20190417]隐含参数_SPIN_COUNT.txt--//在探究latch spin计数之前,先简单探究_SPIN_COUNT.实际上oracle现在版本latch spin的数量不再是200 ...

  10. c/c++ 继承与多态 文本查询的小例子(非智能指针版本)

    问题:在上一篇继承与多态 文本查询的小例子(智能指针版本)在Query类里使用的是智能指针,只把智能指针换成普通的指针,并不添加拷贝构造方法,会发生什么呢? 执行时,代码崩掉. 分析下面一行代码: Q ...