这是一篇综述与方法学论文。主要作者David R. Roberts及其合作者来自德国弗莱堡大学、美国莱特州立大学、加拿大阿尔伯塔大学、澳大利亚墨尔本大学、新南威尔士大学、法国约瑟夫·傅立叶大学等机构。论文发表于Ecography第40卷第913–929页,2017年出版。
本文围绕生态数据中普遍存在的内部依赖结构(dependence structure)展开,核心议题是交叉验证(cross-validation)在存在时间、空间、层级或系统发育结构时如何失效,以及如何通过分块交叉验证(block cross-validation)获得更可靠的外推误差估计。生态数据往往表现出邻近观测比远距离观测更相似的特征,这种结构可能来自空间自相关、时间自相关、个体或群体层级结构以及物种间的系统发育相关性。传统随机交叉验证假设训练集与测试集相互独立,但当数据存在上述结构时,随机划分会使训练与验证数据在结构上高度相似,导致误差被严重低估。更为隐蔽的问题是结构化过度拟合(structural overfitting):由于预测变量本身常与空间、时间或系统发育结构相关,模型可能用非因果变量吸收残差中的依赖结构,从而掩盖模型误设并产生对新数据预测不佳的过拟合模型。即使使用自回归模型、混合模型或系统发育广义最小二乘等参数方法,这一问题仍可能持续存在。因此,作者主张在存在依赖结构的数据中广泛使用分块交叉验证。
论文首先讨论了对非独立验证数据导致乐观误差的机制。随机数据分割无法在存在依赖结构时提供独立验证,例如在空间上邻近的验证点会与训练点高度自相关,从而使模型表现看似优于实际。文献中已有大量比较研究表明随机交叉验证会低估真实预测误差。分块交叉验证的基本策略是在依赖结构的中心点或中心区域将数据划分为块,例如按空间连续区域、时间连续片段、个体或群体、系统发育距离等。通过迫使验证数据在结构上远离训练数据,分块交叉验证可以提高训练与验证之间的独立性,从而更接近真实误差。文中通过模拟和案例研究证明,分块交叉验证不仅能提高误差估计值,而且能更接近真实误差。
在空间自相关方面,Box 1的模拟研究在50×50网格上生成物种丰度数据,数据依赖四个空间自相关的环境变量。模型使用随机森林拟合,并比较了重代入、随机分割、不同空间块大小以及带缓冲的留一交叉验证。结果表明随机分割和重代入产生过低的均方根误差,而空间分块和缓冲留一法得到接近独立数据所获得的“理想”误差,尤其当测试点被限制为与训练点环境相似时。块的大小需要显著大于残差自相关范围。在层级结构方面,Box 2以加拿大阿尔伯塔省43头雌性马鹿的卫星遥测数据为案例,构建资源选择函数。使用广义线性混合模型并以个体作为随机截距。比较重代入、随机分割、按个体分块和按空间独立个体分块五种交叉验证。结果显示重代入和随机交叉验证错误地表现出极高的模型性能,而按个体分块显著降低了性能估计并增加了各折之间的变异性,表明个体水平已足以实现折间独立性。这一案例还说明,即使模型包含随机效应,随机交叉验证仍可能低估预测误差。在系统发育相关方面,Box 3模拟了体重与纬度之间的性状-环境关系,残差按系统发育距离结构化。模型选择对象为不同复杂度的多项式回归,比较了标准线性模型重代入、系统发育广义最小二乘重代入、随机k折、按系统发育距离分块的k折以及带系统发育缓冲的留一法。结果显示系统发育分块交叉验证和足够大缓冲的留一法在模型选择和误差估计上均优于随机方法和无缓冲留一法,而系统发育广义最小二乘虽能降低过拟合,其误差估计仍偏乐观。
分块交叉验证的一个重要复杂之处在于它会不经意地引入外推。环境变量通常在空间和时间上结构化,因此按空间或时间分块可能把整个环境梯度的一部分完全划入验证集,使训练集缺失某些预测变量范围或组合,导致模型被迫外推。Box 4以北美花旗松的物种分布模型为例,比较随机分割、地理分块、环境分块和缓冲留一法。结果显示较大的空间块和较粗的环境块会诱导更大的环境距离并降低AUC,且空间分块的影响强于纯环境分块。缓冲留一法能在类似地理距离下最小化外推并提高预测精度。作者强调,当模型目标是插值时,应尽量最小化分块导致的外推;当模型目标就是外推时,则可以有意识地在预测变量空间中分块以模拟外推需求。
论文进一步提出了如何选择块大小的指导原则。块大小的下限应至少覆盖残差自相关的范围,但由于结构化过度拟合可能掩盖残差结构,实际所需的块可能比变异函数或相关图所建议的更大。块过大会减少训练数据量并引入外推,因此需要在自相关要求、数据量和计算限制之间寻找平衡。当块数大于折数时,折的分配方式也影响每折预测变量空间的代表性。系统分配或多次随机分配后选择折间预测变量差异最小的方案,可以减少不必要的折间外推。对于刻意诱导外推的情况,作者建议可以通过反复改变块的大小或方向,绘制模型性能随块大小或预测变量差异变化的曲线,从而定义“预测范围”(forecast horizon),即模型不再提供可靠预测的外推限度。这一概念源自经济学和气象学,近年来也被引入生态学。
论文提供了一个五步工作流程以指导实践者。第一步评估原始数据中的依赖结构,使用自相关图、变异函数或相关图,以及仅含截距的混合模型来量化嵌套数据的方差贡献。第二步明确预测目标,判断模型将预测到新的依赖结构、新的预测变量空间,还是两者兼有。第三步根据目标和结构设计分块方案,使相似的结构条件归为同一块,并可选择最小化外推或模拟外推。第四步执行交叉验证,可用于模型比较、选择或误差估计。第五步生成最终预测,可以选择使用全部训练数据重新拟合一个最终模型,并接受交叉验证误差估计略偏保守;或者保留所有折的模型并对新数据取预测平均,这样能保持误差估计与模型之间的直接对应关系。
论文还讨论了分块交叉验证面临的挑战。数据稀缺时,进一步划分子集可能不可行;空间自相关范围超过研究区一半时无法实现折间独立;不规则的采样分布、不平衡的物种出现率、块内缺少出现或缺失记录等都会影响验证有效性。可能的解决方案包括使用不规则但尺寸一致的块、不规则形状的块、分层块设计以保证出现与缺失的覆盖,以及带缓冲的留一法。作者也指出,当预测到新的预测变量空间时,协变量之间的关系或物种间相互作用可能改变,这些情况无法通过分块交叉验证解决。
这篇论文的重要价值在于系统阐明随机交叉验证在结构化生态数据中的缺陷,并通过模拟和案例证明分块交叉验证能提供更接近真实值的误差估计。它不仅适用于物种分布模型,也适用于几乎所有具有时间、空间、层级或系统发育结构的生态分析。作者推荐在数据集中存在依赖结构时使用分块交叉验证,即使拟合模型的残差中看不到相关结构,或模型已经包含了相关结构。与随机交叉验证可能带来的虚假自信相比,采用略保守的分块验证代价更小,对保护与管理决策中的不确定性纳入和科学可信度维护具有重要意义。