如何正确编写 scipy.stats.binom.cdf() 详细信息

数据挖掘 Python 统计数据 可能性 scipy
2022-03-04 10:50:52

我需要计算我的随机变量的概率0. 是二项分布,10000试验,成功的概率是1019(大致0.53)。

我如何正确使用scipy.stats.binom.cdf()来做到这一点?

我尝试了以下方法:

stats.binom(10000, a).cdf(0)

但它给了我一个答案0.

我觉得我可能遗漏了一些关于公式本身的东西。

2个回答
>>> from scipy.stats import binom
>>> binom.cdf(0, 10000,10/19)
0.0

二项式随机变量是非负的。因此,您要计算它等于零的概率,即

(1019)1000010-2787.540

代码将是:

n=10000
p=10/19
k=0
scipy.stats.binom.cdf(k,n,p)

但是,在使用任何工具 [R/Python/ 或其他任何工具] 之前,您应该尝试理解这个概念。

二项分布的概念:

假设一条线索重复了 n 次事件发生称为成功,事件未发生称为失败

设“p”为成功概率,“q”为单次试验失败的概率,使得 p + q = 1

我们假设所有试验都是独立的,并且每次试验中的“p”和“q”都是相同的。

现在,根据独立事件的复合概率定理,第一次“r”次试验成功而剩余“n-r”次试验失败的概率是

p^r*q^(nr)

此表达式显示“r”个连续成功和“n - r”个连续失败的概率。但是,在 n 次试验中,“r”次成功可以以 nCr 方式发生[n 种事物的组合,一次取 r:nCr = n!/ r!(n - r)! = nPr / r!]

因此,通过独立事件的乘法定理或概率/复合概率定理/计数原理 [插入超链接],在“n”次试验中获得“r”成功的概率由 P (r) = nCr p^rq^(nr) 给出,其中 'r' 可以被认为是一个离散随机变量,其取值范围为0、1、2、...,直到最大 'n'

所以从理论上讲,x [二项式变量] 的值也不可能小于零。

概率[x <= 0] = p[x = 0] = q^n

在您的情况下,这个数量可以忽略不计。

我希望它有帮助!