鱼C论坛

 找回密码
 立即注册
查看: 3653|回复: 14

[技术交流] 23 - 小甲鱼老师抽奖最少花多少能一步到位?|【二项分布】

[复制链接]
发表于 2020-2-22 13:19:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2022-12-23 17:34 编辑

上一讲我们搞定高斯分布,本次来实战抽奖!

现在有一个抽奖活动:
有一个箱子,里面有红色和蓝色小球共 5 个。其中蓝色 4 个,红色 1 个。

每位鱼油上前抽奖,抽到红色(中奖率 20%)获得价值 1000 元的奖品,蓝色是普通纪念品。

共有 1000 位鱼油,那么小甲鱼老师需要花多少钱刚刚好购买奖品呢?


理论上可能所有人都中,也可能都不中,就不能以极端条件来计算投入成本。

那么小甲鱼老师到底要最少花多少,才能一步到位完成这次活动呢?

如果你想到这个答案:

游客,如果您要查看本帖隐藏内容请回复

恭喜鱼油,提供了一个错误答案~

作为程序员,既然有需求,我们就来想办法实现!

抽奖肯定是随机活动,所以继续用 NumPy 中的随机函数:
Snip20200222_697.png


random 中有一个 choice() 可以生成随机数:
Snip20200222_698.png


第一个参数是随机生成数的种类,第二个是数量。

既然中奖不中奖只有两个结果,我们就可以用 0 和 1 代替,修改第一个参数为 2:
Snip20200222_699.png


p[0.8,0.2] 代表 0 出现概率 0.8,1 出现概率 0.2 。

上面是一次时间,既然为了找出最理想的方案,肯定要多次模拟啦!

我们可以修改第二个参数:
Snip20200222_700.png


生成一个 50*100 的数组,每行 100 个结果,共 50 行,等同于模拟 50 次。

如果我们把每一行加起来,然后 *1000 就能算出需要花多少钱。

要实现上面的操作,就要用到 sum()
Snip20200222_701.png


这样每一行结果就知道啦!

大概看一下,没有超过 30 个人中奖的情况。

就意味着花 30*1000,3W 人名币一步到位!

当然这只是 50 次模拟,我们改成 999 次:
Snip20200222_702.png


生成的结果太多,没有全部截取,这样就不能肉眼看了。

用 hist() 看下图:
Snip20200222_703.png


试验次数一多,超过 30 的情况会有,但不多。

所以准备 35*1000 来买奖品,肯定够用!


二项分布

上面我们的操作,其实叫做二项分布

3c6d55fbb2fb4316b5ef100820a4462308f7d3d4.gif


在概率论和统计学中,二项分布:

是 n 个独立的是/非试验中成功的次数的离散概率分布,其中每次试验的成功概率为 p。


说人话就是:

只有两种结果:中奖/不中奖,抽奖人数 100 就是 n,每个人抽中概率都是相同的 p 。


直接套入到 Numpy 中的 binomial()
Snip20200222_705.png


为了更加逼真,直接模拟 99999 次。

用 hist() 看下图:
Snip20200222_706.png


这个图,直接给小甲鱼老师看,掏 3.5W 解决问题!

下一讲我们学习泊松分布。

源代码: 23TwoProba.zip (378 Bytes, 下载次数: 1, 售价: 6 鱼币)




如果有收获,别忘了评分


                               
登录/注册后可看大图


如果想看更多,请订阅 淘专辑传送门)(不喜欢更要订阅

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-23 15:50:42 | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-23 16:53:03 From FishC Mobile | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-24 10:09:06 | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-13 16:41:01 | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-5 10:35:46 | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-8 19:25:59 | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-8 19:41:26 | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-8 21:54:42 | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-22 22:15:02 | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-23 11:58:01 From FishC Mobile | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-23 14:21:02 | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-23 21:58:51 | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-24 15:09:47 | 显示全部楼层
下次我的项目抽奖就用 NumPy 架构啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-24 15:10:33 | 显示全部楼层
厉害厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 03:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表