M-Estimation

  • M-Estimation 是一类广泛估计函数,定义为所给数据上的最小和函数。最小二乘估计和极大似然估计都是 M 估计法。M 估计法由鲁棒的数据作为运行保证。
  • 一般地,一个 M-Estimation 定义为一个估计函数为 0 的情况。这个估计函数经常是一些统计函数。如令一个由参数定义的极大似然函数为 0,因此一个极大似然估计值往往是一个能量函数取得极值的点。
M-Estimation

1 介绍

  • M-Estimation 是一类广泛估计函数,定义为所给数据上的最小和函数。最小二乘估计和极大似然估计都是 M 估计法。M 估计法由鲁棒的数据作为运行保证。
  • 一般地,一个 M-Estimation 定义为一个估计函数为 0 的情况。这个估计函数经常是一些统计函数。如令一个由参数定义的极大似然函数为 0,因此一个极大似然估计值往往是一个能量函数取得极值的点。

2 M 估计在最小二乘中的运用

2.1 最小二乘

考虑线性回归,βi,ε\beta_i, \varepsilon 均未知:

y=β0+β1x1++βkxk+ε, εN(0,σ2)y = \beta_0 + \beta_1 x_1 + \cdots + \beta_k x_k + \varepsilon,\ \varepsilon \sim N(0, \sigma^2)

写为矩阵表达式:

Y=Xβ+εX=(x1,x2,...,xn)T=(x1Tx2TxnT)\bold{Y} = \bold{X} \pmb{\beta} + \pmb{\varepsilon}\\ \bold{X} = (\bold{x}_1, \bold{x}_2, ..., \bold{x}_n)^T = \left( \begin{matrix} \bold{x}_1^T \\ \bold{x}_2^T \\ \vdots \\ \bold{x}_n^T \end{matrix} \right)

定义最小二乘误差 SE2S_E^2,目的就是使这个误差最小:

SE2=SE2(β)=i=1n(yiβ0β1xi1βkxik)=YXβ2=YYT2YTXβ+βTXTXβ\begin{aligned} S_E^2 &= S_E^2(\pmb{\beta}) = \sum_{i=1}^n (y_i - \beta_0 - \beta_1 x_{i1} - \cdots - \beta_k x_{ik}) \\ &= \| \bold{Y} - \bold{X} \pmb{\beta} \|^2 = \bold{YY}^T - 2 \bold{Y}^T \bold{X} \pmb{\beta} + \pmb{\beta}^T \bold{X}^T \bold{X} \pmb{\beta} \end{aligned}

由于误差避免,记 β\pmb{\beta} 的估计值为 β^=(β^0,β^1,...,β^k)T\hat{\pmb{\beta}} = (\hat{\beta}_0, \hat{\beta}_1, ..., \hat{\beta}_k)^T,则 β\pmb{\beta} 为下式的解:

SE2(β)β=0\frac{\partial S_E^2(\pmb{\beta})}{\partial \pmb{\beta}} = 0

得到:

XTY=XTXββ=(XTX)1XTY\bold{X}^T \bold{Y} = \bold{X}^T \bold{X} \pmb{\beta} \Rightarrow \pmb{\beta} = (\bold{X}^T \bold{X})^{-1} \bold{X}^T \bold{Y}

会发现,经典的线性回归是将所有样本点赋相同的权重,并且作为 inliers 处理。然而实际中存在 outliers,则再使用此方法将会使回归结果存在较大误差。为此,引入加权最小二乘。

2.2 加权最小二乘(均方)估计

  • 原理:给每个样本点不同的权重,使得 outliers 的权重较小,inliers 的权重较大。

目标函数:

Q=i=1n(yij=0kβjxij)2=i=1nei2, xi0=1Q = \sum_{i=1}^n (y_i - \sum_{j=0}^k \beta_j x_{ij})^2 = \sum_{i=1}^n e_i^2,\ x_{i0} = 1

M 估计的基本思想是采用迭代加权最小二乘估计回归系数。根据前一次回归迭代残差来确定样本权重,目标函数改写为:

Q=i=1nρ(yij=0kβjxij)=i=1nρ(ei)Q = \sum_{i=1}^n \rho (y_i - \sum_{j=0}^k \beta_j x_{ij}) = \sum_{i=1}^n \rho (e_i)

ρ\rho 为影响函数,如 Huber 函数。令 QQβ\beta 求偏导且导数为 0,有:

i=1nφ(yixiTβ)xi=0\sum_{i=1}^n \varphi (y_i - \bold{x}_i^T \pmb{\beta}) \bold{x}_i = 0

为使 M 估计更加鲁棒,在权重函数中引入鲁棒的尺度估计 ss 使残差标准化为 ei/se_i / s。根据 Hampel 的方法,标准化残差为:

ui=eis=0.6745eimed(ei)u_i = \frac{e_i}{s} = \frac{0.6745 e_i}{\operatorname{med}(|e_i|)}

其中 med\text{med} 表示中位数计算。于是:

i=1nφ(yixiTβ)xi=i=1nφ(ui)xi=i=1nφ(ui)uiuixi=i=1nWiuixi=0\sum_{i=1}^n \varphi (y_i - \bold{x}_i^T \pmb{\beta}) \bold{x}_i = \sum_{i=1}^n \varphi (u_i) \bold{x}_i = \sum_{i=1}^n \frac{\varphi (u_i)}{u_i} \cdot u_i \bold{x}_i = \sum_{i=1}^n W_i \cdot u_i \bold{x}_i = 0

其中 Wi=φ(ui).uiW_i = \varphi(u_i) . u_i 为样本 ii 的权重。向量化后为:

XTWu=XTWe=0\bold{X}^T \bold{W} \cdot \bold{u} = \bold{X}^T \bold{W} \cdot \bold{e} = 0

有因为:

Y=Xβ+e\bold{Y} = \bold{X} \pmb{\beta} + \bold{e}

带入前式得到:

XTWY=XTWXββ^=(XTWX)1XTWY\bold{X}^T \bold{W} \bold{Y} = \bold{X}^T \bold{W} \bold{X} \pmb{\beta} \Rightarrow \hat{\pmb{\beta}} = (\bold{X}^T \bold{W} \bold{X})^{-1} \bold{X}^T \bold{W} \bold{Y}

参考