为什么这个核密度估计的值超过 1.0?

mac*_*roo 5 python machine-learning matplotlib probability-density

我试图通过绘制皮马印第安人糖尿病数据集的概率密度分布来分析其特征(点击链接获取数据集)。我尚未删除无效的 0 数据,因此绘图有时会在最左侧显示偏差。在大多数情况下,分布看起来很准确:

所有概率密度分布

我对 DiabetesPedigree 的图的外观有疑问,该图显示的概率超过 1.0(对于 x ~ 0.1 和 0.5 之间)。据我了解,组合概率应等于 1.0。

DiatebesPedigree 的概率密度分布

我已经隔离了 DiatebesPedigree 图的代码,但通过更改值也可以用于其他图dataset_index:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gaussian_kde

dataset_index = 6
feature_name = "DiabetesPedigree"
filename = 'pima-indians-diabetes.data.csv'

data = pd.read_csv(filename)
feature_data = data.ix[:, dataset_index]

graph_min = feature_data.min()
graph_max = feature_data.max()

density = gaussian_kde(feature_data)
density.covariance_factor = lambda : .25
density._compute_covariance()

xs = np.arange(graph_min, graph_max, (graph_max - graph_min)/200)
ys = density(xs)

plt.xlim(graph_min, graph_max)
plt.title(feature_name)
plt.plot(xs,ys)

plt.show()
Run Code Online (Sandbox Code Playgroud)

小智 0

正如正确标记的那样,连续 pdf 永远不会说值小于 1,对于连续随机变量的 pdf,函数 p(x) 不是概率。您可以参考连续随机变量及其分布