Python实现概率分布,学数据统计的需要收藏
off999 2024-10-22 13:40 26 浏览 0 评论
作者:Runsen
二项分布
包含n个相同的试验 每次试验只有两个可能的结果:“成功”或“失败”。出现成功的概率p对每一次试验是相同的,失败的概率q也是如此,且p+q=1。试验是互相独立的。试验成功或失败可以计数,即试验结果对应于一个离散型随机变量。
以X表示n次重复独立试验中事件A(成功)出现的次数,则
在python中,可以使用scipy.stats模块中的binom.rvs()方法生成符合二项分布的离散随机变量。该方法的参数n表示n次重复独立试验,p表示事件A出现的次数。size表示做多少次二项分布试验。
同时,本文中使用seaborn的distplot方法绘制随机变量分布的直方图。在大数据量的试验下,通过随机变量出现的频率除以试验的次数,可以得到特定离散随机变量出现的概率。
from scipy.stats import binom
import seaborn as sns
data_binom = binom.rvs(n=10,p=0.5,size=10000)
ax = sns.distplot(data_binom,
kde=False,
color='green',
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Binomial Distribution', ylabel='Frequency')# 可以打印随机变量的值,按照定义,其值为出现A事件的次数,范围肯定在[0,1]
print(data_binom)
[2 3 6 ... 5 4 3]以抛硬币试验解析上图,得出连续抛10次硬币,5次为正面的概率最高,概率趋近于2500/10000=25%。
贝努里分布(Bernoulli Distribution)
贝努里分布为特殊的二项分布,即每次执行一次试验(n=1),然后获取单次试验的随机变量的值,为0或1。所以贝努里分布也被称为0-1分布。其分布函数为:
在python中,可以使用scipy.stats模块中的bernoulli.rvs()方法生成符合二项分布的离散随机变量。其它参数同二项分布。
from scipy.stats import bernoulli
data_bern = bernoulli.rvs(size=10000,p=0.5)
ax= sns.distplot(data_bern,
kde=False,
color="green",
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Bernoulli Distribution', ylabel='Frequency')以抛硬币试验解析上图,得出正面和反面出现的概率,趋近于5000/10000=50%。
几何分布(Geometric distribution)
几何分布是指在n次贝努里试验中,经过k次获得1次成功的概率。
几何分布的特点:
(1)进行一系列相互独立的试验;
(2)每一次试验既有成功的可能,也有失败的可能,且单次试验的成功概率相同;
(3)主要是为了取得第一次成功需要进行多少次试验。其分布函数为:
在python中,可以使用scipy.stats模块中的geom.rvs()方法得出几何分布的离散随机变量。
from scipy.stats import geom
data_geom = geom.rvs(size=10000,p=0.5)
ax= sns.distplot(data_geom,
kde=False,
color="green",
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Geometric Distribution', ylabel='Frequency')泊松分布(Poisson distribution)
泊松分布是用来描述在一指定时间范围内或在指定的面积或体积之内某一事件出现的次数的分布,例如某企业每月发生事故的次数。
泊松分布的公式为:
式中,为给定的时间间隔内事件的平均数。
在python中,可以使用scipy.stats模块中的poisson.rvs()方法得出泊松分布的连续随机变量。其中参数mu即为公式中的,其它参数同上文方法。
from scipy.stats import poisson
data_poisson = poisson.rvs(mu=3, size=10000)
ax = sns.distplot(data_poisson,
bins=30,
kde=False,
color="green",
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Poisson Distribution', ylabel='Frequency')正态分布(Normal Distribution)
在连续型随机变量中,最重要的一种随机变量是具有钟形概率分布的随机变量。人们称它为正态随机变量,相应的概率分布称为正态分布。
如果随机变量X的概率密度为:
则称X服从正态分布,记作,其中,,, 为随机变量X的均值,为随机变量X的标准差,它们是正态分布的两个参数。
在python中,可以使用scipy.stats模块中的norm.rvs()方法产生符合二项分布的连续随机变量。其中参数loc代表随机变量的均值,size变量代表随机变量的标准差。
from scipy.stats import norm
# 生成标准正态分布,N(0,1)
data_normal = norm.rvs(size=10000,loc=0,scale=1)
ax = sns.distplot(data_normal,
bins=100,
kde=True,
color="green",
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Normal Distribution', ylabel='Frequency')总结
本文通过scipy.stats包中的随机分布函数rvs方法(Random variates),执行10000次随机变量的计算,通过随机变量值个数直方图的绘制得出特定分布的图形。另外,也可以通过随机分布函数的pmf方法直接获得指定参数下的概率值,然后画出参数与概率的对应关系,但在本文中不做展开。
相关推荐
- 无网络单机游戏(好玩的无网络单机游戏)
-
一款能够让我们自由畅快的进行游戏的合集软件。在这个合集之中有着各种各样的单机小游戏。这些小游戏不需要联网就可以玩了,没有防沉迷系统,我们想玩多久就玩多久,合集之中小游戏的类型有很多种,有赛车类、射击类...
- 笔记本电脑推荐理由(推荐笔记本子)
-
配置落后散热出现问题是笔记本报废的主要原因因为旧电脑问题很多。一是现在新电脑价格不算贵,没必要用旧的,电脑可不兴新不如旧的说法;二是二手电脑是否大修过,是否有什么瑕疵,是否运行速度有问题,是否被人监控...
- tplink设置向导(tp link路由器的设置向导)
-
tplink路由器首次设置时才会自动弹出向导,如果希望自动弹出,可先还原出厂设置,然后再登录即可自动弹出,还原出厂设置步骤如下: 1、路由器开启电源; 2、按下路由器表面的reset复位按钮,个别...
- 破解苹果激活锁的万能id(破解iphone id激活锁软件)
-
提前打开我的AppleID界面,点击管理您的账户。点击忘记AppleID,填写与AppleID相关的各项基本信息。通过电子邮件内的链接或回答安全问题,或者进行人工破解。1、登陆苹果官网,点击下面...
- 手机上不了wifi是什么原因(手机上不了网连不了wifi)
-
1.手机wifi已连接不可上网问题出现后首先检测一下是否为手机本身突发性的问题,可以进行关机重启一下再连接看是否还会出现这样的情况。或者使用其他手机或设备连接WiFi试试能否上网。2.如果不是手机的问...
- win10有产品id没有密钥(win10 我没有产品密钥)
-
WIN10,在左下角输入WINDOWSPOWERSHELL,然后点击系统查询结果第一项,在弹出的窗口中输入:(Get-WmiObject-query‘select*fromSoftware...
- win10截屏后找不到了(win10截屏后找不到了怎么办)
-
Win10系统截屏后没有更新通知并不是一个常见的问题。可能是由于系统设置或者安装的软件造成的。如果系统设置为静音或者禁用通知,那么截屏后不会有通知。另外,一些截屏软件可能会阻止系统通知,需要手动设置...
- 运行定时关机命令(运行定时关机命令怎么设置)
-
1、打开电脑,按住【Win+R】组合键,弹出运行命令,在编辑框内输入如下命令:shutdown-s-t3600;电脑定时关机运行2、shutdown-s-t3600命令的含义如下:shut...
- 键盘快捷键(键盘快捷键是哪个)
-
电脑键盘快捷键大全:Ctrl+1,2,3... 功能:切换到从左边数起第1,2,3...个标签Ctrl+A 功能:全部选中当前页面内容Ctrl+C 功能:复制当前选中内容Ctrl+D 功能:打开“添加...
- 宏基acer官网商城(宏基官方商城)
-
宏碁本本底部有个序列号标签,不是粉色的那个,粉色的是系统的序列号,白色的是本本的出厂序列号,上宏碁官网查查你的序列号就知道真假了。在盖子的后面就可以查询到序列号,或者是去网上查询宏碁笔记本在官网下...
- 网盘在哪里打开(华为网盘在哪里打开)
-
给你的是一个网盘地址吧,直接把这个地址放到浏览器地址栏就好了,如果有提取码,他会提示你输入提取码的。一般都是在网上找到百度云链接,然后把文件保存在自己的百度网盘文件夹里面的。打开百度网盘app,...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
