此示例显示了如何使用预报
预测VAR模型。
预报
使您可以生成错误估计的MMSE预测。预报
需要:
一个完全指定的模型(例如,estmdl.
在下文中)
预测的期间数量(例如,numperiods.
在下文中)
预定时间序列(例如,y(结束3:结束,:)
在下文中)
预报
可选择采取:
外源数据系列
额外的路径
加载DATA_USECONMODEL.
数据集。此示例使用两次序列:真正的GDP的对数,以及真正的3个月T账单率,两者都有差异近似静止。假设VAR(4)模型适合描述时间序列。
加载DATA_USECONMODEL.def = log(dataTable.cpiaucsl);gdp = log(dataTable.gdp);RGDP = Diff(GDP - Def);%真实GDP是GDP - 通货紧缩TB3 = 0.01 * DataTable.TB3MS;ddef = 4 * diff(def);%缩放RTB3 = TB3(2:END) - DDEF;%真正的兴趣是缩小的Y = [RGDP,RTB3];
适合var(4)型号规格:
mdl = varm(2,4);mdl.seriesnames = {'转变真正的GDP'那'改变了真正的3-Mo T-账单率'};estmdl =估计(mdl,y);
预测时间序列的演变:
numperiods = 21;fdates = dateshift(DataTable.Time(END),'结尾'那'25美分硬币',1:numperiods);[预测,预测] =预测(Estmdl,Numperiods,Y(结束3:结束,:));
从每个单元格中的矩阵中提取主对角线元素预兆
。应用结果的平方根以获得标准错误。
ExtractMse = @(x)诊断(x)';MSE = Cellfun(ExtractMse,Forecastmse,'统一输出',错误的);se = sqrt(cell2mat(mse));
估计每个响应系列的近似95%预测间隔。
ForecastFi = Zeros(Numperiods,MDL.Numseries,2);ForecastFi(:,:,1)=预测 - 2 * SE;ForecastFi(:,:,2)=预测+ 2 * SE;
绘制预测和数据。
数字;h1 = plot(DataTable.Time(((结束-49):结束),y((结束-49):结束,1));抓住上;H2 = Plot(FDates,预测(:,1));H3 = Plot(FDates,ForecastFi(:,1,1),'k-');情节(FDATES,FORPASTFI(:,1,2),'k-');标题('真正的GDP增长率');H = GCA;填充([Fdates(1)H.xlim([2 2])Fdates(1)],H.YLIM([1 1 2 2]),'K'那......'Facealpha',0.1,'Edgecolor'那'没有任何');传奇([H1 H2 H3],'真的'那'预报'那'95%预测间隔'那......'地点'那'西北') 抓住离开;
数字;H1 = Plot(DataTable.Time(((结束-49):结束),y((结束-49):结束,2));抓住上;H2 = Plot(FDates,预测(:,2));H3 = Plot(FDates,ForecastFi(:,2,1),'k-');情节(FDATES,FORPASTFI(:,2,2),'k-');标题('3个月T-账单率');H = GCA;填充([Fdates(1)H.xlim([2 2])Fdates(1)],H.YLIM([1 1 2 2]),'K'那......'Facealpha',0.1,'Edgecolor'那'没有任何');传奇([H1 H2 H3],'真的'那'预报'那'95%预测间隔'那......'地点'那'西北') 抓住离开;