主要内容

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

计量经济学工具箱™的类函数建模使用VAR模型多变量时间序列。的varm函数创建一个varm对象,该对象代表了一个VAR模型。varm属性指定VAR模型结构,包括响应系列(维度)的数量,数量的自回归(AR)滞后,存在常数或时间趋势系数模型中。

一个varm评估对象可以作为模型模板,至少在这种情况下,您必须指定数量的反应级数和多项式的基于“增大化现实”技术的次数。可选地,您可以指定其他参数的值(系数或创新协方差矩阵)来测试假设或经济理论。的估计目标函数符合不明可尊敬的指定数据模型的参数,并返回一个完全指定varm对象。提供一个完全指定的其他模型varm对象的功能进行进一步分析。

创建VAR模型

您可以创建一个varm使用两种语法对象:速记或手写。

简写语法适合快速创建一个模型,通常当估计的模型作为一个模板。所需的输入响应系列维度(numseries)和AR多项式的程度(p)。生成的VAR模型的基于“增大化现实”技术的多项式非零落后1通过p。例如,看到的使用简写语法创建和调整VAR模型

原来的代码允许更多的灵活性在参数比简写语法规范。例如,您可以指定值的自回归系数矩阵或滞后有非零系数矩阵。而varm函数需要的输入numseriesp当你使用简写语法,该函数必须能够推断出这些结构特性的值你供应当你使用原来的代码。换句话说,这些结构特点可尊敬的。例如,看到的使用原来的代码创建和调整VAR模型

不管语法,生成的VAR模型对象。对象的属性值完全确定的结构VAR模型。在创建一个模型,您可以显示它来验证其结构,你可以改变参数值通过调整属性使用点符号(见显示和更改模型对象)。

根据你的分析目标,你可以使用几种方法之一来创建一个模型使用varm函数。

  • 完全指定的模型对象使用这种方法,当你知道你的模型的所有参数的值。也就是说,你不计划来适应模型数据。

  • 无限制的估计模型模板——使用这种方法,当你知道维度和AR多项式的响应程度,和你想要符合整个模型数据使用估计

  • 部分指定限制估计的模型对象——使用这种方法,当你知道响应维度,AR多项式学位,以及一些参数值。例如:

    • 你知道一些AR系数矩阵的值或你想测试假设。

    • 你想排除一些落后的方程。

    • 你想排除一些外生因素变量的方程。

    估计任何未知的参数值,通过模型对象和数据估计,等式约束适用于所有已知的参数指定的值在优化。

  • 用回归模型对象组件为外生变量:

    • 如果你计划来估计一个多变量模型包含一个无限制的回归组件,指定的结构模型中,除了回归组件,当您创建模型。然后,指定模型和外生数据(例如,X名称-值参数)时调用估计。因此,估计包括一个适当大小的回归系数矩阵模型,并估计。估计包括所有的外生变量回归组件的默认情况下每个响应方程。

    • 如果你计划中指定等式约束的回归系数矩阵估计,或者你想完全指定矩阵,使用原来的语法和β名称-值参数来指定矩阵当您创建模型。另外,在创建模型之后,您可以指定β通过使用点符号模型属性。例如,排除一个方程的外生变量,设置相对应的系数元素变量(列)和方程(行)0

varm对象不存储数据。相反,您指定数据当你操作模型通过使用一个对象的功能。

完全指定的模型对象

如果你知道所有模型系数的值和协方差矩阵的创新,创建一个模型对象,并使用原来的代码指定参数值。此表描述了名称-值参数可以通过varm函数为已知的参数值numseries维VAR (p)模型。

的名字 价值
常数

一个numseries- d向量模型常数或拦截。默认是一个向量。

滞后

一个数值向量自回归多项式的滞后。最大延迟确定pVAR模型的程度。如果您指定滞后,然后每个元素对应的元素基于“增大化现实”技术。默认值是1:p

基于“增大化现实”技术

一个细胞的向量numseries——- - - - - -numseries基于“增大化现实”技术系数矩阵。细胞对应的元素滞后。默认情况下,所有的细胞都包含组成的矩阵值。

趋势

一个numseries- d向量的线性时间趋势。默认是零的向量。

β

一个numseries——- - - - - -numpreds回归系数的矩阵。默认是空的,这意味着不存在回归组件模型中。

协方差

一个numseries——- - - - - -numseries对称的,协方差矩阵正定创新。默认是一个矩阵组成的值。

您还可以创建一个模型对象使用简写语法,然后调整相应的属性值(除了滞后使用点符号)。

