python模拟概率(可视化讲解概率学基础)
python模拟概率(可视化讲解概率学基础)
2024-11-22 05:36:05  作者:纯情小钢炮  网址:https://m.xinb2b.cn/know/jul262780.html
01 概率论的开端

概率论是一门源自生活的学科,但是,直到1654年,帕斯卡和费马才开始对概率论进行实质性的研究,也标志着概率论正式的成为了数学的一个分支。

人们最早熟悉和认识到概率是从身边的等可能事件开始的,比如:抛硬币,掷骰子等。正因为如此,赌徒对概率论的发展起到了不可磨灭的贡献。

时间回到1654年,梅内骑士(Chevalier de Méré)是一个资深赌徒。别看他名字里有骑士,但是他并非出身贵族。梅内骑士是一位作家,喜欢在自己的文字中称呼自己为梅内骑士(他曾在梅内学习)。久而久之,他的朋友们就称呼他为梅内骑士了。其中,也包括大数学家帕斯卡。准确的说,帕斯卡和梅内骑士是赌友。


帕斯卡

梅内骑士可能平时输钱比较多,所以痛定思痛,非常注重赌局问题的思考。他曾经向帕斯卡请教过一些问题,比较出名的是点数问题。

点数问题:

有两个人A和B对赌,每人各下注32个硬币,一共64个硬币。A和B商定,一局游戏谁赢了谁就记一分。先累计到三分的一方获胜,赢得所有的硬币。

梅内骑士的问题是,如果突然发生了一些情况,赌局被迫结束。这时候,A已经赢了两场,积两分;B只赢了一场,积一分。那么,64个硬币应该怎么分?

帕斯卡觉得这个问题很有意思。他和自己的朋友费马(号称“业余数学之王”,提出了费马大定理)进行了多次书信交流,并都给出了解答的思路。


02 等可能概型

概率论最先研究的就是等可能概型,如抛硬币和掷骰子。在可能概型中,所有结果出现的可能性都是相等的。比如说,抛硬币只会出现正面和反面(别起哄,说可能竖起来),掷骰子只会有1到6六个面。

所有可能结果的结合,概率论中叫样本空间。每一种结果就是一个基本事件。每个基本事件由于发生的可能性相等,则概率P = 1 / n。其中,n是所有基本事件的个数。

以抛硬币为例,假设这个硬币是均匀的。抛硬币出现正面或者反面的概率都是0.5。这个假设很重要,现实生活中,硬币或多或少都不规则,出现正反的概率都不会正好是0.5。


硬币正反面理论值

我们都知道,抛一次硬币不是出现正面,就是反面。但是,如果抛100次硬币,正面和反面出现的可能性会怎么样变化呢?下面我们利用python做一个动图。

#作者:逃学博士,转载请注明出处head_prob = 0.5trial_times = 100head = 0def get_plot(times): ax.clear() global head, head_prob if random.random() <= head_prob: head = 1 x = [1, 2] head_exp_prob = np.round(head/times, 2) prob_exp_dist = [head_exp_prob, 1-head_exp_prob] ax.bar(x, prob_exp_dist, width=0.5, color='#00d0a1') for i in range(len(x)): ax.text(x=x[i]-0.04, y=prob_exp_dist[i] 0.04, s=np.round(prob_exp_dist[i], 4), size=10) ax.set_title('试验概率') ax.set_ylabel('概率') ax.set_xticks(x) ax.set_xticklabels(['正面', '反面']) ax.set_ylim((0, 1.2)) anim = animation.FuncAnimation(fig, get_plot, frames=list(range(1, trial_times)))anim.save('flip_coin.gif', writer='pillow')


100次抛硬币正反出现概率

当我们连续抛一百次硬币,正反面出现的概率就非常接近理论值了。同时,这个过程反过来也可以检验硬币是不是均匀,抛硬币是不是公平。


被动过手脚的硬币,正面出现概率为0.7

当你统计后发现,抛硬币正反概率如上图所示,你就可以自信的说这个硬币有问题。

不要以为这没啥用,如果有一点你发现赌场里的一个骰子出现6的概率特别高,而统计结果证明了你的猜想。那么,你就可以赢钱了。

03 数学期望

其实,数学期望已经包含在帕斯卡和费马解决点数问题的思路里了。当时,费马收到帕斯卡的来信之后,针对点数问题给出了如下的解答:


费马的解答:

费马想A和B谁先累计到3分就算赢。现在,A积2分,B积1分。也就是说,赌局一定在接下来的两局之后结束。不管是A赢一局,还是B连赢两局。

这样说来,这两局比赛可能出现的结果是,第一局A赢,第二局也是A赢(虽然第一局A赢,A已经到3分了),记做AA,其他情况是AB,BA,BB,一共四种情况。

