我正在编写一些计算马尔可夫链限制的程序。
如果马尔可夫矩阵发散,我应该将其转换为 dA + (1-d)E 的形式,其中 A 和 E 都是 n * n 矩阵,并且 E 的所有元素都是 1/n。
但是,如果我在输入收敛时应用该转换,则会出现错误的值。
有没有简单的方法来检查马尔可夫矩阵是否收敛?
我正在编写一些计算马尔可夫链限制的程序。
如果马尔可夫矩阵发散,我应该将其转换为 dA + (1-d)E 的形式,其中 A 和 E 都是 n * n 矩阵,并且 E 的所有元素都是 1/n。
但是,如果我在输入收敛时应用该转换,则会出现错误的值。
有没有简单的方法来检查马尔可夫矩阵是否收敛?
我不打算详细介绍,因为它本身就是一个完整的领域。尽管一般收敛定理指出,任何非周期性且不可约的有限马尔可夫链都会收敛(收敛到其平稳分布)。不可约性很容易检查(相当于图中的连通性),周期性也很容易检查(两者的定义见下文第一章,收敛定理在本书第四章证明) .
值得注意的是,如果不存在在对称情况下可以通过将状态空间拆分为“连通分量”并分别考虑每个分量来轻松解决的不可约性。虽然可以通过执行类似于您建议的操作来修补周期性。它被称为创建惰性马尔可夫链。如果您想更好地理解整个主题(例如混合时间将对您的收敛算法非常有帮助),这是一本很棒的书(免费提供):