最小二乘法求解二元线性回归问题

本文章记录通过矩阵最小二乘法,求解二元方程组的线性回归。

假设,二维平面中有三个坐标(1,1)、(2,2)、(3,2),很显然该三个坐标点不是共线的,如何拟合出一条直线使其为最优直线。

如上图所示,根据三个点,求拟合直线 $$ y = C + Dt $$

将三点的坐标分别带入,可得到如下形式:
{ C + D = 1 C + 2 D = 2 C + 3 D = 2 (1) \begin{cases} C + D = 1\\ C + 2D = 2\\ C + 3D = 2\\ \end{cases} \tag{1} C+D=1C+2D=2C+3D=2(1)

显然方程组无解,因为三点不共线。

令:
A = [ a 1 a 2 ] = [ 1 1 1 2 1 3 ] A = \left[ \begin{matrix} a1 & a2 \end{matrix} \right] = \left[ \begin{matrix} 1 & 1 \\ 1 & 2 \\ 1 & 3 \end{matrix} \right] A=[a1a2]= 111123
b = [ 1 2 2 ] b = \left[ \begin{matrix} 1 \\ 2 \\ 2 \end{matrix} \right] b= 122

则(1)式可表示为:
A [ C D ] = A x = b (2) A\left[ \begin{matrix} C \\ D \end{matrix} \right]=Ax=b\tag{2} A[CD]=Ax=b(2)

令(1,p1)、(2,p2)、(3、p3)分别是拟合直线 y = C + Dt 上的与b 对应的三个坐标,其中
P = [ p 1 p 2 p 3 ] P=\left[ \begin{matrix} p1 \\ p2 \\ p3 \end{matrix} \right] P= p1p2p3

说明:p 是投影的缩写,这里表示b 在拟合直线上的投影点。那么 P 与 b 之间的差值即为误差 e,整个计算过程是为了求出直线,使得 e 最小。

由于 P 中的点均在拟合直线上,所以下列方程有解:
A x ^ = P (3) A\hat{x}=P\tag{3} Ax^=P(3)

说明:P 向量是 b 向量在 Col(A) 空间的投影。Col(A) 即 A 矩阵的列空间。

有投影矩阵的性质可得,
( b − A x ^ ) ⊥ a 1 , ( b − A x ^ ) ⊥ a 2 (b - A\hat{x}) ⊥ a1,(b - A\hat{x}) ⊥ a2 (bAx^)a1(bAx^)a2


A T ( b − A x ^ ) = 0 A^T(b - A\hat{x}) = 0 AT(bAx^)=0

可得
A T A x ^ = A T b (4) A^T A\hat{x}=A^T b \tag4 ATAx^=ATb(4)

计算:
A T A = [ 1 1 1 1 2 3 ] [ 1 1 1 2 1 3 ] = [ 3 6 6 14 ] A^T A = \left[ \begin{matrix} 1 & 1 & 1 \\ 1 & 2 & 3 \\ \end{matrix} \right] \left[ \begin{matrix} 1 & 1 \\ 1 & 2 \\ 1 & 3 \end{matrix} \right] = \left[ \begin{matrix} 3 & 6 \\ 6 & 14 \end{matrix} \right] ATA=[111213] 111123 =[36614]
A T b = [ 1 1 1 1 2 3 ] [ 1 2 2 ] = [ 5 11 ] A^T b = \left[ \begin{matrix} 1 & 1 & 1 \\ 1 & 2 & 3 \\ \end{matrix} \right] \left[ \begin{matrix} 1 \\ 2 \\ 2 \end{matrix} \right] = \left[ \begin{matrix} 5 \\ 11 \end{matrix} \right] ATb=[111213] 122 =[511]
由此得方程组:
{ 3 C + 6 D = 5 6 C + 14 D = 11 (5) \begin{cases} 3C + 6D = 5\\ 6C + 14D = 11 \end{cases} \tag{5} {3C+6D=56C+14D=11(5)

解得:
C = 1 3 , D = 1 2 C =\frac{1}{3}, D =\frac{1}{2} C=31,D=21

即最后求得的拟合直线方程为:
y = 1 3 + 1 2 t (6) y = \frac{1}{3} + \frac{1}{2} t \tag6 y=31+21t(6)

求解过程中的误差
e = p − b e = p - b e=pb
则误差的最小二乘表示为:
m i n ( l ) = ( C + D − 1 ) 2 + ( C + 2 D − 2 ) 2 + ( C + 3 D − 2 ) 2 min(l) = (C + D - 1)^2 + (C + 2D - 2)^2 + (C + 3D - 2)^2 min(l)=(C+D1)2+(C+2D2)2+(C+3D2)2
利用求导函数等于0 的方式,同样可以求得
C = 1 3 , D = 1 2 C =\frac{1}{3}, D =\frac{1}{2} C=31,D=21.

补充说明

A 的各列线性无关,才使得 A T A A^T A ATA可逆,这是最小二乘法成立的大前提。

至此,结束。

追加题目:
t = 1 ; y = 4 t = 1; y = 4 t=1;y=4
t = 2 ; y = 5 t = 2; y = 5 t=2;y=5
t = 3 ; y = 8 t = 3; y = 8 t=3;y=8
如何将上述三个点,拟合到过原点(0,0)的直线上?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值