预测
描述
例子
计算最优点预测
从两国经建会预测响应路径动态回归模型一维反应过程。这个示例使用任意参数的值的数据生成过程(文章)。
为文章创建完全指定的模型
创建一个两国并存的离散时间马尔可夫链模型,描述了政权转换机制。标签的政权。
P = [0.9 - 0.1;0.3 - 0.7);mc = dtmc (P,“StateNames”,(“扩张”“衰退”]);
mc
是一个完全指定的dtmc
对象。
对于每一个政权,用arima创建一个AR模型,描述了政权内的响应过程。子存储在一个向量。
mdl1 = arima (“不变”5,基于“增大化现实”技术的(0.3 - 0.2),…“方差”2);mdl2 = arima (“不变”5,基于“增大化现实”技术的,0.1,…“方差”1);mdl = [mdl1;mdl2];
mdl1
和mdl2
完全指定的华宇电脑
对象。
创建一个经建会动态回归模型的转换机制mc
和子的向量mdl
。
Mdl = msVAR (mc, Mdl);
Mdl
是一个完全指定的msVAR
对象。
从文章模拟响应数据
预测需要足够的数据预测地平线之前初始化模型。文章还从模拟120次观测结果。
rng (1);%的再现性y =模拟(Mdl, 120);
y
120 - 1的随机路径的回答。
计算最优点预测
治疗的第一个100年观测模拟响应数据的presample预测,和治疗过去20作为抵抗样本观察。
idx0 = 1:10 0;idx1 = 101:120;y0 = y (idx0);日元= y (idx1);
计算1 -通过20-step-ahead最佳点的预测模型。
yf =预测(Mdl, y0, 20);
yf
是一个20-by-1向量的最佳预测。
画出模拟响应数据和预测。
图保存在情节(idx0 y0,“b”);h =情节(idx1, y1,“b——”);h1 =情节(idx1, yf,“r”);yfill = [ylim fliplr (ylim)];xfill = [idx0(结束)idx0(结束)idx1(结束)idx1(结束)];填充(xfill yfill,“k”,“FaceAlpha”0.05)传说(h1 [h]、[“实际”“最佳”),“位置”,“西北”)标题(“预测”)举行从
计算估计点预测和预测误差方差
考虑到模型中计算最优点预测。
为文章创建完全指定的模型
创建指定的完全经建会动态回归模型。
P = [0.9 - 0.1;0.3 - 0.7);mc = dtmc (P,“StateNames”,(“扩张”“衰退”]);mdl1 = arima (“不变”5,基于“增大化现实”技术的(0.3 - 0.2),…“方差”2);mdl2 = arima (“不变”5,基于“增大化现实”技术的,0.1,…“方差”1);mdl = [mdl1;mdl2];Mdl = msVAR (mc, Mdl);
从文章模拟响应数据
预测
需要足够的数据预测地平线之前初始化模型。文章还从模拟120次观测结果。
rng (10);%的再现性y =模拟(Mdl, 120);
y
120 - 1的随机路径的回答。
蒙特卡罗计算点的预测
治疗的第一个100年观测模拟响应数据的presample预测,和治疗过去20作为抵抗样本观察。
idx0 = 1:10 0;idx1 = 101:120;y0 = y (idx0);日元= y (idx1);
计算1 -通过20-step-ahead最佳点的预测模型。
yf1 =预测(Mdl, y0, 20);
yf2
是一个20-by-1向量的最佳预测。
计算1 -通过20-step-ahead蒙特卡罗点预测回归估计预测误差方差。
[yf2, estVar] =预测(Mdl, y0, 20);
yf2
是一个20-by-1向量蒙特卡罗点预测。estVAR
是一个20-by-1向量相应的估计预测误差方差。
画出模拟响应数据,预测,使用蒙特卡罗估计,95%的预测区间。
图保存在情节(idx0 y0,“b”);h =情节(idx1, y1,“b——”);h1 =情节(idx1, yf1,“r”);h2 =情节(idx1, yf2,“米”);ciu = yf2 + 1.96 * sqrt (estVar);%上95%置信水平cil = yf2 - 1.96 * sqrt (estVar);%降低95%置信水平情节(idx1, ciu,“m -”。);情节(idx1, cil,“m -”。);yfill = [ylim fliplr (ylim)];xfill = [idx0(结束)idx0(结束)idx1(结束)idx1(结束)];填充(xfill yfill,“k”,“FaceAlpha”传说,0.05)([h h1 h2], [“实际”“最佳”“估计”),…“位置”,“西北”)标题(“点与区间预测”)举行从
指定的路径
预测
估计预测和相应的预测误差方差进行蒙特卡洛模拟。你可以调整样本通过指定路径的数量“NumPaths”
名称-值对的论点。考虑到模型中计算最优点预测。
创建指定的完全经建会动态回归模型。
P = [0.9 - 0.1;0.3 - 0.7);mc = dtmc (P,“StateNames”,(“扩张”“衰退”]);mdl1 = arima (“不变”5,基于“增大化现实”技术的(0.3 - 0.2),…“方差”2);mdl2 = arima (“不变”5,基于“增大化现实”技术的,0.1,…“方差”1);mdl = [mdl1;mdl2];Mdl = msVAR (mc, Mdl);
文章还从模拟100次观测结果。
rng (10);%的再现性y =模拟(Mdl, 100);
计算1 -通过20-step-ahead蒙特卡罗点预测回归估计预测误差方差。指定1000样本路径的蒙特卡罗模拟。治疗观察y
作为presample预测。
(yf, estVar) =预测(Mdl, y, 20日“NumPaths”,1000);
yf
是一个20-by-1向量蒙特卡罗点预测。estVAR
是一个20-by-1向量相应的估计预测误差方差。
预测美国GDP增长率
考虑两国经建会动态回归模型的战后美国实际GDP增长率。模型中给出的参数估计[1]。
创建经建会动态回归模型
创建一个完全指定的离散时间马尔可夫链模型,描述了政权转换机制。标签的政权。
P = [0.92 - 0.08;0.26 - 0.74);mc = dtmc (P,“StateNames”,(“扩张”“衰退”]);
创建单独的、完全指定两个政权的AR(0)模型。
σ= 3.34;跨州%同方差的模型mdl1 = arima (“不变”,4.62,“方差”σ^ 2);mdl2 = arima (“不变”,-0.48,“方差”σ^ 2);mdl = [mdl1 mdl2];
创建经建会动态回归模型的转换机制mc
针对各州具体情况和子mdl
。
Mdl = msVAR (mc, Mdl);
Mdl
是一个完全指定的msVAR
对象。
加载和数据预处理
预测
需要观察初始化模型。载入美国GDP数据集。
负载Data_GDP
数据
包含我们的季度测量实际GDP在1947 q1 - 2005: Q2。兴趣的时期[1]1947:- 2004:沿。更详细的数据集,输入描述
在命令行中。
转换数据的年率系列:
将数据转换为一个季度评估期内
按年计算季度利率
qrate = diff(数据(2:230)。/数据(2:229);季度率%arate = 100 * ((1 + qrate)。^ 4 - 1);%折合成年率
转换滴第一次观察到。
美国GDP预测利率
预测模型在12-quarter预测地平线。初始化模型通过提供折合成年率系列。
numPeriods = 12;yf =预测(Mdl arate numPeriods);
yf
是一个12-by-1向量模型的预测。yf (j)
是j
提前预测最优点。
图观察到从1980年国内生产总值(GDP)年率与模型预测。
日期= datetime(日期(3:230),“ConvertFrom”,“datenum”,…“格式”,“yyyy QQQ”,“场所”,“en_US”);dt1980Q1 = datetime (“1980:Q1”,“InputFormat”,“yyyy QQQ”,…“场所”,“en_US”);1980年%我们指定日期格式为:Q1。idx = > = dt1980Q1日期;图;情节(日期(idx) arate (idx),“k”,…日期(结束)+ calquarters (1: numPeriods)、yf,“r——”)包含(“年”)ylabel (“国内生产总值(GDP)(折合成年率)”)recessionplot传奇(“观察”,“预测”)
预测模型与VARX子
计算最优估计和预测和相应的预测误差协方差矩阵的三态经建会动态回归模型为二维VARX响应过程。这个示例使用任意文章的参数值。
为文章创建完全指定的模型
创建一个三态离散时间马尔可夫链模型切换机制。
P = [10 1 1;1 10 1;1 1 10];mc = dtmc (P);
mc
是一个完全指定的dtmc
对象。dtmc
规范化的行P
所以他们总和1
。
对于每一个政权,使用varm
创建一个VAR模型,描述了政权内的响应过程。指定所有参数值。
%的常量C1 = (1, 1);C2 = (2, 2);C3 = [3; 3);%自回归系数AR1 = {};AR2 = {[0.5 - 0.1;0.5 - 0.5]};AR3 = {(0.25 0;0 0][0 0;0.25 0]};%回归系数Beta1 = (1, 1);Beta2 = (2 2 2; 2);Beta3 = [3 3 3; 3 3 3];%创新协方差Sigma1 = [1 -0.1;-0.1 - 1];Sigma2 = [2 -0.2;-0.2 - 2);Sigma3 = [3 -0.3;-0.3 3];% VARX子mdl1 = varm (“不变”C1,基于“增大化现实”技术的AR1,“β”Beta1,协方差的,Sigma1);mdl2 = varm (“不变”C2,基于“增大化现实”技术的AR2,“β”Beta2,协方差的,Sigma2);mdl3 = varm (“不变”C3,基于“增大化现实”技术的AR3,“β”Beta3,协方差的,Sigma3);mdl = [mdl1;mdl2;mdl3];
mdl
包含三个完全指定的varm
模型对象。
的文章,创建一个完全指定经建会动态回归模型的切换机制mc
和子mdl
。
Mdl = msVAR (mc, Mdl);
Mdl
是一个完全指定的msVAR
模型。
预测模型忽略回归组件
如果你不提供外源性数据,模拟
和预测
忽略的回归组件的子。预测
需要足够的数据预测地平线之前初始化模型。文章还从模拟120次观测结果。
rng (“默认”);%的再现性Y =模拟(Mdl, 120);
Y
是由- 120 - 2的矩阵模拟响应。行对应的时间点,和列对应于系统中的变量。
治疗的第一个100年观测模拟响应数据的presample预测,和治疗过去20作为抵抗样本观察。
idx0 = 1:10 0;idx1 = 101:120;Y0 = Y (idx0:);%的预测样本日元= Y (idx1,:);%抵抗样本
计算1 -通过20-step-ahead最优估计点的预测模型。计算预测误差协方差矩阵的估计预测。
YF1 =预测(Mdl, Y0, 20);[YF2, EstCov] =预测(Mdl, Y0, 20);
YF1
和YF2
分别20-by-2矩阵的最优估计和预测。EstCov
是一个2-by-2-by-20预测误差协方差的数组。
提取每个时期每个响应的预测误差方差的预测地平线。
estVar1 (,) = EstCov (1 1:);estVar2 (,) = EstCov (2 2:);
estVar1
和estVar2
是预测误差方差的1-by-20向量。
图数据,预测,95%的预测区间的每个变量在不同的次要情节。
图次要情节(2,1,1)在情节(idx0 Y0 (: 1),“b”);h =情节(idx1, Y1 (: 1),“b——”);h1 =情节(idx1, YF1 (: 1),“r”);h2 =情节(idx1, YF2 (: 1),“米”);ciu = YF2 (: 1) + 1.96 * sqrt (estVar1 ');%上95%置信水平cil = YF2 (: 1) - 1.96 * sqrt (estVar1 ');%降低95%置信水平情节(idx1, ciu,“m -”。);情节(idx1, cil,“m -”。);yfill = [ylim fliplr (ylim)];xfill = [idx0(结束)idx0(结束)idx1(结束)idx1(结束)];填充(xfill yfill,“k”,“FaceAlpha”传说,0.05)([h h1 h2], [“实际”“最佳”“估计”),…“位置”,“西北”)标题(“点与区间预测:系列1”)举行从次要情节(2,1,2)在情节(idx0 Y0 (:, 2),“b”);h =情节(idx1, Y1 (:, 2),“b——”);h1 =情节(idx1, YF1 (:, 2),“r”);h2 =情节(idx1, YF2 (:, 2),“米”);ciu = YF2 (:, 2) + 1.96 * sqrt (estVar2 ');%上95%置信水平cil = YF2 (:, 2) - 1.96 * sqrt (estVar2 ');%降低95%置信水平情节(idx1, ciu,“m -”。);情节(idx1, cil,“m -”。);yfill = [ylim fliplr (ylim)];xfill = [idx0(结束)idx0(结束)idx1(结束)idx1(结束)];填充(xfill yfill,“k”,“FaceAlpha”传说,0.05)([h h1 h2], [“实际”“最佳”“估计”),…“位置”,“西北”)标题(“点与区间预测:系列2”)举行从
回归预测模型包括组件
模拟三个解释变量外生数据通过生成120个随机观察的三维标准正态分布。
X = randn (120 3);
文章还从模拟120次观测结果。指定的外生数据回归组件。
rng (“默认”120年)Y =模拟(Mdl,“X”,X);
治疗的第一个100年观测模拟响应和外生的presample数据作为预测,和治疗过去20作为抵抗样本观察。
idx0 = 1:10 0;idx1 = 101:120;Y0 = Y (idx0:);日元= Y (idx1,:);X1 = X (idx1,:);
计算1 -通过20-step-ahead最优估计点的预测模型。计算预测误差协方差矩阵的估计预测。指定回归预测期外生数据组件。
YF1 =预测(Mdl, Y0, 20日“X”X1);[YF2, EstCov] =预测(Mdl, Y0, 20日“X”X1);estVar1 (,) = EstCov (1 1:);estVar2 (,) = EstCov (2 2:);
图数据,预测,95%的预测区间的每个变量在不同的次要情节。
图次要情节(2,1,1)在情节(idx0 Y0 (: 1),“b”);h =情节(idx1, Y1 (: 1),“b——”);h1 =情节(idx1, YF1 (: 1),“r”);h2 =情节(idx1, YF2 (: 1),“米”);ciu = YF2 (: 1) + 1.96 * sqrt (estVar1 ');%上95%置信水平cil = YF2 (: 1) - 1.96 * sqrt (estVar1 ');%降低95%置信水平情节(idx1, ciu,“m -”。);情节(idx1, cil,“m -”。);yfill = [ylim fliplr (ylim)];xfill = [idx0(结束)idx0(结束)idx1(结束)idx1(结束)];填充(xfill yfill,“k”,“FaceAlpha”传说,0.05)([h h1 h2], [“实际”“最佳”“估计”),…“位置”,“西北”)标题(“点与区间预测:系列1”)举行从次要情节(2,1,2)在情节(idx0 Y0 (:, 2),“b”);h =情节(idx1, Y1 (:, 2),“b——”);h1 =情节(idx1, YF1 (:, 2),“r”);h2 =情节(idx1, YF2 (:, 2),“米”);ciu = YF2 (:, 2) + 1.96 * sqrt (estVar2 ');%上95%置信水平cil = YF2 (:, 2) - 1.96 * sqrt (estVar2 ');%降低95%置信水平情节(idx1, ciu,“m -”。);情节(idx1, cil,“m -”。);yfill = [ylim fliplr (ylim)];xfill = [idx0(结束)idx0(结束)idx1(结束)idx1(结束)];填充(xfill yfill,“k”,“FaceAlpha”传说,0.05)([h h1 h2], [“实际”“最佳”“估计”),…“位置”,“西北”)标题(“点与区间预测:系列2”)举行从
输入参数
Y
- - - - - -响应数据
数字矩阵
响应数据,提供初始值的预测,作为一个指定numObs
——- - - - - -numSeries
数字矩阵。
numObs
是样本容量。numSeries
响应变量的数量(Mdl.NumSeries
)。
行对应于观测,最后一行包含最新的观测。列对应单个响应变量。
预测YF
代表的延续Y
。
数据类型:双
numPeriods
- - - - - -预测的时间跨度
正整数
预测地平线,或时间点在预测期的数量,指定为一个正整数。
数据类型:双
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“X”, X
使用矩阵X
作为外生的数据预测地平线评价回归模型中的组件。
X
- - - - - -预测数据
数字矩阵|单元格数值矩阵的向量
预测的数据预测地平线用来评估回归的所有的子组件Mdl
,指定为逗号分隔两人组成的“X”
细胞和一个数字矩阵或向量的数值矩阵。第一行的X
包含观察后的一段时间内,由最后一个观察Y
。
使用相同的一个子集预测在每个州,指定X
作为一个矩阵numPreds
列,至少numPeriods
行。列对应不同的预测变量。子用关联矩阵的列,在秩序,子模型预测的数量。列的数量β
的属性Mdl.SubModels (
确定的外生变量回归组件的子模型j
)
。如果超过的行数j
numPeriods
,然后预测
使用最早的观察。
使用不同的预测在每个州,指定一个细胞这样的矩阵和向量numStates
。
默认情况下,预测
忽略了回归组件Mdl
。
数据类型:双
NumPaths
- - - - - -数量的样本路径生成
One hundred.
(默认)|正整数
输出参数
YF
点预测
数字矩阵
点预测,作为一个返回numPeriods
——- - - - - -numSeries
数字矩阵。
如果预测
只返回YF
,然后点预测最优。否则,预测
采用蒙特卡罗模拟来评估预测。
EstCov
——预测误差协方差
数字列向量|数字数组
预测误差协方差,作为一个数字列向量或数值数组返回。
如果子Mdl.SubModels
代表一元ARX模型,EstCov
是一个numPeriods
1的向量。如果Mdl.SubModels
代表多元VARX模型,EstCov
是一个numSeries
——- - - - - -numSeries
——- - - - - -numPeriods
数组中。
预测
执行蒙特卡罗模拟计算EstCov
。
算法
汉密尔顿[2]提供了统计最优,领先一步预测YF
经建会动态回归模型。预测
计算YF
迭代预测地平线时,称为单一输出。经建会动态回归模型的非线性导致非正规的预测错误,这使间隔和密度预测[3]。作为一个结果,预测
它返回时切换到蒙特卡洛方法EstCov
。
引用
[1]萧韦,M。,和J. D. Hamilton. "Dating Business Cycle Turning Points." In商业周期的非线性分析(276年对经济分析的贡献,体积)。(c .米拉·罗斯曼和d·冯·eds)。阿姆斯特丹:翡翠集团出版有限公司,2006年。
[2]汉密尔顿,j . D。“分析的时间序列的变化机制。”计量经济学杂志。45卷,1990年,页39 - 70。
[3]Krolzig,小时。经建会向量自回归。柏林:施普林格出版社,1997年。
版本历史
介绍了R2019b
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。