主要内容

预测

预测单变量自回归综合移动平均(ARIMA)模型响应或条件方差

描述

例子

YYMSE] =预测(MdlnumperiodsY0返回numperiods连续预测响应Y和相应的均方误差(MSE)YMSE完全指定的单变量ARIMA模型Mdl.预采样响应数据Y0初始化模型以生成预测。

例子

YYMSE] =预测(MdlnumperiodsY0名称,值使用一个或多个名称-值参数指定的其他选项。例如,对于具有回归组件的模型(即ARIMAX模型),X0, X0, XF, XF指定预样本和预测的预测器数据X0而且XF,分别。

例子

YYMSEV] =预测(___还预测numperiods有条件的差异V一个复合条件均值和方差模型(例如,ARIMA和GARCH复合模型),使用前面语法中的任何输入参数组合。

例子

全部折叠

预测模拟数据在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%...置信区间的)举行

图中包含一个轴对象。标题为30-Period Forecasts and Approximate 95% Confidence interval的坐标轴对象包含4个类型为line的对象。这些对象代表观察到的、预测的、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%间隔”“预测”...“位置”“西北”)标题(“纳斯达克综合指数预测”)举行

图中包含一个轴对象。标题为NASDAQ Composite Index Forecast的坐标轴对象包含4个类型为行的对象。这些对象代表95% Interval, Forecast。

该过程是非平稳的,因此每个预测区间的宽度都随着时间的推移而增大。

将以下已知的具有一个滞后和一个外生预测因子(ARX(1))的自回归模型预测为10个周期的预测范围:

y t 1 + 0 3. y t - 1 + 2 x t + ε t

在哪里 ε t 为标准高斯随机变量,且 x t 为外生高斯随机变量,均值为1,标准差为0.5。

创建一个华宇电脑表示ARX(1)模型的model对象。

Mdl = arima(“不变”, 1基于“增大化现实”技术的, 0.3,“β”2,“方差”1);

为了预测ARX(1)模型的响应,使用了预测功能要求:

  • 一个示例响应 y 0 初始化自回归项

  • 未来的外生数据包括外生变量对预测反应的影响

将预样本响应设置为平稳过程的无条件平均值:

E y t 1 + 2 1 1 - 0 3.

对于未来的外生数据,从外生变量的分布中抽取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预测多条响应路径 1 0 0 1 1 0 4 通过指定多个预采样响应路径来建模。

创建一个华宇电脑表示该季度SAR的模型对象 1 0 0 1 1 0 4 模型:

1 - 0 5 l 1 - 0 2 l 4 1 - l 4 y t 1 + ε t

在哪里 ε t 为标准高斯随机变量。

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用于生成 t -来自模型的时期前预测。因此,预样本必须包含至少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 (“反应路径”

图中包含一个轴对象。axis对象包含11个类型为patch、line的对象。该对象表示预测周期。

考虑以下AR(1)条件平均模型和GARCH(1,1)条件方差模型,用于1990年1月2日至2001年12月31日的每日纳斯达克利率序列(百分比)。

y t 0 0 7 3. + 0 1 3. 8 y t - 1 + ε t σ t 2 0 0 2 2 + 0 8 7 3. σ t - 1 2 + 0 1 1 9 ε t - 1

在哪里 ε t 是一组均值为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])举行

图中包含一个轴对象。axis对象包含2个line类型的对象。

情节(TT.Time (pdates) TT.CondVar (pdates))情节(fhdates [TT.CondVar(结束);v]);持有

图中包含一个轴对象。axis对象包含2个line类型的对象。

输入参数

全部折叠

完全指定的ARIMA模型,指定为华宇电脑创建的模型对象华宇电脑估计

的性质Mdl不能包含值。

预测水平,或预测期间的时间点的数量,指定为正整数。

数据类型:

预示例响应数据路径用于初始化预测模型,指定为具有长度的数值列向量numpreobs或者一个numpreobs——- - - - - -numpaths数字矩阵。

Y0对应于预样本中的句点,最后一行包含最新的预样本响应。numpreobs是指定的预采样响应的数量,这必须是至少Mdl。P.如果numpreobs超过Mdl。P,预测函数只使用最新版本Mdl。P行。详情请参见用于预测的时基分区

Y0对应于独立的预采样路径。

  • 如果Y0是一个列向量,预测将其应用到每个预测路径。在本例中,是所有预测路径Y由相同的初始条件导出。

  • 如果Y0是矩阵,它必须有numpaths列,numpaths在指定的预样本观测阵列的第二个维度中是否最大Y0E0,

