【摘 要】在空间统计学中,面元数据的空间统计建模通常是采用马尔可夫随机场实施的。本文针对单随机变量(随机过程)情况,介绍了其定义、性质、推断方法、分布的计算等内容,尤其突出了高斯马尔可夫随机场(GMRF)。内容摘自 Gelfand 的 《空间统计手册》第十二章。
【原 文】 Gelfand, A.E. et al. (2010), Handbook of spatial statistics (chapter 12). CRC press.
空间随机变量的有限集合的统计建模,通常通过马尔可夫随机场 (MRF) 完成。 MRF 是通过一组条件分布来指定的,其中每一个条件对应于某个分量在给定其他分量时的条件分布。这使人们能够每次只专注于单个随机变量,并导致了基于模拟的简单 MRF 计算程序,特别是利用马尔可夫链蒙特卡罗 (MCMC) 进行贝叶斯推断。
本章的主要目的是全面介绍高斯马尔可夫随机场( GMRF )的情况,重点是通用性质和高效计算方法。示例和应用将会出现在 第 13 章
和 第 14 章
。我们将在本章最后讨论联合分布不是高斯的一般情况,特别是著名的 Hammersley-Clifford 定理
。
涉及本章的主要参考文献:
Rue 和 Held (2005) 的专著对 GMRF 给出了现代和一般性的参考;
对于更一般的马尔可夫随机场,大家可以参考 Guyon (1995) 和 Lauritzen (1996) 的方法背景和 Li (2001) 的图像空间应用分析;当然,J. Besag (1974, 1975) 的开创性论文仍然值得一读。
12.1 符号
x = ( x 1 , … , x n ) ⊤ \mathbf{x} = (x_1,\ldots ,x_n)^{\top} x = ( x 1 , … , x n ) ⊤ 表示 n n n 维向量,x i x_i x i 表示第 i i i 个元素
x A = { x i : i ∈ A } \mathbf{x}_A = \{ x_i : i \in A\} x A = { x i : i ∈ A } ,x − A = { x i : i ∉ A } \mathbf{x}_{-A} =\{x_i : i \notin A\} x − A = { x i : i ∈ / A } ,x i : j = ( x i , … , x j ) ⊤ , j ≥ i \mathbf{x}_{i : j} = (x_i ,\ldots ,x_j )^{\top},\quad j \geq i x i : j = ( x i , … , x j ) ⊤ , j ≥ i
用 π ( ⋅ ) \pi(\cdot) π ( ⋅ ) 和 π ( ⋅ ∣ ⋅ ) \pi(\cdot | \cdot) π ( ⋅ ∣ ⋅ ) 表示其参数的(概率)密度,例如 π ( x ) \pi(\mathbf{x}) π ( x ) 和 π ( x i ∣ x − i ) \pi(x_i |\mathbf{x}_{-i}) π ( x i ∣ x − i )
高斯分布用 N ( μ , Σ ) \mathcal{N}(\boldsymbol{\mu,\Sigma}) N ( μ , Σ ) 表示,随机变(向)量 x \mathbf{x} x 的密度为 N ( x ; μ , Σ ) \mathcal{N}(\mathbf{x};\boldsymbol{\mu,\Sigma}) N ( x ; μ , Σ ) ,其中 μ \boldsymbol{\mu} μ 是期望值, Σ \boldsymbol{\Sigma} Σ 是协方差矩阵
缩写 SPD
表示 对称正定矩阵
矩阵 ∣ A ∣ |\mathbf{A}| ∣ A ∣ 的带宽是在所有 i i i , j j j 上 A i , j ≠ 0 A_{i,j} \neq 0 A i , j = 0 的 max ∣ i − j ∣ \max |i − j| max ∣ i − j ∣ 。
12.2 高斯马尔可夫随机场( GMRF )
12.2.1 定义
我们将首先一般性地讨论 GMRF,然后稍后讨论其条件分布的定义。 GMRF 是一个高斯分布的随机向量 x \mathbf{x} x ,但其服从一些条件独立性质。具体来说,对于某些 i ≠ j i \neq j i = j ,有:
x i ⊥ x j ∣ x − ( i , j ) (12.1) x_i \perp x_j | \mathbf{x}_{-(i,j)} \tag{12.1}
x i ⊥ x j ∣ x − ( i , j ) ( 12.1 )
上式意味着:如果以 x − ( i , j ) \mathbf{x}_{-(i,j)} x − ( i , j ) 为条件,则 x i x_i x i 和 x j x_j x j 是独立的。
这种条件独立性可以使用(无向)有标签图 G = ( V , E ) \mathcal{G} = (\mathcal{V}, \mathcal{E}) G = ( V , E ) 来表示,其中 V = { 1 , … , n } \mathcal{V} =\{1,\ldots ,n\} V = { 1 , … , n } 是结点集合,E = { { i , j } : i , j ∈ V } \mathcal{E} =\left \{\{i, j\} : i, j \in \mathcal{V} \right \} E = { { i , j } : i , j ∈ V } 是边集合。对于所有 i , j ∈ V i, j \in \mathcal{V} i , j ∈ V ,如果 式(12.1)
成立,则边 { i , j } \{i, j\} { i , j } 不包含在 E \mathcal{E} E 中,反之则包含。
图 12.1
显示了这样一个图,其中 n = 4 n = 4 n = 4 且 E = { { 1 , 2 } , { 2 , 3 } , { 3 , 4 } , { 4 , 1 } } \mathcal{E} = \left \{\{1, 2\}, \{2, 3\}, \{3, 4\}, \{4, 1\} \right \} E = { { 1 , 2 } , { 2 , 3 } , { 3 , 4 } , { 4 , 1 } } 。从这个图中我们推断出 x 2 ⊥ x 4 ∣ x 1 , 3 x_2 \perp x_4|\mathbf{x}_{1,3} x 2 ⊥ x 4 ∣ x 1 , 3 和 x 1 ⊥ x 3 ∣ x 2 , 3 x_1 \perp x_3|\mathbf{x}_{2,3} x 1 ⊥ x 3 ∣ x 2 , 3 。现在的中心目标是利用图 G \mathcal{G} G 来定义包含特定条件独立性质的 GMRF x \mathbf{x} x 。事实表明,使用 x \mathbf{x} x 的精度矩阵 Q = Σ − 1 \mathbf{\mathbf{Q}} = \boldsymbol{\Sigma}^{-1} Q = Σ − 1 来做到这一点非常简单。
【定理 12.1】
设 x \mathbf{x} x 是具有对称正定 (SPD) 精度矩阵 Q \mathbf{Q} Q 的高斯分布,则对于 i ≠ j i \neq j i = j
x i ⊥ x j ∣ x − ( i , j ) ⇔ Q i , j = 0 x_i \perp x_j | \mathbf{x}_{-(i,j)} \Leftrightarrow \mathbf{Q}_{i,j} = 0
x i ⊥ x j ∣ x − ( i , j ) ⇔ Q i , j = 0
因此,任何具有 Q 2 , 4 = Q 4 , 2 = Q 1 , 3 = Q 3 , 1 = 0 \mathbf{Q}_{2,4} = \mathbf{Q}_{4,2} = \mathbf{Q}_{1,3} = \mathbf{Q}_{3,1} = 0 Q 2 , 4 = Q 4 , 2 = Q 1 , 3 = Q 3 , 1 = 0 的 SPD 精度矩阵 Q \mathbf{Q} Q 都具有如 图 12.1
所示的条件独立性质。我们通常称 x \mathbf{x} x 是关于 G \mathcal{G} G 的一个 GMRF。GMRF 的正式如下:
【定义 12.1 (GMRF)】
随机向量 x = ( x 1 , … , x n ) ⊤ ∈ R n \mathbf{x} = (x_1,\ldots ,x_n)^{\top} \in \mathbb{R}^n x = ( x 1 , … , x n ) ⊤ ∈ R n 被称为关于有标签图 G = ( V , E ) \mathcal{G} = (\mathcal{V}, \mathcal{E}) G = ( V , E ) 的一个均值为 μ \boldsymbol{\mu} μ 、 SPD 精度矩阵为 Q \mathbf{Q} Q 的高斯马尔可夫随机场( GMRF ),当且仅当其具有如下密度形式
π ( x ) = ( 2 π ) − n / 2 ∣ Q ∣ 1 / 2 exp ( − 1 2 ( x − μ ) ⊤ Q ( x − μ ) ) (12.2) \pi(\mathbf{x}) = (2\pi)^{−n/2} |\mathbf{Q}|^{1/2} \exp \left(-\frac{1}{2} (\mathbf{x} − \boldsymbol{\mu})^{\top} \mathbf{Q}(\mathbf{x} − \boldsymbol{\mu}) \right ) \tag{12.2}
π ( x ) = ( 2 π ) − n /2 ∣ Q ∣ 1/2 exp ( − 2 1 ( x − μ ) ⊤ Q ( x − μ ) ) ( 12.2 )
其中对于所有 i ≠ j i \neq j i = j ,有 Q i , j ≠ 0 ⇔ { i , j } ∈ E \mathbf{Q}_{i,j} \neq 0 \Leftrightarrow \{ i , j\} \in \mathcal{E} Q i , j = 0 ⇔ { i , j } ∈ E 。
当精度矩阵 Q \mathbf{Q} Q 奇异时,仍然能够为 GMRF 提供上述联合密度的显式形式,只是该联合密度不正确。这样的指定不能用于数据模型,但当其能够产生正确后验时,可以作为先验使用。这种示例包括 第 13 章
和 第 14 章
中将讨论的本征自回归。
下面是一个(正确的)GMRF 示例。
【示例 12.1】
令 { x t } \{x_t\} { x t } 为平稳的一阶自回归过程,即对于 t = 2 , … , n t = 2,\ldots ,n t = 2 , … , n ,有 x t ∣ x t − 1 = ϕ x t − 1 + ϵ t x_t|x_{t-1} = \phi x_{t-1} + \epsilon_t x t ∣ x t − 1 = ϕ x t − 1 + ϵ t ,其中 ∣ ϕ ∣ < 1 |\phi| < 1 ∣ ϕ ∣ < 1 且 ϵ t \epsilon_t ϵ t 是一个具有零均值、单位方差的独立高斯分布量。如果进一步假设 x 1 x_1 x 1 是均值为零、方差为 1 / ( 1 − ϕ 2 ) 1/(1−\phi^2) 1/ ( 1 − ϕ 2 ) 的高斯分布(这是该过程的平稳分布)。那么 x \mathbf{x} x 是关于 G \mathcal{G} G 的一个 GMRF ,其中 E = { { 1 , 2 } , { 2 , 3 } , … , { n − 1 , n } } \mathcal{E} =\left \{\{1, 2\}, \{2, 3\},\ldots , \{n − 1,n\} \right \} E = { { 1 , 2 } , { 2 , 3 } , … , { n − 1 , n } } 。其精度矩阵中有如下非零元素: (1)当 ∣ i − j ∣ = 1 |i − j |=1 ∣ i − j ∣ = 1 时, Q i , j = − ϕ \mathbf{Q}_{i,j} = −\phi Q i , j = − ϕ ; (2) Q 1 , 1 = Q n , n = 1 \mathbf{Q}_{1,1} = \mathbf{Q}_{n,n} = 1 Q 1 , 1 = Q n , n = 1 ; (3)当 i = 2 , … , n − 1 i = 2,\ldots ,n− 1 i = 2 , … , n − 1 时,对角元素 Q i i = 1 + ϕ 2 \mathbf{Q}_{ii} = 1 + \phi^2 Q ii = 1 + ϕ 2 。
这个例子很好地说明了为什么 GMRF 非常有用:
首先,对于滞后为 k k k 的随机变量,其自相关为 ϕ ∣ k ∣ \phi^{|k|} ϕ ∣ k ∣ ,也就是说,其 x \mathbf{x} x 的协方差矩阵是密集的(即处处非零)。
其次,精度矩阵足够稀疏,在 Q \mathbf{Q} Q 中的 n 2 n^2 n 2 个元素中,只有 n + 2 ( n − 1 ) = 3 n − 2 n + 2(n − 1) = 3n − 2 n + 2 ( n − 1 ) = 3 n − 2 个非零元素。
需要注意的是:稀疏精度矩阵使得用于模拟自回归过程的快速 O ( n ) \mathcal{O}(n) O ( n ) 算法成为可能。
12.3 基本性质
12.3.1 条件性质
虽然 GMRF 可以看作是一般的多元高斯随机变量,但某些性质会被简化,某些特征会更容易计算。最直观的一点就是:由于精度矩阵的稀疏性,使得条件分布更容易计算了。为了看到这一点,我们先将结点集 V \mathcal{V} V 分割为两个非空的集合: A \mathbf{A} A 和 B = − A B = −A B = − A ,则根据高斯分布性质,有 x \mathbf{x} x 、μ \boldsymbol{\mu} μ 和 Q \mathbf{Q} Q 的如下划分:
x = ( x A x B ) , μ = ( μ A μ B ) , Q = ( Q A A Q A B Q B A Q B B ) \mathbf{x}= \binom{ \mathbf{x}_A}{ \mathbf{x}_B}, \boldsymbol{\mu} = \binom{\boldsymbol{\mu}_A}{\boldsymbol{\mu}_B} , \mathbf{Q} = \begin{pmatrix} \mathbf{Q}_{AA} & \mathbf{Q}_{AB}\\ \mathbf{Q}_{BA} & \mathbf{Q}_{BB} \end{pmatrix}
x = ( x B x A ) , μ = ( μ B μ A ) , Q = ( Q AA Q B A Q A B Q BB )
此外,我们还需要具有子图的概念。子图 G A \mathcal{G}^A G A 指限制在结点子集 A A A 内的一个图:去掉 $\mathcal{G} $ 中所有不属于 A A A 的结点和所有至少有一个结点不属于 A A A 的边后生成的新图。
有了上述概念,下面的定理成立。
【定理 12.2】
令 x \mathbf{x} x 为关于 G \mathcal{G} G 的 GMRF,其均值为 μ \boldsymbol{\mu} μ 和 SPD 精度矩阵为 Q \mathbf{Q} Q 。令 A ⊂ V A \subset \mathcal{V} A ⊂ V ,另外令 B = V ∖ A B = \mathcal{V} \setminus A B = V ∖ A 且 A , B ≠ ∅ A,B \neq \emptyset A , B = ∅ 。则条件分布 x A ∣ x B \mathbf{x}_A|\mathbf{x}_B x A ∣ x B 是一个关于子图 G A \mathcal{G}^A G A 的 GMRF,且其均值为 μ A ∣ B \boldsymbol{\mu}_{A|B} μ A ∣ B 、 SPD 精度矩阵为 Q A ∣ B \mathbf{Q}_{A|B} Q A ∣ B ,其中
μ A ∣ B = μ A − Q A A − 1 Q A B ( x B − μ B ) 和 Q A ∣ B = Q A A \boldsymbol{\mu}_{A|B} = \boldsymbol{\mu}_A − \mathbf{Q}^{-1}_{AA} \mathbf{Q}_{AB} (\mathbf{x}_B − \boldsymbol{\mu}_B) \quad \text{和} \quad \mathbf{Q}_{A|B} = \mathbf{Q}_{AA}
μ A ∣ B = μ A − Q AA − 1 Q A B ( x B − μ B ) 和 Q A ∣ B = Q AA
【备注 12.1】 请注意,此结果只是采用了高斯条件分布的另一种视角。事实上,我们通常也会使用协方差矩阵 Σ \boldsymbol{\Sigma} Σ 的分块形式来表示
Σ = ( Σ A A Σ A B Σ B A Σ B B ) \boldsymbol{\Sigma} = \begin{pmatrix} \boldsymbol{\Sigma}_{AA} & \boldsymbol{\Sigma}_{AB}\\ \boldsymbol{\Sigma}_{BA} & \boldsymbol{\Sigma}_{BB} \end{pmatrix}
Σ = ( Σ AA Σ B A Σ A B Σ BB )
根据上述表示,条件分布的协方差矩阵为 Cov ( x A ∣ x B ) = Σ A A − Σ A B Σ B B − 1 Σ B A \operatorname{Cov}(\mathbf{x}_A|\mathbf{x}_B) = \boldsymbol{\Sigma}_{AA} − \boldsymbol{\Sigma}_{AB} \boldsymbol{\Sigma}^{-1}_{BB} \boldsymbol{\Sigma}_{BA} Cov ( x A ∣ x B ) = Σ AA − Σ A B Σ BB − 1 Σ B A ,其与 Q A A − 1 \mathbf{Q}^{-1}_{AA} Q AA − 1 本质上是相同。与此类似,条件分布的均值也可以表示为分块协方差矩阵的形式。
精度矩阵表示方法 “引人注目” 的特征是:
条件精度矩阵 Q A ∣ B \mathbf{Q}_{A|B} Q A ∣ B 竟然是 Q \mathbf{Q} Q 的一个子矩阵 。因此,条件精度矩阵也是显式可用的,只需删除掉 Q \mathbf{Q} Q 中属于 B B B 的行和列即可。换句话说,Q \mathbf{Q} Q 的稀疏性会继承给 Q A ∣ B \mathbf{Q}_{A|B} Q A ∣ B 。
条件均值 μ A ∣ B \boldsymbol{\mu}_{A|B} μ A ∣ B 涉及逆 Q A A − 1 \mathbf{Q}^{-1}_{AA} Q AA − 1 ,但可以被写成 μ A ∣ B = μ A − b \boldsymbol{\mu}_{A|B} = \boldsymbol{\mu}_A − \mathbf{b} μ A ∣ B = μ A − b 的形式 ,其中 b \mathbf{b} b 可以被视为稀疏线性方程组 Q A A b = Q A B ( x B − μ B ) \mathbf{Q}_{AA} \mathbf{b} = \mathbf{Q}_{AB} (\mathbf{x}_B − \boldsymbol{\mu}_B) Q AA b = Q A B ( x B − μ B ) 的解。请注意,只有 A A A 中的结点与 B B B 中的结点存在边时,Q A B \mathbf{Q}_{AB} Q A B 中的相应元素才非零,因此通常只有少数项会进入该矩阵向量乘积。
单结点的条件预测形式非常简单 。在只有一个结点的特殊情况 A = { i } A =\{i\} A = { i } 下,表达式可以简化为:
μ i ∣ − i = μ i − ∑ j : j ∼ i Q i , j Q i i ( x j − μ j ) 且 Q i ∣ − i = Q i i (12.3) \mu_{i|−i} = \mu_i − \sum\limits_{j: j \sim i} \frac{ \mathbf{Q}_{i,j}}{\mathbf{Q}_{ii}} (x_j − \mu_j ) \quad \text{且} \quad \mathbf{Q}_{i|−i} = \mathbf{Q}_{ii} \tag{12.3}
μ i ∣ − i = μ i − j : j ∼ i ∑ Q ii Q i , j ( x j − μ j ) 且 Q i ∣ − i = Q ii ( 12.3 )
上式中,符号 j : j ∼ i j : j \sim i j : j ∼ i 表示与结点 i i i 相邻的所有结点 j j j 的集合,即满足 { i , j } ∈ E \{i, j\} \in \mathcal{E} { i , j } ∈ E 。所以 x i x_i x i 的条件精度为 Q i i \mathbf{Q}_{ii} Q ii ,x i x_i x i 的条件均值为其邻居结点值 x j x_j x j 按照权重 − Q i , j / Q i i −\mathbf{Q}_{i,j}/\mathbf{Q}_{ii} − Q i , j / Q ii 实施的线性加权平均。
【例 12.2】
重新回顾 例 12.1
。此时根据 式(12.3)
,我们可以得到 x i ∣ x − i x_i |\mathbf{x}_{-i} x i ∣ x − i 的均值和精度矩阵分别为:
μ i ∣ − i = ϕ 1 + ϕ 2 ( x i − 1 + x i + 1 ) 和 Q i ∣ − i = 1 + ϕ 2 , 1 < i < n \mu_{i|-i} = \frac{\phi}{1 + \phi^2} (x_{i−1} + x_{i+1}) \quad \text{和} \quad \mathbf{Q}_{i|-i} = 1 + \phi^2, 1 < i < n
μ i ∣ − i = 1 + ϕ 2 ϕ ( x i − 1 + x i + 1 ) 和 Q i ∣ − i = 1 + ϕ 2 , 1 < i < n
12.3.2 马尔可夫性质
一个 GMRF 的图 G \mathcal{G} G 是通过查看哪些 x i x_i x i 和 x j x_j x j 之间存在条件独立来定义的,这种结点合结点之间的条件独立性,被称为 成对马尔可夫性质(pairwise Markov property) 。
但初此之外,我们还可以从图 G \mathcal{G} G 导出更一般的马尔可夫性质。
路径(path) :从结点 i 1 i_1 i 1 到结点 i m i_m i m 的路径是一个由 V \mathcal{V} V 中不同结点组成的结点序列( i 1 , i 2 , … , i m i_1,i_2,\ldots ,i_m i 1 , i 2 , … , i m ),其中任意相邻结点之间均存在边,即对于任意 j = 1 , … , m − 1 j = 1,\ldots ,m−1 j = 1 , … , m − 1 ,都有 ( i j , i j + 1 ) ∈ E (i_j,i_{j+1}) \in \mathcal{E} ( i j , i j + 1 ) ∈ E 。
分隔 (separate): 对于某个结点子集 C ⊂ V C \subset \mathcal{V} C ⊂ V ,如果从结点 i ∉ C i \notin C i ∈ / C 和结点 j ∉ C j \notin C j ∈ / C 的所有 路径 中都包含至少一个来自 C C C 的结点,则我们称结点 i i i 与结点 j j j 被 C C C 分隔。更进一步的,对于两个不相交的集合 A ⊂ V ∖ C A \subset \mathcal{V} \setminus C A ⊂ V ∖ C 和 B ⊂ V ∖ C B \subset \mathcal{V} \setminus C B ⊂ V ∖ C ,如果所有结点 i ∈ A i \in A i ∈ A 和 j ∈ B j \in B j ∈ B 均被 C C C 分隔,则我们称 A A A 和 B B B 被 C C C 分隔。换句话说,不经过 C C C ,我们无法在图上从 A A A 的某处开始到 B B B 的某处结束。
基于上述概念,可以定义如下 :
全局马尔可夫性质 :对于互不相交的集合 A A A 、B B B 和 C C C ,如果 A A A 和 B B B 被 C C C 分隔,且 A A A 和 B B B 非空,则有
x A ⊥ x B ∣ x C (12.4) \mathbf{x}_A \perp \mathbf{x}_B | \mathbf{x}_C \tag{12.4}
x A ⊥ x B ∣ x C ( 12.4 )
【定理 12.3】 如果 x \mathbf{x} x 是关于 G \mathcal{G} G 的 GMRF,则 x \mathbf{x} x 满足全局马尔可夫性质。
注意: A ∪ B ∪ C A \cup B \cup C A ∪ B ∪ C 可以是 V \mathcal{V} V 的子集;因此,该结果也提供了有关边缘 x A ∪ B ∪ C \mathbf{x}_{A\cup B\cup C} x A ∪ B ∪ C 的条件独立性质的信息。
【例 12.3】
继续回顾 例 12.1
。利用 成对条件独立性 ,我们知道 x 1 ⊥ x n ∣ x − 1 , n x_1 \perp x_n | \mathbf{x}_{-{1,n}} x 1 ⊥ x n ∣ x − 1 , n ,但依据 全局马尔可夫性质 ,我们也可以知道:对于所有 1 < j < n 1 < j < n 1 < j < n ,都有 x 1 ⊥ x n ∣ x j x_1 \perp x_n|x_j x 1 ⊥ x n ∣ x j 。
12.4 条件指定
依据 J. Besag (1974, 1975) 的开创性工作,通常会通过 完全条件分布 { π ( x i ∣ x − i ) } \{\pi(x_i |\mathbf{x}_{-i})\} { π ( x i ∣ x − i )} 来隐式指定一个 GMRF,并且我们可以根据需要从 完全条件分布 中推导出相应 联合分布 的均值和精度矩阵。但 完全条件分布 不能完全随意指定,因为还要确保其对应的联合分布是正确的( 我们将在 第 12.8 节
中讨论此问题)。
一种条件指定方法是将 完全条件分布 { π ( x i ∣ x − i ) } \{\pi(x_i |\mathbf{x}_{-i} )\} { π ( x i ∣ x − i )} 定义为高斯分布,其矩满足
E ( x i ∣ x − i ) = μ i + ∑ j ≠ i β i , j ( x j − μ j ) 和 Precision ( x i ∣ x − i ) = κ i > 0 (12.5) \mathbb{E}(x_i |\mathbf{x}_{-i} ) = \mu_i + \sum_{j \neq i} \beta_{i,j} (x_j − \mu_j) \quad \text{和} \quad \operatorname{ Precision}(x_i | \mathbf{x}_{-i}) = \kappa_i > 0 \tag{12.5}
E ( x i ∣ x − i ) = μ i + j = i ∑ β i , j ( x j − μ j ) 和 Precision ( x i ∣ x − i ) = κ i > 0 ( 12.5 )
这种方法的合理性在于:指定完全条件分布比指定联合分布更容易。
比较 式(12.5)
和 式(12.2)
,如果我们选择 μ \boldsymbol{\mu} μ 为均值,Q i i = κ i Q_{ii} = \kappa_i Q ii = κ i , β i , j = − Q i , j / Q i i \beta_{i,j} = −\mathbf{Q}_{i,j}/\mathbf{Q}_{ii} β i , j = − Q i , j / Q ii ,则可以得到相同的 完全条件分布 ;请参阅下面的正式证明。
不过,由于 Q \mathbf{Q} Q 是对称矩阵,我们必须要求对于所有 i ≠ j i \neq j i = j
κ i β i , j = κ j β j , i (12.6) \kappa_i \beta_{i,j} = \kappa_j \beta_{j,i} \tag{12.6}
κ i β i , j = κ j β j , i ( 12.6 )
特别是,如果 β i , j \beta_{i, j} β i , j 不为零,则 β j , i \beta_{j,i} β j , i 不能为零。图 G \mathcal{G} G 中的边定义为 { { i , j } : β i , j ≠ 0 } \left \{\{i, j\} : \beta_{i,j} \neq 0 \right \} { { i , j } : β i , j = 0 } 。
除了 式(12.6)
的对称约束之外,还有一个联合分布要求是 Q \mathbf{Q} Q 必须是 SPD。不幸的是,这是一个联合分布的性质,我们很难进行局部验证。避免此问题的一种便捷方法是选择对角占优的参数化形式以确保 Q \mathbf{Q} Q 为 SPD,即对于所有 i i i 有 Q i , i > ∑ j ∣ Q i , j ∣ Q_{i,i} > \sum\limits_{j} |Q_{i, j}| Q i , i > j ∑ ∣ Q i , j ∣ 。这意味着
∑ j ∣ β i , j ∣ < 1 , ∀ i \sum\limits_{j} |\beta _{i,j} | <1 , \forall i
j ∑ ∣ β i , j ∣ < 1 , ∀ i
但这种假设可能具有局限性(Rue 和 Held,2005 年,第 2.7 节和第 5.1 节)。
尽管我们能够识别具有相同完全条件分布的高斯,但我们仍然需要知道联合分布的唯一性。 Brook 引理(Brook,1964)回答了这个问题。
【引理 12.1(Brook 引理)】
令 π ( x ) \pi(\mathbf{x}) π ( x ) 为 x ∈ R n \mathbf{x} \in \mathbb{R}^n x ∈ R n 的密度并定义 Ω = { x ∈ R n : π ( x ) > 0 } \Omega =\{\mathbf{x} \in \mathbb{R}^n: \pi(\mathbf{x}) > 0 \} Ω = { x ∈ R n : π ( x ) > 0 } 。令 x , x ′ ∈ Ω \mathbf{x}, \mathbf{x'} \in \Omega x , x ′ ∈ Ω ,则
π ( x ) π ( x ′ ) = ∏ i = 1 n π ( x i ∣ x 1 , … , x i − 1 , x i + 1 ′ , … , x n ′ ) π ( x i ′ ∣ x 1 , … , x i − 1 , x i + 1 ′ , … , x n ′ ) = ∏ i = 1 n π ( x i ∣ x 1 ′ , … , x i − 1 ′ , x i + 1 , … , x n ) π ( x i ′ ∣ x 1 ′ , … , x i − 1 ′ , x i + 1 , … , x n ) \begin{align*}
\frac{\pi(\mathbf{x})}{\pi(\mathbf{x'})} &= \prod^{n}_{i=1} \frac{ \pi(x_i |x_1,\ldots,x_{i−1},x'_{i+1},\ldots ,x'_n)}{\pi(x'_i |x_1,\ldots ,x_{i−1},x'_{i+1},\ldots ,x'_n)} \tag{12.7}\\
&= \prod^{n}_{i=1} \frac{ \pi(x_i |x'_1,\ldots ,x'_{i−1},x_{i+1},\ldots ,x_n)}{\pi(x'_i |x'_1,\ldots ,x'_{i−1},x_{i+1},\ldots ,x_n)} \tag{12.8}
\end{align*}
π ( x ′ ) π ( x ) = i = 1 ∏ n π ( x i ′ ∣ x 1 , … , x i − 1 , x i + 1 ′ , … , x n ′ ) π ( x i ∣ x 1 , … , x i − 1 , x i + 1 ′ , … , x n ′ ) = i = 1 ∏ n π ( x i ′ ∣ x 1 ′ , … , x i − 1 ′ , x i + 1 , … , x n ) π ( x i ∣ x 1 ′ , … , x i − 1 ′ , x i + 1 , … , x n ) ( 12.7 ) ( 12.8 )
唯一性论证遵循固定 x ′ \mathbf{x}' x ′ ,然后 π ( x ) \pi(\mathbf{x}) π ( x ) 与 式(12.7)
右侧的完全条件分布成正比。比例常数是利用 π ( x ) \pi(\mathbf{x}) π ( x ) 对一进行积分得到的。结果是我们可以从完全条件分布中推导出联合密度,我们将在下面说明。为简单起见,固定 μ = 0 \boldsymbol{\mu} = 0 μ = 0 和 x ′ = 0 \mathbf{x'} = 0 x ′ = 0 。使用 式(12.5)
中的完全条件分布,然后 式(12.7)
简化为
log π ( x ) π ( 0 ) = − 1 2 ∑ i = 1 n κ i x i 2 − ∑ i = 2 n ∑ j = 1 i − 1 κ i β i j x i x j (12.9) \log \frac{ \pi(\mathbf{x})}{\pi(\mathbf{0})} = − \frac{1}{2} \sum^n_{i=1} \kappa_i x^2_i − \sum^n_{i=2} \sum\limits^{i-1}_{j=1} \kappa_i \beta_{ij} x_i x_j \tag{12.9}
log π ( 0 ) π ( x ) = − 2 1 i = 1 ∑ n κ i x i 2 − i = 2 ∑ n j = 1 ∑ i − 1 κ i β ij x i x j ( 12.9 )
并且 式(12.8)
简化为
log π ( x ) π ( 0 ) = − 1 2 ∑ i = 1 n κ i x i 2 − ∑ i = 1 n − 1 ∑ j = i + 1 n κ i β i j x i x j (12.10) \log \frac{ \pi(\mathbf{x})}{\pi(\mathbf{0})} = −\frac{1}{2} \sum^n_{i=1} \kappa_i x^2_i − \sum\limits^{n-1}_{i=1} \sum\limits^{n}_{j=i+1} \kappa_i \beta_{ij} x_i x_j \tag{12.10}
log π ( 0 ) π ( x ) = − 2 1 i = 1 ∑ n κ i x i 2 − i = 1 ∑ n − 1 j = i + 1 ∑ n κ i β ij x i x j ( 12.10 )
由于 式(12.9)
和 式(12.6)
必须相同,因此 对于 i ≠ j i \neq j i = j 有 κ i β i j = κ j β j i \kappa_i \beta_{ij} = \kappa_j \beta_{ji} κ i β ij = κ j β ji 。 x \mathbf{x} x 的密度可以表示为
log π ( x ) = const − 1 2 ∑ i = 1 n κ i x i 2 − 1 2 ∑ i ≠ j κ i β i j x i x j \log \pi(\mathbf{x}) = \quad \text{const} − \frac{1}{2} \sum^n_{i=1} \kappa_i x^2_i - \frac{1}{2} \sum\limits_{i \neq j} \kappa_i \beta_{ij} x_i x_j
log π ( x ) = const − 2 1 i = 1 ∑ n κ i x i 2 − 2 1 i = j ∑ κ i β ij x i x j
因此,如果 Q \mathbf{Q} Q 是 SPD,则 x \mathbf{x} x 是零均值 GMRF
我们现在将在一个简单的例子中说明条件指定的实际使用。
【例 12.4】
图 12.2(a)
中的图像是 256 × 256 256 × 256 256 × 256 伽马相机图像,旨在反映癌性骨骼的预期结构。图像圆形部分中的每个像素 I \mathcal{I} I 代表伽马辐射计数,其中黑色像素代表(基本上)零计数,白色像素代表最大计数。图像噪声很大,本例中的任务是(尝试)去除噪声。噪声过程可以通过泊松分布非常准确地描述,因此对于每个像素 i i i ,记录的计数 y i y_i y i 与真实信号 η i \eta_i η i 相关,其中 y i ∼ Poisson ( η i ) y_i \sim \operatorname{ Poisson}(\eta_i) y i ∼ Poisson ( η i ) 。为简单起见,我们将使用以下近似值
y i ∣ η i ∼ N ( η i , 1 4 ) , i ∈ I \sqrt{y_i} | \eta_i \sim \mathcal{N} \left (\sqrt{ \eta_i} , \frac{1}{4} \right ) ,i \in \mathcal{I}
y i ∣ η i ∼ N ( η i , 4 1 ) , i ∈ I
平方根变换后的图像如 图 12.2(b)
所示。采用贝叶斯方法,我们需要为(平方根变换的)图像 x = ( x 1 , … , x n ) ⊤ \mathbf{x} = (x_1,\ldots ,x_n)^{\top} x = ( x 1 , … , x n ) ⊤ 指定先验分布,其中 x i = η i x_i = \sqrt{ \eta_i} x i = η i 。 (我们需要 η i \eta_i η i 比零(稍微)大一些才能使这个近似值足够)。虽然这通常是一个令人生畏的问题,但对于此类噪声去除任务,通常指定先验就足以说明真实图像的局部行为。由于图像本身是局部平滑的,我们可以通过 式(12.5)
的完全条件分布指定先验。使用完全条件分布,我们只需要回答这样的问题: 如果不知道像素 i i i 中的真实信号,那么所有其他信号怎么办?我们对 x i x_i x i 的信念是什么? 一种选择是将 β i , j \beta_{i,j} β i , j 设置为零,除非 j j j 是 i i i 的四个最近邻居之一;比方说 N 4 ( i ) N_4(i) N 4 ( i ) 。由于对方向没有特别偏好,我们可能会为每个 i i i 设置,
β i , j = δ 4 , j ∈ N 4 ( i ) \beta_{i,j} = \frac{\delta}{4}, \quad j \in N_4(i)
β i , j = 4 δ , j ∈ N 4 ( i )
其中 δ \delta δ 被认为是固定值。此外,我们将 κ i \kappa_i κ i 视为对所有 i i i 都共同(且未知),并将 δ \delta δ 限制为 ∣ δ ∣ < 1 |\delta| < 1 ∣ δ ∣ < 1 以便(先验)精度矩阵对角占优势。 (我们在这里忽略了边界像素可能少于四个邻居的校正问题)。我们进一步采用 μ = 0 \boldsymbol{\mu} = \mathbf{0} μ = 0 和 κ \kappa κ 的共轭先验 Γ ( a , b ) \Gamma(a, b) Γ ( a , b ) (密度正比于 κ a − 1 exp ( − b κ ) ) \kappa^{a-1} \exp(−b\kappa)) κ a − 1 exp ( − bκ )) ,则 ( x , κ ) (x, \kappa) ( x , κ ) 的后验为:
π ( x , κ ∣ y ) ∝ π ( x ∣ κ ) π ( κ ) ∏ i ∈ I π ( y i ∣ x i ) ∝ κ a − 1 exp ( − b κ ) ∣ Q p r i o r ( κ ) ∣ 1 / 2 exp ( − 1 2 x ⊤ Q p o s t ( κ ) x + b ⊤ x ) \begin{align*}
\pi(\mathbf{x}, \kappa | \mathbf{y}) &\propto \pi( \mathbf{x} | \kappa) \pi(\kappa) \prod\limits_{i \in \mathcal{I}} \pi( y_i | x_i ) \\
& \propto \kappa^{a-1} \exp(−b_{\kappa}) | \mathbf{Q}_{prior}(\kappa) |^{1/2} \exp \left( − \frac{1}{2} \mathbf{x}^{\top} \mathbf{Q}_{post}(\kappa) \mathbf{x} + \mathbf{b}^{\top} \mathbf{x} \right) \tag{12.11}
\end{align*}
π ( x , κ ∣ y ) ∝ π ( x ∣ κ ) π ( κ ) i ∈ I ∏ π ( y i ∣ x i ) ∝ κ a − 1 exp ( − b κ ) ∣ Q p r i or ( κ ) ∣ 1/2 exp ( − 2 1 x ⊤ Q p os t ( κ ) x + b ⊤ x ) ( 12.11 )
这里,对于 i ∈ I i \in \mathcal{I} i ∈ I ,b i = 4 y i b_i = 4\sqrt{ y_i} b i = 4 y i ,否则为零,Q p o s t ( κ ) = Q p r i o r ( κ ) + D \mathbf{Q}_{post}(\kappa) = \mathbf{Q}_{prior}(\kappa) + \mathbf{D} Q p os t ( κ ) = Q p r i or ( κ ) + D 其中 D \mathbf{D} D 是对角矩阵,当 i ∈ I i \in \mathcal{I} i ∈ I 时,D i , i = 4 D_{i,i} = 4 D i , i = 4 ,否则为零,并且
Q p r i o r ( κ ) i , j = κ { 1 , i = j δ / 4 , j ∈ N 4 ( i ) 0 , otherwise \mathbf{Q}_{prior}(\kappa)_{i, j} = \kappa \begin{cases}
1, & i=j\\ \delta/4, &j \in N_4(i)\\
0, & \text{otherwise}
\end{cases}
Q p r i or ( κ ) i , j = κ ⎩ ⎨ ⎧ 1 , δ /4 , 0 , i = j j ∈ N 4 ( i ) otherwise
以 κ \kappa κ 和观测值为条件,则 x \mathbf{x} x 是具有精度矩阵 Q p o s t \mathbf{Q}_{post} Q p os t 的 GMRF,其中平均 μ p o s t \boldsymbol{\mu}_{post} μ p os t 由以下的解给出
Q p o s t μ p o s t = b (12.12) \mathbf{Q}_{post} \boldsymbol{\mu}_{post} = \mathbf{b} \tag{12.12}
Q p os t μ p os t = b ( 12.12 )
12.5 GMRF 的 MCMC 推断
GMRF 的一个吸引人的特性是可以很好地与 MCMC 方法结合起来进行贝叶斯推断(参见 Gilks、Richardson 和 Spiegelhalter,1996 年;Robert 和 Casella,1999 年关于 MCMC 的一般背景)。 GMRF 中使用的完全条件分解(即相应的条件指定)与 MCMC 算法之间的良好对应关系,是 GMRF 被广泛使用的主要原因之一。
事实证明,GMRF 与稀疏矩阵的数值方法之间存在很好的联系,这导致了 GMRF 的精确算法;我们将在 第 12.7 节
讨论此问题。
为了描述方便,设 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 为我们感兴趣的后验,而任务是计算如下后验边缘分布(或其摘要信息,如均值 E ( θ 1 ) \mathcal{E}(\theta_1) E ( θ 1 ) 和方差 Var ( θ 1 ) \operatorname{Var}(\theta_1) Var ( θ 1 ) 等):
π ( θ 1 ) , … , π ( θ n ) \pi(\theta_1),\ldots , \pi(\theta_n)
π ( θ 1 ) , … , π ( θ n )
对于 例 12.4
,相应的 θ = ( x , κ ) \boldsymbol{\theta} = (\mathbf{x}, \kappa) θ = ( x , κ ) ,而我们的任务是计算所有 i ∈ I i \in \mathcal{I} i ∈ I 的 E ( x i ∣ y ) \mathbb{E}(x_i |\mathbf{y}) E ( x i ∣ y ) ,并将其用作对 η i \sqrt{ \eta_i} η i 的估计。我们可以根据 Var ( x i ∣ y ) \operatorname{Var}(x_i |\mathbf{y}) Var ( x i ∣ y ) 或后验边缘分布 π ( x i ∣ y ) \pi(x_i |\mathbf{y}) π ( x i ∣ y ) 的分位数来量化估计的不确定性。
12.5.1 MCMC背后的基本思想
MCMC 的基本思想很简单。我们将简要介绍两个基本思想,马尔可夫链和蒙特卡罗,它们共同构成了马尔可夫链蒙特卡罗。用于(也称为贝叶斯)推断的蒙特卡罗方法主要是关于蒙特卡罗积分,它用经验方法代替积分;对于一些合适的函数 f ( ⋅ ) f (·) f ( ⋅ ) ,我们有
E ( f ( θ ) ) = ∫ f ( θ ) π ( θ ) d θ ≈ 1 N ∑ i = 1 N f ( θ ( i ) ) (12.13) \mathbb{E}( f (\boldsymbol{\theta})) = \int f (\boldsymbol{\theta})\pi(\boldsymbol{\theta}) d\boldsymbol{\theta} \approx \frac{1}{N} \sum^{N}_{i=1} f (\boldsymbol{\theta}^{(i)}) \tag{12.13}
E ( f ( θ )) = ∫ f ( θ ) π ( θ ) d θ ≈ N 1 i = 1 ∑ N f ( θ ( i ) ) ( 12.13 )
其中:
θ ( 1 ) , θ ( 2 ) , … , θ ( N ) \boldsymbol{\theta}^{(1)}, \boldsymbol{\theta}^{(2)},\ldots , \boldsymbol{\theta}^{(N)}
θ ( 1 ) , θ ( 2 ) , … , θ ( N )
是来自 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 的 N N N 个样本。通过将积分解释为期望值,我们可以将其近似为来自 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 的 N N N 个样本的经验平均值。如果样本是独立的,那么我们也可以控制误差,因为
1 N ∑ i = 1 N f ( θ ( i ) ) ≈ N ( E ( f ( θ ) ) , Var ( f ( θ ) ) ) \frac{1}{\sqrt{N}} \sum^{N}_{i=1} f(\boldsymbol{\theta}^{(i)}) \approx \mathcal{N}(\mathbb{E}( f(\boldsymbol{\theta})), \operatorname{Var}( f (\boldsymbol{\theta})))
N 1 i = 1 ∑ N f ( θ ( i ) ) ≈ N ( E ( f ( θ )) , Var ( f ( θ )))
在相当一般的假设下。我们的估计可以尽可能精确,选择足够大的 N N N 。请注意,误差的表现类似于 O ( 1 / N ) \mathcal{O}(1/\sqrt{N}) O ( 1/ N ) ,因此精度增加一位需要 100 × N 100 × N 100 × N 个样本。
即使对于低维,从分布 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 生成样本也可能很困难,但在一维情况下更难。除了维度之外的主要障碍是 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 中经常缺失的归一化常数;我们通常只知道密度的非归一化版本,要对其进行归一化就像计算 E ( f ( θ ) ) \mathbb{E}( f (\boldsymbol{\theta})) E ( f ( θ )) 一样困难。
第二个主要思想是绕过直接从 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 生成样本的问题,但是隐式地从 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 生成样本。这是通过构造一个以 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 为均衡分布的马尔可夫链来完成的,我们可以模拟这个马尔可夫链来获得一个样本。事实证明,这可以在不知道 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 的归一化常数的情况下完成。原则上,我们可以通过长时间模拟马尔可夫链,从 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 生成一个样本,直到它收敛,这时马尔可夫链的状态就是一个样本。
我们现在将介绍 Gibbs 采样器,它是两种最流行的 MCMC 算法之一。我们将推迟到 第 12.9 节
讨论第二个算法,即 Metropolis-Hastings 算法。吉布斯采样器由 Geman 和 Geman (1984) 引入主流 IEEE 文献,由 Gelfand 和 Smith (1990) 引入统计。后来,很明显,一般思想(及其含义)已经围绕 Hastings(1970 年)展开;参见(Robert and Casella,1999,第 7 章)的历史记录。
12.5.2 吉布斯采样器
最直观的 MCMC 算法称为 Gibbs 采样器。吉布斯采样器通过从完全条件分布中重复采样来模拟马尔可夫链。马尔可夫链中的状态向量 θ \boldsymbol{\theta} θ 在以下 Gibbs 采样算法中会在每个实例中被覆盖
该算法定义了一个具有平衡分布 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 的马尔可夫链;直观地,如果 θ \boldsymbol{\theta} θ 是来自 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 的样本,并且我们用来自 π ( θ i ∣ θ − i ) \pi(\theta_i |\boldsymbol{\theta}_{-i}) π ( θ i ∣ θ − i ) 的样本更新它的第 i i i 个分量 θ i \theta_i θ i ,那么 θ \boldsymbol{\theta} θ 仍然根据 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 分布。此外,该算法将在时间 t = 1 、 2 、 … t = 1、2、\ldots t = 1 、 2 、 … 时输出一个新状态 θ \boldsymbol{\theta} θ 。将这些样本表示为 θ ( 1 ) , θ ( 2 ) , … \boldsymbol{\theta}^{(1)}, \boldsymbol{\theta}^{(2)},\ldots θ ( 1 ) , θ ( 2 ) , … 。
在相当一般的条件下,θ ( k ) \boldsymbol{\theta}^{(k)} θ ( k ) 的分布将收敛,因为 k → ∞ k \rightarrow \infty k → ∞ 到平衡分布 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 。对于一些大的 k k k ,比如 k 0 k_0 k 0 ,我们可以认为 θ ( k 0 ) \boldsymbol{\theta}^{(k_0)} θ ( k 0 ) 是来自 π ( θ ) \pi(\boldsymbol{\theta}) π ( θ ) 的样本。但是,如果 θ ( k 0 ) \boldsymbol{\theta}^{(k_0)} θ ( k 0 ) 具有正确的分布,那么下一个状态 \boldsymbol{\theta}(k_0+1) 也将如此;但是,他们将依赖。 式(12.13)
中的蒙特卡洛估计将修改为
E ( f ( θ ) ) = 1 N − k 0 + 1 ∑ i = k 0 N f ( θ ( i ) ) 。 ‘ 式( 12.14 ) ‘ \mathbb{E}( f (\boldsymbol{\theta})) = \frac{1}{N − k_0 + 1} \sum^{N}_{i=k_0} f (\boldsymbol{\theta}^{(i)})。 `式(12.14)`
E ( f ( θ )) = N − k 0 + 1 1 i = k 0 ∑ N f ( θ ( i ) ) 。 ‘ 式( 12.14 ) ‘
请注意,{ θ ( i ) } \{\boldsymbol{\theta}^{(i)}\} { θ ( i ) } 其中 i = k 0 , … i = k_0,\ldots i = k 0 , … 现在通常是相关的。 式(12.14)
的方差估计必须考虑这种依赖性。我们已经从马尔可夫链中释放了前 k 0 − 1 k_0 − 1 k 0 − 1 个状态,这被称为老化。要(尝试)确定 k 0 k_0 k 0 的值,主要思想是查看 θ i \theta_i θ i 的轨迹,例如;抽取 { θ i ( k ) } \{\boldsymbol{\theta}^{(k)}_i \} { θ i ( k ) } 对 k = 1 , 2 , … k = 1, 2,\ldots k = 1 , 2 , … ,并尝试确定 k 0 k_0 k 0 ,其中围绕平均值的波动似乎相当稳定(在分布意义上),(参见 Robert,1998;Robert和 Casella,1999 年,了解详情)。选择太大的 k 0 k_0 k 0 不会使估计产生偏差,但选择太小的 k 0 k_0 k 0 则会。
【例 12.5】
我们现在将说明如何使用 Gibbs 采样器从 GMRF 生成样本。如果我们通过完全条件分布 式(12.5)
指定 GMRF,我们将立即拥有 Gibbs 采样器。该算法如下:
GMRF 的 Gibbs 采样器的吸引力在于简单性和速度。它很简单,因为我们不需要计算 x \mathbf{x} x 的联合分布来从 π ( x ) \pi(\mathbf{x}) π ( x ) 生成样本。只要完全条件分布定义了有效的联合分布,吉布斯采样器就会收敛到正确的分布。通常每个测点 i i i 的邻居数不依赖于 n n n 。在这种情况下,运行 Gibbs 采样器进行一次迭代(更新 x \mathbf{x} x 的所有 n n n 个元素)的计算成本是 O ( n ) \mathcal{O}(n) O ( n ) 次操作,这在顺序意义上是最优的。
【例 12.6】
让我们回到 例 12.4
,它比 例 12.5
复杂一些,原因有二。首先,我们需要处理未知精度 κ \kappa κ 。其次,对于固定的 κ \kappa κ ,GMRF 仅隐式已知,因为均值作为 式(12.12)
的解给出。事实证明,我们不需要求解 式(12.12)
即可构建 Gibbs 采样器。
在此示例中,θ = ( κ , x ) \boldsymbol{\theta} = (\kappa, \mathbf{x}) θ = ( κ , x ) ,我们需要从后验 式(12.11)
计算所有完全条件分布。使用 Q p o s t ( κ ) = κ Q p r i o r ( 1 ) + D \mathbf{Q}_{post}(\kappa) = \kappa \mathbf{Q}_{prior}(1) + D Q p os t ( κ ) = κ Q p r i or ( 1 ) + D ,κ \kappa κ 的完全条件分布是
κ ∣ x , y ∼ Γ ( n / 2 + a , b + 1 2 x ⊤ Q p r i o r ( 1 ) x ) \kappa | \mathbf{x, y} \sim \Gamma ( n/2 + a, b + \frac{1}{2} \mathbf{x}^{\top} \mathbf{Q}_{prior}(1) \mathbf{x} )
κ ∣ x , y ∼ Γ ( n /2 + a , b + 2 1 x ⊤ Q p r i or ( 1 ) x )
x i x_i x i 的完全条件分布是使用
π ( x i ∣ x − i , κ , y ) ∝ π ( x , κ ∣ y ) ∝ exp ( − 1 2 x i 2 Q p o s t , i , i ( κ ) − x i ∑ j ∈ N 4 ( i ) Q p r i o r , i , j ( κ ) x j + b i x i ) = exp ( − 1 2 c i x i 2 + d i x i ) \begin{align*}
\pi(x_i | \mathbf{x}_{-i} , \kappa, \mathbf{y}) &\propto \pi(\mathbf{x}, \kappa | \mathbf{y})\\
&\propto \exp \left ( − \frac{1}{2} x^2_i \mathbf{Q}_{post,i,i} (\kappa) − x_i \sum\limits_{ j \in N_4(i)} \mathbf{Q}_{prior,i , j} (\kappa)x_j + b_i x_i \right ) \\
&= \exp \left (- \frac{1}{2}c_i x^2_i + d_i x_i \right)
\end{align*}
π ( x i ∣ x − i , κ , y ) ∝ π ( x , κ ∣ y ) ∝ exp − 2 1 x i 2 Q p os t , i , i ( κ ) − x i j ∈ N 4 ( i ) ∑ Q p r i or , i , j ( κ ) x j + b i x i = exp ( − 2 1 c i x i 2 + d i x i )
其中 c i c_i c i 取决于 κ \kappa κ ,而 d i d_i d i 取决于 κ \kappa κ 和 { x j } \{x_j\} { x j } 对于 j ∈ N 4 ( i ) j \in N_4(i) j ∈ N 4 ( i ) 。那么 x i x_i x i 的完全条件分布是 N ( d i / c i , 1 / c i ) \mathcal{N}(d_i /c_i , 1/c_i ) N ( d i / c i , 1/ c i ) 。然后吉布斯采样算法变为
x \mathbf{x} x 的后验平均值显示在 图 12.2(c)
中,使用 a = 1 a = 1 a = 1 ,b = 0.01 b = 0.01 b = 0.01 和 β = 1 / 4 \beta = 1/4 β = 1/4 。令人惊讶的是,我们可以使用这个简单的算法从 ( κ , x ) (\kappa, \mathbf{x}) ( κ , x ) 的后验生成样本。另请注意,以观察 y \mathbf{y} y 为条件不会改变 x i x_i x i 的邻域,它仍然是 N 4 ( i ) N_4(i) N 4 ( i ) 。结果是 Gibbs 采样器的计算成本与没有数据时相同,即每次迭代的 O ( n ) \mathcal{O}(n) O ( n ) 。这包括更新 κ \kappa κ 的成本,它主要由计算 x ⊤ Q p r i o r ( 1 ) x \mathbf{x}^{\top} \mathbf{Q}_{prior}(1) \mathbf{x} x ⊤ Q p r i or ( 1 ) x (也是 O ( n ) \mathcal{O}(n) O ( n ) )的成本决定。
12.6 多变量 GMRF
为了修正想法,我们将考虑 示例 12.4
的一般化,其中观察现在是图像序列。该序列可以是电影,其中序列中的每一帧都按时间索引,也可以是将三维对象记录为一组二维图像的高度。其他示例包括一个国家每个行政区域疾病计数空间模型的时间版本。图 12.3
显示了共聚焦显微镜拍摄的三个连续的三维细胞帧。第一帧有很多噪音,但信号在图像堆栈中越往上越强。我们考虑与示例 12.4
相同的问题;我们想在存在噪声的情况下估计真实信号。五帧代表相同的三维对象,但在不同的高度。
当我们指定完全条件分布时,我们可以使用这些信息。然后指定完全条件分布 式(12.5)
的多变量版本更容易也更自然,我们现在将对其进行描述。设 x i x_i x i 表示像素 i i i 处的所有 p = 5 p = 5 p = 5 个观测值
x i = ( x i , 1 , x i , 2 , x i , 3 , x i , 4 , x i , 5 ) ⊤ x_i = (x_{i,1},x_{i,2},x_{i,3},x_{i,4},x_{i,5})^{\top}
x i = ( x i , 1 , x i , 2 , x i , 3 , x i , 4 , x i , 5 ) ⊤
这里,x i , 2 x_{i,2} x i , 2 是第 2 帧中位置 i i i 处的像素,依此类推。条件指定 式(12.5)
自然延伸至
E ( x i ∣ x − i ) = μ i − ∑ j : j ∼ i β i , j ( x j − μ j ) and P r e c i s i o n ( x i ∣ x − i ) = κ i > 0 (12.15) \mathbb{E}(\mathbf{x}_i | \mathbf{x}_{-i} ) = \boldsymbol{\mu}_i − \sum\limits_{j: j \sim i} \beta_{i,j}(\mathbf{x}_j − \boldsymbol{\mu}_j) \quad \text{and} \quad Precision(\mathbf{x}_i | \mathbf{x}_{-i} ) = \boldsymbol{ \kappa}_i > 0 \tag{12.15}
E ( x i ∣ x − i ) = μ i − j : j ∼ i ∑ β i , j ( x j − μ j ) and P rec i s i o n ( x i ∣ x − i ) = κ i > 0 ( 12.15 )
对于某些 p × p p × p p × p 矩阵 { β i , j } \{\beta_{i,j}\} { β i , j } 和 { κ i } \{\kappa_i\} { κ i } (另见 Mardia,1988)。在这个中,我们现在可以指定我们对 x i , 3 x_{i,3} x i , 3 的了解可能受益于了解 x i , 2 x_{i,2} x i , 2 和 x i , 4 x_{i,4} x i , 4 。这些像素位于相同的 x i x_i x i 向量中,尽管它们代表前一帧和下一帧的第 i i i 个像素。此外,我们可以在同一帧内具有来自邻居的依赖性,例如 { x j , 3 , j ∈ N 4 ( i ) } \{x_{j,3},j\in N_4(i)\} { x j , 3 , j ∈ N 4 ( i )} 。简而言之,我们可以指定 x i \mathbf{x}_i x i 如何依赖于 { x j } , j ≠ i \{\mathbf{x}_j \},j \neq i { x j } , j = i ,并考虑作为(小 p p p -)向量的邻居。
此示例中的条件指定激发了多元 GMRF 的引入,我们将其表示为 MGMRFp _p p 。它的定义是 式(12.1)
的直接扩展。设 x = ( x 1 ⊤ , … , x n ⊤ ) ⊤ \mathbf{x} = (\mathbf{x}^{\top}_1 ,\ldots , \mathbf{x}^{\top}_n )^{\top} x = ( x 1 ⊤ , … , x n ⊤ ) ⊤ 服从高斯分布,其中每个 x i \mathbf{x}_i x i 是一个 p p p 向量。类似地,令 μ = ( μ 1 ⊤ , … , μ ⊤ ) ⊤ \boldsymbol{\mu} = (\boldsymbol{\mu} ^{\top}_1 ,\ldots , \boldsymbol{\mu}^{\top})^{\top} μ = ( μ 1 ⊤ , … , μ ⊤ ) ⊤ 表示均值,并且 Q ~ = ( Q ~ i , j ) \tilde{\mathbf{Q}} = (\tilde{\mathbf{Q}}_{i,j}) Q ~ = ( Q ~ i , j ) 具有 p × p p × p p × p 个元素 Q ~ i , j \tilde{\mathbf{Q}}_{i,j} Q ~ i , j 的精度矩阵。
【定义 12.2 (MGMRFp _p p )】
随机向量 x = ( x 1 ⊤ , … , x n ⊤ ) ⊤ \mathbf{x} = (\mathbf{x}^{\top}_1 ,\ldots , \mathbf{x}^{\top}_n )^{\top} x = ( x 1 ⊤ , … , x n ⊤ ) ⊤ 其中 dim ( x i ) = p \text{dim}(x_i ) = p dim ( x i ) = p ,称为关于 G = ( V = { 1 , … , n } , E ) \mathcal{G} = (\mathcal{V} = \{1,\ldots,n\}, \mathcal{E}) G = ( V = { 1 , … , n } , E ) 的 MGMRFp _p p ,其均值为 μ \boldsymbol{\mu} μ ,SPD 精度矩阵为 Q ~ \tilde{\mathbf{Q}} Q ~ ,当且仅当其密度具有以下形式
π ( x ) = ( 1 2 π ) n p / 2 ∣ Q ~ ∣ 1 / 2 exp ( 1 2 ( x − μ ) ⊤ Q ~ ( x − μ ) ) = ( 1 2 π ) n p / 2 ∣ Q ~ ∣ 1 / 2 exp ( − 1 2 ∑ i j ( x i − μ i ) ⊤ Q ~ i , j ( x j − μ j ) Q ~ i , j ≠ 0 ⇔ { i , j } ∈ E for all i ≠ j \begin{align*}
\pi(\mathbf{x}) &= (\frac{1}{2 \pi})^{np/2} |\tilde{\mathbf{Q}}|^{1/2} \exp \left (\frac{1}{2} (\boldsymbol{x} − \boldsymbol{\mu} )^{\top} \tilde{\mathbf{Q}}(\mathbf{x} − \boldsymbol{\mu} ) \right ) \\
&= (\frac{1}{2\pi})^{np/2} |\tilde{\mathbf{Q}}|^{1/2} \exp \left (− \frac{1}{2} \sum\limits_{ij} (\mathbf{x}_i − \boldsymbol{\mu}_i )^{\top} \tilde{\mathbf{Q}}_{i,j} (\mathbf{x}_j − \boldsymbol{\mu}_j \right)\\
\tilde{\mathbf{Q}}_{i,j} \neq 0 &\Leftrightarrow \{ i, j\} \in \mathcal{E} \quad \text{for all} \quad i \neq j
\end{align*}
π ( x ) Q ~ i , j = 0 = ( 2 π 1 ) n p /2 ∣ Q ~ ∣ 1/2 exp ( 2 1 ( x − μ ) ⊤ Q ~ ( x − μ ) ) = ( 2 π 1 ) n p /2 ∣ Q ~ ∣ 1/2 exp ( − 2 1 ij ∑ ( x i − μ i ) ⊤ Q ~ i , j ( x j − μ j ) ⇔ { i , j } ∈ E for all i = j
重要的是要注意大小为 n n n 的 MGMRFp _p p 只是另一个维度为 n p np n p 的 GMRF;因此我们之前的所有结果和即将推出的 GMRF 稀疏矩阵算法也适用于 MGMRFp _p p 。然而,一些结果使用块更容易解释,例如
x i ⊥ x j ∣ x − { i , j } ⇔ Q ~ i , j = 0 \mathbf{x}_i \perp \mathbf{x}_j | \mathbf{x}_{−\{i, j\}} \Leftrightarrow \tilde{\mathbf{Q}}_{i,j} = \mathbf{0}
x i ⊥ x j ∣ x − { i , j } ⇔ Q ~ i , j = 0
并且
E ( x i ∣ x − i ) = μ i − Q ~ i , i − 1 ∑ j : j ∼ i Q ~ i , j ( x j − μ j ) 和 P r e c i s i o n ( x i ∣ x − i ) = Q ~ i i (12.16) \mathbb{E}(\mathbf{x}_i | \mathbf{x}_{-i} ) = \boldsymbol{\mu}_i − \tilde{ \mathbf{Q}}^{-1}_{ i,i} \sum\limits_{ j: j \sim i} \tilde{ \mathbf{Q}}_{i,j}(\mathbf{x}_j − \boldsymbol{\mu}_j) \quad \text{和} \quad Precision(\mathbf{x}_i | \mathbf{x}_{-i}) = \tilde{\mathbf{Q}}_{ii} \tag{12.16}
E ( x i ∣ x − i ) = μ i − Q ~ i , i − 1 j : j ∼ i ∑ Q ~ i , j ( x j − μ j ) 和 P rec i s i o n ( x i ∣ x − i ) = Q ~ ii ( 12.16 )
从 式(12.16)
,我们可以通过选择条件指定 式(12.15)
获得一致性要求
Q i , j = { κ i β i , j i ≠ j κ i i ≠ j \mathbf{Q}_{i,j} =
\begin{cases}
\boldsymbol{ \kappa_i \beta}_{i,j} & i \neq j\\
\boldsymbol{ \kappa}_i & i \neq j
\end{cases}
Q i , j = { κ i β i , j κ i i = j i = j
因为 Q ~ i , j = Q ~ j , i ⊤ \tilde{ \mathbf{Q}}_{i,j} = \tilde{ \mathbf{Q}}^{\top}_{j,i} Q ~ i , j = Q ~ j , i ⊤ ,那么对于 i ≠ j i \neq j i = j ,我们有 κ i β i , j = β j , i ⊤ κ j \boldsymbol{ \kappa_i \beta}_{i,j} = \boldsymbol{ \beta}^{\top}_{j,i} \boldsymbol{ \kappa}_j κ i β i , j = β j , i ⊤ κ j 的要求,此外对于所有 i i i ,κ i > 0 \boldsymbol{ \kappa}_i > 0 κ i > 0 。最后,还有一个 “全局” 的要求,就是 Q ~ \tilde{\mathbf{Q}} Q ~ 必须是 SPD,相当于 ( I + ( β i , j ) ) (\mathbf{I} + ( \boldsymbol{ \beta}_{i,j}) ) ( I + ( β i , j )) 是 SPD。
12.7 GMRF 的精确推断算法
GMRF 与稀疏矩阵的高效数值算法之间也有着良好联系,并产生了 GMRF 的精确算法。本节将讨论这种联系,并首先从各种精确算法开始,然后讨论如何有效地从 GMRF 中采样。这其中包括无条件采样、有条件采样、线性硬约束采样、线性软约束采样、特定 GMRF 对数密度的计算、GMRF 边缘方差的计算等任务。
尽管所有这些任务在形式上都是 “矩阵代数”,但我们需要确保在所有步骤中都利用了稀疏精度矩阵 Q \mathbf{Q} Q ,以便这些任务可以充分利用成熟的稀疏矩阵高效数值算法。我们可以通过考虑 GMRF 的条件独立性来推导出稀疏矩阵的所有算法,这些算法的核心是精度矩阵 Q \mathbf{Q} Q 的 Cholesky 分解 Q = L L ⊤ \mathbf{Q} = \mathbf{LL}^{\top} Q = LL ⊤ ( L \mathbf{L} L 为下三角矩阵)。我们会暂时推迟计算 L \mathbf{L} L 的细节讨论,并简单地假设此分解已经可用。
我们将始终假设 x \mathbf{x} x 是关于 G \mathcal{G} G 的一个 GMRF,且其均值为 μ \boldsymbol{\mu} μ ,SPD 精度矩阵为 Q \mathbf{Q} Q 。
12.7.1 为什么精确算法很重要?
在存在精确有效算法时,通常会选择精确方法,即使它需要比简单迭代算法更复杂的算法。即使对于统计建模,计算可行性也很重要,因为如果不能足够有效地进行推断,那么统计模型就没有多大用处。
使用精度矩阵的 Cholesky 分解可以精确完成 GMRF 的采样,这在算法上比简单 Gibbs 采样器复杂得多。不过,精确算法是精确和自动的,而 Gibbs 采样算法是近似的,并且在大多数情况下,Gibbs 采样需要人工干预来判断样本的正确性和收敛性。事实证明,在空间场景中,我们能够以 O ( n 3 / 2 ) \mathcal{O}(n^{3/2}) O ( n 3/2 ) 次运算为代价精确实施 GMRF 采样。这对应于 O ( n ) \mathcal{O}(\sqrt{n}) O ( n ) 次迭代的单一测点 Gibbs 采样。精确算法可以进一步产生独立样本,生成每个样本的代价是 O ( n log n ) \mathcal{O}(n \log n) O ( n log n ) 。
让我们再次回到 例 12.4
。现在稍微修改此示例以证明 Gibbs 采样算法并不总是那么简单。之前的举例中,我们假设参数 δ \delta δ 是固定的。现在假设 δ \delta δ 也同样需要推断。在这种情况下,需要对 Gibbs 采样算法进行修改,必须如下分布中对 δ \delta δ 采样:
π ( δ ∣ x , κ , y ) ∝ π ( δ ) ∣ Q p r i o r ( κ , δ ) ∣ 1 / 2 exp ( − 1 2 x ⊤ Q p r i o r ( κ , δ ) x ) (12.17) \pi(\delta | \mathbf{x}, \kappa, \mathbf{y}) \propto \pi(\delta) |\mathbf{Q}_{prior}(\kappa, \delta)|^{1/2} \exp ( - \frac{1}{2} \mathbf{x}^{\top} \mathbf{Q}_{prior}(\kappa, \delta) \mathbf{x}) \tag{12.17}
π ( δ ∣ x , κ , y ) ∝ π ( δ ) ∣ Q p r i or ( κ , δ ) ∣ 1/2 exp ( − 2 1 x ⊤ Q p r i or ( κ , δ ) x ) ( 12.17 )
其中 π ( δ ) \pi(\delta) π ( δ ) 是先验分布。其要点是先验精度矩阵同时依赖于 κ \kappa κ 和 δ \delta δ ,并且需要我们计算 Q p r i o r ( κ , δ ) \mathbf{Q}_{prior}(\kappa,\delta) Q p r i or ( κ , δ ) 的行列式。这个量在解析上不易处理。通常,我们不得不计算 Q p r i o r ( κ , δ ) \mathbf{Q}_{prior}(\kappa, \delta) Q p r i or ( κ , δ ) 的行列式,而如果在 Gibbs 采样算法中这样做,则必须做很多次。
当任务是推断 GMRF 的未知参数时,也有类似的结论。
精确算法也可用于改进(单点) Gibbs 采样算法。此想法是一次只更新 θ \boldsymbol{\theta} θ 的一个子集而不是一个组分,例如从 π ( θ a ∣ θ − a ) \pi(\boldsymbol{\theta}_{a} |\boldsymbol{\theta}_{-a} ) π ( θ a ∣ θ − a ) 中更新 θ a \boldsymbol{\theta}_{a} θ a 。这里,θ a \boldsymbol{\theta}_{a} θ a 可以是模型的 GMRF 部分。再次回到 例 12.4
,我们可以将 Gibbs 采样算法改进为在两个块中更新 ( κ , x ) (\kappa, \mathbf{x}) ( κ , x ) 的算法:
κ ∼ π ( κ ∣ x , y ) and x ∼ π ( x ∣ κ , y ) \kappa \sim \pi(\kappa|\mathbf{x, y}) \quad \text{and} \quad \mathbf{x} \sim \pi(\mathbf{x}|\kappa, \mathbf{y})
κ ∼ π ( κ ∣ x , y ) and x ∼ π ( x ∣ κ , y )
这是可能的,因为 π ( x ∣ κ , y ) \pi(\mathbf{x}|\kappa, \mathbf{y}) π ( x ∣ κ , y ) 是 GMRF。
在许多情况下(包括 GMRF),因为精确(直至数值积分)或近似解的存在,是可以避免使用 MCMC 的;有关详细信息、应用和扩展,请参见 Rue、Martino 和 Chopin (2009)。这种方法的好处在于没有蒙特卡洛误差,并且提高了计算速度。再次回到 例 12.4
,对于任意 x \mathbf{x} x ,有
π ( κ ∣ y ) ∝ π ( x , κ ∣ y ) π ( x ∣ κ , y ) \pi(\kappa | \mathbf{y}) \propto \frac{\pi(\mathbf{x}, \kappa|\mathbf{y})}{\pi(\mathbf{x}|\kappa, \mathbf{y})}
π ( κ ∣ y ) ∝ π ( x ∣ κ , y ) π ( x , κ ∣ y )
要计算右侧(对于给定的 κ \kappa κ ),我们需要使用精确算法求解 式 (12.12)
。在得到 κ \kappa κ 的后验密度后,我们可以使用它来计算任意 x i x_i x i 的后验密度:
π ( x i ∣ y ) = ∫ π ( κ ∣ y ) π ( x i ∣ κ , y ) d κ , \pi(x_i | \mathbf{y}) = \int \pi(\kappa | \mathbf{y}) \pi(x_i | \kappa,\mathbf{y}) d \kappa,
π ( x i ∣ y ) = ∫ π ( κ ∣ y ) π ( x i ∣ κ , y ) d κ ,
上式可以用有限求和来近似。在这个例子中,x i ∣ κ , y x_i |\kappa, \mathbf{y} x i ∣ κ , y 是高斯的,所以 π ( x i ∣ y ) \pi(x_i |\mathbf{y}) π ( x i ∣ y ) 可以用高斯分布的有限混合来近似。
这里的额外任务是计算 x i x_i x i 的边缘方差。将这个例子扩展到未知的 δ \delta δ ,我们有:
π ( κ , δ ∣ y ) ∝ π ( x , κ , δ ∣ y ) π ( x ∣ κ , δ , y ) (12.18) \pi(\kappa, \delta | \mathbf{y}) \propto \pi(\mathbf{x}, \kappa, \delta|\mathbf{y}) \pi(\mathbf{x} |\kappa, \delta,\mathbf{y}) \tag{12.18}
π ( κ , δ ∣ y ) ∝ π ( x , κ , δ ∣ y ) π ( x ∣ κ , δ , y ) ( 12.18 )
和
π ( x i ∣ y ) = ∫ ∫ π ( κ , δ ∣ y ) π ( x i ∣ κ , δ , y ) d κ d δ \pi(x_i | \mathbf{y}) = \int\int \pi(\kappa, \delta | \mathbf{y}) \pi(x_i | \kappa, \delta,\mathbf{y}) d \kappa d \delta
π ( x i ∣ y ) = ∫∫ π ( κ , δ ∣ y ) π ( x i ∣ κ , δ , y ) d κ d δ
我们还需要计算 Q p r i o r ( κ , δ ) \mathbf{Q}_{prior}(\kappa, \delta) Q p r i or ( κ , δ ) 的行列式。同样,π ( x i ∣ y ) \pi(x_i |\mathbf{y}) π ( x i ∣ y ) 可以通过高斯分布的有限混合来近似,而 π ( κ ∣ y ) \pi(\kappa|\mathbf{y}) π ( κ ∣ y ) 和 π ( δ , y ) \pi(\delta,\mathbf{y}) π ( δ , y ) 必须使用数值积分从 式 (12.18)
计算得出。
12.7.2 一些基本的线性代数
令 A \mathbf{A} A 为 SPD,则存在唯一的 (Cholesky) 分解 A = L L ⊤ \mathbf{A} = \mathbf{LL}^{\top} A = LL ⊤ ,其中 L \mathbf{L} L 是下三角,称为 Cholesky 三角矩阵。
Cholesky 分解是求解 A y = b \mathbf{Ay = b} Ay = b 的起点(即计算 A − 1 b \mathbf{A^{-1}b} A − 1 b ),其求解过程大致包括两步:
首先求解 L v = b \mathbf{Lv = b} Lv = b ,得到 v = L − 1 b \mathbf{v=L^{-1}b} v = L − 1 b
然后求解 L ⊤ y = v \mathbf{L^{\top} y = v} L ⊤ y = v ,得到 y = L − ⊤ v \mathbf{y=L^{-\top}v} y = L − ⊤ v 。
在具体算法实现上,第一个线性方程 L v = b \mathbf{Lv = b} Lv = b 直接使用正向代入法求解:
v i = 1 L i , i ( b i − ∑ j = 1 i − 1 L i , j v j ) , i = 1 , … , n , v_i = \frac{1}{\mathbf{L}_{i,i}}\left (b_i − \sum^{i-1}_{j=1} L_{i,j} v_j \right ) ,i= 1,\ldots ,n,
v i = L i , i 1 ( b i − j = 1 ∑ i − 1 L i , j v j ) , i = 1 , … , n ,
而对于第二个线性方程 L ⊤ y = v \mathbf{L^{\top} y = v} L ⊤ y = v ,则使用向后替换法求解
y i = 1 L i , i ( v i − ∑ j = i + 1 n L j , i y j ) , i = n , … , 1 y_i = \frac{1}{\mathbf{L}_{i,i}} \left (v_i − \sum^{n}_{j=i+1} \mathbf{L}_{j,i}y_j \right ) ,i= n, \ldots , 1
y i = L i , i 1 ( v i − j = i + 1 ∑ n L j , i y j ) , i = n , … , 1
当 b \mathbf{b} b 被替换为矩阵 Υ \boldsymbol{\Upsilon} Υ 时,目标变成了计算 A − 1 Υ \mathbf{A^{-1}\boldsymbol{\Upsilon}} A − 1 Υ ,其中 Υ \mathbf{\boldsymbol{\Upsilon}} Υ 是一个 n × k n × k n × k 矩阵。此时,只需要利用上述算法为 Υ j \mathbf{\boldsymbol{\Upsilon}}_j Υ j 中的每一列计算 A − 1 Υ j \mathbf{A^{-1}\boldsymbol{\Upsilon}_j} A − 1 Υ j 即可。在此过程中,A \mathbf{A} A 只需分解一次。
显然,当 Υ = I \mathbf{\boldsymbol{\Upsilon}} = \mathbf{I} Υ = I (且 k = n k = n k = n )或 b = 1 \mathbf{b=1} b = 1 时,上述算法变成了对矩阵 A \mathbf{A} A 求逆。在 R(R 开发核心团队,2007)中,用于矩阵求逆的命令 solve(A)
正是采用了此方法。
12.7.3 GMRF 的采样
(1)采样方法
可以使用以下步骤从 GMRF 进行采样: 采样 z ∼ N ( 0 , I ) \mathbf{z} \sim \mathcal{N}(\mathbf{0, I}) z ∼ N ( 0 , I ) ,即 n n n 个标准高斯变量,求解 L ⊤ v = z \mathbf{L^{\top} v = z} L ⊤ v = z ,并计算 x = μ + v \mathbf{x} = \boldsymbol{\mu} + \mathbf{v} x = μ + v 。样本 x \mathbf{x} x 具有正确的分布,因为 E ( v ) = 0 \mathbb{E}(\mathbf{v}) = \mathbf{0} E ( v ) = 0 , 并且 Cov ( v ) = L − ⊤ I L − 1 = ( L L ⊤ ) − 1 = Q − 1 \operatorname{Cov}(\mathbf{v}) = \mathbf{L}^{-\top} \mathbf{I} \mathbf{L}^{-1} = (\mathbf{LL}^{\top})^{-1} = \mathbf{Q}^{-1} Cov ( v ) = L − ⊤ I L − 1 = ( LL ⊤ ) − 1 = Q − 1 。
(2)计算对数密度
样本 x \mathbf{x} x 的对数密度(对数似然)为:
log π ( x ) = − n 2 log 2 π + 1 2 log ∣ Q ∣ − 1 2 ( x − μ ) ⊤ Q ( x − μ ) ⏟ q \log \pi(\mathbf{x}) =−\frac{n}{2} \log 2\pi + \frac{1}{2} \log |\mathbf{Q}| − \frac{1}{2} \underbrace{(\mathbf{x}-\boldsymbol{\mu})^{\top} \mathbf{Q} (\mathbf{x}-\boldsymbol{\mu})}_{q}
log π ( x ) = − 2 n log 2 π + 2 1 log ∣ Q ∣ − 2 1 q ( x − μ ) ⊤ Q ( x − μ )
其主要计算步骤如下:
计算 q q q :如果使用上述算法对 x \mathbf{x} x 进行采样,则上式中的 q = z ⊤ z q = \mathbf{z^{\top}z} q = z ⊤ z ,否则,我们计算 w = x − μ \boldsymbol{w} = \mathbf{x} − \boldsymbol{\mu} w = x − μ ,u = Q w \boldsymbol{u} = \mathbf{Q} \boldsymbol{w} u = Q w ,然后 q = w ⊤ u q = \boldsymbol{w^{\top}u} q = w ⊤ u 。请注意,u = Q w \boldsymbol{u} = \mathbf{Q} \boldsymbol{w} u = Q w 是一个稀疏的矩阵向量乘积,可以高效计算:
u i = Q i , i w i + ∑ j : j ∼ i Q i , j w j u_i = \mathbf{Q}_{i,i} w_i + \sum\limits_{ j: j \sim i} \mathbf{Q}_{i,j} w_j
u i = Q i , i w i + j : j ∼ i ∑ Q i , j w j
由于 i i i 不是 i i i 的邻居,因此显式添加了对角线项。
计算 Q \mathbf{Q} Q 的行列式 : 可以从 Cholesky 分解中得到 ∣ Q ∣ = ∣ L L ⊤ ∣ = ∣ L ∣ 2 |\mathbf{Q}| = |\mathbf{LL}^{\top}| = |L|^2 ∣ Q ∣ = ∣ LL ⊤ ∣ = ∣ L ∣ 2 。由于 L \mathbf{L} L 是下三角矩阵,因此可以通过对角元素计算:
1 2 log ∣ Q ∣ = ∑ i log L i , i \frac{1}{2} \log |\mathbf{Q}| = \sum\limits_{i} \log L_{i,i}
2 1 log ∣ Q ∣ = i ∑ log L i , i
(3)条件分布的采样
如 定理 12.2
中所述,对以 x B \mathbf{x}_B x B 为条件的 x A \mathbf{x}_A x A 的条件分布进行采样,可以采用类似方法。对 Q A A \mathbf{Q}_{AA} Q AA 进行 Cholesky 分解,然后为 μ A ∣ B \mu_{A|B} μ A ∣ B 求解线性方程组:
Q A A ( μ A ∣ B − μ A ) = − Q A B ( x B − μ B ) \mathbf{Q}_{AA}(\mu_{A|B} − \mu_{A}) = − \mathbf{Q}_{AB} (\mathbf{x}_B − \mu_{B})
Q AA ( μ A ∣ B − μ A ) = − Q A B ( x B − μ B )
依然可以使用正向和反向替换方法。右侧的(稀疏)矩阵向量乘积使用 Q A B \mathbf{Q}_{AB} Q A B 中的非零元素计算即可,其余步骤皆与通用算法相同。
12.7.4 在线性约束条件下实施 GMRF 采样
(1)采样方法
在实际应用中,我们经常希望在线性约束下从 GMRF 中采样,
A x = e \mathbf{Ax = e}
Ax = e
对于秩为 k k k 的 k × n k × n k × n 矩阵 A \mathbf{A} A 。常见的情况是 k ≪ n k \ll n k ≪ n 。一种蛮力方法是直接计算条件(高斯)密度 π ( x ∣ A x = e ) \pi(\mathbf{x |Ax = e}) π ( x∣Ax = e ) ,但这将使精度矩阵(通常)不再稀疏。例如,如果没有约束 x i ⊥ x j ∣ x − { i , j } x_i \perp x_j | \mathbf{x}_{−\{i, j\}} x i ⊥ x j ∣ x − { i , j } ,则 sum-to-zero 约束 ∑ x i = 0 \sum x_i = 0 ∑ x i = 0 会使 x i x_i x i 和 x j x_j x j 负相关。为了不损失计算效率,我们必须对无约束样本 x \mathbf{x} x 进行精细地修正,以获得有约束样本 x c \mathbf{x}^c x c 以解决此问题:
x c = x − Q − 1 A ⊤ ( A Q − 1 A ⊤ ) − 1 ( A x − e ) (12.19) \mathbf{x}^c = \mathbf{x} − \mathbf{Q}^{-1}\mathbf{A}^{\top} (A\mathbf{Q}^{-1}\mathbf{A}^{\top} )^{-1}(\mathbf{Ax-e}) \tag{12.19}
x c = x − Q − 1 A ⊤ ( A Q − 1 A ⊤ ) − 1 ( Ax − e ) ( 12.19 )
直接计算表明 x c \mathbf{x}^c x c 具有正确的均值和协方差。仔细观察 式 (12.19)
可以清楚地看到所有的矩阵项都很容易计算:
Q − 1 A ⊤ \mathbf{Q}^{-1}\mathbf{A}^{\top} Q − 1 A ⊤ 仅求解类型为 Q v j = ( A ⊤ ) j \mathbf{Q} \mathbf{v}_j = (\mathbf{A}^{\top})_j Q v j = ( A ⊤ ) j 的 k k k 个线性方程,其中 j = 1 , … , k j = 1,\ldots ,k j = 1 , … , k ;
A Q − 1 A ⊤ \mathbf{A}\mathbf{Q}^{-1}\mathbf{A}^{\top} A Q − 1 A ⊤ 是一个 k × k k × k k × k 矩阵,其 Cholesky 分解计算速度很快,因为 k k k 在典型应用中很小。
请注意,具有约束 k k k 的额外成本是 O ( n k 2 ) \mathcal{O}(nk^2) O ( n k 2 ) ,因此,当k k k 较小时可以忽略不计。
(2)计算对数密度
计算受约束的对数密度可能需要更多关注,因为 x ∣ A x \mathbf{x|Ax} x∣Ax 是奇异的,其秩为 n − k n − k n − k 。但可以使用以下公式:
π ( x ∣ A x ) = π ( A x ∣ x ) π ( x ) π ( A x ) \pi(\mathbf{x |Ax}) = \frac{\pi(\mathbf{Ax|x}) \pi(\mathbf{x})}{\pi(\mathbf{Ax})}
π ( x∣Ax ) = π ( Ax ) π ( Ax∣x ) π ( x )
现在请注意,右侧的所有项都很容易计算:
π ( x ) \pi(\mathbf{x}) π ( x ) 是具有均值 μ \boldsymbol{\mu} μ 和精度矩阵 Q \mathbf{Q} Q 的 GMRF
π ( A x ) \pi(\mathbf{Ax}) π ( Ax ) 是(k k k 维)高斯分布,具有均值 A μ \mathbf{A}\boldsymbol{\mu} A μ 和协方差 A Q − 1 A ⊤ \mathbf{A}\mathbf{Q}^{-1}\mathbf{A}^{\top} A Q − 1 A ⊤
π ( A x ∣ x ) \pi(\mathbf{Ax|x}) π ( Ax∣x ) 为 0 0 0 (当配置 x \mathbf{x} x 与 A x \mathbf{Ax} Ax 的值不一致时)或等于 ∣ A A ⊤ ∣ − 1 / 2 |\mathbf{A}\mathbf{A}^{\top}|^{-1/2} ∣ A A ⊤ ∣ − 1/2 。
【例 12.7】
令 x \mathbf{x} x 为 n n n 个独立的零均值高斯随机变量,方差为 { σ i 2 } \{\sigma^2_i \} { σ i 2 } 。可以从无约束的样本 x \mathbf{x} x 生成一个 sum-to-zero 的有约束样本 x ∗ \mathbf{x}^* x ∗ :
x i ∗ = x i − c σ i 2 , 其中 c = ∑ x j / ∑ σ j 2 , i = 1 , … , n x^*_i = x_i − c\sigma^2_i ,\quad \text{其中} \quad c = \sum x_j / \sum \sigma^2_j \quad \text{,} \quad i= 1,\ldots ,n
x i ∗ = x i − c σ i 2 , 其中 c = ∑ x j / ∑ σ j 2 , i = 1 , … , n
上面的构造可以泛化至以 软约束 为条件,即以 k k k 个观测 y = ( y 1 , … , y k ) ⊤ \mathbf{y} = ( y_1,\ldots ,y_k)^{\top} y = ( y 1 , … , y k ) ⊤ 为条件,其中
y ∣ x ∼ N ( A x , Υ ) \mathbf{y | x} \sim \mathcal{N}(\mathbf{Ax},\mathcal{\boldsymbol{\Upsilon}})
y∣x ∼ N ( Ax , Υ )
这里,A \mathbf{A} A 是一个 k × n k × n k × n 矩阵,秩为 k k k 并且 Υ > 0 \mathbf{\boldsymbol{\Upsilon}} > 0 Υ > 0 。条件密度 x ∣ y \mathbf{x|y} x∣y 具有精度矩阵 Q + A ⊤ Υ − 1 A \mathbf{Q} + \mathbf{A}^{\top} \mathbf{\boldsymbol{\Upsilon}}^{-1} \mathbf{A} Q + A ⊤ Υ − 1 A ,它通常是一个密集矩阵。我们可以使用与方程 式 (12.19)
中相同的方法,现在将其概括为
x c = x − Q − 1 A ⊤ ( A Q − 1 A ⊤ + Υ ) − 1 ( A x − ϵ ) (12.21) \mathbf{x}^c = \mathbf{x} − \mathbf{Q}^{-1}\mathbf{A}^{\top} (\mathbf{AQ}^{-1}\mathbf{A}^{\top} + \boldsymbol{\Upsilon} )^{-1}(\mathbf{Ax} − \boldsymbol{\epsilon} ) \tag{12.21}
x c = x − Q − 1 A ⊤ ( AQ − 1 A ⊤ + Υ ) − 1 ( Ax − ϵ ) ( 12.21 )
其中 ϵ ∼ N ( y , Υ ) \boldsymbol{\epsilon} \sim \mathcal{N}(\mathbf{y},\boldsymbol{\Upsilon}) ϵ ∼ N ( y , Υ ) 。
(3)条件分布的采样
类似地,如果 x \mathbf{x} x 是来自 π ( x ) \pi(\mathbf{x}) π ( x ) 的样本,则 式 (12.21)
计算的 x c \mathbf{x}^c x c 可以被视为条件分布 π ( x ∣ y ) \pi(\mathbf{x} |\mathbf{y}) π ( x ∣ y ) 。为了计算条件密度,我们使用与 式 (12.20)
中相同的方法,有
π ( x ∣ y ) = π ( y ∣ x ) π ( x ) π ( y ) \pi(\mathbf{x} |\mathbf{y}) = \frac{ \pi(\mathbf{y|x}) \pi(\mathbf{x}) }{\pi(\mathbf{y})}
π ( x ∣ y ) = π ( y ) π ( y∣x ) π ( x )
此处,π ( x ) \pi(\mathbf{x}) π ( x ) 是 GMRF 的密度,π ( y ∣ x ) \pi(\mathbf{y|x}) π ( y∣x ) 是均值为 A x \mathbf{Ax} Ax 、协方差矩阵为 Υ \boldsymbol{\Upsilon} Υ 的 k k k 维高斯分布,而 π ( y ) \pi(\mathbf{y}) π ( y ) 是均值为 A μ \mathbf{A} \boldsymbol{\mu} A μ 、协方差矩阵为 A Q − 1 A ⊤ + Υ \mathbf{A} \mathbf{Q}^{-1}\mathbf{A}^{\top} + \boldsymbol{\Upsilon} A Q − 1 A ⊤ + Υ 的 k k k 维高斯分布。
12.7.5 Cholesky 分解的优化
上述所有精确模拟算法都基于 Cholesky 三角矩阵 L \mathbf{L} L ,它是通过将 Q \mathbf{Q} Q 分解为 L L ⊤ \mathbf{LL}^{\top} LL ⊤ 得到的。下面更详细地讨论这种因式分解,说明为何稀疏矩阵能够实现更快的因式分解,并且讨论通过对索引进行重新排序,如何能够加快计算速度。
12.7.6 Cholesky 三角矩阵的解释
Q \mathbf{Q} Q 的 Cholesky 分解是明确可用的;这只是按正确顺序进行计算的问题。根据定义,我们有
Q i , j = ∑ k = 1 j L i , k L j , k , i ≥ j Q_{i,j} = \sum^{j}_{k=1} L_{i,k} L_{j,k} \quad \text{,} \quad i \geq j
Q i , j = k = 1 ∑ j L i , k L j , k , i ≥ j
其中 L \mathbf{L} L 是下三角矩阵,意味着对于所有 k > i k > i k > i ,有 L i , k = 0 L_{i,k} = 0 L i , k = 0 。例如,假设 n = 2 n = 2 n = 2 ,则 Q 1 , 1 = L 1 , 1 2 Q_{1,1} = L^2_{1,1} Q 1 , 1 = L 1 , 1 2 , Q 2 , 1 = L 2 , 1 L 1 , 1 Q_{2,1} = L_{2,1} L_{1,1} Q 2 , 1 = L 2 , 1 L 1 , 1 ,并且 Q 2 , 2 = L 2 , 1 L 2 , 1 + L 2 , 2 2 Q_{2,2} = L_{2,1} L_{2,1} + L^2_{2,2} Q 2 , 2 = L 2 , 1 L 2 , 1 + L 2 , 2 2 。可以很快看出,我们能够按此特定顺序计算 L 1 , 1 L_{1,1} L 1 , 1 、L 2 , 1 L_{2,1} L 2 , 1 和 L 2 , 2 L_{2,2} L 2 , 2 。
这 n > 2 n > 2 n > 2 也适用,我们可以为 i = 1 , … , n i = 1,\ldots ,n i = 1 , … , n (按此顺序)计算 L i , 1 L_{i,1} L i , 1 ,然后为 i = 2 , … , n i = 2,\ldots ,n i = 2 , … , n 计算 L i , 2 L_{i,2} L i , 2 ,依此类推。由于这种简单的显式结构,可以快速计算 Cholesky 分解,并且标准线性代数库中提供了有效的实现(Anderson、Bai、Bischof、Demmel 等,1995 年)。然而,计算复杂度为 O ( n 3 ) \mathcal{O}(n^3) O ( n 3 ) 。
利用精度矩阵或 Cholesky 三角矩阵中的特定结构可以加速 Cholesky 分解。对于 GMRF,Q \mathbf{Q} Q 中的稀疏性会带来 L \mathbf{L} L 中的稀疏性。这意味着,如果已知 L j , i = 0 L_{j,i} = 0 L j , i = 0 ,那么就不需要计算它了。如果 L \mathbf{L} L 的主体为零,那么我们可以节省大量计算。
为了理解此问题,我们需要理解 L \mathbf{L} L 在统计解释方面的真正含义。零均值 GMRF 的模拟算法,需要求解 L ⊤ x = z \mathbf{L}^{\top} \mathbf{x} = \mathbf{z} L ⊤ x = z ,其中 z ∼ N ( 0 , I ) \mathbf{z} \sim \mathcal{N}(\mathbf{0, I}) z ∼ N ( 0 , I ) ,给出以下结果。
【定理 12.4】
设 x \mathbf{x} x 是关于有标签图 G \mathcal{G} G 的 GMRF,其均值为 μ \boldsymbol{\mu} μ 、SPD 精度矩阵为 Q \mathbf{Q} Q 。令 L \mathbf{L} L 为 Q \mathbf{Q} Q 的 Cholesky 三角矩阵。那么对于 i ∈ V i \in \mathcal{V} i ∈ V 有:
E ( x i ∣ x ( i + 1 ) : n ) = μ i − 1 L i , i ∑ j = i + 1 n L j , i ( x j − μ j ) \mathbb{E}(x_i | \mathbf{x}_{(i+1):n}) = \mu_i − \frac{1}{L_{i,i}} \sum^{n}_{j=i+1} L_{j,i}(x_j − \mu_j )
E ( x i ∣ x ( i + 1 ) : n ) = μ i − L i , i 1 j = i + 1 ∑ n L j , i ( x j − μ j )
和
P r e c i s i o n ( x i ∣ x ( i + 1 ) : n ) = L i , i 2 Precision (x_i | \mathbf{x}_{(i+1):n} ) = L^2_{i,i}
P rec i s i o n ( x i ∣ x ( i + 1 ) : n ) = L i , i 2
也就是说,L L L 中的元素可以被解释为对 x i x_i x i 以所有 x j x_j x j 为条件( j > i j > i j > i )的均值和精度的贡献。这与 Q \mathbf{Q} Q 的元素类似,精度矩阵也具有类似的解释,不过精度矩阵中会以所有其他 x j x_j x j 为条件。此解释的一个简单推论是:对于所有 i i i 有 Q i , i ≥ L i , i 2 \mathbf{Q}_{i,i} \geq L^2_{i,i} Q i , i ≥ L i , i 2 。
如果我们将 式 (12.2)
与 定理 12.4
合并,将得到以下结果。
【定理 12.5】
设 x \mathbf{x} x 为有标签图 G \mathcal{G} G 的 GMRF,具有均值 μ \boldsymbol{\mu} μ 和 SPD 精度矩阵 Q \mathbf{Q} Q 。令 L \mathbf{L} L 为 Q \mathbf{Q} Q 的 Cholesky 三角矩阵,并将 i i i 的除 j j j 之外的未来结点集合定义为 ( 1 ≤ i < j ≤ n 1 \leq i < j \leq n 1 ≤ i < j ≤ n ):
F ( i , j ) = { i + 1 , … , j − 1 , j + 1 , … , n } F (i, j) =\{i + 1, \ldots ,j− 1,j+ 1, \ldots ,n\}
F ( i , j ) = { i + 1 , … , j − 1 , j + 1 , … , n }
那么
x i ⊥ x j ∣ x F ( i , j ) ⇔ L j , i = 0 x_i \perp x_j | \mathbf{x}_{F (i, j)} \Leftrightarrow L_{ j,i} = 0
x i ⊥ x j ∣ x F ( i , j ) ⇔ L j , i = 0
所以,如果我们考虑 x i : n \mathbf{x}_{i:n} x i : n 的边缘分布,那么 L j , i = 0 L_{j,i} = 0 L j , i = 0 等价于 x i x_i x i 和 x j x_j x j 条件独立。这是一个有用的结果,因为它表明:如果能够利用边缘的有序序列 { x i : n } \{\mathbf{x}_{i:n}\} { x i : n } 中存在的条件独立性来确定 L \mathbf{L} L 中的零元素,那么边缘 { x i : n } \{x_{i:n}\} { x i : n } 会更容易通过 Cholesky 三角矩阵来计算。不过,我们可以使用一个放宽了的准则:x i ⊥ x j ∣ x F ( i , j ) x_i \perp x_j | \mathbf{x}_{F(i,j)} x i ⊥ x j ∣ x F ( i , j ) ,也就是 定理 12.3
中的全局马尔可夫性质。
【推论 12.1】
如果 F ( i , j ) F (i, j) F ( i , j ) 分隔了结点 i < j ∈ G i < j \in \mathcal{G} i < j ∈ G ,则 L j , i = 0 L_{j,i} = 0 L j , i = 0 。
这是一个主要的结果。如果我们可以仅仅通过图结构来验证 i < j i < j i < j 是否被 F ( i , j ) F (i, j) F ( i , j ) 分隔,而不用考虑 Q \mathbf{Q} Q 中元素的数值,则无论 Q \mathbf{Q} Q 中的数值如何,我们都可以得到 L j , i = 0 L_{j,i} = 0 L j , i = 0 。如果 i < j i < j i < j 没有被 F ( i , j ) F (i, j) F ( i , j ) 分隔,则 L j , i L_{j,i} L j , i 通常不为零(尽管可以为零)。由于邻居 i ∼ j i \sim j i ∼ j 之间不会被任何集合分隔,因此对于邻居来说 L j , i L_{j,i} L j , i 通常是非零的。
【例 12.8】
考虑一个带有 图 12.1
中的图的 GMRF。然后我们知道 L 1 , 1 L_{1,1} L 1 , 1 、L 2 , 2 L_{2,2} L 2 , 2 、L 3 , 3 L_{3,3} L 3 , 3 、L 4 , 4 L_{4,4} L 4 , 4 是非零的,而 L 2 , 1 L_{2,1} L 2 , 1 、L 3 , 2 L_{3,2} L 3 , 2 、L 4 , 3 L_{4,3} L 4 , 3 和 L 4 , 1 L_{4,1} L 4 , 1 通常是非零的。剩下的两个元素是 L 3 , 1 L_{3,1} L 3 , 1 和 L 4 , 2 L_{4,2} L 4 , 2 ,我们使用 推论 12.1
检查它们;结点 1 和 3 由 F ( 1 , 3 ) = { 2 , 4 } F(1, 3) =\{2, 4\} F ( 1 , 3 ) = { 2 , 4 } 分隔,所以 L 3 , 1 L_{3,1} L 3 , 1 必须为零,而 F ( 4 , 2 ) = { 3 } F (4, 2) =\{3\} F ( 4 , 2 ) = { 3 } 由于结点 1 而不会分隔 2 和 4,因此 L 4 , 2 L_{4,2} L 4 , 2 通常是非零的。
12.7.7 带状矩阵的 Cholesky 分解
尽管 例 12.8
中 Cholesky 三角矩阵中只有一个元素是必然为零的,但自回归模型通常会为我们带来大量的零元素。
设 x \mathbf{x} x 为 p p p 阶自回归过程 AR(p p p ),即有:
x t ∣ x t − 1 , … , x 1 ∼ N ( ϕ 1 x t − 1 + … + ϕ p x t − p , σ 2 ) , t = 1 , … , n x_{t} | x_{t-1}, \ldots ,x_1 \sim \mathcal{N}(\phi_1 x_{t-1} + \ldots +\phi_p x_{t−p}, \sigma^2),t= 1, \ldots ,n
x t ∣ x t − 1 , … , x 1 ∼ N ( ϕ 1 x t − 1 + … + ϕ p x t − p , σ 2 ) , t = 1 , … , n
为简单起见,我们设置 x 0 = x − 1 = … = x − p + 1 = 0 \mathbf{x}_0 = \mathbf{x}_{−1} = \ldots = \mathbf{x}_{−p+1} = 0 x 0 = x − 1 = … = x − p + 1 = 0 。
AR(p p p ) 过程的精度矩阵是一个带宽为 b w = p b_w = p b w = p 的带状矩阵。使用 推论 12.1
,可以得出对于所有 j − i > p , j > i j − i > p, \quad j > i j − i > p , j > i ,有 L j , i = 0 L_{j,i} = 0 L j , i = 0 ,因此 L \mathbf{L} L 也是一个具有相同带宽的带状矩阵。
【定理 12.6】
如果 Q \mathbf{Q} Q 是带宽为 b w b_w b w 的 SPD 带状矩阵,则其 Cholesky 三角矩阵 L \mathbf{L} L 是具有相同带宽的下三角带状矩阵。
在这个例子中,L \mathbf{L} L 中的 O ( n 2 ) \mathcal{O}(n^2) O ( n 2 ) 个项中,只有 O ( n ( b w + 1 ) ) \mathcal{O}(n(b_w + 1)) O ( n ( b w + 1 )) 个项是非零的,这是一种显著地减少。一个直接结果是可以简化计算 Cholesky 分解的算法;三个循环中的两个只需要在带宽内进行即可,复杂度从 O ( n 3 ) \mathcal{O}(n^3) O ( n 3 ) 降低到 O ( n b w 2 ) \mathcal{O}(nb_w^2) O ( n b w 2 ) 。这给出了固定带宽对应的计算代价,仅与 n n n 成线性关系。
12.7.8 重新排序技术:带状矩阵
带状矩阵的计算效率优势自然会引发这样一个问题:是否可以将此方法用于 “非带状” 但稀疏的矩阵? 一种合理的方法是:如果图中的索引是任意排列的,那么或许我们可以通过索引的重新排列获得更小的带宽,用其完成计算后,再将结果逆排列至原始索引顺序。
在形式上,可以令 P \mathbf{P} P 表示 n ! n! n ! 个 n × n n × n n × n 置换矩阵之一;P \mathbf{P} P 的每一行和每一列都有一个且只有一个非零项,即 1 1 1 。置换矩阵的转置是其逆置换,也就是 P ⊤ P = I \mathbf{P^{\top} P} = \mathbf{I} P ⊤ P = I 。以 Q μ = b \mathbf{Q} \boldsymbol{\mu} = \mathbf{b} Q μ = b 为例,利用上述思路,我们可以在方程两边都乘以 P \mathbf{P} P 后做求解:
( P Q P ⊤ ) ⏟ Q ~ P μ ⏟ μ ~ = P b ⏟ b ~ \underbrace{(\mathbf{P\mathbf{Q}P^{\top}})}_{\widetilde{\mathbf{Q}}} \underbrace{\mathbf{P} \boldsymbol{\mu}}_{\widetilde{\boldsymbol{\mu}}} = \underbrace{\mathbf{Pb}}_{\widetilde{\mathbf{b}}}
Q ( PQ P ⊤ ) μ P μ = b Pb
原问题被转换为求解 Q ~ μ ~ = b ~ \widetilde{ \mathbf{Q}} \widetilde{\mu} = \widetilde{\mathbf{b}} Q μ = b 的问题,对其解应用逆置换即可得到原始解:μ = P ⊤ μ ~ \boldsymbol{\mu} = \mathbf{P}^{\top} \widetilde{\boldsymbol{\mu} } μ = P ⊤ μ 。
下一个问题是如何置换稀疏矩阵以获得小带宽。这个问题有点技术性,但在计算机科学领域有大量文献(Duff、Erisman 和 Reid,1989 年;George 和 Liu,1981 年)和算法。因此,任何运行速度快并给出合理结果的算法都可以采纳。
图 12.4
显示了一个示例,其中 图 12.4a
显示了从空间应用中找到的精度矩阵(Rue 和 Held,2005 年,第 4.2.2 节),图 12.4b
是使用 Gibbs–Poole–Stockmeyer 重排序算法得到的结果 (Lewis, 1982),图 12.4c
是重排序精度矩阵的 Cholesky 三角矩阵。其中重新排序后的带宽为 38 38 38 。
12.7.9 重新排序技术:一般稀疏矩阵
虽然带状矩阵方法为某些图提供了非常有效的算法,但我们经常会遇到需要更通用方法的情况。一个典型例子是图中存在一些 “全局结点”,即某些结点与所有其他结点都相邻。在统计应用中,这种情况经常发生,如下例所示。
【例 12.9】
设 μ ∼ N ( 0 , 1 ) \boldsymbol{\mu} \sim \mathcal{N}(0, 1) μ ∼ N ( 0 , 1 ) 和 { z t } \{z_t\} { z t } 是长度为 T T T 且均值为 μ \mu μ 的 AR( 1 1 1 ) 过程;那么 x = ( z ⊤ , μ ) ⊤ \mathbf{x} = (\mathbf{z}^{\top} , \mu)^{\top} x = ( z ⊤ , μ ) ⊤ 是关于 G \mathcal{G} G 的 GMRF,其中结点 μ \mu μ 是所有其他结点的邻居。带宽为 n − 1 n − 1 n − 1 ,其中 n = T + 1 n = T + 1 n = T + 1 ,对于所有 n ! n! n ! 重新排序。
带状矩阵方法在这个例子中并不成功,但我们可以通过使用一般(和复杂的)因式分解方案来推导有效的因式分解。一般方案仅计算 L \mathbf{L} L 中的非零项,这需要大大增加复杂性。接下来的问题是重新排序以最小化 L \mathbf{L} L 中未知为零的项数。将 M(G) 定义为使用 推论 12.1
找到的 L \mathbf{L} L 中的非零项数。
然后通常使用填充数来比较任何重新排序的效率
fill-ins ( G ) = M ( G ) − ( ∣ V ∣ + ∣ E ∣ / 2 ) \operatorname{fill-ins}(\mathcal{G}) = M(\mathcal{G}) − (|\mathcal{V}|+|\mathcal{E}|/2)
fill-ins ( G ) = M ( G ) − ( ∣ V ∣ + ∣ E ∣/2 )
由于 L i , i > 0 L_{i,i} > 0 L i , i > 0 对于所有 i i i ,并且 4L_{j,i}4 对于 i ∼ j i \sim j i ∼ j 和 j > i j > i j > i 通常是非零的,因此 fill-ins ( G ) ≥ 0 \operatorname{fill-ins}(\mathcal{G}) \geq 0 fill-ins ( G ) ≥ 0 。
p p p 阶自回归过程是最优的,因为精度矩阵是带宽为 p p p 的带状矩阵(并且带内密集),并且使用恒等排序,填充的数量为零(见 定理 12.6
)。对于其他 GMRF,填充数(在大多数情况下)是非零的,并且可以比较不同的重新排序方案以找到合理的重新排序。请注意,无需找到最佳重新排序,但任何合理的重新排序就足够了。
让我们重新考虑 例 12.9
,我们比较了两个重新排序,其中全局结点 μ \boldsymbol{\mu} μ 分别排在第一位和最后一位; x = ( z ⊤ , μ ) ⊤ \mathbf{x} = (\mathbf{z}^{\top} , \mu)^{\top} x = ( z ⊤ , μ ) ⊤ 和 x ′ = ( μ , z ⊤ ) ⊤ \mathbf{x}' = (\mu, \mathbf{z}^{\top})^{\top} x ′ = ( μ , z ⊤ ) ⊤ 。精度矩阵分别是
此处,× × × 表示非零值。使用 推论 12.1
,我们获得 Cholesky 三角矩阵的(一般)非零结构
其中 √ √ √ 表示填充。将全局结点 μ \mu μ 放在最后不会给出任何填充,而将其放在最前面会给出最大数量的填充。这种洞察力可用于推导称为嵌套剖面的重新排序方案,如下所示。
选择一组(小的)结点,移除这些结点会将图分成两个大小几乎相等的不连通子图
在对两个子图中的所有结点进行排序后对所选结点进行排序
将此过程递归地应用于每个子图中的结点
形式上,这可以描述如下:
【引理 12.2】
令 x \mathbf{x} x 为关于 G \mathcal{G} G 的 GMRF,其 SPD 精度矩阵为 Q \mathbf{Q} Q ,并将 x \mathbf{x} x 划分为 ( x ⊤ A , x ⊤ B , x ⊤ C ) ⊤ (\mathbf{x}^{\top} \mathbf{A}, \mathbf{x}^{\top} \mathbf{B}, \mathbf{x}^{\top} \mathbf{C} )^{\top} ( x ⊤ A , x ⊤ B , x ⊤ C ) ⊤ 。将 Q \mathbf{Q} Q 的 Cholesky 三角矩阵划分为
L = ( L A A L B A L B B L C A L C B L C C ) \mathbf{L}= \begin{pmatrix} \mathbf{L}_{AA} & &\\ \mathbf{L}_{BA} & \mathbf{L}_{BB}& \\ \mathbf{L}_{CA} & \mathbf{L}_{CB}& \mathbf{L}_{CC} \end{pmatrix}
L = L AA L B A L C A L BB L CB L CC
如果 C C C 在 G \mathcal{G} G 中分隔了 A A A 和 B B B ,则有 L B A = 0 \mathbf{L}_{BA} = \mathbf{0} L B A = 0
递归方法通过类似地划分 A A A 和 B B B 来进行,依此类推。事实证明,嵌套剖面重新排序为从离散化晶格或立方体中找到的 GMRF 提供了最佳重新排序(在顺序意义上):考虑一个具有 n n n 个站点的规则方形晶格,其中每个结点都与最近的四个结点相邻。嵌套剖面重新排序将使用 C C C 作为中间列,A A A 和 B B B 作为左右部分。然后递归地重复这个过程。事实证明,重新排序的精度矩阵的因式分解成本将为 O ( n 3 / 2 ) \mathcal{O}(n^{3/2}) O ( n 3/2 ) ,这比使用带宽方法快 n \sqrt{n} n 倍。填充数将(仅)为 O ( n log n ) \mathcal{O}(n \log n) O ( n log n ) 。可以证明,应用任何重新排序的精度矩阵因式分解大于或等于 O ( n 3 / 2 ) \mathcal{O}(n^{3/2}) O ( n 3/2 ) ;因此在顺序意义上是最优的。对于具有 n n n 个结点的 3D 网格,计算成本为 O ( n 2 ) \mathcal{O}(n^2) O ( n 2 ) ,填充数为 O ( n 4 / 3 ) \mathcal{O}(n^{4/3}) O ( n 4/3 ) 。
在长图和细图的带重新排序和格状图的嵌套剖面重新排序之间,还有其他几种重新排序方案可以根据具体情况提供更好的重新排序。尝试哪一个取决于哪个实现可用;但是,任何合理的重新排序选择都足够了。请注意,可以(通过稀疏矩阵库)计算特定图的填充数,而无需进行实际的因式分解,因为它仅取决于图;因此,如果应该对同一个图执行多个因式分解,比较(一些)重新排序并选择填充次数最少的一个可能会有好处。
我们通过重新访问 图 12.4a
中显示的 380 × 380 380 × 380 380 × 380 精度矩阵来结束本次讨论。带重新排序给出了 11 , 112 11,112 11 , 112 个填充,嵌套剖面给出了 2 , 460 2,460 2 , 460 ,而 “最佳” 产生了 2 , 182 2,182 2 , 182 个填充。最佳重新排序的精度矩阵和相应的 Cholesky 三角矩阵显示在 图 12.5
中。
12.7.10 批量边缘方差的精确计算
我们现在将转向一个更 “统计” 的问题;如何计算 GMRF 的所有(或几乎所有)边缘方差。这是一项不同于仅计算一个方差(比如 x i x_i x i )的任务,后者可以简单地通过求解 Q v = 1 i \mathbf{Qv = 1_i} Qv = 1 i 来完成,其中 1 i \mathbf{1}_i 1 i 在位置 i i i 处为 1 1 1 ,否则为零,然后是 Var ( x i ) = v i \operatorname{Var}(x_i ) = v_i Var ( x i ) = v i 。尽管方差计算是统计学的核心,但在计算机科学中却不一定如此:我们不熟悉任何提供这种功能的稀疏矩阵库,尽管一般解决方案是已知的(Erisman 和 Tinney,1975 年;Takahashi,Fagan,和 Chen,1973)。我们将从统计的角度推导递归,从 Q \mathbf{Q} Q 是没有额外线性约束的 SPD 的情况开始。有约束的情况将在后面讨论。
12.7.11 一般递归
出发点再次是 L ⊤ x = z \mathbf{L}^{\top} \mathbf{x = z} L ⊤ x = z 的解提供了具有精度矩阵 Q \mathbf{Q} Q 的样本 x \mathbf{x} x ,这意味着
x i = z i / L i , i − 1 L i , i ∑ k = i + 1 n L k , i x k , i = n , … , 1 x_i = z_i /L_{i,i} − \frac{1}{L_{i,i}} \sum^{n}_{k=i+1} L_{k,i} x_k ,\qquad i = n, \ldots , 1
x i = z i / L i , i − L i , i 1 k = i + 1 ∑ n L k , i x k , i = n , … , 1
对于 j ≥ i j \geq i j ≥ i ,两边都乘以 x j x_j x j 。然后期望值读取
Σ i , j = δ i , j / L i , i 2 − 1 L i , i ∑ k = i + 1 n L k , i Σ k , j , j ≥ i , i = n , … , 1 (12.22) \Sigma_{i,j} = \delta_{i,j} / L^2_{i,i} − \frac{1}{L_{i,i}} \sum^{n}_{k=i+1} L_{k,i} \Sigma_{k, j}, \qquad j \geq i, i = n,\ldots , 1 \tag{12.22}
Σ i , j = δ i , j / L i , i 2 − L i , i 1 k = i + 1 ∑ n L k , i Σ k , j , j ≥ i , i = n , … , 1 ( 12.22 )
其中,如果 i = j i = j i = j ,则 δ i , j \delta_{i,j} δ i , j 为 1 1 1 ,否则为 0 0 0 。 式 (12.22)
中的和只需要在所有非零 L j , i L_{j,i} L j , i 上,或者至少是所有那些 k k k 使得 i i i 和 k > i k > i k > i 不被 F ( i , k ) F (i, k) F ( i , k ) 分隔;见 推论 12.1
。为了简化符号,将此索引集定义为
I ( i ) = { k > i : i 和 k 不被 F ( i , k ) 分隔 } \mathcal{I}(i) = \{k > i : i \quad \text{和} \quad k \quad \text{不被} \quad F (i, k) \quad \text{分隔} \quad \}
I ( i ) = { k > i : i 和 k 不被 F ( i , k ) 分隔 }
和他们的 “联合”,
I = { { i , k } : k > i , i 和 k 不被 F ( i , k ) 分隔 } \mathcal{I} =\left \{\{i, k\} : k > i, i \quad \text{和} \quad k \quad \text{不被} \quad F (i, k) \quad \text{分隔} \quad \right \}
I = { { i , k } : k > i , i 和 k 不被 F ( i , k ) 分隔 }
对于 k , i = 1 , … , n k,i = 1,\ldots ,n k , i = 1 , … , n 。注意 I \mathcal{I} I 的元素是集合;因此如果 { i , j } ∈ I \{i, j\}\in \mathcal{I} { i , j } ∈ I ,那么 { j , i } \{j, i\} { j , i } 也是。 I \mathcal{I} I 表示 L \mathbf{L} L 中所有那些事先不知道为零的索引;因此,必须通过 Cholesky 分解来计算。使用此符号,方程 式 (12.22)
变为
Σ i , j = δ i , j / L i , i 2 − 1 L i , i ∑ k ∈ I ( i ) L k , i Σ k , j , j ≥ i , i = n , … , 1 (12.23) \Sigma_{i,j} = \delta_{i,j} / L^2_{i,i} − \frac{1}{L_{i,i}} \sum\limits_{ k \in \mathcal{I} (i)} L_{k,i} \Sigma_{k, j},\qquad j \geq i, i = n,\ldots, 1 \tag{12.23}
Σ i , j = δ i , j / L i , i 2 − L i , i 1 k ∈ I ( i ) ∑ L k , i Σ k , j , j ≥ i , i = n , … , 1 ( 12.23 )
更仔细地研究这些方程,结果表明,如果以正确的顺序应用 式 (12.23)
,我们可以显式计算所有 Σ i , j \Sigma_{i,j} Σ i , j :
尽管这个直接过程计算了所有边缘方差 Σ n , n , … , Σ 1 , 1 \Sigma_{n,n},\ldots , \Sigma_{1,1} Σ n , n , … , Σ 1 , 1 ,但很自然地会问是否有必要计算所有 Σ i , j \Sigma_{i,j} Σ i , j 以获得边缘方差。令 J \mathcal{J} J 为一组指数对 { i , j } \{i, j\} { i , j } ,并假设我们可以仅对所有 ${i, j} \in \mathcal{J} $ 从 式 (12.23)
计算 Σ i , j \Sigma_{i,j} Σ i , j ,并且仍然获得所有边缘方差。那么集合 $\mathcal{J} $ 必须满足两个要求:
【需求 1】 J \mathcal{J} J 必须包含 { 1 , 1 } , … , { n , n } \{1, 1\},\ldots , \{n, n\} { 1 , 1 } , … , { n , n }
【要求 2】 在从 式 (12.23)
计算 Σ i , j \Sigma_{i,j} Σ i , j 时,我们需要已经计算出我们需要的所有那些 Σ k , j \Sigma_{k,j} Σ k , j ,即,
{ i , j } ∈ J 且 k ∈ I ( i ) ⇒ { k , j } ∈ J (12.24) \{i, j\}\in \mathcal{J} \quad \text{且} \quad k \in \mathcal{I}(i) \Rightarrow \{ k, j\} \in \mathcal{J} \tag{12.24}
{ i , j } ∈ J 且 k ∈ I ( i ) ⇒ { k , j } ∈ J ( 12.24 )
相当令人惊讶的结果是 J = I \mathcal{J = I} J = I 满足这些要求;结果仅取决于 G \mathcal{G} G 而不是 Q \mathbf{Q} Q 中的数值。该结果意味着我们可以按如下方式计算所有边缘方差:
对于 i = n , … , 1 i = n,\ldots , 1 i = n , … , 1 用于减少 I ( i ) \mathcal{I}(i) I ( i ) 中的 j j j 从 式 (12.23)
计算 Σ i , j \Sigma_{i,j} Σ i , j ,
其中 j j j 循环以降序访问 I ( i ) \mathcal{I}(i) I ( i ) 中的所有条目。证明是直接的。需求 1
平凡为真,需求 2
通过验证方程 式 (12.24)
得到验证: { i , j } ∈ J , j ≥ i \{i, j\}\in \mathcal{J} , j \geq i { i , j } ∈ J , j ≥ i ,表示必须存在从 i i i 到 j j j 的路径,其中所有结点都小于 i i i ,而 k ∈ I ( i ) k \in \mathcal{I}(i) k ∈ I ( i ) 表示必须存在一条从 i i i 到 k k k 的路径,其中所有结点都小于 i i i 。如果 k ≤ j k \leq j k ≤ j ,则必须存在一条从 k k k 到 i i i 到 j j j 的路径,其中所有索引都小于 k k k ,因为 k > i k > i k > i ,否则,如果 k > j k > j k > j ,则必须存在从 k k k 到 i i i 再到 j j j 的路径,其中所有索引都小于 j j j ,因为 j ≥ i j \geq i j ≥ i 。
解决这些递归的计算成本比分解精度矩阵要小。考虑使用嵌套剖面重新排序的 2D 方格重新排序,然后 ∣ I ∣ = O ( n log n ) |\mathcal{I}|=\mathcal{O}(n \log n) ∣ I ∣ = O ( n log n ) ,并且每个 Σ i , j \Sigma_{i,j} Σ i , j 将涉及大约 O ( log n ) \mathcal{O}(\log n) O ( log n ) 项,给出 O ( n ( log n ) 2 ) \mathcal{O}(n(\log n)^2) O ( n ( log n ) 2 ) 的总成本。类似地,对于具有嵌套剖面重新排序的 3D 盒格,成本将为 O ( n 5 / 3 ) \mathcal{O}(n^{5/3}) O ( n 5/3 ) 。
12.7.12 带状矩阵的递归
当 Q \mathbf{Q} Q 是带宽为 b w b_w b w 的带状矩阵时,简化可能是最明显的,我们之前已经证明 I ( i ) = { i + 1 , … , min ( n , i + b w ) } \mathcal{I}(i) =\{i + 1,\ldots , \min(n, i + b_w)\} I ( i ) = { i + 1 , … , min ( n , i + b w )} ;参见 定理 12.6
。在这种情况下,需求 2 需求 2 需求 2 读取(对于内部结点和 j ≥ i j \geq i j ≥ i ),
0 ≤ j − i ≤ b w 和 0 < k − i ≤ b w ⇒ − b w ≤ k − j ≤ b w 0 \leq j − i \leq b_w \quad \text{和} \quad 0 < k − i \leq b_w \Rightarrow − b_w \leq k − j \leq b_w
0 ≤ j − i ≤ b w 和 0 < k − i ≤ b w ⇒ − b w ≤ k − j ≤ b w
这是千真万确的。然后算法变成
请注意,此算法在形式上等同于用于平滑的卡尔曼递归。自回归模型的计算成本为 O ( n ) \mathcal{O}(n) O ( n ) 。
12.7.13 校正线性约束
使用额外的线性约束,受约束的精度矩阵将不那么稀疏,因此我们需要一种方法来校正额外线性约束的边缘方差。这类似于方程 式 (12.19)
。设 Σ ~ \widetilde{\Sigma} Σ 是具有附加 k k k 个线性约束 A x = e \mathbf{Ax = e} Ax = e 的协方差矩阵,而 Σ \Sigma Σ 是没有约束的协方差矩阵。两个协方差矩阵的关系如下:
Σ ~ = Σ − Q − 1 A ⊤ ( A Q − 1 A ⊤ ) − 1 A Q − 1 (12.25) \tilde{\boldsymbol{\Sigma}} = \boldsymbol{\Sigma} − \mathbf{Q}^{-1}\mathbf{A}^{\top} (A\mathbf{Q}^{-1}\mathbf{A}^{\top} )^{-1} A\mathbf{Q}^{-1} \tag{12.25}
Σ ~ = Σ − Q − 1 A ⊤ ( A Q − 1 A ⊤ ) − 1 A Q − 1 ( 12.25 )
令 W \mathbf{W} W 为 Q W = A ⊤ \mathbf{QW} = \mathbf{A}^{\top} QW = A ⊤ 的 n × k n×k n × k 矩阵解,V \mathbf{V} V 为 A W \mathbf{AW} AW 的 k × k k×k k × k Cholesky 三角矩阵,Υ \boldsymbol{\Upsilon} Υ 为 V Υ = W ⊤ \mathbf{V}\boldsymbol{\Upsilon} = \mathbf{W}^{\top} V Υ = W ⊤ 的 k × n k×n k × n 矩阵解,则 式(12.25)
的第 i i i 、j j j 个元素可写为
Σ ~ i , j = Σ i , j − ∑ t = 1 k Υ t , i Υ t , j (12.26) \tilde{\Sigma}_{i,j} = \Sigma_{i,j} − \sum^{k}_{t=1} \Upsilon_{t,i} \Upsilon_{t, j} \tag{12.26}
Σ ~ i , j = Σ i , j − t = 1 ∑ k Υ t , i Υ t , j ( 12.26 )
我们通过求解方程 式 (12.23)
计算的所有 Σ \boldsymbol{\Sigma} Σ 项现在都可以使用方程 式 (12.26)
进行校正。此校正的计算成本主要是计算 Υ \boldsymbol{\Upsilon} Υ ,其成本为 O ( n k 2 ) \mathcal{O}(nk^2) O ( n k 2 ) 。同样,在没有太多约束的情况下,这种校正不需要任何额外的计算负担。
12.7.14 一些实际问题
虽然可以使用稀疏矩阵的数值方法来进行 GMRF 计算,但它并非没有实际麻烦。
首先,相当多的库有免费的二进制版本但封闭源代码,这会造成复杂性。由于只有少数库具有解决 L ⊤ x = z \mathbf{L}^{\top} \mathbf{x = z} L ⊤ x = z 的程序,并且(据我们所知)没有一个库支持计算边缘方差,因此需要访问内部存储格式以实现此类功能。但除非使用开源代码,否则并不总是记录内部存储格式。在撰写本文时,我们建议使用开源库之一:TAUCS(Toledo、Chen 和 Rotkin,2002 年)或 CHOLMOD(Chen、Dav_is、Hager 和 Rajamanickam,2006 年),它是用 C 语言编写的;有关比较和概述,请参阅 Gould、Scott 和 Hu (2007)。
由于开源,提供求解 L ⊤ x = z \mathbf{L}^{\top} \mathbf{x = z} L ⊤ x = z 的例程相对容易。但是,如果在递归 式 (12.23)
中使用计算的 L L L ,则必须小心;例如,TAUCS 库删除了结果为零的项 L j \mathbf{L}_j L j ,但我们需要所有未知为零的项。简单的解决方法是在库中禁用此功能,或者使用 Rue 和 Martino (2007), Sec. 2.3 中的修复程序。 GMRFLib 库(Rue 和 Held,2005 年,App.B)确实提供了本章基于 TAUCS 库讨论的所有算法的实现。
12.8 马尔可夫随机场
我们现在将离开高斯案例并更一般地讨论马尔可夫随机场 (MRF)。我们将首先研究每个 x i x_i x i 是 K K K 种不同 “颜色” 或状态之一的情况;即,x i ∈ S i = { 0 , 1 , … , K − 1 } x_i \in \mathcal{S}_i =\{0, 1,\ldots ,K− 1\} x i ∈ S i = { 0 , 1 , … , K − 1 } ,且 x ∈ S = S 1 × S 2 × ⋯ × S n \mathbf{x} \in \mathcal{S} = \mathcal{S}_1 × \mathcal{S}_2 ×\dots×\mathcal{ S}_n x ∈ S = S 1 × S 2 × ⋯ × S n 。 K = 2 K = 2 K = 2 的情况特别重要,对应于二值 MRF。然后可以将主要结果 定理 12.7
推广到非有限 S \mathcal{S} S 。本节中的介绍受到 J. Besag 一些未发表的讲义的启发;参见 Besag 1974; Geman and Geman, 1984;Guyon , 1995; Lauritzen, 1996;李, 2001; Winkler, 1995 提供更多理论和应用,Hurn、Husby 和 Rue (2003) 提供图像分析教程。
12.8.1 背景
回想一下联合分布 π ( x ) \pi(\mathbf{x}) π ( x ) 的完全条件分布的概念,即 n n n 个条件分布 π ( x i ∣ x − i ) \pi(x_i |\mathbf{x}_{-i} ) π ( x i ∣ x − i ) 。从完全条件分布,我们可以定义邻居的概念
【定义 12.3(邻居)】
如果 x j x_j x j 对 x i x_i x i 的完全条件分布有贡献,则测点 j ≠ i j \neq i j = i 被称为 i i i 的邻居。
用 ∂ i ∂i ∂ i 表示测点 i i i 的所有邻居构成的集合,则对于所有 i i i ,有:
π ( x i ∣ x − i ) = π ( x i ∣ x ∂ i ) \pi(x_i | \mathbf{x}_{-i} ) = \pi(x_i | \mathbf{x}_{∂i})
π ( x i ∣ x − i ) = π ( x i ∣ x ∂ i )
在空间环境中,很容易将其可视化,例如,将 ∂ i ∂i ∂ i 视为在某种意义上(空间上)靠近测点 i i i 的那些测点。
当我们想要使用自下而上的方法通过 n n n 个完全条件分布和一组邻居 ∂ i ∂i ∂ i 指定 x \mathbf{x} x 的联合密度时,问题就开始了。如果我们知道联合分布,则完全条件分布为
π ( x i ∣ x − i ) ∝ π ( x ) \pi(x_i | \mathbf{x}_{-i} ) \propto \pi(\mathbf{x})
π ( x i ∣ x − i ) ∝ π ( x )
但是,如果我们只知道完全条件分布,我们如何导出联合分布呢?令 x ∗ \mathbf{x}^{*} x ∗ 表示 π ( x ∗ ) > 0 \pi(\mathbf{x}^{*}) > 0 π ( x ∗ ) > 0 的任何参考状态,然后 Brook 引理(引理 12.1
)给出 n = 2 n = 2 n = 2 (仅为简单起见)
π ( x 1 , x 2 ) = π ( x 1 ∗ , x 2 ∗ ) π ( x 1 ∣ x 2 ) π ( x 1 ∗ ∣ x 2 ) ⋅ π ( x 2 ∣ x 1 ∗ ) π ( x 2 ∗ ∣ x 1 ∗ ) (12.27) \pi(x_1,x_2) = \pi(\mathbf{x}^{*}_1 ,\mathbf{x}^{*}_2) \frac{\pi(x_1|x_2)}{ \pi(\mathbf{x}^{*}_1 |x_2)} \cdot \frac{\pi ( x_2 |\mathbf{x}^{*}_1)}{ \pi(\mathbf{x}^{*}_2 |\mathbf{x}^{*}_1 )} \tag{12.27}
π ( x 1 , x 2 ) = π ( x 1 ∗ , x 2 ∗ ) π ( x 1 ∗ ∣ x 2 ) π ( x 1 ∣ x 2 ) ⋅ π ( x 2 ∗ ∣ x 1 ∗ ) π ( x 2 ∣ x 1 ∗ ) ( 12.27 )
前提是分母中没有零,这意味着(通常)
π ( x ) > 0 , ∀ x ∈ S \pi(\mathbf{x}) > 0, ∀ \mathbf{x} \in S
π ( x ) > 0 , ∀ x ∈ S
我们将这种条件称为积极性条件,它在下文中被证明是必不可少的。如果我们对所有 x ∈ S \mathbf{x} \in S x ∈ S 保持 x ∗ \mathbf{x}^{*} x ∗ 固定为 0 0 0 来计算 式(12.27)
,那么我们就知道 h ( x ) h(\mathbf{x}) h ( x ) 其中 π ( x ) ∝ h ( x ) \pi(\mathbf{x}) \propto h(\mathbf{x}) π ( x ) ∝ h ( x ) 。缺失的常量是从 ∑ x ∈ S π ( x ) = 1 \sum_{\mathbf{x} \in S} \pi(\mathbf{x}) = 1 ∑ x ∈ S π ( x ) = 1 中找到的。结论是完全条件分布决定了联合分布。
这个论点有一个小问题,即完全条件分布是(或可以)从联合分布中导出的隐含假设。然而,如果我们指定完全条件分布的候选者,那么我们必须确保我们获得相同的联合分布,而不管导致 式(12.27)
的排序选择如何,例如,
π ( x 1 , x 2 ) = π ( x 1 ∗ , x 2 ∗ ) π ( x 2 ∣ x 1 ) π ( x 1 ∣ x 2 ∗ ) π ( x 2 ∗ ∣ x 1 ) π ( x 1 ∗ ∣ x 2 ∗ ) \pi(x_1,x_2) = \pi(\mathbf{x}^{*}_1 ,\mathbf{x}^{*}_2) \frac{\pi(x_2|x_1)}{\pi (x_1 |\mathbf{x}^{*}_2)} \frac{ \pi(\mathbf{x}^{*}_2 |x_1)}{ \pi(\mathbf{x}^{*}_1 |\mathbf{x}^{*}_2)}
π ( x 1 , x 2 ) = π ( x 1 ∗ , x 2 ∗ ) π ( x 1 ∣ x 2 ∗ ) π ( x 2 ∣ x 1 ) π ( x 1 ∗ ∣ x 2 ∗ ) π ( x 2 ∗ ∣ x 1 )
当然,这两个指定必须一致。对于 n > 2 n > 2 n > 2 ,这样的排序有很多,而且都必须一致。这意味着我们不能任意选择完全条件分布,但它们必须满足一些约束以确保它们定义有效的联合分布。在我们陈述定义联合分布在完全条件分布的邻居指定下必须采用什么形式的主要结果之前,我们需要一些新的定义。
12.8.2 哈默斯利-克利福德( Hammersley–Clifford )定理
让 G = ( V , E ) \mathcal{G} = (\mathcal{V}, \mathcal{E}) G = ( V , E ) 表示通过对每个测点的邻居指定来定义的图; V = { 1 , … , n } \mathcal{V} =\{1,\ldots ,n\} V = { 1 , … , n } 如果 j ∈ ∂ i j \in ∂i j ∈ ∂ i 和 i ∉ ∂ j i \notin ∂j i ∈ / ∂ j ,则绘制一条从 j j j 到 i i i 的有向边。如果 i i i 和 j j j 互为邻居,则绘制一条无向边。 (事实上 ,如果 i i i 是 j j j 的邻居,那么 j j j 也必须是 i i i 的邻居)。
【定义 12.4(马尔可夫随机场)】 如果 π ( x ) , x ∈ S \pi(\mathbf{x}), \mathbf{x} \in \mathcal{S} π ( x ) , x ∈ S 的完全条件分布符合给定图 G \mathcal{G} G ,则该分布被称为一个关于图 G \mathcal{G} G 的马尔可夫随机场。
对于主要结果,我们还需要 “团” 的概念。
【定义 12.5(团)】
任何单一测点或内部不同测点之间相互都是邻居的一组测点,被称为 “团” 。
【示例 12.10】 图 12.6
中图中的 “团” 为: { 1 } \{1\} { 1 } 、 { 2 } \{2\} { 2 } 、 { 3 } \{3\} { 3 } 、 { 4 } \{4\} { 4 } 、 { 5 } \{5\} { 5 } 、 { 1 , 2 } \{1, 2\} { 1 , 2 } 、 { 1 , 3 } \{1, 3\} { 1 , 3 } 、 { 2 , 3 } \{2, 3\} { 2 , 3 } 、 { 1 , 2 , 3 } \{ 1, 2, 3\} { 1 , 2 , 3 } , { 3 , 4 } \{3, 4\} { 3 , 4 } 。
主要结论是 Hammersley–Clifford 定理(参见 Clifford,1990 ),它说明联合分布必须采用什么形式才能符合给定的图 G \mathcal{G} G 。
【定理 12.7 (Hammersley–Clifford)】
令 π ( x ) > 0 , x ∈ S \pi(\mathbf{x}) > 0, \mathbf{x} \in \mathcal{S} π ( x ) > 0 , x ∈ S 是一个关于具有团 C \mathcal{C} C 的图 G \mathcal{G} G 的马尔可夫随机场,则 :
π ( x ) ∝ ∏ C ∈ C Ψ C ( x C ) (12.28) \pi(\mathbf{x}) \propto \prod\limits_{ C \in \mathcal{C}} \Psi_C (\mathbf{x}_C) \tag{12.28}
π ( x ) ∝ C ∈ C ∏ Ψ C ( x C ) ( 12.28 )
其中函数 Ψ C \Psi_C Ψ C 可以任意选择,但须满足 0 < Ψ C ( x C ) < ∞ 0 < \Psi_C (\mathbf{x}_C ) < \infty 0 < Ψ C ( x C ) < ∞ 。
这个结果有一个有趣的历史;参见 Besag (1974) 和 Clifford (1990) 的章节。这个结论的一个重要结果是:对于给定的图,完全条件分布应该要么通过 Ψ \Psi Ψ 函数隐式指定,要么对于某些 Ψ \Psi Ψ 函数可以被从 式(12.28)
导出的所选完全条件分布验证。
【示例 12.11】
图 12.6
对应的一般分布形式是:
π ( x 1 , x 2 , x 3 , x 4 , x 5 ) ∝ Ψ 1 , 2 , 3 ( x 1 , x 2 , x 3 ) Ψ 3 , 4 ( x 3 , x 4 ) Ψ 5 ( x 5 ) \pi(x_1,x_2,x_3,x_4,x_5) \propto \Psi_{1,2,3}(x_1,x_2,x_3) \Psi_{3,4}(x_3,x_4) \Psi_5(x_5)
π ( x 1 , x 2 , x 3 , x 4 , x 5 ) ∝ Ψ 1 , 2 , 3 ( x 1 , x 2 , x 3 ) Ψ 3 , 4 ( x 3 , x 4 ) Ψ 5 ( x 5 )
我们现在将陈述 Hammersley-Clifford 定理的一些推论:
【推论 12.2】 图 G \mathcal{G} G 必须是无向的,所以如果 i ∈ ∂ j i \in ∂j i ∈ ∂ j ,则必然 j ∈ ∂ i j \in ∂i j ∈ ∂ i 。
【推论 12.3】 式(12.28)
的MRF 也满足全局马尔可夫性质 式(12.4)
。
【推论 12.4】 如果定义 Q ( x ) = log ( π ( x ) / π ( 0 ) ) Q(\mathbf{x}) = \log(\pi(\mathbf{x})/\pi(\mathbf{0})) Q ( x ) = log ( π ( x ) / π ( 0 )) ,则存在唯一表示,
Q ( x ) = ∑ i x i G i ( x i ) + ∑ i < j x i x j G i , j ( x i , x j ) + ∑ i < j < k x i x j x k G i , j , k ( x i , x j , x k ) + … j + x 1 x 2 … x n G 1 , 2 , … , n ( x 1 , x 2 , … , x n ) (12.29) Q(\mathbf{x}) = \sum\limits_{i} x_i G_i(x_i ) + \sum\limits_{i<j} x_i x_j G_{i, j} (x_i ,x_j ) + \sum\limits_{i< j<k} x_i x_j x_k G_{i, j,k}(x_i ,x_j ,x_k ) + \ldots \\j+ x_1 x_2 \ldots x_n G_{1,2,\ldots ,n}(x_1,x_2,\ldots ,x_n) \tag{12.29}
Q ( x ) = i ∑ x i G i ( x i ) + i < j ∑ x i x j G i , j ( x i , x j ) + i < j < k ∑ x i x j x k G i , j , k ( x i , x j , x k ) + … j + x 1 x 2 … x n G 1 , 2 , … , n ( x 1 , x 2 , … , x n ) ( 12.29 )
其中 G i , j , … , s ( x i , x j , … , x s ) ≡ 0 G_{i, j,\ldots,s}(x_i ,x_j ,\ldots ,x_s) \equiv 0 G i , j , … , s ( x i , x j , … , x s ) ≡ 0 除非测点 i , j , … , s i, j,\ldots , s i , j , … , s 形成一个团,并且其中 G G G 函数是任意但有限的。
【推论 12.5】 Hammersley–Clifford 定理可以扩展到多元 MRF,其中每个 x i \mathbf{x}_i x i 是 p p p 维随机向量,更进一步,可以扩展到受 π ( x ) \pi(\mathbf{x}) π ( x ) 可积性约束的无限域 S S S 。
式(12.28)
的联合分布也可以写成
π ( x ) = 1 Z exp ( − ∑ C ∈ C V C ( x C ) ) \pi(\mathbf{x}) = \frac{1}{Z} \exp \left( − \sum\limits_{ C \in \mathcal{C}} V_C (\mathbf{x}_C) \right)
π ( x ) = Z 1 exp ( − C ∈ C ∑ V C ( x C ) )
其中 V C ( ⋅ ) = − log Ψ C ( ⋅ ) V_C (·) =−\log \Psi_C (·) V C ( ⋅ ) = − log Ψ C ( ⋅ ) 并且 Z Z Z 是归一化常数。这种形式在统计物理学中称为吉布斯分布, V C ( ⋅ ) V_C(·) V C ( ⋅ ) -函数称为势函数;参见如,Geman and Geman (1984)。
12.8.3 二值 MRF
我们现在将更详细地讨论 K = 2 K = 2 K = 2 的情况,我们有一个二值 MRF。设 ∂ i ∂i ∂ i 是规则正方形格子上离测点 i i i 最近的四个测点。然后从 式(12.29)
。对于某些 α i \alpha_i α i 和 α i , j \alpha_{i,j} α i , j ,我们有
Q ( x ) = ∑ i α i x i + ∑ i < j α i , j x i x j Q(\mathbf{x}) = \sum\limits_{i} \alpha_i x_i + \sum\limits_{i<j} \alpha_{i, j} x_i x_j
Q ( x ) = i ∑ α i x i + i < j ∑ α i , j x i x j
这是给定图的分布可以采用的通用形式。对于 β i , j = β j , i = α i , j , i < j \beta_{i,j} = \beta_{j,i} = \alpha_{i, j}, i < j β i , j = β j , i = α i , j , i < j 我们可以将 x \mathbf{x} x 的分布写为
π ( x ) = 1 Z exp ( ∑ i α i x i + ∑ i ∼ j β i j x i x j ) \pi(\mathbf{x}) = \frac{1}{Z} \exp \left( \sum\limits_{i} \alpha_i x_i + \sum\limits_{ i \sim j} \beta_{ij}x_i x_j\right)
π ( x ) = Z 1 exp ( i ∑ α i x i + i ∼ j ∑ β ij x i x j )
参数 { α i } \{\alpha_i \} { α i } 控制水平,而参数 { β i , j \{\beta_{i,j} { β i , j } 控制交互。当我们查看完全条件分布时,解释可能会更透明
π ( x i ∣ x − i ) = exp ( x i ( α i + ∑ j ∈ ∂ i β i , j x j ) ) 1 + exp ( α i + ∑ j ∈ ∂ i β i , j x j ) \pi(x_i | \mathbf{x}_{-i} ) = \frac{ \exp \left( x_i (\alpha_i + \sum\limits_{ j\in ∂i} \beta_{i,j} x_j) \right)}{ 1 + \exp \left( \alpha_i + \sum\limits_{ j\in ∂i} \beta_{i,j} x_j \right)}
π ( x i ∣ x − i ) = 1 + exp ( α i + j ∈ ∂ i ∑ β i , j x j ) exp ( x i ( α i + j ∈ ∂ i ∑ β i , j x j ) )
x i x_i x i 的完全条件分布类似于与其邻居的逻辑回归,被称为自动逻辑模型(Besag,1974)
式(12.31)
的一个有趣的特例是
π ( x ∣ β ) = 1 Z β exp ( β ∑ i ∼ j 1 [ x i = x j ] ) (12.32) \pi(\mathbf{x} | \beta) = \frac{1}{Z_{\beta}} \exp \left ( \beta \sum\limits_{ i \sim j} 1 [x_i = x_j ] \right) \tag{12.32}
π ( x ∣ β ) = Z β 1 exp ( β i ∼ j ∑ 1 [ x i = x j ] ) ( 12.32 )
其中 1 [ ⋅ ] 1[·] 1 [ ⋅ ] 是指示函数, β \beta β 是常用交互参数。该模型是著名的铁磁性 Ising 模型
,可追溯到 1925 年的 Ernst Ising。为了以后使用,我们写成 ∣ β |\beta ∣ β 并注意归一化常数也取决于 β \beta β 。通过将 式(12.32)
重写为
π ( x ∣ β ) = 1 Z β exp ( β × 相等邻居的数量 ) \pi(\mathbf{x} | \beta) = \frac{1}{Z_{\beta}} \exp (\beta \times \text{相等邻居的数量} )
π ( x ∣ β ) = Z β 1 exp ( β × 相等邻居的数量 )
因此,实现将有利于邻居平等,但对于邻居应该处于哪个状态 0 0 0 或 1 1 1 是不变的。这也可以通过研究完全条件分布来看出,
π ( x i = 1 ∣ β , x ∂ i ) = exp ( β n 1 ) exp ( β n 0 ) + exp ( β n 1 ) ′ \pi(x_i = 1 | \beta, \mathbf{x}_{∂i} ) = \frac{\exp(\beta_{n1})}{\exp(\beta_{ n0 }) + \exp(\beta_{n1})'}
π ( x i = 1∣ β , x ∂ i ) = exp ( β n 0 ) + exp ( β n 1 ) ′ exp ( β n 1 )
其中 n 0 n_0 n 0 是 x i x_i x i 的为零的邻居数, n 1 n_1 n 1 类似。很明显,这个模型有利于 x i x_i x i 等于其邻居中的主导状态。在两个或多个维度上,它可以显示出相变;存在一个临界值 β ∗ \beta^* β ∗ (等于 log ( 1 + 2 ) = 0.88 … \log(1 + \sqrt{2} ) = 0.88 \ldots log ( 1 + 2 ) = 0.88 … 在第二维中),其中 β > β ∗ \beta > \beta^* β > β ∗ 。然后分布是严重的双峰分布,即使晶格的大小趋于无穷大。此外, x i x_i x i 和 x j x_j x j ,即使相距任意远,也将呈正相关。
12.9 面向 MRF 的 MCMC
12.9.1 固定 β \beta β 时的 MCMC
我们现在将讨论如何从固定 β \beta β 的 π ( x ) \pi(\mathbf{x}) π ( x ) 生成样本,重点关注二值情况和 Ising 模型 式(12.30)
。 第 12.5.2 节
中的 Gibbs 采样器也适用于离散 MRF。
同样,要更新 x i x_i x i ,我们只需要考虑邻居 x ∂ i \mathbf{x}_{∂i} x ∂ i ,在本例中是四个最近的邻居。
直觉上,在 β \beta β 高且一种颜色占主导地位的情况下,吉布斯采样器将倾向于提出与已有颜色相同的颜色。请注意,伊辛模型是对称的,因此配置 x \mathbf{x} x 和 1 − x \mathbf{1 − x} 1 − x 具有相同的概率。如果我们建议始终更改测点 i i i 的颜色(Frigessi、Hwang、 Sheu 和 di Stefano,1993 年)。如果我们这样做,那么我们需要更正这个提议以维持均衡分布。由此产生的 MCMC 算法称为 Metropolis–Hastings 算法
。
我们应该接受提议的新状态 p i p_i p i 的概率也只取决于邻居 x ∂ i \mathbf{x}_{∂i} x ∂ i 。请注意,如果 R i ≥ 1 R_i \geq 1 R i ≥ 1 ,则始终接受新提议的状态。
图 12.7
显示了来自 64 × 64 64 × 64 64 × 64 环形网格的样本,使用 Metropolis–Hastings 算法,其中 β = 0.6 、 0.88 … \beta = 0.6、0.88\ldots β = 0.6 、 0.88 … 和 1.0 1.0 1.0 。在 β ∗ \beta^* β ∗ 以下,样本更分散,而在 β ∗ \beta^* β ∗ 以上,样本更集中在一种颜色上。
12.9.2 随机 β \beta β 时的 MCMC
我们在 例 12.4
中的 MCMC 算法中遇到了复杂情况,当时交互参数 δ \delta δ 是随机的,因为归一化常数取决于 δ \delta δ ;参见 式(12.17)
。在离散 MRF 的情况下,由于同样的原因, β \beta β 的推断变得很麻烦。事实上,情况更糟,因为除了小格子之外,我们无法精确计算归一化常数。
回想一下 Z ( β ) Z(\beta) Z ( β ) 定义为
Z ( β ) = ∑ x exp ( β S ( x ) ) (12.33) Z(\beta) = \sum\limits_{\mathbf{x}} \exp(\beta S(\mathbf{x})) \tag{12.33}
Z ( β ) = x ∑ exp ( βS ( x )) ( 12.33 )
其中 S ( x ) S(\mathbf{x}) S ( x ) 是充分统计量 ∑ i ∼ j 1 [ x i = x j ] \sum\limits_{ i \sim j} 1[x_i = x_j] i ∼ j ∑ 1 [ x i = x j ] 。一种可能性是查看 Z ( β ) Z(\beta) Z ( β ) 关于 β \beta β 的导数是否比 Z ( β ) Z(\beta) Z ( β ) 本身更容易估计。
d Z ( β ) d β = ∑ x S ( x ) exp ( β S ( x ) ) = Z ( β ) ∑ x ( S ( x ) ) exp ( β S ( x ) ) / Z ( β ) = Z ( β ) E x ∣ β S ( x ) \begin{align*}
\frac{dZ(\beta)}{d\beta} &= \sum\limits_{\mathbf{x}} S(\mathbf{x}) \exp(\beta S(\mathbf{x})) \\
&= Z(\beta) \sum\limits_{\mathbf{x}} (S(\mathbf{x})) \exp(\beta S(\mathbf{x})) /Z(\beta)\\
&= Z(\beta )\mathbb{E}_{\mathbf{x}|\beta} S(\mathbf{x})
\end{align*}
d β d Z ( β ) = x ∑ S ( x ) exp ( βS ( x )) = Z ( β ) x ∑ ( S ( x )) exp ( βS ( x )) / Z ( β ) = Z ( β ) E x ∣ β S ( x )
通过解微分方程,我们得到
log ( Z ( β ′ ) / Z ( β ) ) = ∫ β β ′ E x ∣ β ~ S ( x ) d β ~ (12.34) \log (Z(\beta')/Z(\beta)) = \int^{\beta'}_{\beta} \mathbb{E} _{\mathbf{x}| \tilde{ \beta}} S(\mathbf{x}) d \tilde{\beta} \tag{12.34}
log ( Z ( β ′ ) / Z ( β )) = ∫ β β ′ E x ∣ β ~ S ( x ) d β ~ ( 12.34 )
正如我们所见,这一技巧已将问题的难度降低到可以使用以下过程解决的问题(有关应用,请参阅 Hurn、Husby 和 Rue,2003 年)。
使用基于一系列 MCMC 算法的输出的后验均值估计,估计一系列不同 β \beta β 值的 E x ∣ β S ( x ) \mathbb{E}_{\mathbf{x}|\beta} S(\mathbf{x}) E x ∣ β S ( x ) 。这些值将取决于图像大小,因此需要针对每个新问题重新计算。
2.构造平滑样条 f ( β ) f(\beta) f ( β ) 来平滑 E x ∣ β S ( x ) \mathbb{E}_{\mathbf{x}|\beta} S(\mathbf{x}) E x ∣ β S ( x ) 的估计值。
使用 f ( β ) f(\beta) f ( β ) 的数值或解析积分来计算 式(12.34)
的估计,
log ( Z ( β ′ ) ^ / Z ( β ) ) = ∫ β β ′ f ( β ~ ) d β ~ \log ( \widehat{ Z(\beta')}/Z(\beta)) = \int^{ \beta'}_{ \beta} f(\tilde{\beta}) d \tilde{\beta}
log ( Z ( β ′ ) / Z ( β )) = ∫ β β ′ f ( β ~ ) d β ~
式(12.34)
背后的思想在物理学文献中通常称为热力学积分,请参阅 Gelman 和 Meng (1998) 从统计角度进行很好的介绍。 Geyer 和 Thompson (1992) 也有类似的想法。伪似然法(Besag,J.E.,1974)是一种早期但仍然流行的方法,用于推断离散值 MRF(Frank 和 Strauss,1986;Strauss 和 Ikeda,1990),参见 Robins、Snijders、Wang、Handcock 等阿尔。 (2007) 更新概览。