笔记

贝叶斯数据分析(5)—— 多参数模型

贝叶斯数据分析(5)——多参数模型(一)

本笔记基于Bayesian Data Analysis Third Edition, Andrew Gelman et. al. 学习编写,由于是英文教材,可能在学习过程中一些翻译或者内容有误,如有问题或错误,可以发送至邮箱[email protected]反馈。在学习本书中,需要有一定数学基础或者数理统计的基础,并且存在很多需要计算的场景,对于每一条定理,从头开始的证明会让你更明白每一步是如何实现的。

控制干扰参数

假设我们现在有一个向量 θ=(θ1,θ2)\theta = (\theta_1, \theta_2), 这两个我们都是未知参数,当我们只对其中一个参数感兴趣,如 θ1\theta_1 ,那么此时,θ2\theta_2 ,我们就会认为其是一个干扰参数,假设现在我们有一个正态分布:

yμ,σ2N(μ,σ2),μ=θ1,σ2=θ2y|\mu,\sigma^2 \sim \operatorname{N}(\mu,\sigma^2),\quad \mu = \theta_1, \quad \sigma^2 = \theta_2

其中,均值和方差均未知。我们现在只对均值感兴趣,所以我们像要求的是均值的后验分布,即 p(θ1y)p(\theta_1|y), 现在我们照样的,根据贝叶斯法则,我们能够计算联合后验密度:

p(θ1,θ2y)p(yθ1,θ2)p(θ1,θ2)p(\theta_1,\theta_2|y) \propto p(y|\theta_1,\theta_2)p(\theta_1,\theta_2)

如果我们只对 θ1\theta_1 的后验感兴趣,那么我们就要控制 θ2\theta_2

p(θ1y)=p(θ1,θ2y)dθ2p(\theta_1|y) = \int p(\theta_1,\theta_2|y)d\theta_2

又或者,我们可以因子化后:

p(θ1y)=p(θ1θ2,y)p(θ2y)dθ2p(\theta_1|y) = \int p(\theta_1|\theta_2,y)p(\theta_2|y)d\theta_2

在上面的等式里,p(θ2y)p(\theta_2|y) 是一个权重函数,其包括了所有 θ2\theta_2 的可能取值,但应该注意的是,我们几乎很少用到上面这一条式子去计算 θ1\theta_1 的后验密度。不过它提供了很好的思路,后验的密度可以通过边缘和条件模拟去进行计算,首先我们从 θ2\theta_2 的边缘后验分布里去对 θ2\theta_2 进行抽样,然后从给定抽样值的 θ2\theta_2 的条件后验分布里抽样 θ1\theta_1 来得到分布。

正态数据和非信息先验

首先我们来考虑多参数模型中的第一个,正态分布。正态分布里有两个参数,一个是均值,一个是标准差。我们现在都不知道,所以我们首先使用非信息先验。我们在单参数模型(三)提到过,均值是位置参数,标准差是缩放参数,因此构建非信息先验时,我们会使用 (μ,logσ)(\mu, \log\sigma)均匀分布,但我们需要转化为 p(μ,σ2)p(\mu,\sigma^2),所以这里有个转化,需要用到参数转化

p(μ,σ2)=p(μ,logσ)J=p(μ,logσ)\partμ\partμ\partμ\partσ2\partlogσ\partμ\partlogσ\partσ2=p(μ,logσ)10012σ2=p(μ,logσ)12σ2σ2\begin{aligned} p(\mu,\sigma^2) &= p(\mu,\log\sigma)|J| \\ &= p(\mu, \log\sigma) \left| \begin{matrix} \frac{\part \mu}{\part \mu} & \frac{\part \mu}{\part \sigma^2} \\ \frac{\part \log\sigma}{\part \mu} & \frac{\part \log\sigma}{\part \sigma^2} \end{matrix} \right| \\ &= p(\mu, \log\sigma) \left| \begin{matrix} 1 & 0 \\ 0 & \frac{1}{2\sigma^2} \end{matrix} \right| \\ &= p(\mu, \log\sigma)\frac{1}{2\sigma^2} \\ &\propto \sigma^{-2} \end{aligned}

由于是均匀分布,且 μ\mulogσ\log\sigma 独立,所以 p(μ,logσ)=p(μ)p(logσ)=Constantp(\mu, \log\sigma) = p(\mu)p(log\sigma) = Constant

似然函数为:

p(yμ,σ2)i=1nσ1exp(12σ2(yiμ)2)=σnexp(12σ2i=1n(yiμ)2)\begin{aligned} p(y|\mu,\sigma^2) &\propto \prod^n_{i=1} \sigma^{-1} \exp\left(-\frac{1}{2\sigma^2} (y_i - \mu)^2\right) \\ &= \sigma^{-n} \exp\left(-\frac{1}{2\sigma^2}\sum_{i=1}^n (y_i - \mu)^2\right) \end{aligned}

有了这个以后,我们就可以写出联合后验分布的计算

p(μ,σ2y)σn2exp(12σ2i=1n(yiμ)2)=σn2exp(12σ2[i=1n(yiyˉ)2+n(yˉμ)2])=σn2exp(12σ2[(n1)s2+n(yˉμ)2])\begin{aligned} p(\mu, \sigma^2|y) &\propto \sigma^{-n-2} \exp\left(-\frac{1}{2\sigma^2}\sum_{i=1}^n (y_i - \mu)^2\right) \\ &= \sigma^{-n-2} \exp\left(-\frac{1}{2\sigma^2}\left[\sum_{i=1}^n (y_i - \bar{y})^2 + n(\bar{y} - \mu)^2\right]\right) \\ &= \sigma^{-n-2} \exp\left(-\frac{1}{2\sigma^2}\big[(n-1)s^2 + n(\bar{y} - \mu)^2\big]\right) \end{aligned}

其中,

s2=1n1i=1n(yiyˉ)2s^2 = \frac{1}{n-1} \sum_{i=1}^{n} (y_i - \bar{y})^2

其是yiy_i 的样本方差,充分统计量为 yˉ\bar ys2s^2

分步因子化

然后,根据我们之前说的,我们写出条件后验分布p(μσ2,y)p(\mu|\sigma^2,y)

我们在这里将 σ2\sigma^2 固定,于是乎,这就变成了未知均值已知方差的正态分布:

μσ2,yN(yˉ,σ2/n)\mu|\sigma^2,y \sim \operatorname{N}(\bar y, \sigma^2/n)

然后我们写出边缘后验分布p(σ2y)p(\sigma^2|y)

所以:

p(σ2y)σn2exp(12σ2[(n1)s2+n(yˉμ)2])dμ=σn2exp(12σ2[(n1)s2])exp(n2σ2(yˉμ)2)dμ=σn2exp(12σ2(n1)s2)2πσ2/nσn2exp(12σ2(n1)s2)=(σ2)(n+1)/2exp(12σ2(n1)s2)\begin{aligned} p(\sigma^2|y) &\propto \int \sigma^{-n-2} \exp\left(-\frac{1}{2\sigma^2}\big[(n-1)s^2 + n(\bar{y} - \mu)^2\big]\right) d\mu \\ &= \sigma^{-n-2}\exp\left(-\frac{1}{2\sigma^2}\big[(n-1)s^2\big]\right)\int\exp\left(-\frac{n}{2\sigma^2}(\bar{y} - \mu)^2\right) d\mu \\ &= \sigma^{-n-2}\exp\left(-\frac{1}{2\sigma^2}(n-1)s^2\right) \sqrt{2\pi\sigma^2/n} \\ &\propto \sigma^{-n-2}\exp\left(-\frac{1}{2\sigma^2}(n-1)s^2\right) \\ &=(\sigma^2)^{-(n+1)/2}\exp\left(-\frac{1}{2\sigma^2}(n-1)s^2\right) \end{aligned}

