如何在Python中实现这五种强大的概率分布?
首页所有文章观点与动态基础知识系列教程实践项目工具与框架工具资源Python组伯乐在线>;Python-伯乐在线>所有文章>实际项目>如何在Python中实现这五种强大的概率分布?
2015/04/25概率分布练习项目
分享到:12
本文由伯乐在线-feigao.me翻译,Daetalus校对。未经允许禁止转载!
英语产地:www.bigdataexaminer.com。欢迎加入翻译小组。
r编程语言已经成为统计分析中事实上的标准。但是在本文中,我将告诉您用Python实现统计概念是多么容易。我想用Python实现一些离散和连续的概率分布。虽然我不会讨论这些分布的数学细节,但是我会通过链接给你一些学习这些统计概念的好材料。在讨论这些概率分布之前,我想简单讲一下什么是随机变量。随机变量是实验结果的量化。
例如,表示掷硬币结果的随机变量可以用Python来表示。
X = {1如果正面朝上,
如果反面朝上}
12X = {1如果正面朝上,
如果反面朝上}
随机变量是采用一组可能值(离散或连续)并服从某种随机性的变量。随机变量的每一个可能值都与一个概率相关联。随机变量的所有可能值和与之相关的概率称为概率分布。
我鼓励您仔细研究scipy.stats模块。
概率分布有两种类型:离散概率分布和连续概率分布。
离散概率分布也叫概率质量函数。离散概率分布的例子有伯努利分布、二项式分布、泊松分布和几何分布。
连续概率分布,也称为概率密度函数,是具有连续值的函数(如实线上的函数)。正态分布、指数分布、贝塔分布都属于连续概率分布。
如果想了解更多关于离散和连续随机变量的知识,可以看可汗学院关于概率分布的视频。
二项分布
服从二项式分布的随机变量x代表n次独立的是/否试验中成功试验的次数,其中每次试验的成功概率为p。
E(X) = np,Var(X) = np(1?p)
如果想了解各个函数的原理,可以使用IPython笔记本中的帮助文件命令。E(X)代表分布的期望值或平均值。
键入stats.binom?了解更多关于binom的信息。
二项分布的一个例子:一个硬币抛10次,正好正面朝上两次的概率是多少?
假设在这个实验中正面朝上的概率是0.3,这意味着平均来说,我们可以预期硬币正面朝上三次。我把抛硬币的所有可能结果定义为k = np.arange(0,11):你可能观察到0正面朝上,1正面朝上,10正面朝上。我用stats.binom.pmf计算每个观测值的概率质量函数。它返回一个包含11个元素的列表,这些元素表示与每个观察相关联的概率值。
您可以使用。rvs函数模拟一个二项式随机变量,其中参数size指定了您想要模拟它的次数。我让Python返回10000个参数为n和p的二项随机变量,我会输出这些随机变量的平均值和标准差,然后画出所有随机变量的直方图。
泊松分布
服从泊松分布的随机变量X,用速率参数)λ表示一个事件在固定时间间隔内发生的次数。参数λ告诉您事件发生的速率。随机变量x的均值和方差为λ。
E(X) = λ,Var(X) = λ
泊松分布的例子:给定某个路口的事故率为一天2次,请问这里一天发生4次事故的概率是多少?
让我们考虑一下这个平均每天发生两起事故的例子。泊松分布的实现有点类似于二项分布,在二项分布中我们需要指定比率参数。泊松分布的输出是一系列数字,包括0次,1次,2次直到10次的概率。我用结果生成了下面的图片。
如你所见,事故数量的峰值接近平均值。平均而言,您可以预期事件的数量为λ。尝试λ和n的不同值,看看分布的形状如何变化。
现在我将模拟1000个服从泊松分布的随机变量。
正态分布
正态分布是一个连续分布,它的函数可以取在实线上的任何地方。正态分布由两个参数描述:分布的均值μ和方差σ2。
E(X) = μ,Var(X) = σ2
正态分布的值可以从负无穷大到正无穷大。你可以注意到,我用stats.norm.pdf得到正态分布的概率密度函数。
贝塔分布(贝塔分布)
β分布是一种连续分布,其值在[0,1]之间,由两个形态参数α和β的值来表征。
β分布的形状取决于α和β的值。β分布广泛应用于贝叶斯分析中。
当您将参数α和β设置为1时,该分布也称为均匀分布。尝试不同的α和β值,看看分布的形状如何变化。
指数分布
指数分布是一种连续的概率分布,用来表示独立随机事件的时间间隔。比如乘客进入机场的时间间隔,呼叫客服中心的时间间隔,中文维基百科新条目出现的时间间隔。
我将参数λ设置为0.5,将x的取值范围设置为$[0,15]$。
然后,我模拟了1000个指数分布下的随机变量。比例参数代表λ的倒数。在函数np.std中,参数ddof等于标准偏差除以$n-1$。
结论(结论)
概率分布就像盖房子的蓝图,随机变量是实验事件的总结。建议你去听哈佛大学数据科学课程的讲座。Joe Blitzstein教授给出了一个总结,其中包含了所有你需要知道的关于统计模型和分布的知识。