ARTICLE

交叉验证 (Cross-Validation)

交叉验证 (Cross-Validation) 交叉验证(Cross-Validation)是统计学和机器学习中用于评估模型的泛化能力并防止过拟合的一种重采样方法。其核心思想是将可用数据反复分割为训练集和验证集,在训练集上估计模型参数,在验证集上评估其预测性能,最终通过多次划分的平均经验衡量模型在未见数据上的预期表现。交叉验证广泛应用于计量经济学的模型选择、

浏览 0 更新 2025-10-26

交叉验证 (Cross-Validation)

交叉验证(Cross-Validation)是统计学机器学习中用于评估模型泛化能力并防止过拟合的一种重采样方法。其核心思想是将可用数据反复分割为训练集和验证集,在训练集上估计模型参数,在验证集上评估其预测性能,最终通过多次划分的平均经验衡量模型在未见数据上的预期表现。交叉验证广泛应用于计量经济学的模型选择、正则化参数调节以及预测性建模的性能比较。

基本原理与动机

监督学习设定中,我们的目标是找到一个能很好泛化到新数据的模型。若仅用同一组数据训练和评估,样本内拟合度(如R平方)会对真实预测能力给出过度乐观的估计。将数据划分出独立的测试集当然理想,但当数据有限时,一次划分可能导致评估结果高度依赖于特定的随机划分,不够稳定。交叉验证通过在数据上进行多次不同的训练-验证划分来克服这一困境,使评估结果更具稳健性。

K折交叉验证

K折交叉验证(KK-Fold Cross-Validation)是最常用的形式,其步骤为将数据随机等分为 KK 个互斥的折(folds)。依次选取其中一折作为验证集,其余 K1K-1 折作为训练集,在该训练集上拟合模型并在验证集上计算预测误差。对 KK 个验证集上的误差进行平均,得到交叉验证误差 CV(K)\text{CV}_{(K)}。形式上,设第 kk 折为验证集时的误差为 MSEk\text{MSE}_k,则:

CV(K)=1Kk=1KMSEk\text{CV}_{(K)} = \frac{1}{K} \sum_{k=1}^{K} \text{MSE}_k

常见选择为 K=5K = 5K=10K = 10,其在偏差-方差权衡和计算成本之间取得了平衡。KK 越大,训练集更接近全数据集,估计偏差越小,但不同折之间的训练集重叠度更高,导致验证误差之间相关性增强,方差增大。

留一交叉验证

留一交叉验证(Leave-One-Out Cross-Validation,LOOCV)是K折的一个极端特例,其中 K=nK = n(样本量)。每次留出一个观测作为验证集,其余 n1n-1 个观测用于训练。LOOCV 对每个训练集拟合模型 nn 次。对于线性回归等模型,LOOCV 误差可用PRESS公式(Predicted Residual Sum of Squares)高效计算,无需重新拟合 nn 个模型:

LOOCV=1ni=1n(ei1hii)2\text{LOOCV} = \frac{1}{n} \sum_{i=1}^{n} \left( \frac{e_i}{1 - h_{ii}} \right)^2

其中 eie_i 为第 ii残差hiih_{ii}帽矩阵 H=X(XX)1X\mathbf{H} = \mathbf{X}(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}' 的第 ii 个对角元。LOOCV 几乎无偏地估计预期预测误差,但其方差可能较高,因其 nn 个训练集几乎相同。

计量经济学中的应用

计量经济学中,交叉验证主要用于以下场景。模型选择方面,通过最小化交叉验证误差来选择多元线性回归的最优变量子集,或决定多项式回归的最优阶数。正则化参数调优方面,Lasso回归岭回归通过对残差平方和施加惩罚来控制模型复杂度,其惩罚参数 λ\lambda 通常借助交叉验证网格搜索确定最优值。时间序列方面,由于观测之间的时间依赖结构,标准K折的随机划分会破坏序列结构,因此演化出时序交叉验证(Time Series Cross-Validation),仅对未来观测评估其预测性能,从而尊重时间序列的因果顺序。交叉验证在预测导向的计量分析中是模型评估和选择的核心工具。

局限性与注意事项

交叉验证虽强大,但需注意几点限制。计算成本方面,对 KK 个模型进行训练和评估意味着需要 KK 倍的计算量,在大数据或复杂模型(如深度学习)中代价可能显著升高。数据泄露方面,任何在划分前对全数据集进行的预处理(如标准化、插补缺失值)的步骤必须严格在每一折的训练集上完成后再应用于对应的验证集,否则验证误差会产生乐观偏差。非独立数据(如面板数据中同一主体被采样多次)的随机K折划分也可能产生偏差,此时应采用分组交叉验证。交叉验证提供的只是估计模型泛化误差的一种方法,而非万能的模型选择准则,其效果仍然依赖于数据的真实生成机制和模型假设的合理性。