其中,第三个等号是由高斯积分得到,即:

ea(x+b)2dx=πa\int_{-\infty}^{\infty} e^{-a(x+b)^2} dx = \sqrt{\frac{\pi}{a}}

此时,符合 Scaled inverse-χ2\chi^2 分布:

σ2yInv-χ2(n1,s2)\sigma^2|y \sim \operatorname{Inv-}\chi^2 (n-1,s^2)

因此,我们就可以先从 σ2y\sigma^2|y 中进行抽样得到 σ\sigma, 然后从 μσ2,y\mu|\sigma^2,y 的分布里抽样得到 μ\mu .

直接边缘化

如果,我们直接计算边缘分布

p(μy)=0+p(μσ2,y)dσ2=0+σn2exp(12σ2[(n1)s2+n(yˉμ)2])dσ2\begin{aligned} p(\mu|y) &= \int_0^{+\infin} p(\mu|\sigma^2,y) d\sigma^2 \\ &= \int_0^{+\infin}\sigma^{-n-2} \exp\left(-\frac{1}{2\sigma^2}\big[(n-1)s^2 + n(\bar{y} - \mu)^2\big]\right)d\sigma^2 \end{aligned}

我们把与 σ2\sigma^2 无关的项拿出来,记 A=(n1)s2+n(yˉμ)2A = (n-1)s^2 + n(\bar{y} - \mu)^2z=A2σ2z = \frac{A}{2\sigma^2}\\.

于是乎:

dσ2=dzA2z2d\sigma^2 = dz \cdot -\frac{A}{2z^2}

换元代入:

p(μy)=0+(σ2)n21exp(A2σ2)dσ2=0+(A2z)n21exp(z)(A2z2)dzAn/20z(n2)/2exp(z)dz[(n1)s2+n(μyˉ)2]n/2[1+n(μyˉ)2(n1)s2]n/2\begin{aligned} p(\mu|y) &= \int_0^{+\infin} (\sigma^2)^{-\frac{n}{2}-1}\exp(-\frac{A}{2\sigma^2})d\sigma^2\\ &= \int_0^{+\infin} (\frac{A}{2z})^{-\frac{n}{2}-1}\exp(-z)(\frac{A}{2z^2})dz \\ &\propto A^{-n/2} \int_{0}^{\infty} z^{(n-2)/2} \exp(-z) dz \\ &\propto \Big[(n-1)s^{2} + n(\mu - \bar{y})^{2}\Big]^{-n/2} \\ &\propto \Big[1 + \frac{n(\mu - \bar{y})^{2}}{(n-1)s^{2}}\Big]^{-n/2} \end{aligned}

其中,第二个等号是由于变换变量后积分上下限变换的负号与被积项变量转换负号相抵消,第四个等比例符号是由于积分内的项目与 μ\mu 无关被忽略了。

因此我们意识到,这个分布服从 tt 分布

μytn1(yˉ,s2/n)\mu|y \sim t_{n-1}(\bar y,s^2/n)

tt 分布:

记作 θtν(μ,σ2)\theta \sim t_\nu(\mu,\sigma^2), p(θ)=tν(θμ,σ2)p(\theta) = t_{\nu}(\theta|\mu,\sigma^2)

其中 ν\nu 为自由度, μ\mu 为位置参数, σ2\sigma^2 为缩放参数

密度函数:

p(θ)=Γ((ν+1)/2)Γ(ν/2)νπσ(1+1ν(θμσ)2)(ν+1)/2p(\theta) = \frac{\Gamma((\nu+1)/2)}{\Gamma(\nu/2) \sqrt{\nu \pi}\sigma} \left(1 + \frac{1}{\nu} \Big(\frac{\theta - \mu}{\sigma}\Big)^{2}\right)^{-(\nu+1)/2}

期望:E(θ)=μ,for ν>1E(\theta) = \mu,\quad \text{for } \nu > 1

方差:var(θ)=νν2σ2,for ν>2\operatorname{var}(\theta) = \frac{\nu}{\nu-2} \sigma^2,\quad \text{for } \nu > 2

众数:mode(θ)=μ\operatorname{mode}(\theta) = \mu

我们转化为标准 tt 分布:

μyˉs/nytn1\frac{\mu - \bar{y}}{s/\sqrt{n}}\bigg| y \sim t_{n-1}

其中 tn1t_{n-1} 是位置参数为 0,缩放系数为 1,自由度为 n-1 的 tt 分布。

这种边缘后验分布为与抽样理论的比较提供了另一个有趣的视角,在抽样分布 p(yμ,σ2)p(y|\mu,\sigma^2) 下,这个关系仍然成立:

yˉμs/nytn1\frac{\bar{y}-\mu}{s/\sqrt{n}}\bigg| y \sim t_{n-1}

枢轴量的抽样分布 (yˉμ)/(s/n)(\bar{y}-\mu)/(s/\sqrt{n})不依赖于干扰参数 σ2\sigma^2,其后验分布也不依赖于数据。一般来说,被估计量的枢轴量被定义为数据和被估计量的一个非平凡函数,其抽样分布与所有参数和数据均无关。

后验预测分布

后验预测分布可以写作:

p(y~y)=p(y~μ,σ2,y)p(μ,σ2y)dμdσ2p(\tilde{y}|y) = \iint p(\tilde{y}|\mu,\sigma^2, y)p(\mu,\sigma^2|y)d\mu d\sigma^2

其中,第一项是对于未来观测值的给定 μ,σ2\mu,\sigma^2 的正态分布。在给定参数 μ,σ2\mu,\sigma^2 以后,未来观测值 y~\tilde y 与已经观测到的数据 yy 条件独立,所以

p(y~μ,σ2,y)=p(y~μ,σ2)=N(y~μ,σ2)p(\tilde y|\mu,\sigma^2,y)=p(\tilde y|\mu,\sigma^2)=\operatorname{N}(\tilde y|\mu,\sigma^2)

而第二项为参数的联合后验分布。为了从后验预测分布里抽样,我们第一步先从联合后验分布 p(μ,σ2y)p(\mu,\sigma^2|y) 中抽样 (μ,σ2)(\mu,\sigma^2),然后再根据抽到的参数值模拟未来观测值:

y~μ,σ2N(μ,σ2)\tilde y|\mu,\sigma^2 \sim \operatorname{N}(\mu,\sigma^2)

实际上,后验预测分布也同样满足 tt 分布:

y~ytn1(yˉ,(1+1n)1/2s)\tilde y |y\sim t_{n-1}\left(\bar y, (1+\frac{1}{n})^{1/2}s\right)

