为何多元正态概率密度函数值会大于1?
多元正态概率密度函数结果超过1的原因
你混淆了一个核心概念:概率密度函数(PDF)≠概率。
- 概率是对区间积分后的结果,范围确实在0到1之间,但PDF是概率的「密度」,它的取值可以大于1,只要整个定义域上的积分等于1就行。
- 你的协方差矩阵显示x维度的方差极小(0.0036),数据在x方向高度集中,就像把一堆概率「压缩」在很小的区间里,密度自然会飙升。比如一维正态分布N(0, 0.1²)的峰值就接近4,远大于1。
- 直接计算你的峰值验证:协方差矩阵的行列式≈0.000178,二维PDF在均值处的计算式是
1 / sqrt((2π)^2 * |Σ|),代入后得到≈1/0.0838≈11.93,和你得到的z.max()≈12完全匹配,这就是数值超1的直接原因。
你的代码:
mean = [0.1907431606674439, 10.776990818051406] covariance = [[0.003633465420060508, -0.0007978346053959698], [-0.0007978346053959698, 0.049307867383681425]] x, y = np.mgrid[0.05:0.35:.01, 10:11.5:.01] pos = np.dstack((x, y)) z = multivariate_normal.pdf(pos, mean, covariance) plt.figure() plt.contourf(x, y, z) plt.show()
内容的提问来源于stack exchange,提问作者8Simon8
相关产品推荐
相关产品推荐

