一枚骰子需要掷多少次才能掷到6?我们知道掷的次数期望为6,因为这个随机事件符合几何分布。骰子掷到6的概率是1/6,根据几何分布的性质,掷到6这一事件发生的投掷次数期望是概率的倒数,即6次。那么骰子需要掷多少次才能掷到6,同时6出现前骰子掷出的所有数字都必须是偶数?再或者,骰子需要掷多少次才能掷到6,同时6出现前骰子掷出的所有数字都必须是单挑上升的?要解决这些问题,我们需要了解一些常见的概率分布类型。

伯努利分布,二项分布,多项分布

伯努利分布的定义很简单,Bern(p):P(X=1)=p,P(X=0)=1pBern(p):P(X=1)=p,P(X=0)=1-p

二项分布是多个(独立同分布)伯努利分布的加和,Bn=Σi=1nXi,XiBern(p)B_n=\Sigma_{i=1}^nX_i, X_i\sim Bern(p),概率为P(Bn=k)=Cnkpk(1p)nkP(B_n=k)=C_n^kp^k(1-p)^{n-k}

二项分布有这下面的特性:

  • 可加性:Bin(n,p)+Bin(m,p)Bin(n+m,p)Bin(n,p)+Bin(m,p)\sim Bin(n+m, p)
  • 互补性:nBin(n,p)Bin(n,1p)n-Bin(n,p)\sim Bin(n,1-p)

我们进一步得到:E(Bn)=np,Var(Bn)=np(1p),E(eλBn)=(1+p(eλ1))nE(B_n)=np, Var(B_n)=np(1-p), E(e^{\lambda B_n})=(1+p(e^\lambda-1))^n

