python 概率分布_python实现概率分布

伯努利分布

from scipy import stats

import numpy as np

import matplotlib.pyplot as plt

x=np.arange(0,2,1)

x

array([0, 1])

# 求对应分布的概率:概率质量函数 (PMF)

p=0.5# 硬币朝上的概率

df=stats.bernoulli.pmf(x,p)

df

array([0.5, 0.5])

#绘图

'''vlines用于绘制竖直线(vertical lines),参数说明:vline(x坐标值, y坐标最小值, y坐标值最大值)我们传入的X是一个数组,是给数组中的每个x坐标值绘制竖直线,竖直线y坐标最小值是0,y坐标值最大值是对应pList中的值'''

plt.plot(x,df,marker='o',linestyle='None')

plt.vlines(x,0,df)

plt.xlabel('随机变量:抛硬币1次')

plt.ylabel('概率')

plt.title('伯努利分布:p=%.2f' % p)

plt.show()

二项分布

'''

arange用于生成一个等差数组,arange([start, ]stop, [step, ]

'''

#第1步,定义随机变量:5次抛硬币,正面朝上的次数

n = 5 # 做某件事情的次数

p = 0.5 # 做某件事情成功的概率

X = np.arange(0, n+1,1)

X

array([0, 1, 2, 3, 4, 5])

#第2步,#求对应分布的概率:概率质量函数 (PMF)

#它返回一个列表,列表中每个元素表示随机变量中对应值的概率

pList = stats.binom.pmf(X, n, p)

pList

array([ 0.03125, 0.15625, 0.3125 , 0.3125 , 0.15625, 0.03125])

#第3步,绘图

'''

plot默认绘制折线,这里我们只绘制点,所以传入下面的参数:

marker:点的形状,值o表示点为圆圈标记(circle marker)

linestyle:线条的形状,值None表示不显示连接各个点的折线

'''

plt.plot(X, pList, marker='o',linestyle='None')

'''

vlines用于绘制竖直线(vertical lines),

参数说明:vline(x坐标值, y坐标最小值, y坐标值最大值)

我们传入的X是一个数组,是给数组中的每个x坐标值绘制竖直线,

竖直线y坐标最小值是0,y坐标值最大值是对应pList中的值

'''

plt.vlines(X, 0, pList)

plt.xlabel('随机变量:抛硬币正面朝上次数')

plt.ylabel('概率')

plt.title('二项分布:n=%i,p=%.2f' % (n,p))

plt.show()

几何分布

'''

arange用于生成一个等差数组,arange([start, ]stop, [step, ]

'''

'''

第1步,定义随机变量:

首次表白成功的次数,可能是1次,2次,3次等

'''

#第k次做某件事情,才取到第1次成功

#这里我们想知道5次表白成功的概率

k = 5

# 做某件事情成功的概率,这里假设每次表白成功概率都是60%

p = 0.6

X = np.arange(1, k+1,1)

X

array([1, 2, 3, 4, 5])

'''

几何分布官方使用文档:

'''

#第2步,#求对应分布的概率:概率质量函数 (PMF)

#它返回一个列表,列表中每个元素表示随机变量中对应值的概率

#分别表示表白第1次才成功的概率,表白第2次才成功的概率,表白第3次才成功的概率,表白第4次才成功的概率,表白第5次才成功的概率

pList = stats.geom.pmf(X,p)

pList

array([ 0.6 , 0.24 , 0.096 , 0.0384 , 0.01536])

#第3步,绘图

plt.plot(X, pList, marker='o',linestyle='None')

'''

vlines用于绘制竖直线(vertical lines),

参数说明:vline(x坐标值, y坐标最小值, y坐标值最大值)

我们传入的X是一个数组,是给数组中的每个x坐标值绘制竖直线,

竖直线y坐标最小值是0,y坐标值最大值是对应pList中的值

'''

plt.vlines(X, 0, pList)

plt.xlabel('随机变量:表白第k次才首次成功')

plt.ylabel('概率')

plt.title('几何分布:p=%.2f' % p)

plt.show()

泊松分布

