10分钟
核密度估计
1. 通常我们可以用直方图来观察随机变量的概率密度。但是直方图有个缺点:你选取的直方图区间宽度不同,直方图的形状也发生变化。核密度估计就能很好地解决这一问题。
2. 核密度估计的思想是:对于随机变量的每一个采样点 x_i,我们认为它代表一个以该点为均值、s 为方差的一个正态分布的密度函数 f_i(x_i;s)。将所有这些采样点代表的密度函数叠加并归一化,则得到了核密度估计的一个概率密度函数: 其中:
- 归一化操作就是 1/N,因为每个点代表的密度函数的积分都是 1
- s 就是带宽参数,它代表了每个正态分布的形状
如果采用其他的分布而不是正态分布,则得到了其他分布的核密度估计。
3. 核密度估计的原理是:如果某个样本点出现了,则它发生的概率就很高,同时跟他接近的样本点发生的概率也比较高。
4. 正态核密度估计:
class scipy.stats.gaussian_kde(dataset, bw_method=None)
参数:
dataset
:被估计的数据集。bw_method
:用于设定带宽 s。可以为:- 字符串:如
'scott'/'silverman'
。默认为'scott'
- 一个标量值。此时带宽是个常数
- 一个可调用对象。该可调用对象的参数是
gaussian_kde
,返回一个标量值
- 字符串:如
属性:
dataset
:被估计的数据集d
:数据集的维度n
:数据点的个数factor
:带宽covariance
:数据集的相关矩阵
方法:
evaluate(points)
:估计样本点的概率密度__call__(points)
:估计样本点的概率密度pdf(x)
:估计样本的概率密度
5. 带宽系数对核密度估计的影响:当带宽系数越大,核密度估计曲线越平滑。
学员评价