主要内容

varm.

创建向量自回归(VAR)模型

描述

varm.函数返回一个varm.指定功能形式并存储A的参数值的对象p秩序,静止不动的,多元的矢量自动增加模型(VAR (p)) 模型。

a的关键组成部分varm.对象包括时间序列数(反应变量维数)和多变量自回归多项式的顺序(p)因为它们完全指定了模型结构。其他模型组件包括回归分量,以将相同的外源预测变量与每个响应系列相关联,以及常数和时间趋势术语。鉴于响应变量维度和p,所有系数矩阵和创新分布参数都是未知的和可估计的,除非你指定它们的值。

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

创建

描述

例子

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

例子

Mdl= varm (numseries.numlags创造一个var(numlags)模型组成numseries.反应级数。最大的非零延迟是numlags.所有的滞后numseries.——- - - - - -numseries.系数矩阵由值。

这种简写语法允许轻松创建模型模板。该模型模板适用于无约束参数估计,即无参数相等约束的估计。创建模型后,可以使用点表示法更改属性值。

例子

Mdl= varm (名称,值属性或使用名称-值对参数的其他选项。把每个名字用引号括起来。例如,'滞后',[1 4],'AR',AR指定两个自回归系数矩阵基于“增大化现实”技术在滞后14

此冗长语法允许创建更灵活的模型。varm.Infers系列数量(NumSeries)和自回归多项式次数(P)从您设置的属性中获取。因此,与级数数或自回归多项式次数对应的性质值必须彼此一致。

输入参数

全部展开

速记语法提供了一种简单的方法,可以创建适合于不受限制参数估计的模型模板。例如,要创建一个由三个响应序列组成的VAR(2)模型,输入:

Mdl = varm (3,2);

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

numseries.设置NumSeries财产。

数据类型:

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

数据类型:

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。姓名参数名和价值为对应值。姓名必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

手工语法使您能够创建一些或所有系数已知的模型。在评估期间,估计对任何已知参数施加平等约束。

例子:8“滞后”,[4]指定具有滞后非零自回归系数矩阵的VAR(8)模型48

设置可写的值属性,使用名称,值对参数的语法。例如,“常数”,[1;2],基于“增大化现实”技术,{[0.1 - -0.2;-0.3 - 0.5]}常数[1;2]基于“增大化现实”技术{[0.1-0.2;-0.3 - 0.5]}

自回归多项式滞后,指定为逗号分隔对,由“滞后”和最多包含一个数字向量P唯一正整数的元素。

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

例子:“滞后”,[1 - 4]

数据类型:

特性

全部展开

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

Mdl = varm (AR,{南(2)});Mdl。Trend = NaN;

此属性是只读的。

时间序列数量,指定为正整数。NumSeries指定多元响应变量的维度yt和创新εt

数据类型:

此属性是只读的。

多元自回归多项式阶数,指定为非负整数。P是具有非零系数矩阵的最大滞后。滞后不到P可以有完全由零组成的系数矩阵。

P指定初始化模型所需的预样本观察数。

数据类型:

模型拦截(或常量),指定为NumSeries1数字向量。

例子:“常数”,[1;2]

数据类型:

与滞后反应相关的自回归系数矩阵,指定为细胞载体NumSeries——- - - - - -NumSeries数字矩阵。

指定与这些系数对应的系数符号VAR模型用差分方程符号表示的。

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

    • 的长度基于“增大化现实”技术滞后是相等的。

    • {j滞后系数矩阵是多少滞后(j

    • 默认情况下,基于“增大化现实”技术是A.numel(滞后)- 1个矩阵的细胞向量组成值。

  • 否则,需要满足以下条件。

    • 的长度基于“增大化现实”技术P

    • {j滞后系数矩阵是多少j

    • 默认情况下,基于“增大化现实”技术是A.P- 1个矩阵的细胞向量组成值。

例子:'AR',{[0.5 -0.1;0.1 0.2]}

数据类型:细胞

线性时间趋势项,指定为aNumSeries1数字向量。默认值指定模型中没有线性时间趋势。

例子:'趋势',[0.1;0.2]

数据类型:

与预测变量相关的回归系数矩阵,指定为NumSeries——- - - - - -NumPreds数字矩阵。NumPreds为预测变量的个数,即预测数据中的列数。

Beta(j:)包含响应方程中每个预测器的回归系数yjtβ(:,k包含预测器各响应方程的回归系数xk.默认情况下,所有预测变量都在所有响应方程的回归组件中。通过将等式约束指定为0,可以从某些方程中排除某些预测因子。

例子:在包括3个响应和4个预测变量的模型中,从第三方程排除第二个预测器并使其他人不受限制,指定[南南南;南南南;NaN 0 NaN]

默认值指定模型中没有回归系数。然而,如果您指定预测数据时,您使用估计,然后matlab.®bet适当大小的矩阵值。

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

数据类型:

创新的协方差矩阵NumSeries每次都有创新t= 1,......,T,指定为NumSeries——- - - - - -NumSeries数值的正定矩阵。

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

数据类型:

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

例子:“描述”、“模式1”

数据类型:细绳|字符

响应系列名称,指定为NumSeries字符串长度的向量。默认值是(“日元”“Y2”……“YNumSeries']

例子:SeriesNames, {CPI的‘失业’}

数据类型:细绳

请注意

属性中的-值元素表示未知的、可估计的参数。指定的元素表示模型估计中参数的相等约束。创新协方差矩阵协方差不能包含混合的值和实数;您必须完全指定协方差,否则它必须是完全未知的(南(NumSeries)).

对象的功能

估计 拟合向量自回归(VAR)模型到数据
fevd 生成向量自回归模型预测误差方差分解(FEVD)
过滤器 利用向量自回归(VAR)模型对干扰进行滤波
预报 预测向量自回归(VAR)模型响应
gct 向量自回归(VAR)模型的格兰杰因果关系和块外生性检验
推断出 推断向量自动增加模型(var)创新
irf 生成向量自回归(VAR)模型的脉冲响应
模拟 向量自回归(VAR)模型的蒙特卡罗模拟
总结 展示向量自回归(VAR)模型的估计结果
结果 将矢量自回归(VAR)模型转换为矢量误差修正(VEC)模型

例子

全部折叠

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

Mdl = varm
Mdl = VAR与属性:描述:“一维VAR(0)模型”SeriesNames:“Y”NumSeries: 1 P: 0 Constant: NaN AR:{}趋势:0 Beta: [1×0 matrix]协方差:NaN

Mdl是A.varm.模型对象。它包含一个响应序列,一个未知的常数和一个未知的创新方差。模型的属性显示在命令行。

假设您的问题在LAG 1.以滞后1.创建此类模型,请设置自动增加系数属性(基于“增大化现实”技术)的单元格值使用点表示法。

Mdl。基于“增大化现实”技术={NaN}
描述:“一维VAR(1)模型”SeriesNames:“Y”NumSeries: 1 P: 1 Constant: NaN AR: {NaN} at lag [1] Trend: 0 Beta: [1×0 matrix] Covariance: NaN

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

建立消费者价格指数(CPI)和失业率的VAR(4)模型。

加载Data_USEconModel数据集。声明CPI的变量(消费者价格指数)及失业率(UNRATE)系列。

负载Data_USEconModelcpi = DataTable.CPIAUCSL;unrate = DataTable.UNRATE;

使用简写语法创建默认VAR(4)模型。

Mdl = varm(2、4)
描述:“2维VAR(4)模型”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 4 Constant: [2×1 vector of NaNs] AR: {2×2 matrices of NaNs} at时滞[1 2 3…趋势:[2×1零向量]Beta: [2×0矩阵]协方差:[2×2矩阵的nan]

Mdl是A.varm.模型对象。它用作模型估计的模板。MATLAB®考虑任何内容值作为未知参数值要估计。例如,常数属性是一个2×1矢量值。因此,模型常数是待估计的主动模型参数。

包括未知的线性时间趋势项,通过设置趋势财产使用点符号。

Mdl。Trend = NaN
MDL = VARM具有属性:描述:“二维VAR(4)模型,带线性时间趋势”系列:“Y1”“Y2”NUMSERIES:2 P:4常数:[2×1载体的NANS] AR:{2×2矩阵的NANS}在滞后[1 2 3 ......和更多]趋势:[2×1载体的NANS] BETA:[2×0矩阵]协方差:[2×2矩阵]

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]};delta = [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基于“增大化现实”技术的Phi1,“趋势”三角洲,协方差的,西格玛)
描述:"AR- stationary 3 dimensional VAR(1) Model with Linear Time Trend" SeriesNames: "Y1" "Y2" "Y3" NumSeries: 3 P: 1 Constant: [1 1 0]' AR: {3×3 matrix} at lag [1] Trend: [1.5 2 0]' Beta: [3×0 matrix] Covariance: [3×3 matrix]

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

您可以使用点表示法调整模型属性。例如,考虑另一个属于自回归系数矩阵的var模型Phi1对于第二个滞后项,为第一个滞后系数指定一个零的矩阵,并将所有其他都视为相等Mdl.创建这个VAR(2)模型。

Mdl2 = Mdl;= [zeros(3,3) Phi1];Mdl2。基于“增大化现实”技术=Phi
MDL2 = VARM具有属性:描述:“AR-固定式三维VAR(2)模型具有线性时间趋势”系列型号:“Y1”“Y2”“Y3”NumSeries:3 P:2常数:[1 1 0]'AR:{3×3矩阵}在LAG [2]趋势:[1.5 2 0]'BETA:[3×0矩阵]协方差:[3×3矩阵]

或者,您可以使用varm.语法和for一样Mdl,但另外指定'滞后',2

拟合一个VAR(4)模型到消费者价格指数(CPI)和失业率数据。

加载Data_USEconModel数据集。

负载Data_USEconModel

在不同的地块上绘制这两个系列。

图;情节(DataTable.Time DataTable.CPIAUCSL);标题(“消费者价格指数”);ylabel(“指数”);包含(“日期”);

图中包含一个坐标轴。标题为消费者价格指数的轴包含一个类型为line的对象。

图;绘图(DataTable.Time,DataTable.unrate);标题(“失业率”);ylabel(“百分比”);包含(“日期”);

图中包含一个坐标轴。以“失业率”为标题的轴包含一个线型对象。

将其转化为一系列增长率来稳定CPI。通过从失业率系列中移除第一次观察来同步两系。

rcpi = price2ret (DataTable.CPIAUCSL);unrate = DataTable.UNRATE(2:结束);

使用简写语法创建默认VAR(4)模型。

Mdl = varm(2、4)
描述:“2维VAR(4)模型”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 4 Constant: [2×1 vector of NaNs] AR: {2×2 matrices of NaNs} at时滞[1 2 3…趋势:[2×1零向量]Beta: [2×0矩阵]协方差:[2×2矩阵的nan]

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

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

Estmdl =估计(MDL,[RCPI Unverate])
estmdl =具有属性的Varm:描述:“Ar-instary二维var(4)型号”系列“:”Y1“”Y2“NumSeries:2 P:4常数:[0.00171639 0.316255]'AR:{2×2矩阵}在滞后[1 2 3 ...和1更多]趋势:[2×1 Zeros载体] Beta:[2×0矩阵]协方差:[2×2矩阵]

estmdl.是一个估计varm.模型对象。它是完全指定的,因为所有参数都具有已知值。描述表明自回归多项式是静止的。

显示估计的汇总统计信息。

总结(EstMdl)
AR-Stationary 2d VAR(4)模型有效样本量:241估计参数数:18 LogLikelihood: 811.361 AIC: -1586.72 BIC:-1524 Value StandardError TStatistic PValue ___________ _____________ __________ __________ Constant(1) 0.0017164 0.0015988 1.0735 0.28303 Constant(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.06503220.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.0012375 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.9079 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创新相关矩阵:0.0000 -0.0002 -0.0002 0.1167创新相关矩阵:1.0000 -0.0925 -0.0925 1.0000

这个例子是如下估计var(4)模型

为CPI增长率和失业率创建和估算VAR(4)模型。作为预测地平线对待最后十个期间。

负载Data_USEconModelcpi = DataTable.CPIAUCSL;unrate = DataTable.UNRATE;rcpi = price2ret (cpi);unrate = unrate(2:结束);Y = [rcpi unrate];Mdl = varm(2、4);EstMdl =估计(Mdl Y (1: (end-10):));

预测10个反应使用估计模型和样本内数据作为样本前观察。

YF =预测(EstMdl 10 Y (1: (end-10):));

在单独的图上用预测值绘制系列的部分。

图;情节(数据表。Time(end - 50:end),rcpi(end - 50:end)); hold绘图(DataTable.time((终止 -  9):结束),Yf(:,1))H = GCA;填充(DataTable.Time([结束 -  9结束 -  9]),H.YLIM([1,1,2,2]),“k”......'Facealpha', 0.1,“EdgeColor”“没有”);传奇(“真实CPI增长率”“预期CPI增长率”......“位置”“西北”)标题('季度CPI增长率:1947  -  2009');ylabel(CPI增长的);包含(“年”);持有

图中包含一个坐标轴。标题为“季度CPI增长率:1947 - 2009”的坐标轴包含line、patch三个对象。这些对象分别代表真实CPI增长率、预测CPI增长率。

图;绘图(DataTable.Time(最终 -  50:结束),UNSTATE(最终 -  50:结束));持有情节(数据表。Time((end - 9):end),YF(:,2)) h = gca; fill(DataTable.Time([end - 9 end end end - 9]),h.YLim([1,1,2,2]),“k”......'Facealpha', 0.1,“EdgeColor”“没有”);传奇(“真正的失业率”“预测失业率”......“位置”“西北”)标题('季度失业率:1947  -  2009');ylabel(“失业率”);包含(“年”);持有

图中包含一个坐标轴。标题季度失业率的轴:1947  -  2009年包含3个类型的类型,补丁。这些物品代表了真正的失业率,预测失业率。

更多关于

全部展开

介绍了R2017a