用python重温统计学基础:离散型概率分布

Aidan075 等级 983 0 0

简单介绍数据的分布形态描述中的离散型概率分布

利用python中的matplotlib来模拟几种分布的图形

在上一篇描述性统计中提到数据分析的对象主要是结构化化数据,而所有的结构化数据可以从三个维度进行描述,即数据的集中趋势描述,数据的离散程度描述和数据的分布形态描述,并对前两个维度进行了介绍。

本篇主要是对数据的分布形态描述中的离散型概率分布进行介绍。

用python重温统计学基础:离散型概率分布

离散型概率分布是一条条垂直于X轴的垂线(或矩形柱),每条垂线与X轴的交点代表事件可能发生的结果,垂线上端点对应的Y轴表示该结果发生的概率(区别于概率密度)。

常见的离散型概率分布有二项分布、伯努利分布和泊松分布等。

二项分布

二项分布是由伯努利提出的概念,指的是重复n次独立的伯努利试验。在每次试验中只有两种可能的结果,而且两种结果发生与否互相对立,并且相互独立,与其它各次试验结果无关,事件发生与否的概率在每一次独立试验中都保持不变,则这一系列试验总称为n重伯努利实验,当试验次数为1时,二项分布服从0-1分布。

用python重温统计学基础:离散型概率分布

下面用python中的matplotlib模拟二项分布:

# 利用plt模拟二项分布  
n , p =10 ,0.5  
sample = np.random.binomial(n, p, size=10000)  # 产生10000个符合二项分布的随机数  
bins = np.arange(n + 2)  
plt.hist(sample, bins=bins, align='left',density=True, rwidth=0.5)  # 绘制直方图  
# 设置标题和坐标  
plt.title('Binomial FMF with n={},p={}'.format(n, p))  
plt.xlabel('number of successes')  
plt.ylabel('probability')

用python重温统计学基础:离散型概率分布

伯努利分布

伯努利分布亦称“零一分布”、“两点分布”。称随机变量X有伯努利分布, 参数为p(0<p<1),如果它分别以概率p和1-p取1和0为值。EX= p,DX=p(1-p)。伯努利试验成功的次数服从伯努利分布,参数p是试验成功的概率。伯努利分布是一个离散型机率分布,是N=1时二项分布的特殊情况

用python重温统计学基础:离散型概率分布

伯努利分布与二项分布之间的关系:

• 伯努利分布是具有单项试验的二项式分布的特殊情况。

• 伯努利分布和二项式分布只有两种可能的结果,即成功与失败。

• 伯努利分布和二项式分布都具有独立的轨迹。

下面用python中的matplotlib模拟二项分布:

# 利用plt模拟伯努利分布  
#解决画图中文乱码  
plt.rcParams['font.sans-serif']=['SimHei']  
plt.rcParams['axes.unicode_minus']=False  
#定义随机变量  
X = np.arange(10)   
p = 0.5  
#伯努利概率函数  
pList = bernoulli.pmf(X,p)  
#绘图,marker:点的形状,linestyle:线条的形状  
plt.plot(X,pList,marker = 'o',linestyle = 'None' )  
#vlines绘制树直线,参数的含义(x轴坐标轴,y轴最小值,y轴最大值)  
plt.vlines(X,0,pList)  
plt.xlabel("随机变量:抛硬币{}次".format(len(X)))  
plt.ylabel("概率")  
plt.title('伯努利分布:p={:.2f}' .format(p))  

用python重温统计学基础:离散型概率分布

泊松分布

泊松分布的概率函数为:用python重温统计学基础:离散型概率分布

泊松分布的参数λ是单位时间(或单位面积)内随机事件的平均发生次数。泊松分布适合于描述单位时间内随机事件发生的次数。

泊松分布的期望和方差均为 用python重温统计学基础:离散型概率分布

特征函数为用python重温统计学基础:离散型概率分布

用python重温统计学基础:离散型概率分布

泊松分布与二项分布之间的关系:****

泊松分布在满足以下条件的情况下是二项式分布的极限情况:

• 试验次数无限大或n → ∞。
• 每个试验成功的概率是相同的,无限小的,或p → 0。
• np = λ,是有限的。

假设通过一定时间的观察,我们知道某个路口每小时平均有8辆车通过,这是一个典型的泊松分布实例,我们通过Python进行统计模拟来看看在统计图它具体是如何呈现的。

下面用python中的matplotlib模拟二项分布:

# 用plt模拟泊松分布  
lamb = 8  
sample = np.random.poisson(lamb, size=10000)  
bins = np.arange(20)  
plt.hist(sample, bins=bins, align='left',density=True, rwidth=0.5)  
plt.title('Possion PMF (lambda=8)')  
plt.xlabel('number of appear')  
plt.ylabel('probability')  
plt.show()

用python重温统计学基础:离散型概率分布

本文完。

朱小五,某互联网公司数据分析师,热衷于爬虫,数据分析,可视化,个人公众号《凹凸玩数据》

本文相关ipynb格式代码已上传github:

https://github.com/zpw1995/aotodata/tree/master/tongji/lisan


用python重温统计学基础:离散型概率分布

历史文章:

44万条数据揭秘:如何成为网易云音乐评论区的网红段子手?

破解大众点评的字体加密,这一篇就够了。

用Python爬取b站弹幕,看大家还会接受《爱情公寓5》吗?

