Python 为什么scipy.norm.pdf有时会给出pdf>;1.如何纠正?

Python 为什么scipy.norm.pdf有时会给出pdf>;1.如何纠正?,python,scipy,distribution,normal-distribution,Python,Scipy,Distribution,Normal Distribution,给定一个高斯(正态)随机变量的均值和方差,我想计算它的概率密度函数(PDF) 我引用了这个帖子: 此外,scipy文档: 但当我绘制一条曲线的PDF时,概率超过1!请参阅此最低工作示例: 将numpy导入为np 将scipy.stats导入为stats x=np.linspace(0.3,1.751000) plt.plot(x,stats.norm.pdf(x,1.075,0.2)) plt.show() 这就是我得到的: 怎么可能有200%的概率得到平均值1.075?我是不是误解了什么

给定一个高斯(正态)随机变量的均值和方差,我想计算它的概率密度函数(PDF)

我引用了这个帖子:

此外,scipy文档:

但当我绘制一条曲线的PDF时,概率超过1!请参阅此最低工作示例:

将numpy导入为np
将scipy.stats导入为stats
x=np.linspace(0.3,1.751000)
plt.plot(x,stats.norm.pdf(x,1.075,0.2))
plt.show()
这就是我得到的:


怎么可能有200%的概率得到平均值1.075?我是不是误解了什么?有没有办法纠正这个问题?

这不是一个bug。这也不是一个错误的结果。概率密度函数在某个特定点的值并不能给出概率;它是一种度量该值周围分布密度的方法。对于连续随机变量,给定点的概率等于零。我们不是计算p(X=X),而是计算两点之间的概率
p(x1
,它等于概率密度函数下方的面积。概率密度函数的值很可能大于1。它甚至可以接近无穷大。

它是密度函数,而不是质量函数

如果方差小于
1/(2*pi)
,则高斯分布将超过1.0


超过1只是质量函数的一个限制,而不是密度函数

我确实做到了,@talonmies。norm.pdf本身用于标准化随机变量,因此它计算
exp(-x**2/2)/sqrt(2*pi)
。为了将mu和sigma纳入关系,分别引入了
loc
scale
。指定这些值意味着用(x-loc)/scale替换x,并将最终结果除以scale,从而形成如上所述的高斯PDF。@ÉbeIsaac在区间内为PDF的答案积分加一点等于1。但PDF本身可能高于1,低于1,0。当然不能是否定的。一般来说,我认为大多数介绍性(大学水平)概率统计教科书都没有讨论这些问题,如果没有接触真实的分析/测量/黎曼总和,就不容易形成直觉。我发现这是一个无痛的介绍: