核密度估计Kernel Density Estimation(KDE)

前言

已知一个服从密度函数p(x)的随机变量x的N个观测x1,x2,…,xn,但不知p(x),这里p(x)称为期望学到的密度函数,试求p(x)。这个问题称为密度估计问题。为求样本集的密度函数,有两种方法:
1. 参数估计方法
简单来讲,即假定样本集符合某一概率分布,然后根据样本集拟合该分布中的参数,例如:似然估计,混合高斯,贝叶斯估计等,由于参数估计方法中需要加入主观的先验知识,往往很难拟合出与真实分布的模型;
2. 非参数估计方法
和参数估计不同,非参数估计并不加入任何先验知识,而是根据数据本身的特点、性质来拟合分布,这样能比参数估计方法得出更好的模型。核密度估计就是非参数估计中的一种,由Rosenblatt (1955)和Emanuel Parzen(1962)提出,又名Parzen窗(Parzen window)。Ruppert和Cline基于数据集密度函数聚类算法提出修订的核密度估计方法。

核密度估计

直方图是密度估计的一种非参数方法,虽然直方图法直观简单,但是由于样本数据有限,因此导致得到的p ̂(x)间断不连续,与生活常识不符。为了使p ̂(x)连续,每一个观测样本对密度的影响也应该是连续的,其对密度的影响力应该随着距离的增加而平滑减小。由此得到核密度估计公式:
p ( x ) = 1 N ∑ k = 1 N 1 h K ( x − x k h ) \text{p}(x)=\frac{1}{N}\sum\limits_{k=1}^{N}{\frac{1}{h}K(\frac{x-{{x}_{k}}}{h})} p(x)=N1k=1Nh1K(hxxk)
其中,参数h称为带宽,K(x)称为核函数,K(x)满足条件:
K ( x ) ≥ 0 , ∫ K ( x ) d x = 1 K(x)\ge 0,\int{K(x)dx=1} K(x)0,K(x)dx=1
∫ x K ( x ) d x = 0 \int{xK(x)dx=0} xK(x)dx=0
∫ x 2 K ( x ) d x > 0 \int{{{x}^{2}}K(x)dx>0} x2K(x)dx>0
可见,核函数K(x)并不是唯一的,因此,核密度估计公式也不是唯一的。我们要做的是选取合适的带宽h和合适的核函数K(x)。

核函数

从支持向量机、meansift都接触过核函数,应该说核函数是一种理论概念,但每种核函数的功能都是不一样的,这里的核函数有Uniform,Triangular, Epanechnikov, Quartic, Triweight, Gaussian, Cosine等。
这些核函数的图像大致如下图:
在这里插入图片描述
此处对一些常用的核函数作以下说明:
Epanechnikov核:
K ( x ) = 3 4 ( 1 − x 2 ) I ( ∣ x ∣ ≤ 1 ) K(x)=\frac{3}{4}(1-{{x}^{2}})I(|x|\le 1) K(x)=43(1x2)I(x1)
高斯核:
K ( x ) = 1 2 π exp ⁡ ( − x 2 2 ) K(x)=\frac{1}{\sqrt{2\pi }}\exp (-\frac{{{x}^{2}}}{2}) K(x)=2π 1exp(2x2)

如果你想了解更多关于核函数的内容,请点击这里

带宽h的选择

在核函数确定之后,比如上面选择的高斯核,那么高斯核的方差,也就是h(也叫带宽,也叫窗口,我们这里说的邻域)应该选择多大呢?不同的带宽会导致最后的拟合结果差别很大。同时上面也提到过,理论上h->0的,但h太小,邻域中参与拟合的点就会过少。那么借助机器学习的理论,我们当然可以使用交叉验证选择最好的h。另外,也有一个理论的推导给你选择h提供一些信息。
在样本集给定的情况下,我们只能对样本点的概率密度进行计算,那拟合过后的概率密度应该核计算的值更加接近才好,基于这一点,我们定义一个误差函数,然后最小化该误差函数便能为h的选择提供一个大致的方向。选择均平方积分误差函数(mean intergrated squared error),该函数的定义是:
M I S E ( h ) = E ∫ ( ^ f ( x ) − f ( x ) ) 2 d x MISE(h)=E\int{{{\hat{(}f(x)-f(x))}^{2}}dx} MISE(h)=E(^f(x)f(x))2dx
在weak assumptions下, M I S E ( h ) = A M I S E ( h ) + o ( 1 n h + h 4 ) MISE(h)=AMISE(h)+o(\frac{1}{nh}+{{h}^{4}}) MISE(h)=AMISE(h)+o(nh1+h4),其中AMISE为渐进的MISE,而AMISE为:
A M I S E ( h ) = R ( k ) n h + 1 4 m 2 ( K ) 2 h 4 R ( f ′ ′ ) AMISE(h)=\frac{R(k)}{nh}+\frac{1}{4}{{m}_{2}}{{(K)}^{2}}{{h}^{4}}R({{f}^{''}}) AMISE(h)=nhR(k)+41m2(K)2h4R(f),其中:
R ( k ) = ∫ K ( x ) 2 d x , m 2 ( k ) = ∫ x 2 K ( x ) d x R(k)=\int{K{{(x)}^{2}}dx},{{m}_{2}}(k)=\int{{{x}^{2}}K(x)dx} R(k)=K(x)2dx,m2(k)=x2K(x)dx
最小化MISE(h)等价于最小化AMISE(h),求导,令导数为0有:
∂ ∂ h A M I S E ( h ) = − R ( k ) n h 2 + m 2 ( K ) 2 h 3 R ( f ′ ′ ) = 0 \frac{\partial }{\partial h}AMISE(h)=-\frac{R(k)}{n{{h}^{2}}}+{{m}_{2}}{{(K)}^{2}}{{h}^{3}}R({{f}^{''}})=0 hAMISE(h)=nh2R(k)+m2(K)2h3R(f)=0
得:
h A M I S E = R ( K ) 1 5 m 2 ( K ) 2 5 R ( f ′ ′ ) 1 5 n 1 5 {{h}_{AMISE}}=\frac{R{{(K)}^{\frac{1}{5}}}}{{{m}_{2}}{{(K)}^{\frac{2}{5}}}R{{({{f}^{''}})}^{\frac{1}{5}}}{{n}^{\frac{1}{5}}}} hAMISE=m2(K)52R(f)51n51R(K)51
当核函数确定之后,h公式里的R、m、f’'都可以确定下来,h便存在解析解。如果带宽不是固定的,其变化取决于估计的位置(balloon estimator)或样本点(逐点估计pointwise estimator),由此可以产生一个非常强大的方法称为自适应或可变带宽核密度估计。

