主要内容

varm

创建矢量自动增加(var)模型

描述

varm函数返回A.varm对象的参数值,该对象指定函数形式并存储其参数值P.- 稳定,多变量向量自回归模型(var(P.))模型。

a的关键成分varm对象包括时间序列的数量(响应 - 变量维度)和多元自回归多项式的阶数(P.),因为它们完全指定了模型结构。其他模型组件包括一个回归组件,将相同的外生预测变量关联到每个响应序列,以及常数和时间趋势项。给出响应变量维度和P.,除非您指定它们的值,否则所有系数矩阵和创新分布参数都是未知的和估计的。

估计包含未知参数值的模型,将模型和数据传递给估计.使用估计或完全指定的工作varm模型对象,将它传递给对象功能

创建

描述

例子

MDL.= varm创建由一个响应系列组成的var(0)模型。

例子

MDL.= varm(numseriesnumlags.创建一个VAR (numlags.模型由…组成numseries响应系列。最大的非零滞后是numlags..所有滞后都有numseries-经过-numseries系数矩阵由值。

此简写语法允许简单的模型模板创建。模型模板适用于不受限制的参数估计,即没有参数平等约束的估计。创建模型后,您可以使用点表示法更改属性值。

例子

MDL.= varm(名称,价值特性或使用名称值对参数的其他选项。将每个名称括在引号中。例如,“滞后”,[1 - 4],基于“增大化现实”技术,基于“增大化现实”技术中的两个自回归系数矩阵AR.在落后14.

这种手工语法允许创建更灵活的模型。varm推断级数的个数(numseries.)和自动增加多项式程度(P.)来自您设置的属性。因此,对应于串联或自回归多项式程度的数量的属性值必须彼此一致。

输入参数

展开全部

简写语法为您提供了一种简单的方法来创建适合于不受限制的参数估计的模型模板。例如,要创建由三个响应系列组成的var(2)模型,请输入:

mdl = varm(3,2);

时间序列数m,指定为正整数。numseries指定多变量响应变量的维度yT.和创新ε.T.

numseries设置numseries.财产。

数据类型:双倍的

包含在模型中的滞后响应数,指定为非负整数。得到的模型是var(numlags.)模型。所有滞后都有numseries-经过-numseries系数矩阵由值。

数据类型:双倍的

名称值对参数

指定可选的逗号分离对名称,价值论点。的名字是参数名称和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

Longhand语法使您可以创建一些已知某些或所有系数的模​​型。在估计期间,估计对任何已知参数施加等式约束。

例子:'滞后',[4 8]指定滞后的非零自回归系数矩阵的var(8)模型4.8.

为可写的设置值特性, 用名称,价值对参数语法。例如,'常数',[1;2],'AR',{[0.1-0.2;-0.3 0.5]}持续的(1;2]AR.{[0.1 - -0.2;-0.3 0.5]}

自动增加多项式滞后,指定为逗号分隔对组成'滞后'和一个最多包含的数字矢量P.独特正整数的元素。

长度的滞后AR.必须是平等的。滞后(j是对应于系数矩阵的滞后基于“增大化现实”技术的{j}

例子:'滞后',[1 4]

数据类型:双倍的

属性

展开全部

您可以使用名称值对参数语法创建模型对象时设置可写属性值,或者使用点表示法创建模型对象后。例如,要创建由两个响应系列组成的var(1)模型,然后指定未知的时间趋势项,输入:

mdl = varm('ar',{nan(2)});mdl.trend = nan;

此属性是只读的。

时间序列数m,指定为正整数。numseries.指定多变量响应变量的维度yT.和创新ε.T.

数据类型:双倍的

此属性是只读的。

多变量自回归多项式顺序,指定为非负整数。P.为具有非零系数矩阵的最大滞后。滞后小于P.可以具有完全由零的系数矩阵。

P.指定初始化模型所需的预先检测数量。

数据类型:双倍的

模型截距(或常量),指定为anumseries.- 1号数字矢量。

例子:'常数',[1;2]

数据类型:双倍的

与滞后响应相关的自动增加系数矩阵,被指定为细胞向量numseries.-经过-numseries.数字矩阵。

指定与这些系数相对应的系数标志var模型表达差异方程式表示法。

  • 如果你设置滞后名称 - 值对参数滞后,然后适用以下条件。

    • 长度的AR.滞后是平等的。

    • 基于“增大化现实”技术的{j}是滞后系数矩阵滞后(j

    • 默认情况下,AR.是A.元素个数(滞后)-by-1细胞向量的矩阵组成值。

  • 否则,以下条件适用。

    • 长度AR.P.

    • 基于“增大化现实”技术的{j}是滞后系数矩阵j

    • 默认情况下,AR.是A.P.-by-1细胞向量的矩阵组成值。

例子:基于“增大化现实”技术,{[0.5 - -0.1;0.1 - 0.2]}

数据类型:细胞

线性时间趋势期限,指定为anumseries.- 1号数字矢量。默认值指定模型中没有线性时间趋势。

例子:“趋势”,[0.1;0.2)

数据类型:双倍的

与预测变量相关联的回归系数矩阵指定为anumseries.-经过-麻木数字矩阵。麻木是预测变量的数量,即预测器数据中的列数。

β(j,:)在响应方程中包含每个预测器的回归系数yj,T.Beta(:,K.包含预测器的每个响应方程中的回归系数XK..默认情况下,所有预测器变量都处于所有响应方程的回归分量。您可以通过将相等约束指定为0来排除某些方程的某些预测器。

例子:在一个包含3个响应和4个预测变量的模型中,为了从第三个方程中排除第二个预测变量,而不限制其他预测变量,指定[南楠楠;南楠楠楠;NaN 0 Nan NaN]

默认值指定模型中的回归系数。但是,如果使用估计模型时指定预测仪数据估计,然后用MATLAB®β到一个适当大小的矩阵值。

例子:'beta',[2 3 -1 2;0.5 -1 -6 0.1]

数据类型:双倍的

创新协方差矩阵numseries.每次创新T.= 1,…,T.,指定为anumseries.-经过-numseries.数字,正定矩阵。

例子:'协方差',眼睛(2)

数据类型:双倍的

模型描述,指定为字符串标量或字符向量。varm将值存储为字符串标量。例如,默认值描述了模型的参数形式“二维VAR(3)模式”

例子:'描述','模型1'

数据类型:字符串|char

响应系列名称,指定为anumseries.长度串向量。默认为['Y1''Y2'......'Ynumseries.']

例子:''seriesnames',{'cpi'失业'}

数据类型:字符串

笔记

- 属性中的元素表示未知,可估量的参数。指定的元素表示模型估计中的参数的平等约束。创新协方差矩阵协方差不能包含混合价值观和实数;您必须完全指定协方差或必须完全未知(南(Numseries))。

对象功能

估计 适合传染媒介自动增加(var)模型到数据
Fevd. 生成向量自动增加(var)模型预测误差方差分解(fevd)
筛选 通过向量自动增加(var)模型过滤干扰
预测 预测向量自动增加(var)模型响应
gct 传染媒介自我评价(VAR)模型的格兰杰因果关系和块的异体测试
推断 推断向量自回归模型(VAR)创新
IRF. 生成向量自动增加(var)模型脉冲响应
模拟 蒙特卡罗仿真矢量自动增加(var)模型
总结 显示估计估计向量自动增加(var)模型
vecm. 转换向量自动增加(var)模型向量纠错(VEC)模型

例子

全部收缩

创建由一个响应系列组成的零度var模型。

mdl = varm.
MDL = Varm具有属性:“1维var(0)型号”系列“:”Y“NumSeries:1 P:0常数:NaN AR:{}趋势:0β:[1×0矩阵]协方差:南

MDL.是A.varm模型对象。它包含一个响应系列,一个未知的常量和未知的创新方差。模型的属性出现在命令行中。

假设你的问题在滞后1时有一个自回归系数。要创建这样的模型,请设置自回归系数属性(AR.)到包含a的细胞使用点表示法的值。

mdl.ar = {nan}
MDL =具有属性的VARM:说明:“1维var(1)型号”系列“:”Y“NumSeries:1 P:1常数:南ar:{nan}在Lag [1]趋势:0β:[1×0矩阵]协方差:南

如果您的问题包含多个响应系列,则使用不同的响应系列varm创建模型的语法。

为消费者价格指数(CPI)和失业率创建var(4)模型。

加载DATA_USECONMODEL.数据集。为CPI声明变量(CPI.)失业率(无权) 系列。

加载DATA_USECONMODEL.cpi = DataTable.CPIAUCSL;失败= DataTable.Unrate;

使用速记语法创建默认var(4)模型。

mdl = varm(2,4)
MDL = VARM具有属性:描述:“二维var(4)型号”系列“系列:”Y1“”Y2“NumSeries:2 P:4常数:[2×1纳米矢量] AR:{2×2矩阵NANS}在滞后[1 2 3 ......和更多]趋势:[2×1零载体] BETA:[2×0矩阵]协方差:[2×2矩阵的NAN]

MDL.是A.varm模型对象。它可以作为模型估计的模板。MATLAB®认为任何值作为待估计的未知参数值。例如,持续的属性是一个2×1矢量值。因此,模型常量是要估计的活动模型参数。

通过设定一个未知的线性时间趋势期限趋势财产使用点表示法。

mdl.trend = nan.
描述:“具有线性时间趋势的二维VAR(4)模型”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 4 Constant: [2×1 vector of NaNs] AR: {2×2 matrices of NaNs} at delays[1 2 3…趋势:[2×1 vector of NaNs] Beta: [2×0 matrix]协方差:[2×2 matrix of NaNs]

Matlab扩展到适当的长度,即,一个2×1向量值。

为三个任意响应系列创建一个VAR模型。指定这个方程组中的参数值。

y 1 T. = 1 + 0. 2 y 1 T. - 1 - 0. 1 y 2 T. - 1 + 0. 5. y 3. T. - 1 + 1 5. T. + ε. 1 T. y 2 T. = 1 - 0. 4. y 1 T. - 1 + 0. 5. y 2 T. - 1 + 2 T. + ε. 2 T. y 3. T. = - 0. 1 y 1 T. - 1 + 0. 2 y 2 T. - 1 + 0. 3. y 3. T. - 1 + ε. 3. T.

假设创新是均值为0的多元高斯,协方差矩阵

σ. = [ 0. 1 0. 0. 1 0. 3. 0. 0. 1 0. 5. 0. 0. 3. 0. 1 ]

为参数值创建变量。

c = [1;1;0);Phi1 = {[0.2 -0.1 0.5;-0.4 - 0.2 0;-0.1 0.2 0.3]};δ= (1.5;2;0);Sigma = [0.1 0.01 0.3; 0.01 0.5 0; 0.3 0 1];

使用适当的名称-值对参数创建一个表示动态方程系统的VAR(1)模型对象。

mdl = varm('持续的',C,'AR',phi1,'趋势',三角洲,“协方差”,西格玛)
MDL = VARM具有属性:描述:“AR-固定式三维var(1)模型具有线性时间趋势”系列:“Y1”“Y2”“Y3”NumSeries:3 P:1常数:[1 1 0]'AR:{3×3矩阵}滞后[1]趋势:[1.5 2 0]'beta:[3×0矩阵]协方差:[3×3矩阵]

MDL.是完全指定的varm模型对象。默认情况下,varm将自回归系数属于第一个滞后。

您可以使用点符号来调整模型属性。例如,考虑另一个具有自回归系数矩阵属性的VAR模型PHI1.对于第二滞后项,指定第一滞后系数的零矩阵,并将其他所有人视为等于MDL..创建此var(2)模型。

mdl2 = mdl;phi = [零(3,3)phi1];mdl2.ar = phi.
Mdl2 = varm with properties:描述:"AR- stationary 3 dimensional VAR(2) Model with Linear Time Trend" SeriesNames: "Y1" "Y2" "Y3" NumSeries: 3 P: 2 Constant: [1 1 0]' AR: {3×3 matrix} at lag [2] Trend: [1.5 2 0]' Beta: [3×0 matrix] Covariance: [3×3 matrix]

或者,您可以使用其他模型对象varm和与此相同的语法MDL.,但要特别说明“滞后”,2

将VAR(4)模型适合消费者价格指数(CPI)和失业率数据。

加载DATA_USECONMODEL.数据集。

加载DATA_USECONMODEL.

在单独的情节上绘制两个系列。

图;绘图(DataTable.Time,DataTable.cpiaUcsl);标题('消费者价格指数');ylabel ('指数');Xlabel('日期');

图中包含一个坐标轴。标题消费者价格索引的轴包含类型线的对象。

图;情节(DataTable.Time DataTable.UNRATE);标题('失业率');ylabel (“百分比”);Xlabel('日期');

图中包含一个坐标轴。标题失业率的轴包含类型线的对象。

通过将CPI转化为一系列的增长率来稳定CPI。通过从失业率序列中删除第一个观察值来同步这两个序列。

RCPI = Price2RET(DataTable.cpiaucsl);Unverate = DataTable.unrate(2:结束);

使用速记语法创建默认var(4)模型。

mdl = varm(2,4)
MDL = VARM具有属性:描述:“二维var(4)型号”系列“系列:”Y1“”Y2“NumSeries:2 P:4常数:[2×1纳米矢量] AR:{2×2矩阵NANS}在滞后[1 2 3 ......和更多]趋势:[2×1零载体] BETA:[2×0矩阵]协方差:[2×2矩阵的NAN]

MDL.是A.varm模型对象。包含的所有属性数值对应于给定数据中要估计的参数。

使用整个数据集估算模型。

EstMdl =估计(Mdl,[rcpi unrate])
EstMdl = varm with properties:描述:"AR- stationary 2d VAR(4) Model" SeriesNames: "Y1" "Y2" NumSeries: 2 P: 4 Constant: [0.00171639 0.316255]' AR: {2×2 matrices} at delay[1 2 3…趋势:[2×1零向量]Beta: [2×0矩阵]协方差:[2×2矩阵]

EstMdl是估计的varm模型对象。它是完全指定的,因为所有参数都有已知的值。该描述表明自回归多项式是平稳的。

显示估算中的摘要统计信息。

概述(estmdl)
AR-2固定维VAR(4)模型有效样本规模:241估计的参数的数量:18对数似然:811.361 AIC:-1586.72 BIC:-1524值StandardError的TStatistic p值___________ _____________ __________ __________常数(1)0.0017164 0.0015988 1.0735 0.28303恒(2)0.31626 0.091961 3.439 0.0005838 AR {1}(1,1)0.30899 0.063356 4.877 1.0772E-06 AR {1}(2,1)-4.4834 3.6441 -1.2303 0.21857 AR {1}(1,2)-0.0031796 0.0011306-2.8122 0.004921 AR {1}(2,2)1.3433 0.065032 20.656 8.546E-95 AR {2}(1,1)0.22433 0.069631 3.2217 0.0012741 AR {2}(2,1)7.1896 4.005 1.7951 0.072631 AR {2}(1那2)0.。0.0.123.75 0.0018631 0.6642 0.50656 AR{2}(2,2) -0.26817 0.10716 -2.5025 0.012331 AR{3}(1,1) 0.35333 0.068287 5.1742 2.2887e-07 AR{3}(2,1) 1.487 3.9277 0.37858 0.705 AR{3}(1,2) 0.0028594 0.0018621 1.5355 0.12465 AR{3}(2,2) -0.22709 0.1071 -2.1202 0.033986 AR{4}(1,1) -0.047563 0.069026 -0.68906 0.49079 AR{4}(2,1) 8.6379 3.9702 2.1757 0.029579 AR{4}(1,2) -0.00096323 0.0011142 -0.86448 0.38733 AR{4}(2,2) 0.076725 0.064088 1.1972 0.23123 Innovations Covariance Matrix: 0.0000 -0.0002 -0.0002 0.1167 Innovations Correlation Matrix: 1.0000 -0.0925 -0.0925 1.0000

下面是这个例子估计VAR模型(4)

为CPI增长率和失业率创建并估计一个VAR(4)模型。将最后10个时期作为预测期。

加载DATA_USECONMODEL.cpi = DataTable.CPIAUCSL;失败= DataTable.Unrate;RCPI = Price2ret(CPI);Unverate = Unverate(2:结束);Y = [RCPI UNVATE];mdl = varm(2,4);Estmdl =估计(MDL,Y(1:(终止10),:));

预测使用估计的模型和样本数据作为预先观察的10个响应。

yf =预测(Estmdl,10,Y(1:(结束-10),:));

将该系列的一部分与其预测值绘制在单独的图中。

图;绘图(DataTable.Time(结束 -  50:结束),RCPI(最终 -  50:结束));抓住情节(数据表。T.ime((end - 9):end),YF(:,1)) h = gca; fill(DataTable.Time([end - 9 end end end - 9]),h.YLim([1,1,2,2]),'K'...“FaceAlpha”,0.1,'Edgecolor''没有任何');传奇('真正的CPI增长率''预测CPI增长率'...'地点''nw') 标题(《一九四七年至二零零九年季度CPI增长率》);ylabel ('CPI增长率');Xlabel('年');抓住离开

图中包含一个坐标轴。标题季度CPI增长率的轴:1947  -  2009年包含3个类型的类型,补丁。这些对象代表了真正的CPI增长率,预测CPI增长率。

图;情节(数据表。T.ime(end - 50:end),unrate(end - 50:end)); hold绘图(DataTable.Time((结束 -  9):结束),YF(:,2))H = GCA;填充(DataTable.Time([结束 -  9结束 -  9]),H.YLIM([1,1,2,2]),'K'...“FaceAlpha”,0.1,'Edgecolor''没有任何');传奇('真正的失业率''预测失业率'...'地点''nw') 标题(“季度失业率:1947 - 2009”);ylabel ('失业率');Xlabel('年');抓住离开

图中包含一个坐标轴。标题为季度失业率:1947 - 2009的轴包含3个对象的类型线,补丁。这些指标分别代表真实失业率、预测失业率。

更多关于

展开全部

在R2017A介绍