一、实验目的

本实验旨在加深对基于Parzen窗的概率密度估计方法的理解,加深非参数估计基本思想的认识和理解。

二、实验原理

与参数估计不同,非参数估计不需要做任何模型假设,而是利用训练数据直接对概率密度进行估计,有两种主要方法:直方图法和核函数法,其中核函数常用Parzen窗法,核密度估计 高维数据 python代码_算法-近邻法。本实验采用Parzen窗法解决问题。

Parzen窗法将核函数看作“窗”,根据样本集,

核密度估计 高维数据 python代码_深度学习_02

假设x所在区域是一个d维超立方体,棱长核密度估计 高维数据 python代码_概率密度_03(其中核密度估计 高维数据 python代码_深度学习_04是控制“窗”宽度的参数)。某点概率密度P(X)的估计如下公式:

核密度估计 高维数据 python代码_算法_05

其中,核密度估计 高维数据 python代码_核密度估计 高维数据 python代码_06是超立方体的体积

核密度估计 高维数据 python代码_概率密度_07

核密度估计 高维数据 python代码_算法_08是超立方体的样本数

核密度估计 高维数据 python代码_概率密度_09

 带入概率密度P(X)的估计计算式中得到Parzen窗估计的基本公式:

核密度估计 高维数据 python代码_核密度估计 高维数据 python代码_10

其中

核密度估计 高维数据 python代码_概率密度_11

是以核密度估计 高维数据 python代码_概率密度_12为中心,宽为核密度估计 高维数据 python代码_matlab_13的窗。同时公式还满足归一化条件:

核密度估计 高维数据 python代码_matlab_14

 

 四、实验结果及分析

根据实验要求,选取h1 = 0.25,1.0,4.0,分别在N = 1,16,256,1024,4096时画出原始概率密度曲线和不同参数下估计的概率密度曲线,如下图:

核密度估计 高维数据 python代码_核密度估计 高维数据 python代码_15

 真实概率密度曲线用蓝色实线表示,Parzen窗的估计概率密度用红色实线表示,可以看出h1=4.0时估计效果最好,随着样本数的增大,估计概率密度曲线逼近于真实概率密度曲线。此外还发现当h1取值较大时,估计概率密度曲线会较为平滑,当h1取值很小时,估计概率密度曲线会较为尖锐。样本数N 取值很小的时候,窗函数估计效果很差,随着N的取值变大,估计的概率密度逐渐向原始概率密度曲线拟合。