滞后名称-值参数允许您指定落后你想包括。例如,指定基于“增大化现实”技术的滞后1和3没有滞后2集滞后3 [1]。虽然这个语法指定只有两个滞后,p3

下面的例子显示了如何创建一个模型对象,当你已经知道参数。考虑VAR(1)模型

y t = ( 0.05 0 0.05 ] + ( 0.5 0 0 0.1 0.1 0.3 0 0.2 0.3 ] y t 1 + ε t

独立的干扰εt分布作为标准三维正态随机变量。

这个代码显示了如何创建一个模型对象使用varm

c = (0.05;0;-0.05);基于“增大化现实”技术= {(。5 0 0;。1。1。3;0。2。3]}; Covariance = eye(3); Mdl = varm(“不变”c基于“增大化现实”技术的基于“增大化现实”技术,协方差的协方差)
Mdl = varm属性:描述:“AR-Stationary三维VAR(1)模式”SeriesNames:“日元”“Y2”“Y3”NumSeries: 3 P: 1常数:(0.05 0 -0.05)的基于“增大化现实”技术:{3×3矩阵}滞后[1]的趋势:[3×1的向量0]β:协方差矩阵[3×0]:[3×3对角矩阵)

对象显示显示属性值。的varm函数把这个模型作为一个静止的VAR(1)与三维模型,添加剂常数,没有时间趋势,没有回归组件。

无限制的估计模型模板

最简单的方法创建一个多元模型估计的模板是通过使用简写语法。例如,要创建一个VAR (2)模型模板3反应级数用varm和它的简写语法,输入此代码。

numseries = 3;p = 2;Mdl = varm (numseries p);
Mdl代表一个VAR (2)模型包含未知的、有价值的参数,包括不断的矢量和3——- - - - - -3从落后1到滞后系数矩阵2

数组中的元素模型的属性显示有价值的参数。的β属性可以是一个numseries由0阵列,可以是有价值的;估计从外生指定数据推断它的列维度。当你使用简写语法,varm设置常数向量,所有自回归系数矩阵,和创新的适当大小的阵列协方差矩阵年代。

显示VAR (2)模型模板Mdl看看哪些参数是可尊敬的,输入此代码。

