Loading [MathJax]/jax/output/CommonHTML/autoload/mtable.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >线性回归(一)-多元线性回归原理介绍

线性回归(一)-多元线性回归原理介绍

原创
作者头像
EatRice
修改于 2020-06-15 02:00:11
修改于 2020-06-15 02:00:11
5.7K0
举报
文章被收录于专栏:个人学习笔记个人学习笔记

引言

高中的数学必修三有一个概念——线性拟合,其主要原理是通过对两组变量的统计值模型化。高中的的模型主要是简单的一维线性模型,在某种程度上也可以叫做一次函数,即y=kx+b的形式。这是一个简单的线性拟合,可以处理两组变量的变化趋势呈现相当的线性规律的问题,且关于因变量只有一个自变量。实际情况下,对于一个目标函数进行估计,其影响因素可能会有多个,且各个因素对于结果的影响程度各不相同。若多个变量的的取值与目标函数取值仍呈现线性关系,则可以使用多元线性回归进行建模预测。本文将从一元线性回归推广到多元线性回归。并通过统计学的显著性检验和误差分析从原理上探究多元线性回归方法,以及该方法的性质和适用条件。

<!-- more -->

多元线性回归理论

从一元线性回归讲起

假设有一个分布列,如下表所示:

0

1

2

3

4

5

6

7

8

9

Y

6.7

7.2

10.3

12.4

15.1

17.6

19.4

21.3

24.0

X

343.4

477.6

739.1

1373.9

1510.2

1700.6

2026.6

2577.4

3496.2

我们绘制它的函数图像,如下图所示

由散点图可以明显看出变量x和y具有相同的变化趋势,其函数图像较为符合一次函数特征,因此我们尝试用一次函数y=β0+β1x来进行拟合。

拟合本质上是通过函数表达式来粗略得到样本的变化趋势,而预测是通过拟合出来的表达式来估计总体的值,这就需要得出的模型(表达式)不仅能够很好地模拟样本的变化趋势,同时也能够反映总体的相关变化,即避免样本的偶然性。下面将从拟合的方法和样本的对于总体的显著性来分析回归过程和效果。

拟合的依据

由上面的一次函数的表达式可以看出,该函数具有两个待求参数β0,β1,因此拟合的过程其本质上是对这两个参数进行估计。根据题目现有的条件,得到两个参数的最佳的值。

{% raw %}

模型的作用是用来预测,即根据已知的关系,推导出未知的类似关系。假设经过拟合后的最优参数为:^β0,^β1。这通过这两个参数表示的一次函数能够很好地表现这两组数据。在统计学上由拟合的一次函数^y=^β0+^β1x代入x的取值计算得出的^y叫做因变量y的估计值。实际值与估计值的差ei=yi^yi叫做<strong>残差</strong>,其绝对值的大小是反映拟合值与真实值的误差大小,因此可以通过使用残差去掉符号取平方和,就构成了一个能够描述线性拟合效果的统计量称为SSE<strong>残差平方和</strong>(yi^yi)2。由此可见当SSE的取到最小值时,此时的估计的参数^β0,^β1为最优参数。

{% endraw %}

找到最优参数

{% raw %}

假定β0,β1是一个连续函数,构造函数:

已知,将当作自变量,当时,当目标函数取最大|最小值时,目标函数对自变量的导数值为0。即:

由①得=>

把③代入②得=>

解出:然后得到

至此,根据残差平方和最小原理,我们应用数学的极限性质,计算得出了关于两组数据的线性拟合方程。

对于不同的统计量来说,其变化趋势是不同的,那么一元线性回归可以应用到哪些方面呢?

线性拟合的显著性

