varm

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

描述

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

一个关键组成部分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推断系列号(NumSeries)和自回归多项式次数(P因此,与级数或自回归多项式次数相对应的属性值必须彼此一致。

输入参数

展开全部

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

MDL = varm(3,2);

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

numseries设置NumSeries财产。

数据类型:

模型中包含的滞后响应数,指定为非负整数。得到的模型是一个VAR(numlags)模型。所有的滞后numseries-通过-numseries系数矩阵组成值。

数据类型:

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值是对应的值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数名1,值1,...,NameN,值N

longhand语法使您能够创建部分或所有系数已知的模型。在评估期间,估计对任何已知参数施加相等约束。

例: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)

    • 默认情况下,基于“增大化现实”技术是一个元素个数(滞后)×1组成的基质的细胞载体值。

  • 否则,适用以下条件。

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

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

    • 默认情况下,基于“增大化现实”技术是一个P×1组成的基质的细胞载体值。

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

数据类型:细胞

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

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

数据类型:

回归系数矩阵与预测变量相关联的,指定为NumSeries-通过-NumPreds数字矩阵。NumPreds是预测变量的数目,即,列在所述预测数据的数量。

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

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

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

例:'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' '失业'}

数据类型:字符串

请注意

属性中的值元素表示未知的、可估计的参数。指定的元素表示模型估计中参数的等式约束。创新协方差矩阵协方差不能混合值和实数;你必须完全指定的协方差或者必须是完全未知(NaN的(NumSeries))。

对象的功能

估计 将向量自回归(VAR)模型与数据进行拟合
fevd 产生向量自回归(VAR)模型预测误差方差分解(FEVD)
过滤 通过向量自回归(VAR)模型来过滤干扰
预测 预测向量自回归(VAR)模型响应
gct 向量自回归(VAR)模型的Granger因果关系和块外生性测试
推断出 据此推断向量自回归模型(VAR)的创新
irf 生成向量自回归(VAR)模型脉冲响应
模拟 蒙特卡罗模拟向量自回归(VAR)模型
总结 显示向量自回归(VAR)模型的估计结果
VECM 将向量自回归(VAR)模型转换为向量误差修正(VEC)模型

例子

全部折叠

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

MDL = varm
Mdl = varm with properties: Description: "1维VAR(0) Model" SeriesNames: "Y" NumSeries: 1 P: 0 Constant: NaN AR: {} Trend: 0 Beta:[1×0 matrix]协方差:NaN

Mdl是一个varm模型对象。它包含一个响应系列,一个未知的常数,一个未知的创新变化。该模型的属性出现在命令行。

假设你的问题已经在滞后1。自回归系数要创建这样一个模型,设置自回归系数特性(基于“增大化现实”技术)到含有a的细胞值使用点符号。

Mdl。基于“增大化现实”技术={NaN}
Mdl = varm with properties: Description: "1维VAR(1) Model"系列名称:"Y" NumSeries: 1 P: 1 Constant: NaN AR: {NaN} at lag [1] Trend: 0 Beta:[1×0 matrix]协方差:NaN

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

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

加载Data_USEconModel数据集:为CPI (消费者价格指数)及失业率(UNRATE)系列。

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

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

Mdl = varm (2、4)
Mdl = varm with properties: Description: "二维VAR(4) Model"系列名称:"Y1" "Y2" NumSeries: 2 P: 4 Constant:[2×1 vector of NaNs] AR:{2×2 matrices of NaNs} at[1 2 3…][2×1 0向量]Beta:[2×0矩阵]协方差:[2×2矩阵NaNs]

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

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

Mdl.Trend = NaN的
Mdl = varm with properties: Description: "二维VAR(4) Model with Linear Time Trend"系列名称:"Y1" "Y2" NumSeries: 2 P: 4 Constant:[2×1 vector of NaNs] AR:{2×2 matrices of NaNs} at[1 2 3…][2×1向量NaNs] Beta:[2×0矩阵]协方差:[2×2矩阵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);= [0.1 0.01 0.3; 0.01 0.5 0; 0.3 0 1];

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

MDL = varm(“不变”c基于“增大化现实”技术的Phi1,“趋势”三角洲,协方差的σ)
MDL = varm与属性:描述: “AR-固定3维VAR(1)模型与线性时间趋势” SeriesNames: “Y1”, “Y2”, “Y3” NumSeries:3 P:1常数:[1 1 0]”AR:{3×3矩阵}在延迟[1]趋势:[1.5 2 0]”贝塔:[3×0矩阵]协方差:[3×3矩阵]

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

可以使用点符号调整模型属性。例如,考虑另一个自回归系数矩阵的VAR模型Phi1到第二个滞后项,为第一个滞后系数指定了一个由零组成的矩阵,并将其他所有项都视为等于Mdl。创建这个VAR(2)模型。

MDL2 =铜牌;披= [零(3,3)PHI1];Mdl2.AR =披
Mdl2 = varm with properties: Description: "AR- stationary 3d VAR(2) Model with Linear Time Trend"系列名称:"Y1" "Y2" "Y3" NumSeries: 3p: 2 Constant: [1 1 0]' AR:{3×3 matrix} at lag [2] Trend: [1.5 2 0]' Beta:[3×0 matrix]协方差:[3×3 matrix]

或者,您可以使用以下命令创建另一个模型对象varm和for一样的语法Mdl,但另外指定“滞后”,2

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

加载Data_USEconModel数据集。

负载Data_USEconModel

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

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

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

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

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

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

Mdl = varm (2、4)
Mdl = varm with properties: Description: "二维VAR(4) Model"系列名称:"Y1" "Y2" NumSeries: 2 P: 4 Constant:[2×1 vector of NaNs] AR:{2×2 matrices of NaNs} at[1 2 3…][2×1 0向量]Beta:[2×0矩阵]协方差:[2×2矩阵NaNs]

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

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

EstMdl =估计值(Mdl,[rcpi unrate])
EstMdl = varm with properties: Description: "AR- stationary 2- dimensional VAR(4) Model" SeriesNames: "Y1" "Y2" NumSeries: 2 P: 4 Constant: [0.00171639 0.316255]' AR:{2×2 matrices} at[1 2 3…[2×1 0向量]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。00123.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_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情节(数据表。Time((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增长率”,“位置”,“西北”)标题(《CPI季度增长率:1947 - 2009》);ylabel (“CPI增速”);包含(“年”);持有

图;情节(数据表。Time(end - 50:end),unrate(end - 50:end)); hold情节(数据表。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 ('失业率');包含(“年”);持有

更多关于

展开全部

介绍了R2017a