- 关于概念和符号,参考前文:MCMC_方法示例
- 以下是个人在理解MCMC方法中遇到的疑惑,以及个人的见解。
问题一
回顾如下公式,既然对于
α
(
i
,
j
)
\alpha(i,j)
α(i,j)我们将之理解为从一条马氏链过渡到另一条马氏链的跳转率(也作接受率),并且实际操作中是通过物理过程:从均匀分布中抽样这个动作来实现的。那么式中的
q
(
i
,
j
)
q(i,j)
q(i,j),作为转移矩阵中的一个点,它也是一个取值于(0,1)的概率值,它的作用形式是怎样的?
p
(
i
)
q
(
i
,
j
)
α
(
i
,
j
)
=
p
(
j
)
q
(
j
,
i
)
α
(
j
,
i
)
p(i)q(i,j)\alpha(i,j)=p(j)q(j,i)\alpha(j,i)
p(i)q(i,j)α(i,j)=p(j)q(j,i)α(j,i)
解答
回顾实际采样过程:
- a 用X表示由MCMC过程产生的状态向量, Q 0 Q_0 Q0表示状态转移矩阵( D 0 D_0 D0表示抽样分布)。初始化 X 0 = x 0 X_0=x_0 X0=x0,其中 x 0 x_0 x0是从状态集(分布)中获取的随机样本。
- b 对
t
=
0
,
1
,
2
,
⋯
 
