在机器学习和数据分析领域,模型验证是评估模型性能和泛化能力的重要环节。内部验证,也称为交叉验证,是一种广泛使用的模型验证方法。本文将详细介绍内部验证的概念、方法及其实现过程。
一、内部验证的定义
内部验证(Internal
Validation)是我们在建模后首先要进行的一项模型验证工作。它是在训练数据集上,应用各种方法来评估模型的性能,主要是对区分度的评价。内部验证的目的是评估模型在当前数据集上的表现,可以在一定程度上检测是否存在过拟合,以判断其未来在新数据上的泛化能力。但无论如何,内部验证终究是在训练集上进行的操作,无法真正评估模型在新数据上的泛化能力。
二、内部验证的常见方法
内部验证主要包括两大类方法:交叉验证法(CrossValidation)和自助法(Bootstrap)。下面逐一为大家介绍:
1.交叉验证法
交叉验证法是将数据集分成若干个子集,每次使用其中1个子集作为验证集,其余作为训练集,重复多次以获得稳定的性能评估结果。
常见的交叉验证方法包括K折交叉验证(KFold
CrossValidation)和留一交叉验证(LeaveOneOut
CrossValidation)。
a)
K折交叉验证:将数据分成K个子集,每次选择其中1个作为验证集,其余作为训练集,重复K次,最终取平均性能作为评估结果(如下图所示)。
b)
留一交叉验证:每次只将一个样本作为验证集,其余样本作为训练集,重复N次(N为样本总数),计算平均性能。大家可以看出,留一交叉验证事实上可以被看作是K折交叉验证的一种特殊情况。
2.自助法
自助法(Bootstrap)是从原始样本***中有放回地随机抽取n个样本(n通常等于原始样本数),构建一个新的样本***,这个新的样本***称为Bootstrap样本。因为随机抽取是有放回的,因此某些样本可能多次出现在新的Bootstrap样本中(如下图)。之后使用Bootstrap样本进行模型训练,并重复多次(通常重复1000次以上),并计算模型性能。
三、内部验证的应用实例
以某公司内部评级模型为例,内部验证部分主要分为风险区分能力、模型校正、稳定性三个方面。风险区分能力是指模型能够有效识别出违约和未违约客户的能力;模型校正是指将模型评级结果映射到信用风险客户评级主标尺,根据模型结果提出数据系统开发建设的业务需求的过程;稳定性是指模型能够充分有效地刻画风险因素和信用之间的因果关系的性质。定量验证针对不同方面可采用的方***如下表所示:
|
验证指标
|
方法
|
|
|
|
|
风险区分能力
|
AUC系数、Gini系数、KS指标、CIER
|
|
模型校正
|
|
|
稳定性
|
|
四、总结
模型内部验证是评估模型性能和泛化能力的重要手段。通过交叉验证法和自助法等多种方法,我们可以更加全面地了解模型的优缺点,为进一步优化模型提供依据。然而,内部验证仍然存在一定局限性,因此,在实际应用过程中,还需要结合其他验证方法,如外部验证等,以获得更准确的模型评估结果。