常见概率分布笔记

前言

随机变量取一切可能值的概率的规律称为概率分布(probability distribution),简称为分布,通常使用表格,图形,公式来表示这些分布,一个概率分布总是一和个总体(population)相关联的,这里的总体也称为样本空间(sample space),它是由某种试验的所有可能结果构成的集合,这些结果的获取服从某种概率规律,因此, 一个总体(样本空间)是由一个取值范围及与之相连的概率所组成。于是,给出了这个概率分布就等于知了总体,这些用数学语言表示的概率分布有一些理论参数,称为总体参数(population parameter),对于一个样本来说,它有自己的一些参数,例如样本均值、样本方差、样本标准差、样本分位数等。相对于总体,它也有总体均值、总体方差、总体标准差,总体分位数等参数。只是对于不同的总体,这些参数可能不同,并且对于某些总体,某些参数可能就不存在。

离散型分布

离散变量很常见,例如在一批产品的质量检查中可能发现的次品数目、一日内通过某电话总体的通话次数、在若干次试验中成功的次数等,这些变量取离散值,而且按照某种概率来取每个值,取每个值的概率应该大于或等于0、小于或等于1,并且取各种值的概率之和应该等于1,用符号来表示就是,假定离散随机变量X的取值范围为$x_{1},x_{2},\cdots,$而且取可能值$x_{i}$的概率记为$P(x_{i})\equiv P(X=x_{i})$,那么这些概率应该同时满足下面的关系:

$\sum_{i}P(x_{i})=1,\qquad 0 \leq P(x_{i})$

满足这样关系的概率$P(x_{i})$的总和就是该离散变量的概率分布。离散变量的取值不一定是有穷的,例如Poisson分布的取值范围就是所有的非负整数,因而有无穷多可能的值。

常见的离散型分布

常用的离散型随机变量包括二项分布、几何分布、 超几何分布、 负二项分布和泊松分布等。

累积分布函数(CDF)

除了分布函数$P(X=x_{i})$外,还有累积分布函数(cumulative distribution function, CDF)的概念,离散随机变量的累积分布函数的定义如下所示:

统计教科书上的各种概率分布表,通常都是累积分布函数的值

具体来说就是,CDFx的函数,其中x是分布中的某个值,计算给定xCDF(x),就是计算样本中小于等于x的值的比例。

指数分布的CDF是:

其中参数$\lambda$决定了分布的形状,后边介绍的婴儿出生的案例中,$\lambda = 2$。通常指数分布的均值是$1/\lambda$,因此后面婴儿出生案例中,这个分布的均值是0.5,分布的中位数是$log(2)/\lambda$,大概等于0.35。

CDF简单案例

看一个简单的案例,某个样本中的值是{1, 2, 2, 3, 5},那么每个值对应的CDF如下所示:

1
2
3
4
5
6
CDF(0) = 0
CDF(1) = 0.2
CDF(2) = 0.6
CDF(3) = 0.8
CDF(4) = 0.8
CDF(5) = 1

从上面的案例中我们就可以知道,我们能计算出样本中任意值x的CDF。在其他情况下,我们可能计算出任意值的CDF,而不仅仅是样本中的值,如果计算的x比最小的值还要小,那么CDF(x)就等于0。巢x比样本中的最大值还要大,那么CDF(x)就是1。下图就是CCDF图形化的表示方法:

再看一个近似指数分布的例子(案例来源于《程序员数学之概率统计》),在这个案例中,我们看看婴儿出生时间的间隔,1997年12月18日,澳大利亚布里斯班的医院总共出生了44个婴儿,这个数据的的指数分布图如下所示:

上图是婴儿出生间隔时间的CDF,单位是分钟,这看上去跟指数分布的形状很像。

如何确定这就是一个指数分布呢?

一种办法是画出取对数后的互补积累分布函数(Complementary CDF, CCDF),即1-CDF(x)。如果数据服从指数分布,这应该是一条直线,接下来看一下为什么会这样。

指数分布的数据集的CCDF公式为:

两边取对数后,得到

因此,在对y轴上的值取对数后,CCDF是一条斜率为$-\lambda$的直线。

在上图中,这是y轴取对数后的间隔时间的CCDF,图中并不是一条严格意义上的直线,这说明指数分布还只是一个近似。

在实际计算时,CDF往往比原始的概率分布要方便,例如我要计算$P(a<X \leq b)$,那么或者用求和来计算,即如下所示:

或者是通过相减来计算,如下所示:

显然,通过相减计算要容易得多,只需要找到F(b)和F(a)即可。

对于离散分布随机变量X来说,它的总体均值(通常用$\mu$表示)定义如下所示:

mark

它又称为X的数学期望,这里的符号$E(x)$就是X的期望(expectation)的意思。

变量X的总体方差通常用$\delta^2$表示,它的公式如下所示:

mark

这里的符号$Var(X)$就是X的方差(variance)的意思,总体标准差定义为总体方差的平方根,如下所示:

mark

显然,这里的均值、方差等概率和样本均值、样本方差很相似,只要把这里的$x_{i}$换成样本点,而把$P(x_{i})$换成$1/n$(在样本方差经常使用$1/(n-1)$,在样本量大的时候$1/n$和$1/(n-1)$差别不大),就和样本量为n的情况下的样本均值和样本方差一致了,需要注意的是,总体均值和总体方差有可能是无穷或者不存在的(总体的数据很难得到,只能根据样本来推测总体),但样本均值和样本方差总是存在的。

概率密度函数与累积分布函数的关系

累积分布函数的导数称为概率密度函数(),记为PDF,例如指数分布的概率密度函数为:

正态分布的概率密度函数为:

概率密度函数的值并不是概率,它表示的是一种概率密度(probability density)

什么是概率密度

现在描述一下什么是概率密度。

物理学中,密度指的是单位体积内物质所拥有的质量,质量就等于体积乘以密度。如果物理的密度不固定,即不同部位密度不同,那么我们可以通过对密度函数进行积分得到质量。

同样地,概率密度称量的是x轴上每个单位的概率。为了得到随机变量落在某个区间的概率,我们可以计算其密度函数在这段区间上的积分。假设随机变量X的概率密度函数为$PDF_{X}$,那么X落在区间[-0.5,0.5)的概率为:

因为累积分布函数是概率密度函数的积分,所以上式也可以写成:

下面看一些常见的离散型分布。

二项分布

先看一个案例描述。

某项考虑有10道题,假定某考生答对每道题的概率是0.6,并假定各个题目的答案独立,而及格的标准则是至少答对6道题,那么至少答对6道题的概率就是事件“通过考试“的概率,这时,如果把答对题目的数目记为X,那么X是一个定量变量,而通过考虑的或者考试及格的概率就可以用以下公式来表示,如下所示:

而没有一道题答对的概率为$P(X=0)$,这就是说10道题都答错,根据题目中的描述,我们知道答错题的概率是0.4,10道全错的概率就是$0.4^{10} \approx 0.0001048576$,

这个案例中描述的变量就是一个二项分布随机变量,每回答一道题就是一个试验,每次试验成功的概率是固定的,这里是0.6,这10次试验(答10道题)是互相独立的,在重复的独立试验中,如查每个试验仅可能为两种可能结果之一,而且得到相应结果的概率在每次试验中保持不变,则称这些重复独立试验为Bernoulli试验,一般用$p$和$q=(1-p)$分别表示每次试验得到的两种结果的概率,这两种结果通常被抽象地称为”成功“和”失败“,这当然不是实际意义上的成功和失败,仅仅是两种结果的代号而已。

人们一般会关心,如果进行n次Bernoulli试验,每次成功的概率是p,那么某中成功次数X=k次的概率是多少?

我们用下面的抽球案例来理解这个问题。

抽球实验

Bernoulli试验:一个罐子中,含有1个红球,3个蓝球,每次随机取出1个球,观察其颜色,再放回,再抽取下一个球(这是有放回的抽样),每次抽得的红球的概率为p=1/4,蓝球的概率是q=1-p=3/4,用R表示红球的事件,用B表示蓝球的事件,而用P(RB)表示第一次得到的是红球,第二次得到的蓝球的概率等,用X表示在n次试验中观测到红球的次数,下面以n=2和n=3为例说明一下这个概率。

其中下面的这个公式

它表示从n个元素中选取k个元素的组合数。

现在看n=2的情况。

n=2表示是我们抽取2次,这里面又分3种情况。

第1种情况:2次抽取,抽到0个红球,也就是两次都是蓝球,这种情况的概率如下所示:

第2种:2次抽取,刚好有一次观测到红球的概率(这种情况可以理解为,第1次红球,第2次蓝球或第1次蓝球,第2次红球),如下所示:

第3种:2次抽取,均是红球的概率:

现在看n=3的情况。

n=3表示是我们抽取3次,这里面又分4种情况。

第1种情况:抽取3次,只有0个红球,概率如下:

第2种情况:抽取3次,只抽到1个红球,概率如下所示:

第3种情况:抽取3次,抽到2个红球,概率如下所示:

第4种情况:抽取3次,抽到3个红球,概率如下所示:

从这个问题的描述中我们可以知道下面的信息:

当n=2时,对于$k=0,1,2,P(X=k)=C_{2}^kp^kq^{2-k}$

当n=3时,对于$k=0,1,2,3,P(X=k)=C_{3}^kp^kq^{3-k}$

因此,我们可以把它们放在一起,如下所示:

$P(X=k)=C_{n}^kp^k(1-p)^{n-k},\quad k=0,1,\cdots,n,$

这里的$C_{n}^k$就是$(a+b)^n$展开的系数,我们把在成功概率为p的n次Bernoulli试验中成功次数X称为具有参数(n,p)的二项分布(binomial distribution)的随机变量,可以用B(n,p)、Bin(n,p)或Binomial(n,p)等表示这样的二项分布,由于参数中的n和p可能取不同的值,因此二项分布是一族分布,称为二项分布族,在n=1时的二项分布又称为bernoulli分布,它的概率分布如下所示:

$P(X=1)=p,\quad P(X=0)=1-p$

可以利用排列组合和二项式展开的性质证明:二项分布Binomial(n,p)变量的总体均值为$\mu=np$,方差为$\delta^2=np(1-p)$,标准差为$\delta=\sqrt{np(1-np)}$。

下图就是二项分布Binomial(5,p)的图,这里p取0.1,0.2,,,一直到0.9,可以看出,当p=0.5时,分布是对称的,当p为0.1或0.9时,分布概率偏向左边或右边,如下所示:

1
2
3
4
5
6
7
8
k <- seq(0.1,0.9,0.1)
par(mfrow=c(3,3))
for(i in 1:9)
barplot(dbinom(0:5,5,k[i]),xlab="x",
ylab="Probability",
ylim=c(0,0.6),
main=substitute(Binomial(5,b),
list(b=k[i])))

二项分布案例分析

假定在一项外语考试中,如果每题有四个选项,只有1个是对的,一共有5道题,这些题目相互独立,如果答题者没有任何知识,全凭随机猜测,那么答对一道题的概率应该是0.25,此时答题就像是一系列bernoulli试验,每次试验成功的概率是0.25,失败的概率为1-0.25=0.75,如果用X表示答对的题目,则X可以看成是参数为n=5,p=0.25的二项分布,下表就给出了对于k=0,1,2,3,4,5,X的概率分布函数P(X=k)和累积分布函数$P(X\leq x)$,如下所示:

k 0 1 2 3 4 5
$P(X=k)$ 0.2373 0.3955 0.2637 0.08789 0.01465 0.00098
$P(X\leq x)$ 0.2373 0.6328 0.8965 0.98438 0.99902 1

此时,$P(X=k)=C_{5}^k\times0.25^k\times0.75^{5-k},\quad k=0,1,2,3,4,5$

下图的左图显示的是概率分布图,下图的右图是累积分布函数图,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
par(mfrow=c(1,2))
x <- dbinom(0:5,5,0.25)
barplot(x,xlab="X",
ylab="Probability Function",
ylim=c(0,0.4),
main="Binomial(5,0.25)")
plot(0:5,pbinom(0:5,5,0.25),
ylim = c(0,1),
type="s",
xlab="X",
ylab="Cumulative Distribution Function",
main="Binomial(5,0.25)")
points(0:5,pbinom(0:5,5,0.25))

多项分布

二项分布是基于每次的实验有两个可能结果的重复独立Bernoulli试验,如果把二项分布进行拓展,例如每次实验不是有2个结果,而有k个结果,并且针对每个结果的概率分别为$(p_{1},p_{2},\cdots,p_{k})$,并且这些概率都是固定的,其实可以简单地理解为掷骰子,这样在n次实验中,得到的k个可能的结果数目为$(X_{1},X_{2},\cdots,X_{k})$的概率分布为多项分布(multinomial distribution),显然约束条件为:

$X_{1}+X_{2}+\cdots+X_{k}=n$

$p_{1}+p_{2}+\cdots+p_{k}=1$

多项分布可以用$M(n,p_{1},\cdots,p_{k})$表示,多项分布为多元分布,也就是说我们感兴趣的随机变量有k个$(X_{1},X_{2},\cdots,X_{k})$,这是一个k维随机向量,如果用$P(X_{1}=n_{1},X_{2}=n_{2},\cdots,X_{k}=n_{k})=p(n_{1},\cdots,n_{k})$代表多项分布k的可能结果在n次试验中分别出现$n_{1},\cdots,n_{k}$次的概率,而$p_{1},\cdots,p_{k}$分别为一次试验时各种结果出现的概率,于是多项分布可以用下面的公式来表示:

其中下面就是多项式系数:

它就是多项式展开,如下所示:

多面项分布的一个典型就是掷骰子,此时k=6,而对于一个正常的骰子来说,每掷一次,它的6个面朝上的概率是一样的,即$p_{1}=p_{2}=\cdots =p_{k}=1/6$,显然,多项分布是一个分布族,用不同的参数来区分。

多项分布案例

超几何分布

超几何分布是一种离散概率分布,它描述的是不放回抽样的问题。例如在一批产品里,一共有N件产品,其中有M件次品,那么当我们任何取n件产品,其中恰有X件次品的概率P就可以按归照下面的公式进行计算:

其实超几何分布就是不放回的Bernoulli试验。此处我们回忆一下二项分布,如下所示:

二项分布:一个罐子里有m个白球,n个黑球,如果每次随机取出1个,记录下颜色后放回,重复这样的试验就形成了一系列独立的Bernoulli试验,每次摸到白球的概率是p=m/(m=n),在取了k次后,取到白球的总次数X就服从参数k和p的二项分布。

如果我们不放回白球,我们在取了k后后,取到白球的总次数X就服从超几何分布(hypergeometric distribution)。

R语言中与超几何分布有关的函数为phyperdhyperrhyperqhyper

其中dhyper的参数为dhyper(x, m, n, k),这几个参数的含义如下所示:
x:从一个含有白球和黑球的盒子里不放回取出的白球数目。
m:白球的数量
n:黑球的数量
k:抽取的次数

超几何分布的计算

现在计算一下,有100个白球,400个黑球,不放回取50个球,有10个白球的概率,如下所示:

1
2
> dhyper(10,100,400,50,log = FALSE)
[1] 0.1474

现在计算一下,有100个白球,400个黑球,不放回取50个球,小于等于10个白球的概率,如下所示:

1
2
> phyper(10, 100, 400, 50)
[1] 0.5851

超几何分布的概率密度曲线

现在绘制超几何分布的概率密度曲线,如下所示:

参数说明:其中N表示的是总的球的数目,即N=m+n,这里设定的数目是500个,k表示抽取的次数,这里分别绘制了白球为100个抽取50次,白球为200个抽取60次,白球为300个抽取70次的情况,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
set.seed(1000)
x<-seq(0,50)
y1<-dhyper(x,100, 400, 50)
y2<-dhyper(x,200, 300, 60)
y3<-dhyper(x,300, 200, 70)
plot(x,y1)
plot(x,y1,col="red",ylab="density",
xlim=c(0,55),xlab="",
main="Hypergeometric distribution")
lines(x,y1,col="red")
points(x,y2,col="blue")
lines(x,y2,col="blue")
points(x,y3,col="orange")
lines(x,y3,col="orange")
legend("topright",legend=paste("N=",c(500,500,500),
"k=",c(50,60,70)),
lwd=1,col=c("red","blue","orange"))

超几何分布的概率积累分布曲线

现在绘制超几何分布的概率积累分布曲线,参数说明:其中N表示的是总的球的数目,即N=m+n,这里设定的数目是500个,k表示抽取的次数,这里分别绘制了白球为100个抽取50次,白球为200个抽取60次,白球为300个抽取70次的情况,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
set.seed(1000)
x<-seq(0,50)
y1<-phyper(x,100, 400, 50)
y2<-phyper(x,200, 300, 60)
y3<-phyper(x,300, 200, 70)
plot(x,y1)
plot(x,y1,col="red",ylab="density",
xlim=c(0,55),xlab="",
main="Hypergeometric Cumulative distribution")
lines(x,y1,col="red")
points(x,y2,col="blue")
lines(x,y2,col="blue")
points(x,y3,col="orange")
lines(x,y3,col="orange")
legend("bottomright",legend=paste("N=",c(500,500,500),
"k=",c(50,60,70)),
lwd=1,col=c("red","blue","orange"))

超几何分布案例分析

假定在一个20个人的研究生班中,有12个女生(用m表示,即m=12),有8个男生(用n表示,即n=8),因此,女生的比例是60%,如果随机抽取10个学生进行论文主审查,那么X=8篇女生的论文被抽中的概率是多少呢?

按照超几何分布Hyper(12,8,10)来计算,容易得出,其概率为0.0750,如果按照二项分布Binomial(10,0.6)来计算,则得出的概率是0.1209,显然这两种计算的差异很大,但是如果有120个女生和80个男生,那么随机抽取10个学生的论文,其中有8篇是女生的论文的概率就基本上差不多了,用超几何分布过计算,此概率是0.1183,用二项分布来计算,是0.1209。

现在计算一下这两个概率。

第1个概率(女生12个,男生8个),如下所示:

1
2
3
4
5
> m=12;n=8;k=10;x=8
> dhyper(x,m,n,k)
[1] 0.07501786
> dbinom(x,k,m/(m+n))
[1] 0.1209324

dhyper的参数前面了解了,现在看一下dbinom的参数,它的参数有3个,如下所示:

1
dbinom(x, size, prob, log = FALSE)

其中x表示目标事件的次数,我们的目标事件是”论文中是女生论文“,目标次数是8篇,此处x就等于8,k表示抽样的次数,这里是取了10个同学,prob表示目标事件的概率,我们的目标事件是”论文中是女生论文“,因此这个prob此处为0.6,也就是m/(m+n)。

现在扩大一下样本,女生120个,男生80个,抽10份论文,女生论文是8篇的概率,如下所示:

1
2
3
4
5
> m=120;n=80;k=10;x=8
> dhyper(x,m,n,k)
[1] 0.1182677
> dbinom(x,k,m/(m+n))
[1] 0.1209324

在这个案例中,我们研究的是具体的某个事件的概率,也就是抽到女生论文是8篇的概率,如果我们要研究至少投到8篇是女生论文的概率,那么就需要求出8,9,10篇是女生论文的概率之和(女生人数为120人,男生80个),如下所示:

1
2
> dhyper(8,120,80,10)+dhyper(9,120,80,10)+dhyper(10,120,80,10)
[1] 0.1606976

这里使用到了一个phyper函数,它的用法如下所示:

1
phyper(q, m, n, k, lower.tail = TRUE, log.p = FALSE)

q就是目标事件的次数,这里是8,因此使用这个函数计算出来的结果其实就是,抽取10篇,其中小于等于8篇是女生论文的概率,因此这个概率并不是我们想要的,我们想要的概率是至少8篇是女生论文的概率,也就是8,9,10篇。因此,此处我们计算出小于等于7篇是女生论文的概率,再用1减去就是我们要想的概率,如下所示:

1
2
> 1-phyper(7,m,n,k)
[1] 0.1606976

现在用dhyper函数来验证下,分别计算出8,9,10篇是女生论文的概率,如下所示:

1
2
3
4
5
6
7
8
> dhyper(8,m,n,k)
[1] 0.1182677
> dhyper(9,m,n,k)
[1] 0.03726013
> dhyper(10,m,n,k)
[1] 0.005169843
> dhyper(8,m,n,k)+dhyper(9,m,n,k)+dhyper(10,m,n,k)
[1] 0.1606976

结果是一样的。

二项分布与超几何分布的联系与区别

在抽样调查的实践中,一般不会重复调查同一个人,这相当于不放回抽样。严格来说应该用超几何分布来描述,但对于很大的总体,通常都考虑二项分布模型。这是因为,在一个很大的一群人中进行随机调查,就相当于从有大量黑白球的罐子中摸球,无论是放回抽样,还是不放回抽样,抽样时待抽取的黑白球所点的比例不会有显著的区别,由于二项分布计算简单,所以都用二项分布来近似。但是如果仅仅在一个人数不多的单位中进行调查,就相当于上面的不放回摸球,而且由于球的总数不多,每次抽样后,待抽取的黑白球所占的比例变化会很大,因此就应该考虑用超几何分布。

附图:

负二项分布

Bernoulli试验独立地重复进行,一直到出现k次成功时停止试验,则试验失败的次数服从一个参数为(k,p)的负二项分布,其公式如下所示:

其中分布参数为:

当k=1时,负二项分布就是几何分布。

几何分布geom(p)

Bernoulli试验独立地重复进行,一直到出现有功能出现时停止试剂,则试验失败的次数服从一个参数为p的几何分布,公式如下所示:

其分布特征参数为:

Poisson分布

在二战中,德国的导弹不断袭击英国,为了研究导弹袭击的规律,英国的统计学家R.D. Clarke把一个地区划分为许多小块,使得每个小块被击中的概率极小,在袭击是随机的假定下,各个小块被击中的概率在整个区域假定是一个常数,这样,一个小块被南路的次数就大致相当于在大量重复的成功概率很小的独立Bernoulli试验中成功的次数,他于是就导出了Poisson分布,而实际观测的导弹袭击的频数和用Poisson分布预测的频率相当吻合,在许多事件中,例如某种疾病的发生数目,一个自动生产线出现的废品数,某种事故发生的数目等,只要出现一次的概率很小,一般被看成近似地服从Poisson分布,Poisson分布的总体参数是其均值,而且其总体均值和总体方差相等,这里用λ表示该总体均值,Poission分布常用P(λ)或Poisson(λ)表示,此分布P(λ)的概率分布为:对于$x=0,1,\cdots$,以及$\lambda>0$,有:

下图就是参数为3、6、10的Poission分布图(只标出了20之内的部分),Poisson分布是一个分布族,其成员用不同的λ来区分,若干个独立的Poisson分布变量的和也服从Poisson分布,其参数等于那些Poisson分布的参数之和。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
x<-0:20
z<-cbind(dpois(x,3),dpois(x,6),dpois(x,10))
matplot(x,z,
pch=c(19,8,17),
cex=1.5,
xlab="x",ylab="P(X=x)",
col=1,
main="Poisson Distribution",
type="b")
legend(15,0.23,
c("P(3)","P(6)","P(10)"),
cex=1.5,
pch=c(19,8,17),
col=1)

正如前面的导弹袭击案例所说,当Bernoulli试验的次数很大,而每次成功概率很小时,可以用Poisson分布来近似二项分布,数学上,如果二项分布Binomial(n,p)的p趋于0,而np趋于常数λ时,该二项分布则趋于Poisson分布P(λ),由于当n很大,以及p很小时,二项分布计算很麻烦,因此在计算机出现之前,人们在计算概率时,往往用P(np)来对二项分布Binomial(n,p)做近似。

看一个案例,现在使用不同的n(例如取值10,100,1000,10000,100000,这里的n就是试验次数)和p(例如取值0.1,0.01,0.001,0.0001,0.00001,这里的p就是某事件发生的概率)分别利用二项分布和Poisson分布近似来计算X=2的概率,如下所示:

1
2
3
4
5
6
7
8
9
> n<-c(10,100,1000,10000,100000)
> p<-c(0.1,0.01,0.001,0.0001,0.00001)
> cbind(dbinom(2,n,p),dpois(2,n*p))
[,1] [,2]
[1,] 0.1937102 0.1839397
[2,] 0.1848648 0.1839397
[3,] 0.1840317 0.1839397
[4,] 0.1839489 0.1839397
[5,] 0.1839406 0.1839397

