直方图法、Kn近邻估计法、Parzen窗法

原文地址:http://blog.****.net/angel_yuaner/article/details/47951111

当需要估计的概率密度函数的形式未知,比如我们并不能知道样本的分布形式时,我们就无法用最大似然估计方法或贝叶斯估计方法来进行参数估计,而应该用非参数估计方法。这里就介绍三种非参数估计方法。 
需要知道的是,作为非参数方法的共同问题是对样本数量需求较大,只要样本数目足够大众可以保证收敛于任何复杂的位置密度,但是计算量和存储量都比较大。当样本数很少时,如果能够对密度函数有先验认识,则参数估计能取得更好的估计效果。

一、直方图法 
首先来考虑最简单的情况,样本是一维的,那么我们将的取值范围分成个等间隔的区间,统计每个区间内样本的个数,由此计算每个区间的概率密度。没错,就是咱们小学做的那样。 
直方图法、Kn近邻估计法、Parzen窗法 
现在考虑复杂一点的情况,当维向量的时候,我们对每个维度的量都分成个等间隔的区间,于是我们将整个空间分成了个小空间,每个小空间的体积定义为:,其中为第维分量的每个区间的大小。 
假设总样本数为,每个小空间内样本数为,那么每个小空间的概率密度(注意不是概率)也可以计算出来了,为

可以注意到,小区间的大小选择与估计的效果是密切相连的。如果区域选择过大,会导致最终估计出来的概率密度函数非常粗糙;如果区域的选择过小,可能会导致有些区域内根本没有样本或者样本非常少,这样会导致估计出来的概率密度函数很不连续。所以,随着样本数的增加,区域的体积应该尽可能小,同时又必须保证区域内有充分多的样本,但是每个区域的样本数有必须是总样本数的很小的一部分。

所以说,固定区域大小的直方图法只是最简单的非参数估计方法,要想有更好的估计,需要采用能够根据样本分布调整区域大小的方法。下面介绍的近邻估计法就是一种采用可变大小区域的密度估计方法。

二、近邻估计法 
该方法的基本思想是:根据总样本确定一个参数,即在中样本数为时我们要求每个区域内拥有的样本的个数。在求处的密度估计时,我们调整包含的区域的体积,直到区域内恰好落入个样本,并用下式来估计: 


这样,在样本密度比较高的区域的体积就会比较小,而在密度低的区域的体积则会自动增大,这样就能够较好的兼顾在高密度区域估计的分辨率和在低密度区域估计的连续性。

为了取得好的估计效果,需要选择合适的的关系,比如可以选择,其中为参数。

三、Parzen窗法 
Parzen窗法是另外一种在取值空间中进行取样估计的方法,或者说可以看作是用核函数对样本在取值空间中进行插值。

假设是一维的向量,并假设每一个区域是一个超立方体,它在每一维上的棱长都是,则小区域的体积为:

定义如下维单位方窗函数: 


这个函数在以原点为中心的维单位超立方体内取值为1,其他地方都取值为0.这样,如果要考察一个样本是否在这个为中心、为棱长的超立方体内,可以通过计算来判定。这样,样本中落在以为中心的超立方体内的样本数就可以写成: 

将其带入中可以得到任意一点的密度估计: 

在上式中定义核函数(或者叫窗函数和): 


核函数反应了一个观测样本对在处的概率密度估计的贡献,与样本的距离有关。而概率密度估计就是在这一点上把所有观测样本的贡献进行平均: 

合法的核函数应该满足密度函数的要求,即: 

这种用窗函数(核函数)估计概率密度的方法就是Parzen窗法,或者叫核密度估计

常见的几种核函数: 
(1)方窗: 


其中为超立方体的棱长 
(2)高斯窗(正态窗) 

即以样本为均值、协方差矩阵为的正态分布 
一维情况为: 

(3)超球窗 

其中是超球体的体积,ρ是超球体的半径