其推导方式同之前一样(见后),都是把干扰参数积分掉。不过这里更容易理解的方法是:先固定 σ2\sigma^2,只对 μ\mu 积分;然后再对 σ2\sigma^2 积分。

首先将联合后验分布因子化:

p(μ,σ2y)=p(μσ2,y)p(σ2y)p(\mu,\sigma^2|y)=p(\mu|\sigma^2,y)p(\sigma^2|y)

于是后验预测分布可以写成:

p(y~y)=p(y~μ,σ2,y)p(μσ2,y)p(σ2y)dμdσ2=[p(y~μ,σ2,y)p(μσ2,y)dμ]p(σ2y)dσ2\begin{aligned} p(\tilde y|y) &= \iint p(\tilde y|\mu,\sigma^2,y)p(\mu|\sigma^2,y)p(\sigma^2|y)d\mu d\sigma^2 \\ &= \int \left[\int p(\tilde y|\mu,\sigma^2,y)p(\mu|\sigma^2,y)d\mu\right]p(\sigma^2|y)d\sigma^2 \end{aligned}

中括号里的部分为

p(y~σ2,y)=p(y~μ,σ2,y)p(μσ2,y)dμp(\tilde y|\sigma^2,y) =\int p(\tilde y|\mu,\sigma^2,y)p(\mu|\sigma^2,y)d\mu

它的含义是:如果先假设 σ2\sigma^2 已知,那么未来观测值 y~\tilde y 的不确定性仍然来自两个来源:

  1. 均值 μ\mu 本身还不确定;
  2. 即使 μ\mu 已知,新的观测值 y~\tilde y 仍然会围绕 μ\mu 有一个正态误差。

我们已经知道:

μσ2,yN(yˉ,σ2n)\mu|\sigma^2,y\sim \operatorname{N}\left(\bar y,\frac{\sigma^2}{n}\right)

同时:

y~μ,σ2,yN(μ,σ2)\tilde y|\mu,\sigma^2,y\sim \operatorname{N}(\mu,\sigma^2)

因此可以把未来观测值写成:

y~=μ+ϵ,ϵσ2N(0,σ2)\tilde y=\mu+\epsilon,\qquad \epsilon|\sigma^2\sim \operatorname{N}(0,\sigma^2)

在给定 σ2\sigma^2 和数据 yy 的条件下:

μ=yˉ+η,ησ2,yN(0,σ2n)\mu=\bar y+\eta,\qquad \eta|\sigma^2,y\sim \operatorname{N}\left(0,\frac{\sigma^2}{n}\right)

所以:

y~=yˉ+η+ϵ\tilde y=\bar y+\eta+\epsilon

其中 η\eta 表示对未知均值 μ\mu 的后验不确定性,ϵ\epsilon 表示未来观测值自身的随机误差。两个正态随机变量相加仍然是正态随机变量,且方差相加,因此:

y~σ2,yN(yˉ,σ2n+σ2)=N(yˉ,(1+1n)σ2)\tilde y|\sigma^2,y \sim \operatorname{N}\left(\bar y,\frac{\sigma^2}{n}+\sigma^2\right) =\operatorname{N}\left(\bar y,\left(1+\frac{1}{n}\right)\sigma^2\right)

其和 μσ2,y\mu|\sigma^2,y 的分布只差一个尺度因子:

μσ2,yN(yˉ,σ2n)\mu|\sigma^2,y\sim \operatorname{N}\left(\bar y,\frac{\sigma^2}{n}\right)

接下来再对 σ2\sigma^2 积分。因为:

σ2yInv-χ2(n1,s2)\sigma^2|y\sim \operatorname{Inv-}\chi^2(n-1,s^2)

所以:

p(y~y)=p(y~σ2,y)p(σ2y)dσ20(σ2)1/2exp[(y~yˉ)22(1+1n)σ2](σ2)(n+1)/2exp[(n1)s22σ2]dσ2=0(σ2)n/21exp{12σ2[(n1)s2+(y~yˉ)21+1n]}dσ2\begin{aligned} p(\tilde y|y) &= \int p(\tilde y|\sigma^2,y)p(\sigma^2|y)d\sigma^2 \\ &\propto \int_0^{\infty} (\sigma^2)^{-1/2} \exp\left[-\frac{(\tilde y-\bar y)^2}{2(1+\frac{1}{n})\sigma^2}\right] (\sigma^2)^{-(n+1)/2} \exp\left[-\frac{(n-1)s^2}{2\sigma^2}\right] d\sigma^2 \\ &= \int_0^{\infty} (\sigma^2)^{-n/2-1} \exp\left\{ -\frac{1}{2\sigma^2} \left[(n-1)s^2+\frac{(\tilde y-\bar y)^2}{1+\frac{1}{n}}\right] \right\} d\sigma^2 \end{aligned}

A=(n1)s2+(y~yˉ)21+1nA=(n-1)s^2+\frac{(\tilde y-\bar y)^2}{1+\frac{1}{n}}

则上面的积分与之前推导 p(μy)p(\mu|y) 时完全同型:

0(σ2)n/21exp(A2σ2)dσ2An/2\int_0^{\infty}(\sigma^2)^{-n/2-1}\exp\left(-\frac{A}{2\sigma^2}\right)d\sigma^2 \propto A^{-n/2}

因此:

p(y~y)[(n1)s2+(y~yˉ)21+1n]n/2[1+1n1(y~yˉs1+1n)2]n/2\begin{aligned} p(\tilde y|y) &\propto \left[(n-1)s^2+\frac{(\tilde y-\bar y)^2}{1+\frac{1}{n}}\right]^{-n/2} \\ &\propto \left[ 1+\frac{1}{n-1} \left( \frac{\tilde y-\bar y}{s\sqrt{1+\frac{1}{n}}} \right)^2 \right]^{-n/2} \end{aligned}

这正是自由度为 n1n-1、位置参数为 yˉ\bar y、尺度参数为 s1+1ns\sqrt{1+\frac{1}{n}}tt 分布:

y~ytn1(yˉ,s1+1n)\tilde y|y\sim t_{n-1}\left(\bar y,s\sqrt{1+\frac{1}{n}}\right)

因此,后验预测分布比 μ\mu 的边缘后验分布的标准差更宽:

μytn1(yˉ,sn),y~ytn1(yˉ,s1+1n)\mu|y\sim t_{n-1}\left(\bar y,\frac{s}{\sqrt n}\right), \qquad \tilde y|y\sim t_{n-1}\left(\bar y,s\sqrt{1+\frac{1}{n}}\right)

这是因为预测一个新的观测值时,不仅要考虑均值 μ\mu 的后验不确定性,还要考虑未来观测值自身的随机波动。

正态数据与共轭先验分布(未知均值和方差的一元正态模型)

共轭先验分布族

在将模型推向更一般的情况时,我们为二参数单变量正态抽样模型假设一个共轭先验分布会比非信息先验分布更值得考虑。对于

p(μ,σ2y)σn2exp(12σ2[(n1)s2+n(yˉμ)2])p(\mu, \sigma^2|y) \propto \sigma^{-n-2} \exp\left(-\frac{1}{2\sigma^2}\big[(n-1)s^2 + n(\bar{y} - \mu)^2\big]\right)

