计算马尔可夫链在每个时间步长的状态分布

这个示例展示了如何计算和可视化状态重新分布,它显示了从初始分布到确定性状态分布随时间的演变。

考虑这个理论的,一个随机过程的右随机转移矩阵。

P 0 0 1 / 2 1 / 4 1 / 4 0 0 0 0 1 / 3. 0 2 / 3. 0 0 0 0 0 0 0 1 / 3. 2 / 3. 0 0 0 0 0 1 / 2 1 / 2 0 0 0 0 0 3. / 4 1 / 4 1 / 2 1 / 2 0 0 0 0 0 1 / 4 3. / 4 0 0 0 0 0

建立以转移矩阵为特征的马尔可夫链P

P = [0 0 1/4 1/4 0 0;0 0 1/3 0 2/3 0 0;0 0 0 0 1/3 2/3;0 0 0 0 1/2 /2;0 0 0 3/4 1/4;1/2 0 0 0 0 0 0;1/4 3/4 0 0 0 0];mc = dtmc (P);

绘制马尔可夫链的有向图,并使用节点颜色和标记标识类。

图;graphplot (mc,“ColorNodes”,真正的);

mc表示周期为3的单个循环类。

假设初始态分布是均匀的。计算20个时间步长的分布演化。

numSteps = 20;X =重新分配(mc, numSteps);

X是一个21乘7的矩阵。行t包含在时间步长的演化状态分布t

在热图中可视化重新分配。

图;distplot (mc, X);

这条链的周期性很明显。

通过将马尔可夫链转换为惰性链来去除马尔可夫链的周期性。将懒惰链的转移矩阵绘制为热图。

lc =懒惰(mc);图;显示亮度图像(lc.P);colormap (“喷气机”);轴广场;colorbar;标题(“理论懒惰链转移矩阵”

信用证是一个dtmc对象。懒惰的通过增加持久性概率的权重来创建懒惰链,即,懒惰的执行self-loops。

计算懒惰链中分布在20个时间步长的演化。在热图中绘制再分配。

X1 =重新分配(lc, numSteps);图;distplot (lc, X1);

将状态分布的演化看作一个动画直方图。指定帧速率为1秒。

图;distplot (lc, X1,“类型”“直方图”的帧速率, 1)

计算懒惰链的平稳分布。将它与动画直方图中的最终再分配进行比较。

xFix =渐近(lc)
xFix =1×70.1300 0.2034 0.1328 0.0325 0.1681 0.1866 0.1468

平稳分布与最终再分配几乎相同。

另请参阅

对象

功能

相关的话题