5.6 稳健最小二乘法

5.6 稳健最小二乘法

稳健最小二乘法是一种能有效抑制强影响点对回归结果造成影响的方法,利用加权最小二乘法的思想,对残差大的测量点赋予低权重,残差正常的测量点赋予相同权重,则可以抑制异常点对结果的影响,获得较为稳定的估计值,不易受强影响点的影响。假设第 i i 个测量点的残差为 δ i \delta_i ,权重为 w i w_i ,最常用的权重取值方式如下,即著名的Huber函数。

w i = { 1 f o r δ i < δ 0 ^ δ 0 ^ δ i f o r δ i δ 0 ^ w_i = \left \{ \begin{array}{rc} 1 & for & |\delta_i| < \hat{\delta_0} \\ \frac{\hat{\delta_0}}{|\delta_i|} & for & |\delta_i| \ge \hat{\delta_0} \\ \end{array}\right.
其中 δ 0 ^ \hat{\delta_0} 为参数,用来度量残差正常范围,小于此值的测量点是正常点,大于此值的测量点是异常点,权重需要减小。
令对角阵为: D = d i a g ( w 1 , w 2 , , w m ) D =diag(w_1,w_2,\cdots,w_m) ,则近似解为 x ^ = ( A T D A ) 1 A T D b \mathbf{\hat{x}} = (A^TDA)^{-1}A^TD\mathbf{b}

稳健最小二乘法的关键是如何获得残差 δ i \delta_i 的初始值,一般采用普通最小二乘法获得近似解的初始估计值 x ^ 0 \mathbf{\hat{x}}^0 ,计算初始残差 δ i 0 = b i a r i T x ^ 0 \delta^0_i = b_i - \mathbf{a^T_{ri}} \mathbf{\hat{x}}^0 。由残差 δ i 0 \delta^0_i 估计 δ 0 ^ 0 \hat{\delta_0}^0 ,注意一般不能采用残差 δ i 0 \delta^0_i 的标准差作为 δ 0 ^ 0 \hat{\delta_0}^0 的估计值,因为标准差易受异常值的影响,不稳健,我们需要稳健的估计值,可以采用残差绝对值 δ i 0 |\delta^0_i| 的中位数 m e d ( δ i 0 i [ 1 , m ] ) med(|\delta^0_i|,i \in [ 1,m]) 为估计值。中位数就是一组数,按照大小排序后,位于正中间的元素。最终取 δ 0 ^ 0 = k m e d ( δ i 0 ) \hat{\delta_0}^0 = k\cdot med(|\delta^0_i|) k k 是比例系数,一般取 1.9941 1.9941 =1.345*1.4826,值越大,则抗干扰能力差,无穷大时,权重恒为 1 1 ,变为普通最小二乘法;值越小,虽抗干扰能力强,但效率低,即不是所有测量点都能对估计起到同等作用,需要更多的测量点才能获得满意结果。

根据Huber函数获得初始权重 w i 0 w^0_i ,采用加权最小二乘法获得 x ^ 1 \mathbf{\hat{x}}^1 ,然后迭代优化,即根据 x ^ 1 \mathbf{\hat{x}}^1 计算残差 δ i 1 \delta^1_i ,获得估计值 δ 0 ^ 1 = k m e d ( δ i 1 ) \hat{\delta_0}^1 = k med(|\delta^1_i|) ,根据Huber函数获得初始权重 w i 1 w^1_i ,采用加权最小二乘法获得 x ^ 2 \mathbf{\hat{x}}^2 。一直进行下去,直到相邻两次近似解足够接近。

该方法最大难点是如何获得近似解的初始估计值 x ^ 0 \mathbf{\hat{x}}^0 ,这也是该方法成败的关键。当不存在影响特别大的强影响点时,采用普通最小二乘法不失为一个可行的初始估计值。但如果存在影响特别大的强影响点,则初始估计值 x ^ 0 \mathbf{\hat{x}}^0 受强影响点的影响,会偏离理想值,造成残差估计偏差大,导致权重不合理,所以效果会下降。

Huber函数只利用了残差信息来确定权重,其实还可以利用杠杆值,采用 D i = p i i ( 1 p i i ) 2 δ i 2 D_i = \frac {p_{ii}}{(1-p_{ii})^2} \delta^2_{i} 来确定权重。
w i = { 1 f o r D i < D 0 ^ D 0 ^ D i f o r D i D 0 ^ w_i = \left \{ \begin{array}{rc} 1 & for & D_i < \hat{D_0} \\ \frac{\hat{D_0}}{D_i} & for & D_i\ge \hat{D_0} \\ \end{array}\right.
该方法阈值 D 0 ^ \hat{D_0} 不容易确定。

总之,如果不存在强影响点,普通最小二乘法就可以得到很好的结果;如果存在强影响点,但影响不是很大,可以采用稳健最小二乘法。如果强影响点影响很大,稳健最小二乘法由于难以获得很好的初始估计值,效果不会很好。

猜你喜欢

转载自blog.csdn.net/jhshanvip/article/details/105896865