最小二乘法详细推导过程

转载自: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值,因此:


至此,公式推导完毕。
 

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

  • 44
    点赞
  • 150
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
最小二乘法是一种常用的参数估计方法,通过最小化误差平方和来拟合数据。 首先,我们需要将模型转化为线性模型,即: ln(y-0.196) = ln(a) - b*x 令 ln(y-0.196) = Y,ln(a) = A,b = β,x = X,则有: Y = A - β*X 现在,我们可以采用最小二乘法来估计参数 A 和 β。 首先,计算 X 和 Y 的均值: X_mean = (1+2+...+10)/10 = 5.5 Y_mean = (ln(0.393-0.196)+ln(0.615-0.196)+...+ln(1.568-0.196))/10 = 0.522 然后,计算 X 和 Y 的离差积和: SS_XY = (1-5.5)*(ln(0.393-0.196)-0.522) + (2-5.5)*(ln(0.615-0.196)-0.522) + ... + (10-5.5)*(ln(1.568-0.196)-0.522) = -6.696 SS_XX = (1-5.5)^2 + (2-5.5)^2 + ... + (10-5.5)^2 = 82.5 接下来,我们可以计算 β 的估计值: β = SS_XY / SS_XX = -0.081 然后,我们可以计算 A 的估计值: A = Y_mean + β*X_mean = 0.669 因此,我们得到的最终模型为: ln(y-0.196) = 0.669 - 0.081*x 即: y = exp(0.669)*exp(-0.081*x) + 0.196 现在,我们可以使用该模型来预测 x1=30 对应的 y1: y1 = exp(0.669)*exp(-0.081*30) + 0.196 = 1.851 因此,当 x1=30 时,y1 的预测值为 1.851。 最小二乘法详细推导过程如下: 我们需要最小化误差平方和: S = Σ(yi-ai)^2 其中,ai 是模型预测的值,yi 是实际观测值。 将模型 y = a*(1-exp(-b*x))+0.196 代入,有: S = Σ(yi-a*(1-exp(-b*xi))-0.196)^2 对 a 和 b 分别求偏导数,有: ∂S/∂a = -2Σ(yi-a*(1-exp(-b*xi))-0.196)*(1-exp(-b*xi)) ∂S/∂b = -2Σ(yi-a*(1-exp(-b*xi))-0.196)*a*xi*exp(-b*xi) 令偏导数为 0,解得: a = (Σyi*(1-exp(-b*xi))-Σ(1-exp(-b*xi))*(yi-0.196)) / (Σ(1-exp(-2*b*xi)) - Σ(1-exp(-b*xi))^2/10) b = -ln(1-(Σxi*(yi-0.196)-Σxi*Σ(1-exp(-b*xi))/10)/Σ(1-exp(-b*xi))^2) 最后,带入计算即可得到最优的参数估计值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值