常见的统计分布

概率中常见的分布

概率论中的分布有两种类型

  1. 离散概率分布:伯努利分布,二项分布,几何分布,泊松分布
  2. 连续概率分布: 均匀分布,指数分布,正态分布

离散分布

伯努利分布

伯努利分布又叫两点分布,伯努利试验:伯努利试验是在同样的条件下重复地、各次之间相互独立地进行的一种试验。即只先进行一次伯努利试验,该事件发生的概率为p,不发生的概率为1-p。这是一个最简单的分布,任何一个只有两种结果的随机现象都服从0-1分布。

import scipy.stats as stats
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

X = np.arange(0, 2, 1) #随机变量

p = 0.5 
pList = stats.bernoulli.pmf(X,p)
pList

#绘图
plt.plot(X,pList, marker='o',linestyle='None')
plt.vlines(X,0,pList) #x坐标,y坐标下限,y坐标上限
plt.xlabel('随机变量:抛硬币一次')
plt.ylabel('概率')
plt.title('伯努利分布:p=%.2f' % p)
plt.show()

二项分布

n重伯努利试验,比如抛硬币10次,其中5次为正面的次数

概率函数:
f ( x ) = C n x p x ( 1 − p ) n − x f(x) = C^{x}_{n}p^{x}(1-p)^{n-x} f(x)=Cnxpx(1p)nx
x为成功的次数,p为每次成功的概率

二项分布的期望 E ( x ) = n p E(x) = np E(x)=np

方差 V a r ( x ) = n p ( 1 − p ) Var(x)=np(1-p) Var(x)=np(1p)

#定义随机变量,抛5次,正面朝上得概率
n = 5
p = 0.5
X = np.arange(0,n+1, 1)

#求对应分布的概率:概率质量函数PMF
#返回一个列表,列表中每个元素表示随机变量中对应值的概率

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

#绘图
plt.plot(X,pList,marker='o',linestyle='None') #m默认是折线图,我们只画点图
plt.vlines(X,0,pList)
plt.xlabel('随机变量:抛硬币正面朝上的次数')
plt.ylabel('概率')
plt.title('二项分布:n=%i,p=%.2f' % (n,p))

几何分布

1.做某件事的次数是固定的,次数用n表示
n次某件事是相互独立的
2.每一件事都有两个可能的结果(成功,或者失败)
3.每一次成功的概率都相等,成功的概率用p表示
4.想知道第k次做某件事情,才取到第一次成功的概率事多少

#定义随机变量
k = 5 #第k做某件事才取得成功的概率
p =0.6 #做某件事成功的概率
X = np.arange(1, k+1, 1)
pList = stats.geom.pmf(X,p)
pList

#绘图
plt.plot(X,pList,marker='o',linestyle='None')
plt.vlines(X,0,pList)
plt.xlabel('随机变量:做某事第K次才成功')
plt.ylabel('概率')
plt.title('几何分布:p=%.2f' %p)
plt.show()

泊松分布

1.事件是独立性的
2.在任意相同的时间范围内,事件发生的概率
3.你想知道某个时间范围内,发生某件事情k次的概率有多大

比如说,你在等车,15分钟平均有10辆车达到,那么你想知道15分钟内有5辆车到达的概率
p { X = m } = λ m m ! e − λ p\begin{Bmatrix} X = m \end{Bmatrix} = \frac{\lambda^{m}}{m!}e^{-\lambda} p{X=m}=m!λmeλ

'''
定义随机变量:
已知某路口发生事故的比率是每天2次,
那么再此处一天内发生k次事故的概率是多少
'''
λ=2 # 平均值:每天发生两次事故
k=4 #次数,现在想知道每天发生4次事故的概率
X = np.arange(0,k+1,1)

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

#绘图
plt.plot(X,pList,marker='o',linestyle='None')
plt.vlines(X,0,pList)
plt.xlabel('随机变量:某路口发生k次事故')
plt.ylabel('概率')
plt.title('泊松分布:平均值λ=%i' %λ)
plt.show()


连续分布

正态分布

在np≥5和n(1-p)≥5的情况下,正态分布是对二项分布的近似

概率密度函数:
f ( x ) = 1 σ 2 π e − 1 2 σ 2 ( x − μ ) 2 f(x) = \frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{1}{2\sigma^{2}}(x-\mu)^{2}} f(x)=σ2π 1e2σ21(xμ)2

mu = 0  # 均值
sigma = 1  # 方差

X = np.arange(-5, 5, 0.1)
p_list = stats.norm.pdf(X,mu, sigma)
plt.plot(X, p_list)
plt.xlabel('Random Variable: X, X(Experimental Result) = The height of human')
plt.ylabel('Probability')
plt.title('norm, mu:{}; sigma:{}'.format(mu, sigma))

指数分布

指数分布和泊松分布的关系

泊松分布是一段时间内某件事发生的次数,描述的是每一区间中事件发生的次数

指数分布描述了事件发生的事件间隔长度

比如:装载一辆卡车的平均时间为15分钟,6分钟装载成功的概率是多少?

概率密度函数:
f ( x ) = 1 μ e − x / μ f(x) = \frac{1}{\mu}e^{-x/\mu} f(x)=μ1ex/μ

u = 15 #装载一辆车的平均时间为15分钟 
offset = 0 # 偏移量,从offset开始o 



X = np.arange(0, 20, 0.01)
p_list = stats.expon.pdf(X,0,u)  
plt.plot(X, p_list)
plt.xlabel('Random Variable: X, X(Experimental Result) = the interval between two happen things')
plt.ylabel('Probability')
plt.title('norm, u:{}'.format(u))

img

卡方( χ 2 \chi^{2} χ2)分布

n个独立同分布,服从N(0,1)的随机变量的平方和服从自由度为n的 χ 2 \chi^{2} χ2分布
χ 2 = X 1 2 + X 2 2 + . . . . + X n 2 ∼ χ 2 ( n ) \chi^{2} = X^{2}_{1} + X^{2}_{2} + ....+X^{2}_{n}\sim\chi^{2}(n) χ2=X12+X22+....+Xn2χ2(n)

t分布

X~N(0,1),Y~ χ 2 ( n ) \chi^{2}(n) χ2(n)
t = X Y / n t = \frac{X}{\sqrt{Y/n}} t=Y/n X
服从自由度为n的t分布,记为t~t(n)

F分布

设X和Y是相互独立的服从 χ 2 \chi^{2} χ2分布的随机变量,自由度分布为 n 1 n_{1} n1 n 2 n_{2} n2,则称随机变量:
F = X / n 1 Y / n 2 ∼ F ( n 1 , n 2 ) F = \frac{X/n_{1}}{Y/n_{2}}\sim F(n_{1},n_{2}) F=Y/n2X/n1F(n1,n2)
F称为第一自由度为 n 1 n_{1} n1,第二自由度为 n 2 n_{2} n2的F分布

抽样分布

抽样分布几个概念

参数:总体的数字特征

中心极限定理:当样本很大时,可以用正态分布近似抽样的均值的分布

#实现一个γ分布,从中抽取100个样本,求其均值
np.random.seed(42)
data=np.random.gamma(1,100,30000)
plt.hist(data)


#每次抽取100个样本,抽取10000次
means_distribution = []
for _ in range(10000):
    sample = np.random.choice(data,100)
    means_distribution.append(sample.mean())
means_distribution = np.array(means_distribution)
plt.hist(means_distribution)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值