,
n
t = 0, 1, 2, \cdots,n
t=0,1,2,⋯,n重复如下步骤进行采样:
- b-1 第 t t t时刻有 X t = x t X_t=x_t Xt=xt, 采样 y ∼ q ( x ∣ x t ) y\sim q(x|x_t) y∼q(x∣xt)(此时状态转移矩阵为 Q t = q ( x ∣ x t ) Q_t=q(x|x_t) Qt=q(x∣xt))。
- b-2 从 U ( 0 , 1 ) U(0,1) U(0,1)中抽取一个样本点 u u u
- b-3 如果 u < α ( x t , y ) = m i n ( p ( j ) q ( j , i ) p ( i ) q ( i , j ) , 1 ) u<\alpha(x_t, y)=min(\frac{p(j)q(j,i)}{p(i)q(i,j)},1) u<α(xt,y)=min(p(i)q(i,j)p(j)q(j,i),1)则接受转移 X t + 1 = y X_{t+1}=y Xt+1=y
- b-4 否则拒绝转移, X t + 1 = x t X_{t+1}=x_t Xt+1=xt, Q t + 1 = Q t Q_{t+1} = Q_t Qt+1=Qt
其中b-1步中获得的样本 y y y是从条件分布 q ( x ∣ x t ) q(x|x_t) q(x∣xt)中随机抽样的。因此实现 q ( i , j ) q(i,j) q(i,j)发生作用的物理过程就是在这一步中所进行的随机抽样。
问题二
为什么在解读 α ( i , j ) \alpha(i, j) α(i,j)的时候要把它理解为一个物理过程?
解答
这实际上是要理解概率之于样本或者抽样过程的关系。
- 概率是对所描述事物随机性的度量,是“描述”,是写在纸上的概率规则。
- 抽样过程是从分布中依照概率获取真实样本的过程,其结果是确定的样本,是“实体”,因此可看做物理过程。
由于抽样过程的结果是实实在在的样本,它并不是一个概率值,例如:
- 对于抛硬币的实验而言,每一次抛掷得到的结果是确定的正或反,即使从数学上每一面向上的概率不同,但每一次实验的结果也不可能是一个概率值。
- 同样在通过马氏链进行的抽样中,即便能够直接给出稳态分布,但是要获取哪怕一个样本都要通过随机的方式进行物理抽样的。对于前文中马氏链部分的细节,即使知道了媳妇儿有0.613的概率不在“愤怒”状态,但正真见着她时,她必定是处于一个确定的心情状态的,这个时候如果要做一个预判的话,那就进行一次随机抽样把抽样结果当做“上帝的指示”。
-
“于是每天携带一块秒表,进门前按下并读取毫秒数。如果数值小于0.613放心大胆进门,否则等15分钟再按一次。”
问题三
如何理解拒绝跳转这一现象?我们知道如果发生一次拒绝跳转,就把上一次抽样结果当做本次抽样结果放到抽样链里去。相当于该样本重复了一次,那么在最后得到的样本中是否要去除这些重复的样本(或者说只取连续游程中的第一个)?
解答
假设状态集合为
S
=
[
s
1
,
s
2
,
s
3
]
S=[s_1, s_2, s_3]
S=[s1,s2,s3],满足细致平稳条件的
Q
′
Q\prime
Q′的矩阵结构如下式所示,可知由于乘以
α
(
i
,
j
)
\alpha(i,j)
α(i,j)而丢失的概率质量全部转移到了对角线上,相当于放大了状态转移到自己的概率。而这会降低马氏链收敛到稳态的速度。
Q
′
=
Q
⋅
A
=
{
1
−
∑
j
=
1
3
p
(
1
,
j
)
α
(
1
,
j
)
p
(
1
,
2
)
α
(
1
,
2
)
p
(
1
,
3
)
α
(
1
,
3
)
p
(
2
,
1
)
α
(
2
,
1
)
1
−
∑
j
=
1
3
p
(
2
,
j
)
α
(
2
,
j
)
p
(
2
,
3
)
α
(
2
,
3
)
p
(
3
,
1
)
α
(
3
,
1
)
p
(
3
,
2
)
α
(
3
,
2
)
1
−
∑
j
=
1
3
p
(
3
,
j
)
α
(
3
,
j
)
}
Q\prime=Q\cdot A= \\ \left\{ \begin{matrix} 1-\sum_{j=1}^3 p(1,j)\alpha(1,j) & p(1,2)\alpha(1,2) & p(1,3)\alpha(1,3) \\ p(2,1)\alpha(2,1) & 1-\sum_{j=1}^3 p(2,j)\alpha(2,j) & p(2,3)\alpha(2,3) \\ p(3,1)\alpha(3,1) & p(3,2)\alpha(3,2) & 1-\sum_{j=1}^3 p(3,j)\alpha(3,j) \end{matrix} \right\}
Q′=Q⋅A=⎩⎪⎨⎪⎧1−∑j=13p(1,j)α(1,j)p(2,1)α(2,1)p(3,1)α(3,1)p(1,2)α(1,2)1−∑j=13p(2,j)α(2,j)p(3,2)α(3,2)p(1,3)α(1,3)p(2,3)α(2,3)1−∑j=13p(3,j)α(3,j)⎭⎪⎬⎪⎫
假设t-1步链上的样本为 s ( t − 1 ) = s 1 s^{(t-1)}=s_1 s(t−1)=s1,同时t步已抽取样本 s t = s 2 s^t=s_2 st=s2,则此时 Q ′ ∣ s t = s 2 Q\prime|s^t=s_2 Q′∣st=s2具有如下形式,由下式可知这就是跳转的真实过程。
Q ′ ∣ ( s ( t − 1 ) = s 1 , s t = s 2 ) = ( Q ⋅ A ) ∣ ( s ( t − 1 ) = s 1 , s t = s 2 ) Q\prime|(s^{(t-1)} = s_1,s^t=s_2)=(Q\cdot A)|(s^{(t-1)} = s_1,s^t=s_2) Q′∣(s(t−1)=s1,st=s2)=(Q⋅A)∣(s(t−1)=s1,st=s2)
= { ( 1 − ∑ j = 1 3 p ( 1 , j ) α ( 1 , j ) ) ∣ t ( p ( 1 , 2 ) α ( 1 , 2 ) ) ∣ t ( p ( 1 , 3 ) α ( 1 , 3 ) ) ∣ t … … … … … … } = \left\{ \begin{matrix} (1-\sum_{j=1}^3 p(1,j)\alpha(1,j))|_t & (p(1,2)\alpha(1,2))|_t & (p(1,3)\alpha(1,3))|_t \\ \dots & \dots & \dots \\ \dots & \dots & \dots \end{matrix} \right\} \\ =⎩⎨⎧(1−∑j=13p(1,j)α(1,j))∣t……(p(1,2)α(1,2))∣t……(p(1,3)α(1,3))∣t……⎭⎬⎫
= { 1 − p ( 1 , 2 ) α ( 1 , 2 ) p ( 1 , 2 ) α ( 1 , 2 ) 0 … … … … … … } =\left\{ \begin{matrix} 1-p(1,2)\alpha(1,2) & p(1,2)\alpha(1,2) & 0 \\ \dots & \dots & \dots \\ \dots & \dots & \dots \end{matrix} \right\} =⎩⎨⎧1−p(1,2)α(1,2)……p(1,2)α(1,2)……0……⎭⎬⎫
问题四
如何确定Burn-In过程的长度,即:该舍弃多少次抽样?
解答
视问题复杂度,由于 α ( i , j ) \alpha(i,j) α(i,j)的存在延长了抽样过程中马氏链收敛到稳态时间。