打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
信用评分:第七部分

 作者:Natasha Mashanovich,

基本原理

信用评分 = Money?

为了满足科学模型开发的主要标志 - 严谨性,可测试性,可复制性和精确性以及置信度 - 考虑模型验证以及如何处理不平衡数据非常重要。本文概述了可用于满足这些标志的高级验证框架,并简要概述了在处理不平衡数据时经常应用的方法。

高级验证框架

“好得难以置信” - 任何适合数据的预测模型都应该被认为是可疑的。通过构建复杂的高性能预测模型,数据科学家经常会出现建模错误,称为过度拟合。过度拟合 - 当模型完全适合训练数据集但未能对训练数据集进行推广时发生 - 是一个基本问题,也是预测模型的最大威胁结果是对新的(看不见的,保持)数据集的预测不佳。


图1.模型过度拟合

存在许多验证框架以用于检测和最小化过度拟合。它们在算法复杂性,计算能力和鲁棒性方面不同。两种简单而常见的技术是:

简单验证 - 随机或分层划分为训练集和测试集。

嵌套保持验证 - 随机或分层划分为训练集,验证集和测试集。在训练集上训练不同的模型,在验证样本上进行相互比较,并且在作为测试集的看不见的数据上验证冠军模型。

这两种方法的主要缺点是适合可用数据子集的模型仍可能过度拟合。对于包含少量数据的数据集尤其如此。

当调整模型参数并在同一测试样本上不断测试模型性能时,出现了简单验证的另一个问题。这导致数据泄漏,因为模型从测试样本中有效地“学习”,这意味着测试样本不再是真正的保持样本,并且过度拟合可能成为问题。嵌套保持验证可以在一定程度上解决问题,但是这种方法需要大量数据,这可能是问题。

Bootstrapping 和交叉验证是两个验证框架,专门用于克服过度拟合问题并更彻底地捕获变异源。

Bootstrapping是进行多次重复的抽样。标准Bootstrapping验证过程从原始数据中随机创建M个不同的样本,大小相同。该模型适用于每个自举样本,随后在整个数据上进行测试以测量性能。

交叉验证(CV)通过系统地交换样本进行测试和训练来拟合整个群体的数据。交叉验证有多种形式,包括:

  • K-fold - 将群体划分为K个相等大小的样本,并在训练/测试分裂上执行K次迭代
  • 留一法
  • 分层
  • 嵌套交叉验证

如果我们除了参数调整和/或变量选择之外还要验证模型,则需要嵌套交叉验证。它由内部和外部CV组成。内部CV用于参数调整或变量选择,而外部CV用于模型验证。

通过一些修改,bootstrapping和交叉验证可以同时实现三个不同的目标:

  1. 模型验证
  2. 变量选择,和
  3. 参数调整(网格搜索)。
图片.png

不平衡数据建模

“当好的不够好时” - 模型准确性,定义为正确预测与案例总数的比率,是用于评估模型性能的典型度量。然而,仅仅通过准确性评估模型性能可能会出现问题,因为我们可能遇到准确性悖论。作为一个例子,假设我们有一个不平衡的训练数据集,其目标人口的百分比很小(1%),如我们预测欺诈或其他灾难性事件。即使没有预测模型,只要做出相同的猜测“没有欺诈”或“没有灾难”,我们就达到了99%的准确率!令人印象深刻!然而,这样的策略将具有100%的未命中率,这意味着我们仍然需要预测模型来降低未命中率(假阴性,“II型错误”)或减少错误警报(误报率,“I型错误”)。

正确的绩效衡量取决于业务目标。有些情况需要最大限度地减少命中率,其他情况则更侧重于最大限度地减少误报,特别是如果客户满意度是主要目。基于总体目标,数据科学家需要确定使用不平衡数据构建和评估模型的最佳方法。

使用机器学习算法时,不平衡数据可能是一个问题,因为这些数据集可能没有足够的关于少数类的信息。这是因为基于最小化整体误差的算法偏向于多数类,忽略了我们更感兴趣的案例的贡献。

用于对抗不平衡数据建模问题的两种通用技术是采样和集合建模。

采样方法进一步分为欠采样和过采样技术。欠采样涉及从多数群体中删除案件并保留完整的少数群体。过采样是复制少数类以平衡数据的过程。两者都旨在创建平衡的训练数据,因此学习算法可以产生较少的偏差结果。这两种技术都有潜在的缺点:欠采样可能导致信息丢失,而过采样可能导致过度拟合。

开发用于最小化过度拟合的过采样技术的一个流行修正是合成少数过采样技术(SMOTE),其基于另一种学习技术(通常是KNN算法)创建少数情况。根据经验,如果有大量观察结果,请使用欠采样,否则,过采样是首选方法。

以下步骤概述了使用欠采样技术的开发步骤的简单示例。

  1. 通过选择所有“坏”案例和按比例选择“好”案例的随机样本来创建平衡的训练视图,例如分别为35%/ 65%。如果存在足够数量的“坏”情况,则从不平衡的训练分区中欠采样,否则使用整个群体进行欠采样。
  2. 使用常规建模步骤 选择最佳预测变量集
    1. 选择候选变量
    2. 精细的分类
    3. 具有最佳分箱的粗分类
    4. 证据权重或哑变换
    5. 逐步逻辑回归模型
  3. 如果未在步骤1中创建,则将完整的不平衡数据集划分为训练集和测试集,例如,在训练集中为70%,在测试集中为30%。保持两个分区中少数类的比例相同。
  4. 使用步骤2.5中逐步方法在训练集上选择的模型变量训练模型
  5. 验证测试分区上的模型

集成建模是非平衡数据建模的替代方案。Bagging和boosting是用于制造更强预测器并克服过度拟合而不使用欠采样或过采样的典型技术。Bagging是一种自举聚合,可以通过替换创建不同的bootstrap,在每个bootstrap上训练模型并平均预测结果。通过在每次迭代中逐步构建更强的预测器,并从前一次迭代中所做的错误中学习来增强

如上所述,准确性不是不平衡数据的优选度量,因为它仅考虑正确的预测。但是,同时考虑正确和不正确的结果,我们可以获得关于分类模型的更多见解。在这种情况下,有用的性能指标是敏感性(同义词是召回率,命中率,检测概率或真阳性率),特异性(真阴性率)或精确度。

除了这三个标量指标之外,另一个主导整个行业的流行指标是ROC曲线。ROC曲线独立于“坏”与“好”案例的比例,这是重要特征,尤其是对于不平衡数据。如果存在足够数量的“坏”情况,而不是使用不平衡数据方法,则可以应用标准建模方法,并使用ROC曲线测试所得模型。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
预测模型第6期 | 临床预测模型的建立与验证
临床预测模型 | 初窥
EM Algorithm
R语言中的Stan概率编程MCMC采样的贝叶斯模型
教你如何用python解决非平衡数据建模(附代码与数据)
临床预测模型:TRIPOD报告规范解读(上)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服