(本文仅用于个人学习,大部分来源于上课ppt)
非参数估计能处理任意的概率分布,而无需假设密度函数,主要的方法有直方图估计,K-NN,parzen窗估计。非参数估计的主要思想是,向量落入一个区域R的概率P为
![](https://img.haomeiwen.com/i13121812/5ee35b96e244661c.png)
其中直方图估计是最简单的一种:
1. 把x的每个分量分成k 个等间隔小窗,( x∈Ed ,则形成kd 个小舱)
2. 统计落入各个小舱内的样本数qi
3. 相应小舱的概率密度为: qi /(NV )( N :样本 总数,V :小舱体积)
原理:
假设N个样本的集合X={x1,x2,x3,x4...}是根据概率密度P(x)的分布独立抽取到的,那么K个样本落入区域R的概率服从二项分布:
![](https://img.haomeiwen.com/i13121812/b937946d5a5c54f6.png)
K的期望值是E(k) = NP 对P的估计
![](https://img.haomeiwen.com/i13121812/c1829daaf534fb41.png)
N趋于∞大时,非常准确
假设p(x)是连续的,且R足够小使得p(x)在R内几乎没有变化。令R是包含样本点x的一个区域,其体积为V,设有N个训练样本,其中有k落在区域R中,则可对概率密度作出一个估计:
![](https://img.haomeiwen.com/i13121812/e9878399ce137c59.png)
![](https://img.haomeiwen.com/i13121812/cc475ac205554bfb.png)
![](https://img.haomeiwen.com/i13121812/e96389cadfa76450.png)
要求估计的概率密度函数收敛到真实值
![](https://img.haomeiwen.com/i13121812/c91728c67cf1b91e.png)
必须满足
![](https://img.haomeiwen.com/i13121812/621b4ddefa32e303.png)
![](https://img.haomeiwen.com/i13121812/3ae2f5de0a3e1680.png)
![](https://img.haomeiwen.com/i13121812/9ee2f26020f17b4b.png)
1.随着样本数的增加,小舱体积应该尽可能小,
2.同时又能保证小舱内有充分多的样本,
3.但每个小舱内的样本数又必须是总样本数中很小的一部分
![](https://img.haomeiwen.com/i13121812/2d064bb6d543a7e2.png)
Parzen窗估计
首先需要选择窗函数,Parzen窗估计过程是一个内插过程,样本xi距离x越近,对概率密度估计的贡献越大,越远贡献越小。
只要满足如下条件,就可以作为窗函数:
![](https://img.haomeiwen.com/i13121812/8f3e2cd8cd5b3d81.png)
![](https://img.haomeiwen.com/i13121812/58c6cd9a2446b02f.png)
方窗函数:
![](https://img.haomeiwen.com/i13121812/f2a5f535224ae168.png)
正太分布窗函数:
![](https://img.haomeiwen.com/i13121812/6e1b151db0aa6f3a.png)
指数窗函数:
![](https://img.haomeiwen.com/i13121812/6823f16a14ff0d09.png)
其中
![](https://img.haomeiwen.com/i13121812/0c615996368a5785.png)
Parzen估计的性能与窗宽参数hn紧密相关当hn较大时,x和中心xi距离大小的影响程度变弱,估计的p(x)较为平滑,分辨率较差。当hn较小时,x和中心xi距离大小的影响程度变强,估计的p(x)较为尖锐,分辨率较好。
Parzen窗密度估计的渐近收敛性:
渐进无偏性:
![](https://img.haomeiwen.com/i13121812/8a6fd0b585846c91.png)
一致性:
![](https://img.haomeiwen.com/i13121812/a179eb8b8ba9d99a.png)
简单的例子:对于一个二类( ω1 ,ω2 )识别问题,随机抽取ω1类的6个样本X=(x1,x2,…. x6) ω1=(x1,x2,…. x6) =(x1=3.2,x2=3.6,x3=3,x4=6,x5=2.5,x6=1.1) 估计P(x|ω1)即PN(x):
选择正太分布窗函数
![](https://img.haomeiwen.com/i13121812/72e01a4a21693bd1.png)
![](https://img.haomeiwen.com/i13121812/a2499e24fe4edcd3.png)
因为样本时一维的
![](https://img.haomeiwen.com/i13121812/017edd16e797b400.png)
![](https://img.haomeiwen.com/i13121812/0556b20a3f983034.png)
简单的代码实现:
import numpy as np
import matplotlib.pyplot as plt
from pandas import Series
data = np.sort(np.array( [3.2,3.6,3,6,2.5,1.1]))
hi = 0.5/np.sqrt(6)
N = 6
hn = hi/np.sqrt(N)
Vn = hn
a = np.zeros(6)
i = 0
for x in data:
k = 0
for xi in data:
k = (1/np.sqrt(2*np.pi))*np.exp(-0.5*(np.square(np.abs(x-xi)/hn)))+k
a[i] = k/(Vn*N)
i = i+1
obj = Series(a,index=data)
obj.plot()
plt.show()
![](https://img.haomeiwen.com/i13121812/581344ca9457e21c.png)
![](https://img.haomeiwen.com/i13121812/b5f8806a51649142.png)
由图看出,每个样本对估计的贡献与样本间的距离有关,样本越多,PN(x)越准确。
网友评论