交叉验证分类准确性的置信区间


11

我正在研究一个分类问题,该问题计算两个输入X射线图像之间的相似性度量。如果图像属于同一个人(标签为“正确”),则将计算更高的度量;两个不同人的输入图像(标签为“错误”)将导致较低的指标。

我使用分层的10倍交叉验证来计算错误分类的概率。我当前的样本大小约为40个正确匹配和80个错误匹配,其中每个数据点都是计算得出的指标。我得到的误分类概率为0.00,但是我需要对此进行某种置信区间/错误分析。

我正在研究使用二项式比例置信区间(在此情况下,将交叉验证的结果用作成功次数的正确标记或错误标记)。但是,二项式分析背后的假设之一是每个试验的成功概率相同,并且我不确定交叉验证中“正确”或“错误”分类背后的方法是否可以认为具有成功几率相同。

我能想到的唯一其他分析是重复进行交叉验证X次并计算分类误差的均值/标准差,但是我不确定这是否合适,因为我会重复使用我的数据相对较小的样本数倍。

有什么想法吗?我正在使用MATLAB进行所有分析,并且确实有“统计”工具箱。非常感谢您的协助!


错误分类概率为0.00意味着您在10个交叉验证折叠中的每一个上均获得100%的分类准确度?
变形虫说恢复莫妮卡2014年

是的,这是正确的。每个褶皱都不会造成误分类;我报告的0.00代表测试案例总数(120)中错​​误分类的总数(0)。
肖恩

顺便说一句,“分层”交叉验证到底是什么意思?在每个CV折叠中,您有120/10 = 12个测试样本,总是有4个匹配项和8个不匹配项?
变形虫说恢复莫妮卡2014年

是的,就是这样-至少那是我了解在MATLAB中如何完成它的方式。每折应包含相同比例的“正确” /“错误”类别标签,即1:2。
肖恩

Answers:


7

不稳定性对不同替代模型预测的影响

但是,二项式分析背后的假设之一是每个试验的成功概率相同,并且我不确定交叉验证中“正确”或“错误”分类背后的方法是否可以认为具有成功几率相同。

好吧,通常等价性是一个假设,它也需要使您汇总不同代理模型的结果。

实际上,您的直觉可能违反了这一假设。但是您可以衡量是否是这种情况。这就是我发现迭代交叉验证有用的地方:不同代理模型对同一案例的预测的稳定性使您可以判断模型是否等效(稳定的预测)。

这是一个迭代(又称为重复)倍交叉验证的方案:k
迭代k折交叉验证

班级是红色和蓝色。右侧的圆圈象征着预测。在每次迭代中,每个样本仅预测一次。通常,将均值用作性能估计,隐式地假设替代模型的性能相等。如果通过不同的代理模型(即,跨列)进行的预测来寻找每个样本,则可以看到该样本的预测的稳定性。ik

您还可以计算每次迭代的性能(图形中3行的块)。这些之间的任何差异都意味着不能满足代理模型等效的假设(彼此之间以及与所有情况下建立的“大模型”等效)。但这也告诉您您有多少不稳定性。对于二项式比例,我认为只要真实表现是相同的(即,是否总是错误地预测相同的情况还是错误地预测相同数目但不同的情况是独立的)。我不知道是否可以合理地假设代理模型的性能有特定的分布。但是,我认为,如果您根本不报告这种不稳定性,则无论如何都比目前常见的分类错误报告更具优势。ķk已经为每个迭代合并了代理模型,不稳定性方差大约是迭代之间观察到的方差的倍。k

我通常必须处理少于120个独立案例,因此我对模型进行了非常强的正则化。我则通常能够证明不稳定方差比有限的试验样品的尺寸变化。(而且我认为这对建模是明智的,因为人类倾向于检测模式,因此倾向于构建过于复杂的模型并因此过度拟合)。 我通常会报告有限迭代样本(以及,和)和二项式置信区间在迭代(和,和)上观察到的不稳定性方差的百分位数。Ñ ķ
nki

该图是无花果的更新版本。5本文:Beleites,C.和Salzer,R .:在小样本量情况下评估和改进化学计量学模型的稳定性,Anal Bioanal Chem,390,1261-1271(2008)。DOI:10.1007 / s00216-007-1818-6
请注意,当我们撰写本文时,我还没有完全意识到我在这里解释的差异的不同来源-请记住这一点。因此,我认为论证对于有效的样本量估计,如果没有正确的结论,即使该应用得出的结论是:每个患者体内的不同组织类型所贡献的总体信息与具有给定组织类型的新患者一样多,仍然可能有效(我拥有完全不同的类型也指出这一点的证据)。但是,我对此尚不完全确定(也不知道如何做得更好,因此无法检查),这个问题与您的问题无关。


