主要内容

模拟

蒙特卡罗模拟的向量纠错(VEC)模型

描述

例子

Y=模拟(Mdl,numobs)返回一个随机的numobs时期的多元反应系列(YVEC()指定的完全模拟p- 1)模型Mdl

例子

Y=模拟(Mdl,numobs,名称,值)使用附加选项指定一个或多个名称参数。例如,“X”“NumPaths”, 1000年,X指定路径和模拟1000X作为外生回归预测数据组件。

例子

(Y,E)=模拟(___)返回模式创新E使用任何输入参数在前面的语法。

例子

全部折叠

VEC模型考虑以下七个宏观经济系列,然后适应模型数据。

  • 国内生产总值(GDP)

  • 国内生产总值物价折算指数

  • 支付员工薪酬

  • 非农商业部门的所有人

  • 有效联邦基金利率

  • 个人消费支出

  • 国内私人投资总额

假设协整排4和一个短期的术语是适当的,也就是说,考虑一个VEC(1)模型。

加载Data_USEconVECModel数据集。

负载Data_USEconVECModel

在数据集和变量的更多信息,进入描述在命令行中。

确定是否需要预处理的数据绘制系列在不同的情节。

图;次要情节(2、2、1)情节(FRED.Time FRED.GDP);标题(“国内生产总值”);ylabel (“指数”);包含(“日期”);次要情节(2 2 2)情节(FRED.Time FRED.GDPDEF);标题(“GDP平减指数”);ylabel (“指数”);包含(“日期”);次要情节(2,2,3)情节(FRED.Time FRED.COE);标题(员工的薪酬支付);ylabel (数十亿美元的);包含(“日期”);次要情节(2,2,4)情节(FRED.Time FRED.HOANBS);标题(“非农商业部门小时”);ylabel (“指数”);包含(“日期”);

图包含4轴对象。坐标轴对象1标题占国内生产总值(gdp)包含一个类型的对象。坐标轴对象2标题GDP平减指数包含一个类型的对象。坐标轴对象3标题支付薪酬的员工包含一个类型的对象。坐标轴对象4标题非农商业部门小时包含一个类型的对象。

图;次要情节(2、2、1)情节(FRED.Time FRED.FEDFUNDS);标题(“联邦基金利率”);ylabel (“百分比”);包含(“日期”);次要情节(2 2 2)情节(FRED.Time FRED.PCEC);标题(“消费支出”);ylabel (数十亿美元的);包含(“日期”);次要情节(2,2,3)情节(FRED.Time FRED.GPDI);标题(“国内私人投资总额”);ylabel (数十亿美元的);包含(“日期”);

图包含3轴对象。坐标轴对象1标题联邦基金利率包含一个类型的对象。坐标轴对象2标题消费支出包含一个类型的对象。坐标轴对象3标题国内私人投资总额包含一个类型的对象。

稳定所有系列,除了联邦基金利率,运用对数变换。规模的系列100年所有系列都在相同的规模。

弗雷德。国内生产总值= 100 *日志(FRED.GDP);弗雷德。GDPDEF = 100 *日志(FRED.GDPDEF);弗雷德。COE = 100*log(FRED.COE); FRED.HOANBS = 100*log(FRED.HOANBS); FRED.PCEC = 100*log(FRED.PCEC); FRED.GPDI = 100*log(FRED.GPDI);

创建一个结果(1)模型使用简写语法。指定变量名。

Mdl =结果(7 4 1);Mdl.SeriesNames=弗雷德。Properties.VariableNames
Mdl =结果属性:描述:“7-Dimensional排名VEC(1) = 4模型与线性时间趋势”SeriesNames:“GDP”“GDPDEF”“卓越中心”……和4更NumSeries: 7等级:4 P: 2常数:[7×1的向量nan]调整:[7×4矩阵nan)协整:[7×4矩阵nan)影响:[7×7矩阵nan] CointegrationConstant:[4×1的向量nan] CointegrationTrend:[4×1的向量nan]短期的:{7×7矩阵nan}在滞后[1]的趋势:[7×1的向量nan]β:协方差矩阵[7×0]:[7×7矩阵nan)

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

估计模型使用整个数据集和默认选项。

