在给定均值和标准差的情况下,如何计算正态分布中的概率?

如何在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

回到顶部