这种形式的,共轭先验密度必须具有乘积形式 p(σ2)p(μσ2)p(\sigma^2)p(\mu|\sigma^2), 此时,σ2\sigma^2 的边缘分布是 scaled inverse-χ2\chi^2 分布,μσ2\mu|\sigma^2 的条件分布是正态分布(这样才会有 μ\mu 的边缘分布是 tt 分布)一个方便的参数化方式如下:

μσ2N(μ0,σ2/κ0)σ2Invχ2(ν0,σ02)\mu|\sigma^{2} \sim \mathrm{N}(\mu_{0}, \sigma^{2}/\kappa_{0}) \\ \sigma^{2} \sim \mathrm{Inv-}\chi^{2}(\nu_{0}, \sigma_{0}^{2})

此时,对应的先验分布为:

p(μ,σ2)p(μσ2)p(σ2)κ02πσexp(κ02σ2(μμ0)2)(σ2)(ν0/2+1)exp(12σ2ν0σ02)σ1(σ2)(ν0/2+1)exp(12σ2[ν0σ02+κ0(μ0μ)2])\begin{aligned} p(\mu,\sigma^2) &\propto p(\mu|\sigma^2)p(\sigma^2) \\ &\propto \frac{\sqrt{\kappa_0}}{\sqrt{2\pi}\sigma}\exp\left({-\frac{\kappa_0}{2\sigma^2}(\mu-\mu_0)^2}\right) (\sigma^2)^{-(\nu_0/2+1)}\exp\left({-\frac{1}{2\sigma^2}\nu_0\sigma_0^2}\right) \\ &\propto \sigma^{-1}(\sigma^{2})^{- (\nu_{0}/2+1)} \exp\left(-\frac{1}{2\sigma^{2}}\left[ \nu_{0}\sigma_{0}^{2} + \kappa_{0}(\mu_{0}-\mu)^{2} \right]\right) \end{aligned}

对于这个共轭先验,我们记作

NInvχ2(μ,σ2μ0,σ2/κ0;ν0,σ02)\mathrm{N-Inv-}\chi^2(\mu,\sigma^2|\mu_0,\sigma^2/\kappa_0;\nu_0,\sigma_0^2)

这个分布里有四个未知参数: (μ0,κ0,ν0,σ02)(\mu_0,\kappa_0,\nu_0,\sigma_0^2) ,其中前两个分别为 μ\mu 的位置和缩放参数,后面分别是 σ2\sigma^2 的自由度和放缩参数。

μσ2\mu|\sigma^2 的条件分布中出现 σ2\sigma^2 意味着 μ\muσ2\sigma^2 在其联合共轭先验密度中必然相关。如果 σ2\sigma^2 很大,则会在 μ\mu 上诱导出一个高方差的先验分布。考虑到共轭先验分布主要是为了方便而使用的,这种依赖性就显得尤为值得注意。关于 μ\mu 的先验分布就通过 yy 的测量尺度进行校准,并且等价于该尺度上的 κ0\kappa_0 的先验测量。

联合后验分布

我们有了先验之后,我们乘以似然得到后验分布:

p(μ,σ2y)p(μ,σ2)p(yμ,σ2)σ1(σ2)(ν0/2+1)exp(12σ2[ν0σ02+κ0(μμ0)2])×(σ2)n/2exp(12σ2[(n1)s2+n(yˉμ)2])\begin{aligned} p(\mu,\sigma^2|y) &\propto p(\mu,\sigma^2)p(y|\mu,\sigma^2)\\ &\propto \sigma^{-1}(\sigma^{2})^{-(\nu_{0}/2+1)} \exp\left(-\frac{1}{2\sigma^{2}}[\nu_{0}\sigma_{0}^{2}+\kappa_{0}(\mu-\mu_{0})^{2}]\right)\times (\sigma^{2})^{-n/2}\exp\left(-\frac{1}{2\sigma^{2}}[(n-1)s^{2}+n(\bar{y}-\mu)^{2}]\right) \end{aligned}

通过代数转变:

νn=ν0+nκn=κ0+nμn=κ0κ0+nμ0+nκ0+nyˉνnσn2=ν0σ02+(n1)s2+κ0nκ0+n(yˉμ0)2\nu_n = \nu_0+n \\ \kappa_n = \kappa_0 +n \\ \mu_n = \frac{\kappa_0}{\kappa_0+n} \mu_0+ \frac{n}{\kappa_0+n} \bar{y} \\ \nu_n\sigma_n^2 = \nu_0\sigma_0^2 + (n-1)s^2 + \frac{\kappa_0n}{\kappa_0+n}(\bar{y}-\mu_0)^2

于是乎,就可以写作:

p(μ,σ2y)NInvχ2(μ,σ2μn,σn2/κn;νn,σn2)p(\mu,\sigma^2|y) \propto \mathrm{N-Inv-}\chi^{2}(\mu,\sigma^{2}|\mu_{n},\sigma^{2}_{n}/\kappa_{n}; \nu_{n},\sigma^{2}_{n})

均值的条件后验分布

这时候,我们一样的,可以写出条件后验分布 p(μσ2,y)p(\mu|\sigma^2,y)

μσ2,yN(μn,σ2/κn)=N((κ0/σ2)μ0+(n/σ2)yˉκ0/σ2+n/σ2,1κ0/σ2+n/σ2)\begin{aligned} \mu |\sigma^2, y &\sim N(\mu_{n}, \sigma^2/\kappa_{n}) \\&= N\left( \frac{(\kappa_{0}/\sigma^{2}) \mu_{0} + (n/\sigma^{2}) \bar{y}}{\kappa_{0}/\sigma^{2} + n/\sigma^{2}}, \frac{1}{\kappa_{0}/\sigma^{2} + n/\sigma^{2}} \right) \end{aligned}

标准差的边缘后验分布

我们知道,σ2\sigma^2 的边缘后验分布是scaled inverse-χ2\chi^2 分布,因此:

σ2yInvχ2(νn,σn2)\sigma^{2}|y \sim \mathrm{Inv-}\chi^{2}(\nu_{n}, \sigma_{n}^{2})

随后抽样的方法如前一样,我们先从标准差的边缘后验分布抽样得到 σ2\sigma^2 ,然后用模拟得到的 σ2\sigma^2 从均值的条件后验分布里抽样得到 μ\mu

均值的边缘后验分布

p(μy)(1+κn(μμn)2νnσn2)(νn+1)/2=tνn(μμn,σn2/κn)\begin{aligned} p(\mu|y) &\propto \left( 1 + \frac{\kappa_n(\mu - \mu_n)^2}{\nu_n \sigma_n^2} \right)^{-(\nu_n+1)/2} \\ &= t_{\nu_n}(\mu|\mu_n, \sigma_n^2/\kappa_n) \end{aligned}

分类数据的多项模型

我们知道当结果只有两个时,yi=(0,1)y_i = (0,1) ,此时我们可以使用二项分布来作为分布,但,在现实中,我们感兴趣的结果可能有多个,即 $y_i = 0, 1, \dots,jk, 于是乎:

p(yθ)j=1kθjyjp(y|\theta) \propto \prod_{j=1}^{k} \theta^{y_j}_{j}

其中, j=1kθj=1\sum^k_{j=1}\theta_j = 1j=1kyj=n\sum^k_{j=1}y_j = n

