在给定均值和标准差的情况下,如何计算正态分布中的概率?
如何在Python中给定平均值std的正态分布中计算概率?我总是可以像这个问题中的OP一样根据定义明确地编写自己的函数:计算Python分布中随机变量的概率
只是想知道是否有一个库函数调用将允许您执行此操作。在我的想象中,它将是这样的:
nd = NormalDistribution(mu=100, std=12)p = nd.prob(98)
Perl中有一个类似的问题:如何在给定的Perl中具有正态分布的情况下计算点的概率?。但是我没有在Python中看到它。
Numpy
有一个random.normal
功能,但这就像采样,不完全是我想要的。
回答:
scipy.stats中有一个:
>>> import scipy.stats>>> scipy.stats.norm(0, 1)
<scipy.stats.distributions.rv_frozen object at 0x928352c>
>>> scipy.stats.norm(0, 1).pdf(0)
0.3989422804014327
>>> scipy.stats.norm(0, 1).cdf(0)
0.5
>>> scipy.stats.norm(100, 12)
<scipy.stats.distributions.rv_frozen object at 0x928352c>
>>> scipy.stats.norm(100, 12).pdf(98)
0.032786643008494994
>>> scipy.stats.norm(100, 12).cdf(98)
0.43381616738909634
>>> scipy.stats.norm(100, 12).cdf(100)
0.5
[要提防的一件事-只是一个提示-参数传递有点宽泛。由于代码的设置方式,如果不小心编写了scipy.stats.norm(mean=100,
std=12)代替scipy.stats.norm(100, 12)
or的代码scipy.stats.norm(loc=100,
scale=12),则它将接受它,但会静默丢弃那些多余的关键字参数,并为您提供默认值(0,1)。]
以上是 在给定均值和标准差的情况下,如何计算正态分布中的概率? 的全部内容, 来源链接: utcz.com/qa/403338.html