3. 核密度估计

  1. 通常我们可以用直方图来观察随机变量的概率密度。但是直方图有个缺点:你选取的直方图区间宽度不同,直方图的形状也发生变化。核密度估计就能很好地解决这一问题。

  2. 核密度估计的思想是:对于随机变量的每一个采样点 3. 核密度估计 - 图1,我们认为它代表一个以该点为均值、3. 核密度估计 - 图2 为方差的一个正态分布的密度函数 3. 核密度估计 - 图3。将所有这些采样点代表的密度函数叠加并归一化,则得到了核密度估计的一个概率密度函数:

    3. 核密度估计 - 图4

    其中:

    • 归一化操作就是 3. 核密度估计 - 图5,因为每个点代表的密度函数的积分都是 1
    • 3. 核密度估计 - 图6 就是带宽参数,它代表了每个正态分布的形状

    如果采用其他的分布而不是正态分布,则得到了其他分布的核密度估计。

  3. 核密度估计的原理是:如果某个样本点出现了,则它发生的概率就很高,同时跟他接近的样本点发生的概率也比较高。

  4. 正态核密度估计:

    1. class scipy.stats.gaussian_kde(dataset, bw_method=None)

    参数:

    • dataset:被估计的数据集。

    • bw_method:用于设定带宽 3. 核密度估计 - 图7。可以为:

      • 字符串:如'scott'/'silverman'。默认为'scott'
      • 一个标量值。此时带宽是个常数
      • 一个可调用对象。该可调用对象的参数是gaussian_kde,返回一个标量值

    属性:

    • dataset:被估计的数据集
    • d:数据集的维度
    • n:数据点的个数
    • factor:带宽
    • covariance:数据集的相关矩阵

    方法:

    • evaluate(points):估计样本点的概率密度
    • __call__(points):估计样本点的概率密度
    • pdf(x):估计样本的概率密度

    kde

  5. 带宽系数对核密度估计的影响:当带宽系数越大,核密度估计曲线越平滑。 bandwidth