dtmc

创建离散时间的马尔可夫链

描述

dtmc从指定的状态转换矩阵创建一个离散时间、有限状态、时间齐次的马尔可夫链。

在创建一个dtmc对象,您可以分析该马尔可夫链的结构和演化,并以各种方式可视化该马尔可夫链对象的功能

创建

描述

例子

mc= dtmc (P)创建离散时间的马尔科夫链对象mc由状态转换矩阵指定P

例子

mc= dtmc (P,“StateNames”stateNames)可选地关联名称stateNames美国。

输入参数

全部展开

状态转移矩阵,指定为anumStates——- - - - - -numStates非负数字矩阵。

P (i, j)从状态转变的理论概率是多少j或者从状态观察到的跃迁的经验计数j。可以完全指定P(所有元素都是非负数),也可以部分指定(元素是非负数和值),或未知值(完全由值)。

dtmc将的每一行规格化P没有任何要求和的值1,然后将归一化矩阵存储在属性中P

数据类型:

属性

全部展开

您可以在使用名称-值对参数语法创建模型对象时设置可写属性值,或者在使用点符号创建模型对象后设置可写属性值。例如,对于两态模型mc来标记第一和第二状态抑郁症经济衰退分别输入:

mc.StateNames = ["Depression" "Recession"];

此属性是只读的。

归一化转换矩阵,指定为anumStates——- - - - - -numStates非负数字矩阵。

如果x是一个长度的行向量吗numStates指定状态在时间上的分布t(x资金1),然后x * P状态的分布是在时间上吗t + 1

项表示可估计的转移概率。的估计的函数msVAR对待已知的元素P作为优化过程中的等式约束。

数据类型:

此属性是只读的。

状态数,指定为正的标量。

数据类型:

状态标签,指定为字符串向量、字符向量的单元向量或长度的数值向量numStates。元素对应于的行和列P

例子:[“萧条”、“衰退”、“停滞”、“繁荣”]

数据类型:字符串

对象的功能

dtmc对象需要完全指定的转换矩阵P

全部展开

渐近 确定马尔科夫链的渐近性
isergodic 检查马尔可夫链的遍历性
isreducible 检查马尔可夫链的可约性
分类 对马尔可夫链状态进行分类
懒惰的 调整马尔科夫链状态惯量
子链 提取马尔可夫子链
重新分配 计算马尔科夫链再分配
模拟 模拟马尔可夫链状态漫步
distplot 绘制马尔可夫链再分布
eigplot 绘制马尔可夫链特征值
graphplot 绘制马尔可夫链向图
simplot 画出马尔可夫链模拟

例子

全部折叠

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

P = ( 0 5 0 5 0 0 0 5 0 0 5 0 0 0 0 1 0 0 1 0 ]

元素 P j 进程转换为状态的概率是多少j在时间t+ 1表示它处于状态在时间t,尽管t

创建以转换矩阵为特征的马尔可夫链P

P = [0.5 0.5 0 0;0.5 0 0.5 0;0 0 0 1;0 0 1 0];mc = dtmc (P);

mc是一个dtmc对象,该对象表示马尔可夫链。

显示马尔可夫链中的状态数。

numstates = mc.NumStates
numstates = 4

画出马尔可夫链的有向图。

图;graphplot (mc);

观察状态3和状态4形成一个吸收类,而状态1和状态2是瞬态的。

考虑这个转换矩阵中的元素 ( , j ) 观察到的次数是否处于状态转换到状态j

P = ( 1 6 2 3. 1 3. 5 1 1 1 0 8 9 7 6 1 2 4 1 4 1 5 1 ]

例如, P 3. 2 = 7 意味着状态3转换到状态2 7次。

P = [16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 1];

创建以转换矩阵为特征的马尔可夫链P

mc = dtmc (P);

显示存储在mc中的归一化转换矩阵。验证行内元素的和为1所有行。

mc.P
ans =4×40.4706 0.588 0.3824 0.1471 0.3235 0.2941 0.2353 0.2647 0.2059 0.1765 0.3529 0.1176 0.4118 0.4412 0.0294
sum (mc.P, 2)
ans =4×11 1 1 1

画出马尔可夫链的有向图。

图;graphplot (mc);

以美国实际国民生产总值(GNP)的两国商业周期为例[3]p。697。在时间t在美国,实际国民生产总值可能处于扩张或收缩状态。假设下面的陈述在样本期间是正确的。

  • 如果真正的国民生产总值在增长t,那么它在某时刻继续处于膨胀状态的概率t+ 1是 p 1 1 = 0 9 0

  • 如果实际国民生产总值正在收缩t,那么它将继续处于收缩状态的概率t+ 1是 p 2 2 = 0 7 5

为模型创建转换矩阵。

侯= 0.90;第22位= 0.75;P = [p11 (1 - p11);(1 - p22) p22];

创建以转换矩阵为特征的马尔可夫链P。给这两个州贴上标签。

mc = dtmc (P,“StateNames”,(“扩张”“收缩”])
属性:P: [2x2双]StateNames:["展开" "收缩"]NumStates: 2

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

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

来帮助你探索dtmc对象的功能,mcmix仅使用指定数目的状态,从随机转换矩阵创建马尔可夫链。

从一个随机转换矩阵创建一个五态马尔可夫链。

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

mc是一个dtmc对象。

在复平面上画出过渡矩阵的特征值。

图;eigplot (mc)

该谱决定了马尔可夫链的结构性质,如周期性和混合速率。

考虑markov -switch自回归(msVAR美国GDP模型包含四种经济体制:萧条、衰退、停滞和扩张。要估计开关机构的转移概率,必须提供adtmc的一个未知转换矩阵项msVAR框架。

用一个未知的转移矩阵(全部)建立一个4阶马尔可夫链条目)。指定系统名称。

P =南(4);statenames = [“萧条”“衰退”...“停滞”“扩张”];mcUnknown = dtmc (P,“StateNames”statenames)
属性:P: [4x4双]状态名:["萧条" "衰退" "停滞" "扩张"]数字:4
mcUnknown.P
ans =4×4南南南南南南南南南南南南南南南南南南南南南南南南南南南南南南南

假设经济理论指出,美国经济从未从衰退或萧条过渡到扩张。用一个部分已知的过渡矩阵来表示情况,创建一个4种状态的马尔可夫链。

P (1,4) = 0;P (2、4) = 0;mcPartial = dtmc (P,“StateNames”statenames)
属性:P: [4x4双]状态名:["萧条" "衰退" "停滞" "扩张"]数字:4
mcPartial.P
ans =4×4南南南0南南南0南南南南南南南南南南南南南南南

估计的函数msVAR对待已知的元素mcPartial.P作为优化过程中的等式约束。

有关markov切换动态回归模型的更多细节,请参见msVAR

选择

您还可以使用以下命令创建一个马尔科夫链对象mcmix

参考文献

[1]Gallager, R.G.随机过程:应用理论。英国剑桥:剑桥大学出版社,2013年。

[2]Haggstrom, O。有限马尔可夫链和算法应用。英国剑桥:剑桥大学出版社,2002年。

[3]汉密尔顿,j . D。时间序列分析。普林斯顿:普林斯顿大学出版社,1994年。

[4]诺里斯,j . R。马尔可夫链。英国剑桥:剑桥大学出版社,1997年。

介绍了R2017b