Silverman 计算内核密度估计中带宽的公式是什么?

机器算法验证 估计 平滑 内核平滑
2022-03-14 05:07:25

我想为我的核密度估计器计算更好的带宽,即 Epanechnikov。我使用 Silverman 的公式,它涉及样本的标准偏差、样本大小和常数,但在大多数情况下我得到的曲线非常平滑,如果它更平衡,我更喜欢它。谢谢你能给我的任何帮助。

4个回答

无耻地引用Stata手册条目kdensity

最佳宽度是在数据为高斯且使用高斯核的情况下最小化平均积分平方误差的宽度,因此在任何全局意义上它都不是最佳的。事实上,对于多峰和高度偏斜的密度,这个宽度通常太宽并且超过了密度(Silverman 1992)。

Silverman, BW 1992。用于统计和数据分析的密度估计伦敦:查普曼和霍尔。国际标准书号 9780412246203

Stata 给出的最佳带宽的公式是: 其中n是X上的观测数\operatorname{Var}(X)是它的方差,\operatorname{IQR }(X)其四分位距。h

h=0.9mn1/5with m=min(Var(X),IQR(X)1.349),
nXVar(X)IQR(X)

几个月前我问了一个类似的问题。Rob Hyndman 提供了一个很好的答案,推荐了 Sheather-Jones 方法。

一个补充点。在 R 中,对于density函数,您可以通过bw参数显式设置带宽。然而,我经常发现这个adjust论点更有帮助。adjust参数缩放带宽的值。所以adjust=2意味着双倍的带宽。

我第二个@onestop,但引用 Wilcox,“稳健估计和假设检验简介”,第 2 版,第 50 页: 其中是样本标准差。

h=1.06An1/5,A=min(s,IQR(x)1.34),
s

我通常做的是使用 Silverman 的公式 (h_p) 计算插件带宽,然后在 [h_p/5, 5h_p] 范围内进行交叉验证以找到最佳带宽。这种交叉验证可以通过使用留一法最小二乘交叉验证或留一法似然交叉验证来完成。