主要内容

重新分配

计算Markov链重新分发

描述

示例

X.=重新分发(mcnumsteps.返回数据X.离散马尔可夫链中状态均匀分布的演化mc在它的进步之后numsteps.时间步骤。

示例

X.=重新分发(mcnumsteps.'x0',x0)可选地指定初始状态分布X0.

例子

崩溃

从包含八个不可行转换的随机生成的转换矩阵创建四态马尔可夫链。

rng (“默认”);%的再现性mc = mcmix(4,“零”8);

mc是A.DTMC对象。

画一个马尔可夫链的有向图。

图;graphplot (mc);

图中包含一个坐标轴。轴包含Type Graphplot的对象。

4.是一种吸收状态。

为10个离散时间步骤计算每个步骤的状态重新分布。假设状态的初始分布是均匀的。

x =重新分发(MC,10)
X =11×4.0.2500 0.2500 0.2500 0.2500 0.0869 0.2577 0.3088 0.3467 0.1073 0.2990 0.1536 0.4402 0.0533 0.2133 0.1844 0.5489 0.0641 0.2010 0.1092 0.6257 0.0379 0.1473 0.1162 0.6985 0.0404 0.1316 0.0765 0.7515 0.0266 0.0997 0.0746 0.7991 0.0259 0.0864 0.0526 0.8351 0.0183 0.0670 0.0484 0.8663⋮

X.是一个11-by-4矩阵。行对应于时间步骤,列对应于状态。

可视化状态重新分配。

图;distplot(mc,x)

图中包含一个坐标轴。标题为“状态分布”的轴包含一个类型为image的对象。

10次​​过渡后,分布似乎与州的大多数概率质量居中4.

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

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/2 1/4 1/4 0 0;0 0 1/3 0 2/3 0 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 0 3/4 1/4;1/2 1/2 0 0 0 0 0;1/4 3/4 0 0 0 0];MC = DTMC(P);

绘制马尔可夫链的一条指向图。通过使用边缘颜色表示过渡的概率。

图;graphplot(MC,'着色',真的);

图中包含一个坐标轴。轴包含Type Graphplot的对象。

使用随机初始值计算Markov链的20步重新分布。

rng (1);%的再现性x0 =兰德(mc.NumStates, 1);RD =重新分配(MC,20,'x0',x0);

绘制重新分配。

图;Distplot(MC,RD);

图中包含一个坐标轴。标题为“状态分布”的轴包含一个类型为image的对象。

再分配表明,这个链条是有周期的,周期为3。

通过创建一个惰性版本的马尔可夫链来删除周期性。

lc = lazy(mc);

使用随机初始值计算延迟链的20步重新分布。绘制重新分配。

x0 =兰德(mc.NumStates, 1);lrd1 =重新分配(lc 20'x0',x0);图;distplot(lc,lrd1);

图中包含一个坐标轴。标题为“状态分布”的轴包含一个类型为image的对象。

再分配似乎在几个步骤之后就稳定下来了。

输入参数

崩溃

离散时间马尔可夫链NumStates状态和转换矩阵P.,指定为aDTMC对象。P.必须完全指定(没有条目)。

计算为正整数的离散时间步骤数。

数据类型:双人间

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值为对应值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

示例:X0, (0.5 0.25 0.25)指定初始状态分布[0.5 0.25 0.25]

初始分布,指定为逗号分隔对,由'x0'和一个非负的数值向量NumStates长度。重新分配正常化X0.所以它总结了1

默认情况是状态的均匀分布。

示例:X0, (0.5 0.25 0.25)

数据类型:双人间

输出参数

崩溃

状态概率的演变,作为一个返回(1 + numSteps)-NumStates非负数字矩阵。第一行是X0..后续行是每个步骤的重新分配,重新分配由转移矩阵决定P.

注意

如果mc是ergodic,和numsteps.足够大,x(结束,:)近似x =渐近(mc).看到渐近学

提示

可视化由此创建的数据重新分配,使用distplot

在R2017B中介绍