我试图使用SciPy的gaussian_kde
函数来估计多元数据的密度。在下面的代码中,我采样了一个三维多元正态分布,并拟合核密度,但我不确定如何计算拟合。
import numpy as np
from scipy import stats
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
kernel = stats.gaussian_kde(values)
我看到了this,但不知道如何将其扩展到3D
也不确定我如何开始评估拟合密度?我该如何想象?
有几种方法可以在3D中可视化结果
最简单的方法是在用于生成高斯KDE的点上对其求值,然后根据密度估计值对点上色。
例如:
如果你有一个更复杂的分布(也就是说,不是所有的分布都在一个平面上),那么你可能需要在一个规则的三维网格上计算KDE,并可视化体积的等值面(三维轮廓)。最容易使用Mayavi进行可视化:
相关问题 更多 >
编程相关推荐