为什么numpy.random.normal在ndarray中给出一些负值?

问题描述 投票:-1回答:2

我知道,对于任何选择的平均值和标准偏差,正态分布总是大于0。

>> np.random.normal(scale=0.3, size=x.shape)
[ 0.15038925 -0.34161875 -0.07159422  0.41803414  0.39900799  0.10714512
  0.5770597  -0.16351734  0.00962916  0.03901677]

这里的平均值是0.0,标准偏差是0.3。但是ndarray中的一些值是负面的。我的解释是错误的,正态分布曲线总是正的吗?

编辑: 但是在matlab中使用normpdf函数总是给出一组正值,我猜是概率密度函数(y轴)。而numpy.random.normal给出正值和负值(x轴)。现在这令人困惑。

python numpy normal-distribution
2个回答
0
投票

从Normal分布生成的值确实取负值。

例如,对于平均0正态分布。我们需要一些正值和负值,使平均值为零。此外,对于均值为0的正态分布,它同样可能是正的或负的。

它实际上采用具有正概率的任何实数。您可能会对概率密度函数始终为正值感到困惑。


0
投票

尽量不要将概率均值设为0,因为没有意义,你期望随机事件永远不会发生。尝试使用像np.random.normal(0.5, 0.3, 1000)这样的东西来表达你的正常概率分布。

另外,仔细看看Normal Distribution的数学能够轻松构建概率密度函数。

© www.soinside.com 2019 - 2024. All rights reserved.