过滤

通过向量自回归(VAR)模型滤波器的干扰

描述

ÿ=过滤器(Mdlž返回多元响应系列ÿ,其结果从过滤底层多元扰动系列ž。该ž系列通过完全指定的VAR(p)模型Mdl

ÿ=过滤器(Mdlž名称,值使用由一个或多个名称值对参数中指定的附加选项。例如,您可以指定外生预测数据还是通过模式创新的协方差矩阵的下三角的Cholesky系数缩放的干扰。

[ÿË] =过滤器(___返回的多元模式创新系列Ë使用任何在前面的语法输入参数。

例子

全部折叠

飞度VAR(4)模型的居民消费价格指数(CPI)和失业率数据。然后,通过过滤随机系列高斯的模拟响应分布通过估计模型的扰动。

加载Data_USEconModel数据集。

加载Data_USEconModel

把这两个系列放在不同的地块上。

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

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

通过将其转换为一系列增长率的稳定CPI。通过从失业率系列的第一观察同步两大系列。创建包含变量转化一个新的数据集,并且不包括包含至少一个缺少观察任何行。

RCPI = price2ret(DataTable.CPIAUCSL);unrate = DataTable.UNRATE(2:结束);IDX =所有(〜ISMISSING([RCPI unrate]),2);数据= array2timetable([RCPI(IDX)unrate(IDX)],...'RowTimes',DataTable.Time(IDX),“VariableNames”,{'RCPI''unrate'});

创建使用语法速记默认VAR(4)模型。

MDL = varm(2,4);

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

EstMdl =估计(MDL,Data.Variables);

EstMdl是完全指明的,估计varm模型对象。

生成一个numobs-by-2系列随机高斯分布的值,其中numobs是数据中观察到的次数。

numobs =大小(数据,1);rng (1)%用于重现Z = mvnrnd(零(Mdl.NumSeries,1),眼(Mdl.NumSeries),numobs);

为了模拟响应,通过估计模型过滤干扰。

Y =过滤器(EstMdl, Z);

ÿ是一个245×2的模拟响应矩阵。第一列和第二列分别包含模拟CPI增长率和失业率。

画出模拟的和真实的回应。

图;情节(Data.Time, Y (: 1));保持;图(Data.Time,Data.rcpi)ylabel('增长率')包含('日期')标题(“CPI增速”);传说('模拟''真正'

图;情节(Data.Time,Y(:,2));保持;图(Data.Time,Data.unrate)ylabel(“百分比”);xlabel('日期')标题(“失业率”);传说('模拟''真正'

估计VAR(4)居民消费价格指数(CPI),失业率,以及国内生产总值(GDP)的模型。包括含有当前季度的线性回归分量和政府消费支出和投资(GCE)的过去四个季度。通过估计模型传递多个多元高斯干扰路径。

加载Data_USEconModel数据集。计算实际GDP。

加载Data_USEconModel数据表。RGDP = DataTable.GDP. / DataTable.GDPDEF * 100;

绘制在不同地块的所有变量。

图;副区(2,2,1)情节(DataTable.Time,DataTable.CPIAUCSL);ylabel(“指数”);标题('消费者价格指数');次要情节(2 2 2)情节(DataTable.Time DataTable.UNRATE);ylabel(“百分比”);标题(“失业率”);副区(2,2,3-)情节(DataTable.Time,DataTable.RGDP);ylabel(“输出”);标题(“实际国内生产总值”);副区(2,2,4)情节(DataTable.Time,DataTable.GCE);ylabel(数十亿美元的);标题(“政府支出”);

每个转换成一连串增长率的稳定CPI,GDP和GCE。通过移除它的第一个观测同步失业率系列与他人。

数据源= {'CPIAUCSL'“RGDP”“全球教育运动”};数据= varfun(@ price2ret,数据表,'InputVariables',inputVariables);Data.Properties.VariableNames = inputVariables;Data.UNRATE = DataTable.UNRATE(2:结束);

通过四个滞后值展开GCE率系列,其包括它的当前值的矩阵和向上。除掉GCE从变量数据

rgcelag4 = lagmatrix(Data.GCE,0:4);Data.GCE = [];

创建使用语法速记默认VAR(4)模型。

MDL = varm(3,4);Mdl.SeriesNames = {'RCPI''unrate''rgdpg'};

估计使用整个样品的模型。指定GCE矩阵作为回归分量的数据。

EstMdl =估计(Mdl Data.Variables,“X”,rgcelag4);

产生的1000路numobs从3-d高斯分布的观察。numobs是在数据观测无任何缺失值的数目。

numpaths = 1000;numseries = Mdl.NumSeries;idx = all(~ismissing([Data array2table(rgcelag4)],2);numobs =总和(idx);rng (1);Z = mvnrnd (0 (Mdl.NumSeries, 1)、眼睛(Mdl.NumSeries) numobs * numpaths);Z =重塑(Z, [numobs 3 numpaths]);

通过估计模型过滤干扰。供应的预测数据。返回创新(缩放干扰)。

[Y,E] =滤波器(EstMdl,Z,“X”,rgcelag4);

ÿË是244×3逐1000矩阵分别过滤反应和缩放的干扰,的。列分别对应于CPI增长率,失业率和GDP增长率。过滤将相同的预测数据应用于所有路径。

对于每个时间点,计算所有路径中的过滤响应的均值向量。

MeanFilt =平均(Y,3);

MeanFilt是244×3含有平均响应的在每个时间点矩阵。

绘制过滤后的响应、它们的平均值和数据。

=数据(idx:);图;对于J = 1:Mdl.NumSeries副区(2,2,j)的积(Data.Time,挤压(Y(:,J,:)),'颜色',0.8,0.8,0.8)标题(Mdl.SeriesNames {j});保持H1 =情节(Data.Time,数据{:,J});H2 =情节(Data.Time,MeanFilt(:,J));保持结束HL =图例([H1 H2],'数据''意思');hl.Location ='没有';hl.Position = [0.6 0.25 hl.Position(3:4)];

输入参数

全部折叠

VAR模型,指定为varm模型对象的创建varm估计Mdl必须详细说明。

与模型创新过程相关的多元扰动序列,具体为numobs-通过-numseries数字矩阵或numobs-通过-numseries-通过-numpaths数字数组。

numobs是样本大小。numseries是(障碍系列数Mdl.NumSeries)。numpaths是干扰路径的数量。

行对应于采样时间,最后一行包含最新的扰动集。

列对应的独立干扰一系列反应变量。

页对应于单独的,独立的路径。对于数字矩阵,ž是一个单numseries-扰动序列的维路径。对于三维数组,每一页的ž代表一个单独的numseries维路径。在所有的页面,在相应的行骚乱发生在同一时间。

“规模”前名称 - 值对参数指定是否缩放扰动过滤他们通过过滤器Mdl。有关更多细节,请参见规模

数据类型:

名称-值对的观点

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

例:'规模',假的, 'X',X不结垢ž由模型协方差矩阵的下三角的Cholesky因数滤波前,并使用该矩阵X作为回归部件预测数据。

样品前体反应,对于该模型提供的初始值Mdl,指定为逗号分隔的对,由'Y0'和一个numpreobs-通过-numseries数字矩阵或numpreobs-通过-numseries-通过-numprepaths数字数组。

numpreobs是预充足观测值的个数。numprepaths是的样品前体反应路径的数量。

行对应于预充足的观察,最后一行包含最新的预充足的观察。Y0至少Mdl.P行。如果你提供的行数比需要的多,过滤采用了最新的Mdl.P只有观察。

列必须对应于响应系列ÿ

页对应于单独的,独立的路径。

  • 如果Y0是一个矩阵,然后过滤它适用于每个路径(页)ÿ。因此,所有的路径都是ÿ由一般的初始条件推出。

  • 否则,过滤适用Y0 (:,:ĴY(:,:,ĴY0至少numpaths页,过滤只使用第一个numpaths页面。

在所有的网页,在一个特定的行观察发生在同一时间。

默认情况下,过滤设置任何必要的预充足的观测。

  • 对于没有回归分量的平稳VAR过程,过滤使用无条件均值 μ = Φ 1 大号 C

  • 对于包含回归成分的非平稳过程或模型,过滤集样品前体观测到零组成的阵列。

数据类型:

模型中回归分量的预测数据,指定为逗号分隔对“X”和包含数字矩阵numpreds列。

numpreds是(预测变量的数目大小(Mdl.Beta,2))。

行对应于观测,最后一行包含最新的观察。X至少要有和ž。如果你提供的行数比需要的多,过滤只使用最新的观测结果。过滤在样品前期间不使用回归成分。

列对应于个体预测变量。所有预测器变量存在于每个响应方程的回归组件。

过滤适用X在每个路径(页)ž;也就是说,X表示观察到的预测结果的一个路径。

默认情况下,过滤不包括在回归部件,而不管其存在的Mdl

数据类型:

标志指示扰动是否由模型协方差矩阵的下三角乔列斯基因子进行标度,指定为逗号分隔对组成“规模”真正的

对于每个页面Ĵ= 1,...,numpaths过滤过滤器的numobs-通过-numseries创新的矩阵E(:,:,Ĵ通过VAR(p)模型Mdl,根据这些条件。

  • 如果规模真正的, 然后E(:,:,Ĵ=L * Z(:,:,Ĵ大号=胆固醇(Mdl.Covariance,“低”)

  • 如果规模, 然后E(:,:,Ĵ=Z (:,:Ĵ

例:“规模”,假的

数据类型:合乎逻辑

注意

为NaNžY0,X表明缺失值。过滤通过删除列表删除明智失踪的数据值。

  1. 如果ž是三维数组吗过滤水平串接的页面ž形成numobs-通过-numpaths * numseries矩阵。

  2. 如果存在回归分量,则过滤水平会连接Xž形成numobs-通过-(numpaths * numseries + numpreds)矩阵。过滤假设每个系列的最后几行同时出现。

  3. 过滤删除了包含至少一个任意行为NaN从串联数据。

  4. 过滤适用步骤1和3在样品前体路径Y0

这个过程确保了每一路径的滤波响应和创新是相同的大小,并且基于相同的观测时间。在缺失观察的情况下,结果,从多个路径获得ž可以根据从每个单独的路径得到的结果不同。

这种类型的数据减少减少了有效样本容量。

输出参数

全部折叠

筛选多变量响应序列,作为a返回numobs-通过-numseries数字矩阵或numobs-通过-numseries-通过-numpaths数字数组。ÿ代表了样品前体反应的延续Y0

多变量模型的创新系列,返回为numobs-通过-numseries数字矩阵或numobs-通过-numseries-通过-numpaths数字数组。有关的值的详细信息Ë规模

算法

  • 过滤单位计算ÿË采用这种工艺的每一页Ĵž

    1. 如果规模真正的, 然后E(:,:,Ĵ=L * Z(:,:,Ĵ,其中大号=胆固醇(Mdl.Covariance,“低”)。否则,E(:,:,Ĵ=Z (:,:Ĵ。组ËŤ=E(:,:,Ĵ

    2. Y(:,:,ĴÿŤ在该方程组。

      ÿ Ť = Φ ^ 1 大号 C ^ + δ ^ Ť + Ë Ť

      对于变量的定义,请参阅更多关于

  • 过滤推广模拟。这两个函数通过一个模型来过滤一个干扰序列,从而产生响应和创新。然而,而模拟产生一系列的均值为零、单位方差、独立的高斯扰动ž以形式创新Ë=L *ž过滤使您可以从任何供应分布紊乱。

  • 过滤使用此过程来确定时间原点Ť0包括线性时间趋势的模型。

    • 如果没有指定Y0, 然后Ť0= 0。

    • 否则,过滤Ť0大小(Y0,1)-Mdl.P。因此,在时间的趋势组成部分Ť=Ť0+ 1,Ť0+ 2,…,Ť0+numobs,其中numobs为有效样本量(大小(Y,1)过滤去除了缺失值)。这项公约与模型估计的默认行为是一致的,其中估计删除第一个Mdl.P响应,减少有效样本量。虽然过滤显式地使用第一个Mdl.Ppresample反应Y0初始化模式,观测在总数Y0ÿ(不包括丢失的值)确定Ť0

参考文献

[1]汉密尔顿,j . D。时间序列分析。普林斯顿:普林斯顿大学出版社,1994年。

[2]约翰森S.在协整向量自回归模型的可能性为基础的推理。牛津:牛津大学出版社,1995年。

[3]Juselius,K.协整VAR模型。牛津:牛津大学出版社,2006年。

[4]Lutkepohl, H。新介绍多时间序列分析。柏林:施普林格出版社,2005年。

介绍了在R2017a