主要内容

预测VAR模型

此示例显示了如何使用预报预测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%预测间隔'......'地点''西北') 抓住离开;

图包含轴。标题实际GDP增长率的轴包含5个类型的线条,贴片。这些对象代表True,预测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%预测间隔'......'地点''西北') 抓住离开;

图包含轴。标题为3个月T账单率的轴包含5个类型的类型,贴片。这些对象代表True,预测95%的预测间隔。

也可以看看

对象

职能

相关话题