'''

第1步,定义随机变量:

已知某路口发生事故的比率是每天2次,

那么在此处一天内发生k次事故的概率是多少?

'''

mu = 2 # 平均值:每天发生2次事故

k=4 #次数,现在想知道每天发生4次事故的概率

#包含了发生0次、1次、2次,3次,4次事故

X = np.arange(0, k+1,1)

X

array([0, 1, 2, 3, 4])

#第2步,#求对应分布的概率:概率质量函数 (PMF)

#它返回一个列表,列表中每个元素表示随机变量中对应值的概率

#分别表示发生1次,2次,3次,4次事故的概率

pList = stats.poisson.pmf(X,mu)

pList

array([ 0.13533528, 0.27067057, 0.27067057, 0.18044704, 0.09022352])

#第3步,绘图

plt.plot(X, pList, marker='o',linestyle='None')

'''

vlines用于绘制竖直线(vertical lines),

参数说明:vline(x坐标值, y坐标最小值, y坐标值最大值)

我们传入的X是一个数组,是给数组中的每个x坐标值绘制竖直线,

竖直线y坐标最小值是0,y坐标值最大值是对应pList中的值

'''

plt.vlines(X, 0, pList)

plt.xlabel('随机变量:某路口发生k次事故')

plt.ylabel('概率')

plt.title('泊松分布:平均值mu=%i' % mu)

plt.show()

正态分布

'''

arange用于生成一个等差数组,arange([start, ]stop, [step, ]

'''

'''

第1步,定义随机变量:

'''

mu=0 #平均值

sigma= 1 #标准差

X = np.arange(-5, 5,0.1)

X

array([ -5.00000000e+00, -4.90000000e+00, -4.80000000e+00,

-4.70000000e+00, -4.60000000e+00, -4.50000000e+00,

-4.40000000e+00, -4.30000000e+00, -4.20000000e+00,

-4.10000000e+00, -4.00000000e+00, -3.90000000e+00,

-3.80000000e+00, -3.70000000e+00, -3.60000000e+00,

-3.50000000e+00, -3.40000000e+00, -3.30000000e+00,

-3.20000000e+00, -3.10000000e+00, -3.00000000e+00,

-2.90000000e+00, -2.80000000e+00, -2.70000000e+00,

-2.60000000e+00, -2.50000000e+00, -2.40000000e+00,

-2.30000000e+00, -2.20000000e+00, -2.10000000e+00,

-2.00000000e+00, -1.90000000e+00, -1.80000000e+00,

-1.70000000e+00, -1.60000000e+00, -1.50000000e+00,

-1.40000000e+00, -1.30000000e+00, -1.20000000e+00,

-1.10000000e+00, -1.00000000e+00, -9.00000000e-01,

-8.00000000e-01, -7.00000000e-01, -6.00000000e-01,

-5.00000000e-01, -4.00000000e-01, -3.00000000e-01,

-2.00000000e-01, -1.00000000e-01, -1.77635684e-14,

1.00000000e-01, 2.00000000e-01, 3.00000000e-01,

4.00000000e-01, 5.00000000e-01, 6.00000000e-01,

7.00000000e-01, 8.00000000e-01, 9.00000000e-01,

1.00000000e+00, 1.10000000e+00, 1.20000000e+00,

1.30000000e+00, 1.40000000e+00, 1.50000000e+00,

1.60000000e+00, 1.70000000e+00, 1.80000000e+00,

1.90000000e+00, 2.00000000e+00, 2.10000000e+00,

2.20000000e+00, 2.30000000e+00, 2.40000000e+00,

2.50000000e+00, 2.60000000e+00, 2.70000000e+00,

2.80000000e+00, 2.90000000e+00, 3.00000000e+00,

3.10000000e+00, 3.20000000e+00, 3.30000000e+00,

3.40000000e+00, 3.50000000e+00, 3.60000000e+00,

3.70000000e+00, 3.80000000e+00, 3.90000000e+00,

4.00000000e+00, 4.10000000e+00, 4.20000000e+00,

4.30000000e+00, 4.40000000e+00, 4.50000000e+00,

4.60000000e+00, 4.70000000e+00, 4.80000000e+00,

4.90000000e+00])

