建立马尔科夫转换动态回归模型
的msVAR
函数返回一个msVAR
对象的函数形式马尔可夫转换动态回归模型对于单变量或多变量反应过程yt.的msVAR
对象还存储模型的参数值。
一个msVAR
对象有两个关键组成部分:状态之间的切换机制,由离散时间马尔可夫链(dtmc
对象);自回归(ARX)或向量自回归(VARX)模型(华宇电脑
或varm
对象),它可以包含外生回归组件。组件完全指定了模型结构。马尔可夫链转移矩阵和子模型参数,如AR系数和创新分布方差,是未知的和可估计的,除非你指定它们的值。
要估计一个包含未知参数值的模型,将模型和数据传递给估计
.用估计的或完全指定的方法工作msVAR
对象,将其传递给目标函数.
可选设置SeriesNames属性,该属性将名称关联起来Mdl
= msVAR (mc
,mdl
,“SeriesNames”
seriesNames)seriesNames
到模型的时间序列。
您只能设置SeriesNames
属性,当您使用名称-值参数语法或使用点表示法创建模型时。MATLAB®从输入派生所有其他属性的值mc
和mdl
.
例如,为一个2-D响应系列创建一个马尔可夫转换模型,然后标记第一个和第二个系列“国内生产总值”
和“CPI”
,分别。
Mdl = msVAR (mc, Mdl);Mdl。SeriesNames = ["GDP" "CPI"];
NumStates
- - - - - -许多州此属性是只读的。
状态数,指定为正标量。
数据类型:双
NumSeries
- - - - - -时间序列数此属性是只读的。
时间序列的数目,指定为正整数。NumSeries
指定所有子模型中响应变量和创新的维度。
数据类型:双
StateNames
- - - - - -状态标签此属性是只读的。
状态标签,指定为长度的字符串向量NumStates
.
数据类型:字符串
SeriesNames
- - - - - -系列的标签字符串(1:numSeries)
(默认)|字符串向量|字符向量的单元格数组|数值向量系列标签,指定为字符串向量、字符向量单元格数组或长度的数字向量numSeries
.msVAR
将序列标签存储为字符串向量。
数据类型:字符串
开关
- - - - - -状态切换机制的离散马尔可夫链dtmc
对象此属性是只读的。
离散时间马尔可夫链的状态切换机制,指定为dtmc
对象。
子
- - - - - -特定状态向量自回归子模型varm
对象此属性是只读的。
状态特定的向量自回归子模型,指定为的向量varm
物体的长度NumStates
.
msVAR
删除不支持的子模型组万博1manbetx件。
为华宇电脑
子,msVAR
不支持移动平均线、万博1manbetx差异和季节成分。如果任何子模型是一个复合条件均值和方差模型(例如,它的方差
属性是一个garch
对象),msVAR
一个错误的问题。
为varm
子,msVAR
不支持趋势组件。万博1manbetx
msVAR
转换指定为的子模型华宇电脑
对象一维varm
对象。
注:
南
属性中的-值元素开关
或者是子模型子
表示未知的、可估计的参数。除子模型创新方差外,指定的元素表示模型估计中参数的相等约束。
所有未知的子模型参数都与状态有关。
建立一维响应过程的双状态马尔可夫转换动态回归模型。指定所有参数值(本例使用任意值)。
建立描述状态转换机制的双状态离散时间马尔可夫链模型。标签的政权。
P = [0.9 0.1;0.3 - 0.7);mc = dtmc (P,“StateNames”,[“扩张”“衰退”])
mc = dtmc with properties: P: [2x2 double] StateNames: ["Expansion" "Recession"] NumStates: 2
mc
是一个dtmc
对象。
对于每个政体,使用它华宇电脑
创建一个描述该制度内响应过程的AR模型。
%的常量C1 = 5;C2 = 5;% AR系数Ar1 = [0.3 0.2];% 2落后AR2 = 0.1;% 1滞后%创新差异v1 = 2;v2 = 1;% AR的子mdl1 = arima (“不变”C1,基于“增大化现实”技术的AR1,...“方差”, v1,“描述”,“扩张状态”)
mdl1 = arima with properties:描述:“膨胀状态”分布:名称=“高斯”P: 2 D: 0 Q: 0 Constant: 5 AR: {0.3 0.2} at时滞[1 2]SAR: {} MA: {} SMA:{}季节性:0 Beta: [1×0]方差:2 arima(2,0,0)模型(高斯分布)
mdl2 = arima (“不变”C2,基于“增大化现实”技术的AR2,...“方差”v2,“描述”,“经济衰退状态”)
mdl2 = arima with properties:描述:“衰退状态”分布:名称=“高斯”P: 1 D: 0 Q: 0 Constant: -5 AR: {0.1} at lag [1] SAR: {} MA: {} SMA:{}季节性:0 Beta: [1×0]方差:1 arima(1,0,0)模型(高斯分布)
mdl1
和mdl2
完全指定的华宇电脑
对象。
将子模型存储在一个向量中,其顺序与中的状态相对应mc.StateNames
.
mdl = [mdl1;mdl2];
使用msVAR
从切换机制中建立马尔科夫切换动态回归模型mc
以及特定于状态的子模型mdl
.
Mdl Mdl = msVAR (mc)
Mdl = msVAR with properties: NumStates: 2 NumSeries: 1 StateNames: ["Expansion" "Recession"] SeriesNames: "1" Switch: [1x1 dtmc] Submodels: [2x1 varm]
Mdl.Submodels (1)
描述:“AR- stationary 1维VAR(2)模型”SeriesNames:“Y1”NumSeries: 1 P: 2 Constant: 5 AR: {0.3 0.2} at时滞[1 2]趋势:0 Beta: [1×0 matrix]协方差:2
Mdl.Submodels (2)
描述:“AR- stationary 1维VAR(1)模型”SeriesNames:“Y1”NumSeries: 1 P: 1 Constant: -5 AR: {0.1} at lag [1] Trend: 0 Beta: [1×0 matrix] Covariance: 1
Mdl
是完全指定的msVAR
对象表示单变量双状态马尔可夫转换动态回归模型。msVAR
指定的商店华宇电脑
子,varm
对象。
因为Mdl
完全指定时,可以将其传递给anymsVAR
对象函数的进一步分析(参见对象的功能).或者,您可以指定的参数Mdl
是估算过程的初始值(见估计
).
考虑战后美国实际GDP增长率的两状态马尔可夫转换动态回归模型。模型的参数估计在[1].
建立描述状态转换机制的离散马尔可夫链模型。标签的政权。
P = [0.92 0.08;0.26 - 0.74);mc = dtmc (P,“StateNames”,[“扩张”“衰退”]);
mc
是完全指定的dtmc
对象。
为两种状态建立单独的AR(0)模型(仅为常数)。
σ= 3.34;跨州的同方差模型mdl1 = arima (“不变”, 4.62,“方差”σ^ 2);mdl2 = arima (“不变”, -0.48,“方差”σ^ 2);MDL = [mdl1 mdl2];
创建描述美国GDP增长率行为的马尔可夫转换动态回归模型。
Mdl Mdl = msVAR (mc)
Mdl = msVAR with properties: NumStates: 2 NumSeries: 1 StateNames: ["Expansion" "Recession"] SeriesNames: "1" Switch: [1x1 dtmc] Submodels: [2x1 varm]
Mdl
是完全指定的msVAR
对象。
考虑对一维响应过程的双状态马尔可夫转换模型进行数据拟合。
建立了切换机制的离散马尔可夫链模型。指定一个2 × 2矩阵南
转换矩阵的值。此设置表明您希望估计所有迁移概率。标签。
P =南(2);mc = dtmc (P,“StateNames”,[“扩张”“衰退”])
mc = dtmc with properties: P: [2x2 double] StateNames: ["Expansion" "Recession"] NumStates: 2
mc.P
ans =2×2南南南
mc
是部分指定的dtmc
对象。转换矩阵mc.P
是完全未知和可估量的。
使用的简写语法创建AR(1)和AR(2)模型华宇电脑
.在创建每个模型之后,使用点符号指定模型描述。
mdl1 = arima (1,0,0);mdl1。描述=“扩张状态”
mdl1 = arima with properties:描述:“膨胀状态”分布:名称=“高斯”P: 1 D: 0 Q: 0 Constant: NaN AR: {NaN} at lag [1] SAR: {} MA: {} SMA:{}季节性:0 Beta: [1×0]方差:NaN arima(1,0,0)模型(高斯分布)
mdl2 = arima (2 0 0);mdl2。描述=“经济衰退状态”
mdl2 = arima with properties:描述:“衰退状态”分布:名称=“高斯”P: 2 D: 0 Q: 0 Constant: NaN AR: {NaN NaN} at lag [1 2] SAR: {} MA: {} SMA:{}季节性:0 Beta: [1×0]方差:NaN arima(2,0,0)模型(高斯分布)
mdl1
和mdl2
指定的部分华宇电脑
对象。南
-值属性对应于未知的、可估计的参数。
将子模型存储在一个向量中,其顺序与中的状态相对应mc.StateNames
.
mdl = [mdl1;mdl2];
从切换机制创建一个马尔科夫切换模型模板mc
以及特定于状态的子模型mdl
.
Mdl Mdl = msVAR (mc)
Mdl = msVAR with properties: NumStates: 2 NumSeries: 1 StateNames: ["Expansion" "Recession"] SeriesNames: "1" Switch: [1x1 dtmc] Submodels: [2x1 varm]
Mdl
是部分指定的msVAR
对象表示单变量双状态马尔可夫转换动态回归模型。
Mdl.Submodels (1)
描述:“一维VAR(1)模型”SeriesNames:“Y1”NumSeries: 1 P: 1 Constant: NaN AR: {NaN} at lag [1] Trend: 0 Beta: [1×0 matrix]协方差:NaN
Mdl.Submodels (2)
ans = VAR with properties:描述:“一维VAR(2)模型”SeriesNames:“Y1”NumSeries: 1 P: 2 Constant: NaN AR: {NaN NaN} at时滞[1 2]趋势:0 Beta: [1×0 matrix]协方差:NaN
msVAR
转换华宇电脑
对象子模型为一维varm
对象的等价物。
Mdl
准备进行评估。你可以通过Mdl
,以及包含用于优化的初始值的完整指定模型和数据估计
.
建立一个二维响应过程的三状态马尔科夫转换动态回归模型。指定所有参数值(本例使用任意值)。
建立描述状态转换机制的三状态离散马尔可夫链模型。
P = [10 1 1;1 10 1;1 1 10];mc = dtmc (P);mc.P
ans =3×30.0833 0.0833 0.0833 0.0833
mc
是一个dtmc
对象。dtmc
规范化P
所以每一行的和是1。
对于每个政体,使用它varm
创建一个描述该制度内响应过程的VAR模型。指定所有参数值。
%常量(numSeries x 1 vector)C1 = (1, 1);C2 = (2, 2);C3 = [3; 3);%自回归系数(numSeries x numSeries矩阵)AR1 = {};% 0落后Ar2 = {[0.5 0.1;0.5 - 0.5]};% 1滞后Ar3 = {[0.25 0;0 0] [0 0;0.25 0]};% 2落后创新协方差(numSeries x numSeries矩阵)Sigma1 = [1 -0.1;-0.1 - 1];Sigma2 = [2 -0.2;-0.2 - 2);Sigma3 = [3 -0.3;-0.3 3];% VAR的子mdl1 = varm (“不变”C1,基于“增大化现实”技术的AR1,协方差的, Sigma1);mdl2 = varm (“不变”C2,基于“增大化现实”技术的AR2,协方差的, Sigma2);mdl3 = varm (“不变”C3,基于“增大化现实”技术的AR3,协方差的, Sigma3);
mdl1
,mdl2
,mdl3
完全指定的varm
对象。
将子模型存储在一个向量中,其顺序与中的状态相对应mc.StateNames
.
mdl = [mdl1;mdl2;mdl3];
使用msVAR
从切换机制中建立马尔科夫切换动态回归模型mc
以及特定于状态的子模型mdl
.
Mdl Mdl = msVAR (mc)
Mdl = msVAR with properties: NumStates: 3 NumSeries: 2 StateNames: ["1" "2" "3"] SeriesNames: ["1" "2"] Switch: [1x1 dtmc] Submodels: [3x1 varm]
Mdl.Submodels (1)
ans = VAR with properties:描述:"2维VAR(0)模型" SeriesNames: "Y1" "Y2" NumSeries: 2 P: 0 Constant: [1 -1]' AR: {} Trend: [2×1 vector of zero] Beta: [2×0 matrix] Covariance: [2×2 matrix]
Mdl.Submodels (2)
描述:"AR- stationary 2维VAR(1)模型" SeriesNames: "Y1" "Y2" NumSeries: 2 P: 1 Constant: [2 -2]' AR: {2×2 matrix} at lag [1] Trend: [2×1 vector of zero] Beta: [2×0 matrix] Covariance: [2×2 matrix]
Mdl.Submodels (3)
描述:“AR- stationary 2维VAR(2)模型”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 2 Constant: [3 -3]' AR: {2×2 matrices} at时滞[1 2]Trend: [2×1 vector of zero] Beta: [2×0 matrix] Covariance: [2×2 matrix]
Mdl
是完全指定的msVAR
对象表示多元三状态马尔可夫转换动态回归模型。
在马尔可夫转换动态回归模型的每个子模型中考虑外生变量的回归组件创建完全指定的多元模型.
建立描述状态转换机制的三状态离散马尔可夫链模型。
P = [10 1 1;1 10 1;1 1 10];mc = dtmc (P);
对于每个政体,使用它varm
创建一个VARX模型,描述该制度内的响应过程。指定所有参数值。
%常量(numSeries x 1 vector)C1 = (1, 1);C2 = (2, 2);C3 = [3; 3);%自回归系数(numSeries x numSeries矩阵)AR1 = {};% 0落后Ar2 = {[0.5 0.1;0.5 - 0.5]};% 1滞后Ar3 = {[0.25 0;0 0] [0 0;0.25 0]};% 2落后%回归系数(numSeries x numregression matrices)Beta1 = (1, 1);% 1回归量Beta2 = [2 2;-2];% 2解释变量Beta3 = [3 3 3;-3 -3];% 3解释变量创新协方差(numSeries x numSeries矩阵)Sigma1 = [1 -0.1;-0.1 - 1];Sigma2 = [2 -0.2;-0.2 - 2);Sigma3 = [3 -0.3;-0.3 3];% VARX子mdl1 = varm (“不变”C1,基于“增大化现实”技术的AR1,“β”Beta1,...协方差的, Sigma1);mdl2 = varm (“不变”C2,基于“增大化现实”技术的AR2,“β”Beta2,...协方差的, Sigma2);mdl3 = varm (“不变”C3,基于“增大化现实”技术的AR3,“β”Beta3,...协方差的, Sigma3);
mdl1
,mdl2
,mdl3
完全指定的varm
对象表示指定状态的子模型。
将子模型存储在一个向量中,其顺序与中的状态相对应mc.StateNames
.
mdl = [mdl1;mdl2;mdl3];
使用msVAR
从切换机制中建立马尔科夫切换动态回归模型mc
以及特定于状态的子模型mdl
.
Mdl Mdl = msVAR (mc)
Mdl = msVAR with properties: NumStates: 3 NumSeries: 2 StateNames: ["1" "2" "3"] SeriesNames: ["1" "2"] Switch: [1x1 dtmc] Submodels: [3x1 varm]
Mdl.Submodels (1)
描述:“具有1个预测器的二维VARX(0)模型”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 0 Constant: [1 -1]' AR: {} Trend: [2×1 vector of zero] Beta: [2×1 matrix] Covariance: [2×2 matrix]
Mdl.Submodels (2)
描述:"AR- stationary 2 dimensional VARX(1) Model with 2 Predictors" SeriesNames: "Y1" "Y2" NumSeries: 2 P: 1 Constant: [2 -2]' AR: {2×2 matrix} at lag [1] Trend: [2×1 vector of zero] Beta: [2×2 matrix] Covariance: [2×2 matrix]
Mdl.Submodels (3)
描述:"AR- stationary 2d VARX(2) Model with 3 Predictors" SeriesNames: "Y1" "Y2" NumSeries: 2 P: 2 Constant: [3 -3]' AR: {2×2 matrices} at delays [1 2] Trend: [2×1 vector of zero] Beta: [2×3 matrix] Covariance: [2×2 matrix]
考虑对二维响应过程的三状态马尔科夫转换模型进行数据拟合。
建立了切换机制的离散马尔可夫链模型。指定一个3 × 3的矩阵南
转换矩阵的值。此设置表明您希望估计所有迁移概率。
P =南(3);mc = dtmc (P);
mc
是部分指定的dtmc
对象。转换矩阵mc.P
是完全未知和可估量的。
创建2- d VAR(0), VAR(1), VAR(2)模型使用的简写语法varm
.将模型存储在向量中。
mdl1 = varm (2,0);mdl2 = varm (2, 1);mdl3 = varm (2, 2);MDL = [mdl1 mdl2 mdl3];mdl (1)
ans = VAR with properties:描述:“2维VAR(0)模型”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 0 Constant: [2×1 vector of nan] AR: {} Trend: [2×1 vector of zero] Beta: [2×0 matrix] Covariance: [2×2 matrix of nan]
mdl
包含三个具体由各州完成varm
用于估计的模型模板。南
属性中的值表示可估计的参数。
从切换机制创建一个马尔科夫切换模型模板mc
以及特定于状态的子模型mdl
.
Mdl Mdl = msVAR (mc)
Mdl = msVAR with properties: NumStates: 3 NumSeries: 2 StateNames: ["1" "2" "3"] SeriesNames: ["1" "2"] Switch: [1x1 dtmc] Submodels: [3x1 varm]
Mdl.Submodels (1)
ans = VAR with properties:描述:“2维VAR(0)模型”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 0 Constant: [2×1 vector of nan] AR: {} Trend: [2×1 vector of zero] Beta: [2×0 matrix] Covariance: [2×2 matrix of nan]
Mdl.Submodels (2)
ans = VAR with properties:描述:"2维VAR(1)模型" SeriesNames: "Y1" "Y2" NumSeries: 2 P: 1 Constant: [2×1 vector of nan] AR: {2×2 matrix of nan} at lag [1] Trend: [2×1 vector of zero] Beta: [2×0 matrix] Covariance: [2×2 matrix of nan]
Mdl.Submodels (3)
描述:“2维VAR(2)模型”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 2 Constant: [2×1 vector of NaNs] AR: {2×2 matrices of NaNs} at delays [1 2] Trend: [2×1 vector of zero] Beta: [2×0 matrix] Covariance: [2×2 matrix of NaNs]
Mdl
是部分指定的msVAR
模型来估计。
考虑在的马尔可夫转换动态回归模型的子模型中包含外生变量的回归组件创建部分指定的多元模型进行评估.假设VAR(0)模型包含回归量 , VAR(1)模型包括回归量 和 , VAR(2)模型包含回归量 , , .
建立离散时间马尔可夫链。
P =南(3);mc = dtmc (P);
创建2- d VARX(0), VARX(1),和VARX(2)模型使用的简写语法varm
.对于每个模型,设置β
属性到一个numSeries
——- - - - - -numRegressors
矩阵的南
值使用点表示法。将所有模型存储在一个向量中。
numSeries = 2;mdl1 = varm (numSeries 0);mdl1。β=南(numSeries,1); mdl2 = varm(numSeries,1); mdl2.Beta = NaN(numSeries,2); mdl3 = varm(numSeries,2); mdl3.Beta = nan(numSeries,3); mdl = [mdl1; mdl2; mdl3];
从切换机制中创建一个马尔可夫切换动态回归模型mc
以及特定于状态的子模型mdl
.
Mdl = msVAR (mc, Mdl);Mdl.Submodels (2)
描述:"2维VARX(1)模型与2预测" SeriesNames: "Y1" "Y2" NumSeries: 2 P: 1 Constant: [2×1向量的nan] AR: {2×2矩阵的nan} at lag[1]趋势:[2×1向量的零]Beta: [2×2矩阵的nan] Covariance: [2×2矩阵的nan]
考虑创建部分指定的多元模型进行评估.假设理论表明状态不会持续存在。
建立了切换机制的离散马尔可夫链模型。指定一个3 × 3的矩阵南
转换矩阵的值。将矩阵的对角元素设置为,表示状态不持久0
.
P =南(3);P(逻辑(眼(3)))= 0;mc = dtmc (P);
mc
是部分指定的dtmc
对象。
创建子模型并将它们存储在向量中。
mdl1 = varm (2,0);mdl2 = varm (2, 1);mdl3 = varm (2, 2);submdl = [mdl1;mdl2;mdl3];
从切换机制中创建一个马尔可夫切换动态回归模型mc
以及特定于状态的子模型mdl
.
Mdl = msVAR (mc, submdl);Mdl.Switch.P
ans =3×30 NaN NaN 0 NaN NaN 0
估计
在估计过程中,将已知的转移矩阵对角元素作为等式约束处理。有关详细信息,请参见估计
.
一个马尔可夫转换动态回归模型单变量或多变量反应序列yt描述了该系列在结构断裂或结构变化时的动态行为。一组特定于状态的动态回归子模型描述了的动态行为yt在体制内。
地点:
年代t是一个离散马尔可夫链,表示状态之间的切换机制(开关
).
n为政体的数目(NumStates
).
是政权我动态回归模型yt(子
(我)).子模型可以是单变量(ARX)或多变量(VARX)。
xt是某个时刻观察到的外生变量的向量吗t.
θ我是政权我动态回归模型的参数集合,如AR系数和创新方差。
汉密尔顿[2]提出了一个通用模型,称为马尔科夫切换自回归(MSAR),允许切换状态的滞后值年代.汉密尔顿[3]演示了如何将一个澳门特别行政区模型转换为一个具有高维状态空间的动态回归模型,由万博1manbetxmsVAR
.
[1]肖维特,M, J. D.汉密尔顿。“确定商业周期转折点。”在商业周期的非线性分析(《经济分析贡献》第276卷).(C. Milas, P. Rothman, D. van Dijk编)。阿姆斯特丹:翡翠集团出版有限公司,2006。
[2]汉密尔顿,j . D。非平稳时间序列和商业周期的经济分析新方法费雪.1989年第57卷,第357-384页。
[3]汉密尔顿,j . D。《受政体变化影响的时间序列分析》计量经济学杂志.1990年第45卷,39-70页。
[4]汉密尔顿,詹姆斯D。时间序列分析.普林斯顿:普林斯顿大学出版社,1994。
[5]Krolzig,小时。经建会向量自回归.柏林:施普林格,1997年。
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。