如何从概率密度得到特定点的概率?

问题描述 投票:0回答:0

我有一个二维核密度函数,它由

sklearn.neighbors.KernelDensity
拟合。如您所知,这个函数给我们的是概率密度,而不是某个值的概率。如果您查看下图,您会发现最高密度值大约为 25,但这不是概率。但是,我想要的是特定点的概率。有什么办法可以得到某个点的概率吗?如何将密度函数转换为概率?

from sklearn.neighbors import KernelDensity 

kde = KernelDensity(kernel='gaussian', bandwidth=0.05)
kde.fit(data)

x = np.linspace(0, 1, 50)
y = np.linspace(0, 1, 50)
xx, yy = np.meshgrid(x, y)
domain_xy = np.concatenate([xx.ravel().reshape(-1, 1), yy.ravel().reshape(-1, 1)],axis=1)
z = np.exp(kde.score_samples(domain_xy))
# z = np.exp(z)

%matplotlib inline
plt.scatter(domain_xy[:,0], domain_xy[:,1], c=z, cmap='jet')
plt.colorbar()
python statistics probability kernel-density
© www.soinside.com 2019 - 2024. All rights reserved.