#第2步,概率密度函数(PDF)

y=stats.norm.pdf(X,mu,sigma)

#第3步,绘图

'''

plot默认绘制折线

'''

plt.plot(X, y)

#x轴文本

plt.xlabel('随机变量:x')

#y轴文本

plt.ylabel('概率:y')

#标题

plt.title('正态分布:$\mu$=%.1f,$\sigma^2$=%.1f' % (mu,sigma))

#网格

plt.grid()

#显示图形

plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CodeForces 7D Palindrome Degree 字符串hash

题目链接&#xff1a;点击打开链接 #include<stdio.h> #include<iostream> #include<string.h> #include<set> #include<vector> #include<map> #include<math.h> #include<queue> #include<string> #include<stdlib…

程序清单8-9 回送所有命令行参数和所有环境字符串

1 /*2 3 Name : test.c4 Author : blank5 Version :6 Copyright : Your copyright notice7 Description : 程序清单8-9 回送所有命令行参数和所有环境字符串8 9 */ 10 11 #include "ourhdr.h" 12 13 int main(int argc, char *argv[]) 14…

SQL快速入门

关系化数据库保存关系模式数据的容器关系模式是对业务对象实体&#xff0c;属性以及关系的抽象&#xff0c;提炼需求的名词是建立实体关系模型常用的方法。要了解E-R实体关系图的绘制。常用关系数据库Microsoft SQL Server&#xff1b;微软公司产品&#xff0c;中等规模数据库&…

Faster RCNN minibatch.py解读

minibatch.py 的功能是&#xff1a; Compute minibatch blobs for training a Fast R-CNN network. 与roidb不同的是&#xff0c; minibatch中存储的并不是完整的整张图像图像&#xff0c;而是从图像经过转换后得到的四维blob以及从图像中截取的proposals&#xff0c;以及与之对…

oracle精简版_使用Entity Framework Core访问数据库(Oracle篇)

前言哇。。看看时间 真的很久很久没写博客了 将近一年了。最近一直在忙各种家中事务和公司的新框架 终于抽出时间来更新一波了。本篇主要讲一下关于Entity Framework Core访问oracle数据库的采坑。。强调一下&#xff0c;本篇文章发布之前 关于Entity Framework Core访问oracl…

interrupt、interrupted 、isInterrupted 区别

interrupt&#xff1a;调用方法&#xff0c;是线程处于中断状态&#xff0c;但是这个方法只是让线程设置为中断状态&#xff0c;并不会真正的停止线程。支持线程中断的方法就是在坚持线程中断状态&#xff0c;一旦线程中断状态被设置为中断&#xff0c;就会抛出异常。interrupt…

java String部分源码解析