本文转转自微信公众号凹凸数据原创https://mp.weixin.qq.com/s/kRjEsvarsEALiQkUyIdpYw,可扫描二维码进行关注: 用python重温统计学基础:离散型概率分布 如有侵权,请联系删除。

收藏
评论区

相关推荐

python中的异常处理
异常 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 异常种类   在python中不同的异常可以用不同的类型(python
用python重温统计学基础:离散型概率分布
简单介绍数据的分布形态描述中的离散型概率分布 利用python中的matplotlib来模拟几种分布的图形 在上一篇描述性统计(http://mp.weixin.qq.com/s?__bizMzg5NDE3Nzc5Mw&mid2247483743&idx1&sn8a0bff6f07d2c1804ccf301b400a263e&
python利用matplotlib进行可视化
利用matplotlib进行可视化1、Matplotlib 基本介绍
Python初学者必备书籍《Python入门经典》高清PDF版|百度网盘免费下载|Python初学者,自学Python必读
提取码:1028以及前文提到的学习路线图内容简介Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python可以用于很多的领域,从科学计算到游戏开发。《Python入门经典》是面向Python初学者的学习指南,详细介绍了Python编程基础,以及一些高级概念,如面向对象编程。全书分为24章。第1章介绍了Python的背景和安装方法。第2章
简述Python中常见的数据结构
「数仓宝贝库」,带你学数据!导读:Python中常见的数据结构有列表(list)、元组(tuple)、集合(set)、字典(dict)等,这些数据结构表示了自身在Python中的存在形式,在Python中可以输入type(对象)查看数据类型。 1列表 (1)创建列表 列表是Python内置的一种数据类型,它是一种有序的数据集合,是用于存储一连串
Python基础1——变量、判断、循环、字符串、列表
1 认识python 1.1 认识python计算机识别机器语言,机器语言由二进制0和1组成计算机要执行高级语言,转换方式 1. 编译 : C语言、C++、java。 一次性编译成可执行文件2. 解释 : 一行一行地解释python是解释型语言python解释器、pycharm编辑器举个例子:要给工地煮饭编译:把饭菜都做好,做成盒饭(.exe,.class
java web中java和python混合使用
利用java web技术展示python算法处理后的数据 工具/原料 ----- * myeclipse10 * pycharm+Anaconda2 方法/步骤 ----- 1. 首先安装配置好pycharm+Anaconda2 特别的,需要配置好python的环境变量,因为在用java调用python
Python 和 JS 有什么相似?
Python 是一门运用很广泛的语言,自动化脚本、爬虫,甚至在深度学习领域也都有 Python 的身影。作为一名前端开发者,也了解 ES6 中的很多特性借鉴自 Python (比如默认参数、解构赋值、Decorator等),同时本文会对 Python 的一些用法与 JS 进行类比。不管是提升自己的知识广度,还是更好地迎接 AI 时代,Python 都是一门值
Python基础:四、python的优缺点
python是一门动态解释性的强类型语言 -------------------- ### python的优点: **1\. python的定位是"优雅"、"明确"、"简单"**         python程序看上去总是简单易懂,初学者学python,不但入门容易,二缺将来深入下去,可以边啊些那些非常复杂的程序。 **2\. 开发效率高**  
Python实现多进程
Python可以实现多线程,但是因为Global Interpreter Lock (GIL),Python的多线程只能使用一个CPU内核,即一个时间只有一个线程在运行,多线程只是不同线程之间的切换,对多核CPU来说,就是巨大的浪费。如4核CPU,实际上只利用了一个核,CPU利用率只有25%。要充分利用多核CPU,可以实现Python的多进程。 首先,im
Python很慢?Python之父一句话亮了
### Python实战社群Java实战社群长按识别下方二维码,按需求添加扫码关注添加客服进Python社群▲扫码关注添加客服进Java社群▲ 译者丨诗书塞外 原文丨http://dwz.date/duAA Python的运行速度确实没有C或者Java快,但是有一些项目正在努力让Python变得更快。
Python服务器开发一:python基础
Python(蟒蛇)是一种动态解释型的编程语言。Python可以在Windows、UNIX、MAC等多种操作系统上使用,也可以在Java、.NET开发平台上使用。 【特点】 1 Python使用C语言开发,但是Python不再有C语言中的指针等复杂的数据类型。 2 Python具有很强的面向对象特性,而且简化了面向对象的实现。它消除了保护类型、抽象类、
Python的小括弧,中括号,大括号还有尖括号的区别
在使用python做项目的过程中发现这种语言使用了很多种类型的括号来表达数据类型,常见的有四种,分别是:小括号( )、中括号\[ \]和大括号,也叫做花括号{ },还有尖括号<>,其作用也各不相同,分别用来代表不同的python基本内置数据类型。 1、python中的小括号( ):代表tuple元组数据类型,元组是一种不可变序列。创建方法很简单,大多时候都
Python问题汇总
**1.dict is not callable** tree是一个字典类型。 tree("left") -> tree\["left"\] **2.list indices must be integers or slices, not tuple** dataset是原生的python数组,是list类型(python原生数组叫list类型)
sqlmap的安装与使用
sqlmap是基于python环境的,所以在这之前需要安装python环境 Sqlmap的使用 Sqlmap是开源自动化利用工具,只是12种数据库,在/plugins中可以看到支持的数据库,在所有注入工具中最好用。 安装sqlmap 1、sqlmap搭配python使用,所以搭建python环境(2.7) 去官网下载即可,安装后不需单独配置环境