摘要

一元线性回归可以说是数据分析中非常简单的一个知识点,有一点点统计、分析、建模经验的人都知道这个分析的含义,也会用各种工具来做这个分析。这里面想把这个分析背后的细节讲讲清楚,也就是后面的数学原理。


什么是一元线性回归

回归分析(Regression Analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。举个例子来说吧:

比方说有一个公司,每月的广告费用和销售额,如下表所示:

案例数据

如果我们把广告费和销售额画在二维坐标内,就能够得到一个散点图,如果想探索广告费和销售额的关系,就可以利用一元线性回归做出一条拟合直线:

拟合直线

这条线是怎么画出来的

对于一元线性回归来说,可以看成Y的值是随着X的值变化,每一个实际的X都会有一个实际的Y值,我们叫Y实际,那么我们就是要求出一条直线,每一个实际的X都会有一个直线预测的Y值,我们叫做Y预测,回归线使得每个Y的实际值与预测值之差的平方和最小,即(Y1实际-Y1预测)^2+(Y2实际-Y2预测)^2+ …… +(Yn实际-Yn预测)^2的和最小(这个和叫SSE,后面会具体讲)。

现在来实际求一下这条线:

我们都知道直线在坐标系可以表示为Y=aX+b,所以(Y实际-Y预测)就可以写成(Y实际-(aX实际+b)),于是平方和可以写成a和b的函数。只需要求出让Q最小的a和b的值,那么回归线的也就求出来了。

  简单插播一下函数最小值怎么求:

首先,一元函数最小值点的导数为零,比如说Y=X^2,X^2的导数是2X,令2X=0,求得X=0的时候,Y取最小值。

那么实质上二元函数也是一样可以类推。不妨把二元函数图象设想成一个曲面,最小值想象成一个凹陷,那么在这个凹陷底部,从任意方向上看,偏导数都是0。

因此,对于函数Q,分别对于a和b求偏导数,然后令偏导数等于0,就可以得到一个关于a和b的二元方程组,就可以求出a和b了。这个方法被称为最小二乘法。下面是具体的数学演算过程,不愿意看可以直接看后面的结论。

先把公式展开一下:

Q函数表达式展开

然后利用平均数,把上面式子中每个括号里的内容进一步化简。例如

Y^2的平均

则:

上式子两边×n

于是

Q最终化简结果

然后分别对Q求a的偏导数和b的偏导数,令偏导数等于0。

Q分别对a和b求偏导数,令偏导数为0

进一步化简,可以消掉2n,最后得到关于a,b的二元方程组为

关于a,b的 二元方程组

最后得出a和b的求解公式:

最小二乘法求出直线的斜率a和斜率b

有了这个公式,对于广告费和销售额的那个例子,我们就可以算出那条拟合直线具体是什么,分别求出公式中的各种平均数,然后带入即可,最后算出a=1.98,b=2.25

最终的回归拟合直线为Y=1.98X+2.25,利用回归直线可以做一些预测,比如如果投入广告费2万,那么预计销售额为6.2万

评价回归线拟合程度的好坏

我们画出的拟合直线只是一个近似,因为肯定很多的点都没有落在直线上,那么我们的直线拟合程度到底怎么样呢?在统计学中有一个术语叫做R^2(coefficient ofdetermination,中文叫判定系数、拟合优度,决定系数,简书不能上标,这里是R^2是“R的平方”),用来判断回归方程的拟合程度。

首先要明确一下如下几个概念:

总偏差平方和(又称总平方和,SST,Sum of Squaresfor Total):是每个因变量的实际值(给定点的所有Y)与因变量平均值(给定点的所有Y的平均)的差的平方和,即,反映了因变量取值的总体波动情况。如下:

SST公式

回归平方和(SSR,Sum of Squares forRegression):因变量的回归值(直线上的Y值)与其均值(给定点的Y值平均)的差的平方和,即,它是由于自变量x的变化引起的y的变化,反映了y的总偏差中由于x与y之间的线性关系引起的y的变化部分,是可以由回归直线来解释的。

SSR公式

残差平方和(又称误差平方和,SSE,Sum of Squaresfor Error):因变量的各实际观测值(给定点的Y值)与回归值(回归直线上的Y值)的差的平方和,它是除了x对y的线性影响之外的其他因素对y变化的作用,是不能由回归直线来解释的。

这些概念还是有些晦涩,我个人是这么理解的:

就拿广告费和销售额的例子来说,其实广告费只是影响销售额的其中一个比较重要的因素,可能还有经济水平、产品质量、客户服务水平等众多难以说清的因素在影响最终的销售额,那么实际的销售额就是众多因素相互作用最终的结果,由于销售额是波动的,所以用上文提到的每个月的销售额与平均销售额的差的平方和(即总平方和)来表示整体的波动情况。

回归线只表示广告费一个变量的变化对于总销售额的影响,所以必然会造成偏差,所以才会有实际值和回归值是有差异的,因此回归线只能解释一部分影响

那么实际值与回归值的差异,就是除了广告费之外其他无数因素共同作用的结果,是不能用回归线来解释的。

因此SST(总偏差)=SSR(回归线可以解释的偏差)+SSE(回归线不能解释的偏差)

那么所画回归直线的拟合程度的好坏,其实就是看看这条直线(及X和Y的这个线性关系)能够多大程度上反映(或者说解释)Y值的变化,定义

R^2=SSR/SST 或 R^2=1-SSE/SST, R^2的取值在0,1之间,越接近1说明拟合程度越好

假如所有的点都在回归线上,说明SSE为0,则R^2=1,意味着Y的变化100%由X的变化引起,没有其他因素会影响Y,回归线能够完全解释Y的变化。如果R^2很低,说明X和Y之间可能不存在线性关系

还是回到最开始的广告费和销售额的例子,这个回归线的R^2为0.73,说明拟合程度还凑合。

四、相关系数R和判定系数R^2的区别

判定系数来判断回归方程的拟合程度,表示拟合直线能多大程度上反映Y的波动。

在统计中还有一个类似的概念,叫做相关系数R(这个没有平方,学名是皮尔逊相关系数,因为这不是唯一的一个相关系数,而是最常见最常用的一个),用来表示X和Y作为两个随机变量的线性相关程度,取值范围为【-1,1】。

当R=1,说明X和Y完全正相关,即可以用一条直线,把所有样本点(x,y)都串起来,且斜率为正,当R=-1,说明完全负相关,及可以用一条斜率为负的直线把所有点串起来。如果在R=0,则说明X和Y没有线性关系,注意,是没有线性关系,说不定有其他关系。

就如同这两个概念的符号表示一样,在数学上可以证明,相关系数R的平方就是判定系数。

变量的显著性检验

变量的显著性检验的目的:剔除回归系数中不显著的解释变量(也就是X),使得模型更简洁。在一元线性模型中,我们只有有一个自变量X,就是要判断X对Y是否有显著性的影响;多元线性回归中,验证每个Xi自身是否真的对Y有显著的影响,不显著的就应该从模型去掉。

变量的显著性检验的思想:用的是纯数理统计中的假设检验的思想。对Xi参数的实际值做一个假设,然后在这个假设成立的情况下,利用已知的样本信息构造一个符合一定分布的(如正态分布、T分布和F分布)的统计量,然后从理论上计算得到这个统计量的概率,如果概率很低(5%以下),根据“小概率事件在一次实验中不可能发生”的统计学基本原理,现在居然发生了!(因为我们的统计量就是根据已知的样本算出来的,这些已知样本就是一次实验)肯定是最开始的假设有问题,所以就可以拒绝最开始的假设,如果概率不低,那就说明假设没问题。

其实涉及到数理统计的内容,真的比较难一句话说清楚,我举个不恰当的例子吧:比如有一个口袋里面装了黑白两种颜色的球一共20个,然后你想知道黑白球数量是否一致,那么如果用假设检验的思路就是这样做:首先假设黑白数量一样,然后随机抽取10个球,但是发现10个都是白的,如果最开始假设黑白数量一样是正确的,那么一下抽到10个白的的概率是很小的,但是这么小概率的事情居然发生了,所以我们有理由相信假设错误,黑白的数量应该是不一样的……

总之,对于所有的回归模型的软件,最终给出的结果都会有参数的显著性检验,忽略掉难懂的数学,我们只需要理解如下几个结论:

T检验用于对某一个自变量Xi对于Y的线性显著性,如果某一个Xi不显著,意味着可以从模型中剔除这个变量,使得模型更简洁。

F检验用于对所有的自变量X在整体上看对于Y的线性显著性

T检验的结果看P-value,F检验看Significant F值,一般要小于0.05,越小越显著(这个0.05其实是显著性水平,是人为设定的,如果比较严格,可以定成0.01,但是也会带来其他一些问题,不细说了)

下图是用EXCEL对广告费和销售额的例子做的回归分析的结果(EXCEL真心是个很强大的工具,用的出神入化一样可以变成超神),可以看出F检验是显著的(Significance F为0.0017),变量X的T检验是显著的(P-value为0.0017),这俩完全一样也好理解,因为我们是一元回归,只有一个自变量X。

用Excel做线性回归分析

还有一点是intercept(截距,也就是Y=aX+b中的那个b)的T检验没有通过,是不显著的,一般来说,只要F检验和关键变量的T检验通过了,模型的预测能力就是OK的。

使用Excel数据分析工具进行多元回归分析

在“数据”工具栏中就出现“数据分析”工具库,如下图所示:

给出原始数据,自变量的值在A2:I21单元格区间中,因变量的值在J2:J21中,如下图所示:


假设回归估算表达式为:

试使用Excel数据分析工具库中的回归分析工具对其回归系数进行估算并进行回归分析:

点击“数据”工具栏中中的“数据分析”工具库,如下图所示:

在弹出的“数据分析”-“分析工具”多行文本框中选择“回归”,然后点击 “确定”,如下图所示:

弹出“回归”对话框并作如下图的选择:

上述选择的具体方法是:

在“Y值输入区域”,点击右侧折叠按钮,选取函数Y数据所在单元格区域J2:J21,选完后再单击折叠按钮返回;这过程也可以直接在“Y值输入区域”文本框中输入J2:J21;

在“X值输入区域”,点击右侧折叠按钮,选取自变量数据所在单元格区域A2:I21,选完后再单击折叠按钮返回;这过程也可以直接在“X值输入区域”文本框中输入A2:I21;

置信度可选默认的95%。

在“输出区域”如选“新工作表”,就将统计分析结果输出到在新表内。为了比较对照,我选本表内的空白区域,左上角起始单元格为K10.点击确定后,输出结果如下:

第一张表是“回归统计表”(K12:L17):

其中:

Multiple R:(复相关系数R)R2的平方根,又称相关系数,用来衡量自变量x与y之间的相关程度的大小。本例R=0.9134表明它们之间的关系为高度正相关。(Multiple:复合、多种)

R Square:复测定系数,上述复相关系数R的平方。用来说明自变量解释因变量y变差的程度,以测定因变量y的拟合效果。此案例中的复测定系数为0.8343,表明用用自变量可解释因变量变差的83.43%

Adjusted R Square:调整后的复测定系数R2,该值为0.6852,说明自变量能说明因变量y的68.52%,因变量y的31.48%要由其他因素来解释。( Adjusted:调整后的)

标准误差:用来衡量拟合程度的大小,也用于计算与回归相关的其它统计量,此值越小,说明拟合程度越好

观察值:用于估计回归方程的数据的观察值个数。

第二张表是“方差分析表”:主要作用是通过F检验来判定回归模型的回归效果。

该案例中的Significance F(F显著性统计量)的P值为0.00636,小于显著性水平0.05,所以说该回归方程回归效果显著,方程中至少有一个回归系数显著不为0.(Significance:显著)

第三张表是“回归参数表”:

K26:K35为常数项和b1~b9的排序默认标示.

L26:L35为常数项和b1~b9的值,据此可得出估算的回归方程为:

该表中重要的是O列,该列的O26:O35中的 P-value为回归系数t统计量的P值。

值得注意的是:其中b1、b7的t统计量的P值为0.0156和0.0175,远小于显著性水平0.05,因此该两项的自变量与y相关。而其他各项的t统计量的P值远大于b1、b7的t统计量的P值,但如此大的P值说明这些项的自变量与因变量不存在相关性,因此这些项的回归系数不显著

一元线性回归及Excel回归分析相关推荐

  1. 一元线性回归决定系数_回归分析|笔记整理(1)——引入,一元线性回归(上)...

    大家好! 新学期开始了,不知道大家又是否能够适应新的一学期呢?先祝所有大学生和中小学生开学快乐! 本学期我的专业课是概率论,回归分析,偏微分方程,数值代数,数值逼近,金融时间序列分析,应用金融计量学和 ...

  2. python对于一元线性回归模型_Python一元线性回归分析实例:价格与需求的相关性...

    来自烟水暖的学习笔记 回归分析(Regression analysis) 回归分析(Regression analysis),是研究因变量与自变量之间相关性的一种数学方法,并将相关性量化,即得到回归方 ...

  3. python对于一元线性回归模型_利用Python进行一元线性回归分析

    信管专业小白一枚,通过知乎来记录自己的学习旅程! 这段时间帮学长做了个东东,大体意思是通过09-13年的数值,估算出14年的数值来. 起初用Excel做成.后来想试试用Python做一下估算,也就趁机 ...

  4. Excel一元线性回归示例与演算步骤详解含源码及注释

    Excel一元线性回归示例 1 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. 2 一元线性回归简介 回归分析只涉及到两个变量(Y因变 ...

  5. R语言计量(一):一元线性回归与多元线性回归分析

    文章目录 一.数据调用与预处理 二.一元线性回归分析 三.多元线性回归分析 (一)解释变量的多重共线性检测 (二)多元回归 1. 多元最小二乘回归 2. 逐步回归 (三)回归诊断 四.模型评价-常用的 ...

  6. 机器学习:回归分析—— 一元线性回归、多元线性回归的简单实现

    回归分析 回归分析概述 基本概念 可以解决的问题 基本步骤和分类 线性回归 一元线性回归 多元线性回归 回归分析概述 基本概念 回归分析是处理多变量间相关关系的一种数学方法.相关关系不同于函数关系,后 ...

  7. CPDA案例:基于EXCEL的一元线性回归案例《广告与销量》

    基于EXCEL的一元线性回归案例:广告与销量 CPDA案例:基于EXCEL的一元线性回归案例<广告与销量> 业务分析 一元线性回归步骤 业务解读 CPDA案例:基于EXCEL的一元线性回归 ...

  8. excel 根据父子身高建立一元线性回归

    每天进步一点点 案例:根据父子身高建立线性回归模型 分析要求: 1:根据表中的数据估计子辈身高依据父辈身高的线性回归模型,写出回归方程 并检验变量间线性关系是否显著(α=0.05): 2:解释模型中回 ...

  9. 回归分析:一元线性回归模型 白话解析与案例实现

    线性学习 回归分析是研究自变量x与因变量y的关系的方法. 生活中经常会有类似的关系,例如工龄与工资的关系.房屋面积与价格的关系等等. 一元线性回归模型 只是涉及一个自变量的关系,可以用一元线性方程来表 ...

最新文章

  1. 2019年上半年收集到的人工智能自然语言处理方向干货文章
  2. 算法导论2-9章补充几道题
  3. Ecshop后台流量分析--地区分布的地名全是乱码
  4. linux 文件 跳板机_shell实现跳板机
  5. 机器人学习--粒子滤波/MCL定位的理论基础(先验知识)
  6. VTK:Utilities之RenderScalarToFloatBuffer
  7. Linux基础命令---cpio
  8. 计算机考研英语什么时候考试,计算机考研:早期复习三大注意事项
  9. 【github】git 使用命令大全
  10. Django笔记13(部署Django)
  11. java 神经网络算法_70行Java代码实现深度神经网络算法分享
  12. linux从入门到精通 第2版 pdf
  13. 前端与移动开发----微信小程序----小程序(一)
  14. vue 对象提供的属性功能、通过axio请求数据(2)
  15. [Python3]利用tkinter为数独计算器编写GUI
  16. 简述eureka的自我保护模式? 如何配置其自我保护模式
  17. 小小签到获取签到列表和发送签到数据可弄自动签到
  18. 香港主机如何设置网站404页面
  19. 解决你关于域名过期且没有备案的问题
  20. IDEA:Warning: No artifacts marked for deployment

热门文章

  1. Android使用bit.ly的api获取url 短连接
  2. 硬件描述语言Verilog学习(五)
  3. 完美复刻小米路由器Misstar Tools(MT工具箱)BY:蜜罐版
  4. 陕科大计算机专业好转吗,陕西人眼里的陕科大怎么样?211为什么没给陕科大?...
  5. 查看库文件编译时所使用的GCC版本号
  6. 606. 根据二叉树创建字符串
  7. H5标签 video标签的使用
  8. 普通打印机如何打印条形码
  9. 梁昌勇 软件工程_梁昌勇的论文专著
  10. 8名清华北大研究生不出国,街道办事处上班!难道公务员比互联网还卷?