Von Weber's Blog

No models are correct, but some are more elegant than others.

Laplace Approximation

统计中的计算问题大致可以分成两类,积分问题和最优化问题,积分问题常常和Bayes方法有关,最优化问题常常和似然方法相关。求积分的方法,除了基于模拟的Monte Carlo方法外,也有一些基于分析的方法在统计中常见,其中最古老也最有用的方法就是Laplace近似。

假设我们感兴趣的积分问题是
$$\int_A f(x|\theta) dx$$
其中 $f$ 是非负可积函数,$\theta$ 是固定的参数。

将被积函数写作 $f(x|\theta)=\exp \{ nh(x|\theta) \}$,其中n是样本大小或者某个可以趋近无穷大的参数,对 $h(x|\theta)$ 在 $x_0$ 点作Taylor展开,得到
$$h(x|\theta) =
h(x_0|\theta)+(x-x_0)h’(x_0|\theta)+{(x-x_0)^2 \over 2!} h’’(x_0|\theta)+
{(x-x_0)^3 \over 3!} h’’’(x_0|\theta) + R_n(x)$$
其中 $R_n(x) = o((x-x_0)^3), x \to x_0.$

现在选择 $x_0=\hat x_{\theta}$,满足 $h’(x_0|\theta)=0$ 且最大化 $h(x|\theta)$。在 $\hat x_{\theta}$ 的某个邻域成立
$$\int_A e^{nh(x|\theta)} dx \approx e^{nh(\hat x_{\theta}|\theta)} \int_A
e^{n {(x-x_0)^2 \over 2!} h’’(\hat x_{\theta}|\theta)}
e^{n {(x-x_0)^3 \over 3!} h’’’(\hat x_{\theta}|\theta)}$$
对于三阶导项,若考虑指数展开 $e^y \approx 1+y+y^2/{2!}$ ,得到近似
$$e^{n {(x-x_0)^3 \over 3!} h’’’(\hat x_{\theta}|\theta)} \approx
1+ n {(x-x_0)^3 \over 3!} h’’’(\hat x_{\theta}|\theta)+
n^2 {(x-x_0)^6 \over {2! (3!)^2 }} [ h’’’(\hat x_{\theta}|\theta) ]^2$$

带回去,我们得到
$$\int_A e^{nh(x|\theta)} dx \approx
e^{nh(\hat x_{\theta}|\theta)} \int_A
e^{n {(x-x_0)^2 \over 2!} h’’(\hat x_{\theta}|\theta)} \times
\left[ 1+ n {(x-x_0)^3 \over 3!} h’’’(\hat x_{\theta}|\theta)+
n^2 {(x-x_0)^6 \over {2! (3!)^2 }} [ h’’’(\hat x_{\theta}|\theta) ]^2 \right] dx$$
上式方括号内分别取前1/2/3项,分别叫做一阶/二阶/三阶Laplace近似。

特别地,对于一阶近似,注意到其和正态分布密度的关系,我们可以将其表示为
$$\int_A e^{nh(x|\theta)} dx \approx
e^{nh(\hat x_{\theta}|\theta)}
\sqrt{2 \pi \over {-n h’’(\hat x_{\theta}|\theta)}} \times
\left \{ \Phi [ \sqrt{-n h’’(\hat x_{\theta}|\theta)} (b- \hat x_{\theta}) ] -
\Phi [ \sqrt{-n h’’(\hat x_{\theta}|\theta)} (a- \hat x_{\theta}) ]\right \} $$
其中,取 $A=[ a,b ]$,$\Phi(\cdot)$ 为标准正态分布的cdf。

从上面的形式可以看出,Laplace近似的计算不存在本质困难,但二三阶近似的计算略显繁琐。

Gamma积分的近似

若以一例来说明Laplace近似的功效,我们考虑Gamma分布 $\mathcal{G}a(\alpha, 1/ \beta)$ 的积分
$$\int_a^b {x^{\alpha-1} \over {\Gamma (\alpha) \beta^\alpha}} e^{-x/ \beta} dx$$

略去分母的常数,首先求得 $h(x) = - {x \over \beta} +(\alpha-1) \log(x)$,一二三阶导数分别为
$$\begin{align}
h’(x) &= {\alpha -1 \over x}- {1 \over \beta} \\
h’’(x) &= - {\alpha-1 \over x^2} \\
h’’’(x) &= {2(\alpha-1) \over x^3}
\end{align}$$
对于 $\alpha=5, \beta=2$,选取 $\hat x_\theta = (\alpha-1)\beta=8$。对于不同的积分区间,计算Laplace近似,得到下表

区间 一阶近似 二阶近似 三阶近似 精确值
(7,9) 0.193351 0.193351 0.193351 0.193341
(6,10) 0.375046 0.375046 0.375057 0.374770
(2,14) 0.848559 0.848559 0.859839 0.823349
(0,7) 0.370755 0.293452 0.315920 0.274555
(15.987,$\infty$) 0.022454 0.075564 0.155272 0.100005

由此可以看出,对于一般的包含的 $\hat x_\theta$ 的区间,Laplace近似效果不错,尤其的关于 $\hat x_\theta$ 对称的区间,由于二阶近似等于一阶近似,一阶近似的值已经相当精确。但是对于偏离 $\hat x_\theta$ 的区间,近似的偏差较大,对于尾概率的估计更是难以接受。相较于费时的Monte Carlo方法,快捷的Laplace近似可以看作最终解决方案的一个指导。

⬅️ Go back