参考

https://blog.csdn.net/unixtch/article/details/78556499
https://www.zhihu.com/question/27301358/answer/105267357?from=profile_answer_card
http://blog.csdn.net/yuanxing14/article/details/41948485

  • 7
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 高斯核密度估计Kernel Density EstimationKDE)是一种用于估计概率密度函数的非参数方法。它通过将每个数据点周围的高斯核函数叠加起来来估计数据集的概率密度。 KDE的值是指在给定某一数据点处的概率密度估计值。计算KDE的值通常需要确定核函数的带宽(bandwidth)参数,它决定了核函数的宽度,即对数据点周围的影响范围。 在给定一组数据点和带宽参数后,KDE的值可以通过以下的计算过程获得: 1. 对于每个数据点,计算与该数据点距离在带宽范围内的所有其他数据点的核函数值。 2. 将所有核函数值求和并除以数据点数量,得到该数据点处的概率密度估计值。 基于高斯核函数KDE通常具有较好的光滑性和连续性,适用于连续型数据的概率密度估计。通过调整带宽参数,可以控制估计值的平滑程度和准确性。 KDE的值可以用于多个应用场景,如异常检测、模式识别、分类等。在异常检测中,较低的KDE值可能表明该数据点具有较低的概率出现,从而可能被视为异常值。在模式识别中,可以利用KDE的值来区分不同的数据模式。在分类问题中,可以利用KDE的值来评估新数据点属于各个类别的概率,从而进行分类决策。 总之,高斯核密度估计KDE)提供了一种非参数方法来估计概率密度函数,通过将每个数据点周围的高斯核函数叠加起来来获得数据集的概率密度估计值。KDE的值可以用于多种应用场景,具有广泛的实际意义。 ### 回答2: 高斯核密度估计KDE)是一种用于估计随机变量分布的非参数方法。它的基本思想是将每个观测样本点视为一个高斯函数的中心,并根据每个样本点周围的邻域来估计密度函数的值。 KDE的计算过程如下: 1. 首先选择一个核函数,通常选择高斯函数作为核函数。 2. 对每个观测样本点,以该点为中心构建一个高斯函数。 3. 对每个高斯函数,计算该函数在各个自变量上的值。 4. 将所有高斯函数的值加权求和,得到估计密度函数的值。 在计算KDE的过程中,需要考虑两个重要的参数:核函数的带宽和观测样本点的数量。核函数的带宽决定了高斯函数对密度函数的贡献程度,较小的带宽会导致估计过于敏感,较大的带宽会导致估计过于平滑。观测样本点的数量影响到对密度函数的完整覆盖程度,较少的样本点可能会导致估计不准确。 KDE在实际应用中具有广泛的应用,例如在统计分析、数据挖掘和机器学习中。它可以用于分析数据的分布特征、寻找异常点、生成合成数据以及进行分类和聚类等任务。 总结来说,KDE是一种通过将每个观测样本点视为高斯函数的中心,根据每个样本点周围的邻域来估计密度函数的非参数方法。它能够通过调整核函数的带宽和观测样本点的数量来灵活地对不同的数据分布进行建模和估计。 ### 回答3: 高斯核密度估计KDE)是一种非参数的概率密度估计方法。它基于观测数据的分布情况,通过在每个数据点周围创建一个高斯核函数的方式来估计整体的概率密度函数。 KDE的值表示某个特定点的概率密度估计。具体来说,对于给定的输入点,KDE计算该点周围邻近点的贡献,并将它们的高斯核函数叠加在一起得到该点的概率密度估计值。 在计算过程中,KDE使用一个带宽参数来控制高斯核函数的宽度,带宽越小则高斯核函数的影响范围越小,估计的概率密度函数越细致;带宽越大则高斯核函数的影响范围越大,估计的概率密度函数越平滑。 KDE的值可以用来表示某个数据点在数据集中的相对重要性或罕见性。具体来说,KDE值较高的点表示该点周围有较多的数据点,因此被认为是数据集中的常见点;而KDE值较低的点表示该点周围较少的邻近点,因此被认为是数据集中的罕见点。 总结起来,高斯核密度估计KDE)的值代表了在给定数据点周围创建高斯核函数并叠加后得到的概率密度估计值。它可以用来衡量数据点的重要性或罕见性,并且随着带宽参数的不同而产生不同的估计结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值