【应用】 信用评分:第7部分 - 信用风险模型的进一步考虑

笔者邀请您,先思考:

1 信用评分如何结果过拟合问题?

2 信用评分如何处理不平衡数据集?

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

高级验证框架

“太好了以致于不真实” - 任何很好地拟合数据的预测模型应该被认为是可疑的。通过构建复杂的高性能预测模型,数据科学家经常会造成建模错误,称为过拟合。 过拟合 - 发生在模型完全适合训练数据集但未能在训练数据集上进行推广 - 是一个基本问题,也是预测模型的最大威胁结果是对新的(看不见的,样本外的)数据集的预测很差。

图1.模型过拟合

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

简单验证 - 随机或分层分割成训练和测试集。 嵌套holdout验证 - 随机或分层分割成训练集,验证集和测试集。训练集训练不同的模型,在验证样本上进行相互比较,冠军模型通过对测试集的不可见数据进行验证。

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

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

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

Bootstrapping采用替换方式进行采样。标准bootstrap验证过程从原始数据中随机创建M个不同样本,大小相同。该模型适用于每个bootstrap样本,并随后对整个数据进行测试以测量性能。

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

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

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

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

  • 模型验证
  • 变量选择和
  • 参数调整(网格搜索)。

表2.验证,选择和调整的网格搜索和CV

对不平衡数据建模

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

正确的性能度量取决于业务目标。有些样例要求最大限度地减少错失率,其他样例更侧重于最大限度地减少错误警报,特别是如果客户满意度是主要目标。基于总体目标,数据科学家需要确定使用不平衡数据建立和评估模型的最佳方法。

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

用于解决不平衡数据建模问题的两种常用技术是采样和集成建模

采样方法进一步分为欠采样和过采样技术。欠采样包括从多数类中移除样例并保留完整的少数样例。过采样是复制少数类以平衡数据的过程。两者都旨在创建均衡的训练数据以使得学习算法可以产生较少的偏见结果。这两种技术都有潜在的缺点:欠采样可能导致信息丢失,而过采样会导致过度拟合。

为了最小化过拟合而开发的一种流行的过采样技术是合成少数过采样技术(SMOTE),该技术基于另一种学习技术创建少数情况,通常是KNN算法。作为一个经验法则,如果有大量的观测数据可用,则使用欠采样,否则,过采样是首选方法。

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

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

集成建模是不平衡数据建模的一种选择。装袋和提升是典型的技术,用于制造更强的预测器,并克服过度拟合而不使用欠采样或过采样。Bagging 是一个bootstrap汇总,可以创建不同的替换bootstrap,在每个bootstrap上训练模型并计算平均预测结果。 Boosting通过在每次迭代中逐渐构建一个更强的预测器并从前一次迭代中的错误中学习来进行工作。

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

除了这三个标量指标之外,在整个行业中占统治地位的另一个流行指标是ROC曲线。 ROC曲线与“坏”与“好”情况的比例无关,这是重要特征,特别是对于不平衡数据。如果存在足够数量的“不良”情况,而不是使用不平衡数据方法,则可以应用标准建模方法,并使用ROC曲线对结果模型进行测试。

系列之前:信用评分:第6部分 - 分割和拒绝推断 系列之后:信用评分:第8部分 - 信用风险策略

作者: Natasha Mashanovich, Senior Data Scientist at World Programming, UK 原文链接:https://www.worldprogramming.com/blog/credit_scoring_pt7

版权声明:作者保留权利,严禁修改,转载请注明原文链接。

原文发布于微信公众号 - 数据科学与人工智能(DS_AI_shujuren)

原文发表时间:2018-06-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

机器都会学习了,你的神经网络还跑不动?来看看这些建议

在很多机器学习的实验室中,机器已经进行了上万小时的训练。在这个过程中,研究者们往往会走很多弯路,也会修复很多bug,但可以肯定的是,在机器学习的研究过程中,学到...

1110
来自专栏机器之心

学界 | 三维对抗样本的生成方法MeshAdv,成功欺骗真实场景中的分类器和目标检测器

作者:Dawei Yang,Chaowei Xiao,Bo Li,Jia Deng,Mingyan Liu

1104
来自专栏机器学习算法与Python学习

20条「不成熟」的小建议,如何构建深度神经网络?

本文介绍了构建深度神经网络的一些基本技巧,从通用技巧、神经网络调试和案例研究三方面展开。

822
来自专栏量子位

一文解读聚类中的两种流行算法

原作:Anuja Nagpal 谢阳 编译自 Medium 量子位 出品 | 公众号 QbitAI 在这篇文章中,Nagpal以简明易懂的语言解释了无监督学习中...

3916
来自专栏月色的自留地

从锅炉工到AI专家(6)

1468
来自专栏计算机视觉战队

深度学习超参数简单理解

说到这些参数就会想到Stochastic Gradient Descent (SGD)!其实这些参数在caffe.proto中 对caffe网络中出现的各项参数...

3699
来自专栏计算机视觉战队

深度学习超参数简单理解

首先谢谢读者的指正,现在已经把所有遮挡的都处理完毕,谢谢您们的指正,谢谢! ---- 正文: 说到这些参数就会想到Stochastic Gra...

3734
来自专栏超然的博客

Graph Attention Networks

paper:https://mila.quebec/wp-content/uploads/2018/07/d1ac95b60310f43bb5a0b802452...

2681
来自专栏xingoo, 一个梦想做发明家的程序员

吴恩达机器学习笔记 —— 9 神经网络学习

在传统的线性回归或者逻辑回归中,如果特征很多,想要手动组合很多有效的特征是不现实的;而且处理这么大的特征数据量,计算上也很复杂。

910
来自专栏人工智能头条

TensorFlow下构建高性能神经网络模型的最佳实践

1212

扫码关注云+社区

领取腾讯云代金券