稳健性估计—— M 估计
Posted zhuo木鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了稳健性估计—— M 估计相关的知识,希望对你有一定的参考价值。
M 估计法,估计均值
M 估计法算均值的原理在于求解下述方程:
ave
[
f
(
x
i
−
T
n
S
n
)
]
=
0
\\text{ave}[ f(\\frac{x_i-T_n}{S_n})] = 0
ave[f(Snxi−Tn)]=0
其中
T
n
T_n
Tn 是对均值的估计值(方程的解即为 M 算法估计均值的结果),
S
n
S_n
Sn 为对方差平方根(标准差)的估计。
对于小样本来说(
n
∈
[
4
,
8
]
n\\in[4, 8]
n∈[4,8]),
S
n
S_n
Sn 取 MAD,即:
MAD
n
(
X
)
=
1.4826
×
med
n
(
∣
x
i
−
med
n
(
X
)
∣
)
\\text{MAD}_n(X) = 1.4826 \\times \\text{med}_n (|x_i - \\text{med}_n(X)|)
MADn(X)=1.4826×medn(∣xi−medn(X)∣)
对于上述方程,函数在小样本
n
∈
[
4
,
8
]
n\\in[4,8]
n∈[4,8]来说,函数一般取 pshi 函数,如下:
ψ
l
o
g
(
x
)
=
e
x
−
1
e
x
+
1
\\psi_{log}(x) = \\frac{e^x-1}{e^x+1}
ψlog(x)=ex+1ex−1
图像为:
若取 sigmoid 函数,则上述方程是没有代数解的,所以需要算数值解,这里用的方法是牛顿法,取
T
n
T_n
Tn 的初始值为中位数,迭代方法为:
T
n
(
k
)
=
T
n
(
k
−
1
)
+
S
n
ave
i
=
1
n
ψ
(
(
x
i
−
T
n
(
k
−
1
)
)
/
S
n
)
ave
i
=
1
n
ψ
′
(
(
x
i
−
T
n
(
k
−
1
)
)
/
S
n
)
T_{n}^{(k)}=T_{n}^{(k-1)}+S_{n} \\frac{\\operatorname{ave}_{i=1}^{n} \\psi\\left(\\left(x_{i}-T_{n}^{(k-1)}\\right) / S_{n}\\right)}{\\operatorname{ave}_{i=1}^{n} \\psi^{\\prime}\\left(\\left(x_{i}-T_{n}^{(k-1)}\\right) / S_{n}\\right)}
Tn(k)=Tn(k−1)+Snavei=1nψ′((xi−Tn(k−1))/Sn)avei=1nψ((xi−Tn(k−1))/Sn)
直到收敛,即求出估计值。
我们用 x = np.random.normal(5, 1, 8)
产生 8 个从正态分布去除的数:
藉由上述 M 估计算法,可以算出均值为:5.00382727784989
M 估计法,估计方差平方根
M 估计方算方差平方根是用下述方程的解来表示的:
ave
[
ρ
(
x
i
−
T
n
S
n
)
]
=
β
\\text{ave}[ \\rho (\\frac{x_i-T_n}{S_n})] = \\beta
ave[ρ(Snxi−Tn)]=β
其中,在小样本时(
n
∈
[
4
,
8
]
n\\in[4,8]
n∈[4,8]),一般取
T
n
T_n
Tn 为中位数,
ρ
\\rho
ρ 为:
ρ
(
x
)
=
f
2
(
x
0.3739
)
\\rho(x) = f^2(\\frac{x}{0.3739})
ρ(x)=f2(0.3739x)
ρ
\\rho
ρ 函数的图像如下:
函数 f f f 见上文,而 β \\beta β 取值为 ∫ ρ ( u ) d Φ ( u ) \\int \\rho(u)d\\Phi(u) ∫ρ(u)dΦ(u), Φ ( u ) \\Phi(u) Φ(u) 为标准正态分布的分布函数。很明显,上述方程没有代数解,故需要用牛顿法求解,设数值解(牛顿法)的初始值为 S n = M A D ( X ) S_n=MAD(X) Sn=MAD(X),MAD 的求解见上。
牛顿法的每一次迭代为:
S
n
(
k
)
=
S
n
(
k
−
1
)
2
ave
[
ρ
(
(
x
i
−
T
n
)
/
S
n
(
k
−
1
)
)
]
S_{n}^{(k)}=S_{n}^{(k-1)} \\sqrt{2 \\text{ave } [ \\rho \\left(\\left(x_{i}-T_{n}\\right) / S_{n}^{(k-1)}\\right)]}
Sn(k)=Sn(k−1)2ave [ρ((xi−Tn)/Sn(k−1))]
设置收敛的允差条件为:1e-6,产生 8 个正态分布数据(方差为 3,也即标准差为 1.732),可得:
运行算法,可以估计出均值和标准差分别为:3.62、1.62。(还是蛮准的嘛)
以上是关于稳健性估计—— M 估计的主要内容,如果未能解决你的问题,请参考以下文章