核密度估计:带宽宽度选择——ROT 原则
Posted zhuo木鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了核密度估计:带宽宽度选择——ROT 原则相关的知识,希望对你有一定的参考价值。
参考文献:
Density Estimation for Statistics and Data Analysis. B.W.Silverman
峰度定义:https://en.wikipedia.org/wiki/Kurtosis
偏度定义:https://en.wikipedia.org/wiki/Skewness
halvorsen 的博客:Numerical Integration in Python
在博客核密度估计:带宽宽度选择——原理阐述中,我们讨论了最佳带宽 h h h 的选择原理,即使得 I M S E ( f ^ ) IMSE(\\hatf) IMSE(f^) 最小, f ^ \\hatf f^ 为经验概率密度函数,是从随机向量(样本) X = ( X 1 , X 2 , ⋯ , X n ) X=(X_1,X_2,\\cdots,X_n) X=(X1,X2,⋯,Xn) 根据样本在各带宽下的频率估计而出的。
我们知道,在忽略
o
(
h
4
+
(
n
h
)
−
1
)
o(h^4+(nh)^-1)
o(h4+(nh)−1) 的前提下,我们得到最佳宽度的表达式为:
h
o
p
t
=
κ
2
−
2
/
5
κ
1
/
5
∫
[
f
(
2
)
(
x
)
]
2
d
x
−
1
/
5
n
−
1
/
5
h_opt = \\kappa_2^-2/5 \\kappa^1/5 \\\\int [f^(2)(x)]^2 dx \\^-1/5 n^-1/5
hopt=κ2−2/5κ1/5∫[f(2)(x)]2dx−1/5n−1/5
其中:
κ
2
=
∫
k
(
v
)
v
2
d
v
κ
=
∫
k
2
(
v
)
d
v
\\beginaligned \\kappa_2 =& \\int k(v) v^2 dv \\\\ \\kappa = & \\int k^2(v) dv \\endaligned
κ2=κ=∫k(v)v2dv∫k2(v)dv
上述公式中,
k
(
v
)
k(v)
k(v) 为核函数,其常数表达式可为正态分布,在式中是已知的;
f
(
x
)
f(x)
f(x) 为待估计的概率密度函数,
f
(
2
)
(
x
)
f^(2)(x)
f(2)(x) 为其二阶导数;
n
n
n 为样本容量。
可以看出, h o p t h_opt hopt 与 f ( 2 ) ( x ) f^(2)(x) f(2)(x) 有关。
Rule of Thumb 方法
rule of thumb 方法也叫经验法,从上述分析中我们可以看出,由于
h
o
p
t
h_opt
hopt 与
f
(
2
)
(
x
)
f^(2)(x)
f(2)(x) 有关,而
f
(
x
)
f(x)
f(x) 是未知待求解的。但我们可以在求解窗口宽度
h
o
p
t
h_opt
hopt 时,将
f
(
x
)
f(x)
f(x) 假设为一个已知函数,通常为方差为
σ
2
\\sigma^2
σ2 的正态分布,于是可以求解出:
∫
f
(
2
)
(
x
)
2
d
x
=
σ
−
5
∫
ϕ
(
2
)
(
x
)
2
d
x
=
3
8
π
−
1
/
2
σ
−
5
\\int f^(2)(x)^2 dx = \\sigma^-5 \\int \\phi^(2)(x)^2 dx = \\frac38\\pi^-1/2\\sigma^-5
∫f(2)(x)2dx=σ−5∫ϕ(2)(x)2dx=83π−1/2σ−5
Φ
(
x
)
\\Phi(x)
Φ(x) 为正态分布,
f
(
x
)
f(x)
f(x) 的均值可以通过变量代换消掉 ,最终可以估计出
∫
f
(
2
)
(
x
)
2
d
x
≈
0.212
σ
−
5
\\int f^(2)(x)^2 dx \\approx 0.212\\sigma^-5
∫f(2)(x)2dx≈0.212σ−5。
假设我们采用了标准正态分布作为核函数,那么就可以求解出最佳的窗口宽度
h
o
p
t
h_opt
hopt 如下所示:
h
o
p
t
=
(
4
3
)
1
/
5
σ
n
−
1
/
5
=
1.06
σ
n
−
1
/
5
\\beginaligned h_opt& = (\\frac43)^1/5 \\sigma n^-1/5 \\\\ &= 1.06 \\sigma n^-1/5 \\endaligned
hopt=(34)1/5σn−1/5=1.06σn−1/5
如果随机变量确实服从正态分布,那么使用此种方法得出的最佳带宽是比较准确的。但如果数据并非服从正态分布,而是服从某种多峰分布,得使用这种方法,会造成核密度估计的过分平滑,实际分布的细节会被 cover 掉。
我们也可以从 h o p t h_opt hopt 的定义中看出这一点: f ( 2 ) ( x ) f^(2)(x) f(2)(x) 作为函数的二阶导数,它反映了函数的凹凸程度。在相同的方差下,正态分布的上凸或下凹的程度是明显大于多峰分布的1。因此,若假设 f ( x ) f(x) f(x) 是正态分布来求解 h o p t h_opt hopt,会由于 f ( 2 ) ( x ) f^(2)(x) f(2)(x) 较大,从而使得 h h h 过大,造成过平滑。
另一些变种的方法如下:
h
o
p
t
=
0.79
×
IQR
n
−
1
/
5
h_opt = 0.79 \\times \\textIQR n^-1/5
hopt=0.79×IQRn−1/5
和
h
o
p
t
=
0.9
min
(
σ
,
nIQR
)
n
−
1
/
5
h_opt = 0.9 \\min(\\sigma, \\textnIQR) n^-1/5
hopt=0.9min(σ,nIQR)n核密度估计:带宽宽度选择——ROT 原则