预测
预测单变量自回归综合移动平均(ARIMA)模型响应或条件方差
语法
描述
[
返回Y
,YMSE
] =预测(Mdl
,numperiods
,Y0
)numperiods
连续预测响应Y
和相应的均方误差(MSE)YMSE
完全指定的单变量ARIMA模型Mdl
.预采样响应数据Y0
初始化模型以生成预测。
例子
预测条件平均响应
预测模拟数据在30个时间段内的条件平均响应。
从一个已知参数值的乘法季节移动平均(MA)模型模拟130个观测值。
Mdl = arima(“马”{0.5, -0.3},SMA的, 0.4,“SMALags”,12,...“不变”, 0.04,“方差”, 0.2);rng (200);Y =模拟(Mdl,130);
拟合前100个观测值的季节性MA模型,并保留其余30个观测值来评估预测性能。
MdlTemplate = arima(“MALags”1:2,“SMALags”12);EstMdl =估计(MdlTemplate,Y(1:100));
ARIMA(0,0,2)模型带季节MA(12)(高斯分布):Value StandardError TStatistic PValue ________ _____________ __________ __________ Constant 0.20403 0.069064 2.9542 0.0031344 MA{1} 0.50212 0.097298 5.1606 2.4619e-07 MA{2} -0.20174 0.10447 -1.9312 0.053464 SMA{12} 0.27028 0.10907 2.478 0.013211方差0.18681 0.032732 5.7073 1.148e-08
EstMdl
是一个新的华宇电脑
包含估计参数的模型(即完全指定的模型)。
将拟合模型预测为30个周期的水平。指定估计周期数据作为预示例。
[YF,YMSE] =预报(EstMdl,30,Y(1:100));YF (15)
Ans = 0.2040
YMSE (15)
Ans = 0.2592
YF
是预测反应的30乘1矢量,和YMSE
为对应mse的30 × 1向量。未来15个周期的预测为0.2040,其MSE为0.2592。
可视化地比较预测与抵抗数据。
图h1 = plot(Y,“颜色”, 7, 7, 7);持有在h2 = plot(101:130,YF,“b”,“线宽”2);h3 = plot(101:130,YF + 1.96*sqrt(YMSE),“:”,...“线宽”2);图(101:130,YF - 1.96*sqrt(YMSE),“:”,“线宽”2);图例([h1 h2 h3],“观察”,“预测”,...95%置信区间,“位置”,“西北”);标题([30期预测和约95%...置信区间的)举行从
纳斯达克综合指数预测
预测500天内的每日纳斯达克综合指数。
加载NASDAQ数据集,并提取前1500个观测值。
负载Data_EquityIdxnasdaq = dattable . nasdaq (1:1500);
拟合ARIMA(1,1,1)模型。
nasdaqModel = arima(1,1,1);nasdaqFit =估计(纳斯达克模型,纳斯达克);
ARIMA(1,1,1)模型(高斯分布):Value StandardError TStatistic PValue _________ _____________ __________ __________ Constant 0.43031 0.18555 2.3191 0.020392 AR{1} -0.074391 0.081985 -0.90737 0.36421 MA{1} 0.31126 0.077266 4.0284 5.6158e-05方差27.826 0.63625 43.735 0
使用拟合模型预测500天的综合指数。用观测数据作为预样数据。
[Y,YMSE] = forecast(nasdaq,500,nasdaq);
绘制预测和95%预测区间。
lower = Y - 1.96*根号(YMSE);upper = Y + 1.96*sqrt(YMSE);图绘制(纳斯达克,“颜色”, 7, 7, 7);持有在H1 = plot(1501:2000,lower,“:”,“线宽”2);情节(1501:2000,上,“:”,“线宽”,2) h2 = plot(1501:2000,Y,“k”,“线宽”2);传奇((h1 h2),“95%间隔”,“预测”,...“位置”,“西北”)标题(“纳斯达克综合指数预测”)举行从
该过程是非平稳的,因此每个预测区间的宽度都随着时间的推移而增大。
预测ARX模型
将以下已知的具有一个滞后和一个外生预测因子(ARX(1))的自回归模型预测为10个周期的预测范围:
在哪里 为标准高斯随机变量,且 为外生高斯随机变量,均值为1,标准差为0.5。
创建一个华宇电脑
表示ARX(1)模型的model对象。
Mdl = arima(“不变”, 1基于“增大化现实”技术的, 0.3,“β”2,“方差”1);
为了预测ARX(1)模型的响应,使用了预测
功能要求:
一个示例响应 初始化自回归项
未来的外生数据包括外生变量对预测反应的影响
将预样本响应设置为平稳过程的无条件平均值:
对于未来的外生数据,从外生变量的分布中抽取10个值。
rng (1);Y0 = (1 + 2)/(1 - 0.3);Xf = 1 + 0.5*randn(10,1);
将ARX(1)模型预测为10个周期的预测范围。指定预示例响应和未来的外生数据。
Fh = 10;yf =预测(Mdl,fh,y0,“XF”xf)
yf =10×13.6367 5.2722 3.8232 3.0373 3.0657 3.3470 3.4454 4.2120 4.0667 4.8065
yf (3)
=3.8232
为ARX(1)模型的3周期预报。
预测多种响应路径
从已知的SAR预测多条响应路径 通过指定多个预采样响应路径来建模。
创建一个华宇电脑
表示该季度SAR的模型对象
模型:
在哪里 为标准高斯随机变量。
Mdl = arima(“不变”, 1基于“增大化现实”技术的, 0.5,“方差”, 1...“季节性”4“SARLags”4“特别行政区”, 0.2)
描述:“arima(1,0,0)模型与季节性AR(4)(高斯分布)的季节性集成”分布:名称= "高斯" P: 9 D: 0 Q: 0常数:1 AR:{0.5}在滞后[1]SAR:{0.2}在滞后[4]MA: {} SMA:{}季节性:4 Beta: [1×0]方差:1
因为Mdl
包含自回归动态项,预测
需要前面的Mdl。P
用于生成
-来自模型的时期前预测。因此,预样本必须包含至少9个值。
生成一个随机的9 × 10矩阵,表示10条长度为9的预采样路径。
rng (1);Numpaths = 10;Y0 = rand(Mdl.P,numpaths);
从SAR模型预测12个季度预测范围的10条路径。指定预采样观测路径Y0
.
Fh = 12;YF =预测(Mdl,fh,Y0);
YF
是由独立预测路径组成的12 × 10矩阵。YF (j, k)
是j
-周期前路径预测k
.路径YF (:, k)
表示预示例路径的延续Y0 (:, k)
.
绘制预样图和预测图。
Y = [y0;...YF];图;情节(Y);持有在H = gca;px = [6.5 h.XLim([2 2]) 6.5];py = h.YLim([1 1 2 2]);HP = patch(px,py,[0.9 0.9 0.9]);uistack(惠普、“底”);轴紧传奇(“预测期”)包含(的时间(季度)) ylabel (“反应路径”)
预测复合条件均值和方差模型
考虑以下AR(1)条件平均模型和GARCH(1,1)条件方差模型,用于1990年1月2日至2001年12月31日的每日纳斯达克利率序列(百分比)。
在哪里 是一组均值为0的独立随机高斯变量。
创建模型。
CondVarMdl = garch(“不变”, 0.022,“四国”, 0.873,“拱”, 0.119);Mdl = arima(“不变”, 0.073,基于“增大化现实”技术的, 0.138,“方差”, CondVarMdl);
加载股票指数数据集。将表格转换为时间表,并将纳斯达克价格系列转换为回报系列。由于返回序列比价格序列少一个观测值,因此预估返回序列以使其与时间表中的变量同步。
负载Data_EquityIdx日期= datetime(日期,“ConvertFrom”,“datenum”,“场所”,“en_US”);TT = table2时间表(数据表,“RowTimes”、日期);T = size(TT,1);y0 = 100*price2ret(DataTable.NASDAQ);[e0,v0] = infer(Mdl,y0);N = numel(y0);TT {:,“NASDAQRet”“残差”“CondVar”]} = [nan(T-n,3);Y0 e0 v0];
预测25天范围内的模型。提供整个数据集作为预样本(预测
仅使用最新所需的观测值来初始化条件均值和方差模型)。返回预测的响应和条件方差。
Fh = 25;fhdates = TT.Time(end) + caldays(0:fh);%预测水平线日期[y,~,v] =预测(Mdl,fh, tt . nasdaq);
用2001年8月的观测序列绘制预测反应和条件方差。
pdates = TT。Time > datetime(2001,8,1); plot(TT.Time(pdates),TT.NASDAQRet(pdates)) hold在情节(fhdates [TT.NASDAQRet(结束);y])举行从
情节(TT.Time (pdates) TT.CondVar (pdates))在情节(fhdates [TT.CondVar(结束);v]);持有从
输入参数
numperiods
- - - - - -预测的时间跨度
正整数
预测水平,或预测期间的时间点的数量,指定为正整数。
数据类型:双
Y0
- - - - - -预采样响应数据
数值列向量|数字矩阵
预示例响应数据路径用于初始化预测模型,指定为具有长度的数值列向量numpreobs
或者一个numpreobs
——- - - - - -numpaths
数字矩阵。
行Y0
对应于预样本中的句点,最后一行包含最新的预样本响应。numpreobs
是指定的预采样响应的数量,这必须是至少Mdl。P
.如果numpreobs
超过Mdl。P
,预测
函数只使用最新版本Mdl。P
行。详情请参见用于预测的时基分区.
列Y0
对应于独立的预采样路径。
数据类型:双
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:X0, X0, XF, XF
指定预样本和预测的预测器数据X0
而且XF
,分别。
E0
- - - - - -Presample创新
数值列向量|数字矩阵
预样本创新用于初始化ARIMA模型或条件方差模型的移动平均(MA)组件,指定为数值列向量或数值矩阵numpaths
列。预测
假设预样本创新的均值为0。
行E0
对应于预样本中的周期,最后一行包含最新的预样本创新。E0
至少要有Mdl。问
行初始化MA组件。如果Mdl。Variance
条件方差模型(例如garch
模型对象),E0
可能需要更多Mdl。问
行。如果行数超过预测所需的最小数目Mdl
,预测
函数只使用所需的最新行。
列E0
对应于独立的预采样路径。
数据类型:双
半
- - - - - -预采样条件方差
正数值列向量|正数值矩阵
预样本条件方差用于初始化条件方差模型,指定为正数值列向量或正数值矩阵numpaths
列。如果模型方差Mdl。Variance
是常数,预测
忽略了半
.
行半
对应于预样本中的句点,最后一行包含最新的预样本条件方差。如果Mdl。Variance
条件方差模型(例如garch
模型对象),E0
可能需要更多Mdl。问
要初始化的行Mdl
为预测。如果行数超过预测所需的最小数目Mdl
,预测
函数只使用最新要求的预采样条件方差。
列半
对应于独立的预采样路径。
如果
半
是一个列向量,预测
将其应用到每个预测路径。在这种情况下,所有预测路径的条件方差模型Y
由相同的初始条件方差导出。如果
半
是矩阵,它必须有numpaths
列。
默认情况下:
数据类型:双
X0
- - - - - -预采样预测数据
数字矩阵
预样本预测数据用于推断预样本创新E0
,指定为一个数字矩阵numpreds
列。
行X0
对应于预样本中的周期,最后一行包含最新的预样本预测器观测值集。列X0
表示单独的时间序列变量,它们对应的列XF
.
如果您没有指定E0
,X0
至少要有numpreobs
- - - - - -Mdl。P
行,这样预测
可以推断出预先的创新。如果行数超过了推断预样本创新所需的最小数量,预测
仅使用最新所需的预样本预测器观测值。最好的做法是设置X0
相同的预测器数据矩阵用于估计,模拟,或推断Mdl
.这个设置确保了预样本创新的正确估计E0
.
如果你指定E0
,然后预测
忽略了X0
.
如果你指定X0
但您没有指定预测的预测器数据XF
,然后预测
产生一个错误。
默认情况下,预测
当它推断出预样本创新时,从模型中删除回归组件,而不管回归系数的值如何Mdl。β
.
数据类型:双
XF
- - - - - -预测的(或未来的)预测数据
数字矩阵
预测的(或未来的)预测数据,指定为数值矩阵numpreds
列。XF
表示指定预采样预测器数据的演变X0
对未来(预测期)的预测。
行XF
对应未来的时间点;XF (
包含了t
:)t
-周期前预测器预测。XF
至少要有numperiods
行。如果行数超过numperiods
,预测
只使用第一个numperiods
预测。详情请参见用于预测的时基分区.
列XF
是独立的时间序列变量,它们对应于X0
.
默认情况下,预测
函数生成预测Mdl
没有回归分量,不管回归系数的值Mdl。β
.
请注意
预测
假设同步所有指定的预采样数据集,以便每个预采样系列的最新观测同时发生。同样的,预测
假设第一个观测值在预测的预测器数据中XF
发生在预采样预测器数据中最后一个观测值之后的时间点X0
.
输出参数
V
- MMSE预测未来模型创新的条件方差
数值列向量|数值矩阵
MMSE预测未来模型创新的条件方差,作为长度返回numperiods
数字列向量或anumperiods
——- - - - - -numpaths
数字矩阵。V
有numperiods
行和numpaths
列。
预测
的列数V
(numPaths
)到预样本数组中列数最多的列Y0
,E0
,半
.如果您没有指定Y0
,E0
,半
,然后V
是一个numPeriods
列向量。
在所有情况下,行
包含周期的条件方差预测j
.j
数据类型:双
更多关于
用于预测的时基分区
用于预测的时间基分区是两个不相交的、连续的时基间隔;每个区间包含时间序列数据,用于预测动态模型。的预测期(预报视界)是一个numperiods
长度分区在时间基的末尾,在此期间预测
函数生成预测Y
从动态模型Mdl
.的presample时期是在预测期之前发生的整个分区。的预测
功能可能需要观察响应Y0
、创新E0
,或条件方差半
在预采样期对动态模型进行初始化预测。模型结构决定了所需预样观测的类型和数量。
一种常见的做法是将一个动态模型拟合到数据集的一部分,然后通过将其预测与观察到的响应进行比较来验证模型的可预测性。在预测过程中,预样本期包含模型拟合的数据,预测期包含用于验证的拒绝样本。假设yt是观测到的响应序列;x1,t,x2,t,x3.t均观察外源序列;和时间t= 1,…,T.考虑从的动态模型预测响应yt的回归组件numperiods
=K期。假设动态模型适合于区间[1,T- - - - - -K)(详情请参见估计
).该图显示了用于预测的时间基分区。
例如,生成预测Y
从ARX(2)模型,预测
要求:
Presample反应
Y0
= 初始化模型。提前一周期的预测需要两个观测值,而提前两周期的预测则需要yT- - - - - -K以及1周期前的预测Y (1)
.的预测
函数通过将先前的预测替换为模型中的滞后响应来生成所有其他预测。未来外生数据
XF
= 对于模型回归组件。没有指定的未来外生数据预测
函数忽略了模型回归成分,这可能会产生不切实际的预测。
包含移动平均分量或条件方差模型的动态模型可能需要预采样创新或条件方差。如果有足够的预先反应,预测
推断所需的预样本创新和条件方差。如果这样的模型还包含一个回归组件,那么预测
必须有足够的预样本反应和外生数据来推断所需的预样本创新和条件方差。该图显示了这种情况下所需的观察结果的数组,以及相应的输入和输出参数。
算法
的
预测
函数设置样本路径的数量(numpaths
)到预样本数据集中的最大列数E0
,半
,Y0
.所有预样本数据集必须有一个列或numpaths
> 1列。否则,预测
产生一个错误。例如,如果你供应Y0
而且E0
,Y0
有五列表示五条路径,那么E0
每个都可以有一列或五列。如果E0
只有一列,预测
适用于E0
每条路径。南
预样本和未来数据集中的值表示缺失的数据。预测
按照以下步骤从预样本数据集中移除缺失的数据:预测
水平连接指定的预样本数据集Y0
,E0
,半
,X0
这样最新的观测就会同时发生。结果可能是一个锯齿状数组,因为预样本数据集可以有不同的行数。在这种情况下,预测
用适当数量的零预置变量以形成矩阵。预测
通过删除至少包含一个的所有行,对组合的预样本矩阵应用列表删除南
.预测
从步骤2的结果中提取处理过的预采样数据集,并删除所有预添加的零。
预测
对预测的预测器数据应用类似的程序XF
.后预测
应用按列表删除XF
,结果至少要有numperiods
行。否则,预测
产生一个错误。按列表删除会减少样本量,并可能创建不规则的时间序列。
当
预测
估计mseYMSE
条件平均预测Y
,该函数处理指定的预测器数据集X0
而且XF
作为外生的,非随机的,统计上独立于模型创新。因此,YMSE
只反映与输入模型的ARIMA组件相关的方差Mdl
.
参考文献
[1]贝利,理查德T.和蒂姆Bollerslev。带时变条件方差的动态模型预测计量经济学杂志52,(1992年4月):91-113。https://doi.org/10.1016/0304 - 4076 (92) 90066 - z.
[2]Bollerslev,蒂姆。"广义自回归条件异方差"计量经济学杂志31(1986年四月):307-27。https://doi.org/10.1016/0304 - 4076 (86) 90063 - 1.
[3]Bollerslev,蒂姆。“投机价格和回报率的有条件异方差时间序列模型”《经济学与统计学评论》69(1987年8月):542-47。https://doi.org/10.2307/1925546.
[4]博克斯,乔治·e·P,格温林·m·詹金斯,格里高利·c·赖塞尔。时间序列分析:预测与控制.恩格尔伍德悬崖,新泽西州:普伦蒂斯大厅,1994年。
[5]恩德斯,沃尔特。应用计量经济学时间序列.霍博肯,新泽西州:约翰·威利父子公司,1995年。
[6]罗伯特·恩格尔,。F.英国通货膨胀方差估计的自回归条件异方差性费雪50(1982年7月):987-1007。https://doi.org/10.2307/1912773.
[7]汉密尔顿,詹姆斯D。时间序列分析.普林斯顿,新泽西州:普林斯顿大学出版社,1994。
版本历史
在R2012a中引入R2019a:单变量时间序列模型需要说明预样本响应数据来预测响应
的预测
函数现在有第三个输入参数供您提供预采样的响应数据。
预测(Mdl numperiods, Y0)预测(Mdl numperiods, Y0,名称,值)
在R2019a之前,语法是:
预测(Mdl numperiods)预测(Mdl numperiods,名称,值)
“Y0”
名称-值参数。
没有计划删除以前的语法或“Y0”
名称-值参数。但是,我们鼓励您提供预先的响应,因为要从动态模型预测响应,预测
必须初始化包含滞后响应的模型。没有指定的预样响应,预测
通过使用合理的默认值初始化模型,但这些值可能不支持所有工作流。金宝app
对于没有回归成分的平稳模型,默认情况下,所有预样本响应都是过程的无条件平均值。
对于非平稳模型或包含回归成分的模型,所有预样响应均为
0
,默认为。
通过在第三个输入参数中指定预采样响应来更新代码。
如果你不提供预先的答复,那么预测
提供可能不支持所有工作流的默认预采样值。金宝app
另请参阅
对象
功能
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。