Mdl
Mdl = varm属性:描述:“三维VAR(2)模式”SeriesNames:“日元”“Y2”“Y3”NumSeries: 3 P: 2常数:[3×1的向量nan]基于“增大化现实”技术:nan}{3×3矩阵的滞后(1 2)趋势:[3×1的向量0]β:协方差矩阵[3×0]:[3×3矩阵nan)
Mdl.Trend是一个向量的零,这表明线性时间趋势不是一个模型参数。

指定模型不同于默认值的特性,使用原来的代码或调整现有模型的可写属性使用点符号。例如,这个代码显示了如何创建一个模型包含一个线性时间趋势项,可估计的系数,通过使用原来的代码。

基于“增大化现实”技术=细胞(p, 1);基于“增大化现实”技术(:)={南(numseries)};% varm可以推断出反应维度和基于“增大化现实”技术的基于“增大化现实”技术的学位MdlLT = varm (基于“增大化现实”技术的基于“增大化现实”技术,“趋势”南(numseries 1));
这个代码显示了如何调整模型Mdl包括一个可估计的线性时间趋势项。
Mdl.Trend=nan(numseries,1);

估计适合所有未指定的参数,包括模型常数向量自回归系数矩阵,回归系数矩阵,线性时间趋势向量,创新协方差矩阵。

部分指定限制估计的模型对象

您可以创建一个模型对象与一些已知的参数来测试假设的值。估计把已知的在估算值作为等式约束,并符合其余未知参数数据。所有VAR模型系数可以包含的混合体和有效的实数,但创新协方差矩阵必须完全未知的(完全由已知或完全(正定矩阵)。

这个代码显示了如何指定模式完全指定的模型对象,但有一个对角自回归AR参数协方差矩阵结构和一个未知的创新。varm推断反应变量的维数的参数c基于“增大化现实”技术,推断的VAR模型的程度基于“增大化现实”技术

c = [. 05;0;. 05];基于“增大化现实”技术={诊断接头(nan (3,1))};Mdl = varm (“不变”c基于“增大化现实”技术的基于“增大化现实”技术)Mdl.AR {:}
Mdl = varm属性:描述:“三维VAR(1)模式”SeriesNames:“日元”“Y2”“Y3”NumSeries: 3 P: 1常数:(0.05 0 -0.05)的基于“增大化现实”技术:{3×3矩阵}滞后[1]的趋势:[3×1的向量0]β:协方差矩阵[3×0]:[3×3矩阵NaN) ans =南0 0 0南0 0 0 NaN

显示和更改模型对象

假设一个模型对象的变量名Mdl。在您创建Mdl你可以检查它在几个方面:

  • 输入Mdl在MATLAB®命令行。

  • 在MATLAB中双击对象工作空间浏览器。

  • 输入Mdl。PropertyName在MATLAB命令行PropertyName是属性的名称你想检查或重新分配。

你可以改变任何可写属性模型的对象使用点符号:

Mdl。PropertyValue=价值;

显示模型对象

创建一个VAR(2)模型对象三个反应变量。使用简写语法。

numseries = 3;p = 2;Mdl = varm (numseries p);

显示VAR(2)模型。

Mdl
Mdl = varm属性:描述:“三维VAR(2)模式”SeriesNames:“日元”“Y2”“Y3”NumSeries: 3 P: 2常数:[3×1的向量nan]基于“增大化现实”技术:nan}{3×3矩阵的滞后(1 2)趋势:[3×1的向量0]β:协方差矩阵[3×0]:[3×3矩阵nan)

Mdl是一个varm模型对象。其属性(左)和相应的值(右)在命令行上列出。

系数模型中模型常数向量常数和自回归多项式系数矩阵基于“增大化现实”技术在滞后1和2。相应的属性值是适当大小的数组年代,这表明值未知但有价值的。同样,创新协方差矩阵协方差是一个矩阵,因此它也是未知但有价值的。

默认情况下,线性时间趋势向量趋势由零,回归系数矩阵β有一列维度为零。如果你提供外源性数据估计Mdl通过使用估计,MATLAB®推断的列维度β从指定的数据集β一个矩阵的年代,估计它。否则,MATLAB®忽略了回归模型的组件。

调整现有模型的属性

这个例子展示了如何排除第一个滞后AR多项式的VAR模型(2)。

创建一个VAR(2)模型模板,代表三个反应变量。使用简写语法。

numseries = 3;p = 2;Mdl = varm (numseries, p)
Mdl = varm属性:描述:“三维VAR(2)模式”SeriesNames:“日元”“Y2”“Y3”NumSeries: 3 P: 2常数:[3×1的向量nan]基于“增大化现实”技术:nan}{3×3矩阵的滞后(1 2)趋势:[3×1的向量0]β:协方差矩阵[3×0]:[3×3矩阵nan)

基于“增大化现实”技术的属性Mdl基于“增大化现实”技术的多项式系数矩阵存储在单元阵列。第一个单元格包含滞后1系数矩阵,第二个单元格包含滞后2系数矩阵。

设置滞后1 AR系数矩阵的零使用点符号。显示更新后的模型。

Mdl。基于“增大化现实”技术{1} = zeros(numseries); Mdl
Mdl = varm属性:描述:“三维VAR(2)模式”SeriesNames:“日元”“Y2”“Y3”NumSeries: 3 P: 2常数:[3×1的向量nan]基于“增大化现实”技术:{3×3矩阵}在滞后[2]的趋势:[3×1的向量0]β:协方差矩阵[3×0]:[3×3矩阵nan)

延迟1系数从AR模型的多项式。

为响应方程选择外生变量

这个例子展示了如何选择外生变量发生在VARX回归组件(4)模型。

创建一个VAR(4)模型模板,代表三个反应变量。使用简写语法。

numseries = 3;p = 4;Mdl = varm (numseries, p)
Mdl = varm属性:描述:“三维VAR(4)模式”SeriesNames:“日元”“Y2”“Y3”NumSeries: 3 P: 4常数:[3×1的向量nan]基于“增大化现实”技术:nan}{3×3矩阵的滞后(1 2 3…和一个趋势:[3×1的向量0]β:协方差矩阵[3×0]:[3×3矩阵nan)

β属性包含模型回归系数矩阵a3——- - - - - -0矩阵。因为它有0列,Mdl没有回归组件。

假设如下:

  • 你计划包括两个外生变量的回归的组成部分Mdl使其成为VARX(4)模型。

  • 外生的数据矩阵X,这不是加载在内存中。

  • 你想要包括外生变量1(存储在X (: 1))在所有响应方程,排除外生变量2(存储在X (:, 2)2和3)从响应变量方程。

  • 你计划来适应Mdl数据。

回归系数的矩阵年代。然后,相对应的元素排除外生变量设置为零。

numpreds = 2;Mdl.Beta=nan(numseries,numpreds); Mdl.Beta(2:3,2) = 0; Mdl.Beta
ans =3×2南南南南0

在评估期间,估计适合所有有价值的参数(NaN-valued元素)的数据应用这些等式约束时优化:

  • β 22 = 0

  • β 32 = 0

选择合适的延迟订单

时间序列模型发展的目标是确定滞后订单p产生一个模型表示的数据生成过程并产生可靠的预测。这些功能帮助确定一个适当的延迟顺序:

  • lratiotest执行一个比较规范的嵌套模型的似然比检验,通过评估的意义和无限制的扩展模型参数的限制。在上下文中,限制模型的滞后订单小于滞后的无限制的模型。

  • aicbic返回信息标准,比如Akaike和贝叶斯信息准则(分别AIC和BIC)鉴于loglikelihoods,活跃的参数项安装候选人模型和有效样本量(BIC所需或标准归一化)。aicbic不进行统计假设检验。收益率最低的模型适合统计有最好的,吝啬的合适的候选人模型。

使用似然比检验确定最小数量的滞后

lratiotest需要输入的loglikelihood无限制模型,限制的loglikelihood模型,自由度(自由度)的数量。景深的区别是活跃的参数项不受限制的和受限制的模型。限制模型的滞后订单小于滞后的无限制的模型。

lratiotest返回一个逻辑值:1意味着拒绝限制模型支持无限制的模型,和0意味着拒绝限制模型存在证据不足。

进行似然比测试:

  1. 获得的loglikelihood限制和不受限制的模型适合他们数据时使用估计。loglikelihood是第三输出(logL)。

    [EstMdl EstSE logL E] =估计()
  2. 获得每个估计的活性参数计算模型(numparams)NumEstimatedParameters在输出的结构总结

    结果=总结(EstMdl);numparams = results.NumEstimatedParameters;
  3. 进行似然比检验,5%水平的意义,通过以下lratiotest:loglikelihood无限制的模型logLU的loglikelihood限制模型logLR和自由度(景深)。

    h = lratiotest (logLU logLR,景深)

例如,假设您符合四个模型:模型1的滞后阶1,模型2的滞后订单2,等等。这些模型有loglikelihoodslogL1,logL2,logL3,logL4参数数量和活跃numparams1,numparams2,numparams3,numparams4。进行似然比测试的模型1、2、4和3模型,如下:

h1 = lratiotest (logL4 logL1 (numparams4 - numparams1)) h2 = lratiotest (logL4、logL2 (numparams4 numparams2) h3 = lratiotest (logL4、logL3 (numparams4 - numparams3))

如果h1=1,拒绝模型1;继续以同样的方式对模型2和3。如果lratiotest返回0拒绝模型存在证据不足,滞后订单低于4。

使用信息准则确定最小数量的滞后

你可以获取信息标准,例如AIC和BIC,在两个方面:

  • 通过估计模型总结,并提取相应的适合从输出数据结构。

    1. 估计一个模型使用估计

      EstMdl =估计(…);
    2. 获得AIC和BIC的估计模型另类投资会议BIC输出的字段结构结果

      结果=总结(EstMdl);aic = results.AIC;bic = results.BIC;
  • 使用aicbic,它要求候选人的loglikelihood模型,其活跃的参数计算和BIC有效样本量。aicbicloglikelihoods还接受一个向量和向量对应的活跃的参数数量,使您可以比较多个模型适合使用一个函数调用,你可以规范化标准由样本大小使用“正常化”名称-值参数。

    1. 获得每个候选人的loglikelihood模型适合每个模型数据时使用估计。loglikelihood是第三的输出。

      [EstMdl EstSE logL E] =估计(…)
    2. 获得积极的每个候选模型的参数计算NumEstimatedParameters在输出的结构总结

      结果=总结(EstMdl);numparams = results.NumEstimatedParameters;

例如,假设您符合四个模型:模型1的滞后阶1,模型2的滞后订单2,等等。这些模型有loglikelihoodslogL1,logL2,logL3,logL4参数数量和活跃numparams1,numparams2,numparams3,numparams4。计算每个模型的另类投资会议。

AIC = aicbic ([logL1 logL2 logL3 logL4],…[numparams1 numparams2 numparams3 numparams4])

最小化了AIC最合适的模型。

另请参阅

对象

功能

相关的话题