本研究由Christoph Bergmeir、Rob J. Hyndman和Bonsoo Koo完成,三位作者均来自澳大利亚蒙纳士大学(Monash University),其中Christoph Bergmeir隶属于信息技术学院(Faculty of Information Technology),Rob J. Hyndman与Bonsoo Koo隶属于经济计量与商业统计系(Department of Econometrics & Business Statistics)。论文发表于期刊《Computational Statistics and Data Analysis》2018年第120卷,第70至83页,2017年11月22日上线。该研究属于统计计算与时间序列预测的交叉领域,重点讨论标准k折交叉验证(k-fold cross-validation, CV)在纯自回归时间序列预测评估中的有效性问题。
在学术背景方面,交叉验证是分类与回归任务中评估模型泛化能力的最常用方法之一,但当面对时间序列数据时,由于数据中存在序列相关(serial correlation)和潜在的非平稳性(non-stationarity),研究者往往对标准交叉验证的适用性产生疑虑。实践中,很多预测研究者倾向于采用样本外(out-of-sample, OOS)评估,即从序列末端截取一段数据作为测试集,仅进行一次评估。这种做法的优势在于契合传统时间序列建模(如指数平滑、ARIMA模型)的迭代估计流程,但其代价是无法充分利用数据,尤其在小样本情形下损失了交叉验证多次评估的统计优势。已有文献指出,在误差强自相关时,标准交叉验证会导致带宽低估和过拟合,因此发展出了多种针对相依数据的交叉验证方法,如偏差校正方法和h-block交叉验证。然而,这些方法的局限性在于数据利用率低和适用范围有限。
本研究的核心目的在于证明:当预测模型为纯自回归(autoregressive, AR)形式时,只要模型误差不存在序列相关性,标准k折交叉验证便可以直接使用,无需针对时间序列依赖结构进行特殊修正。这一条件在实践中常见于模型嵌套(nested)了一个更合适模型的情况,尤其是使用机器学习方法进行预测时,模型通常足够大且灵活,因此其残差往往不相关。作者从理论上给出了支持该结论的证明,并通过蒙特卡洛模拟和真实数据实例进行了实证验证。
在具体研究工作流程方面,论文首先构建了理论框架。设时间序列yt服从一个纯自回归模型yt = g(xt, θ) + εt,其中xt由yt的滞后值构成,g(·)可以是线性、非线性甚至非参数函数。将时间序列按照滞后阶数p进行嵌入(embedding),生成一个矩阵,每一行形如[x′t, yt],前p列为预测变量,最后一列为响应变量。在执行k折交叉验证时,作者提出的方法不是仅删除测试集中的单个观测值,而是将矩阵中与测试观测对应的整行剔除。这样可以避免因测试点前后观测的依赖性而造成的训练集污染,同时比h-block交叉验证保留更多有效样本。
理论部分设定了一系列假设:第一,序列为平稳遍历的非线性AR(p)过程;第二,留一法非线性最小二乘估计量具有一致性;第三,误差项构成鞅差序列(martingale difference sequence, MDS),且满足一定的矩条件和绝对连续分布条件。在这些假设下,定理1证明了交叉验证估计的预测误差依概率收敛于真实预测误差。证明的关键在于,当整行被剔除后,训练集残差与测试集残差之间的协方差项构成鞅差序列,其影响在大样本下可以忽略。如果模型严重误设,残差将存在序列相关,鞅差性质被破坏,交叉验证将不再有效。不过,作者指出,这种情况可以通过对残差进行序列相关检验(如Ljung-Box检验)来预先识别。
蒙特卡洛模拟实验部分设置了三种不同的数据生成过程(data generating process, DGP)。每个实验重复1000次,序列总长度为200,其中前140个观测作为样本内集合,后60个观测作为样本外集合。实验一使用平稳AR(3)过程作为DGP,目的在于考察当真实模型或接近真实的模型用于预测时各评估方法的表现。实验二使用可逆MA(1)过程作为DGP,此时真实模型不在候选模型集合中,但AR模型可以用较多滞后项较好地逼近MA过程。实验三作为反例,使用具有显著滞后12期的季节AR过程,而候选模型最多只使用5阶滞后,因此所有候选模型都严重误设。
实验中比较的模型选择程序包括:5折交叉验证、留一交叉验证(leave-one-out cross-validation, LOOCV)、非依赖交叉验证(non-dependent cross-validation, NondepCV)和经典样本外评估。误差度量同时采用均方根误差(root mean squared error, RMSE)和平均绝对误差(mean absolute error, MAE)。评价指标为平均绝对预测精度误差(mean absolute predictive accuracy error, MAPAE)和平均预测精度误差(mean predictive accuracy error, MPAE),分别反映交叉验证误差估计的精度和偏差程度。
线性模型拟合的结果表明,在DGP为AR(3)时,无论使用何种滞后阶数,5折CV和LOOCV的MAPAE均在0.09左右,而OOS的MAPAE约为0.16,说明CV方法的误差估计精度明显更高。从MPAE看,LOOCV的偏差绝对值小于0.003,5折CV和OOS的偏差绝对值在0.01以内,整体偏差都很小。NondepCV的MAPAE和MPAE均远高于其他方法,原因是其在训练阶段丢弃了大量观测,导致模型拟合精度较差。在DGP为MA(1)时,CV方法在精度上仍优于OOS,但MPAE显示OOS的偏差略小于CV方法。NondepCV依然表现最差。在DGP为AR(12)的严重误设情形下,CV方法的精度优势基本消失,且其估计偏差显著高于OOS方法。
神经网络模型拟合的结果与线性模型基本一致。模型采用多层感知器(multi-layer perceptron, MLP)结构,隐藏单元数为5,权重衰减为0.00316。当仅使用1阶滞后时,MLP模型难以有效拟合数据,因此所有评估方法下MAPAE和MPAE均较大。随着滞后阶数增加,CV方法在第一、第二实验中依然保持了比OOS更高的精度,在第三实验中CV的优势减弱且偏差增大。该结果表明,无论使用线性还是非线性模型,标准交叉验证的有效性都依赖于残差不存在序列相关这一条件。
真实数据实例使用了著名的年度太阳黑子序列,包含1700年至1988年共289个观测。数据按照Tong(1993)的方式进行了变换yt = 2(1 + xt)0.5 − 1。研究将最后86个观测作为样本外集合,在样本内集合中使用5折CV和OOS评估进行模型选择。候选模型为MLP,超参数网格由隐藏单元数size = {3, 4, …, 15}、权重衰减decay = {0, 0.00316, 0.0147, 0.05, 0.075, 0.1}和最大滞后阶数p = {1, 2, …, 20}构成,共有1560种组合。对每种组合,通过交叉验证得到每个数据点的样本外预测,构造残差序列,并用Ljung-Box检验检测序列相关性,最终有763种模型配置通过了检验。在通过检验的配置中,5折CV选择出的模型参数为p = 7、size = 3、decay = 0.1,样本外集合上的RMSE为2.247;OOS选择出的模型参数为p = 3、size = 9、decay = 0,样本外RMSE为2.281。两个模型的预测表现非常接近,但CV选择的模型具有更合理的滞后结构和更少的隐藏单元,且在样本外误差上略优于OOS选择的模型。这一结果说明,在实际应用中,标准交叉验证能够在保证预测性能的同时有效地控制过拟合。
本研究的结论是:当采用纯自回归模型进行时间序列预测时,只要模型的残差不存在序列相关,标准k折交叉验证可以不加修改地使用。其有效性在理论上得到了证明,并通过蒙特卡洛模拟和真实数据实例获得了经验支持。该结论具有重要的实践意义。首先,在机器学习方法广泛应用于时间序列预测的背景下,研究者可以安全地使用标准交叉验证来评估模型和选择超参数,从而避免依赖单一OOS评估带来的高方差问题。其次,与专门的相依数据交叉验证方法相比,该方法无需删除测试点前后的大量观测,数据利用效率更高。第三,研究明确指出,当模型严重误设并产生强相关残差时,交叉验证会失效,但这种情形可以通过残差诊断提前检测。
论文的主要亮点在于:首次从理论上系统论证了在相依数据设置中不加修改地使用标准k折交叉验证的合理性,并通过整行删除的简单策略有效处理了自回归结构带来的训练集与测试集依赖性。研究将适用条件明确归结为误差的无序列相关性,这一条件具有广泛的实践可操作性。此外,论文同时考察了线性与非线性模型、多种数据生成过程以及真实数据,使理论结论具有较高的外部效度。