折交叉验证估计的方差为
TL,DR:看来,与经常重复的建议相反,采用留一法交叉验证(LOO-CV),即KKK倍CV,其中KKK(折数)等于NNN(数训练观察值)-得出泛化误差的估计值,该估计值对于任何 K都是最小变量,而不是最大变量,假设模型/算法,数据集或两者都有一定的稳定性条件(我不确定哪个是正确的,因为我不太了解这种稳定性条件。KKK 有人可以清楚地说明这个稳定条件到底是什么吗? 线性回归就是这样一种“稳定”算法,这是否真的意味着在这种情况下,就泛化误差估计的偏差和方差而言,LOO-CV严格来说是CV的最佳选择? 传统观点认为,在K倍CV中选择KKK时要遵循偏差方差的折衷,这样较低的K值(逼近2)会导致对泛化误差的估计,这些偏差具有更悲观的偏差,但方差较小,而值较高(接近N)的K导致估计的偏差较小,但方差更大。关于这种随着K增大而增加的方差现象的常规解释可能在《统计学习的要素》(第7.10.1节)中最突出地给出:KKKKKKKKKNNNKKK 在K = N的情况下,交叉验证估计器对于真实的(预期)预测误差几乎是无偏的,但是由于N个“训练集”彼此非常相似,因此交叉验证估计器可能具有较高的方差。 这意味着NNN验证错误之间的相关性更高,因此它们的总和更具可变性。在本网站(例如,这里,这里,这里,这里,这里,这里和这里)以及各种博客等上的许多答案中都重复了这种推理方法。但是实际上,从来没有给出详细的分析,而是只是分析的直觉或简要草图。 但是,人们可以找到矛盾的陈述,通常是出于某种我不太了解的“稳定”条件。例如,这个矛盾的答案引用了2015年一篇论文的几段内容,其中包括:“对于不稳定性低的模型/建模程序,LOO通常具有最小的可变性”(强调后加)。本文(第5.2节)似乎同意,只要模型/算法“稳定” ,LOO就代表的最小变量选择。对此问题甚至采取另一种立场(推论2),该论文说:“ k倍交叉验证的方差不取决于kKKKkkkkkk”,再次引用了某种“稳定性”条件。 关于为什么LOO可能是变化最大的折CV的解释很直观,但是有一个直觉。均方误差(MSE)的最终CV估算值是每一倍MSE估算值的平均值。因此,当K增加到N时,CV估计值是随机变量数量增加的平均值。而且我们知道,均值的方差会随着变量数量的平均化而减小。因此,为了使LOO成为变化最大的K倍CV,必须确实如此,由于MSE估计之间的相关性增加而导致的方差增加要大于因平均获得的折叠次数更多而导致的方差减少。KKKKKKNNNKKK。事实并非如此,这一点也不明显。 考虑到所有这些问题后,我变得非常困惑,我决定对线性回归案例进行一些模拟。我用 = 50和3个不相关的预测变量模拟了10,000个数据集,每次使用K = 2、5、10 或50 = N的K倍CV 估计泛化误差。R代码在这里。以下是所有10,000个数据集(以MSE单位)的CV估计值的均值和方差:NNNKKKKKKNNN k = 2 k = 5 k = 10 k = n = 50 mean 1.187 1.108 1.094 1.087 variance 0.094 0.058 0.053 0.051 这些结果显示了预期的模式,即较高的值导致较小的悲观偏见,但似乎也证实了在LOO情况下CV估计的方差最低,而不是最高。KKK 因此,线性回归似乎是上述论文中提到的“稳定”情况之一,其中增加与CV估计中的减少而不是增加的方差有关。但是我仍然不明白的是:KKK “稳定”条件到底是什么?它在某种程度上适用于模型/算法,数据集,或两者都适用? 有没有一种直观的方式来考虑这种稳定性? …