请详细介绍稳健估计法的算法,并举例说明
时间: 2024-03-18 09:45:41 浏览: 18
稳健估计法(Robust Estimation)是一种通过抵抗异常值(outliers)的影响,得到更可靠估计结果的统计方法。常见的稳健估计法有M估计、S估计和MM估计等。
以M估计为例,其算法如下:
1. 初始化参数:选择一个初始值 $\theta_0$。
2. 对于每个数据点 $x_i$,计算其残差 $r_i = x_i - \theta_0$。
3. 对残差进行加权,通常使用 Tukey's biweight 权重函数:
$$
w(r_i) =
\begin{cases}
(1 - (r_i/c)^2)^2, & |r_i| \le c \\
0, & |r_i| > c
\end{cases}
$$
其中 $c$ 是一个常数,通常取值为 4.685。
4. 根据加权残差重新估计参数 $\theta_1$:
$$
\theta_1 = \frac{\sum_{i=1}^n w(r_i) x_i}{\sum_{i=1}^n w(r_i)}
$$
5. 重复步骤2到4,直到收敛。
M估计的优点在于可以抵抗异常值的影响,但其缺点在于对于非正态分布的数据,可能会导致估计结果偏差较大。
举个例子,假设我们有如下数据集:
$$
[1, 2, 3, 4, 5, 6, 100]
$$
其中 100 是一个异常值。我们可以使用 M估计来得到该数据集的均值:
1. 初始化参数:选择一个初始值 $\theta_0 = 3$。
2. 对于每个数据点 $x_i$,计算其残差 $r_i = x_i - \theta_0$。
$$
[-2, -1, 0, 1, 2, 3, 97]
$$
3. 对残差进行加权,使用 Tukey's biweight 权重函数:
$$
[0.000, 0.000, 0.024, 0.274, 0.524, 0.724, 0.000]
$$
4. 根据加权残差重新估计参数 $\theta_1$:
$$
\theta_1 = \frac{(0.024 \times 3) + (0.274 \times 4) + (0.524 \times 5) + (0.724 \times 6)}{(0.024 + 0.274 + 0.524 + 0.724)} = 4.76
$$
5. 重复步骤2到4,直到收敛。
最终得到的均值为 4.76,可以看到,由于使用了稳健估计法,异常值 100 对结果的影响被有效抑制了。