FRED.Variables EstMdl =估计(Mdl)
EstMdl =结果属性:描述:“7-Dimensional排名VEC(1) = 4模式”SeriesNames:“GDP”“GDPDEF”“卓越中心”……和4更NumSeries: 7等级:4 P: 2常数:[14.1329 8.77841 -7.20359……和4)的调整:[7×4矩阵]协整:[7×4矩阵)影响:[7×7矩阵]CointegrationConstant: [-28.6082 109.555 -77.0912……和1]“CointegrationTrend:(4×1零向量)短期的:{7×7矩阵}在滞后[1]的趋势:[7×1的向量0]β:协方差矩阵[7×0]:[7×7矩阵)

EstMdl是一个估计结果模型对象。它是完全因为所有参数已知值指定。默认情况下,估计强加的约束H1 VEC模型形式通过移除Johansen协整的趋势从模型和线性趋势。参数被排除在估计相当于实施等式约束为零。

从估计模型模拟一系列反应路径的长度等于路径数据。

rng (1);%的再现性numobs =大小(弗雷德,1);Y =模拟(EstMdl numobs);

Y是一个240 -,- 7矩阵模拟响应。列对应的变量名EstMdl.SeriesNames

说明之间的关系模拟过滤器VEC(1)通过估计4 d模型的四个响应系列Johansen的丹麦数据集。单一的反应路径模拟使用拟合模型和历史数据作为初始值,然后过滤一组随机的高斯干扰通过估计模型使用相同的presample反应。

加载约翰森丹麦的经济数据。

负载Data_JDanish

有关的变量,输入描述

VEC(1)创建一个默认的4 d模型。假设协整的秩1是适当的。

Mdl =结果(4,1,1);Mdl.SeriesNames=DataTable.Properties.VariableNames
Mdl =结果属性:描述:“四维排名VEC(1) = 1模型与线性时间趋势”SeriesNames:“平方米”“Y”“IB”…和1更NumSeries: 4排名:1 P: 2常数:[4×1的向量NaN]调整:[4×1矩阵NaN)协整:[4×1矩阵NaN)影响:[4×4矩阵NaN] CointegrationConstant:南CointegrationTrend:南短期的:{4×4矩阵NaN}在滞后[1]的趋势:[4×1的向量NaN]β:协方差矩阵[4×0]:[4×4矩阵NaN)

VEC(1)估计模型使用整个数据集。指定H1 *约翰森模型形式。

EstMdl =估计(Mdl、数据“模型”,“H1 *”);

当繁殖的结果模拟过滤器,重要的是要采取这些行动。

  • 设置相同的随机数种子使用rng

  • 指定相同的presample响应数据使用“Y0”名称-值对的论点。

设置默认随机种子。通过估计模型模拟100次观测结果模拟。指定presample整个数据集。

rng默认的;YSim =模拟(EstMdl, 100,“Y0”、数据);

YSim是由- 100 - 4矩阵模拟响应。列对应的列变量EstMdl.SeriesNames

设置默认随机种子。模拟4系列的100年观测标准高斯分布。

rng默认的;Z = randn (100 4);

过滤高斯值通过估计模型。指定presample整个数据集。

YFilter =过滤器(EstMdl, Z,“Y0”、数据);

YFilter是由- 100 - 4矩阵模拟响应。列对应的列变量EstMdl.SeriesNames。在过滤干扰之前,过滤器尺度Z下三角的柯列斯基因素模型的协方差EstMdl.Covariance

比较结果之间的反应过滤器模拟

(YSim - YFilter)‘* (YSim - YFilter)
ans =4×40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

结果是相同的。

VEC(1)模型认为这三个假设的反应级数。

Δ y t = c + 一个 B y t - - - - - - 1 + Φ 1 Δ y t - - - - - - 1 + ε t = ( - - - - - - 1 - - - - - - 3 - - - - - - 3 0 ] + ( - - - - - - 0 3 0 3 - - - - - - 0 2 0 1 - - - - - - 1 0 ] ( 0 1 - - - - - - 0 2 0 2 - - - - - - 0 7 0 5 0 2 ] y t - - - - - - 1 + ( 0 0 1 0 2 0 2 - - - - - - 0 2 0 0 7 - - - - - - 0 2 0 3 ] Δ y t - - - - - - 1 + ε t

创新是多元高斯平均为0和协方差矩阵

Σ = ( 1 3 0 4 1 6 0 4 0 6 0 7 1 6 0 7 5 ]

创建变量的参数值。