那么,此时共轭先验分布就是广义的Beta分布,又称为狄利克雷(Dirichlet)分布。

是的,就是那个德国数学家狄利克雷,其提出了狄利克雷函数,验证了连续不可导的函数,为数学分析里典型的病态函数。

Dirichlet Distribution:

记作:θDirechlet(α1,,αk)\theta \sim \operatorname{Direchlet}(\alpha_1,\dots,\alpha_k)

密度函数:

p(θ)=Γ(α1++αk)Γ(α1)Γ(αk)θ1α11θkαk1,θ1θk>0,j=1kθj=1p(\theta) = \frac{\Gamma(\alpha_1 + \cdots + \alpha_k)}{\Gamma(\alpha_1) \cdots \Gamma(\alpha_k)} \theta_1^{\alpha_1 - 1} \dots \theta_k^{\alpha_k - 1}, \quad \theta_1 \dots \theta_k >0,\quad \sum^k_{j=1}\theta_j = 1

期望:E(θj)=αjα0E(\theta_j) = \frac{\alpha_j}{\alpha_0} \\

方差:var(θj)=αj(α0αj)α02(α0+1)\operatorname{var}(\theta_j) = \frac{\alpha_j(\alpha_0-\alpha_j)}{\alpha_0^2(\alpha_0+1)} \\

cov(θi,θj)=αiαjα02(α0+1)\operatorname{cov}(\theta_i,\theta_j)= -\frac{\alpha_i\alpha_j}{\alpha_0^2(\alpha_0+1)}\\

众数:mode(θj)=αj1αjk\operatorname{mode}(\theta_j) = \frac{\alpha_j-1}{\alpha_j-k} \\

先验分布写作:

p(θα)j=1kθjαj1p(\theta|\alpha) \propto \prod_{j=1}^{k} \theta_j^{\alpha_j-1}

这里需要主要的是,这里所有的 θ\theta 值都应该为非负。以 α\alpha 为尺度的先验分布在数学上等价于从 j=1k(αj1)\sum_{j=1}^{k} (\alpha_j - 1) 中第 jj 个分类的似然函数。这里我们和二项分布一样,我们为 α\alpha 设置一个均匀分布作为非信息先验。,我们为所有的 jj 都设置 αj=1\alpha_j=1 ,应该注意,如果我们设置 αj=0\alpha_j=0 ,这不是一个合适的先验。如果每个 kk 个类别中至少有一个观测值,使得 yy 的每个分量均为正,则所得的后验分布是合适的先验。在后面,我们还会使用层级模型来构建信息先验。

已知方差的多元正态模型

在这一节里,这个在很多贝叶斯的模型里是十分重要的,在原著中标名为“ central activity of much applied statistical work“

因为现在是多元正态模型,因此我们有了很多的变量,这些变量都符合正态分布,因此,他们之间就有了不同的均值和不同的方差。

本文将讨论的基本模型涉及一个具有 d 个分量的可观测向量 y,该向量服从多元正态分布。

yμ,ΣN(μ,Σ)y | \mu , \Sigma \sim N( \mu , \Sigma )

这里的 μ\mu 是一个列向量,其长度为 ddΣ\Sigma 是一个 d×dd\times d 的方差矩阵,其具有对称性且是正定矩阵。

对于单一观测值,其似然可以写作:

p(yμ,Σ)Σ1/2exp(12(yμ)TΣ1(yμ))p(y|μ,\Sigma) ∝ |\Sigma|^{-1/2} \exp\left(-\tfrac{1}{2}(y-μ)^T \Sigma^{-1} (y-μ)\right)

更一般的,对于多个观测值,其观测值之间是互相独立的,则有

p(y1,,ynμ,Σ)Σn/2exp(12i=1n(yiμ)TΣ1(yiμ))p(y_1,\dots,y_n\mid \mu, \Sigma) \propto |\Sigma|^{-n/2}\exp\left(-\tfrac{1}{2}\sum_{i=1}^{n}(y_i-\mu)^T\Sigma^{-1}(y_i-\mu)\right)

因为我们现在已知方差,我们对 μ\mu 设置先验即可,我们知道正态分布的共轭先验仍然为正态分布,由于 μ\mu 是一个列向量,所以我们为它设置的先验同样的,对均值是一个列向量,方差是一个矩阵

于是乎,我们写出先验:

μN(μ0,Λ0)\mu \sim \operatorname{N}(\mu_0, \Lambda_0)

于是乎,我们就可以写出后验分布:

p(μy,Σ)exp(12((μμ0)TΛ01(μμ0)+i=1n(yiμ)TΣ1(yiμ)))p(\mu|y,\Sigma) \propto \exp\left(-\tfrac{1}{2}\left(\left(\mu - \mu_0\right)^T \Lambda_0^{-1} \left(\mu - \mu_0\right) + \sum_{i=1}^{n} (y_i - \mu)^T \Sigma^{-1} (y_i - \mu)\right)\right)

由于:

(μμ0)TΛ01(μμ0)=μTΛ01μ2μTΛ01μ0+const,i=1n(yiμ)TΣ1(yiμ)=nμTΣμ2μTΣ1i=1nyi+const(\mu-\mu_0)^T \Lambda_0^{-1}(\mu-\mu_0) = \mu^T \Lambda_0^{-1}\mu-2\mu^T\Lambda_0^{-1}\mu_0+\text{const}, \\ \sum_{i=1}^n(y_i-\mu)^T\Sigma^{-1}(y_i-\mu)=n\mu^T\Sigma\mu-2\mu^T\Sigma^{-1}\sum_{i=1}^n y_i+\text{const}

又因为 (\sum_i y_i=n\bar y),两项相加得到

μT(Λ01+nΣ1)μ2μT(Λ01μ0+nΣ1yˉ)+const.\mu^T(\Lambda_0^{-1}+n\Sigma^{-1})\mu -2\mu^T(\Lambda_0^{-1}\mu_0+n\Sigma^{-1}\bar y) +\text{const}.

令:

Λn1=Λ01+nΣ1μn=(Λ01+nΣ1)1(Λ01μ0+nΣ1yˉ).\Lambda_n^{-1}=\Lambda_0^{-1}+n\Sigma^{-1} \\ \mu_n=(\Lambda_0^{-1}+n\Sigma^{-1})^{-1}(\Lambda_0^{-1}\mu_0+n\Sigma^{-1}\bar y).

于是乎,线性项满足:

Λ01μ0+nΣ1yˉ=Λn1μn\Lambda_0^{-1}\mu_0+n\Sigma^{-1}\bar y=\Lambda_n^{-1}\mu_n

代回原式,

μTΛn1μ2μTΛn1μn=(μμn)TΛn1(μμn)μnTΛn1μn\begin{aligned} &\mu^T\Lambda_n^{-1}\mu-2\mu^T\Lambda_n^{-1}\mu_n \\&\quad =(\mu-\mu_n)^T\Lambda_n^{-1}(\mu-\mu_n)-\mu_n^T\Lambda_n^{-1}\mu_n \end{aligned}

最后一项不含 (\mu),在 (\propto) 中被吸收到归一化常数。因此

