本周是统计学学习小组-第二期的第四周,我们这周的学习内容是【概率分布】,资料:统计学(贾俊平第七版)第五章
涉及到的二级知识点有三个,分别是:
1、基本概念:随机变量、古典概率、条件概率、离散变量、连续变量、期望值、【大数定律】
2、离散变量概率分布:二项分布、伯努利分布、泊松分布
3、分布的形状:均匀分布、正态分布、指数分布
以及___Python实现概率分布(二项分布、伯努利分布、泊松分布、几何分布、正态分布等)
正片开始===================
随机事件及其概率
随机事件的几个基本概念
(1)随机事件。(2)必然事件。(3)不可能事件。
概率的统计定义:在一定条件下,重复做n次试验,nA为n次试验中事件A发生的次数,如果随着n逐渐增大,频率nA/n逐渐稳定在某一数值p附近,则数值p称为事件A在该条件下发生的概率,记做P(A)=p。这个定义称为概率的统计定义。
随机变量的概念
1.随机事件的数量化。例如把产品的合格与不合格的状态标记为0或1,就可以把随机事件完全数量化了。
2.随机变量的定义。在同一组条件下,如果每次试验可能出现这样或那样的结果,并且所有的结果都能列举出来,即X的所有可能值都能列举出来,而且X的可能值x1,x2,x3。具有确定概率 P(X1), P(x2),…,P(x„),其中P(x,) = P(X=Xi),称为概率函数,则X称为P(X)的随机变量,P(X)称为随机变量X的概率函数。
3.两种类型的随机变量。
1)离散型随机变量。X的所有取值可以一一列举出来,例如在一批商品中取到次品的个数。
2)连续型随机变量。X的所有取值无法逐个列举出来,而是数轴上某一区间的任一点。例如电子元件的使用寿命。
离散型随机变量的概率分布
1.离散型随机变量的概率分布。例:已知某产品废品率是0.05,合格率是0.95.废品用1代表,合格品用0代表,任意抽取一件,合格与否的概率如下图:
例二:
2.离散型随机变量的期望值和方差
期望:离散型随机变量的一切可能的取值 与对应的概率
乘积之和称为该离散型随机变量的数学期望 (若该求和绝对收敛),记为
。它是简单算术平均的一种推广,类似加权平均。表示随机变量本身的平均水平或集中程度。
方差与标准差:随机变量的方差是用来反映随机变量取值的离散程度的。随机变量的方差定义为每一个随机变量取值与期望值的离差平方之期望值。设随机变量为X,其方差常用,D(X)或V(X)表示,本书采用D(X),则 D(X)=E[X-E(X)]²
由上式可知,方差实际上就是随机变量X的函数E[X-E(X)]² 的数学期望。于是,若X是离散型随机变量,则
以骰子为例:
3.二项分布和泊松分布
1)二项分布
实际工作中,有许多试验与掷硬币的试验有共同的性质,它们只包含两个结果。例如在市场调查中考虑对产品的喜好,调査一个人相当于掷一次硬币,因为某人喜欢该产品相当于出现正面,不喜欢该产品相当于出现反面,则在调査的样本中回答喜欢的人数是一个随机变量,这种随机变量所服从的概率分布通常称为二项分布(binomial distribution)。
类似的例子有很多,如社会学家感兴趣的是农民脱贫的比例;酒的制造商感兴趣的是饮酒者中喜欢他们品牌的比例。这些例子所具有的共同性质可总结如下:
•包含”个相同的试验。
•每次试验只有两个可能的结果:“成功"或“失败,这里的“成功”和“失败"是广义的。如在某商品的调査中,“成功”表示喜欢这种商品,“失败”表示不喜欢这种商品。
•出现“成功"的概率P对每一次试验是相同的,“失败”的概率q也是如此,且 p+q=l。
•试验是互相独立的。试验“成功”或“失败”可以计数,即试验结果对应于一个离散型随机变量。
二项分布(非原创)
'''
野外正在进行9(n=9)口石油勘探井的发掘工作,
每一口井能够开发出油的概率是0.1(p=0.1)。
请问,最终所有的勘探井都勘探失败的概率?
'''
import numpy as np
from matplotlib import pyplot as plt
# 统计一个列表中每个元素出现的次数
# 参考https://blog.csdn.net/qq_42467563/article/details/86182266.[2]
def count(lis):
lis=np.array(lis)
key=np.unique(lis)
x = []
y = []
for k in key:
mask =(lis == k)
list_new=lis[mask]
v=list_new.size
x.append(k)
y.append(v)
return x,y
n,p=9,0.1
size=1000000 #试验次数
result=np.random.binomial(n,p,size) #得到采样结果
a,b=count(result)
print(a)
print(b)
# 绘制结果分布图
# 参考https://www.jianshu.com/p/8c0fe1240e78.[3]
plt.figure(1)
plt.subplot(2,1,1)
plt.bar(a,height=b,width = 0.5, color = 'lightskyblue',edgecolor = 'white')
for x,y in zip(a,b):
plt.text(x, y+0.1, '%d' % y, ha='center', va= 'bottom')
plt.ylim(top=size)
plt.xlim(right=n)
x_ticks = np.arange(0, n+1, 1)
plt.xticks(x_ticks)
plt.ylabel('counter')
# 绘制pmf柱状图
# 参考https://blog.csdn.net/howhigh/article/details/78007317.[4]
plt.subplot(2,1,2)
plt.hist(result, bins=x_ticks, align='left', density=True, rwidth=0.5) # 绘制直方图
plt.xticks(x_ticks)
plt.xlabel('k')
plt.ylabel('probability')
plt.show()
#概率计算
sum(result==0)/size
sum(result==1)/size
2)伯努利分布
伯努利分布指的是对于随机变量X有, 参数为p(0<p<1),如果它分别以概率p和1-p取1和0为值。EX= p,DX=p(1-p)。伯努利试验成功的次数服从伯努利分布,参数p是试验成功的概率。伯努利分布是一个离散型机率分布,是N=1时二项分布的特殊情况,为纪念瑞士科学家詹姆斯·伯努利(Jacob Bernoulli 或James Bernoulli)而命名。别名:“零一分布”、“两点分布”
3)泊松分布
泊松分布(Poisson distribution)是用来描述在一指定时间范围内或在指定的面积或体积之内某一事件出现的次数的分布。下面是一些典型的服从泊松分布的随机变量的例子。
某企业每月发生事故的次数。
单位时间内到达某一服务柜台(服务站、诊所、超市收银台、电话总机等)需要服务的顾客人数。
公式如下: E(X) = λ, Var(X) = λ
实例:
已知某家小杂货店,平均每周售出2个水果罐头。请问该店水果罐头的最佳库存量是多少?
假定不存在季节因素,可以近似认为,这个问题满足以下三个条件:
(1)顾客购买水果罐头是小概率事件。
(2)购买水果罐头的顾客是独立的,不会互相影响。
(3)顾客购买水果罐头的概率是稳定的。
在统计学上,只要某类事件满足上面三个条件,它就服从"泊松分布"。
P:每周销售k个罐头的概率。
X:水果罐头的销售变量。
k:X的取值(0,1,2,3...)。
λ:每周水果罐头的平均销售量,是一个常数,本题为2。
从上表可见,如果存货4个罐头,95%的概率不会缺货(平均每19周发生一次);如果存货5个罐头,98%的概率不会缺货(平均58周发生一次)。98.3%/(1-98.3%)=58(周)
已知某路口发生事故的比率是每天2次,那么在此处一天内发生4次事故的概率是多少?
让我们考虑这个平均每天发生2起事故的例子。
泊松分布的实现和二项分布有些类似,在泊松分布中我们需要指定比率参数。
泊松分布的输出是一个数列,包含了发生0次、1次、2次,直到10次事故的概率。
import numpy as np
from matplotlib import pyplot as plt
import scipy.stats as stats
rate = 2
n = np.arange(0,10)
y = stats.poisson.pmf(n ,rate)
plt.plot(n,y) #也可以直接plt.plot([5,6,7,8],[7,8,5,6])
plt.title('First Chart') #中文会乱码
plt.xlabel('n axis')
plt.ylabel('y axis')
plt.show()
#可以看到,事故次数的峰值在均值附近。
#平均来说,可以预计事件发生的次数为λ。尝试不同的λ和n的值,然后看看分布的形状是怎么变化的。
#现在来模拟1000个服从泊松分布的随机变量。
data = stats.poisson.rvs(mu = 2,loc = 0, size = 1000)
print("Mean: %g" % np.mean(data))
print("SD: %g" % np.std(data,ddof = True))
plt.figure()
plt.hist(data, bins = 9,normed = True)
plt.xlim(0, 15)
plt.title("lalala")
plt.show()
连续型随机变量的概率分布
由于连续型随机变量可以取某一区间或整个实数轴上的任意一个值,所以我们不能像对离散型随机变量那样列出每一个值及其相应的概率,而必须采用其他的方法,通常用数学函数和分布函数的形式来描述。当用函数 f(X) 来表示连续型随机变量时,我们将非 f(X )称为概率密度函数。
期望和方差表示为:
1)正态分布
在连续型随机变量中,最重要的一种随机变量是具有钟形概率分布的随机变量,如图所示。人们称它为正态随机变量,相应的概率分布称为正态分布(normal distribu-tion) 。
在社会经济问题中,许多随机变量的概率分布都服从正态分布。例如,某地区同年龄组儿童的发育特征,如身高、体重、肺活量;某公司年销售量;在同一条件下产品的质量以平均质量为中心上下摆动;特别差的和特别好的都是少数,多数处在中间状,人群中的高个子和矮个子都是少数,而中等身材的人居多;等等。正态分布是最重要的一种连续型分布,有着非常广泛的应用。
正态分布
import numpy as np
from matplotlib import pyplot as plt
import scipy.stats as stats
mu = 0 # mean
sigma = 1
x = np.arange(-5 ,5 ,0.1) #函数返回一个有终点和起点的固定步长的排列
y = stats.norm.pdf(x ,0 ,1)
plt.figure(dpi=100) #控制图片大小
#函数解释:https://blog.csdn.net/claroja/article/details/72830515
plt.plot(x,y)
plt.title("Normal :$\mu$=%.1f, $sigma^2$=%.1f" % (mu , sigma))
plt.xlabel('x')
plt.ylabel('Probability density')
plt.show()