我们这次的任务是利用Python来模拟抛硬币的情况,并且记录正面朝上占所有试验中的比率,大家是不是想起了课堂中提到过的蒲丰,皮尔逊等人做的试验?当然,我们现在已经不再需要再去扔几千次,几万次硬币了;Python为我们提供了一个相当便捷的解决方案.Python 的randint(0,1)函数可以等概率,随机地返回0与1两个数,我们可以将返回的数值0记为硬币的反面,1记为硬币的正面,所以问题就转换成了:统计大量重复试验中,结果为1占总试验次数的比例.
简单地画一个流程图,希望有助于大家理解.
*流程图是网上使用ProcessOn画的,一个免费的在线流程图绘制平台,简单容易上手,强烈安利给大家~
废话不多说,上图:
怎么样,是不是学到了一招?
在这个程序的基础上,我相信大家有能力进行进一步地延伸与发散.
大家可以尝试着去完成这样三个问题:
①.,比较一下当投掷次数为100次,1000次与10000次的图像差别(提示:为了使区别更加显著,大家可以尝试将X轴使用对数坐标表示)
好的,就先写到这里,感觉有意思的话点个赞再走呗~
random.seed()用来设置初始值,这里random.seed(0)是从0开始.
random.random() 用于随机生成从0到1的浮点数,即0=n=1.0.
"_" 是占位符,表示不在意变量的值,用来循环n次.
第二段:安装python的科学计算包scipy
在python的科学计算包scipy的stats模块计算出常见概率分布的概率值,并用matplotlib包进行绘图.
在notebook环境下安装科学计算包scipy.如果已安装忽略下面安装步骤.
安装步骤:
①.)打开终端Anaconda Prompt
如果还没有安装numpy包和matplotlib包,也按上述命令安装这些包
R编程语言已经成为统计分析中的事实标准.但在这篇文章中,我将告诉你在Python中实现统计学概念会是如此容易.我要使用Python实现一些离散和连续的概率分布.虽然我不会讨论这些分布的数学细节,但我会以链接的方式给你一些学习这些统计学概念的好资料.在讨论这些概率分布之前,我想简单说说什么是随机变量(random variable).随机变量是对一次试验结果的量化.
举个例子,一个表示抛硬币结果的随机变量可以表示成
Python
X = {1 如果正面朝上,
随机变量是一个变量,它取值于一组可能的值(离散或连续的),并服从某种随机性.随机变量的每个可能取值的都与一个概率相关联.随机变量的所有可能取值和与之相关联的概率就被称为概率分布(probability distributrion).
我鼓励大家仔细研究一下scipy.stats模块.
概率分布有两种类型:离散(discrete)概率分布和连续(continuous)概率分布.
离散概率分布也称为概率质量函数(probability mass function).离散概率分布的例子有伯努利分布(Bernoulli distribution)、二项分布(binomial distribution)、泊松分布(Poisson distribution)和几何分布(geometric distribution)等.
连续概率分布也称为概率密度函数(probability density function),它们是具有连续取值(例如一条实线上的值)的函数.正态分布(normal distribution)、指数分布(exponential distribution)和b分布(beta distribution)等都属于连续概率分布.
若想了解更多关于离散和连续随机变量的知识,你可以观看可汗学院关于概率分布的视频.
二项分布(Binomial Distribution)
服从二项分布的随机变量X表示在n个独立的是/非试验中成功的次数,其中每次试验的成功概率为p.
E(X) =?np, Var(X) =?np(1?p)
如果你想知道每个函数的原理,你可以在IPython笔记本中使用help file命令.?E(X)表示分布的期望或平均值.
键入stats.binom?了解二项分布函数binom的更多信息.
二项分布的例子:抛掷10次硬币,恰好两次正面朝上的概率是多少?
您可以使用.rvs函数模拟一个二项随机变量,其中参数size指定你要进行模拟的次数.我让Python返回10000个参数为n和p的二项式随机变量.我将输出这些随机变量的平均值和标准差,然后画出所有的随机变量的直方图.
泊松分布(Poisson Distribution)
一个服从泊松分布的随机变量X,表示在具有比率参数(rate parameter)+的一段固定时间间隔内,事件发生的次数.参数+告诉你该事件发生的比率.随机变量X的平均值和方差都是+.
E(X) =?+, Var(X) =?+
你可以看到,事故次数的峰值在均值附近.平均来说,你可以预计事件发生的次数为+.尝试不同的+和n的值,然后看看分布的形状是怎么变化的.
现在我来模拟1000个服从泊松分布的随机变量.
正态分布(Normal Distribution)
正态分布的取值可以从负无穷到正无穷.你可以注意到,我用stats.norm.pdf得到正态分布的概率密度函数.
b分布(Beta Distribution)
b分布是一个取值在?[0, 1]?之间的连续分布,它由两个形态参数a和b的取值所刻画.
b分布的形状取决于a和b的值.贝叶斯分析中大量使用了b分布.
当你将参数a和b都设置为1时,该分布又被称为均匀分布(uniform distribution).尝试不同的a和b取值,看看分布的形状是如何变化的.
指数分布(Exponential Distribution)
指数分布是一种连续概率分布,用于表示独立随机事件发生的时间间隔.比如旅客进入机场的时间间隔、打进客服中心电话的时间间隔、中文维基百科新条目出现的时间间隔等等.
接着,我在指数分布下模拟1000个随机变量.scale参数表示+的倒数.函数np.std中,参数ddof等于标准偏差除以 $n-1$ 的值.
结语(Conclusion)
概率分布就像盖房子的蓝图,而随机变量是对试验事件的总结.我建议你去看看哈佛大学数据科学课程的讲座,Joe Blitzstein教授给了一份摘要,包含了你所需要了解的关于统计模型和分布的全部.
有ramdom模块可以取随机数,所以
from random import readom
rnd = random()
....return 技能1
else:
如果随机变量X的所有取值都可以逐个列举出来,则称X为离散型随机变量.相应的概率分布有二项分布,泊松分布.
如果随机变量X的所有取值无法逐个列举出来,而是取数轴上某一区间内的任一点,则称X为连续型随机变量.相应的概率分布有正态分布,均匀分布,指数分布,伽马分布,偏态分布,卡方分布,beta分布等.(真多分布,好恐怖~~)
期望值也就是该随机变量总体的均值. 推导过程如下:
0-1分布(两点分布),它的随机变量的取值为1或0.即离散型随机变量X的概率分布为:P{X=0} = 1-p, P{X=1} = p,即:
则称随机变量X服从参数为p的0-1分布,记作X~B(1,p).
在生活中有很多例子服从两点分布,比如投资是否中标,新生婴儿是男孩还是女孩,检查产品是否合格等等.
大家非常熟悉的抛硬币试验对应的分布就是二项分布.抛硬币试验要么出现正面,要么就是反面,只包含这两个结果.出现正面的次数是一个随机变量,这种随机变量所服从的概率分布通常称为 二项分布 .
像抛硬币这类试验所具有的共同性质总结如下:(以抛硬币为例)
通常称具有上述特征的n次重复独立试验为n重伯努利试验.简称伯努利试验或伯努利试验概型.特别地,当试验次数为1时,二项分布服从0-1分布(两点分布).
二项分布的期望值和方差 分别为:
泊松分布是用来描述在一 指定时间范围内或在指定的面积或体积之内某一事件出现的次数的分布 .生活中服从泊松分布的例子比如有每天房产中介接待的客户数,某微博每月出现服务器瘫痪的次数等等. 泊松分布的公式为 :
泊松分布的期望值和方差 分别为:
使用Python绘制泊松分布的概率分布图:
因为连续型随机变量可以取某一区间或整个实数轴上的任意一个值,所以通常用一个函数f(x)来表示连续型随机变量,而f(x)就称为 概率密度函数 .
概率密度函数f(x)具有如下性质 :
需要注意的是,f(x)不是一个概率,即f(x) ≠ P(X = x) .在连续分布的情况下,随机变量X在a与b之间的概率可以写成:
正态分布的定义 :
如果随机变量X的概率密度为( -+x++):
正态分布的图形特点 :
使用Python绘制正态分布的概率分布图:
当u=0,q=1时,有
此时的正态分布N(0,1) 称为标准正态分布.因为u,q都是确定的取值,所以其对应的概率密度曲线是一条 形态固定 的曲线.
对标准正态分布,通常用+(x)表示概率密度函数,用+(x)表示分布函数:
即 将随机变量X先减去总体样本均值,再除以总体样本标准差就得到标准分数啦.如果X低于平均值,则Z为负数,反之为正数 .通过计算标准分数,可以将任何一个一般的正态分布转化为标准正态分布.
从计算结果来看,说明这次考试小明的物理成绩在全部同学中算是考得很不错的,而语文考得很差.
指数分布可能容易和前面的泊松分布混淆,泊松分布强调的是某段时间内随机事件发生的次数的概率分布,而指数分布说的是 随机事件发生的时间间隔 的概率分布.比如一班地铁进站的间隔时间.如果随机变量X的概率密度为:
则称X服从指数分布,其中的参数+0. 对应的分布函数 为:
均匀分布的期望值和方差 分别为:
使用Python绘制指数分布的概率分布图:
设连续型随机变量X具有概率密度函数:
则称X服从区间(a,b)上的均匀分布.X在等长度的子区间内取值的概率相同.对应的分布函数为:
f(x)和F(x)的图形分别如下图所示:
以上就是土嘎嘎小编为大家整理的python概率函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!