python区间分布统计_常见概率统计分布及Python实现
一、离散随机变量及连续随机变量
随机变量
1. 离散随机变量(Discrete random variable):取值是可数个值(且只能为自然数0、1、2...)的随机变量
2. 连续随机变量(Continuous random variable):取值是一个区间中任一实数(即变量的取值可以是连续的)的随机变量
相应概率计算公式PMF/PDF/CDF
1. 离散随机变量:概率质量函数(Probability Mass Function,PMF)
PMF即离散随机变量在各特定取值上的概率
2. 连续随机变量:概率密度函数(Probability Density Function,PDF)
PDF:连续随机变量的概率密度函数是描述这个随机变量的输出值,在某个特定取值点附近可能性的函数。
3. 累积分布函数(Cumulative Distribution Function,CDF)
CDF:概率密度函数的积分,能完整描述一个随机变量X的概率分布。概率中的PDF,PMF,CDF - wanzer之家 - CSDN博客blog.csdn.net
二、离散概率分布及连续概率分布
离散概率分布伯努利分布(Bernoulli Distribution):亦称“0-1分布”
二项分布(Binomial Distribution):即重复n次独立的伯努利实验,每次试验中只有两种可能的结果。
几何分布(Geometric Distribution):在n次伯努利试验中,试验k次才得到一次成功的概率(即前k-1次均失败)
泊松分布(Poisson Distribution):一种累计随机事件发生次数的最基本的独立增量过程。
泊松分布一般需满足三个条件:事件的发生是小概率事件/事件间相互独立/事件发生的概率是稳定的
连续概率分布
正态分布(Normal Distribution):是所有分布趋于极限大样本的分布,属于连续分布。
各种分布类型间关系二项分布的极限分布是泊松分布。
泊松分布的极限分布是正态分布,即np=λ,当n很大时可近似相等。
二项分布和泊松分布都可以用正态分布代替(需满足一定条件,中心极限定理or大数定律)。中心极限定理以及其和大数定律的区别 - 每天进步一点点 - CSDN博客blog.csdn.nethttp://www.math.wm.edu/~leemis/2008amstat.pdfwww.math.wm.edu
以下为各单变量分布间关系:
各概率分布的Python实现:
#导入包
import numpy as np #数组包
from scipy import stats #统计计算包的统计模块
import matplotlib.pyplot as plt #绘图包
%matplotlib inline
1.伯努利分布(Bernoulli Distribution)
#1、定义随机变量:抛一次硬币,0代表失败即反面朝上;1代表成功即正面朝上
#(随机变量通常用大写字母表示)
X=np.arange(0,2,1)
X
>>>
array([0, 1])
#2、求对应分布的概率:概率质量函数(PMF:Probabilily mass function)
p=0.5 #硬币朝上的概率
pList=stats.bernoulli.pmf(X,p)
pList
>>>
array([0.5, 0.5])
#3、绘图
plt.plot(X,pList,linestyle='None',marker='o') #不需要将两点相连
plt.vlines(X,0,pList) #绘制竖线,参数说明plt.vlines(x坐标值,y坐标最小值,y坐标最大值)
plt.xlabel('随机变量:抛1次硬币结果为反面记为0,为正面记为1')
plt.ylabel('概率值')
plt.title('伯努利分布:p=%0.2f'%p)
2.二项分布(Binomial Distribution)
#1、定义随机变量:抛5次硬币,正面朝上的次数
n=5 #做某件事的次数
p=0.5 #做成功某件事的概率
X=np.arange(0,n+1,1)
X
>>>
array([0, 1, 2, 3, 4, 5])
#2、求对应分布的概率
pList=stats.binom.pmf(X,n,p) #参数含义为:pmf(k次成功,共n次实验,单次实验成功概率为p)
pList
>>>
array([0.03125, 0.15625, 0.3125 , 0.3125 , 0.15625, 0.03125])
#3、绘图
plt.plot(X,pList,linestyle='None',marker='o')
plt.vlines(X,0,pList)
plt.xlabel('随机变量:抛5次硬币,正面朝上的次数')
plt.ylabel('概率值')
plt.title('二项分布:n=%i,p=%0.2f'%(n,p))
3.几何分布(Geometric Distribution)
#1、定义随机变量:首次表白成功所需次数k
k=5 #做某件事的次数
p=0.6 #做成功某件事的概率
X=np.arange(1,k+1,1)
X
>>>
array([1, 2, 3, 4, 5])
#2、求对应分布的概率
pList=stats.geom.pmf(X,p) #参数含义为:pmf(第X次成功,单次实验成功概率为p)
pList
>>>
array([0.6 , 0.24 , 0.096 , 0.0384 , 0.01536])
#3、绘图
plt.plot(X,pList,linestyle='None',marker='o')
plt.vlines(X,0,pList)
plt.xlabel('随机变量:表白k次才首次成功')
plt.ylabel('概率值')
plt.title('几何分布:p=%0.2f'%p)
4.泊松分布(Poisson Distribution)
#1、定义随机变量:已知某路口平均每天发生事故两次,则该路口一天内发生k起事故的概率是多少?
mu=2 #平均值:每天平均发生2起事故
k=4 #该路口发生4起事故的概率
X=np.arange(0,k+1,1)
X
>>>
array([0, 1, 2, 3, 4])
#2、求对应分布的概率
pList=stats.poisson.pmf(X,mu) #参数含义为:pmf(发生X次事件,平均发生mu次)
pList
>>>
array([0.13533528, 0.27067057, 0.27067057, 0.18044704, 0.09022352])
#3、绘图
plt.plot(X,pList,linestyle='None',marker='o')
plt.vlines(X,0,pList)
plt.xlabel('随机变量:该路口发生事故的次数')
plt.ylabel('概率值')
plt.title('泊松分布:平均值mu=%i'%mu)
5.正态分布(Normal Distribution)
#1、定义随机变量
mu=0 #平均值
sigma=1 #标准差
X=np.arange(-5,5,0.1)
#2、求对应分布的概率
pList=stats.norm.pdf(X,mu,sigma) #参数含义为:pdf(发生X次事件,均值为mu,方差为sigma)
#3、绘图
plt.plot(X,pList,linestyle='-')
plt.xlabel('随机变量:x')
plt.ylabel('概率值:y')
plt.title('正态分布:$\mu$=%0.1f,$\sigma^2$=%0.1f'%(mu,sigma))
5.4、已知正态分布查找对应概率值
分三步:确定分布范围、求标准分z值、查找z表格
1. 确定分布范围(以左尾为例)如:p(k<1.05)
2. 求标准分 标准分z=(1.05-平均值)/标准差
3. 查找z表格
其他:右尾及双尾
三、正态分布与幂律分布正态分布(Normal distribution)
正态曲线呈钟型,是两边低,中间高,左右对称曲线。一般而言,如果某个量是由许多微小的独立随机因素影响的结果,则可以认为该量符合正态分布。正态分布说明了事物运行有惯性的规律,能避免向另外的极端发展,从而体现出一种一定态势下的惯性波动。关于正态分布,你不知道它诞生之路是多么“变态”www.sohu.com幂律分布(Power law distribution)
幂律分布表现为斜率为负的幂指数的直线,概率越高,占比越小,生活中的马太效应及长尾分布都是幂律分布的典型案例。简单来说,幂律分布就是告诉你世界是不公平的,较少的人拥有大部分财富(二八法则),于是在他们身上就体现了财富的加速积累情况。幂律分布 - Together_CZ的博客 - CSDN博客blog.csdn.net
python区间分布统计_常见概率统计分布及Python实现相关推荐
- excel 区间人数柱状图_『excle 图表 区间计数』excel如何把学生成绩区间分布统计为柱状图...
想要用excel做个图表,就像下面这种,最好还能有区间中值 我只会做图表你那种不会这种是:选中数据区>插入>>柱状图>二维,就出现了图表,然后右键图表空白处>选择数据,在 ...
- awk的真实使用案例及区间分布统计工具histogram.py
head -n 100 xxx.log 查看日志前100行 head -n 100 xxx.log | grep "android"|grep "xxxx.zip&quo ...
- python新手入门教程思路-Python新手入门教程_教你怎么用Python做数据分析
Python新手入门教程_教你怎么用Python做数据分析 跟大家讲了这么多期的Python教程,有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了,比较复杂.很多网上 ...
- python正则匹配统计_用Python正则表达式搜索统计命令行管道中的所有数字
由于最近经常要对庞大的Android代码进行统计,于是写了一个Python脚本,可以把命令行中输出的所有管道数据中的数字找出来,并进行累加等操作,使用起来非常快捷高效. 例如,我希望统计Android ...
- python四级词频统计_#40python 统计四级单词词频
#40python 统计四级单词词频 Python 词云 统计 词库 2019年05月21日 23时36分54秒 碎碎念 代码主要靠百度边查边写 为了能够更好地展现 代码的生成过程,(主要是懒) 作业 ...
- python数据分析模块包括_数据开发必会 | Python数据分析模块
作为数据开发,Python强大的数据分析模块还是必须要会的,横向拓展数据分析与挖掘技术栈也是很有必要的.本文将对Pandas.NumPy.SciPy.Matplotlib等分析挖掘库的安装和使用进行简 ...
- python打造excel神器_超简单:用Python让Excel飞起来
前言 如何获取学习资源 章Python快速上手 1.1为什么要学习用Python控制Excel 1.2Python编程环境的搭建 1.2.1安装Python官方的编程环境IDLE 1.2.2安装与配置 ...
- python数据科学入门_干货!小白入门Python数据科学全教程
前言本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据工 ...
- 有没有可以刷python题的软件_你想要的Python面试都在这里了【315+道题】
第一部分 Python基础篇(80题) 1.为什么学习Python? 1.python是脚本语言,作为程序员至少应该掌握一本通用脚本语言,因为脚本语言与编译语言的开发测试过程不同,可以极大的提高编程效 ...
最新文章
- 可视化工具第一篇(百度Echarts)
- 学习日志-中缀表达式转后缀表达式并计算结果
- jpanel网格布局添加滚动条_Java Swing GridBagLayout网格袋布局的实现
- 镶嵌至新栅格ArcGIS出现send to mail闪退情况的解决方法
- 设计模式笔记十二:享元模式 | 更新版
- 学习日记0802函数递归,三元表达式,列表生成式,字典生成式,匿名函数+内置函数...
- xugang 记录一个.NET 程序员的成长 asp.net水晶报表的一些问题
- 电梯设计需求调研报告
- python模块规定的格式,按照这样写,最规范
- acid事务 mysql_MySQL 事务ACID特性
- 【Linux operation 07】 - SUSE 12 SP5系统挂载硬盘
- 99%的游戏建模师不知道的ZBrush的15个建模技巧
- 【数据结构】稀疏数组
- 项目管理师备考笔记:十大管理之范围管理
- 机器学习实践系列之3 - 人脸对齐(上)
- 《网络游戏核心技术与实战》读书笔记
- 独家 | 新手指南:大数据、区块链及其结合(附应用场景)
- Debug和Release是什么意思?
- Unicode 字符串逆序
- 功率时延谱(PDP)与三种选择性衰落
热门文章
- gel文件的作用——摘自百度
- 数据分析思维分析方法和业务知识——实战案例跨境电商行业
- 闰秒(leapsecond)和原子钟(Atomic Clock)究竟是什么
- 啪!啪!给 JobIntentService 打针, Hilt 号的大针,看你爽不爽?哎呦,Espresso 看不到结果,用 UiAutomator 测。
- 织梦DEDECMS 整合Kindeditor编辑器美化版nkeditor版可H5多图上传摒弃SWF上传
- 可以动态控制左右滑动的ViewPager, 禁止ViewPager左右滑动
- 运放的选取标准和规则
- 代理记账行业的销售现状
- 【文化课每周学习记录】2019.3.3——2019.3.9
- Polar vector and axial vector(极矢量和轴向矢量)