主要内容

varm

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

描述

varm函数返回varm对象,指定函数形式并存储的参数值p-有序,平稳,多元向量自回归模型(VAR (p))模型。

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

为了估计包含未知参数值的模型,将模型和数据传递给估计.用估计的或完全指定的东西工作varm模型对象,将其传递给目标函数.或者,您可以创建并使用varm通过使用交互地对对象建模计量经济学建模师

创建

描述

例子

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

例子

Mdl= varm (numseriesnumlags创建VAR(numlags)模型,由numseries反应级数。最大非零延迟为numlags.所有滞后都有numseries——- - - - - -numseries系数矩阵由值。

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

例子

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

这种手工语法允许创建更灵活的模型。varm推断序列的个数(NumSeries)和自回归多项式度(P)从您设置的属性。因此,对应级数或自回归多项式次数的性质值必须相互一致。

输入参数

全部展开

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

Mdl = varm(3,2);

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

numseries设置NumSeries财产。

数据类型:

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

数据类型:

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

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

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

为可写设置值属性,使用名称,值对参数语法。例如,“常数”,[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',{NaN(2)});Mdl。Trend = NaN;

此属性是只读的。

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

数据类型:

此属性是只读的。

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

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

数据类型:

模型拦截(或常量),指定为NumSeries-by-1数值向量。

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

数据类型:

与滞后响应相关的自回归系数矩阵,指定为的单元向量NumSeries——- - - - - -NumSeries数字矩阵。

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

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

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

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

    • 默认情况下,基于“增大化现实”技术是一个元素个数(滞后)-由1单元向量组成的矩阵值。

  • 否则,适用以下条件。

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

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

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

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

数据类型:细胞

线性时间趋势项,用a表示NumSeries-by-1数值向量。默认值指定模型中没有线性时间趋势。

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

数据类型:

与预测变量相关的回归系数矩阵,用a表示NumSeries——- - - - - -NumPreds数字矩阵。NumPreds是预测器变量的数量,即预测器数据中的列数。

β(j:)包含响应方程中每个预测因子的回归系数yjtβ(:,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,指定为NumSeries——- - - - - -NumSeries数值,正定矩阵。

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

数据类型:

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

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

数据类型:字符串|字符

响应系列名称,指定为NumSeries长度字符串向量。默认为[' y1 ' ' y2 '…“YNumSeries']

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

数据类型:字符串

请注意

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

对象的功能

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

例子

全部折叠

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

Mdl = varm
Mdl = varm与属性:描述:"1维VAR(0)模型" SeriesNames: "Y" NumSeries: 1 P: 0常数:NaN AR:{}趋势:0 Beta: [1×0矩阵]协方差:NaN

Mdl是一个varm模型对象。它包含一个响应序列、一个未知常数和一个未知创新方差。模型的属性出现在命令行中。

假设你的问题在滞后1时有一个自回归系数。要创建这样的模型,请设置自回归系数属性(基于“增大化现实”技术)到包含值使用点表示法。

Mdl。基于“增大化现实”技术={NaN}
Mdl = varm与属性:描述:"1维VAR(1)模型" SeriesNames: "Y" NumSeries: 1 P: 1常数:NaN AR: {NaN}在滞后[1]趋势:0 Beta: [1×0矩阵]协方差:NaN

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

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

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

负载Data_USEconModelcpi = datatitable . cpiaucsl;unrate =数据表。unrate;

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

Mdl = varm(2,4)
Mdl = varm与属性:描述:“2维VAR(4)模型”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 4常数:[2×1向量的NaNs] AR: {2×2矩阵的NaNs}在滞后[1 2 3…[趋势:[2×1零向量]Beta: [2×0矩阵]协方差:[2×2 nan矩阵]

Mdl是一个varm模型对象。它作为模型估计的模板。MATLAB®考虑任何值作为未知参数值进行估计。例如,常数属性是一个2 × 1向量值。因此,模型常数是需要估计的活跃模型参数。

属性包含未知的线性时间趋势项趋势财产使用点表示法。

Mdl。Trend = NaN
Mdl = varm与属性:描述:“2维VAR(4)模型与线性时间趋势”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 4常数:[2×1向量的NaNs] AR: {2×2矩阵的NaNs}在滞后[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]};Delta = [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-平稳的三维VAR(1)模型与线性时间趋势”SeriesNames:“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 = [0 (3,3) Phi1];Mdl2。基于“增大化现实”技术=Phi
Mdl2 = varm与属性:描述:“AR-平稳的三维VAR(2)模型与线性时间趋势”SeriesNames:“Y1”“Y2”“Y3”NumSeries: 3 P: 2常数:[1 1 0]' AR: {3×3矩阵}在滞后[2]趋势:[1.5 2 0]' Beta: [3×0矩阵]协方差:[3×3矩阵]

或者,您可以使用varm和的语法相同Mdl,但另外指定“滞后”,2

将VAR(4)模型与消费者价格指数(CPI)和失业率序列拟合。以数字矩阵的形式提供响应序列。

加载Data_USEconModel数据集。

负载Data_USEconModel

把这两个系列分别画在不同的地方。

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

图中包含一个轴对象。标题为Consumer Price Index的axes对象包含一个类型为line的对象。

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

图中包含一个轴对象。标题为Unemployment Rate的axes对象包含一个类型为line的对象。

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

rcpi = price2ret(datatitable . cpiaucsl);unrate = datatitable . unrate(2:结束);

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

Mdl = varm(2,4)
Mdl = varm与属性:描述:“2维VAR(4)模型”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 4常数:[2×1向量的NaNs] AR: {2×2矩阵的NaNs}在滞后[1 2 3…[趋势:[2×1零向量]Beta: [2×0矩阵]协方差:[2×2 nan矩阵]

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

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

EstMdl =估计(Mdl,[rcpi unrate])
EstMdl = varm与属性:描述:“AR-平稳2维VAR(4)模型”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 4常数:[0.00171639 0.316255]' AR: {2×2矩阵}在滞后[1 2 3…[趋势:[2×1零向量]Beta: [2×0矩阵]协方差:[2×2矩阵]

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

显示来自估算的汇总统计信息。

总结(EstMdl)
ar平稳二维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.065032 20.656 8.546e-95 AR{2}(1,1) 0.22433 0.069631 3.2217 0.0012741 AR{2}(1,2) 0.0012375 0.0018631 0.6642 0.50656AR{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}(2,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)模型。将最近10个周期作为预测视界。

负载Data_USEconModelcpi = datatitable . cpiaucsl;unrate =数据表。unrate;Rcpi = price2ret;Unrate = Unrate(2:结束);Y = [rcpi unrate];Mdl = varm(2,4);EstMdl =估计(Mdl,Y(1:(end-10),:));

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

YF = forecast(EstMdl,10,Y(1:(end-10),:));

在单独的图上用它们的预测值画出系列的一部分。

图绘制(DataTimeTable。Time(end - 50:end),rcpi(end - 50:end)); hold情节(DataTimeTable。Time((end - 9):end),YF(:,1)) h = gca; fill(DataTimeTable.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增长率”)包含(“年”)举行

图中包含一个轴对象。标题为“季度CPI增长率:1947 - 2009”的轴对象包含3个类型为线、补丁的对象。这些对象代表真实CPI增长率,预测CPI增长率。

图绘制(DataTimeTable。Time(end - 50:end),unrate(end - 50:end)); hold情节(DataTimeTable。Time((end - 9):end),YF(:,2)) h = gca; fill(DataTimeTable.Time([end - 9 end end end - 9]),h.YLim([1,1,2,2]),“k”...“FaceAlpha”, 0.1,“EdgeColor”“没有”);传奇(“真实失业率”“预测失业率”...“位置”“西北”)标题(季度失业率:1947 - 2009) ylabel (“失业率”)包含(“年”)举行

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

更多关于

全部展开

版本历史

在R2017a中引入