String类型的成员变量 /** String的属性值 */ private final char value[];/** The offset is the first index of the storage that is used. *//**数组被使用的开始位置**/private final int offset;/** The count is the number of characters in the String. *//**String中…

python在材料模拟中的应用_基于Python的ABAQUS二次开发及在板料快速冲压成形模拟中的应用...

2009doi:1013969/j1issn1100722012120091041013基于Python的ABAQUS二次开发及在板料快速冲压成形模拟中的应用(北京航空航天大学飞行器制造工程系,北京100191)吴向东刘志刚万敏王文平黄霖摘要:采用Python脚本语言对ABAQUS的前处理模块进行二次开发,讨论了Python脚本在ABAQUS二次…

Doxygen简介

&#xff08;转自&#xff1a;http://www.cnblogs.com/liuliunumberone/archive/2012/04/10/2441391.html&#xff09; 一&#xff0e;什么是Doxygen? Doxygen 是一个程序的文件产生工具&#xff0c;可将程序中的特定批注转换成为说明文件。通常我们在写程序时&#xff0c;或多…

javascript之闭包理解以及应用场景

1 function fn(){2 var a 0;3 return function (){4 return a;5 } 6 }如上所示&#xff0c;上面第一个return返回的就是一个闭包&#xff0c;那么本质上说闭包就是一个函数。那么返回这个函数有什么用呢&#xff1f;那是因为这个函数可以调用到它外部的a…

faster rcnn学习之rpn、fast rcnn数据准备说明

在上文《 faster-rcnn系列学习之准备数据》,我们已经介绍了imdb与roidb的一些情况&#xff0c;下面我们准备再继续说一下rpn阶段和fast rcnn阶段的数据准备整个处理流程。 由于这两个阶段的数据准备有些重合&#xff0c;所以放在一起说明。 我们并行地从train_rpn与train_fas…

sql server规范

常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型2.金额货币建议采用money数据类型3.科学计数建议采用numeric数据类型4.自增长标识建议采用bigint数据类型 (数据量一大&#xff0c;用int类型就装不下&#xff0c;那以后改造就麻烦了)5.时间类型建议采用为dat…

关于标准库中的ptr_fun/binary_function/bind1st/bind2nd

http://www.cnblogs.com/shootingstars/archive/2008/11/14/860042.html 以前使用bind1st以及bind2nd很少&#xff0c;后来发现这两个函数还挺好玩的&#xff0c;于是关心上了。在C Primer对于bind函数的描述如下&#xff1a;“绑定器binder通过把二元函数对象的一个实参绑定到…

CSS伪类

一、首字母的颜色字体写法 p:first-letter 二、文本的特殊样式设置 first-line css伪类可与css类配合使用 伪元素只能用于块级元素 转载于:https://www.cnblogs.com/boyblog/p/4623374.html

php 结构体_【开发规范】PHP编码开发规范下篇:PSR-2编码风格规范

之前的一篇文章是对PSR-1的基本介绍接下来是PSR-2 编码风格规范&#xff0c;它是 PSR-1 基本代码规范的继承与扩展。PSR-1 和PSR-2是PHP开发中基本的编码规范&#xff0c;大家其实都可以参考学习下&#xff0c;虽然说每个开发者都有自己熟悉的一套开发规范&#xff0c;但是我觉…

faster rcnn学习之rpn训练全过程

上篇我们讲解了rpn与fast rcnn的数据准备阶段&#xff0c;接下来我们讲解rpn的整个训练过程。最后 讲解rpn训练完毕后rpn的生成。 我们顺着stage1_rpn_train.pt的内容讲解。 name: "VGG_CNN_M_1024" layer {name: input-datatype: Pythontop: datatop: im_infotop: …

BitMapData知识 转

Bitmap和BitmapData 2010.5.25 smartblack整理 一、flash.display.Bitmap类及其两个子类 1、继承自DisplayObject&#xff0c;和InteractiveObject平级&#xff0c;所以无法调度鼠标事件&#xff0c;可以使用额外的包装容器(Sprite)来实现侦听。 2、只支持GIF、JPEG、PNG格式&a…

Android学习之高德地图的通用功能开发步骤(二)

周一又来了&#xff0c;我就接着上次的开发步骤&#xff08;一&#xff09;来吧&#xff0c;继续把高德地图的相关简单功能分享一下 上次写到了第六步&#xff0c;接着写第七步吧。 第七步&#xff1a;定位 地图选点 路径规划 实时导航 以下是我的这个功能NaviMapActivity的…

Oracle中分区表中表空间属性

Oracle中的分区表是Oracle中的一个很好的特性&#xff0c;可以把大表划分成多个小表&#xff0c;从而提高对于该大表的SQL执行效率&#xff0c;而各个分区对应用又是透明的。分区表中的每个分区有独立的存储特性&#xff0c;包括表空间、PCT_FREE等。那分区表中的各分区表空间之…

期刊论文格式模板 电子版_期刊论文的框架结构

最近看到很火的一句话&#xff0c;若不是生活所迫&#xff0c;谁愿意把自己弄得一身才华。是否像极了正想埋头苦写却毫无头绪的你&#xff1f;发表期刊论文的用途 &#xff1a;1: 学校或者单位评奖&#xff0c;评优&#xff0c;推免等2&#xff1a;申领学位证(如毕业硬性要求&a…