主要内容

估计

适合经建会动态回归模型数据

自从R2019b

描述

例子

EstMdl=估计(Mdl,Mdl0,Y)经建会动态回归模型的参数估计Mdl估计适合的模型响应数据Y,初始化治疗的参数值的估计过程完全指定经建会动态回归模型Mdl0作为初始值。估计使用一个版本的采用所描述的汉密尔顿(EM)算法[3]

例子

EstMdl=估计(Mdl,Mdl0,Y,名称,值)使用附加选项指定一个或多个名称参数。例如,“IterationPlot”,真的显示一个loglikelihood的情节和迭代步骤,算法终止后。

例子

(EstMdl,党卫军,logL)=估计(___)也回报预期概率平滑状态党卫军和估计loglikelihoodlogL算法终止时,使用任何输入参数组合在前面的语法。

(EstMdl,党卫军,logL)=估计(斧头,___)情节在指定的轴斧头而不是当前轴(gca)。的选项斧头可以先于任何输入参数组合的以前的语法。

(EstMdl,党卫军,logL,h)=估计(斧头,___)还返回情节处理h使用h修改属性的情节在您创建它。

例子

全部折叠

考虑两国经建会动态回归模型战后美国实际GDP增长率的估计[1]

创建部分指定模型估计

创建一个天真经建会动态回归模型估计通过指定两个离散时间马尔可夫链与未知的转移矩阵和基于“增大化现实”技术(0)政权(仅常数)的子。标签的政权。

P =南(2);mc = dtmc (P,“StateNames”,(“扩张”“衰退”]);mdl = arima (0, 0, 0);Mdl = msVAR (mc, [Mdl;mdl));

Mdl是一个部分指定msVAR对象。价值的元素开关属性显示有价值的参数。

创建完全指定模型包含初始值

估计过程需要对所有有价值的参数初始值。创建一个完全指定经建会动态回归模型具有相同的结构Mdl,但所有有价值的参数设置为初始值。这个示例使用任意的初始值。

P0 = 0.5 * 1 (2);mc0 = dtmc (P0,“StateNames”,Mdl.StateNames);mdl01 = arima (“不变”,1“方差”1);mdl02 = arima (“不变”,1“方差”1);Mdl0 = msVAR (mc0 [mdl01;mdl02]);

Mdl0是一个完全指定的msVAR对象。

加载和数据预处理

载入美国GDP数据集。

负载Data_GDP

数据包含我们的季度测量实际GDP在1947 q1 - 2005: Q2。评估的时期[1]1947:- 2004:沿。更详细的数据集,输入描述在命令行中。

转换数据折合成年率的系列:

  1. 将数据转换为一个季度评估期内。

  2. 按年计算季度利率。

