马尔科夫链概述
- 基本思想: 过去所有的信息都已经被保存到了现在的状态,基于现在就可以预测未来。
- Example: 假如每天的天气是一个状态的话,那今天是不是晴天只依赖于昨天的天气,而和前天的天气没有任何关系。当然这么说可能有些武断,但是这样做可以大大简化模型的复杂度。因此马尔科夫链在很多时间序列模型中得到广泛的应用,比如循环神经网络 R N N RNN RNN,隐式马尔科夫模型 H M M HMM HMM等,当然 M C M C MCMC MCMC也需要它。
- 文字定义: 马尔科夫链为状态空间中经过从一个状态到另一个状态的转换的随机过程,该过程要求具备“无记忆性 ”,即下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关,这种特定类型的“无记忆性”称作马尔科夫性质。
- 数学定义: 假设我们的序列状态是 . . . X t − 2 , X t − 1 , X t , X t + 1 , . . . ...Xt−2,Xt−1,Xt,Xt+1,... ...Xt−2,Xt−1,Xt,Xt+1,...,那么我们的在时刻 X t + 1 X_{t+1} Xt+1的状态的条件概率仅仅依赖于时刻 X t X_t Xt,即: P ( X t + 1 ∣ . . . X t − 2 , X t − 1 , X t ) = P ( X t + 1 ∣ X t ) P(X_{t+1}|...X_{t−2},X_{t−1},X_t)=P(X_{t+1}|X_t) P(Xt+1∣...Xt−2,Xt−1,Xt)=P(Xt+1∣Xt)
- 既然某一时刻状态转移的概率只依赖于它的前一个状态,那么我们只要能求出系统中任意两个状态之间的转换概率,这个马尔科夫链的模型就定了。这就引出了我们的状态转移矩阵 P P P
状态转移矩阵的性质
- 状态转移矩阵的定义: P i j = 从状态 i 转移到状态 j 的概率 P_{ij}=从状态i转移到状态j的概率 Pij=从状态i转移到状态j的概率
- 平稳分布的判定:
- 平稳分布:设马尔可夫链 X X X有转移概率矩阵 P P P,一个概率分布 π = { π 1 , π 2 , π 3 , . . . , π n } \pi=\{\pi_1,\pi_2,\pi_3,...,\pi_n\} π={π1,π2,π3,...,πn}如果满足 π j = ∑ i = 1 n π i p i j \pi_j=\sum_{i=1}^n\pi_ip_{ij} πj=∑i=1nπipij,则称 π \pi π为该马尔可夫链的平稳分布
- 唯一平稳分布的判定: 满足不可约、正常返和非周期的马氏链存在唯一的平稳分布
- 不可约: 从任意状态出发总可以到达其它状态
- 正常返: 从某一状态出发,经过有限步转移后又可以回到该状态
- 非周期: 保证马氏链不会陷入循环
- 细致平稳条件: 设有马尔可夫链 X X X,状态分布 π = { π 1 , π 2 , π 3 , . . . , π n } \pi=\{\pi_1,\pi_2,\pi_3,...,\pi_n\} π={π1,π2,π3,...,πn},对于任意时刻 t t t 都满足 π i P i j = π j P j i \pi_iP_{ij}=\pi_jP_{ji} πiPij=πjPji,则称状态分布 π \pi π满足马尔科夫链的细致平稳条件,该状态分布 π \pi π就是该马尔科夫链的平稳分布
- 细致平稳条件是判断平稳分布的充分而非必要条件
- 然而,随便找一个状态转移矩阵,是无法满足细致平稳条件的,即假设这个随机的状态转移矩阵为 Q Q Q,会有 π i Q i j ≠ π j Q j i \pi_iQ_{ij}\ne\pi_jQ_{ji} πiQij=πjQji。但在 M C M C MCMC MCMC采样方法中对这个问题进行了巧妙的解决。
马氏链的极限定理
- 马氏链的收敛定理: 设 { X n , n ≥ 0 } \{X_n,n\ge0\} {Xn,n≥0}为一具有可数状态空间 S S S的马氏链,其状态转移矩阵为 P P P,且它存在唯一平稳分布 π \pi π,则在合适的条件下,当 n → ∞ n\rightarrow\infty n→∞时,无论 X n X_n Xn的初始分布是什么, X n X_n Xn的分布都将收敛到 π \pi π
- 马氏链的大数定律: 设 { X n , n ≥ 0 } \{X_n,n\ge0\} {Xn,n≥0}为一具有状态空间 S S S的马氏链,其状态转移矩阵为 P P P,且它存在唯一平稳分布 π \pi π,对任何有界函数 h ( x ) h(x) h(x),当状态空间可数时,有 1 n ∑ i = 0 n − 1 h ( X i ) → ∑ j = 0 n − 1 h ( X j ) π j \frac{1}{n}\sum_{i=0}^{n-1}h(X_i)\rightarrow\sum_{j=0}^{n-1}h(X_j)\pi_j n1i=0∑n−1h(Xi)→j=0∑n−1h(Xj)πj当状态空间连续,即不可数时,有 1 n ∑ i = 0 n − 1 h ( X i ) → ∫ S h ( x ) π ( x ) d x \frac{1}{n}\sum_{i=0}^{n-1}h(X_i)\rightarrow\int_Sh(x)\pi(x)dx n1i=0∑n−1h(Xi)→∫Sh(x)π(x)dx这个结论实际上就是在说当 n n n分大时,与马氏链 X n X_n Xn相关的函数 h ( X n ) h(X_n) h(Xn)的均值趋近于它的期望,通过这个结论,我们就可以应用马尔科夫链去近似计算复杂积分了。具体而言,假设我们要计算积分 μ = ∫ S h ( θ ) π ( θ ∣ x ) d θ \mu=\int_Sh(\theta)\pi(\theta|x)d\theta μ=∫Sh(θ)π(θ∣x)dθ如果后验分布 π ( θ ∣ x ) \pi(\theta|x) π(θ∣x)难以直接抽样,那么我们就可以构造一条马氏链 θ \theta θ,使其状态空间为 S S S且其平稳分布就是 π ( θ ∣ x ) \pi(\theta|x) π(θ∣x),将此马氏链运行一段时间使其收敛于平稳分布后,将产生一系列服从平稳分布的随机样本 θ 0 , θ 1 , θ 2 , . . . , θ n − 1 \theta_0,\theta_1,\theta_2,...,\theta_{n-1} θ0,θ1,θ2,...,θn−1,由该定理可得 μ ≈ 1 n ∑ i = 0 n − 1 h ( θ i ) \mu\approx\frac{1}{n}\sum_{i=0}^{n-1}h(\theta_i) μ≈n1i=0∑n−1h(θi)这种计算复杂积分的方法就称为 M C M C MCMC MCMC方法
References
- https://www.zhihu.com/question/63305712
- https://zhuanlan.zhihu.com/p/38764470