最小二乘法
最小二乘法
最小二乘法是一种数学优化技术,广泛应用于数据拟合和统计建模中。其主要思想是通过最小化误差的平方和,找到最优的拟合函数。
一、基本原理
设有一组观测数据点 ($x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$,希望找到一个函数$ f(x)$,使得预测值 $f(x_i)$ 与实际值 $y_i$的误差平方和最小。
目标函数为:
$S = \sum_{i=1}^{n} (y_i - f(x_i))^2$
通过最小化该目标函数,可以求得最佳拟合参数。
二、线性最小二乘法
最常见的情形是拟合线性模型:
$f(x) = ax + b$
则目标函数为:
$ S(a, b) = \sum_{i=1}^{n} (y_i - (a x_i + b))^2$
对 (a) 和 (b) 求偏导并令其为零,可以得到一组线性方程组,求解可得最优参数 (a, b)。
三、矩阵形式
对于多变量情况,可以用矩阵表示:
$ \mathbf{y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\epsilon}$
其中:
- $ \mathbf{y}$ 是观测值向量
- $\mathbf{X} $ 是设计矩阵
- $\boldsymbol{\beta} $是参数向量
- $ \boldsymbol{\epsilon}$是误差向量
最小二乘解为:
$ \hat{\boldsymbol{\beta}} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{y}$
四、正规方程形式(求解方程组)
给定一组数据点 $(x_i, y_i)$,拟合成无常数项的二次函数模型:
$y = ax^2 + bx
$
目标是最小化残差平方和:
$S(a, b) = \sum_{i=1}^n (y_i - ax_i^2 - bx_i)^2$
为了求得最优参数 (a) 和 (b),我们对目标函数对 (a) 和 (b) 分别求偏导,并令其为 0。
对 (a) 求偏导:
$\frac{\partial S}{\partial a} = -2 \sum x_i^2 (y_i - a x_i^2 - b x_i) = 0$
对 (b) 求偏导:
$\frac{\partial S}{\partial b} = -2 \sum x_i (y_i - a x_i^2 - b x_i) = 0$
我们可以将其整理为如下形式的 2×2 线性方程组:
$\begin{cases}a \sum x_i^4 + b \sum x_i^3 = \sum x_i^2 y_i \a \sum x_i^3 + b \sum x_i^2 = \sum x_i y_i\end{cases}
$
令:
- $S_{x^2} = \sum x_i^2 $
- $S_{x^3} = \sum x_i^3$
- $ S_{x^4} = \sum x_i^4 $
- $ S_{x y} = \sum x_i y_i$
- $ S_{x^2 y} = \sum x_i^2 y_i$
则正规方程可写为矩阵形式:
$
\begin{bmatrix}S{x^4} & S{x^3} \S{x^3} & S{x^2}\end{bmatrix}\begin{bmatrix}a \b\end{bmatrix}=\begin{bmatrix}S{x^2 y} \S{x y}\end{bmatrix}
$
克莱姆法则求解
定义:
- $A = \sum x_i^4$
- $B = \sum x_i^3$
- $ C = \sum x_i^2 $
- $D = \sum x_i^2 y_i$
- $ E = \sum x_i y_i $
则方程组可以写成:
$
\begin{bmatrix}A & B \B & C\end{bmatrix}
\begin{bmatrix}a \b\end{bmatrix}=\begin{bmatrix}D \E\end{bmatrix}
$
克拉姆法则适用于解线性方程组:
$\mathbf{M} \mathbf{x} = \mathbf{v}$
当$\det(M) \neq 0$,有:
$
x_i = \frac{\det(M_i)}{\det(M)}
$ ;其中 $M_i$ 是用第 (i) 列替换为常数向量后的矩阵。
原系数矩阵:
$M =\begin{bmatrix}A & B \B & C\end{bmatrix}\Rightarrow \det(M) = AC - B^2$
解为:
$a = \frac{DC - BE}{AC - B^2}, \quad b = \frac{AE - BD}{AC - B^2}$