费马想,四种情况中,出现AA,AB和BA这三种情况,都是A赢,只有BB一种情况,B才能赢。那么,赌局中途结束的话,A应该拿64 * 3/4 = 48个硬币,B拿16个硬币。

帕斯卡的解答:

不同于费马,帕斯卡从另外一个角度给出了解答,也隐藏了一个重要的概念:数学期望。

帕斯卡想:接下来的第一局,如果A赢了,则A拿走全部64个硬币,B拿0个硬币。如果B赢了,则A和B各积两分,这时候比较中断,A和B应该平分硬币,各拿32个。也就是说,第一局游戏不管怎么样,A一定可以拿32个硬币。

第二局,A和B谁赢就可以拿走32个硬币。而A和B的胜率均为50%。那么,A和B应该平分这32个硬币。所以,A总共应该拿32 16 = 48个硬币,B拿16个硬币。

04 掷骰子的数学期望

数学期望反映的是随机变量平均取值的数学特征,公式如下。文字表述就是所有可能出现的结果与出现的概率乘积的和。


拿掷骰子举例,总共可能出现的情况有6种,1到6个数。而每个面出现概率都是1/6。


掷骰子

根据公式,数学期望 = 1/6 * (1 2 3 4 5 6) = 3.5。 那么,当我们连续掷骰子两百次,得到的平均数是不是3.5呢?


200次掷骰子

我们可以看到,在开始的10几次掷骰子之后,骰子的平均数波动很大。但是随着掷骰子次数增加,骰子的平均值则趋近3.5了(图中红线)。

05 结束语

概率论、数学以及其他任何学科,都是一代一代人的智慧。而我们在学习知识的时候,去了解知识点背后的历史,这样对于理解学科的精髓注意良多。

技术的发展以及可以让我们不用通过大量重复的试验,而通过编程去可视化知识点了。我们应该多多利用这些工具来帮助学习。

如果你没有把这个基本的,但有些不那么自然的基础数学概率方法变成你生活的一部分,那么在漫长的人生中,你们将会像一个踢屁股比赛中的独腿人。这等于将巨大的优势拱手送给了他人。

—— 查理.芒格

查理.芒格提到了100多种思维模型,而帕斯卡-费马系统也在其中。最基本的概率论知识同样蕴含着无穷的魅力。

  • 抖音推荐机制限制(抖音号被限流了)
  • 2024-11-22抖音号被限流了接上一条内容,如果你的抖音视频被限流了,那应该怎么办呢?第一,要看哪一种限流情况一般会来几个方面的通知,有的事,告诉你,打广告营销了,然后会给你进行限流有的,会通知你搬运了,会给你限流有的会通知你多次。
  • 超体科学深度解析(科学的尽头是神学)
  • 2024-11-22科学的尽头是神学《超体》是一部不错的电影,因为电影有一个超级酷的主题,人类大脑开发100%后的状态,嗖的一下就没了科幻电影中关注人体科学的电影,尤其是硬科幻类作品说多也不算多,不少科幻片都与这方面内容打一个擦边球,比。
  • 番茄酱大虾的做法(番茄酱大虾的烹饪方法)
  • 2024-11-22番茄酱大虾的烹饪方法材料:虾仁150克、水淀粉20克、番茄酱50克、白砂糖25克、料酒10克、油50克、精盐2克将虾仁放入微波炉中,调至低火转2分钟解冻,然后用清水洗净,加入少许盐、料酒腌片刻将锅置火上,放色拉油,待油烧。
  • 刘镇伟谈大话西游火了(刘镇伟大话西游3请来韩庚唐嫣)
  • 2024-11-22刘镇伟大话西游3请来韩庚唐嫣作者:王晟他曾是香港电影史上最赚钱的导演之一凭借喜剧提名金像奖最佳导演、最佳编剧;一手将周星驰推到喜剧之王的神坛但一切都是曾经从监制《功夫》之后,关于他江郎才尽的话题就没有停止过在《大话西游3》最近的。
  • 索尼ps 发布日期(它好温柔哭死索尼发布PS)
  • 2024-11-22它好温柔哭死索尼发布PS今日,新版PSPlus率先在亚洲地区(不包括日本)上线,同时索尼官方发布了新一期PlayStationBlog来给予玩家使用全新PlayStationPlus指南,一起来看看吧!福利和功能的详细说明:。
  • 板栗冬瓜排骨汤(怎么做板栗冬瓜排骨汤)
  • 2024-11-22怎么做板栗冬瓜排骨汤材料:冬瓜、栗子、排骨、姜片调料:料酒、盐、鸡精将冬瓜去籽去皮用清水淋一下,放在案板上切成小块,待用将排骨洗净,放在案板上剁成块,待用将栗子放入清水中煮一下捞出,趁热时剥壳,待用将剁好的排骨放入清水锅。