p(μy,Σ)exp[12(μμn)TΛn1(μμn)]p(\mu\mid y,\Sigma)\propto\exp\left[-\frac12(\mu-\mu_n)^T\Lambda_n^{-1}(\mu-\mu_n)\right]

于是乎有:

p(μy,Σ)exp(12(μμn)TΛn1(μμn))=N(μμn,Λn)\begin{aligned} p(\mu|y,\Sigma) &\propto \exp\left(-\tfrac{1}{2}(\mu-\mu_n)^T\Lambda_n^{-1}(\mu-\mu_n)\right) \\ &= N(\mu|\mu_n,\Lambda_n) \end{aligned}

这跟我们之前看到的单变量的正态模型很像,后验均值是数据和先验均值的加权平均值,权重由数据和先验精度矩阵给出。后验精度是先验精度和数据精度之和。

已知方差的 µ 的子向量的后验条件分布和边缘分布

我们很容易知道,参数子集 μ(1)\mu^{(1)}边缘后验分布也是多元正态模型,均值向量等于后验均值向量的相应子向量 μn\mu_n ,方差矩阵等于相应的子矩阵 Λn\Lambda_n 。而对于后验条件分布,给定子集 μ(2)\mu^{(2)} 的值,子集 μ(1)\mu^{(1)} 的条件后验分布服从多元正态分布。如果我们用括号内的上标来表示相应的子向量和子矩阵,那么有:

μ(1)μ(2),yN(μn(1)+β12(μ(2)μn(2)),Λ12)\mu^{(1)} \mid \mu^{(2)}, y \sim \mathrm{N}\left( \mu_n^{(1)} + \beta^{1|2}\left( \mu^{(2)} - \mu_n^{(2)} \right), \Lambda^{1|2} \right)

对于回归系数 β12\beta^{1\mid2} 和条件方差矩阵 Λ12\Lambda^{1\mid2} 其定义为:

β12=Λn(12)(Λn(22))1Λ12=Λn(11)Λn(12)(Λn(22))1Λn(21)\beta^{1\mid2} = \Lambda_n^{(12)}\left(\Lambda_n^{(22)}\right)^{-1}\\ \Lambda^{1\mid2} = \Lambda_n^{(11)} - \Lambda_n^{(12)} \left(\Lambda_n^{(22)}\right)^{-1}\Lambda_n^{(21)}

推导:

将后验均值和后验方差矩阵按照 μ(1)\mu^{(1)}μ(2)\mu^{(2)} 的分块方式写成:

μ=(μ(1)μ(2)),μn=(μn(1)μn(2)),Λn=(Λn(11)Λn(12)Λn(21)Λn(22))\mu = \begin{pmatrix} \mu^{(1)}\\ \mu^{(2)} \end{pmatrix},\qquad \mu_n = \begin{pmatrix} \mu_n^{(1)}\\ \mu_n^{(2)} \end{pmatrix},\qquad \Lambda_n = \begin{pmatrix} \Lambda_n^{(11)} & \Lambda_n^{(12)}\\ \Lambda_n^{(21)} & \Lambda_n^{(22)} \end{pmatrix}

由于

μy,ΣN(μn,Λn)\mu\mid y,\Sigma \sim \mathrm{N}(\mu_n,\Lambda_n)

所以

E(μ(1)y)=μn(1),E(μ(2)y)=μn(2)\operatorname{E}(\mu^{(1)}\mid y)=\mu_n^{(1)},\qquad \operatorname{E}(\mu^{(2)}\mid y)=\mu_n^{(2)}

并且

Var(μ(1)y)=Λn(11),Var(μ(2)y)=Λn(22),Cov(μ(1),μ(2)y)=Λn(12)\operatorname{Var}(\mu^{(1)}\mid y)=\Lambda_n^{(11)},\qquad \operatorname{Var}(\mu^{(2)}\mid y)=\Lambda_n^{(22)},\qquad \operatorname{Cov}(\mu^{(1)},\mu^{(2)}\mid y)=\Lambda_n^{(12)}

为了得到 μ(1)\mu^{(1)} 在给定 μ(2)\mu^{(2)} 后的条件分布,可以先构造一个线性残差:

ε=μ(1)μn(1)B(μ(2)μn(2))\varepsilon= \mu^{(1)}-\mu_n^{(1)}- B\left(\mu^{(2)}-\mu_n^{(2)}\right)

我们希望这个残差与 μ(2)\mu^{(2)} 不相关。于是计算协方差:

Cov(ε,μ(2)y)=Cov(μ(1),μ(2)y)BVar(μ(2)y)=Λn(12)BΛn(22)\begin{aligned} \operatorname{Cov}(\varepsilon,\mu^{(2)}\mid y) &= \operatorname{Cov}(\mu^{(1)},\mu^{(2)}\mid y)- B\operatorname{Var}(\mu^{(2)}\mid y)\\ &= \Lambda_n^{(12)}-B\Lambda_n^{(22)} \end{aligned}

令其等于 00,得到

BΛn(22)=Λn(12)B\Lambda_n^{(22)}=\Lambda_n^{(12)}

因此

B=Λn(12)(Λn(22))1B=\Lambda_n^{(12)}\left(\Lambda_n^{(22)}\right)^{-1}

即回归系数:

β12=Λn(12)(Λn(22))1\beta^{1\mid2}= \Lambda_n^{(12)}\left(\Lambda_n^{(22)}\right)^{-1}

因为 (μ(1),μ(2))(\mu^{(1)},\mu^{(2)}) 联合服从多元正态分布,所以任何线性变换仍然服从多元正态分布。因此,当上面的 BB 这样选取时,ε\varepsilonμ(2)\mu^{(2)} 独立。于是可以把 μ(1)\mu^{(1)} 写成:

μ(1)=μn(1)+β12(μ(2)μn(2))+ε\mu^{(1)}= \mu_n^{(1)}+ \beta^{1\mid2}\left(\mu^{(2)}-\mu_n^{(2)}\right)+ \varepsilon

接下来只需要计算残差 ε\varepsilon 的方差。由

ε=μ(1)μn(1)β12(μ(2)μn(2))\varepsilon= \mu^{(1)}-\mu_n^{(1)}- \beta^{1\mid2}\left(\mu^{(2)}-\mu_n^{(2)}\right)

Var(εy)=Var(μ(1)y)β12Cov(μ(2),μ(1)y)Cov(μ(1),μ(2)y)(β12)T+β12Var(μ(2)y)(β12)T=Λn(11)Λn(12)(Λn(22))1Λn(21)Λn(12)(Λn(22))1Λn(21)+Λn(12)(Λn(22))1Λn(22)(Λn(22))1Λn(21)=Λn(11)Λn(12)(Λn(22))1Λn(21)\begin{aligned} \operatorname{Var}(\varepsilon\mid y) &= \operatorname{Var}(\mu^{(1)}\mid y)- \beta^{1\mid2}\operatorname{Cov}(\mu^{(2)},\mu^{(1)}\mid y)\\ &\quad- \operatorname{Cov}(\mu^{(1)},\mu^{(2)}\mid y)(\beta^{1\mid2})^T+ \beta^{1\mid2}\operatorname{Var}(\mu^{(2)}\mid y)(\beta^{1\mid2})^T\\ &= \Lambda_n^{(11)}- \Lambda_n^{(12)}\left(\Lambda_n^{(22)}\right)^{-1}\Lambda_n^{(21)}- \Lambda_n^{(12)}\left(\Lambda_n^{(22)}\right)^{-1}\Lambda_n^{(21)}\\ &\quad+ \Lambda_n^{(12)}\left(\Lambda_n^{(22)}\right)^{-1}\Lambda_n^{(22)} \left(\Lambda_n^{(22)}\right)^{-1}\Lambda_n^{(21)}\\ &= \Lambda_n^{(11)}- \Lambda_n^{(12)}\left(\Lambda_n^{(22)}\right)^{-1}\Lambda_n^{(21)} \end{aligned}

