使用scipy.stats包的二项式分布

时间:2019-08-01 06:50:20

标签: python-3.x statistics probability-distribution

在4个不同的比赛中,Jin都有60%的获胜机会。假设比赛是相互独立的,那么Jin赢得至少一场比赛的概率是多少。

二项分布参数:

n=4    
p=0.60

以十进制显示概率。

提示:

  1. P(x> = 1)= 1-P(x = 0)
  2. 使用scipy.stats包的binom.pmf()函数计算概率。
#n=4
#p=0.60
#k=1

from scipy import stats
probability=stats.binom.pmf(1,4,0.60)
print(probability)

#0.15360000000000007

这里的K值应该是多少。我的输出不正确。

4 个答案:

答案 0 :(得分:0)

#n=4
#p=0.60
#k=1
from scipy import stats
//P(x>=1)=1-P(x=0) this means 1.first find probability with k=0 

probability=stats.binom.pmf(0,4,0.60)
//then do 1- probability
actual_probability=1-probability
print(actual_probability)

答案 1 :(得分:0)

recyclerView.setItemViewCacheSize(adapter.getItemCount())

答案 2 :(得分:0)

我先用数学术语解释解:

Jin 至少赢得 1 场比赛的概率 = 1 - Jin 不会赢得任何比赛

在 4 场比赛中,Jin 都有 60% 的获胜机会。这意味着他有 40% 的机会失败。

如果单个试验的成功概率为 p,则 n 次重复试验且 x 次成功的二项式概率为 nCx⋅p^x⋅(1−p)^n−x

因此, Jin 获胜的概率 4 场比赛中没有一场比赛 = 4C0 X 0.6^0 X 0.4^4 = 0.0256

因此,Jin 至少赢得 1 场比赛的概率 = 1 - 0.0256 = 0.9744

代码:

from scipy import stats

def binomial():
    ans = 1 - round(stats.binom.pmf(0,4,0.6),2)
    return ans

if __name__=='__main__':
    print(binomial())

答案 3 :(得分:0)


def binomial():
    li=[1,2,3,4]
    lis=[stats.binom.pmf(k,4,0.6) for k in li]
    an=sum(lis)
    ans=round(an,2)
    return ans

if __name__=='__main__':
    print(binomial())