二项式分布测试
一、课堂内容
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的学习笔记二
转载请注明出处