主要内容

转换vgx函数以模拟对象

在R2017a中,功能varm.arma2arARMA2MA.,趋于稳定更换vgxar.vgxcount.VGXDISP.vgxget.vgxinferVGXLoglik.VGXMAvgxplotVGXPRED.VGXProc.vgxqual.VGXSet.VGXSIM,vgxvarx..如果你用的是老的vgx多变量数据分析函数在发布后的R2017b, MATLAB®一个错误的问题。本主题向您展示如何转换使用vgx函数到更新的功能。

假设这些条件:

  • 您需要使用VARX(4)模型同时建模三个响应变量。该模型包含两个预测变量的回归组件,一个常量矢量和一个线性时间趋势项。

  • 样本前响应数据为4 × 3矩阵y0.

  • 估计样本响应数据位于100×3矩阵中y

  • 外源数据在100×2矩阵中X

该表比较了基于所述条件完成常见任务的旧方法和新方法。

任务 旧功能或行为 新的功能或行为
创建VAR(4)模型模板进行估计。

mdl = vgxset(“n”3,nAR的4“不变”,真的);

mdl = varm(3,4);mdl.trend = nan(3,1);

检索模型属性,例如,创新协方差矩阵。
vgxget (Mdl'Q'的)
Mdl。协方差
集合等式约束进行估计;例如,将模型常量设置为1的向量。
mdl = vgxset(mdl,'一种'的(1),'asolve'假(3,1));
mdl.constant = sones(3,1);
适用于数据趋势的无限制模型。所有外源预测器都发生在每个响应方程中,并且不共享系数。

XK = [(1:100)'x];%包括线性趋势Xk = kron (Xk,眼(3));创建设计矩阵XK = MAT2CELL(XK,3 *(100,1),尺寸(XK,2));%包装成100 × 1细胞载体mdl.nx = size(XK {1},2);% vgxvarx必须知道数字…外生变量百分比ESTMDL = VGXVARX(MDL,Y,XK,Y0);
vgxvarx.需要设计矩阵而不是数据矩阵。线性趋势和两个外源变量在设计矩阵中产生九个柱。

estmdl =估计(mdl,y,'y0',y0,'X', X);
将模型适合数据。X (: 1)出现在所有方程中,但是X (:, 2)只出现在第一个方程中。
XK = [(1:100)'x];XK = [Kron(XK(:,1:2),眼睛(3))Kron(XK(:,3),[1; 0; 0])];XK = MAT2CELL(XK,3 *(100,1),尺寸(XK,2));ESTMDL = VGXVARX(MDL,Y,XK,Y0);
mdl.beta = nan(3,2);mdl.beta(2:3,2)= 0;estmdl =估计(mdl,y,'y0',y0,'X', X);
获得估计的回归系数。

EstMdl.b,一个9乘1的向量,其中:

  • EstMdl.b (1:3)是等式1-3的估计时间趋势。

  • EstMdl.b(6节)是外源变量的估计回归系数X (: 1)对于等式1-3。

  • estmdl.b(7:9)是外源变量的估计回归系数X (:, 2)对于等式1-3。

EstMdl。β,一个3 × 2矩阵,行对应于方程(列对应于y)和对应于外源变量的列(列X的)

显示估计的模型。
vgxdisp (EstMdl)
概述(estmdl)
在模型中获取不受限制或估计参数的数量。

[~, numactive] = vgxcount (EstMdl);
数字在创新协方差矩阵中包含估计元素。

结果=总结(estmdl);numactive =结果。numestimated parameters;
数字不包括创新协方差矩阵的估计要素。

推断出残差。
[estmdl,〜,〜,e] = Vgxvarx(MDL,Y,XK,Y0);%方法1e = vgxinfer(estmdl,y,x,y0);%方法2
[EstMdl ~ ~ E] =估计(Mdl Y'y0',y0,'X', X);E =推断(EstMdl Y'y0',y0,'X', X);
获得合适的统计数据。
logl = vgxloglik (EstMdl E);[aic,bic] = aicbic(logl,numactive - 6100)......%删除估计协方差元素的计数
logl =结果.Loglikelihie;AIC =结果。BIC =结果.BIC;
确定模型稳定性。
趋于= vgxqual (EstMdl);
ARLagOp = LagOp([{eye(3)} EstMdl.AR]);趋于=趋于稳定(ARLagOp);
在估计期间模拟1000个响应路径。
YSIM = VGXProc(ESTMDL,100,X,Y0,[],1000);
ysim =模拟(estmdl,100,'y0',y0,......'X',X,“NumPaths”,1000);
用8 × 2矩阵对模型进行8期预测XF.包含未来的外源数据。
XFK = [(101:108)'XF];XFK = Kron(XFK,Eye(3));创建设计矩阵XFk = mat2cell (XFk, 3 *(8, 1),大小(XFk, 2));YF = vgxpred (EstMdl 8 XFk Y);
YF =预测(Estmdl,8,Y,'X',XF);

之间的一些显着差异vgxvarm.功能是:

  • varm.不支持使用结构或M金宝appA组件创建模型。但是,您可以使用隐式SVARMA模型执行一些任务。看到arma2arARMA2MA.ARMAIRF.,armafevd.

  • 估计不支持对角协方差矩金宝app阵的规范进行估计。

  • varm.不允许多个方程中的相同回归系数。每个外源变量与跨等式的独特回归系数相关联。

  • 函数的varm.框架不会适应多种外源数据的路径。相反,当函数在多条响应或创新路径上运行时,该功能将相同的外部数据应用于所有路径。

也可以看看

对象

职能

相关的话题