从上面的这个结果我们可以看到,随着试验次数的增加,以及p值的降低,那么二项分布与Poisson的结果就非常接近了。

连续型分布

常见的连续型分布有:贝塔分布、柯西分布、卡方分布、指数分布、F分布、伽马分布、对数正态分布、Logistic分布、正态分布、t分布、均匀分布,Wilcoxon signed Rank分布、Weibull分布,Wilcoxon Rank Sum分布、多元正态分布。

正态分布

正态分布内容参见这篇笔记《正态分布笔记》

伽玛分布($\Gamma$分布)

这里介绍伽玛分布是因为它与卡方分布和指数分布有关,卡方分布与指数分布可以视为一种特殊的伽玛分布。

许多随机变量,例如计算机使用寿命的长度,假定仅取非负值,这种类型数据的相对频率分布通过用$\Gamma$型密度函数建模,$\Gamma$密度函数公式如下所示:

mark

其中,

mark

$\Gamma$型随机变量的均值和方差分别如下所示:

mark

当α是正整数时,可以证明(略)Γ(α)=(α-1)Γ(α-1)以及Γ(α)=(α-1)!

Γ密度函数公式中包含两个参数α和β,参数β称作尺度参数,反映了Y度量单位的大小(它和出现在正态密度函数公式中的参数σ有相同的功能),参数α称作形状参数,改变它的值会改变Γ分布的形状,这就使得我们在建立试验数据的相对频率分布模型时,能得到许多不同形状的密度函数,下图就给出了α=1,3和5,β=1时的Γ密度函数图形:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
set.seed(1)
x<-seq(0,10,length.out=100)
y1<-data.frame(x,y=dgamma(x,1,1),g="alpha=1,beta=1")
y3<-data.frame(x,y=dgamma(x,3,1),g="alpha=3,beta=1")
y5<-data.frame(x,y=dgamma(x,5,1),g="alpha=5,beta=1")
y<-sqldf("
select x,y,g from y1
union all
select x,y,g from y3
union all
select x,y,g from y5")
ggplot(y,aes(x=x,y=y,group=factor(g),colour=factor(g)))+geom_line()

以下是累积分布函数密度图,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
set.seed(1)
x<-seq(0,10,length.out=100)
y1<-data.frame(x,y=pgamma(x,1,1),g="alpha=1,beta=1")
y3<-data.frame(x,y=pgamma(x,3,1),g="alpha=3,beta=1")
y5<-data.frame(x,y=pgamma(x,5,1),g="alpha=5,beta=1")
y<-sqldf("
select x,y,g from y1
union all
select x,y,g from y3
union all
select x,y,g from y5")
ggplot(y,aes(x=x,y=y,group=factor(g),colour=factor(g)))+geom_line()

除了α作为整数的特殊情况外,我们不能得到Γ密度函数积分的显式表示,因此Γ随机变量的累积分布函数称作不完全Γ函数,必须在计算机帮助下用近似方法得到,在统计学中,重要的Γ型随机变量是卡方随机变量。

卡方随机变量是α=ν/2和β=2的Γ型随机变量,如下所示:

mark

其中,

mark

卡方随机变量的均值和方差分别为:$\mu=\nu \quad \delta^2=2\nu$,参数$\nu$称为卡方分布的自由度个数。

指数分布(exponential distribution)

举个例子,在观察一系列事件之间的间隔时间(interarrival time)内,若某事件在每个时间点发生的概率相同,那么间隔时间的分布就氛这于指数分布,那么指数分布的累积分布函数就类似于以下公式:

其中,参数$\lambda$决定了分布的形状,下图表示的就是$\lambda = 2$时的图形:

通常,指数分布的均值是$1/\lambda$,所以上图的这个分布的均值是0.5.分布的中位数是$log(2)/\lambda$,大概等于0.35。

指数分布案例之一

再来看一下案例。1997

指数分布可以用来描述电子产品的寿命,例如一个灯光的平均寿命是2500个小时,我们假设认为这个灯泡的寿命服从均值为2500的指数分布,如果一个变量x服从指数分布,就记为$~exp(\lambda)$,其中$\lambda$等于均值的倒数。

在R中,生成指数分布随机数的函数是rexp(),其用法是rexp(n,lambda = 1),其中n表示生成的随机数,lambda=1/mean,例如:

1
2
3
x <- rexp(100,1/10)
hist(x,prob=T,col=gray(0.9),main="均值为10的指数分布随机数")
curve(dexp(x,1/10),add=T)

使用rexp()和逆变换法生成X~Exp(1)的随机数,如下所示:

1
2
3
4
5
6
7
8
9
Nsim = 10000
U <- runif(Nsim)
x = -log(U)
y <- rexp(Nsim)
par(mfrow=c(1,2))
hist(x,freq=F,main="Exp from Uniform")
curve(dexp(x,1),add=T,col="red")
hist(y,freq=F,main="Exp from R")
curve(dexp(x,1),add=T,col="red")

卡方分布

正态分布内容参见这篇笔记《卡方检验》

t分布

正态分布内容参见这篇笔记《T分布与t检验》

F分布

F-分布(F-distribution)是一种连续概率分布,被广泛应用于似然比率检验,特别是ANOVA中。F分布定义为:设X、Y为两个独立的随机变量,X服从自由度为k1的卡方分布,Y服从自由度为k2的卡方分布,这2个独立的卡方分布被各自的自由度除以后的比率这一统计量的分布。用公式表示就是下面的样子:

如果X是$\chi^2(m)$变量,Y是$\chi^2(n)$变量,而且X和Y独立,那么就有下面的这个公式,即
$F=\frac{X/m}{Y/n}$
这个公式可以称为具有自由度(m,n)的F分布,记为F(m,n),也就是说,两个独立$\chi^2$分布变量(在除以它们各自的自由度后)的比为F分布变量。

F分布的概率密度函数为:

在F分布中,两个$\chi^2$分布的自由度则为F分布的自由度,因此,F分布有两个自由度,第一个自由度等于在分子上的$\chi^2$分布的自由度,第二个自由度等于在分母的$\chi^2$分布的自由度,下图显著了自由度分别为(3,20),(10,20)和(50,20)的三条F分布密度曲线:

1
2
3
4
5
6
7
8
9
10
11
x <-c(seq(0,4.5,length=1000))
y2 <- df(x,50,20)
y3 <- df(x,10,20)
y5 <- df(x,3,20)
plot(x,y2,type="l",xlab="",ylab="",lty=1,main="")
lines(x,y3,type="l",xlab="",ylab="",lty=2)
lines(x,y5,type="l",xlab="",ylab="",lty=3)
legend(3,1.1,c("F(50,20)","F(10,20)","F(3,20)"),lty=1:3)
text(0,0.6,"F(3,20)")
text(0.8,0.85,"F(10,20)")
text(1,1.0,"F(50,20)")

从图上可以看出,当第二个自由度相时,第一个自由度越小,峰越靠近左边。

均匀分布

均匀分布(uniform distribution)是最简单的连续型分布,它的聚会范围是一个区间,例如(a,b),均匀颁同随机变量X聚会在该区间的一个子区间的概率等于该子区间宽度与区间(a,b)宽度b-1的比值,如果区间(a,b)为(0,1)区间,那么X落入(0.3,0.7)的概率为(0.7-0.3)/(1-0)=0.4,显然,均匀分布的密度函数在(a,b)区间为常数1/(b-a),而在该区间外为零,用公式就是以下表示:

这种形状为一个矩形,因此均匀分布也称为矩形分布(rectangular distribution),定义在(a,b)区间上的均匀分布通常用U(a,b)或Unif(a,b)表示,下图是均匀分布U(0,1)的密度函数(左)和一个来自U(a,b)的样本的直方图(右),如下所示:

1
2
3
4
5
6
7
8
9
10
# uniform distribution
par(mfrow=c(1,2))
plot(-10,10,xlab="X",ylab="",xlim=c(-0.3,1.3),ylim=c(0,1.2),main="U(0,1)")
segments(-0.3,0,0,0)
segments(0,1,1,1)
segments(1,0,1.3,0)
segments(0,0,0,1,lty=2)
segments(1,1,1,0,lty=2)
x<-runif(10000)
hist(x)

样本函数的分布

我们希望利用样本,尤其是通过作为样本函数的样本统计量来了解总体,并对总体参数进行推断。这些统计量包括閒贩蛭过的样本均值、样本中位数、样本标准差以及由它们组成的函数。统计量对不同的样本(但有相同的样本量)会取不同的值,作为随机样本的函数,它们也是随机的,也有自己的分布,这些分布就称为抽样分布(sampling distribution), 我们来看一个案例。
我们有一个正常的色子,看一下每次投掷10次的试验(样本量为10),看一下这个均值的变化,下表记录了15次试验每次得到的结果和该次的样本均值,而和该表相应的左边为15条10个点的拆线,显示了15次共150个点数,右边为掷色子点数的15个均值,如下所示:

1
2
3
4
5
6
7
a <- NULL
for (i in 1:15){
x <- sample(1:6,10,rep=T)
a <- rbind(a,c(x,mean(x)))}
par(mfrow=c(1,2))
matplot(1:10,t(a[,-11]),type="l",xlab="",main="每次掷10次色子,重复15遍",ylab="点数")
plot(1:15,a[,11],type="l",xlab="",main="15个均值(每个来自10次掷色子结果)",ylab="点数",ylim=c(1,6))

这些样本均值都和真正的总体均值(1+2+3+4+5+6)/6=3.5不完全一样,它们比较稳定,而不像那些原先的150个样本点,显然,这些均值有其自己的分布,与掷色子原先的多项分布不同,这使得人们对这些样本均值的分布感兴趣,前面介绍的$\chi^2$分布,t分布和F分布都可以是正态分布总体有关的抽样分布。

样本均值的性质和中心极限定理

我们把前面的掷色子试验的样本量从10增加到5000,而抽取1000个样本(原来是15个),结果得到1000个均值,这些均值的直方图如下所示:

1
2
3
4
5
6
7
8
a<-NULL
for(i in 1:1000){
x<-sample(1:6,5000,rep=T)
a<-rbind(a,mean(x))}
hist(a,xlab="",15,freq=F)
lines(density(a))
rug(a)
mean(a)

上图解释:做1000次试验,每次掷5000次色子,这样就得到了1000个均值的直方图,图中的曲线是对这1000个均值的密度估计,下面小的短线标出了这1000个均值的实际位置。

这看上去很像正态分布的形状,这些均值的均值为3.500001,接近掷色子的总体均值3.5。这就意味着,当样本量增加时,多项分布(掷色子)的总体均值或许可能用正态分布来近似。其实,在一定条件下,在样本量趋于无穷时,一般分布的样本均值的分布趋于正态分布,这就是关于样本均值的中心极限定量。

中心极限定理

假定随机变量X的n个独立观测值组成一个样本,假定X的总体均值为μ,而总体标准差为σ,这两个总体参数通常是未知的,从这个样本,我们还可以计算样本均值$\bar{x}$和样本标准差x,当然样本均值可以用来估计μ的值,具体这种估计的好坏,依赖于样本均值有什么样的抽样分布。样本均值作为随机变量有如下性质(注:这里没有假定X的分布):

  1. 样本均值$\bar{x}$的抽样分布的总体均值等于μ;
  2. 样本均值$\bar{x}$的抽样分布的总体标准差等于$\delta/\sqrt{n}$,样本量越大,$\bar{x}$的集中程度越大;
  3. 即使X的分布不是正态,那么在很一般的条件下(中心极限定理成立的一个充分条件是:样本点是独立的,来自一个总体(同一个分布),总体均值存在,并且有非零有限总体方差。),当样本量增加时,$\bar{x}$的分布走近于正态分布$N(\mu,\delta/\sqrt{n})$,这就是中心极限定理(CLT,central limit theorem)。

把上面第二条中的样本均值$\bar{x}$的抽样分布的总体标准差公式中的σ换成样本标准差s,得到$s/\sqrt{n}$就是均值的标准误差(standard error of mean,SEM),它是对$\delta/\sqrt{n}$的一个近似。现在我们从U(0,1),$\chi^2(2)$和F(0,10)这三种分布对于三种样本量大小n=1,3,100分别取600个样本,再计算出每个样本的均值,这样对每一种样本量都有600个均值,用这些均值画直方图,如下所示,可以看出,样本量越大,均值的直方图就越像正态分布,并且数据的分散程度也越小(越集中)。

下面代码是《R语言与统计分析》(汤银才)书中的代码来模拟中心极限定理,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
limite.central <- function(r=runif,distpar=c(0,1),m=0.5,
s=1/sqrt(12),
n=c(1,3,100),N=600)
for (i in n){
if (length(distpar)==2){
x<-matrix(r(i*N,distpar[1],distpar[2]),nc=i)
}
else{
x<-matrix(r(i*N,distpar),nc=i)
}
x<-(apply(x,1,sum)-i*m)/(sqrt(i)*s)
hist(x,col='Light blue',probability=T,main=paste("n=",i),
ylim=c(0,max(0.4,density(x)$y)))
lines(density(x),col='red',lwd=3)
curve(dnorm(x),col='blue',lwd=3,lty=3,add=T)
if(N>100){
rug(sample(x,100))
}
else{
rug(x)
}
}
op <- par(mfrow=c(1,3))
limite.central(runif,distpar = c(0,1))
op <- par(mfrow=c(1,3))
limite.central(rchisq,distpar = c(2))
op <- par(mfrow=c(1,3))
limite.central(rf,distpar = c(2,10))

均匀分布:

卡方分布:

F分布:

参考资料

  1. 每日一生信—富集分析(超几何分布)(Fisher’s Exact Test)
  2. R 超几何分布
  3. Wikipedia:Hypergeometric distribution
  4. DawnGriffiths. 深入浅出统计学[M]. 电子工业出版社, 2012.
  5. 高桥信陈刚. 漫画统计学[M]. 科学出版社, 2009.
  6. 拉里·戈尼克, 沃尔科特·史密斯. 漫画统计学入门[M]. 辽宁教育出版社, 2002.
  7. 陈希孺.概率论与数理统计[M].中国科学技术大学出版社,1992.
  8. 常用连续型分布介绍及R语言实现
  9. 一张图说明二项分布、泊松分布、指数分布、几何分布、负二项分布、伽玛分布的联系
  10. 统计思维:程序员数学之概率统计.作者: Allen B.Downey,译者: 张建锋 / 陈钢 出版社: 人民邮电出版社
  11. 统计学:从数据到结论.吴喜之.第四版
  12. 行为科学统计.第七版.