不二如是 发表于 2020-2-22 13:19:57

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

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

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

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

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

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

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

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

如果你想到这个答案:

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

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

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


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


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

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


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

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

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


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

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

要实现上面的操作,就要用到 sum():


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

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

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

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


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

用 hist() 看下图:


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

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


二项分布

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



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

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

说人话就是:

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

直接套入到 Numpy 中的 binomial():


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

用 hist() 看下图:


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

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

源代码:



如果有收获,别忘了评分{:10_281:} :

http://xxx.fishc.com/forum/201709/19/094516hku92k2g4kefz8ms.gif

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

一个账号 发表于 2020-2-23 15:50:42

下次我的项目抽奖就用 NumPy 架构啦!!!

木卫六 发表于 2020-2-23 16:53:03

下次我的项目抽奖就用 NumPy 架构啦

TCY 发表于 2020-2-24 10:09:06

下次我的项目抽奖就用 NumPy 架构啦

tjuwlb 发表于 2020-3-13 16:41:01

下次我的项目抽奖就用 NumPy 架构啦

听风夜雨 发表于 2020-4-5 10:35:46

下次我的项目抽奖就用 NumPy 架构啦

zsygsnbfsdm 发表于 2020-7-8 19:25:59

下次我的项目抽奖就用 NumPy 架构啦

nahongyan1997 发表于 2020-7-8 19:41:26

下次我的项目抽奖就用 NumPy 架构啦

WylLy 发表于 2020-7-8 21:54:42

下次我的项目抽奖就用 NumPy 架构啦

我真的是个好人 发表于 2020-7-22 22:15:02

下次我的项目抽奖就用 NumPy 架构啦

_2_ 发表于 2020-7-23 11:58:01

下次我的项目抽奖就用 NumPy 架构啦

sHeCanFly 发表于 2020-7-23 14:21:02

下次我的项目抽奖就用 NumPy 架构啦

904292874 发表于 2020-7-23 21:58:51

下次我的项目抽奖就用 NumPy 架构啦

陈尚涵 发表于 2020-7-24 15:09:47

下次我的项目抽奖就用 NumPy 架构啦

陈尚涵 发表于 2020-7-24 15:10:33

厉害厉害
页: [1]
查看完整版本: 23 - 小甲鱼老师抽奖最少花多少能一步到位?|【二项分布】