二项式置信区间应使用哪种性能?

到目前为止,我一直在使用观察到的平均性能。您还可以使用观察到的最差性能:观察到的性能越接近0.5,方差越大,因此置信区间也越大。因此,观察到的性能的置信区间最接近0.5,可以得到一些保守的“安全裕度”。

请注意,如果观察到的成功次数不是整数,则一些用于计算二项式置信区间的方法也将起作用。我使用罗斯(Ross,TD)中描述的“贝叶斯后验概率的积分”
:二项式比例和泊松速率估计的准确置信区间,Comput Biol Med,33,509-531(2003)。DOI:10.1016 / S0010-4825(03)00019-2

(我不了解Matlab,但是在R中,您可以将binom::binom.bayes两个形状参数都设置为1)。


这些想法适用于基于训练数据集产生的未知新病例的预测模型。如果需要从相同的案例总数中得出其他训练数据集,则需要估计在大小为的新训练样本上训练的模型有多少不同。(除了“物理地”获得新的训练数据集外,我不知道该怎么做)n

另请参见:Bengio,Y.和Grandvalet,Y .: K折交叉验证方差的无偏估计,《机器学习研究学报》,2004,5,1089-1105

(在我的研究工作清单上有关于这些事情的更多思考……,但是由于我来自实验科学,所以我想用实验数据来补充理论和仿真结论-在这里这很困难,因为我需要大量数据一组独立的案例以供参考测试)


更新:假设有微生物分布是合理的吗?

我看到k折CV像下面的投硬币实验一样:不是将大量硬币投掷一次,而是由同一台机器生产的硬币投掷了较少的次数。在这张照片中,我认为@Tal指出硬币是不同的。显然是这样。我认为应该做什么以及可以做什么取决于代理模型的等价假设。k

如果替代模型(硬币)之间实际上存在性能差异,则替代模型等效的“传统”假设不成立。在这种情况下,不仅分布不是二项式的(正如我上面说的,我不知道要使用哪种分布:它应该是每个替代模型/每个硬币的二项式的总和)。但是请注意,这意味着不允许汇总替代模型的结果。因此,测试的二项式都不是一个好的近似值(我试图通过说我们还有一个额外的变化源:不稳定性来改进近似值),也不能将平均性能用作点估计而没有进一步的理由。n

另一方面,如果代理的(真实)性能是相同的,那就是我的意思是“模型等效”(一个症状是预测是稳定的)。我认为在这种情况下,可以汇总所有替代模型的结果,并且可以使用所有测试的二项式分布:我认为在这种情况下,我们有理由近似地将替代模型的真实 s设为相等,因此描述测试为等同于投掷一个硬币次。p ñnpn


@cbeleites,您好,我刚刚评论说,我的CV分析得出该特定数据集的2个唯一值(某些其他数据集具有N个唯一值,N通常小于5),就像上述变形虫一样。鉴于此,我如何仅使用单个数据集和CV就能证明我的预测是稳定的?关于二项式分布,我正在考虑Agresti-Coull间隔(可以在不引起干扰的情况下获得较高的成功率/ 100%的成功率)。看来您是在说我可以使用二项式分布,但是我仍然不清楚如何证明成功的概率。
肖恩

@cbeleites:[我删除了对您的回答的先前评论,并在此处复制了一部分。]但是,表明“预测是稳定的”又意味着什么呢?重复的简历不会给出完全相同的结果。例如,假设OP运行1000次CV重复,并且具有一定分布的错误率从0/120到2/120。有什么方法可以将这种方差与二项式方差结合起来吗?然后针对哪个计算二项式间隔?p
变形虫说恢复莫妮卡2014年

1
@amoeba:由于不稳定性,我不知道如何将二项式分布与未知分布结合到一个置信区间中。因此,我报告了(有限)稳定性观察到的百分位数,有限测试样本量报告了二项式ci。如何将它们组合在一起是我一直牢记在心的研究问题之一,但到目前为止,我还没有找到解决方案,也没有遇到任何有此问题的人。我想我们到达了研究的最前沿……
塞莱族人对SX 2014年

1
@Sean:您最近看过有关相关问题的问题吗?注释中正在进行一个非常有趣的讨论(对我来说),我目前正在自己​​进行一些仿真。我开始相信二项式假设是严重错误的!您可能也对提供相同主张的多个参考文献感兴趣。
变形虫说恢复莫妮卡2014年