因此条件方差矩阵为:

Λ12=Λn(11)Λn(12)(Λn(22))1Λn(21)\Lambda^{1\mid2}= \Lambda_n^{(11)}- \Lambda_n^{(12)}\left(\Lambda_n^{(22)}\right)^{-1}\Lambda_n^{(21)}

最后,由于 ε\varepsilonμ(2)\mu^{(2)} 独立,给定 μ(2)\mu^{(2)} 之后,随机性只来自 ε\varepsilon,所以条件分布就是:

μ(1)μ(2),yN(μn(1)+Λn(12)(Λn(22))1(μ(2)μn(2)),Λn(11)Λn(12)(Λn(22))1Λn(21))\mu^{(1)}\mid \mu^{(2)},y \sim \mathrm{N}\left( \mu_n^{(1)}+ \Lambda_n^{(12)}\left(\Lambda_n^{(22)}\right)^{-1} \left(\mu^{(2)}-\mu_n^{(2)}\right), \Lambda_n^{(11)}- \Lambda_n^{(12)}\left(\Lambda_n^{(22)}\right)^{-1}\Lambda_n^{(21)} \right)

后验预测分布

我们一样能写出后验分布的表达式:

p(y~,μy)=p(y~y)p(μy)=N(y~μ,Σ)N(μμn,Λn)\begin{aligned} p(\tilde y,\mu|y) &= p(\tilde y|y) p(\mu|y) \\ &= \mathrm{N}(\tilde y|\mu,\Sigma) \mathrm{N}(\mu|\mu_n,\Lambda_n) \end{aligned}

于是乎,我们也可以写出 y~\tilde y 的后验均值和方差:

E(y~y)=E(E(y~μ,y)y)=E(μy)=μnvar(y~y)=E(var(y~μ,y)y)+var(E(y~μ,y)y)=E(Σy)+var(μy)=Σ+ΛnE(\tilde{y}|y) = E(E(\tilde{y}|\mu, y)|y) = E(\mu|y) = \mu_n \\ \mathrm{var}(\tilde{y}|y) = E(\mathrm{var}(\tilde{y}|\mu, y)|y) + \mathrm{var}(E(\tilde{y}|\mu, y)|y) = E(\Sigma|y) + var(\mu|y) = \Sigma + \Lambda_n

未知均值和方差的多元正态模型

共轭先验族

在之前的单元正态模型中,我们使用了 Scaled Inverse-χ2\chi^2 分布对方差进行先验分布的设定,然后在抽样获得方差,使用正态分布的先验对均值进行设定。在多元正态模型中,我们使用类似的想法,但唯一的问题是,我们不能在使用 Scaled Inverse-χ2\chi^2 分布,而是要使用广义的Scaled Inverse-χ2\chi^2 分布,即 Inverse-Wishart 分布

Inverse-Wishart Distribution

记作:WInvWishartν(S1)W \sim \mathrm{Inv-Wishart}_{\nu}(S^{-1})

​ 其中, ν\nu 为自由度,SSk×kk \times k 的对称正定矩阵

密度方程:

p(W)=(2νk/2πk(k1)/4i=1kΓ(ν+1i2))1×Sν/2W(ν+k+1)/2×exp(12tr(SW1)),  W pos. definitep(W) = \left( 2^{\nu k/2}\pi^{k(k-1)/4} \prod_{i=1}^{k} \Gamma\left( \frac{\nu+1-i}{2} \right) \right)^{-1} \times |S|^{\nu/2}|W|^{- (\nu+k+1)/2} \times \exp\left(-\tfrac{1}{2} \mathrm{tr}(SW^{-1})\right), \; W \text{ pos. definite}

期望:E(W)=(νk1)1SE(W) = (\nu - k - 1)^{-1} S

威沙特分布看着确实很吓人

写出我们的共轭先验:

ΣInv-Wishartν0(Λ01)μΣN(μ0,Σ/κ0)\Sigma \sim \text{Inv-Wishart}_{\nu_0}(\Lambda_0^{-1})\\ \mu|\Sigma \sim \mathrm{N}(\mu_0, \Sigma/\kappa_0)

于是乎,我们就可以写出联合先验分布 p(μ,Σ)p(\mu,\Sigma)

p(μ,Σ)Σ((ν0+d)/2+1)exp(12tr(Λ0Σ1)κ02(μμ0)TΣ1(μμ0))p(\mu, \Sigma) \propto |\Sigma|^{-((\nu_0 + d)/2 + 1)} \exp\left(-\frac{1}{2} \mathrm{tr}(\Lambda_0 \Sigma^{-1}) - \frac{\kappa_0}{2}(\mu - \mu_0)^T \Sigma^{-1} (\mu - \mu_0)\right)

类似的,我们记作: μ,ΣNInvWishart(μ0,Λ0/κ0;ν0,Λ0)\mu,\Sigma \sim \mathrm{N-Inv-Wishart}(\mu_0, \Lambda_0/\kappa_0;\nu_0,\Lambda_0)

同样的,这里我们也有四个未知参数,我们就可以写出后验分布的表达式:

类似的,我们最终得到的后验分布,也会是与先验同样的分布,我们写作:

μ,ΣyNInvWishart(μn,Λn/κn;νn,Λn)\mu,\Sigma |y \sim \mathrm{N-Inv-Wishart}(\mu_n, \Lambda_n/\kappa_n;\nu_n,\Lambda_n)

与前面提到的未知均值和方差的一元正态模型类似,我们可以写出他们的表达式:

μn=κ0κ0+nμ0+nκ0+nyˉκn=κ0+nνn=ν0+nΛn=Λ0+S+κ0nκ0+n(yˉμ0)(yˉμ0)T\begin{aligned} \mu_n &= \frac{\kappa_0}{\kappa_0 + n}\mu_0 + \frac{n}{\kappa_0 + n}\bar{y} \\ \kappa_n &= \kappa_0 + n \\ \nu_n &= \nu_0 + n \\ \Lambda_n &= \Lambda_0 + S + \frac{\kappa_0 n}{\kappa_0 + n}(\bar{y} - \mu_0)(\bar{y} - \mu_0)^T \end{aligned}

其中: SS 为关于样本均值的平方和矩阵

S=i=1n(yiyˉ)(yiyˉ)TS = \sum_{i=1}^{n} (y_i - \bar{y})(y_i - \bar{y})^T

于是乎,在未知均值和未知方差矩阵的情况下,我们仍然可以通过共轭结构得到一套比较完整的后验推断结果。

μ\mu 的边缘后验分布

在联合后验分布中,μ\mu 的条件后验分布是:

