varm
创建向量自回归(VAR)模型
描述
的varm
函数返回一个varm
对象指定函数形式并存储的参数值p秩序,静止不动的,多元的向量自回归模型(VAR (p))模型。
的关键组成部分varm
对象包含时间序列的数量(反应变量维数)和多元自回归多项式的阶数(p),因为它们完全指定了模型结构。其他模型组件包括回归组件,将相同的外生预测变量关联到每个响应序列,以及常数和时间趋势项。给定响应变量维数和p,所有系数矩阵和创新分布参数都是未知的和可估计的,除非你指定它们的值。
要估计包含未知参数值的模型,将模型和数据传递给估计
。用估计的或完全指定的varm
模型对象,将其传递给目标函数。或者,你可以创造和工作。varm
交互建模对象使用计量经济学建模师。
创建
描述
创建一个由一个响应序列组成的VAR(0)模型。Mdl
= varm
输入参数
简写语法为您提供了一种简单的方法来创建适合于无限制参数估计的模型模板。例如,要创建一个由三个响应序列组成的VAR(2)模型,输入:
Mdl = varm (3,2);
numseries
- - - - - -时间序列数米
1
(默认)|正整数
numlags
- - - - - -滞后响应的数量
非负整数
模型中要包含的滞后响应的数量,指定为非负整数。得到的模型是VAR(numlags
)模型。所有的滞后numseries
——- - - - - -numseries
系数矩阵由南
值。
数据类型:双
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
是对应的值。名值实参必须出现在其他实参之后,但对的顺序并不重要。
R2021a前,每个名称和值用逗号分隔,并括起来的名字
在报价。
longhand语法使您能够创建一些或所有系数已知的模型。在评估期间,估计
对任何已知参数施加相等约束。
例子: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]}
。
滞后
- - - - - -自回归多项式滞后
1: P
(默认)|唯一正整数的数字向量
自回归多项式滞后,指定为逗号分隔对,由“滞后”
和一个数字向量,最多包含P
唯一正整数的元素。
的长度滞后
和基于“增大化现实”技术
必须是相等的。滞后(
滞后是否对应系数矩阵j
)基于“增大化现实”技术的{
。j
}
例子:“滞后”,[1 - 4]
数据类型:双
属性
在使用名称-值对参数语法创建模型对象时,或者在使用点表示法创建模型对象后,可以设置可写的属性值。例如,要创建一个由两个响应序列组成的VAR(1)模型,然后指定一个未知的时间趋势项,输入:
Mdl = varm (AR,{南(2)});Mdl。Trend = NaN;
NumSeries
- - - - - -时间序列数米
正整数
该属性是只读的。
时间序列数米,指定为正整数。NumSeries
指定多元响应变量的维度yt和创新εt。
数据类型:双
P
- - - - - -多元自回归多项式顺序
非负整数
该属性是只读的。
多元自回归多项式顺序,指定为非负整数。P
是具有非零系数矩阵的最大滞后。小于的滞后P
可以有完全由0组成的系数矩阵。
P
指定初始化模型所需的预采样观察数。
数据类型:双
常数
- - - - - -模型拦截
南(NumSeries, 1)
(默认)|数值向量
模型拦截(或常量),指定为NumSeries
1数字向量。
例子:“常数”,[1;2]
数据类型:双
基于“增大化现实”技术
- - - - - -自回归系数矩阵
数字矩阵的单元向量
与滞后响应相关的自回归系数矩阵,指定为的单元向量NumSeries
——- - - - - -NumSeries
数字矩阵。
指定与这些系数对应的系数符号VAR模型用差分方程表示法表示。
如果将
滞后
名值对参数滞后
,则适用以下条件。的长度
基于“增大化现实”技术
和滞后
是相等的。基于“增大化现实”技术的{
系数矩阵是否滞后j
}滞后(
。j
)默认情况下,
基于“增大化现实”技术
是一个元素个数(滞后)
-由1个单元向量构成的矩阵南
值。
否则,则适用以下条件。
的长度
基于“增大化现实”技术
是P
。基于“增大化现实”技术的{
系数矩阵是否滞后j
}j
。默认情况下,
基于“增大化现实”技术
是一个P
-由1个单元向量构成的矩阵南
值。
例子:基于“增大化现实”技术,{[0.5 - -0.1;0.1 - 0.2]}
数据类型:细胞
趋势
- - - - - -线性时间趋势
0 (NumSeries, 1)
(默认)|数值向量
线性时间趋势项,指定为NumSeries
1数字向量。默认值指定模型中不存在线性时间趋势。
例子:“趋势”,[0.1;0.2)
数据类型:双
β
- - - - - -回归系数矩阵
NumSeries
由0空矩阵(默认)|数字矩阵
与预测变量相关的回归系数矩阵,指定为aNumSeries
——- - - - - -NumPreds
数字矩阵。NumPreds
为预测变量的个数,即预测数据的列数。
β(
包含响应方程中每个预测因子的回归系数yj
:)j
t。β(:,
包含预测器各响应方程中的回归系数xk。默认情况下,所有预测变量都在所有响应方程的回归分量中。通过将等式约束指定为0,可以从某些方程中排除某些预测变量。k
)
例子:在包含3个响应和4个预测变量的模型中,为了从第三个方程中排除第二个预测变量,并使其他变量不受限制,指定[NaN NaN NaN;NaN NaN NaN;NaN 0 NaN NaN]
。
默认值指定模型中没有回归系数。然而,如果你在估计模型时指定预测器数据使用估计
,然后用MATLAB®集β
的适当大小的矩阵南
值。
例子:‘Beta’,[2 3 -1 2;0.5 -1 -6 0.1]
数据类型:双
协方差
- - - - - -创新协方差矩阵
南(NumSeries)
(默认)|数值,正定矩阵
的创新协方差矩阵NumSeries
每次的创新t= 1,…,T,指定为NumSeries
——- - - - - -NumSeries
数值,正定矩阵。
例子:协方差,眼睛(2)
数据类型:双
描述
- - - - - -模型描述
字符串标量|特征向量
模型描述,指定为字符串标量或字符向量。varm
将值存储为字符串标量。例如,默认值描述模型的参数形式“二维VAR(3)模式”
。
例子:“描述”、“模式1”
数据类型:字符串
|字符
SeriesNames
- - - - - -反应级数的名字
字符串向量|字符向量的单元格数组
响应系列名称,指定为NumSeries
字符串长度的向量。默认值是(“日元”“Y2”……“Y
。NumSeries
']
例子:SeriesNames, {CPI的‘失业’}
数据类型:字符串
请注意
南
-属性中的值元素表示未知的、可估计的参数。指定元素表示模型估计中参数的等式约束。创新协方差矩阵协方差
不能包含的混合南
值和实数;必须完全指定协方差,否则协方差必须是完全未知的(南(NumSeries)
)。
对象的功能
例子
创建和修改默认模型
创建一个由一个响应序列组成的零度VAR模型。
Mdl = varm
Mdl = varm具有属性:Description: "1- dimensional VAR(0) Model" SeriesNames: "Y" NumSeries: 1 P: 0 Constant: NaN AR: {} Trend: 0 Beta: [1×0 matrix] Covariance: NaN
Mdl
是一个varm
模型对象。它包含一个响应序列、一个未知常数和一个未知创新方差。模型的属性出现在命令行中。
假设你的问题在滞后1处有一个自回归系数。要创建这样一个模型,设置自回归系数属性(基于“增大化现实”技术
)到包含南
值使用点表示法。
Mdl。基于“增大化现实”技术={NaN}
Mdl = varm with properties: Description: "1- dimensional VAR(1) Model" SeriesNames: "Y" NumSeries: 1 P: 1 Constant: NaN AR: {NaN} at lag[1]趋势:0 Beta: [1×0 matrix]协方差:NaN
如果你的问题包含多个响应序列,那么使用不同的varm
创建模型的语法。
创建VAR(4)参数估计模型模板
,为消费者价格指数(CPI)和失业率创建VAR(4)模型。
加载Data_USEconModel
数据集。声明CPI的变量(消费者价格指数
)和失业率(UNRATE
)系列。
负载Data_USEconModelcpi = DataTimeTable.CPIAUCSL;unrate = DataTimeTable.UNRATE;
使用速记语法创建一个默认的VAR(4)模型。
Mdl = varm(2、4)
Mdl =具有属性的varm: Description:“2- dimensional VAR(4) Model”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 4 Constant: [2×1 vector of NaNs] AR: {2×2 matrices of NaNs} at lag[1 2 3…和1更多]趋势:[2×1矢量的零]贝塔:[2×0矩阵]协方差:[2×2矩阵的NaNs]
Mdl
是一个varm
模型对象。它作为模型估计的模板。MATLAB®认为任何南
值作为待估计的未知参数值。例如,常数
财产是一个2乘1的向量南
值。因此,模型常数是待估计的活动模型参数。
通过设置包含一个未知的线性时间趋势项趋势
财产南
使用点符号。
Mdl。Trend = NaN
Mdl = varm with properties: Description:“2- dimensional VAR(4) Model with Linear Time Trend”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 4 Constant: [2×1 vector of NaNs] AR: {2×2 matrices of NaNs} at lag[1 2 3…和1更多]趋势:[2×1向量的NaNs]贝塔:[2×0矩阵]协方差:[2×2矩阵的NaNs]
MATLAB的扩张南
的适当长度,即2 × 1的向量南
值。
指定VAR模型的所有参数值
为三个任意响应系列创建VAR模型。指定这个方程组中的参数值。
假设创新点是均值为0的多元高斯,协方差矩阵
为参数值创建变量。
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基于“增大化现实”技术的Phi1,“趋势”三角洲,协方差的σ)
Mdl = varm具有属性:描述:“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]趋势:[1.5 2 0]' Beta: [3×0 matrix]协方差:[3×3 matrix]
Mdl
是完全指定的varm
模型对象。默认情况下,varm
将自回归系数归为第一个滞后。
可以使用点表示法调整模型属性。例如,考虑另一个VAR模型,它将自回归系数矩阵归为属性Phi1
到第二个滞后项,为第一个滞后系数指定一个零矩阵,并将所有其他的都视为等于Mdl
。创建这个VAR(2)模型。
Mdl2 = Mdl;Phi = [zeros(3,3) Phi1];Mdl2。基于“增大化现实”技术=Phi
Mdl2 = varm具有属性:描述:"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
和for的语法一样Mdl
,但另外指定“滞后”,2
。
VAR(4)模型拟合响应数据矩阵
拟合VAR(4)模型到消费者价格指数(CPI)和失业率序列。将响应序列作为数字矩阵提供。
加载Data_USEconModel
数据集。
负载Data_USEconModel
将两个系列绘制在单独的图上。
图;情节(DataTimeTable.Time DataTimeTable.CPIAUCSL);标题(“消费者价格指数”) ylabel (“指数”)包含(“日期”)
图;情节(DataTimeTable.Time DataTimeTable.UNRATE);标题(“失业率”);ylabel (“百分比”);包含(“日期”);
通过将CPI转化为一系列的增长率来稳定CPI。将第一个观察值从失业率序列中移除,使这两个序列同步。
rcpi = price2ret (DataTimeTable.CPIAUCSL);unrate = DataTimeTable.UNRATE(2:结束);
使用速记语法创建一个默认的VAR(4)模型。
Mdl = varm(2、4)
Mdl =具有属性的varm: Description:“2- dimensional VAR(4) Model”SeriesNames:“Y1”“Y2”NumSeries: 2 P: 4 Constant: [2×1 vector of NaNs] AR: {2×2 matrices of NaNs} at lag[1 2 3…和1更多]趋势:[2×1矢量的零]贝塔:[2×0矩阵]协方差:[2×2矩阵的NaNs]
Mdl
是一个varm
模型对象。所有属性包含南
值对应于要估计给定数据的参数。
使用整个数据集估计模型。
EstMdl = estimate(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 lag[1 2 3…和1更多]趋势:[2×1矢量的零]贝塔:[2×0矩阵]协方差:[2×2矩阵]
EstMdl
是一个估计varm
模型对象。它是完全指定的,因为所有参数都有已知的值。描述表明自回归多项式是平稳的。
显示来自估计的汇总统计数据。
总结(EstMdl)
AR-Stationary 2-Dimensional VAR(4)模型有效样本量:241估计参数数:18 LogLikelihood: 811.361 AIC: -1586.72 BIC:-1524 Value standderror TStatistic PValue ___________ _____________ __________ __________ Constant(1) 0.0017164 0.0015988 1.028303 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) -0.0031796 0.00165032 20.656 8.546e-95 AR{2}(1,1) 0.22433 0.069632 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基于“增大化现实”技术的{2}(2,2)-0.26817 0.10716 -2.5025 0.012331 AR {3} (1,1) 0.35333 0.068287 5.1742 2.2887 e-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创新协方差矩阵:0.0000 -0.0002 -0.0002 0.1167创新相关矩阵:1.0000 -0.0925 -0.0925 1.0000
VAR(4)模型的预测响应
这个例子如下VAR(4)模型拟合响应数据矩阵。
为CPI增长率和失业率创建并估计一个VAR(4)模型。将最近10个时期作为预测视界。
负载Data_USEconModelcpi = DataTimeTable.CPIAUCSL;unrate = DataTimeTable.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):));
将该系列的部分与预测值分别绘制在不同的图上。
图绘制(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增长的)包含(“年”)举行从
图绘制(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 (“失业率”)包含(“年”)举行从
更多关于
向量自回归模型
一个向量自回归(VAR)模型一个平稳的多元时间序列模型是由米方程米不同的响应变量作为滞后响应和其他项的线性函数。
一个VAR (p)模型差分方程的符号而在简化型是
yt是一个
numseries
-by-1向量对应的值numseries
时的响应变量t,在那里t= 1,…,T。结构系数为单位矩阵。c是一个
numseries
-乘1的常数向量。Φj是一个
numseries
——- - - - - -numseries
自回归系数矩阵,其中j= 1,…,p和Φp不是一个只包含0的矩阵。xt是一个
numpreds
-by-1向量对应的值numpreds
外生变量预测指标。β是一个
numseries
——- - - - - -numpreds
回归系数矩阵。δ是一个
numseries
-乘1的线性时间趋势值向量。εt是一个
numseries
-by-1的随机高斯创新向量,每一个的均值为0,集合为anumseries
——- - - - - -numseries
Σ协方差矩阵。为t≠年代,εt和ε年代是独立的。
在滞后运算符符号中,系统是
在哪里
Φ(l)yt是多元自回归多项式,和我是numseries
——- - - - - -numseries
单位矩阵。
例如,包含两个响应序列和三个外生预测变量的VAR(1)模型就具有这种形式
版本历史
介绍了R2017a
MATLAB命令
你点击了对应这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令即可运行该命令。Web浏览器不支持MATLAB命令。
你也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)为最佳网站表现。其他MathWorks国家站点没有针对您所在位置的访问进行优化。