VAR模型预测
这个例子展示了如何使用预测
预测一个VAR模型。
预测
允许您生成MMSE预测与误差估计。预测
要求:
一个完全指定的模型(例如,
EstMdl
在下面)预测期的数量(例如,
numperiods
在下面)presample时间序列(例如,
Y (end-3:,)
在下面)
预测
可以有选择地将:
一个外生数据系列
额外的路径
加载Data_USEconModel
两个时间序列数据集。这个例子使用:实际国内生产总值的对数,和真正的三个月期国库券us3mt = rr收益率差大约是静止的。假设一个VAR(4)适当的模型来描述时间序列。
负载Data_USEconModelDEF =日志(DataTimeTable.CPIAUCSL);国内生产总值=日志(DataTimeTable.GDP);rGDP = diff(国内生产总值- DEF);%实际国内生产总值GDP——通货紧缩TB3 = 0.01 * DataTimeTable.TB3MS;dDEF = 4 * diff (DEF);%比例rTB3 = TB3(2:结束)- dDEF;%真正感兴趣的放气Y = [rGDP rTB3];
适合VAR模型(4)规格:
Mdl = varm (2、4);Mdl。SeriesNames = {改变了实际国内生产总值的,“改变了真实3-mo国库券利率”};EstMdl =估计(Mdl Y);
预测时间序列的进化:
numperiods = 21;FDates = dateshift (DataTimeTable.Time(结束),“结束”,“季”1:numperiods);(预估,ForecastMSE) =预测(EstMdl numperiods Y (end-3:最终,));
从矩阵中提取主对角线元素的每一个细胞ForecastMSE
。应用结果的平方根获得标准错误。
extractMSE = @ (x)诊断接头(x) ';MSE = cellfun (extractMSE ForecastMSE,“UniformOutput”、假);SE =√cell2mat (MSE));
估计大约95%的预估区间为每个反应级数。
ForecastFI = 0 (numperiods Mdl.NumSeries 2);ForecastFI (:,: 1) = - 2 * SE预测;ForecastFI (:: 2) = + 2 * SE预测;
预测和数据。
图h1 =情节(DataTimeTable.Time ((end-49):结束),Y(结束(end-49): 1));持有在h2 =情节(FDates预测(:1));h3 =情节(FDates ForecastFI (:, 1, 1),“k——”);情节(FDates ForecastFI (:, 1, 2),“k——”);标题(“实际GDP增长率”甘氨胆酸)h =;填充([FDates (1) h。XLim (2 [2]) FDates (1)), h。YLim ([1 1 2 2]),“k”,…“FaceAlpha”,0.1,“EdgeColor”,“没有”);传奇((h1 h2 h3),“真正的”,“预测”,“95%的预测区间”,…“位置”,“西北”)举行从
图h1 =情节(DataTimeTable.Time ((end-49):结束),Y ((end-49):最后,2));持有在h2 =情节(FDates预测(:,2));h3 =情节(FDates ForecastFI (:, 2, 1),“k——”);情节(FDates ForecastFI (:, 2, 2),“k——”);标题(“三个月期国库券us3mt = rr收益率”甘氨胆酸)h =;填充([FDates (1) h。XLim (2 [2]) FDates (1)), h。YLim ([1 1 2 2]),“k”,…“FaceAlpha”,0.1,“EdgeColor”,“没有”);传奇((h1 h2 h3),“真正的”,“预测”,“95%的预测区间”,…“位置”,“西北”)举行从