Python 中二项分布的概率质量函数
Probability Mass Function of a Binomial Distribution in Python
我正在使用 Python3 来计算这个维基百科示例的概率质量函数 (PMF):
我尝试遵循此 scipy 文档:
https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.stats.binom.html
文档中明确指出:
Notes
The probability mass function for binom is:
binom.pmf(k) = choose(n, k) * p**k * (1-p)**(n-k)
for k in {0, 1,..., n}.
binom takes n and p as shape parameters.
好吧,我在考虑维基百科示例的情况下尝试实现这一点。这是我的代码:
from scipy.stats import binom
n = 6
p = 0.3
binom.pmf(k) = choose(n, k) * p**k * (1-p)**(n-k)
print (binom.pmf(1))
但是,我收到此错误消息:
File "binomial-oab.py", line 7
binom.pmf(k) = choose(n, k) * p**k * (1-p)**(n-k)
^
SyntaxError: can't assign to function call
我该如何解决这个问题?
只需致电 binom.pmf(1, n, p)
即可获得 k=1
的结果。文档中的表达式只是向您展示 PMF 是如何在数学上定义的,而不是您期望执行的实际代码片段。
您可以为此使用 scipy.stats.binom.pmf(k)
。例如:
n = 10
p = 0.3
k = np.arange(0,21)
binomial = scipy.stats.binom.pmf(k,n,p)
print(binomial)
我正在使用 Python3 来计算这个维基百科示例的概率质量函数 (PMF):
我尝试遵循此 scipy 文档:
https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.stats.binom.html
文档中明确指出:
Notes
The probability mass function for binom is:
binom.pmf(k) = choose(n, k) * p**k * (1-p)**(n-k)
for k in {0, 1,..., n}.
binom takes n and p as shape parameters.
好吧,我在考虑维基百科示例的情况下尝试实现这一点。这是我的代码:
from scipy.stats import binom
n = 6
p = 0.3
binom.pmf(k) = choose(n, k) * p**k * (1-p)**(n-k)
print (binom.pmf(1))
但是,我收到此错误消息:
File "binomial-oab.py", line 7
binom.pmf(k) = choose(n, k) * p**k * (1-p)**(n-k)
^
SyntaxError: can't assign to function call
我该如何解决这个问题?
只需致电 binom.pmf(1, n, p)
即可获得 k=1
的结果。文档中的表达式只是向您展示 PMF 是如何在数学上定义的,而不是您期望执行的实际代码片段。
您可以为此使用 scipy.stats.binom.pmf(k)
。例如:
n = 10
p = 0.3
k = np.arange(0,21)
binomial = scipy.stats.binom.pmf(k,n,p)
print(binomial)