当需要估计的概率密度函数的形式未知,比如我们并不能知道样本的分布形式时,我们就无法用最大似然估计方法或贝叶斯估计方法来进行参数估计,而应该用非参数估计方法。这里就介绍三种非参数估计方法。
需要知道的是,作为非参数方法的共同问题是对样本数量需求较大,只要样本数目足够大众可以保证收敛于任何复杂的位置密度,但是计算量和存储量都比较大。当样本数很少时,如果能够对密度函数有先验认识,则参数估计能取得更好的估计效果。
一、直方图法
首先来考虑最简单的情况,样本 x 是一维的,那么我们将 x 的取值范围分成 k 个等间隔的区间,统计每个区间内样本的个数,由此计算每个区间的概率密度。没错,就是咱们小学做的那样。
现在考虑复杂一点的情况,当 x 是 d 维向量的时候,我们对每个维度的量都分成 k 个等间隔的区间,于是我们将整个空间分成了 kd 个小空间,每个小空间的体积定义为: V=∏di=1valuei ,其中 valuei 为第 i 维分量的每个区间的大小。
假设总样本数为 N ,每个小空间内样本数为 qi ,那么每个小空间的概率密度(注意不是概率)也可以计算出来了,为 qiNV
可以注意到,小区间的大小选择与估计的效果是密切相连的。如果区域选择过大,会导致最终估计出来的概率密度函数非常粗糙;如果区域的选择过小,可能会导致有些区域内根本没有样本或者样本非常少,这样会导致估计出来的概率密度函数很不连续。所以,随着样本数的增加,区域的体积应该尽可能小,同时又必须保证区域内有充分多的样本,但是每个区域的样本数有必须是总样本数的很小的一部分。
所以说,固定区域大小的直方图法只是最简单的非参数估计方法,要想有更好的估计,需要采用能够根据样本分布调整区域大小的方法。下面介绍的 KN 近邻估计法就是一种采用可变大小区域的密度估计方法。
二、 KN 近邻估计法
该方法的基本思想是:根据总样本确定一个参数 kN ,即在中样本数为 N 时我们要求每个区域内拥有的样本的个数。在求 x 处的密度估计 p^(x) 时,我们调整包含 x 的区域的体积,直到区域内恰好落入 kN 个样本,并用下式来估计 p^(x) :
为了取得好的估计效果,需要选择合适的 kN 和 N 的关系,比如可以选择 kN=a×N−−√ ,其中 a 为参数。
三、Parzen窗法
Parzen窗法是另外一种在取值空间中进行取样估计的方法,或者说可以看作是用核函数对样本在取值空间中进行插值。
假设 x∈Rd 是一 d 维的向量,并假设每一个区域是一个超立方体,它在每一维上的棱长都是 h ,则小区域的体积为: V=hd 。
定义如下 d 维单位方窗函数:
在上式中定义核函数(或者叫窗函数和):
这种用窗函数(核函数)估计概率密度的方法就是Parzen窗法,或者叫核密度估计。
常见的几种核函数:
(1)方窗: