多元高斯的等高线图

杰克

我正在尝试使用轮廓图来可视化多元正态分布。

import numpy as np
from scipy.stats import multivariate_normal

mean = (0, 0)
cov = [[1, 0.75], 
       [0.75, 1]]
data = np.random.multivariate_normal(mean, cov,size=1000)
var = multivariate_normal(mean=mean, cov=cov)
z = var.pdf(data)
plt.contour(data,z)

>>>
ValueError: Contour levels must be increasing

我的目标只是简单地描述多元分布的等高线图,非常类似于2D直方图。但是,我似乎误解了该功能的意图。

有没有更好的方法来达到这种效果?

弗拉基米尔·昆

您可以使用seaborn kde图:

import seaborn as sns
sns.kdeplot(data, bw=.15)
plt.show()

如此处https://seaborn.pydata.org/generated/seaborn.kdeplot.html中所述,以方便绘制。

我知道这不是您问题的确切答案,但如果您愿意安装seaborn库,对于您来说可能就足够了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章