此示例显示如何从VEC生成Monte Carlo预报(问)模型。该示例将生成的预测与最小均方误差(MMSE)预测和来自VAR(问+1)模型等效于VEC(问)模型。
假设具有H1 Johansen形式的VEC(2)模型恰当地描述了由1954年至1994年的短期、中期和长期债券利率组成的三维多元时间序列的动态。假设这个级数的协整秩为2。
加载Data_Canada
数据集。提取利率数据,占据数据的最后一列占据第三个数据。
负载Data_CanadaY = DataTable {:,3:结束};名称= dataTable.properties.variablenames(3:结束);t =尺寸(y,1)
T = 41
numseries = size(y,2)
numSeries = 3
用同样的图形绘制这个系列。
图绘图(日期,y,“线宽”, 2)包含“年”;ylabel.“百分比”;传奇(名称,'地点','nw') 标题'{bf加拿大利率,1954-1994}';轴紧的网格在
创建一个协整秩为2的3D VEC(2)模型。
numLags = 2;r = 2;Mdl =结果(numSeries r numLags);
估计VEC(2)模型。
EstMdl =估计(Mdl Y);
默认情况下,估计
适用H1 Johansen表格并使用第一个问+ 1 = 3个观察值作为样本数据。
从估计的VEC模型生成蒙特卡罗预测在10年的水平使用模拟
.提供最新的三行数据来初始化预测,并指定生成1000条响应路径。
numpaths = 1000;地平线= 10;y0 = y((结束-2):结束,:);RNG(1);重复性的%ysimvec =模拟(Estmdl,Horizo n,'numpaths',numpaths,“Y0”, Y0);
ysimvec.
是响应序列的模拟值的一个10 × 3 × 1000的数字数组。行对应预测视界中的时间段,列对应预测视界中的序列Y
,页面和页面对应于模拟路径
估算所有路径的每个时段和时间序列的预测的手段。为每个时段和时间序列构建95%百分位的预测间隔。
ymcvec =均值(ysimvec,3);YMCVECCI = Smasterile(YSIMVEC,[0.025,0.975],3);
YMCVEC.
是一个10×3个数字矩阵,包含每个时段(行)和时间序列(列)的蒙特卡罗预报。YMCVECCI
是一个10×3-of-2数字数组,包含每个时段(行)和时间序列(列)的2.5%和97.5%百分位数(页面)。
绘制有效样本观察、平均预测和95%百分位置信区间。
fdates =日期(结束)+(0:Horizo n)';图;h1 = plot([日期; fdates(2:结束)],[y; ymcvec],“线宽”2);甘氨胆酸h2 =;持有在h3 = plot(repmat(fdates,1,3),[y(结束,:,:); ymcvecci(:,:,1)],“——”,...“线宽”2);H3(1).Color = H1(1).Color;H3(2).color = h1(2).color;H3(3).Color = H1(3).Color;H4 = plot(repmat(fdates,1,3),[y(结束,:,:,:); ymcvecci(:,:,2)],“——”,...“线宽”2);H4(1).Color = H1(1).Color;H4(2).Color = H1(2).Color;H4(3).Color = H1(3).Color;补丁([FDATES(1)FDATES(1)FDATES(END)FDATES(END)],...[H2.YLIM(1)H2.YLIM(2)H2.YLIM(2)H2.YLIM(1)],“b”,“FaceAlpha”(0.1)包含“年”)ylabel(“百分比”) 标题('{\bf VEC模型蒙特卡罗预测}')轴紧的网格在传奇(h1, DataTable.Properties.VariableNames(3:结束),'地点',“最佳”);
通过使用,从估计的VEC模型中估算MMSE预测预测
.提供最新的三行数据来初始化预测。返回预测和各自的多元均方误差。
[ymmse,ymmsemse] =预测(Estmdl,Horizo n,Y0);
YMMSE
为MMSE预测的10 × 3数值矩阵。行对应预测地平线的周期,列对应预测中的序列Y
.YMMSEMSE
是3×3个数字矩阵的10×1个细胞矢量。细胞中的矩阵j是估计的,多元的MSE的三个预测值在时期j.矩阵的对角线值为预测mse,非对角线值为预测协方差。
估计wald型95%的预测区间。绘制MMSE预测和预测区间。
YMMSECI =零(Horizo n,Numseries,2);%预先配置YMMSEMSE = cell2mat (cellfun (@ (x)诊断接头(x)的YMMSEMSE,“UniformOutput”、假));ymmseci(:,:,1)= ymmse - 1.96 * sqrt(ymmsemse);ymmseci(:,:,2)= ymmse + 1.96 * sqrt(ymmsemse);图;h1 = plot([日期; fdates(2:结束)],[y; ymmse],“线宽”2);甘氨胆酸h2 =;持有在h3 = plot(repmat(fdates,1,3),[y(结束,:,:); ymmseci(:,:,1)],“——”,...“线宽”2);H3(1).Color = H1(1).Color;H3(2).color = h1(2).color;H3(3).Color = H1(3).Color;h4 = plot(repmat(fdates,1,3),[y(结束,:,:); ymmseci(:,:,2)],“——”,...“线宽”2);H4(1).Color = H1(1).Color;H4(2).Color = H1(2).Color;H4(3).Color = H1(3).Color;补丁([FDATES(1)FDATES(1)FDATES(END)FDATES(END)],...[H2.YLIM(1)H2.YLIM(2)H2.YLIM(2)H2.YLIM(1)],“b”,“FaceAlpha”(0.1)包含“年”)ylabel(“百分比”) 标题(“{\bf VEC模型MMSE预报}”)轴紧的网格在传奇(h1, DataTable.Properties.VariableNames(3:结束),'地点',“最佳”);
将估计的VEC(2)表示为VAR(3)模型。
Estmdlvar = Varm(estmdl)
Estmdlvar = Varm具有属性:“AR-NOTSTORATIONARY 3维var(3)型号”系列型:“Y1”“Y2”“Y3”NUMSERIES:3 P:3常数:[-1.73631 -0.313676 0.0649337'AR:{3×3矩阵}在滞后[1 2 3]趋势:[3×1 Zeros载体] Beta:[3×0矩阵]协方差:[3×3矩阵]
MdlVAR
是一个varm
模型对象。
通过使用10年来的VAR模型估算MMSE预测预测
.提供最新的三行数据来初始化预测。返回预测和各自的多元均方误差。
[YMMSEVAR, YMMSEMSEVAR] =预测(EstMdlVAR地平线,Y0);
的尺寸ymmsevar.
和YMMSEMSEVAR
是一样的YMMSE
和YMMSEMSE
,分别。
估计wald型95%的预测区间。绘制MMSE预测和预测区间。
YMMSEVARCI = 0(地平线numSeries 2);YMMSEMSEVAR = cell2mat (cellfun (@ (x)诊断接头(x)的YMMSEMSEVAR,“UniformOutput”、假));YMMSEVARCI(:,: 1) = YMMSE - 1.96*sqrt(YMMSEMSEVAR);YMMSEVARCI(:,: 2) = YMMSE + 1.96*sqrt(YMMSEMSEVAR);图;h1 = plot([日期; fdates(2:结束)],[y; ymmse],“线宽”2);甘氨胆酸h2 =;持有在h3 =情节(repmat (fDates 1 3), [Y (:,:);YMMSEVARCI (:,: 1)),“——”,...“线宽”2);H3(1).Color = H1(1).Color;H3(2).color = h1(2).color;H3(3).Color = H1(3).Color;h4 =情节(repmat (fDates 1 3), [Y (:,:);YMMSEVARCI (:: 2)),“——”,...“线宽”2);H4(1).Color = H1(1).Color;H4(2).Color = H1(2).Color;H4(3).Color = H1(3).Color;补丁([FDATES(1)FDATES(1)FDATES(END)FDATES(END)],...[H2.YLIM(1)H2.YLIM(2)H2.YLIM(2)H2.YLIM(1)],“b”,“FaceAlpha”(0.1)包含“年”)ylabel(“百分比”) 标题('{\ bf var model mmse预测}')轴紧的网格在传奇(h1, DataTable.Properties.VariableNames(3:结束),'地点',“最佳”);
确认来自VEC和VAR模型的MMSE预测是相同的。
(ymmse - ymmsevar)'*(ymmse - ymmsevar)> eps
ans =3 x3逻辑阵列0 0 0 0 0 0 0 0 0
模型间的MMSE预测结果是一致的。