1
@Sean:我将尝试使这两个线程保持更新,这意味着在(如果有)问题得到进一步澄清之后,我将尝试总结那里的情况并在此处提供新的答案。现在,您是否注意到本文链接到另一个主题?作者精确地讨论了您的问题,并提供了一个他们认为效果很好的引导程序。如果我现在就您的问题写一个答复,我将推荐他们的程序。但是首先要检查引用该论文的24篇论文。
变形虫说恢复莫妮卡

3

我认为您多次重复进行交叉验证的想法是正确的。

重复你的简历让我们说1000次,每次分裂您以不同的方式将数据10份(10倍CV)(千万不能洗牌标签)。您将获得1000个分类准确性的估计。当然,您将重用相同的数据,因此这1000个估计将不会独立。但这类似于自举程序:您可以将这些精度的标准差作为整体准确性估算器平均值标准误差。或将95%的百分比区间作为95%的置信区间。

另外,您可以将交叉验证循环和引导循环结合在一起,然后简单地选择10%的随机数据(可能是分层随机数据)作为测试集,并执行1000次。与上述相同的推理也适用于此。但是,这将导致重复次数更高,因此我认为上述过程更好。

如果错误分类率为0.00,则分类器将产生零错误,并且如果在每次引导迭代中都发生此错误,则置信区间将为零。但这只是意味着您的分类器非常完美,对您有好处。


嗨@amoeba,谢谢您的回复。您是否介意通过随机排列样本将CV重复1000次,对您的第一个建议进行更多解释?是否应该预先设定一定比例的测试集:训练集(例如10倍交叉验证的10:90)?我想我不太清楚如何重复10倍验证会随着时间的推移增加差异。
肖恩

1
恐怕@amoeba建议的第二个过程过于乐观:非完美分类器在给定的数据集上可能具有完美的性能(例如,假设您只有4个样本-将它们全部分类的比率为1:8碰巧正确)。正如变形虫指出的,在火车测试折叠的不同分配上测量方差将产生0个宽度置信区间,在这种情况下,这显然是不正确的。
Trisoloriansunscreen

1
我认为最终,这个问题归结为找到观察数据的可能性不同于我尚未观察到的数据。@amoeba对我的原始问题建议(我对每个CV迭代使用随机褶皱)建议获取样品的置信区间,结果看起来更加真实(95%CI:[0.0028,0.0033])。但是,我不知道是否还有另一种技术对将来的数据预测会更好。也许某种基于模型的方法可以将曲线拟合到数据中并计算它们的重叠度?
肖恩

3
@amoeba:谢谢您的澄清,我想我没有足够仔细地阅读您的答案。但是,我仍然对这种方法(两个过程)的乐观偏见感到困扰。通过在尝试不同的CV分割时测量准确性,您可以估算由任意分割引起的可变性。但是,您会忽略一个事实,即您的整个数据是从较大数量的观察值中随机抽取的(您未收集)。如果您有一个小的数据集偶然地可以达到完美的性能(与CV分割无关),则您的置信区间为零,这是不正确的。
Trisoloriansunscreen 2014年

1
@amoeba:这很棘手,因为您无法自行引导观测值(在这种情况下,请考虑使用最近的邻居分类器)。我自己正在为这个问题而苦苦挣扎,让我们看看是否有人提出了一个主意。
Trisoloriansunscreen 2014年

2

分类错误既是不连续的,又是不正确的评分规则。它的精度较低,并且对其进行优化会选择错误的功能并赋予错误的权重。


如果OP获得交叉验证的分类精度为99-100%,这对于OP来说几乎不是问题。
变形虫说莫妮卡(Monica)恢复2014年

1
@amoeba:如果观察到正确的比例接近100或0%,也可能会出现问题:与依赖连续评分的绩效指标相比,将分类归类(强化)后所衡量的任何类型的绩效都无法表明只要预测仍在正确的一面,它们就会接近决策边界。但是,恕我直言,有充分的理由报告比例类型的绩效指标(例如,如果您的读者/合作者理解这些指标,但不理解例如Brier分数)。我不想打开那个……
塞贝利主义者对SX 2014年

...讨论中,因为问题中没有优化的迹象(这才变得非常重要)。
cbeleites对SX 2014年

如果要计算“正确”分类的比例,则必须这样做是出于某种原因,例如做出判断或采取行动。出于此目的,该比例具有误导性。
弗兰克·哈雷尔2014年

1
@FrankHarrell:好吧,我猜的原因是要在论文中进行报告。您认为人们应该完全停止报告分类准确性吗?
变形虫说恢复莫妮卡2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.