核密度估计(Kernel density estimation,KDE),是一种用于估计概率密度函数的非参数方法。令 \(x_1,x_2,\cdots,x_n\) 为独立同分布 \(F\) 的 \(n\) 个样本点,设其概率密度函数为 \(f\),核密度估计如下:
\[\hat{f}_h(x) = \frac{1}{n}\sum_{i=1}{n}{K_h(x-x_i)}=\frac{1}{nh}\sum_{i=1}{n}{K(\frac{x-x_i}{h}})\]
其中,\(K(.)\) 为核函数(非负、积分为 1,符合概率密度性质,并且均值为 0),\(h>0\) 为一个平滑参数,称作带宽(Bandwidth),也有人叫窗口。\(K_h(x) = \frac{1}{h}{K{(\frac{x}{h})}}\) 为缩放核函数(Scaled Kernel)。
核函数有很多种,如 Uniform(均匀核函数)、Triangle(三角核函数)、Epanechnikov(伊番科尼可夫核函数)、Quartic(Biweight)、Triweight、Gaussian(高斯核函数)、Cosine(余弦核函数)等。 各种核函数的图形如下:
其中,Epanechnikov 在均方误差意义下是最优的,效率损失也很小。由于高斯内核方便的数学性质,也经常使用 \(K(x)= ϕ(x)\),\(ϕ(x)\) 为标准正态概率密度函数。
核密度估计与直方图很类似,但相比于直方图,核密度估计具有光滑连续的性质。下图为直方图与核函数估计对 \(x_1 = −2.1\), \(x_2 = −1.3\), \(x_3 = −0.4\), \(x_4 = 1.9\), \(x_5 = 5.1\), \(x_6 = 6.2\) 六个点的“拟合”结果。
在直方图中,横轴间隔为 2,数据落到某个区间,此区间 y 轴增加 1/12。在核密度估计中,不妨令正态分布方差为 2.25,红色的虚线表示由每一个数据得到的正态分布,叠加一起得到核密度估计的结果(蓝色表示)。
那么在实际应用中,如何选定核函数的“方差”呢?我们首先来看一个例子: 从标准正态分布中取 100 个数据点,采用不同的带宽进行拟合,结果如下图所示:
从图中可以看出,不同的带宽得到的估计结果差别很大。也即,核函数的“方差”与带宽是密切相关的。至于如何选择带宽,显然是选择能使误差最小的。下面用平均积分平方误差(Mean Intergrated Squared Error)的大小来衡量 \(h\) 的优劣。
\[ \text{MISE}(h) = E \int{(\hat{f}_h(x)-f(x))^2 dx} \]
在 weak assumptions 下,\( \text{MISE}(h) = \text{AMISE}(h) + o(1/(nh) + h^4) \),其中 AMISE 为渐进的 MISE,有
\[ \text{AMISE}(h) = \frac{R(K)}{nh} + \frac{1}{4}m_2(K)^2 h^4 R(f'')\]
其中,\(R(g) = \int{g(x)^2 dx} \),\( m_2(K) = \int {x^2 K(x) dx} \)。
为了求 \( \text{MISE}(h)\) 的最小值,令
\[ \frac{ \partial }{ \partial h} \text{AMISE}(h) = -\frac{R(K)}{nh^2} + m_2(K)^2 h^3 R(f'') = 0 \]
可得
\[ h_\text{AMISE} = \frac{R(K)^{\frac{1}{5}}}{ m_2(K)^{\frac{2}{5}}
R(f'')^{\frac{1}{5}} n^{\frac{1}{5}}} \]
当核函数确定之后,公式里的 \(R\)、\(m\)、\(f''\) 都可以确定下来,有
\[ h_\text{AMISE} \sim n^{-\frac{1}{5}} \]
\[ \text{AMISE} (h) = O(n^{-\frac{4}{5}} ) \]
如果带宽不是固定的,其变化取决于估计的位置(balloon estimator)或样本点(逐点估计 pointwise estimator),由此可以产产生一个非常强大的方法称为自适应或可变带宽核密度估计。
暂无评论