调整= [-0.3 - 0.3;-0.2 - 0.1;1 0];协整= [0.1 - -0.7;-0.2 - 0.5;0.2 - 0.2);短期的= {[0。0.1 - 0.2;0.2 - -0.2 0;0.7 -0.2 0.3]}; Constant = [-1; -3; -30]; Trend = [0; 0; 0]; Covariance = [1.3 0.4 1.6; 0.4 0.6 0.7; 1.6 0.7 5];

创建一个结果代表VEC模型对象(1)使用适当的名称-值对模型参数。

Mdl =结果(“调整”调整,协整的协整,“不变”常数,“短期的”短期的,“趋势”的趋势,协方差的、协方差);

Mdl实际上是一个完全指定的吗结果模型对象。即协整系数线性趋势不明,但不需要模拟观测或鉴于整个常数和趋势预测参数是已知的。

模拟1000 100观测的路径。返回的创新(按比例缩小的干扰)。

numpaths = 1000;numobs = 100;rng (1);%的再现性(Y, E) =模拟(Mdl numobs,“NumPaths”,numpaths);

Y是由- 3 100 - - - 1000矩阵的模拟响应。E是一个矩阵的维度对应的尺寸吗Y,但代表了模拟,按比例缩小的干扰。列对应的响应变量名Mdl.SeriesNames

对于每一个时间点,计算出平均向量的模拟反应在所有路径。

MeanSim =意味着(Y, 3);

MeanSim是一个100 -,- 7矩阵包含模拟反应在每个时间点的平均水平。

画出模拟的反应和他们的平均水平。

图;j = 1: Mdl。NumSeries次要情节(2,2,j)情节(挤压(Y (: j:)),“颜色”,0.8,0.8,0.8)标题(Mdl.SeriesNames {j});持有情节(MeanSim (:, j));包含(“时间指数”)举行结束

图包含3轴对象。坐标轴对象1标题1001日元包含对象类型的线。坐标轴对象2与标题Y2包含1001行类型的对象。坐标轴对象3标题Y3包含1001行类型的对象。

输入参数

全部折叠

VEC模型,指定为一个结果创建的模型对象结果估计Mdl必须完全指定。

数量的随机观测生成每输出路径,指定为一个正整数。输出参数YEnumobs行。

数据类型:

名称-值参数

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:Y0, Y0, X, X使用矩阵Y0presample反应和矩阵X作为回归预测数据组件。

数量的样本路径生成,指定为逗号分隔组成的“NumPaths”和一个正整数。输出参数YENumPaths页面。

例子:“NumPaths”, 1000年

数据类型:

Presample反应为模型提供初始值,指定为逗号分隔组成的“Y0”和一个numpreobs——- - - - - -numseries数字矩阵或numpreobs——- - - - - -numseries——- - - - - -numprepaths数字数组。

numpreobs是presample观测的数量。numseries反应级数的数量(Mdl.NumSeries)。numprepathspresample反应路径的数量。

行对应presample观察,和最后一行包含最新presample观察。Y0必须至少有Mdl.P行。如果你提供更多不必要的行,模拟使用了最新的Mdl.P观察。

列必须对应响应系列名称Mdl.SeriesNames

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

  • 如果Y0是一个矩阵,然后呢模拟它适用于模拟每个样本路径(页面)。因此,所有路径输出参数Y源于共同的初始条件。

  • 否则,模拟适用于Y0 (:,:j)初始化模拟路径jY0必须至少有numpaths页面(见NumPaths),模拟只使用第一numpaths页面。

默认情况下,模拟集任何必要presample观察。

  • 静止的VAR过程没有回归组件,模拟集presample观测到无条件的意思 μ = Φ 1 ( l ) c

  • 对于非平稳过程或模型包含一个回归组件,模拟集presample观测为零。

数据类型:

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

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

行对应于观测,最后一行包含最新的观测。X必须至少有numobs行。如果你提供更多不必要的行,模拟只使用最新的numobs观察。模拟不使用回归组件presample时期。

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

模拟适用于X每条路径(页面);也就是说,X代表观察到的预测路径之一。

默认情况下,模拟排除了回归组件,无论它的存在Mdl

数据类型:

未来的多元反应级数条件模拟,指定为逗号分隔组成的“。”和一个数字矩阵或数组包含numseries列。

行对应于仿真观察地平线,第一行是最早的观察。具体地说,行j在样本路径k(YF (j:,k))包含的响应j时间进入未来。YF必须至少有numobs行仿真地平线。如果你提供更多不必要的行,模拟只使用第一numobs行。

列必须对应于响应变量名Mdl.SeriesNames

