局部加权线性回归(Locally Weighted Linear Regression, LOWESS/LWR)算法的原理与拟合过程
题目描述
局部加权线性回归(LOWESS/LWR)是一种非参数回归方法,用于拟合数据中的局部趋势,尤其适用于数据关系复杂、可能不满足全局线性假设的情况。与普通线性回归不同,LOWESS在预测每个点的输出时,会根据该点附近的数据点进行加权线性拟合,距离近的点权重高,距离远的点权重低。这样,模型可以自适应地捕捉数据的局部变化,而无需假设全局函数形式。
解题过程
1. 核心思想
LOWESS的核心思想是:对于任意给定的查询点 \(x_q\)(需要预测的点),我们仅使用其邻近的数据点来拟合一个简单的线性模型。邻近点的贡献通过一个权重函数来调节,距离 \(x_q\) 越近的点权重越大。因此,每个查询点都会对应一个局部线性模型,模型参数随 \(x_q\) 的位置变化而变化。
2. 权重函数的选择
权重函数通常选择核函数(Kernel Function),常用的有:
- 高斯核(径向基函数):
\[ w_i(x_q) = \exp\left(-\frac{(x_i - x_q)^2}{2\tau^2}\right) \]
- 三次方核(Tricube):
\[ w_i(x_q) = \left(1 - \left|\frac{x_i - x_q}{d_{\max}}\right|^3\right)^3 \quad \text{若 } |x_i - x_q| < d_{\max},否则为 0 \]
其中:
- \(x_i\) 是训练集中的第 \(i\) 个输入。
- \(\tau\)(高斯核)或 \(d_{\max}\)(三次方核)是带宽参数,控制局部邻域的大小。带宽越大,参与拟合的点越多,拟合曲线越平滑;带宽越小,拟合越依赖临近点,曲线可能波动较大。
3. 局部加权最小二乘法
对于查询点 \(x_q\),我们通过最小化加权残差平方和来拟合局部线性模型:
\[\min_{\theta_0, \theta_1} \sum_{i=1}^n w_i(x_q) \cdot (y_i - (\theta_0 + \theta_1 x_i))^2 \]
其中 \(\theta_0, \theta_1\) 是局部线性模型的截距和斜率。
通过求解加权最小二乘问题,得到最优参数:
\[\hat{\theta} = (X^T W X)^{-1} X^T W y \]
其中:
- \(X\) 是设计矩阵(包含一列1和输入特征)。
- \(W\) 是对角权重矩阵,对角线元素为 \(w_i(x_q)\)。
- \(y\) 是输出向量。
则预测值为:
\[\hat{y}_q = \theta_0 + \theta_1 x_q \]
4. 算法步骤
- 选择带宽参数(如高斯核的 \(\tau\) 或三次方核的 \(d_{\max}\))。
- 对每个查询点 \(x_q\):
- 计算该点与所有训练点 \(x_i\) 的权重 \(w_i(x_q)\)。
- 根据权重矩阵 \(W\),求解加权最小二乘问题,得到局部参数 \(\theta_0, \theta_1\)。
- 计算预测值 \(\hat{y}_q = \theta_0 + \theta_1 x_q\)。
- 将所有查询点的预测值连接,得到拟合曲线。
5. 稳健性改进(鲁棒LOWESS)
为了降低异常值的影响,可以对LOWESS进行迭代稳健化:
- 第一次拟合后,计算残差 \(r_i = y_i - \hat{y}_i\)。
- 根据残差大小重新调整权重(例如,残差大的点降低权重)。
- 用新权重重新拟合,重复数次。
6. 优缺点
优点:
- 灵活性高,能拟合非线性关系。
- 无需事先假设全局模型形式。
- 对局部变化敏感。
缺点:
- 计算量大(每个查询点都需求解加权最小二乘)。
- 需要选择带宽参数(通常通过交叉验证确定)。
- 对高维数据效果下降(“维数灾难”)。
总结
局部加权线性回归通过为每个查询点构建一个加权的局部线性模型,实现了对复杂数据关系的灵活拟合。其核心在于权重函数和带宽参数的选择,前者决定了邻近点的影响程度,后者控制了局部范围的大小。虽然计算成本较高,但LOWESS在低维非线性回归问题中仍是一个强大且直观的工具。