最小二乘法详细推导过程

最小二乘法详细推导过程转载自:http://blog.csdn.net/marsjohn/article/details/54911788在数据的统计分析中,数据之间即变量x与Y之间的相关性研究非常重要,通过在直角坐标系中做散点图的方式我们会发现很多统计数据近似一条直线,它们之间或者正相关或者负相关。虽然这些数据是离散的,不是连续的,我们无法得到一个确定的描述这种相关性的函数方程,但既然在直角坐标系中数据分布接近一…

大家好,又见面了,我是你们的朋友全栈君。

转载自:http://blog.csdn.net/marsjohn/article/details/54911788

在数据的统计分析中,数据之间即变量x与Y之间的相关性研究非常重要,通过在直角坐标系中做散点图的方式我们会发现很多统计数据近似一条直线,它们之间或者正相关或者负相关。虽然这些数据是离散的,不是连续的,我们无法得到一个确定的描述这种相关性的函数方程,但既然在直角坐标系中数据分布接近一条直线,那么我们就可以通过画直线的方式得到一个近似的描述这种关系的直线方程。当然,从前面的描述中不难看出,所有数据都分布在一条直线附近,因此这样的直线可以画出很多条,而我们希望找出其中的一条,能够最好地反映变量之间的关系。换言之,我们要找出一条直线,使这条直线“最贴近”已知的数据点,设此直线方程为:
最小二乘法详细推导过程

这里的最小二乘法详细推导过程是为了区分Y的实际值y(这里的实际值就是统计数据的真实值,我们称之为观察值),当x取值最小二乘法详细推导过程(i=1,2,3……n)时,Y的观察值为最小二乘法详细推导过程,近似值为最小二乘法详细推导过程(或者说对应最小二乘法详细推导过程的纵坐标是最小二乘法详细推导过程)。

其中最小二乘法详细推导过程式叫做Y对x的回归直线方程,b叫做回归系数。要想确定回归直线方程最小二乘法详细推导过程,我们只需确定a与回归系数b即可。

 设x,Y的一组观察值为:
最小二乘法详细推导过程   i = 1,2,3……n

其回归直线方程为:
最小二乘法详细推导过程

当x取值最小二乘法详细推导过程(i=1,2,3……n)时,Y的观察值为最小二乘法详细推导过程,差最小二乘法详细推导过程刻画了实际观察值最小二乘法详细推导过程与回归直线上相应点纵坐标之间的偏离程度,见下图:
最小二乘法详细推导过程

 实际上我们希望这n个离差构成的总离差越小越好,只有如此才能使直线最贴近已知点。换句话说,我们求回归直线方程的过程其实就是求离差最小值的过程。

一个很自然的想法是把各个离差加起来作为总离差。可是,由于离差有正有负,直接相加会互相抵消,如此就无法反映这些数据的贴近程度,即这个总离差不能用n个离差之和来表示,见下图:
最小二乘法详细推导过程
 
一般做法是我们用离差的平方和,即:
最小二乘法详细推导过程

作为总离差 ,并使之达到最小。这样回归直线就是所有直线中Q取最小值的那一条。由于平方又叫二乘方,所以这种使“离差平方和为最小”的方法,叫做最小二乘法
用最小二乘法求回归直线方程中的a、b的公式如下:
最小二乘法详细推导过程

其中,最小二乘法详细推导过程最小二乘法详细推导过程最小二乘法详细推导过程最小二乘法详细推导过程的均值,a、b的上方加“︿”表示是由观察值按最小二乘法求得的估计值,a、b求出后,回归直线方程也就建立起来了。

当然,我们肯定不能满足于直接得到公式,我们只有理解这个公式怎么来的才能记住它,用好它,因此给出上面两个公式的推导过程更加重要。在给出上述公式的推导过程之前,我们先给出推导过程中用到的两个关键变形公式的推导过程。首先是第一个公式:
 最小二乘法详细推导过程
 

接着是第二个公式:
最小二乘法详细推导过程
 
 基本变形公式准备完毕,我们可以开始最小二乘法求回归直线方程公式的推导了:
最小二乘法详细推导过程
最小二乘法详细推导过程
 
 至此,公式变形部分结束,从最终式子我们可以看到后两项
最小二乘法详细推导过程

与a、b无关,属于常数项,我们只需
最小二乘法详细推导过程

即可得到最小的Q值,因此:
最小二乘法详细推导过程

至此,公式推导完毕。
 

最小二乘法求回归直线方程可用于所有数据分布近似直线的数据统计、分析问题,其用程序实现非常简便,属于基础统计分析算法,必须能够熟练掌握应用。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145253.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html表格合并纵向单元格_单元格居中对齐怎么设置

    html表格合并纵向单元格_单元格居中对齐怎么设置表格合并(水平和垂直方向) 北京上海济宁 深圳广州泰安

    2025年11月25日
    4
  • python模块list 转json字符串_python 列表 字典转json[通俗易懂]

    python模块list 转json字符串_python 列表 字典转json[通俗易懂]一、Dictionary转为JSON将dict转为JSON,这里利用包jsonimportjsonaItem={}aItem[“id”]=”2203″aItem[“title”]=”title”aItem[“subTitle”]=”subtitle”bItem={}bItem[“id”]=”2842″bItem[“title”]=”b标题”bItem[“subTi…

    2022年10月18日
    2
  • require和import区别

    require和import区别区别 1 模块加载的时间 require 运行时加载 import 编译时加载 效率更高 区别 2 模块的本质 require 模块就是对象 输入时必须查找对象属性 import ES6 模块不是对象 而是通过 export 命令显式指定输出的代码 再通过 import 命令输入 这也导致了没法引用 ES6 模块本身 因为它不是对象 CommonJS 模块 let exists read

    2025年6月10日
    1
  • linux抓包命令详解_linux抓包命令指定ip和端口

    linux抓包命令详解_linux抓包命令指定ip和端口linux抓包命令tcpflow-cieth0dstport6060tcpdump-ieth0dstport6060案例:参考文档:https://blog.csdn.net/weixin_34124651/article/details/88267519

    2022年10月10日
    3
  • 杭电OJ2058_杭电OJ

    杭电OJ2058_杭电OJ杭电OJ2058我写的超时了下面是不超时的#include<stdio.h>#include<math.h>intmain(){ intn,m,i,j; while(scanf(“%d%d”,&n,&m)!=EOF){ if(n==0&&m==0) break; for(j=(int)sqrt((double)(2*m));j>=1;j–){ i=(

    2022年10月2日
    5
  • 振动信号的阶次分析方法_振动频谱图

    振动信号的阶次分析方法_振动频谱图此示例说明如何使用阶次分析来分析振动信号。阶次分析用于量化转速随时间变化的旋转机械中的噪声或振动。阶次指的是参考转速的某个倍数的频率。例如,频率等于发动机旋转频率两倍的振动信号对应的是阶次2,同样,频率等于发动机旋转频率0.5倍的振动信号对应的是阶次0.5。此示例通过确定大振幅的阶次来调查直升机舱中不必要的振动的来源。简介此示例分析在主发动机加速和减速过程中,来自直升机舱中加速度计的仿真振动数据。直升机有几个旋转部件,包括发动机、变速箱、主旋翼和尾旋翼。每个部………

    2022年10月10日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号