核密度估计

参考:https://www.zhihu.com/question/27301358
https://www.zybang.com/question/3797fbcae06ac70f5071ff1ee42f23e2.html
http://blog.csdn.net/baimafujinji/article/details/51720090
声明:本篇博客大部分都是借鉴慧航的解答,链接在上面,写作的目的主要是为了做笔记。
简单来说,核密度估计就是用来估计概率密度函数的,是对直方图的一个扩展。也叫做Parzen window密度估计。

概率密度函数 与分布函数

那既然是估计概率密度函数(密度函数)的,我来简单地介绍一下相关的概念。概率密度函数是分布函数的一阶导,而事实上我们是无法得到分布函数的。好在数理统计这门科学揭露了理论与样本的内在联系。根据格利文科定理,当样本容量足够大时,从样本中算得的经验分布函数 (EDF,Empirical Distribution Functions)Fn(x) 与总体分布函数 (理论上的)F(x) 差异也可以足够小,此时我们可以通过样本的经验分布函数Fn(x)来近似逼近分布函数F(x)。所以我们说经验分布函数是理论分布函数与实际数据间的桥梁,经验分布函数依概率收敛于总体分布函数。那怎样求解经验分布函数呢?具体的思想就是以样本频率来估计概率,以这样的方式得到的理论分布函数的一个逼近。下图就是经验分布函数的公式:
这里写图片描述
即F(t)的估计为所有小于t的样本的概率。
如果在图上画出经验函数的图像,
这里写图片描述我们会发现这样的经验分布函数并不可导。换句话说就是无法求得概率密度函数。
那如何估计概率密度函数呢?其实除了核密度估计还有直方图方法。因为在此只是为了介绍核密度估计。我就简略说一下直方图的思想,求出样本总体的直方图,然后将每个小区间的中点平滑地连接起来,从而得到连续的经验分布函数。
这里写图片描述

核密度估计

我们应当有微分的概念。如果我们想知道X=x处的密度函数值,可以像直方图一样,选一个x附近的小区间,数一下在这个区间里面的点的个数,除以总个数,应该一个比较好的估计。即密度函数可以写为如下形式:
这里写图片描述
具体地,密度函数的估计为
这里写图片描述

窗口h选取的问题

那么一个很自然的问题来了,h该怎么选取呢?
给定样本容量N,h如果选的太大,肯定不符合h趋向于0的要求。h选的太小,那么用于估计f(x)的点实际上非常少。
所以理论上存在一个最小化均方误差(mean square error)的一个h。h的选取应该取决于N,当N越大的时候,我们可以用一个比较小的h,因为较大的N保证了即使比较小的h也足以保证区间内有足够多的点用于计算概率密度。因而,我们通常要求当N→∞,h→0。比如,在这里可以推导出,最优的h应该是N的-1/5次方乘以一个常数c,也就是h =c*N(-1/5) 。对于正态分布而言,可以计算出c=1.05×标准差。

虽然我们估计出了概率密度函数(密度函数),但是从上面的公式可以看出,因为是一段一段求出的,得到的密度函数不光滑。如果记这里写图片描述那么上面的估计式就变成这里写图片描述,对密度函数进行积分这里写图片描述。因为密度函数的积分是等于1的,因而只要K的积分等于1,就能保证估计出来的密度函数积分等于1。
那么一个自然的想法是,我们是不是可以换其他的函数形式呢?比如其他的分布的密度函数作为K?
比如,如果采用标准正态分布的密度函数作为K,估计就变成了:这里写图片描述此时我们会发现密度函数可导了,而且积分积起来等于1。
此外扩展到多维公式就是这里写图片描述
其中d为x的维数,K为多维的kernel。
贴一张最终的结果图:
这里写图片描述
上面的蓝色线条就是kernel density的结果。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值