主要内容

创建和修改马尔可夫链模型对象

状态转移矩阵P刻画了一个离散时间,时齐次马尔可夫链。有关支持的格式的详细信息万博1manbetxP,请参阅离散时间马尔可夫链对象框架概述。如果你有一个理论的或经验的状态转移矩阵,创建一个马尔可夫链模型对象dtmc。否则,您可以通过使用,从指定结构的随机生成的转换矩阵(例如不可行的转换的数量)创建马尔可夫链mcmix

从随机转移矩阵建立马尔可夫链

这个例子展示了如何使用随机转移矩阵创建一个马尔可夫链对象来模拟一个假设的经济周期。

假设美国实际国内生产总值(GDP)的动态行为在四个模型之间切换:

  • 状态1:低均值低波动率的自回归模型

  • 状态2:低均值高波动性的自回归模型

  • 状态3:高均值低波动率的自回归模型

  • 模式4:高均值、高波动性的自回归模型

考虑这个包含时间步间状态转变概率的右随机转移矩阵tt+ 1表示所有t

P ( 0 5 0 5 0 0 0 5 0 0 5 0 0 0 0 1 0 0 1 0

例如, P 2 3. 0 5 意味着实际GDP在下一个时间步从状态2过渡到状态3的概率是0.5。

将转换矩阵设置为一个变量。

P = [0.5 0.5 0.0 0.0;0.5 0.0 0.5 0.0;0.0 0.0 0.0 1.0;0.0 0.0 1.0 0.0];

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

mc = dtmc (P)
mc = dtmc with properties: P: [4x4 double] StateNames: ["1" "2" "3" "4"] NumStates: 4

mc是一个dtmc对象。的属性和相应的值mc在命令行。

名称与状态的关联增强了函数输出和链图的显示。在创建Markov链对象时,可以使用“StateNames”名称-值对的论点。创建对象后,可以通过设置StateNames属性使用点符号。

将名字与州联系起来mc通过使用点符号。包含名称的字符串向量的元素对应于的行和列P

stateNames = [“政权1”“政权2”“政权3”“政权4”];mc.StateNames = stateNames;

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

图;graphplot (mc);

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。

在创建和绘制马尔可夫链之后,您可以确定链的特征,例如它的平稳分布渐近或者它的状态分布演化再分配

从随机转换矩阵创建马尔可夫链

这个例子展示了如何从随机生成的右随机转移矩阵中创建一个马尔可夫链对象。这样的马尔可夫链便于探索和测试。

创建一个包含五种任意状态的随机马尔可夫链对象。

rng (1);%的再现性numStates = 5;mc = mcmix (numStates)
mc = dtmc with properties: P: [5x5 double] StateNames: ["1" "2" "3" "4" "5"] NumStates: 5

mc是一个dtmc对象。

显示转换矩阵,并验证每一行的和为1。

mc.P
ans =5×50.3259 0.0358 0.1149 0.3602 0.1632 0.0298 0.1478 0.2409 0.2626 0.3189 0.0162 0.3982 0.3469 0.1166 0.1221 0.0944 0.2965 0.0102 0.4389 0.1600 0.3439 0.2710 0.2938 0.0404 0.0509
sum (mc.P, 2)
ans =5×11.0000 1.0000 1.0000 1.0000 1.0000 1.0000

画一个马尔可夫链的有向图。使用边缘颜色表示过渡的概率。

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

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。

指定随机马尔可夫链的结构

这个例子展示了如何指定某些不可行的转换,并在马尔可夫链的转换矩阵中随机分配其他的。

用随机转移矩阵建立一个六态马尔可夫链。绘制其有向图,并使用边缘颜色表示转移概率。

rng (1);%的再现性numStates = 6;mc1 = mcmix (numStates);图;graphplot(哪“ColorEdges”,真正的)

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。

mcmix生成一个马尔可夫链,使所有状态都是持久的,并且从任何其他状态都可以到达所有状态。

创建另一个六状态马尔可夫链,但没有任何持久状态,并且在转移矩阵的随机位置有12个其他不可行的转移。

Fix = ones(numStates) - eye(numStates);Fix(Fix == 1) = NaN;0 = 12;mc2 = mcmix (numStates,“零”0,“修复”、解决);

显示的转换矩阵mc2。画有向图mc2并使用边缘颜色表示转移概率。

mc2。P
ans =6×60 0.4845 0 0.0344 0 0.4811 0.5107 0 0.0791 0 0 0.4102 0.1397 0.2701 0 0.2954 0.2948 0 0.4767 0.5233 0 0 0 0 0.3710 0 0.5550 0 0 0.0740 0.0179 0.1947 0.7874 0 0 0
图;graphplot (mc2,“ColorEdges”,真正的)

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。

另请参阅

对象

功能

相关的话题