统计学L8 Python概率练习(二)

二项式分布测试

一、课堂内容

binomial的用法

官方文档:binomial(n, p, size=None)

  • n表示每组测试的次数
  • p表示每次测试里的一项内容的概率
  • size表示测试的组数
  • 输出结果为符合条件的次数

binomial(1, p = 0.5, size = 10000)
return:[0, 1, 1, 0…. 1, 0]

返回的含义表示,输出符合结果的测试为0次,1次……

二、练习内容

1.一次均衡掷硬币得到正面
2.五次均衡掷硬币得到一次正面
3.十次均衡掷硬币得到四次正面
4.P(H) = 0.8 时五次不均衡掷硬币得到五次正面
5.P(H) = 0.15 时十次不均衡掷硬币得到得到三次及三次以上正面

1.一次均衡掷硬币得到正面

思考路径:
(1)每组测试一次,可以测试很多组。即,n=1;
(2)求概率的方法与之前一样,用mean表示。

test_1 = np.random.binomial(1, p = 0.5, size = int(1e4))
(test_1 == 1).mean()

2.五次均衡掷硬币得到一次正面

思考路径:
(1)每组测试五次,测试很多组,即n=5;
(2)得到1次正面,即选择返回结果为1。

test_2 = np.random.binomial(5, p = 0.5, size = int(1e4))
(test_2 == 1).mean()

3.十次均衡掷硬币得到四次正面

思考路径:
(1)每组测试十次,测试很多组,即n=10;
(2)同时四次正面,选择返回结果为4。

test_3 = np.random.binomial(10, p = 0.5, size = int(1e4))
(test_3 == 4).mean()

4.P(H) = 0.8 时五次不均衡掷硬币得到五次正面

思考路径:
(1)每次测试五次,测试很多组,即n=5;
(2)同时五次正面,选择结果为5的;
(3)非均衡掷硬币,则p值更改为结果希望出现的概率。

test_4 = np.random.binomial(5, p = 0.8, size = int(1e4))
(test_4 == 5).mean()

5.P(H) = 0.15 时十次不均衡掷硬币得到得到三次及三次以上正面

思考路径:
(1)每次测试10次,测试很多组,即n=10;
(2)同时三次及三次以上的正面,选择结果为大于等于3的;
(3)非均衡掷硬币,则p值更改为结果希望出现的概率。

test_5 = np.random.binomial(10, p = 0.8, size = int(1e4))
(test_5 >= 3).mean()

三、总结

binomial函数的使用可以不用在代码中使用矩阵的方式解决掷硬币的问题。

尝试着用binomial函数解决了练习(一)里的问题,除了掷骰子的问题没找到解决方案外,其他的问题都可以用binomial方便的解决。

如果有大神朋友能用binomial解决掷骰子六面的问题,烦请留言或者私信指导下我,非常感谢。

这是Udacity数据分析(入门)课程的统计学lesson8的学习笔记二
转载请注明出处

    原文作者:Ivan_AC
    原文地址: https://www.jianshu.com/p/d37ced13c7a8
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