qrate = diff(数据(2:230)。/数据(2:229);季度率%arate = 100 * ((1 + qrate)。^ 4 - 1);%折合成年率

估计模型

合适的模型Mdl折合成年率系列arate。指定Mdl0模型包含初始可估计的参数值。

EstMdl =估计(Mdl Mdl0 arate);

EstMdl是一个估计(完全指定)经建会动态回归模型。EstMdl.Switch估计是离散时间马尔可夫链模型(dtmc对象),EstMdl.Submodels是一个向量的估计单变量VAR(0)模型(varm对象)。

针对各州具体情况显示估计的动态模型。

EstMdlExp = EstMdl.Submodels (1)
EstMdlExp = varm属性:描述:“维VAR(0)模式”SeriesNames:“日元”NumSeries: 1 P: 0常数:4.90146基于“增大化现实”技术:{}趋势:0β:协方差(1×0矩阵):12.087
EstMdlRec = EstMdl.Submodels (2)
EstMdlRec = varm属性:描述:“维VAR(0)模式”SeriesNames:“日元”NumSeries: 1 P: 0常数:0.0084884基于“增大化现实”技术:{}趋势:0β:协方差(1×0矩阵):12.6876

显示估计的状态转移矩阵。

EstP = EstMdl.Switch.P
EstP =2×20.9088 0.0912 0.2303 0.7697

显示一个包含参数估计和推断评估总结。

总结(EstMdl)
描述维msVAR开关估计转移矩阵模型2的子:0.909 0.091 0.230 0.770适合有效的样本大小:228数量的估计参数:2的约束参数:0 LogLikelihood: -639.496 AIC: 1282.992 BIC: 1289.851的子估计StandardError TStatistic PValue _____ _________________ __________ ___________状态1常数(1)4.9015 0.23023 21.289 1.4301 e - 100状态2常数(1)0.0084884 0.2359 0.035983 0.9713

考虑的模型和数据估计经建会动态回归模型

创建指定的部分模型进行估计。

P =南(2);mc = dtmc (P,“StateNames”,(“扩张”“衰退”]);mdl = arima (0, 0, 0);Mdl = msVAR (mc, [Mdl;mdl));

创建指定的完全模型包含初始参数值估计过程。

P0 = 0.5 * 1 (2);mc0 = dtmc (P0,“StateNames”,Mdl.StateNames);mdl01 = arima (“不变”,1“方差”1);mdl02 = arima (“不变”,1“方差”1);Mdl0 = msVAR (mc0 [mdl01;mdl02]);

加载和数据进行预处理。

负载Data_GDPqrate = diff(数据(2:230)。/数据(2:229);arate = 100 * ((1 + qrate)。^ 4 - 1);

适合的模型数据。情节loglikelihood与在估计过程终止时的迭代步骤。

EstMdl =估计(Mdl Mdl0 arate,“IterationPlot”,真正的);

图包含一个坐标轴对象。坐标轴对象与标题采用算法,包含迭代,ylabel对数似包含一个类型的对象。

评估估计精度使用模拟数据从一个已知的数据生成过程(文章)。这个示例使用任意的参数值。

创建模型的文章

创建一个完全指定,两国离散时间马尔可夫链模型切换机制。

P = [0.7 - 0.3;0.1 - 0.9);mc = dtmc (P);

对于每个国家,创建一个完全指定的AR(1)模型的响应过程。

%的常量C1 = 5;C2 = 2;%自回归系数AR1 = 0.4;AR2 = 0.2;%方差V1 = 4;V2 = 2;% AR的子dgp1 = arima (“不变”C1,基于“增大化现实”技术的AR1,“方差”V1);dgp2 = arima (“不变”C2,基于“增大化现实”技术的AR2,“方差”V2);

创建一个完全指定经建会动态回归模型的文章。

文章= msVAR (mc, [dgp1 dgp2]);

文章还从模拟反应路径

生成随机响应路径长度1000的文章。

rng (1);%的再现性N = 10;n = 1000;Data =模拟(文章,n,“Numpaths”N);

数据是一个1000 -,- 10矩阵模拟响应。

创建模型估计

创建一个部分指定经建会动态回归模型具有相同结构的数据生成过程,但指定一个未知的转移矩阵和未知的子模型系数。

害虫=南(2);mc = dtmc(害虫);mdl = arima (1,0,0);Mdl = msVAR (mc, [Mdl;mdl));

创建模型包含初始值

创建一个完全指定经建会动态回归模型具有相同的结构Mdl,但所有有价值的参数设置为初始值。

P0 = 0.5 * 1 (2);mc0 = dtmc (P0);mdl01 = arima (“不变”,1基于“增大化现实”技术的,0.5,“方差”2);mdl02 = arima (“不变”,1基于“增大化现实”技术的,0.5,“方差”1);Mdl0 = msVAR (mc0 [mdl01 mdl02]);

估计模型

适合每个模拟路径的模型。对于每一个路径,绘制loglikelihood EM算法的每次迭代。

c1 = 0 (N, 1);c2 = 0 (N, 1);v1 = 0 (N, 1);v2 = 0 (N, 1);ar1 = 0 (N, 1);ar2 = 0 (N, 1);PStack = 0 (2 2 N);图保存i = 1: N EstModel =估计(Mdl、Mdl0、数据(:,我)“IterationPlot”,真正的);c1 (i) = EstModel.Submodels .Constant (1);c2 (i) = EstModel.Submodels (2) .Constant;v1 (i) = EstModel.Submodels .Covariance (1);v2 (i) = EstModel.Submodels (2) .Covariance;ar1 (i) = EstModel.Submodels (1) .AR {1};ar2 (i) = EstModel.Submodels (2) .AR {1};PStack (:,:, i) = EstModel.Switch.P;结束持有

图包含一个坐标轴对象。坐标轴对象与标题采用算法,包含迭代,ylabel对数似包含10线类型的对象。

评估的准确性

计算的蒙特卡罗意味着每个估计参数。

c1Mean =意味着(c1);c2Mean =意味着(c2);v1Mean =意味着(v1);v2Mean =意味着(v2);ar1Mean =意味着(ar1);ar2Mean =意味着(ar2);PMean =意味着(PStack, 3);

比较人口参数对应的蒙特卡罗估计。

DGPvsEstimate = [C1 c1Mean C2 c2Mean V1 v1Mean V2 v2Mean AR1 ar1Mean AR2 ar2Mean]
DGPvsEstimate =6×25.0000 5.0260 -2.0000 -1.9615 4.0000 3.9710 2.0000 1.9903 0.4000 0.4061 0.2000 0.2017
P
P =2×20.7000 0.3000 0.1000 0.9000
PEstimate = PMean
PEstimate =2×20.7065 0.2935 0.1023 0.8977

考虑到数据估计经建会动态回归模型感兴趣的,但假设时期是1960:q1 - 2004: Q2。同时,可以考虑添加一个自回归项每个子模型。

创建一个部分指定经建会动态回归模型的估计。指定AR(1)的子。

P =南(2);mc = dtmc (P,“StateNames”,(“扩张”“衰退”]);mdl = arima (1,0,0);Mdl = msVAR (mc, [Mdl;mdl));

因为子AR(1),每个需要一个presample观察初始化其估计的动态组件。

创建包含初始参数值的模型估计过程。

P0 = 0.5 * 1 (2);mc0 = dtmc (P0,“StateNames”,Mdl.StateNames);mdl01 = arima (“不变”,1“方差”,1基于“增大化现实”技术的,0.001);mdl02 = arima (“不变”,1“方差”,1基于“增大化现实”技术的,0.001);Mdl0 = msVAR (mc0 [mdl01;mdl02]);

加载数据。把整个设置为一个折合成年率系列。

负载Data_GDPqrate = diff(数据)。/数据(1:结束(- 1));arate = 100 * ((1 + qrate)。^ 4 - 1);

识别presample并估计样本时期使用的日期与折合成年率系列。因为转换适用于第一个区别,必须从原样品第一次观察到的日期。

日期= datetime(日期(2:结束),“ConvertFrom”,“datenum”,“格式”,“yyyy QQQ”,“场所”,“en_US”);estPrd = datetime ([“1960:第二季”“2004:第二季”),“InputFormat”,“yyyy QQQ”,“格式”,“yyyy QQQ”,“场所”,“en_US”);idx = isbetween(日期、estPrd (1) estPrd (2));idxPre =日期< estPrd (1);% presample前一个季度。

适合的模型估计样本数据。指定loglikelihood presample观察和情节在每个迭代估计过程终止。

EstMdl =估计(Mdl、Mdl0 arate (idx),“Y0”arate (idxPre),“IterationPlot”,真正的);

图包含一个坐标轴对象。坐标轴对象与标题采用算法,包含迭代,ylabel对数似包含一个类型的对象。

考虑的模型和数据估计经建会动态回归模型

创建指定的部分模型进行估计。

P =南(2);mc = dtmc (P,“StateNames”,(“扩张”“衰退”]);mdl = arima (0, 0, 0);Mdl = msVAR (mc, [Mdl;mdl));

创建指定的完全模型包含初始参数值估计过程。

P0 = 0.5 * 1 (2);mc0 = dtmc (P0,“StateNames”,Mdl.StateNames);mdl01 = arima (“不变”,1“方差”1);mdl02 = arima (“不变”,1“方差”1);Mdl0 = msVAR (mc0 [mdl01;mdl02]);

加载和数据进行预处理。

负载Data_GDPqrate = diff(数据(2:230)。/数据(2:229);arate = 100 * ((1 + qrate)。^ 4 - 1);

适合的模型数据。返回预期的平滑状态概率和loglikelihood算法终止。

[EstMdl, SS, logL] =估计(Mdl, Mdl0 arate);

党卫军预计228 - 2矩阵的平滑状态概率;行对应时间的估计样本,列对应于政权。logL是最后的loglikelihood。

显示预期的平滑状态概率估计样本最后一段,并显示最后loglikelihood。

党卫军(最终,:)
ans =1×20.8985 - 0.1015
logL
logL = -639.4962

适合模拟数据与VARX经建会动态回归模型的子。为评估指定等式约束。这个示例使用任意的参数值。

创建模型的文章

创建一个完全指定,三态离散时间马尔可夫链模型切换机制。

P = [0.8 0.1 0.1;0.2 0.6 0.2;0 0.1 - 0.9);mc = dtmc (P);

对于每个国家,创建一个完全指定VARX(1)模型的响应过程。指定相同的模型常数和滞后1对所有子AR系数矩阵。对于每个模式,指定一个不同的2×1一个外生变量的回归系数。

%的常量C = (1, 1);%自回归系数基于“增大化现实”技术= {[0.6 - 0.1;0.4 - 0.2]};%回归系数Beta1 = [0.2, -0.4];Beta2 = [0.6, -1.0];Beta3 = [0.9, -1.3];% VAR的子文章= varm (“不变”C基于“增大化现实”技术的基于“增大化现实”技术,协方差的5 *眼(2));dgp1 =文章;dgp1。β= Beta1; dgp2 = dgp; dgp2.Beta = Beta2; dgp3 = dgp; dgp3.Beta = Beta3;

创建一个完全指定经建会动态回归模型的文章。

文章= msVAR (mc, [dgp1;dgp2;dgp3]);

模拟数据的文章

模拟数据外生系列通过生成1000高斯分布的观测平均值为0和方差100。

rng (1);%的再现性X = 10 * randn (1000 1);

生成一个随机响应路径长度为1000的文章。指定子模型回归模拟外生数据组件。

Data =模拟(文章,1000,“X”,X);

数据1000 - 1的向量的模拟响应。

创建模型估计

创建一个部分指定经建会动态回归模型具有相同结构的数据生成过程,但指定一个未知的转移矩阵和未知的回归系数。指定的真实值常量和AR系数矩阵。

害虫=南(3);mc = dtmc(害虫);mdl = varm (2, 1);mdl。常数= C;mdl。基于“增大化现实”技术=基于“增大化现实”技术;mdl。β= NaN(2,1); Mdl = msVAR(mcEst,[mdl; mdl; mdl]);

因为常量的值和AR系数矩阵中指定Mdl,估计把他们作为估计的等式约束。

创建模型包含初始值

创建一个完全指定经建会动态回归模型具有相同的结构Mdl,但设置所有有价值的参数初始值和设置参数与等式约束中指定它们的值Mdl

P0 = (1/3) * 1 (3);mc0 = dtmc (P0);mdl0 = varm (“不变”C基于“增大化现实”技术的基于“增大化现实”技术,协方差的、眼(2));mdl01 = mdl0;mdl01。β= [0.1;-0.1]; mdl02 = mdl0; mdl02.Beta = [0.5;-0.5]; mdl03 = mdl0; mdl03.Beta = [1;-1]; Mdl0 = msVAR(mc0,[mdl01; mdl02; mdl03]);

估计模型

符合模型的模拟数据。指定的外生数据回归组件。情节loglikelihood EM算法的每次迭代。

图EstMdl =估计(Mdl Mdl0,数据,“X”,X,“IterationPlot”,真正的);

图包含一个坐标轴对象。坐标轴对象与标题采用算法,包含迭代,ylabel对数似包含一个类型的对象。

评估的准确性

比较估计回归系数向量和矩阵转换到自己的真实值。

Beta1
Beta1 =2×10.2000 - -0.4000
Beta1Estimate = EstMdl.Submodels(1)度量
Beta1Estimate =2×10.1596 - -0.4040
Beta2
Beta2 =2×10.6000 - -1.0000
Beta2Estimate = EstMdl.Submodels(2)度量
Beta2Estimate =2×10.5888 - -0.9771
Beta3
Beta3 =2×10.9000 - -1.3000
Beta3Estimate = EstMdl.Submodels(3)度量
Beta3Estimate =2×10.8987 - -1.2991
P
P =3×30.1000 - 0.9000 0.8000 0.1000 0.1000 0.2000 0.6000 0.2000 0
PEstimate = EstMdl.Switch.P
PEstimate =3×30.7787 0.0856 0.1357 0.1366 0.6906 0.1727 0.0086 0.0787 0.9127

输入参数

全部折叠

部分指定经建会动态回归模型用于指示约束和有价值的模型参数,指定为一个msVAR模型对象返回的msVAR。的属性Mdl描述了模型结构和指定参数。

估计在评估对指定参数作为等式约束。

估计适合不明(价值)参数数据Y

完全指定经建会动态回归模型用于初始化估计过程,指定为一个msVAR模型对象返回的msVAR。属性指定的一个完整的模型对象不包含值。

Mdl0是一份Mdl值初始值所取代。

提示

广泛覆盖的参数空间,算法从多个实例运行Mdl0。更多细节,请参阅算法

观察到的响应数据估计适合的模型,指定为一个numObs——- - - - - -numSeries数字矩阵。

numObs是样本容量。numSeries响应变量的数量(Mdl.NumSeries)。

行对应于观测,最后一行包含最新的观测。列对应单个响应变量。

Y代表presample响应系列的延续Y0

数据类型:

轴的情节loglikelihood每次迭代时“IterationPlot”名称-值参数是真正的指定为一个对象。

默认情况下,估计阴谋,当前轴(gca)。

如果“IterationPlot”,估计忽略了斧头

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:Y0, Y0, X, X, IterationPlot,真的使用矩阵Y0presample反应所需的估计,在每个子模型包括线性回归组件组成的预测数据X和指定的回归系数,情节loglikelihood每个迭代。

Presample响应数据,指定为逗号分隔组成的“Y0”和一个numPreSampleObs——- - - - - -numSeries数字矩阵。

presample观测的数量numPreSampleObs必须足够的初始化的基于“增大化现实”技术条款所有的子。如果numPreSampleObs超过任何国家的基于“增大化现实”技术的顺序,估计使用最新的观测。默认情况下,Y0是初始段的Y,这减少了有效的样本大小。

数据类型:

初始状态概率,指定为逗号分隔组成的“S0”和一个非负数字向量的长度numStates

估计规范化S0产生一个分布。

默认情况下,S0是一个稳态分布计算渐近

估计更新S0在每个迭代中使用预期的初始分布的平滑概率。

例子:“S0”, 0.2 0.2 0.6

例子:“S0”, [0 1]指定状态2为初始状态。

数据类型:

预测数据用来评估回归的所有的子组件Mdl,指定为逗号分隔两人组成的“X”细胞和一个数字矩阵或向量的数值矩阵。

使用相同的一个子集预测在每个州,指定X作为一个矩阵numPreds列,至少numObs行。列对应不同的预测变量。子用关联矩阵的列,在秩序,子模型预测的数量。列的数量β的属性Mdl.SubModels (j)确定的外生变量回归组件的子模型j。如果超过的行数numObs,然后估计使用最新的观测。

使用不同的预测在每个州,指定一个细胞这样的矩阵和向量numStates

默认情况下,估计忽略了回归组件Mdl

数据类型:

收敛宽容,指定为逗号分隔组成的“宽容”和积极的数字标量。

EM算法迭代的loglikelihood后终止logL改变不到宽容

例子:“宽容”,1 e-6

数据类型:

最大的EM算法的迭代次数,指定为逗号分隔组成的“MaxIterations”和一个正整数。

例子:“MaxIterations”, 1000年

数据类型:

国旗为策划loglikelihood在每个迭代中,指定为逗号分隔组成的“IterationPlot”在这个表和一个值。

价值 描述
真正的 算法终止时,估计显示一个阴谋的loglikelihood在每个迭代步骤。
估计没有显示一个阴谋。

例子:“IterationPlot”,真的

数据类型:逻辑

输出参数

全部折叠

估计经建会动态回归模型,作为一个返回msVAR对象。EstMdl是一份Mdl值替换参数估计。EstMdl完全指定。

请注意

行归一化可以改变指定值转移矩阵的输入模型Mdl.Switch.P

预计平滑状态概率算法终止时,作为一个返回numObs——- - - - - -numStates数字矩阵。

估计loglikelihood的响应数据Y对估计模型EstMdl算法终止时,作为数字返回标量。

迭代的情节处理,作为一个图形对象返回IterationPlot真正的

h包含一个独特的情节标识符,可以使用查询或修改属性的阴谋。

提示

  • [4]汉密尔顿警告说:“尽管研究人员可能会使用最普遍的规范,所有的参数变化在大量的政权……在实践中这通常要求数据可以提供以上。”Hamilton recommends model parsimony and selective estimation, to "limit the focus to a few of the most important parameters that are likely to change."

  • 较低的数据生成过程的差异会导致困难状态推理和随后的参数估计。在这种情况下,考虑扩展数据。方差尺度是抛物线。

算法

  • 估计实现了一个版本的EM算法中描述[2],[3],[4]。给定一个初始模型参数的估计Mdl0,估计迭代过程直到收敛:

    1. 期望的步骤,估计适用于光滑的数据获取的潜伏状态概率推断每个时间步和loglikelihood估计总体数据。

    2. 最大化的一步,估计使用预期的平滑概率从期望步骤之前体重数据更新在每个子模型参数估计。

  • 表面可能性的混合密度转换模型可以包含局部极大值和奇异性[2]。如果是这样的话,最大的本地最大的非零模型方差是最大似然估计(标定)。如果Mdl0是在附近的大中型企业,估计通常是收敛的,但这并不能保证收敛。

  • 估计处理两种类型的约束:

    • 约束子模型参数,估计对象的函数varm对象在每个最大化步骤执行

    • 限制过渡概率,估计执行,将转移矩阵的最大估计投射在每一次迭代后的约束参数空间

    约束子模型创新方差和协方差是不支持的。万博1manbetx估计计算创新协方差估计后,不管他们的价值观。

引用

[1]萧韦,M。,J. D. Hamilton. "Dating Business Cycle Turning Points." In商业周期的非线性分析(276年对经济分析的贡献,体积)。(c .米拉·罗斯曼和d·冯·eds)。阿姆斯特丹:翡翠集团出版有限公司,2006年。

[2]汉密尔顿,j . D。“分析的时间序列的变化机制。”计量经济学杂志。45卷,1990年,页39 - 70。

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

[4]汉密尔顿,j . D。“宏观经济制度和政权的转变。”在手册的宏观经济学。(h . Uhlig和j·泰勒、eds)。阿姆斯特丹:爱思唯尔出版社,2016年。

[5]科尔,E。“政权转换模型:股票市场指数的一个例子。”Rotterdam, NL: Econometric Institute, Erasmus School of Economics, 2010.

版本历史

介绍了R2019b

另请参阅

对象

功能