数据类型:

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:X0, X0, XF, XF指定预样本和预测的预测器数据X0而且XF,分别。

预样本创新用于初始化ARIMA模型或条件方差模型的移动平均(MA)组件,指定为数值列向量或数值矩阵numpaths列。预测假设预样本创新的均值为0。

E0对应于预样本中的周期,最后一行包含最新的预样本创新。E0至少要有Mdl。问行初始化MA组件。如果Mdl。Variance条件方差模型(例如garch模型对象),E0可能需要更多Mdl。问行。如果行数超过预测所需的最小数目Mdl,预测函数只使用所需的最新行。

E0对应于独立的预采样路径。

  • 如果E0是一个列向量,预测将其应用到每个预测路径。在这种情况下,所有预测路径的MA分量和条件方差模型Y源自相同的初始创新。

  • 如果E0是矩阵,它必须有numpaths列。

  • 默认情况下,如果numpreobsMdl。P+Mdl。问预测通过传递模型来推断任何必要的预样创新Mdl并对数据进行预采样推断出函数。有关包含回归组件的模型的默认值的详细信息,请参见X0而且XF

  • 默认情况下,如果numpreobs<Mdl。P+Mdl。问预测设置所有必要的预设创新0

数据类型:

预样本条件方差用于初始化条件方差模型,指定为正数值列向量或正数值矩阵numpaths列。如果模型方差Mdl。Variance是常数,预测忽略了

对应于预样本中的句点,最后一行包含最新的预样本条件方差。如果Mdl。Variance条件方差模型(例如garch模型对象),E0可能需要更多Mdl。问要初始化的行Mdl为预测。如果行数超过预测所需的最小数目Mdl,预测函数只使用最新要求的预采样条件方差。

对应于独立的预采样路径。

  • 如果是一个列向量,预测将其应用到每个预测路径。在这种情况下,所有预测路径的条件方差模型Y由相同的初始条件方差导出。

  • 如果是矩阵,它必须有numpaths列。

默认情况下:

  • 如果你指定了足够的创新样本E0初始化条件方差模型Mdl。Variance预测通过传递条件方差模型和来推断任何必要的预抽样条件方差E0推断出函数。

  • 如果您没有指定E0,但您指定了足够的预示例响应Y0因此,要推断出足够的预先创新预测从推断的预样本创新中推断任何必要的预样本条件方差。

  • 如果您没有指定足够的预采样数据,预测将所有必要的预抽样条件方差设置为方差过程的无条件方差。

数据类型:

预样本预测数据用于推断预样本创新E0,指定为一个数字矩阵numpreds列。

X0对应于预样本中的周期,最后一行包含最新的预样本预测器观测值集。列X0表示单独的时间序列变量,它们对应的列XF

如果您没有指定E0X0至少要有numpreobs- - - - - -Mdl。P行,这样预测可以推断出预先的创新。如果行数超过了推断预样本创新所需的最小数量,预测仅使用最新所需的预样本预测器观测值。最好的做法是设置X0相同的预测器数据矩阵用于估计,模拟,或推断Mdl.这个设置确保了预样本创新的正确估计E0

如果你指定E0,然后预测忽略了X0

如果你指定X0但您没有指定预测的预测器数据XF,然后预测产生一个错误。

默认情况下,预测当它推断出预样本创新时,从模型中删除回归组件,而不管回归系数的值如何Mdl。β

数据类型:

预测的(或未来的)预测数据,指定为数值矩阵numpreds列。XF表示指定预采样预测器数据的演变X0对未来(预测期)的预测。

XF对应未来的时间点;XF (t:)包含了t-周期前预测器预测。XF至少要有numperiods行。如果行数超过numperiods预测只使用第一个numperiods预测。详情请参见用于预测的时基分区

XF是独立的时间序列变量,它们对应于X0

默认情况下,预测函数生成预测Mdl没有回归分量,不管回归系数的值Mdl。β

请注意

预测假设同步所有指定的预采样数据集,以便每个预采样系列的最新观测同时发生。同样的,预测假设第一个观测值在预测的预测器数据中XF发生在预采样预测器数据中最后一个观测值之后的时间点X0

输出参数

全部折叠

最小均方误差(MMSE)预测响应序列的条件均值,作为长度返回numperiods列向量或anumperiods——- - - - - -numpaths数字矩阵。Y代表了Y0Y (1:)发生在紧接其后的时间点Y0(最终,:)).

Y (t:)包含了t今后一段时间将预测,或时间点各路径的条件均值预测t在预测期内。

预测决定了numpaths从预样本数据集中的列数Y0E0,.详细信息请参见算法.如果每个预样本数据集有一列,则Y是一个列向量。

数据类型:

预测响应的MSEY(预测误差方差),作为长度返回numperiods列向量或anumperiods——- - - - - -numpaths数字矩阵。

YMSE (t:)包含所有路径对时间点的预测误差方差t在预测期内。

预测决定了numpaths从预样本数据集中的列数Y0E0,.详细信息请参见算法.如果不指定任何预样本数据集,或者每个数据集都是列向量,则YMSE是一个列向量。

的平方根YMSE预测的标准误差是多少Y

数据类型:

MMSE预测未来模型创新的条件方差,作为长度返回numperiods数字列向量或anumperiods——- - - - - -numpaths数字矩阵。Vnumperiods行和numpaths列。

预测的列数VnumPaths)到预样本数组中列数最多的列Y0E0,.如果您没有指定Y0E0,,然后V是一个numPeriods列向量。

在所有情况下,行j包含周期的条件方差预测j

数据类型:

更多关于

全部折叠

用于预测的时基分区

用于预测的时间基分区是两个不相交的、连续的时基间隔;每个区间包含时间序列数据,用于预测动态模型。的预测期(预报视界)是一个numperiods长度分区在时间基的末尾,在此期间预测函数生成预测Y从动态模型Mdl.的presample时期是在预测期之前发生的整个分区。的预测功能可能需要观察响应Y0、创新E0,或条件方差在预采样期对动态模型进行初始化预测。模型结构决定了所需预样观测的类型和数量。

一种常见的做法是将一个动态模型拟合到数据集的一部分,然后通过将其预测与观察到的响应进行比较来验证模型的可预测性。在预测过程中,预样本期包含模型拟合的数据,预测期包含用于验证的拒绝样本。假设yt是观测到的响应序列;x1,tx2,t,x3.t均观察外源序列;和时间t= 1,…,T.考虑从的动态模型预测响应yt的回归组件numperiodsK期。假设动态模型适合于区间[1,T- - - - - -K)(详情请参见估计).该图显示了用于预测的时间基分区。

用于预测的时间基分区

例如,生成预测Y从ARX(2)模型,预测要求:

  • Presample反应Y0 y T K 1 y T K 初始化模型。提前一周期的预测需要两个观测值,而提前两周期的预测则需要yT- - - - - -K以及1周期前的预测Y (1).的预测函数通过将先前的预测替换为模型中的滞后响应来生成所有其他预测。

  • 未来外生数据XF x 1 T K + 1 T x 2 T K + 1 T x 3. T K + 1 T 对于模型回归组件。没有指定的未来外生数据预测函数忽略了模型回归成分,这可能会产生不切实际的预测。

包含移动平均分量或条件方差模型的动态模型可能需要预采样创新或条件方差。如果有足够的预先反应,预测推断所需的预样本创新和条件方差。如果这样的模型还包含一个回归组件,那么预测必须有足够的预样本反应和外生数据来推断所需的预样本创新和条件方差。该图显示了这种情况下所需的观察结果的数组,以及相应的输入和输出参数。

所需观测值的数组,具有相应的输入和输出参数

算法

  • 预测函数设置样本路径的数量(numpaths)到预样本数据集中的最大列数E0,Y0.所有预样本数据集必须有一个列或numpaths> 1列。否则,预测产生一个错误。例如,如果你供应Y0而且E0,Y0有五列表示五条路径,那么E0每个都可以有一列或五列。如果E0只有一列,预测适用于E0每条路径。

  • 预样本和未来数据集中的值表示缺失的数据。预测按照以下步骤从预样本数据集中移除缺失的数据:

    1. 预测水平连接指定的预样本数据集Y0E0,X0这样最新的观测就会同时发生。结果可能是一个锯齿状数组,因为预样本数据集可以有不同的行数。在这种情况下,预测用适当数量的零预置变量以形成矩阵。

    2. 预测通过删除至少包含一个的所有行,对组合的预样本矩阵应用列表删除

    3. 预测从步骤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中引入

全部展开