主要内容

msVAR

建立马尔科夫转换动态回归模型

描述

msVAR函数返回一个msVAR对象的函数形式马尔可夫转换动态回归模型对于单变量或多变量反应过程yt.的msVAR对象还存储模型的参数值。

一个msVAR对象有两个关键组成部分:状态之间的切换机制,由离散时间马尔可夫链(dtmc对象);自回归(ARX)或向量自回归(VARX)模型(华宇电脑varm对象),它可以包含外生回归组件。组件完全指定了模型结构。马尔可夫链转移矩阵和子模型参数,如AR系数和创新分布方差,是未知的和可估计的,除非你指定它们的值。

要估计一个包含未知参数值的模型,将模型和数据传递给估计.用估计的或完全指定的方法工作msVAR对象,将其传递给目标函数

另外,要创建一个阈值切换动态回归模型,它有一个由阈值转换和阈值变量观察控制的切换机制,请参见阈值tsVAR

创建

描述

例子

Mdl= msVAR (mcmdl创建一个马尔可夫转换动态回归模型Mdl(一个msVAR对象),具有离散时间马尔可夫链,状态切换机制mc以及特定状态、稳定的动态回归子模型mdl

例子

Mdl= msVAR (mcmdl“SeriesNames”seriesNames)可选设置SeriesNames属性,该属性将名称关联起来seriesNames到模型的时间序列。

输入参数

全部展开

离散时间马尔可夫链的状态切换机制,指定为dtmc对象。

用转换矩阵的行和列表示的状态mc.P对应于子模型向量中表示的状态mdl

msVAR处理和储存mc开关财产。

特定于状态的动态回归子模型,指定为长度mc.NumStates由单独构造的模型对象的向量华宇电脑varm.所有子模型必须是相同的类型(华宇电脑varm)和具有相同数量的系列。

与其他模型估计工具不同,估计在估计过程中不推断子模型回归系数数组的大小。因此,必须指定β每个子模型的适当属性。例如,包含和估计单变量子模型的回归分量的三个预测因子j,设置mdl (j).β=南(3,1)

msVAR处理和储存mdl在房地产

属性

全部展开

您只能设置SeriesNames属性,当您使用名称-值参数语法或使用点表示法创建模型时。MATLAB®从输入派生所有其他属性的值mcmdl

例如,为一个2-D响应系列创建一个马尔可夫转换模型,然后标记第一个和第二个系列“国内生产总值”“CPI”,分别。

Mdl = msVAR (mc, Mdl);Mdl。SeriesNames = ["GDP" "CPI"];

此属性是只读的。

状态数,指定为正标量。

数据类型:

此属性是只读的。

时间序列的数目,指定为正整数。NumSeries指定所有子模型中响应变量和创新的维度。

数据类型:

此属性是只读的。

状态标签,指定为长度的字符串向量NumStates

数据类型:字符串

系列标签,指定为字符串向量、字符向量单元格数组或长度的数字向量numSeriesmsVAR将序列标签存储为字符串向量。

数据类型:字符串

此属性是只读的。

离散时间马尔可夫链的状态切换机制,指定为dtmc对象。

此属性是只读的。

状态特定的向量自回归子模型,指定为的向量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)模型(高斯分布)

mdl1mdl2完全指定的华宇电脑对象。

将子模型存储在一个向量中,其顺序与中的状态相对应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)模型(高斯分布)

mdl1mdl2指定的部分华宇电脑对象。-值属性对应于未知的、可估计的参数。

将子模型存储在一个向量中,其顺序与中的状态相对应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);

mdl1mdl2,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);

mdl1mdl2,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)模型包含回归量 x 1 t , VAR(1)模型包括回归量 x 1 t x 2 t , VAR(2)模型包含回归量 x 1 t x 2 t , x 3. t

建立离散时间马尔可夫链。

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

估计在估计过程中,将已知的转移矩阵对角元素作为等式约束处理。有关详细信息,请参见估计

更多关于

全部展开

参考文献

[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年。

另请参阅

|||

介绍了R2019b