概率与概率分布及python实现

概率与概率分布及python实现

0X00 常见概念

离散型(discrete)随机变量即在一定区间内变量取值为有限个或可数个。离散型随机变量通常依据概率质量函数分类,主要分为:伯努利随机变量、二项随机变量、几何随机变量和泊松随机变量。

连续型(continuous)随机变量即在一定区间内变量取值有无限个,或数值无法一一列举出来。有几个重要的连续随机变量常常出现在概率论中,如:均匀随机变量、指数随机变量、伽马随机变量和正态随机变量。

古典概率

(1) 试验中所有可能出现的基本事件只有有限个;

(2) 试验中每个基本事件出现的可能性相等。

条件概率

条件概率是指事件A在事件B发生的条件下发生的概率。条件概率表示为:P(A|B),读作“A在B发生的条件下发生的概率”。

离散变量

离散变量指变量值可以按一定顺序一一列举,通常以整数位取值的变量。如职工人数、工厂数、机器台数等。有些性质上属于连续变量的现象也按整数取值,即可以把它们当做离散变量来看待。例如年龄、评定成绩等虽属连续变量,但一般按整数计算,按离散变量来处理。离散变量的数值用计数的方法取得。

连续变量

在一定区间内可以任意取值的变量叫连续变量,其数值是连续不断的,相邻两个数值可作无限分割,即可取无限个数值。

期望值

期望值是随机试验在同样的机会下重复多次的结果计算出的等同“期望”的平均值。需要注意的是,期望值并不一定等同于常识中的“期望”——“期望值”也许与每一个结果都不相等。(换句话说,期望值是该变量输出值的平均数。期望值并不一定包含于变量的输出值集合里。)

大数定律

在随机事件的大量重复出现中,往往呈现几乎必然的规律,这个规律就是大数定律。通俗地说,这个定理就是,在试验不变的条件下,重复试验多次,随机事件的频率近似于它的概率。偶然中包含着某种必然。

0X01 离散变量概率分布

1.1 二项分布

在概率论和统计学中,二项分布是n个独立的是/非试验中成功的次数的离散概率分布,其中每次试验的成功概率为p。这样的单次成功/失败试验又称为伯努利试验。实际上,当n=1时,二项分布就是伯努利分布,二项分布是显著性差异的二项试验的基础

1.2 伯努利分布

伯努利分布指的是对于随机变量X有, 参数为p(0<p<1),如果它分别以概率p和1-p取1和0为值。EX= p,DX=p(1-p)。伯努利试验成功的次数服从伯努利分布,参数p是试验成功的概率。伯努利分布是一个离散型机率分布,是N=1时二项分布的特殊情况,为纪念瑞士科学家詹姆斯·伯努利(Jacob Bernoulli 或James Bernoulli)而命名。

1.3 泊松分布

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

0x02 分布的形状

2.1 均匀分布

古典概型中基本事件的概率是均匀分布,均匀分布得到的n个结果的可能性都相同,如果随机变量X是均匀分布的,则密度函数可以表示为: f(x)=1/b-a (b<x<a) 均匀分布的曲线是一个矩形,均匀分布又称为矩形分布。

2.2 正态分布

正态分布正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线。

2.3 指数分布

在概率理论和统计学中,指数分布(也称为负指数分布)是描述泊松过程中的事件之间的时间的概率分布,即事件以恒定平均速率连续且独立地发生的过程。指数函数的一个重要特征是无记忆性(Memoryless Property,又称遗失记忆性)。这表示如果一个随机变量呈指数分布,当s,t>0时有P(T>t+s|T>t)=P(T>s)。即,如果T是某一元件的寿命,已知元件使用了t小时,它总共使用至少s+t小时的条件概率,与从开始使用时算起它使用至少s小时的概率相等。

#导入包
import numpy as np
import matplotlib.pyplot as plt

from scipy import stats
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']

#生成一个数组
X1 = np.arange(0, 2, 1)
X1
p1 = 0.5
pList1 = stats.bernoulli.pmf(X1,p1)
pList1

#plot默认绘制折线
#marker:点的形状,值o表示点为圆圈标记(circle marker)
#linestyle:线条的形状,值None表示不显示连接各个点的折线

plt.plot(X1,pList1,marker='o', linestyle='None')
#vlines用于绘制竖直线(vertical lines),
#参数说明:vline(x坐标值, y坐标最小值, y坐标值最大值)
#我们传入的X是一个数组,是给数组中的每个x坐标值绘制竖直线,
#竖直线y坐标最小值是0,y坐标值最大值是对应pList1中的值
plt.vlines(X1,0,pList1)
plt.xlabel('随机变量:抛1次硬币')
plt.ylabel('概率')
plt.title('伯努利分布: p=%.2f' % p1)
plt.show()

# 二项分布
n2 = 5
p2 = 0.5
X2 = np.arange(0, n2+1,1)
X2

pList2 = stats.binom.pmf(X2,n2,p2)
pList2

plt.plot(X2,pList2,marker='o',linestyle='None')

plt.vlines(X2,0,pList2)
plt.xlabel('随机变量:抛硬币正面朝上的次数')
plt.ylabel('概率')
plt.title('二项分布: n=%i,p=%.2f' %(n2,p2))
plt.show()

# 几何分布
# 几何分布就是在n次伯努利试验中,试验k次才得到第一次成功的机率。
n2 = 5
p2 = 0.5
X2 = np.arange(0,n2+1,1)
X2

pList2 = stats.binom.pmf(X2,n2,p2)
pList2

plt.plot(X2,pList2,marker='o',linestyle='None')

plt.vlines(X2,0,pList2)
plt.xlabel('随机变量:抛硬币正面朝上的次数')
plt.ylabel('概率')
plt.title('二项分布:n=%i,p=%.2f' % (n2,p2))
plt.show()

# 泊松分布
# 泊松分布描述的是已知一段时间内事件发生的平均数,求某个时间内发生的概率。
mu4 = 2
k4 = 4
X4 = np.arange(0, k4+1,1)
X4

pList4 = stats.poisson.pmf(X4,mu4)
pList4
print('X4:',X4)
print('pList4', pList4)

plt.plot(X4,pList4,marker='o',linestyle='None')
plt.vlines(X4,0,pList4)
plt.xlabel('某路口发生K次事故')
plt.ylabel('概率')
plt.title('泊松分布:平均值mu=%i' % mu4)
plt.show()

# 正态分布
mu5 = 0
sigma = 1
X5 = np.arange(-5,5,0.1)
X5

y = stats.norm.pdf(X5,mu5,sigma)
print('X5',X5)
print('y:',y)

plt.plot(X5,y)
plt.xlabel('随机变量:x')
plt.ylabel('概率:y')
plt.title('正态分布:$\mu$=%.1f,$\sigma^2$=%.1f' %(mu5,sigma))
plt.grid()
plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值