最小二乘法

来源:互联网 发布:我要开淘宝网店怎么开 编辑:程序博客网 时间:2024/06/05 04:35

1. 最小二乘思想

在现实生活中存在着大量的数量之间的相关关系,比如人的身高和体重,钻石的价格和体积、克拉数,房价和房屋位置、面积、朝向等等。我们可以借助统计学中的回归模型,通过一些可以观测到的值(观测变量、自变量)来预测另外一些不容易观测到的值(响应变量、自变量)。如一元线性模型y=ax+b、二次函数模型y=ax2+bx+c等等。
假设所建立的回归模型的一般形式为:y=f(xθ)+ε,其中Y称为响应变量、因变量,x称为解释变量或自变量。
f(xθ)+ε是一个由参数θ决定的回归函数,ε是一个不可观测的随机误差,而最小二乘法是目前最常用的,使误差达到最小的一种数学优化技术。
最小二乘的思想就是要使得观测点和估计点的距离的平方和达到最小。这里的“二乘”指的是用平方来度量观测点与估计点的远近(在古汉语中“平方”称为“二乘”),“最小”指的是参数的估计值要保证各个观测点与估计点的距离的平方和达到最小。

2. 一元线性模型

对于最简单的一元线性模型:y=f(xθ)+ε,若(x1,y1),(x2,y2),...,(xn,yn)为收集到的观测数据,则应该用xi^估计xi,用yi^=f(xi^θ)+ε估计yi,这样点(xi^,yi^)就是点(xi,yi)的估计,它们之间距离的平方就是:(xixi^)2+(yiyi^)2
进而最小二乘估计量就是

Q(θ)=i=1n(xixi^)2+i=1n(yif(xi^θ))2(1)

达到最小值的参数。
特别当各个xi和相应的估计值相等,即xi^=xi时,最小二乘估计量就是使得
Q(θ)=i=1n(yif(xi^θ))2(2)

达到最小值的参数。
在实际应用中,人们常忽略“各个xi和相应的估计值相等”的条件,而把(2)式的最小值点称为参数θ的最小二乘估计量,其原因有二:其一是不知道最小二乘方法的原理;或是找不到估计量xi^的合理数学表达式,也就无法通过(1)式求最小二乘估计量,只好用(2)式的最小值点作为参数的估计。
由于我们这是一元线性模型,则f(xi^θ)=axi+b,此时目标函数变成了
Q(θ)=i=1n(yiaxib)2

我们通过使Q(θ)最小得到这条直线,这样一个求极值问题我们可以通过求Q(θ)对两个待估参数a^b^的偏导得到:
Qa^=2i=1n(yia^xib^)(xi)=0Qb^=2i=1n(ya^xb^)(1)=0

最后解得:
a^=nni=1xiyini=1xini=1yinni=1x2i(ni=1xi)2b^=ni=1yini=1x2ini=1xini=1xiyinni=1x2i(ni=1xi)2

3. 拟合多项式曲线

设待拟合的曲线是:

y=a0+a1x+a2x2+...+akxk

假设有n个观测点,由上面的理论可知各点到这条曲线的距离和为:
Q(θ)=i=1n[yi(a0+a1xi+a2x2i+...+akxki)]2

求使得Q(θ)最小的a0a1...ak值,对每一个a值求偏导:
Q(θ)a0=2ni=1[yi(a0+a1xi+a2x2i++akxki)]
Q(θ)a1=2xini=1[yi(a0+a1xi+a2x2i++akxki)]
Q(θ)a2=2x2ini=1[yi(a0+a1xi+a2x2i++akxki)]
...
Q(θ)ak=2xkini=1[yi(a0+a1xi+a2x2i++akxki)]
令上面的偏导值都为0,化简得:
na0+ni=1xia1+ni=1x2ia2++ni=1xkiak=ni=1yi
ni=1xia0+ni=1x2ia1+ni=1x3ia2++ni=1xk+1iak=ni=1xiyi
...
ni=1xkia0+ni=1xk+1ia1+ni=1xk+2ia2++ni=1x2k+1iak=ni=1xkiyi
将这组等式表示成矩阵形式:
nni=1xini=1x2i...ni=1xkini=1xini=1x2ini=1x3i...ni=1xk+1i............ni=1xkini=1xk+1ini=1xk+2i...ni=1x2ki(a0 a1 a2  ak)=(ni=1yi ni=1xiyi ni=1x2iyi  ni=1xkiyi)
也就是XA=Y,解此矩阵方程求出A,即可得到最佳的拟合曲线。


公式格式出问题时请参考这里:文章备份

0 0