一组数据,我们绘制它的对应的统计图,就可以很清楚地看到它的两个量的变化关系。这种变化关系称为两个变量具有某种关系的显著性。两组变量的关系有很多种,如:线性关系,函数关系等等。由最上面的统计图可以看出,两个变量的变化趋势相同,且平均变化趋势也相似,我们可以直观从图中得到其可能能够使用线性函数进行拟合。大多数情况下,对于绘图不便或者数据是动态生成,无法及时分析其图像的情况下,如何进行检验?

相关系数r

在统计学上最简单的方法就是采用相关系数来检验两组变量的相关性程度。下面引用一段维基百科中的表述:

^1皮尔逊积矩相关系数(英语:Pearson product-moment correlation coefficient,又称作 PPMCC或PCCs, 文章中常用r或Pearson's r表示)用于度量两个变量X和Y之间的相关程度(线性相关),其值介于-1与1之间。在自然科学领域中,该系数广泛用于度量两个变量之间的线性相关程度。它是由卡尔·皮尔逊从弗朗西斯·高尔顿在19世纪80年代提出的一个相似却又稍有不同的想法演变而来,这个相关系数也称作“皮尔森相关系数r”。

式中:为变量X和变量Y的协方差,分别为X和Y的方差。

协方差Cov:

协方差表示的两个变量总体误差的期望,其数学定义为表示为:

化繁成直观形式得:

方差:

方差表示单个变量对均值偏差平方的期望,是描述变量变化的离散程度的指标,其数学定义表示为:

化繁成直观形式得:

相关系数的取值范围为:,根据相关系数的数学特性可以得出,当的时候,两个样本完全相关,即协方差等于等于其变量方差积的1/2次方,当相关系数表示,两个样本没有相关关系。同理,该相关系数也可以用来检验拟合程度:

根据模型将相应的代入,可以得到一组预测值,将实际值与预测值计算相关系数,若则说明预测值与实际值一一对应,具有很高的相关程度;若较小,则说明模型的质量较差,不能很好地模拟变量的趋势走向。

线性回归的局限性和适用性

并且,对于相关系数的表达式,其表示的是两组数据关于其平均数的离散程度。也就是说,相关系数只能够比较两组数据的变化趋势是否相同,如果要比较预测值与实际值的的大小拟合程度,还需比较两组数据的平均值大小关系,若两组变量的相关系数较大(>0.85),且两组变量的均值相等,可通过该相关系数初步判断其具有相关关系。当然,基于样本去预测其总体,该预测方法准确度受限于样本本身的分布是否能够很好地代表总体的分布,即同方差,同均值等。

考虑以上的限制条件,可以得到线性回归的模型有效要求产生模型的样本要对总体能够具有代表性,样本和总体要满足均值和方差相等的同分布的的正态分布。即,其中分别为样本均值和总体均值,分别为样本方差和总体方差。

样本对于总体的显著性

由相关系数的表达式可以看出,该相关系数的计算基于有限的样本。而我们如果使用该模型进行总体上的预测的话——预测样本中不包含的结果,需要对样本是否具有代表性进行显著性检验,即这些样本能否在具有一定的统计概率的前提下我们能够相信这些通过对样本进行线性拟合所预测出来的结果在总体上具有普遍性。如果样本显著性高,则表明有很大的概率去相信可以通过样本在一定程度上预测总体的发展趋势;若显著性低,则说明该样本具有很大的偶然性,不能通过其结果来预测总体。

假定我们对于模型有两种处理方式

  1. 接受模型
  2. 拒绝模型

同时样本对于总体也有两种情况

  1. 样本能很好反应总体
  2. 样本很扯淡

对于1和3,2和4的组合,站在上帝视角来看,做法都是对的。

但如果2和3组合,即模型可能是正确的,而我们拒绝了模型,发生这种情况会有一个概率,称之为犯第一类错误的概率。第一类错误发生的原因很大程度上是对样本的不信任导致的,即样本能够反映总体的概率为

但如果1和4组合,即模型很可能是错的,而我们接受了模型,发生这种情况会有一个概率,称之为犯第二类错误的概率,第二类错误发生的原因主要是由于样本不能很好反应总体,而我们却信任样本导致的。即样本靠谱的概率为 ps:感觉会比我靠谱些。

而我们一般在求出了模型之后,并不会主动去拒绝它,因此在线性回归中主要是要避免第二类错误的发生,即控制处在一个较高的概率状态下进行计算,<del>如果样本本身不靠谱的话计算个屁!</del>

目前来看,样本都是已知的,而总体是未知的,所以我们就要闭着眼睛瞎检验想过一种方法进行检验。我们可以尝试知道总体的一些统计量,比如总体均值,总体方差这样我们才能有判断样本和总体的依据,如果啥都没有,那就放弃吧。

目前依据已经学过的统计学检验方法,对于总体满足正态分布的情况下可以使用参数检验如t检验进行显著性检验,若总体分布不满足正态分布则可以使用非参数检验比如F检验进行显著性检验。

t检验

为了降低犯第二类错误的概率,我们为t检验选取一个拒绝域,一般选取0.05作为置信区间,进行t分布检验。判断样本分布是否与总体分布相同可以根据方差和样本均值以及总体均值来判断样本均值与总体均值是否存在显著性差异,即原假设为:;备择假设为:若样本均值与总体均值有超过95%的概率无显著差异,在统计学上可以忽略小概率事件,而接受原假设。下面是t检验的方法^2:

对于<strong>总体方差已知的情况</strong>,即已知,则可以检验统计量由正态分布的性质可得,t满足,要满足有95%的概率保证原假设成立。根据正态分布的特性,如果是单侧检验,需要当时,拒绝原假设。可以<strong>查附表1</strong>得到当置信概率为且样本数为时的t分布的最大值,当实际计算的t值小于该最大值时即可在犯错误概率不大于0.05时接受原假设;如果是双侧检验,则t可接受置信区间为。对应于本例子要求样本方差等于总体方差,属于双侧检验。

方差已知的t检验计算公式为:

<strong>若方差未知的情况</strong>,需要使用总体方差的无偏估计量样本方差来计算t统计量,此时t仍服从分布。可通过查附表得到得到当置信概率为且样本数为时的t分布的最大值。对于单侧检验或侧检验的置信区间的控制方法同方差已知的情形。控制区间为

方差未知的t检验计算公式为:

F检验

对于总体分布不满足正态分布的显著性检验可以采用非参数检验,这里详细介绍卡方检验卡方检验是检验实际值(样本)与理论值(总体)偏离程度的重要方法。如果卡方值越大,其偏离程度越大,若卡方值等于0,则说明总体和样本完全吻合^3。

假设样本均值与总体均值相同,即原假设为:

进行卡方检验需要知道总体在样本对应点的期望,将样本中的每一个点进行如下运算:,最后将每个点残差求和即得到相应的卡方值<strong>查附表</strong>得到显著水平为自由度为卡方检验临界值。若实际求得的卡方值小于临界值,则说明差异不显著,接受原假设。表明样本均值与总体均值有超过95%的概率无显著差异。

模型方程的显著性

当样本能够在一定程度上有效地代表整体时,我们还需要对最后拟合模型的结果进行显著性检验,以确保得出的模型能够很好地反映样本的变化规律。

对于一次函数的线性回归模型,我们需要检验回归得到的系数是否显著,同时要检验回归得到的方程是否显著。

回归系数的检验

一次函数线性回归方程中有两个回归参数:,由于所决定,因此只需要对进行检验。为线性方程的斜率,对线性方程的斜率检验即是对变量X,Y是否满足线性关系,即原假设。要得到则需要对实际值{y_i},与模型方程计算得到的期望值进行显著性检验,若两者的差异显著性较大,则接受原假设,若无显著差异,则应拒绝原假设。

,因此该分布的方差分子为总离差平方和,下部为自变量的总离差平方和,简写作

构造t检验统计量:,则t统计量服从

<strong>查附表</strong>得到置信区间为自由度为的临界值。若求得的t统计量不在置信区间内,则可以拒绝原假设,即通过回归系数的t检验,回归系数是显著的,X和Y存在线性关系。

回归方程的检验

总离差平方和为,该平方和描述了样本数据的离散程度,且是一个常数。其可以分解为:

由于是常数,则,当回归平方和越大时,残差平方和越小^4,即模型越精确。

对回归方程得检验仍是检验估计参数的显著性,假设原假设

把模型预测的结果当作一个新的样本,回归方程的显著性检验即是对预测样本与实际样本的显著性检验。

构造统计量F

其中k为回归系数个数,T为样本个数。计算统计量F。

得到置信区间为自由度为所对应的值,若则可拒绝原假设,即回归方程显著。

总结

对于一元线性回归来说,首先需要求根据残差平方和的取值最小来估计回归参数。

由于样本存在偶然性,所以为了减少第二类误差发生的概率,需要对样本进行显著性检验;

为了减少第一类错误发生的概率,需要进行回归显著性检验。

总体计算一元线性回归模型并验证其有效性的过程结束。

多元线性回归

问题引入:如果一个变量受多个因素影响该如何计算呢?

公式描述:

令:

则原方程可表示为:

解决思路:

  1. 检查影响因素的取值中是否有线性相关,即剔除系数矩阵中的线性相关的列,即剔除多余影响因素。
  2. 先根据一元线性回归拟合的依据计算多元拟合的依据,
  3. 对样本进行显著性检验
  4. 对回归方程进行显著性检验
拟合

构造参数估计函数

对该函数进行求导:

对结果进行处理:,得出

在求导计算之前一定要将线性相关列清楚,否则无法对求逆矩阵。

拟合的显著性

样本的显著性检验同一元线性回归的显著性拟合方法相同,这里不多赘述。

回归方程的显著性

首先需要对每个单个回归系数进行t检验,以确保他们每个都能够保证支持原假设成立,否则对于接受了原假设的某个参数需要将其对应的X矩阵中的列清楚,重新拟合多项式。需要注意的是此时服从

对于回归方程的检验可直接通过F检验,构造SSR和SSE变量,进行F检验。需要注意的是,使用此方法时的样本数量一定要大于x自变量的数量。否则一定有线性相关的列向量。

参考资料

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
看完这篇,对flex布局还不熟悉,那就来找我(flex布局最全详解)
传统的页面布局,基于盒子模型margin + border + padding + content,依赖 display + position + float。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。
javascript艺术
2021/05/28
9.5K0
看完这篇,对flex布局还不熟悉,那就来找我(flex布局最全详解)
flex布局制作自适应网页
网页布局是css的一个重点应用。传统的布局都是依赖display、position、float属性来实现的,但是特殊布局就不易实现,如垂直居中。
呆呆
2021/09/29
7170
弹性盒子(display: flex)布局超全讲解|Flex 布局教程
弹性布局(Flex布局)是一种现代的CSS布局方式,通过使用display: flex属性来创建一个弹性容器,并在其中使用灵活的盒子模型来进行元素的排列和定位。
肥晨
2023/06/27
16.7K0
初识flex布局
弹性布局是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。 使用方法:父元素设置display:flex
切图仔
2022/09/08
7550
初识flex布局
Flex 布局教程:语法篇
网页布局(layout)是 CSS 的一个重点应用。 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂
ruanyf
2018/04/13
8300
Flex 布局教程:语法篇
再不学 flex 就不会写布局了
块状元素居中是一个老生常谈的话题,之前面试的时候考官也曾问到过这个。下面写几种常见的块状元素居中的方式。
李振
2021/11/26
3200
再不学 flex 就不会写布局了
总结一下CSS3中的Flex布局语法
Flex 布局有时候会用到,但是始终分不清楚其中的部分属性及其含义,所以用这篇博客专门总结一下 Flex 布局。
知识分子没文化
2023/07/01
4580
总结一下CSS3中的Flex布局语法
CSS弹性布局(Flex) 详解
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap
田小檬
2023/08/24
1.4K0
弹性(Flex)布局的使用
最近我参与实施的两个项目中,一个页面交互复杂,而另一个相对传统,两个项目相比之下凸显出了页面布局样式的时间占比不可忽视,使用了弹性布局代码量精简了不少。
嘉为蓝鲸
2020/02/19
2.2K0
弹性(Flex)布局的使用
css3 flex弹性布局详解
2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。
忆愿
2024/07/30
2370
css3 flex弹性布局详解
CSS3中Flex布局(弹性布局)
Flex是Flexible Box的缩写,就是灵活的弹性页面布局。 作用是为盒子模型提供强大的灵活性功能;
Javanx
2019/09/04
6570
CSS3中Flex布局(弹性布局)
FLEX布局
FLEX布局也称弹性布局,可以为盒状模型提供最大的灵活性,是布局的首选方案,现已得到所有现代浏览器的支持。
WindRunnerMax
2020/08/27
1.4K0
学好Flex布局并不容易
CSS的传统布局解决方案,基于盒状模型,依赖display属性、position属性、float属性,对于一些特殊的布局,例如垂直居中,往往要想很多hack的方法来解决。
大江小浪
2020/11/26
6720
学好Flex布局并不容易
flex布局——回顾
flex 即为弹性布局。   任何一个容器都可以指定为flex布局。     .box{display:flex}   行内元素可以使用flex布局     .box{display: inline-flex}   webkit内核的浏览器必须加上-webkit 前缀。     .box{display:-webkit-flex; display:flex;}   注意:元素设置flex布局以后,子元素得float ,clear 和 vertical-align 属性将失效。   基本概念:     采用f
用户1197315
2018/01/22
7000
CSS-flex 布局
原文链接:https://note.noxussj.top/?source=cloudtencent 为什么要使用 flex 布局? flex 布局是目前比较流行的一种布局,因为它十分简单灵活,区区简
菜园前端
2023/04/16
4270
这次带大家彻底搞懂 flex 布局
flex 布局,即弹性布局,是前端开发中非常常用的布局方式。主要是馋它很简单就能让容器内元素水平垂直居中的能力。
前端西瓜哥
2022/12/21
1.4K0
这次带大家彻底搞懂 flex 布局
前端入门5-CSS弹性布局flex声明正文-弹性布局flex
作为一个前端小白,入门跟着这四个来源学习,感谢作者的分享,在其基础上,通过自己的理解,梳理出的知识点,或许有遗漏,或许有些理解是错误的,如有发现,欢迎指点下。
请叫我大苏
2018/12/05
1.2K0
前端入门5-CSS弹性布局flex声明正文-弹性布局flex
CSS3 Flex 布局
2009 年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局
chuchur
2022/10/25
6310
CSS3 Flex 布局
弹性布局flex
弹性布局: 是css3新增的布局方式 不同于流式布局 弹性布局也叫Flex布局 采用 Flex 布局的元素 称为 Flex 容器(flex container) 简称容器 (通俗来讲就是父标签) 它的所有子元素自动成为容器成员 称为 Flex 项目(flex item) 简称项目 (通说来讲就是子标签)
FGGIT
2024/10/15
1780
Flex布局
Flex 是 Flexible Box 的缩写, 用来为盒状模型提供最大的灵活性,也被称为”伸缩布局”,”弹性布局”,”伸缩盒布局”,”弹性盒布局”。
赤蓝紫
2023/01/01
1.1K0
Flex布局
相关推荐
看完这篇,对flex布局还不熟悉,那就来找我(flex布局最全详解)
更多 >
LV.0
自由职业全栈工程师
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档