vgx
函数以模拟对象在R2017a中,功能varm.
那arma2ar
那ARMA2MA.
,趋于稳定
更换vgxar.
那vgxcount.
那VGXDISP.
那vgxget.
那vgxinfer
那VGXLoglik.
那VGXMA
那vgxplot
那VGXPRED.
那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); |
获得估计的回归系数。 |
|
|
显示估计的模型。 |
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);
|
之间的一些显着差异vgx
和varm.
功能是: