wj__ 发表于 2022-10-15 16:26
请问如何得到原始序列的预测结果呢?是应该使用均值方程预测结果加上方差预测结果开根号再乘以一个服从(0 ...
你问的这个其实就是求interval forecasing,只不过你要的是原始序列的结果,具体做法是在预测的均值序列 (μ_t)的基础上加减预测的标准差序列 (σ_t)乘以特定的quantile(5%、25%、75%、95%),然后再算回log return之前的量纲,所以如果你算4个quantile,会得到一个预测的均值加减上四个bands,它不会是一个单独的预测序列。原始序列的预测结果本来就带着不确定性,至少从这个预测框架出发,我们无法量化这个quantile的情况,这也是时间序列本身预测时局限的地方。
时间序列分析预测时,一般有两个分析视角,一个是point forcasting,也即点预测,一个是在point forecasting的基础上考虑预测量分布的不确定性,进行interval forecasting,也即区间预测,第二个概念是在第一个概念基础上的延申,不能混淆在一起。
一个ARMA-GARCH建模完进行预测分析时,根据你的预测步数是1步还是多步向前预测 (是固定窗口预测还是滚动窗口预测,要看你的使用情况),你可以得到一条预测的均值序列 (μ_t),和一条预测的波动率序列 (σ_t^2,或者说一条预测的标准差序列σ_t,本质是一个东西,都是离差)。
接下来分三个情况讨论,第一种情况是单独分析均值的point forecasting,那么你就只拿着这个预测的均值序列 (μ_t)去和真实的值计算MSE (或者其他衡量预测准确度的统计指标,反正都是在衡量预测的偏离程度,本质是一样的),这个时候虽然是没有直接用到GARCH预测的波动率,但要记得这是一个ARMA-GARCH模型,在建模时是同时假设了动态条件均值和动态条件方差 (也即异方差)的属性的,那么你这个建模估计出来的均值和后续预测出来的均值都是有异方差GARCH建模考虑的,它已经和单纯的同方差单一的一个ARMA模型不一样了,一般来说ARMA-GARCH的均值建模是会更合理更准确一些的,这种异方差建模影响已经融入进ARMA模型的估计均值和预测均值里去了,所以不能说没有利用上GARCH模型,只是在这个预测分析的情况下,你没有必要使用到GARCH预测的波动率序列 (σ_t^2)。第二种情况是单独分析波动率的point forecasting,那么你就只拿着这个预测的波动率序列 (σ_t^2)去和残差平方计算MSE。和前面第一个情况同理,这个时候虽然也用不到预测的均值序列 (μ_t),但是你这个预测的波动率序列是建立在动态条件均值的建模上的,也已经受其影响了。第三种情况是从interval forecasing进行分析,构建区间,同时结合预测的均值序列 (μ_t)和预测的波动率序列 (σ_t^2)。