μΣ,yN(μn,Σ/κn)\mu|\Sigma,y \sim \mathrm{N}(\mu_n,\Sigma/\kappa_n)

Σy\Sigma|y 服从 inverse-Wishart 分布。由于 μ\mu 的条件分布依赖于随机的 Σ\Sigma,如果把 Σ\Sigma 积分掉,那么 μ\mu 的边缘后验分布就不再是正态分布,而是多元 tt 分布:

μytνnd+1(μn,Λnκn(νnd+1))\mu|y \sim t_{\nu_n-d+1}\left(\mu_n,\frac{\Lambda_n}{\kappa_n(\nu_n-d+1)}\right)

这里的自由度是 νnd+1\nu_n-d+1。从直观上看,这和一元正态模型中未知方差时 μ\mu 的边缘后验分布变成 tt 分布是同一件事。区别只是在多元情形中,自由度需要扣除矩阵维度 dd 的影响,尺度也从标量变成了矩阵。

后验预测分布

对于一个新的观测值 y~\tilde{y},则有:

y~μ,Σ,yN(μ,Σ)\tilde{y}|\mu,\Sigma,y \sim \mathrm{N}(\mu,\Sigma)

在后验预测分布中,y~\tilde{y} 的不确定性同时来自两个部分:第一,真实参数 μ,Σ\mu,\Sigma 本身不确定;第二,即使给定了参数,新的观测值也仍然有抽样误差。因此把 μ\muΣ\Sigma 都积分掉之后,y~\tilde{y} 的后验预测分布也是多元 tt 分布:

y~ytνnd+1(μn,(κn+1)Λnκn(νnd+1))\tilde{y}|y \sim t_{\nu_n-d+1}\left(\mu_n,\frac{(\kappa_n+1)\Lambda_n}{\kappa_n(\nu_n-d+1)}\right)

μy\mu|y 的边缘后验分布相比,后验预测分布的尺度矩阵多了一个 κn+1\kappa_n+1 的因子。这是因为预测一个新的 y~\tilde{y} 时,不仅要考虑 μ\mu 的后验不确定性,还要加上新观测值自身的随机波动。即:

Var(y~y)=Var(μy)+E(Σy)\operatorname{Var}(\tilde{y}|y) = \operatorname{Var}(\mu|y) + \operatorname{E}(\Sigma|y)

它通常会比 μy\mu|y 的边缘后验分布更分散。

从联合后验分布中抽样

由于后验分布保持了N-inverse-Wishart 的共轭形式,所以从联合后验分布中抽样非常直接。正如一元正态模型中我们的处理方式一样,只不过,我们现在抽的不再是单一的方差和均值标量:

  1. 先抽取方差矩阵:

    ΣyInv-Wishartνn(Λn1)\Sigma|y \sim \mathrm{Inv\text{-}Wishart}_{\nu_n}(\Lambda_n^{-1})
  2. 在已经抽到的 Σ\Sigma 条件下,再抽取均值向量:

    μΣ,yN(μn,Σ/κn)\mu|\Sigma,y \sim \mathrm{N}(\mu_n,\Sigma/\kappa_n)

如果还想从后验预测分布中抽取一个新的观测值,则在每一组已经抽到的 (μ,Σ)(\mu,\Sigma) 条件下继续抽:

y~μ,Σ,yN(μ,Σ)\tilde{y}|\mu,\Sigma,y \sim \mathrm{N}(\mu,\Sigma)

因此,一次完整的后验预测模拟可以写成:

Σ(s)yμ(s)Σ(s),yy~(s)μ(s),Σ(s),y\Sigma^{(s)}|y \rightarrow \mu^{(s)}|\Sigma^{(s)},y \rightarrow \tilde{y}^{(s)}|\mu^{(s)},\Sigma^{(s)},y

不同的非信息先验设定

上面使用的是共轭先验:

ΣInv-Wishartν0(Λ01),μΣN(μ0,Σ/κ0)\Sigma \sim \mathrm{Inv\text{-}Wishart}_{\nu_0}(\Lambda_0^{-1}),\qquad \mu|\Sigma \sim \mathrm{N}(\mu_0,\Sigma/\kappa_0)

但在实际建模时,我们也常常希望使用更弱的信息先验。多元正态模型中常见的非信息先验主要有下面几种。

第一种做法是令:

ΣInv-Wishartd+1(I)\Sigma \sim \mathrm{Inv\text{-}Wishart}_{d+1}(I)

这个设定有一个比较好的性质:Σ\Sigma 中每个相关系数的边缘先验分布都是均匀分布。注意,这里说的是每一个相关系数的边缘分布是均匀的,并不是整个相关矩阵的联合分布是均匀的。因为相关矩阵必须是正定矩阵,这个正定性约束会使联合分布受到限制。

第二种做法是使用多元 Jeffreys 先验:

p(μ,Σ)Σ(d+1)/2p(\mu,\Sigma)\propto |\Sigma|^{-(d+1)/2}

它可以看作是共轭先验在下面极限情形下的结果:

κ00,ν01,Λ00\kappa_0\rightarrow 0,\qquad \nu_0\rightarrow -1,\qquad |\Lambda_0|\rightarrow 0

在这个先验下,如果后验分布是 proper 的,那么后验可以写成:

ΣyInv-Wishartn1(S1)\Sigma|y \sim \mathrm{Inv\text{-}Wishart}_{n-1}(S^{-1})

以及

μΣ,yN(yˉ,Σ/n)\mu|\Sigma,y \sim \mathrm{N}(\bar{y},\Sigma/n)

进一步把 Σ\Sigma 积分掉,可以得到:

μytnd(yˉ,Sn(nd))\mu|y \sim t_{n-d}\left(\bar{y},\frac{S}{n(n-d)}\right)

这里可以看到,样本量必须相对于维度足够大,否则自由度 ndn-d 会出问题,后验分布也可能不是 proper 的。

Scaled inverse-Wishart 模型

直接给 Σ\Sigma 设置 inverse-Wishart 先验虽然方便,但也有一个问题:它把方差和相关性绑定在同一个矩阵先验里。如果我们希望更灵活地分别控制方差和相关系数,可以使用 scaled inverse-Wishart 模型。

这个模型把协方差矩阵写成:

Σ=Diag(ξ)ΣηDiag(ξ)\Sigma=\operatorname{Diag}(\xi)\Sigma_{\eta}\operatorname{Diag}(\xi)

其中,ξ\xi 是一组尺度参数,控制每个维度的标准差大小;Ση\Sigma_{\eta} 则主要控制变量之间的相关结构。通常可以给 Ση\Sigma_{\eta} 设置 inverse-Wishart 先验,例如:

ΣηInv-Wishartd+1(I)\Sigma_{\eta}\sim \mathrm{Inv\text{-}Wishart}_{d+1}(I)

这样可以让相关系数具有比较弱的信息先验;同时再单独给尺度参数 ξ\xi 设置弱信息先验。

这种写法的好处是:相关矩阵和方差大小可以被分开建模,不会因为选择了某个 inverse-Wishart 先验而同时对方差和相关性施加过强约束。在层级模型,尤其是随机截距、随机斜率这类模型中,这种分离方差和相关结构的思路会非常有用。