最小二乘法
已知一组大致满足线性关系的实验数据
x | x 1 x_1 x1 | x 2 x_2 x2 | x 3 x_3 x3 | ⋯ \cdots ⋯ | x n x_n xn |
---|---|---|---|---|---|
y | y 1 y_1 y1 | y 2 y_2 y2 | y 3 y_3 y3 | ⋯ \cdots ⋯ | y n y_n yn |
要确定直线 y = a x + b y=ax+b y=ax+b 使得所有观测值 y i y_i yi 与 a x i + b ax_i+b axi+b 之差的平方和
Q
=
∑
i
=
1
n
(
y
i
−
a
x
i
−
b
)
2
Q=\sum_{i=1}^n(y_i-ax_i-b)^2
Q=i=1∑n(yi−axi−b)2
最小.将
y
=
a
x
+
b
y=ax+b
y=ax+b 视为变量
y
y
y 与
x
x
x 之间的近似函数关系,称为这组数据在最小二乘意义下的拟合曲线(实践中常称为经验公式).
确定常数 a a a , b b b 用的方法就是二元函数求极值的方法.显然 Q Q Q 是 a a a, b b b 的函数,令
∂ Q ∂ a = − 2 ∑ i = 1 n ( y i − a x i − b ) x i = 2 a ∑ i = 1 n x i 2 + 2 b ∑ i = 1 n x i − 2 ∑ i = 1 n x i y i = 0 ∂ Q ∂ b = − 2 ∑ i = 1 n ( y i − a x i − b ) = 2 a ∑ i = 1 n x i − 2 ∑ i = 1 n y i + 2 n b = 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 = 1 n x i 2 ∑ i = 1 n x i ∑ i = 1 n x i n ) ( a b ) = ( ∑ i = 1 n x i y i ∑ i = 1 n y i ) (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
=
1
n
x
i
2
∑
i
=
1
n
x
i
∑
i
=
1
n
x
i
n
∣
=
n
∑
i
=
1
n
x
i
2
−
(
∑
i
=
1
n
x
i
)
2
=
1
2
∑
i
≠
j
(
x
i
−
x
j
)
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) 有唯一解:
a 0 = n ∑ i = 1 n x i y i − ∑ i = 1 n x i ∑ i = 1 n y i n ∑ i = 1 n x i 2 − ( ∑ i = 1 n x i ) 2 , b 0 = ∑ i = 1 n x i 2 ∑ i = 1 n y i − ∑ i = 1 n x i ∑ i = 1 n x i y i n ∑ i = 1 n x i 2 − ( ∑ i = 1 n x i ) 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
下证明 a 0 a_0 a0, b 0 b_0 b0 是函数的最小值点
求得 Hessian 矩阵为:
2 ( ∑ i = 1 n x i 2 ∑ i = 1 n x i ∑ i = 1 n x i n ) 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 矩阵总是正定的,所以 a 0 , b 0 a_0,b_0 a0,b0 是 Q ( a . b ) Q(a.b) Q(a.b) 的极小值点,又因为只有极小值点,所以 a 0 , b 0 a_0,b_0 a0,b0 是最小值点.