主要内容

dtmc

创建离散时间马尔可夫链

描述

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

在创建dtmc对象,您可以分析马尔可夫链的结构和演化,并以各种方式可视化马尔可夫链,通过使用对象的功能。你也可以用adtmc对象,指定马尔可夫切换动态回归模型的切换机制(msVAR).

要创建由阈值转换和阈值变量数据控制的切换机制,有关阈值切换动态回归模型,请参见阈值tsVAR

创建

描述

例子

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. statnames = ["Depression" "Recession"];

此属性是只读的。

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

如果x行向量的长度是多少numStates指定一次状态的分布tx资金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);

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

观察到状态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;[14];

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

mc = dtmc(P);

显示存储在mc中的规范化转换矩阵。验证行内的元素之和为1对于所有行。

mc.P
ans =4×40.4706 0.0588 0.0882 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);

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

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

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

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

为模型创建转换矩阵。

P11 = 0.90;P22 = 0.75;P = [p11 (1 - p11);(1 - p22) p22];

创建以转移矩阵为特征的马尔可夫链P。标记这两种状态。

mc = dtmc(P,“StateNames”,[“扩张”“收缩”])
mc = dtmc with properties: P: [2x2 double] statename: [" expand " "Contraction"] NumStates: 2

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

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

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

来帮助你探索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)

图包含一个轴对象。坐标轴对象包含5个类型为line, patch的对象。这些物体代表特征值,谱隙。

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

考虑一个马尔可夫切换自回归(msVAR)模型包含了四种经济体制:萧条、衰退、停滞和扩张。要估计切换机制的转换概率,必须提供adtmc模型中有一个未知的转移矩阵条目到msVAR框架。

创建一个具有未知转移矩阵的4域马尔可夫链条目)。指定制度名称。

P = nan(4);statnames = [“萧条”“衰退”“停滞”“扩张”];mcUnknown = dtmc(P,“StateNames”statenames)
mcUnknown = dtmc with properties: P: [4x4 double] statename: ["Depression" "Recession" "Stagnation" "Expansion"] NumStates: 4
mcUnknown。P
ans =4×4不,不,不,不,不,不,不

假设经济理论认为,美国经济永远不会从衰退或萧条过渡到扩张。创建一个具有部分已知转移矩阵的4域马尔可夫链。

P(1,4) = 0;P(2,4) = 0;mcPartial = dtmc(P,“StateNames”statenames)
mcPartial = dtmc with properties: P: [4x4 double] statnames: ["Depression" "Recession" "Stagnation" "Expansion"] NumStates: 4
mcPartial。P
ans =4×4南南,南南,南南,南南,南南,南南,南南

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

有关马尔可夫切换动态回归模型的更多详细信息,请参见msVAR

选择

创建一个马尔可夫链对象mcmix

参考文献

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

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

[3]詹姆斯·D·汉密尔顿。时间序列分析。普林斯顿,新泽西州:普林斯顿大学出版社,1994。

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

版本历史

在R2017b中引入