多项分布也就是二项分布的一般情况,我们需要先定义伯努利分布的一般情况,Multi(1,p):P(X=lj)=pjj=1,...,kljj次单位向量(即向量的j位元素是1,其他位都是0Multi(1,\vec p):P(\vec X=l_j)=p_j当j=1,...,k且l_j是j次单位向量(即向量的j位元素是1,其他位都是0)。那么多项分布Multi(n,p):Mn=Σi=1nXi,XiMulti(1,p)Multi(n,\vec p):M_n=\Sigma_{i=1}^n\vec X_i, \vec X_i\sim Multi(1,\vec p),概率为P(X=x)=n!Πj=1kxj!Πj=1kpjxjP(\vec X=\vec x)=\frac{n!}{\Pi_{j=1}^kx_j!}\Pi_{j=1}^kp_j^{x_j}

多项分布也有可加性,Multi(n,p)+Multi(m,p)Multi(n+m,p)Multi(n,\vec p)+Multi(m,\vec p)\sim Multi(n+m,\vec p),多项分布和k维随机漫步有紧密联系。

泊松分布,指数分布

泊松分布描述了小概率事件的规律,他是无限多的小概率事件累计发生的概率分布(比如一个城市中的交通事故数量),他是二项分布的一个特例,n,Bin(n,λ/n)Poisson(λ)n\to \infin,Bin(n,\lambda/n)\to Poisson(\lambda)

一些泊松分布的性质如下:

  • P(X=k)=λkk!eλP(X=k)=\frac{\lambda^k}{k!}e^{-\lambda}
  • XiPoisson(λi),那么Σi=1kXiPoisson(Σi=1kλi),同时XΣi=1kXi=SMulti(S,λΣi=1kλi)当X_i\sim Poisson(\lambda_i),那么\Sigma_{i=1}^kX_i\sim Poisson(\Sigma_{i=1}^k\lambda_i),同时\vec X|\Sigma_{i=1}^kX_i=S\sim Multi(S,\frac{\vec \lambda}{\Sigma_{i=1}^k\lambda_i})

我们可以推导出,E(X)=Var(X)=λXPoisson(λ)E(X)=Var(X)=\lambda当 X\sim Poisson(\lambda)

举个具体的例子,我们使用泊松分布来对某城市的交通事故数量建模。我们需要的数据是在某天之内交通事故发生的地点,我们感兴趣的问题是我们行车时应当避免去哪些区域?我们能不能估计出整个城市的交通事故率(并以热点图的形式呈现出来)?

具体的统计模型为

  • 统计数据: 某天t某区域A的事故数量YA,t某天t某区域A的事故数量Y_{A,t}
  • 模型参数: 地点(x,y)的基准事故率θ(x,y)地点(x,y)的基准事故率\theta (x,y)
  • 泊松过程模型为:YA,tPoisson(λA),其中λA=Aθ(x,y)  dxdyY_{A,t}\sim Poisson(\lambda_A),其中\lambda_A=\int_A\theta(x,y)\;dxdy

指数分布的定义是p(xλ)=λeλx,x0p(x|\lambda)=\lambda e^{-\lambda x},x\ge 0,他最大的特点是无记忆性P(Xs+tXt)=P(Xs)P(X\ge s+t|X\ge t)=P(X\ge s),其他的特性还有齐次泊松过程中的事件发生的时间间隔满足指数分布,指数分布的风险率是恒定的,λ(t)=limdt0P(tTt+dt)P(Tt)dt=p(tTt)=λ\lambda(t)=lim_{dt\to 0}\frac{P(t\le T\le t+dt)}{P(T\ge t)dt}=p(t|T\ge t)=\lambda

指数分布的一大应用就是生存分析(Survival Analysis)。生存分析的目标是为事件的发生时间建模;需要的数据是事件发生时间,和一些截取的或过滤的数据(比如存活超过五年的病例);生存分析广泛应用于药监局审核药物,保险公司保费定价,工业元件可靠性分析等等。

生存分析常规的手段不是直接对P(Tt)P(T\ge t)建模,而是对风险率函数λ(t)=p(tTt)\lambda(t)=p(t|T\ge t)建模,这样的风险率函数λ\lambda只需满足λ(t)00λ(t)dt=\lambda(t)\ge 0且\int_0^\infin\lambda(t)dt=\infin

正态分布,卡方分布

提到正态分布(又称高斯分布),我们的第一印象就是大名鼎鼎的钟形曲线,函数形式为:$p(xmu,sigma2)=frac1sqrt2pisigma2efrac(xmu)22sigma2p(x|\\mu, \\sigma^2)=\\frac{1}{\\sqrt{2\\pi\\sigma^2}}e^{-\\frac{(x-\\mu)^2}{2\\sigma^2}}$

正态分布之所以重要,是因为他和中心极限定理的直接关系,如果YiY_i独立同分布且都拥有有限均值和方差的随机变量,那么sqrtn(fracbarYmusigma)toN(0,1)\\sqrt{n}(\\frac{\\bar Y-\\mu}{\\sigma})\\to N(0,1)

正态分布的一些基本特征是:

  • XN(μ,σ2)时,E(X)=μ,Var(X)=σ2当X\sim N(\mu, \sigma^2)时,E(X)=\mu, Var(X)=\sigma^2
  • 平移–拉伸族群:N(μ,σ2)=μ+σN(0,1)N(\mu, \sigma^2)=\mu + \sigma N(0,1)
  • 可加性:XiN(μi,σi2),那么ΣiXiN(Σiμi,Σiσi2)若X_i\sim N(\mu_i, \sigma_i^2), 那么\Sigma_iX_i\sim N(\Sigma_i\mu_i, \Sigma_i\sigma_i^2)

正态分布在统计模型中有许多应用,比如资产收益的分布基本符合正态模型(也不尽然,很多指数的收益分布就是左偏的),个人收入的分布属于对数正态分布,还有就是从中心极限定理中引出的p-value统计量:P(N(0,1)1.96)=0.05P(|N(0,1)|\ge 1.96)=0.05

在概率理论中,除了已经提到过的中心极限定理,正态分布还关联到Stein引理:假设导数和期望都存在时,E[(Xμ)f(X)]=σ2E[f(X)]E[(X-\mu)f(X)]=\sigma^2E[f'(X)]。此外正态分布构筑了其他一些概率分布的基础,比如卡方分布,学生–t分布,beta分布,F分布等等。

卡方分布(χ2,不是XX\chi^2,不是X*X)的定义是一系列独立同分布的正态分布变量平方和的分布Q=Σi=1kXi2χ2(k),XiN(0,1)Q=\Sigma_{i=1}^kX_i^2\sim \chi^2(k),当X_i\sim N(0,1),其概率密度函数为p(x,k)=12τ(k/2)(x/2)k/2ex/2p(x,k)=\frac{1}{\sqrt{2}\tau(k/2)}(x/2)^{k/2}e^{-x/2}

卡方分布在统计中的应用很直观,假设我们从正态模型XiN(μ,σ2)X_i\sim N(\mu, \sigma^2)中取样XiX_i,样本的标准差定义为σ^2=1n1Σi=1n(XiXˉ)2\hat \sigma^2=\frac{1}{n-1}\Sigma_{i=1}^n(X_i-\bar X)^2,那么我们得到σ^2σ2n1χ2(n1)\hat \sigma^2\sim \frac{\sigma^2}{n-1}\chi^2(n-1)

学生–t分布, F分布

学生–t分布是相互独立的正态分布变量和卡方分布变量的平方根的比值所形成的分布,表示为t(k)N(0,1)χ2(k)/kt(k)\sim \frac{N(0,1)}{\sqrt{\chi^2(k)/k}}。其概率密度函数为p(x,k)=1kB(1/2,k/2)(1+x2/k)(k+1)/2p(x,k)=\frac{1}{\sqrt kB(1/2,k/2)}(1+x^2/k)^{-(k+1)/2},他是一种肥尾分布。

学生–t分布在统计中的应用很直观,假设我们从正态模型XiN(μ,σ2)X_i\sim N(\mu, \sigma^2)中取样XiX_i,那么样本均值和总体均值之差的标准差符合学生–t分布,n(Xˉμσ^)t(n1)\sqrt n(\frac{\bar X-\mu}{\hat \sigma})\sim t(n-1)

正态分布其实是学生–t分布在kk趋近无限时的特例t()=N(0,1)t(\infin)=N(0,1)。广义上说,学生–t分布是随机的正态分布t(k)=1Q/kZ1χ2/kN(0,1)=N(0,1χ2/k)t(k)=\frac{1}{\sqrt{Q/k}}Z\sim \frac{1}{\sqrt{\chi^2/k}}N(0,1)=N(0,\frac{1}{\chi^2/k}),所以我们常说证券收益是肥尾的正态分布。

F分布是两个相互独立的卡方分布变量的比值所形成的分布,表示为F(d1,d2)χ2(d1)/d1χ2(d2)/d2F(d_1,d_2)\sim\frac{\chi^2(d_1)/d_1}{\chi^2(d_2)/d_2}。其概率密度函数为:p(x,d1,d2)=(d1/d2)d1/2xd1/21(1+d1/d2x)(d1+d2)/2B(d1/2,d2/2)p(x,d_1,d_2)=\frac{(d_1/d_2)^{d_1/2}x^{d_1/2-1}(1+d_1/d_2x)^{-(d_1+d_2)/2}}{B(d_1/2,d_2/2)}

维数为1的F分布可以看成t分布的平方F(1,d)=t(d)2F(1,d)=t(d)^2

F分布在线性回归中有直接应用,在线性回归Yj=α+Σi=1pXijβi+ej,j=1,...,nY_j=\alpha+\Sigma_{i=1}^pX_{ij}\beta_i+e_j, j=1,...,n中,著名的F统计量用来测试所有回归系数是否全部为零H0:β=0H_0:\vec \beta=0F=SSR/pRSS/(np1)F(p,np1),SSR=Σj=1n(y^iyˉ)2,RSS=Σj=1n(yiy^i)2F=\frac{SSR/p}{RSS/(n-p-1)}\sim F(p,n-p-1),SSR=\Sigma_{j=1}^n(\hat y_i-\bar y)^2, RSS=\Sigma_{j=1}^n(y_i-\hat y_i)^2

多元正态分布

几个独立的标准正态分布变量ZiN(0,1),i=1,...,nZ_i\sim N(0,1), i=1,...,n所组成的向量即满足多元标准正态分布。其(联合)概率密度函数为:p(z)=Πi=1nez2/22π=1/2(zμ)tΣ1(zμ)(2π)nΣp(\vec z)=\Pi_{i=1}^n\frac{e^{-z^2/2}}{\sqrt{2\pi}}=\frac{-1/2(\vec z-\vec \mu)^t\Sigma^{-1}(\vec z-\vec \mu)}{\sqrt{(2\pi)^n|\Sigma|}},其中μ=0,Σ=lnn\vec \mu=\vec 0, \Sigma=l_{n*n}。更一般的多元正态分布N(μ,Σ)N(\vec \mu, \Sigma)中(n维独立变量可表示为Xμ+Σ1/2ZX\sim \vec \mu+\Sigma^{-1/2}Z),其(联合)概率密度函数为p(x)=1/2(xμ)tΣ1(xμ)(2π)nΣp(\vec x)=\frac{-1/2(\vec x-\vec \mu)^t\Sigma^{-1}(\vec x-\vec \mu)}{\sqrt{(2\pi)^n|\Sigma|}},其中E(X)=μ,Var(X)=ΣE(\vec X)=\mu, Var(\vec X)=\Sigma

多元正态分布有这如下属性

  • 线性:XN(μ,Σ)Y=k+AXN(k+Aμ,AΣAt)X\sim N(\vec \mu, \Sigma) \to Y=\vec k+AX\sim N(\vec k + A\vec \mu, A\Sigma A^t)
  • 边缘依然属于正态分布:XN(μ,Σ)XsN(μs,Σs,s)X\sim N(\vec \mu, \Sigma) \to X_s\sim N(\vec \mu_s, \Sigma_{s,s})
  • 独立可加性:XN(μx,Σx),YN(μy,Σy)X+YXN(μx+μy,Σx+Σy)X \sim N(\vec \mu_x, \Sigma_x), Y \sim N(\vec \mu_y, \Sigma_y) \to X+Y \sim X \sim N(\vec \mu_x+\vec \mu_y, \Sigma_x+\Sigma_y)
  • 不独立的多元正态分布相加呢?那就需要分别计算均值和协方差矩阵了。
多元正态随机变量的条件分布

假设(X,Y)N(μ,Σ)(X,Y)\sim N(\vec \mu, \Sigma), 其中μ=(μx,μy),Σ=(ΣxxΣxyΣyxΣyy)\vec \mu=(\vec \mu_x, \vec \mu_y), \Sigma=\begin{pmatrix}\Sigma_{xx} & \Sigma_{xy}\\\Sigma_{yx} & \Sigma_{yy}\end{pmatrix}。那么YXY|X的条件分布是多元正态分布YX=yN(μYX,ΣYX)Y|X=y\sim N(\vec \mu_{Y|X}, \Sigma_{Y|X}),其中μYX=(Σxx1Σxy)X,ΣYX=ΣyyΣyxΣxx1Σxy\mu_{Y|X}=(\Sigma_{xx}^{-1}\Sigma_{xy})X, \Sigma_{Y|X}=\Sigma_{yy}-\Sigma_{yx}\Sigma_{xx}^{-1}\Sigma_{xy}

计算机中常见的一个问题是如何生成多元正态分布的随机数?答案是生成相互独立的正态分布随机数即可,因为Xμ+Σ1/2ZZiN(0,1)X\sim \vec \mu+\Sigma^{-1/2}Z, Z_i\sim N(0,1)。那么如何生成相互独立的正态随机数呢?首先我们知道如何生成一个均匀分布的随机数,理论上我们可以通过对累计分布函数求逆来将一个0到1之间的均匀分布变量转换为标准正态变量,但这只是理论上可行。在实际中我们会使用所谓的Box-Muller转换,其核心思想是我们每次生成一对而不是一个相互独立的正态变量N(0,1)N(0,1)

假设我们有U1,U2Unif(0,1)U_1,U2 \sim Unif(0,1),我们使得R=2lnU1,θ=2πU2R=\sqrt{-2lnU_1}, \theta=2\pi U_2,那么Z1=Rcos(θ),Z2=Rsin(θ)Z_1=Rcos(\theta),Z_2=Rsin(\theta)将会是一对相互独立的正态分布变量Z1,Z2N(0,1)Z_1, Z_2 \sim N(0,1)

指数型分布族(NEF)

指数型分布族NEF(Natural Exponential Family)是指概率密度函数满足指数形式的一系列概率分布p(xθ)=h(x)exp(η(θ)xA(θ))p(x|\theta)=h(x)exp(\eta(\theta)x-A(\theta)),他们的矩生成函数都可以写成M(t)=E[exp(tX)]=exp(A(t+θ)A(θ))M(t)=E[exp(tX)]=exp(A(t+\theta)-A(\theta))

指数型分布族都有着二次的方差函数QVF(Quadratic Variance Function):Var(X)=V(E(X))=V(μ)=μ0+υ1μ+υ2μ2Var(X)=V(E(X))=V(\mu)=\mu_0+\upsilon_1\mu+\upsilon_2\mu^2。指数型分布族有一些良好的数学特性,比如对此类分布的线性变换后的卷积运算是闭合的,再比如所有指数型分布族的分布都有共轭先验,共轭先验的好处主要在于代数上的方便性,可以直接给出后验分布的封闭形式,否则的话只能数值计算。