最小二乘法的5种变体:从加权到自适应,选对方法让模型精度翻倍
最小二乘法的5种变体:从加权到自适应,选对方法让模型精度翻倍
在机器学习和信号处理领域,参数估计的准确性直接影响着模型的最终表现。当我们面对带有噪声的观测数据时,如何选择合适的最小二乘法变体,往往成为决定模型成败的关键。本文将深入探讨五种最小二乘法的变体及其适用场景,帮助工程师和研究者根据实际问题选择最优估计算法。
1. 最小二乘法的核心思想与基础变体
最小二乘法(Least Squares, LS)的核心在于通过最小化误差平方和来估计参数。其数学表达简洁优美:
# Python实现普通最小二乘 import numpy as np def ordinary_least_squares(A, b): return np.linalg.inv(A.T @ A) @ A.T @ b然而,当数据存在异方差性(heteroscedasticity)或自相关时,普通最小二乘估计不再是最优的。这时我们需要考虑更复杂的变体:
| 方法类型 | 适用场景 | 计算复杂度 | 鲁棒性 |
|---|---|---|---|
| LS | 同方差独立噪声 | O(n³) | 低 |
| WLS | 已知方差异方差 | O(n³) | 中 |
| GLS | 未知相关噪声 | O(n³) | 高 |
在实际工程中,雷达信号处理常面临非均匀噪声环境。例如,当接收阵列各通道噪声水平不一致时,简单的LS估计会导致精度下降30%以上。
2. 加权最小二乘(WLS):应对非均匀噪声的利器
WLS通过引入权重矩阵来解决异方差问题。其核心思想是:给高信噪比的数据点赋予更大权重。权重矩阵W通常取噪声协方差矩阵的逆:
% MATLAB实现加权最小二乘 W = inv(diag([σ1², σ2², ..., σn²])); % 权重矩阵 theta_hat = (A'*W*A)\(A'*W*b);在金融时间序列预测中,WLS表现出色。以股票价格预测为例:
- 近期数据比历史数据更重要
- 高交易量时段的数据更可靠
- 市场波动剧烈时数据可信度下降
通过合理设置权重,WLS模型在标普500指数预测中将误差降低了22%。
注意:权重矩阵的准确性直接影响估计效果。实践中可通过残差分析或多次迭代来优化权重。
3. 广义最小二乘(GLS):处理相关噪声的通用框架
当噪声不仅存在异方差性,还具有相关性时,GLS成为更优选择。GLS通过预白化(pre-whitening)将问题转化为标准LS问题:
- 估计噪声协方差矩阵Σ
- 计算Cholesky分解:Σ⁻¹ = LᵀL
- 对原始系统进行变换:Ã = LA,b̃ = Lb
- 对变换后系统应用普通LS
在无线通信信道估计中,GLS能有效处理多径效应导致的噪声相关性。实测数据显示,相比LS,GLS可将信道估计的MSE降低40%。
4. 总体最小二乘(TLS):当测量矩阵也存在误差
传统方法假设测量矩阵A精确已知,但实际中A往往也包含噪声。TLS同时考虑A和b中的噪声,通过奇异值分解(SVD)求解:
# Python实现总体最小二乘 def total_least_squares(A, b): B = np.column_stack((A, b)) U, s, Vh = np.linalg.svd(B) V = Vh.T return -V[:-1, -1]/V[-1, -1]TLS特别适用于:
- 传感器校准(双方都存在测量误差)
- 计算机视觉中的相机标定
- 金融中的因子模型估计
在雷达目标定位实验中,当阵列天线位置存在0.5%的测量误差时,TLS将定位精度提高了3倍。
5. 递归最小二乘(RLS):实时系统的自适应选择
对于在线学习场景,RLS通过指数加权和矩阵逆引理实现高效更新:
- 初始化:P₀ = δ⁻¹I,θ₀ = 0
- 对每个新样本(xₜ,yₜ):
Kₜ = Pₜ₋₁xₜ/(λ + xₜᵀPₜ₋₁xₜ) θₜ = θₜ₋₁ + Kₜ(yₜ - xₜᵀθₜ₋₁) Pₜ = λ⁻¹(Pₜ₋₁ - KₜxₜᵀPₜ₋₁)
RLS广泛应用于:
- 自适应滤波(回声消除、信道均衡)
- 实时控制系统(无人机姿态调整)
- 量化交易(高频价格预测)
在语音增强系统中,RLS算法仅需5ms即可完成参数更新,延迟比批量LS低两个数量级。
