python 核密度估计_Python中的多元核密度估计

本文介绍了如何在Python中使用scipy库进行3D核密度估计(KDE),并通过matplotlib和mayavi库进行可视化。首先展示了在点上着色的简单方法,然后演示了如何在规则三维网格上计算KDE并展示等值面,适用于复杂分布的可视化。
摘要由CSDN通过智能技术生成

有几种方法可以在3D中可视化结果

最简单的方法是在用于生成高斯KDE的点上对其求值,然后根据密度估计值对点上色。

例如:import numpy as np

from scipy import stats

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

mu=np.array([1,10,20])

sigma=np.matrix([[4,10,0],[10,25,0],[0,0,100]])

data=np.random.multivariate_normal(mu,sigma,1000)

values = data.T

kde = stats.gaussian_kde(values)

density = kde(values)

fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))

x, y, z = values

ax.scatter(x, y, z, c=density)

plt.show()

如果你有一个更复杂的分布(也就是说,不是所有的分布都在一个平面上),那么你可能需要在一个规则的三维网格上计算KDE,并可视化体积的等值面(三维轮廓)。最容易使用Mayavi进行可视化:import numpy as np

from scipy import stats

from mayavi import mlab

mu=np.ar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值