页面对应样本路径。具体来说,路径k(YF (:,:k))捕获状态,或知识、反应级数的发展从过去presample (Y0)进入未来。

  • 如果YF是一个矩阵,然后呢模拟适用于YF每一个numpaths输出路径(见NumPaths)。

  • 否则,YF必须至少有numpaths页面。如果你提供更多不必要的页面,模拟只使用第一numpaths页面。

的元素YF可以数字标量或缺失值(显示值)。模拟将数字标量视为确定性提前知道未来的反应,例如,制定的政策。模拟对相应的模拟响应值条件已知的值。

默认情况下,YF是一个数组组成的吗值表示一个完整的缺乏知识的未来状态的模拟响应。因此,模拟获得输出响应Y从传统的,无条件的蒙特卡罗模拟。

更多细节,请参阅算法

例子:考虑模拟一条路径反应VEC模型由四个系列的三个时期。假设您有先验知识对未来的一些值的反应,和你想模拟未知反应条件在你的知识。指定YF包含值,你知道,作为一个矩阵和使用为你不知道但是想模拟值。例如,“YF”,[南2 5南;南南0.1南;南南南南)指定你没有知识的第一和第四的未来值响应系列;你知道时期1的值在第二反应级数,但没有其他的价值;你知道时间的值1和2在第三系列反应,但不是时期3的值。

数据类型:

请注意

Y0X显示缺失值。模拟从数据中删除缺失值list-wise删除。如果Y0是一个三维数组,然后呢模拟执行这些步骤。

  1. 横向连接形成一个页面numpreobs——- - - - - -numpaths * numseries矩阵。

  2. 包含至少一个删除任何行连续数据。

失踪的观察,从多条路径的结果Y0可以从每个路径不同于获得的结果。

条件模拟(见YF),如果X包含任何失踪的最新值numobs观察,然后模拟抛出一个错误。

输出参数

全部折叠

模拟多元系列反应,作为一个返回numobs——- - - - - -numseries数字矩阵或numobs——- - - - - -numseries——- - - - - -numpaths数字数组。Y代表了presample反应的延续Y0

如果您指定未来反应条件模拟使用YF名称-值对的论点,然后的已知值YF出现在相同的位置Y。然而,Y包含模拟值丢失的观察YF

模拟的多变量模型创新系列,作为一个返回numobs——- - - - - -numseries数字矩阵或numobs——- - - - - -numseries——- - - - - -numpaths数字数组。

如果你指定条件模拟(见未来的反应YF名称-值对的观点),然后模拟推断的已知值的创新YF和地方的推断创新相应的职位E。失踪的观察YF,模拟从高斯分布条件在任何已知的值,并将画在相应的位置E

算法

  • 模拟所有页面的执行条件模拟使用这个过程k= 1,…,numpaths对于每一次t= 1,…,numobs

    1. 模拟推断(或逆过滤器)的创新E (t:,k)从已知的未来的反应YF (t:,k)。为E (t:,k),模拟模仿的模式值出现在YF (t:,k)

    2. 丢失的元素E (t:,k),模拟执行这些步骤。

      1. Z1,标准的高斯分布随机扰动条件已知的元素E (t:,k)

      2. 规模Z1的下三角柯列斯基因素条件协方差矩阵。也就是说,Z2=L * Z1,在那里l=胆固醇(C,“低”)C的协方差条件高斯分布。

      3. 嫁祸于Z2中相应的缺失值E (t:,k)

    3. 缺失值YF (t:,k),模拟过滤器通过模型相应的随机的创新Mdl

  • 模拟使用这个过程来确定起源的时间t0的模型,包括线性时间趋势。

    • 如果你不指定Y0,然后t0= 0。

    • 否则,模拟t0大小(Y0, 1)- - - - - -Mdl.P。因此,组件是时代的趋势t=t0+ 1,t0+ 2,…,t0+numobs。本公约的默认行为是一致的模型估计中估计删除第一个Mdl.P反应,减少了有效的样本大小。虽然模拟显式地使用第一Mdl.Ppresample反应Y0初始化模型,观察的总数Y0(不含任何缺失值)决定t0

引用

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

[2]约翰森,S。基于可能性推理在共合体向量自回归模型。牛津:牛津大学出版社,1995年。

[3]Juselius, K。共合体VAR模型。牛津:牛津大学出版社,2006年。

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

另请参阅

对象

功能

介绍了R2017b