最小二乘法
已知一组大致满足线性关系的实验数据
x | x1x_1x1 | x2x_2x2 | x3x_3x3 | ⋯\cdots⋯ | xnx_nxn |
---|---|---|---|---|---|
y | y1y_1y1 | y2y_2y2 | y3y_3y3 | ⋯\cdots⋯ | yny_nyn |
要确定直线 y=ax+by=ax+by=ax+b 使得所有观测值 yiy_iyi 与 axi+bax_i+baxi+b 之差的平方和
Q=∑i=1n(yi−axi−b)2
Q=\sum_{i=1}^n(y_i-ax_i-b)^2
Q=i=1∑n(yi−axi−b)2
最小.将 y=ax+by=ax+by=ax+b 视为变量 yyy 与 xxx 之间的近似函数关系,称为这组数据在最小二乘意义下的拟合曲线(实践中常称为经验公式).
确定常数 aaa , bbb 用的方法就是二元函数求极值的方法.显然 QQQ 是 aaa, bbb 的函数,令
∂Q∂a=−2∑i=1n(yi−axi−b)xi=2a∑i=1nxi2+2b∑i=1nxi−2∑i=1nxiyi=0∂Q∂b=−2∑i=1n(yi−axi−b)=2a∑i=1nxi−2∑i=1nyi+2nb=0\begin{aligned} \frac{\partial Q}{\partial a}&=-2\sum_{i=1}^n(y_i-ax_i-b)x_i=2a\sum_{i=1}^nx_i^2+2b\sum_{i=1}^nx_i-2\sum_{i=1}^nx_iy_i=0\\ \frac{\partial Q}{\partial b}&=-2\sum_{i=1}^n(y_i-ax_i-b)=2a\sum_{i=1}^nx_i-2\sum_{i=1}^ny_i+2nb=0 \end{aligned}∂a∂Q∂b∂Q=−2i=1∑n(yi−axi−b)xi=2ai=1∑nxi2+2bi=1∑nxi−2i=1∑nxiyi=0=−2i=1∑n(yi−axi−b)=2ai=1∑nxi−2i=1∑nyi+2nb=0
就得到线性方程组
(∑i=1nxi2∑i=1nxi∑i=1nxin)(ab)=(∑i=1nxiyi∑i=1nyi)(1) \begin{pmatrix} \sum_{i=1}^nx_i^2 & \sum_{i=1}^nx_i\\[5pt] \sum_{i=1}^nx_i&n \end{pmatrix} \begin{pmatrix} a\\[5pt]b \end{pmatrix} =\begin{pmatrix} \sum_{i=1}^nx_iy_i\\[5pt] \sum_{i=1}^ny_i \end{pmatrix}\tag{1} (∑i=1nxi2∑i=1nxi∑i=1nxin)(ab)=(∑i=1nxiyi∑i=1nyi)(1)
当
∣∑i=1nxi2∑i=1nxi∑i=1nxin∣=n∑i=1nxi2−(∑i=1nxi)2=12∑i≠j(xi−xj)2≠0\begin{vmatrix}
\sum_{i=1}^nx_i^2 & \sum_{i=1}^nx_i\\[5pt]
\sum_{i=1}^nx_i&n
\end{vmatrix}=n\sum_{i=1}^nx_i^2-(\sum_{i=1}^nx_i)^2=\frac{1}{2}\sum_{i\ne j}(x_i-x_j)^2\ne0∣∣∣∣∣∑i=1nxi2∑i=1nxi∑i=1nxin∣∣∣∣∣=ni=1∑nxi2−(i=1∑nxi)2=21i=j∑(xi−xj)2=0
时,方程(1) 有唯一解:
a0=n∑i=1nxiyi−∑i=1nxi∑i=1nyin∑i=1nxi2−(∑i=1nxi)2,b0=∑i=1nxi2∑i=1nyi−∑i=1nxi∑i=1nxiyin∑i=1nxi2−(∑i=1nxi)2 a_0=\frac{n\sum_{i=1}^nx_iy_i-\sum_{i=1}^nx_i\sum_{i=1}^ny_i}{n\sum_{i=1}^nx_i^2-(\sum_{i=1}^nx_i)^2},\qquad b_0=\frac{\sum_{i=1}^nx_i^2\sum_{i=1}^ny_i-\sum_{i=1}^nx_i\sum_{i=1}^nx_iy_i}{n \sum_{i=1}^nx_i^2-(\sum_{i=1}^nx_i)^2} a0=n∑i=1nxi2−(∑i=1nxi)2n∑i=1nxiyi−∑i=1nxi∑i=1nyi,b0=n∑i=1nxi2−(∑i=1nxi)2∑i=1nxi2∑i=1nyi−∑i=1nxi∑i=1nxiyi
下证明 a0a_0a0,b0b_0b0 是函数的最小值点
求得 Hessian 矩阵为:
2(∑i=1nxi2∑i=1nxi∑i=1nxin)2\begin{pmatrix}\sum_{i=1}^nx_i^2&\sum_{i=1}^nx_i\\[5pt]\sum_{i=1}^nx_i&n\end{pmatrix}2(∑i=1nxi2∑i=1nxi∑i=1nxin)
由于 Hessian 矩阵总是正定的,所以 a0,b0a_0,b_0a0,b0 是 Q(a.b)Q(a.b)Q(a.b) 的极小值点,又因为只有极小值点,所以 a0,b0a_0,b_0a0,b0 是最小值点.