【MLOps】第 9 章 : MLOps 实践:消费者信用风险管理

2023-10-21 18:40

本文主要是介绍【MLOps】第 9 章 : MLOps 实践:消费者信用风险管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎

📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃

🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​

📣系列专栏 - 机器学习【ML】 自然语言处理【NLP】  深度学习【DL】

​​

 🖍foreword

✔说明⇢本人讲解主要包括Python、机器学习(ML)、深度学习(DL)、自然语言处理(NLP)等内容。

如果你对这个系列感兴趣的话,可以关注订阅哟👋

文章目录

背景:业务用例

模型开发

模型偏差注意事项

准备生产

部署到生产

总结


在本文的最后几章中,我们探讨了 MLOps 在实践中可能是什么样子的三个例子。我们明确选择这三个示例,因为它们代表了根本不同的机器学习用例,并说明了 MLOps 方法可能如何不同以适应业务及其 ML 模型生命周期实践的需求。

背景:业务用例

当消费者要求贷款时,信贷机构必须决定是否给予贷款。根据具体情况,流程中的自动化程度可能会有所不同。然而,决策很可能是根据评估贷款按预期偿还或不偿还的概率的分数来决定的。

分数通常用于该过程的不同阶段:

  • 在预筛选阶段,通过少量特征计算出的分数可以让机构快速放弃一些申请。

  • 在承保阶段,根据所有所需信息计算出的分数为决策提供了更精确的基础。

  • 承保阶段之后,分数可用于评估与投资组合中的贷款相关的风险。

数十年来一直使用分析方法来计算这些概率。例如,美国从 1995 年开始使用 FICO 评分。鉴于它们对机构收入和客户生活的直接影响,这些预测模型一直受到严格审查。因此,流程、方法和技能已经正式化为高度规范的环境,以确保模型的可持续性能。

无论模型是基于专家制定的规则、经典统计模型还是最新的机器学习算法,它们都必须遵守类似的规定。因此,消费者信用风险管理可以被视为 MLOps 的先驱:与其他用例的平行以及最佳实践可以基于此用例进行分析。

在做出信贷决策时,通常可以获得有关客户的历史和当前情况的信息。客户持有多少信用?客户是否曾经未偿还过贷款(用信贷术语来说,客户是否属于拖欠贷款)?在某些国家/地区,称为信用局的组织会收集此信息,并直接或通过分数(如上述 FICO 分数)的形式将其提供给债权人。

待预测目标的定义更为复杂。客户未按预期还款是信用风险模型中的“坏”结果。理论上,应该等待完全还款来确定“好”结果,并等待损失冲销来确定“坏”结果。然而,获得这些最终数据可能需要很长时间,而等待它们会阻碍人们对不断变化的情况做出反应。因此,通常会根据各种指标进行权衡,在损失确定之前宣布“坏”结果。

模型开发

从历史上看,信用风险建模基于基于规则的混合(现代 ML 术语中的“手动特征工程”)和逻辑回归。专业知识对于创建良好的模型至关重要。建立适应性的客户细分以及研究每个变量的影响和变量之间的相互作用需要大量的时间和精力。结合先进的技术,如带偏移的两阶段模型、先进的一般线性模型一方面基于 Tweedie 分布或单调性约束,另一方面基于金融风险管理技术,这使得该领域成为精算师的游乐场。

像 XGBoost 这样的梯度增强算法降低了构建良好模型的成本。然而,黑盒效应使它们的验证变得更加复杂:无论输入如何,都很难感觉到此类模型会给出合理的结果。尽管如此,信用风险建模人员已经学会了使用和验证这些新型模型。他们开发了新的验证方法,例如,基于个人解释(例如,Shapley 值)来构建相信他们的模型,这是 MLOps 的一个重要组成部分,正如我们在本书中所探讨的那样。

模型偏差注意事项

建模者还必须考虑选择偏差,因为模型将不可避免地用于拒绝申请人。因此,获得贷款的人群不能代表申请人群。

通过不加注意地对先前模型版本选择的人群训练模型版本,数据科学家将使模型无法准确预测被拒绝的人群,因为它没有出现在训练数据集中,而这正是预期的该模型。这种效应称为樱桃采摘。因此,必须使用特殊方法,例如根据申请人群体重新加权或根据外部数据校准模型。

型号用于风险评估,而不仅仅是做出发放贷款的决定,必须产生概率,而不仅仅是是/否结果。通常,预测模型直接产生的概率并不准确。虽然数据科学家应用阈值来获得二元分类不是问题,但他们通常需要一种称为校准的单调转换恢复根据历史数据评估的“真实”概率。

该模型此用例的验证通常包括:

准备生产

鉴于信用风险模型的重大影响,其验证过程涉及与生命周期的建模部分相关的重要工作,它包括以下方面的完整文档:

  • 使用的数据

  • 模型和构建模型的假设

  • 验证方法和验证结果

  • 监测方法

监测方法在这种情况下有两个方面:数据和性能漂移。由于预测和获得基本事实之间的延迟很长(通常是贷款期限加上几个月以考虑延迟付款),仅监控模型性能是不够的:还必须仔细监控数据漂移。

例如,如果发生经济衰退或商业政策发生变化,申请人群很可能会发生变化,以至于在没有进一步验证的情况下无法保证模型的性能。数据漂移为通常执行按客户群划分,并采用通用统计指标来衡量之间的距离概率分布(如 Kolmogorov-Smirnov 或 Wasserstein 距离)以及特定于金融服务的指标,如人口稳定性指数和特征稳定性指数。还定期评估具有通用指标 (AUC) 或特定指标(Kolmogorov-Smirnov、Gini)的子群体的性能漂移。

模型文档通常由 MRM 团队以非常正式和独立的流程进行审查。这种独立审查是确保向模型开发团队提出正确问题的良好做法。在某些关键情况下,验证团队可能会根据文档从头开始重建模型。在某些情况下,第二次实施是使用替代技术来建立对模型的文档化理解的信心,并突出显示源自原始工具集的未发现错误。

复杂且耗时的模型验证过程会对整个 MLOps 生命周期产生影响。如此冗长的 QA 无法进行快速修复和快速模型迭代,并且会导致非常缓慢且经过深思熟虑的 MLOps 生命周期。

部署到生产

在一个典型的大的金融服务在组织中,生产环境不仅与设计环境分离,而且还可能基于不同的技术堆栈。关键操作的技术栈——比如交易验证,还有潜在的贷款验证——总是会缓慢发展。

从历史上看,生产环境主要支持逻辑回归等规则和线性模型。有些可以处理更复杂的模型,例如 PMML 或 JAR 文件。对于不太重要的用例,Docker部署或通过集成数据科学和机器学习平台进行部署是可能的。因此,模型的操作化可能涉及从单击按钮到基于 Microsoft Word 文档编写公式的操作。

已部署模型的活动日志记录对于监控此类高价值用例中的模型性能至关重要。根据监控的频率,反馈循环可能是自动化的,也可能不是自动化的。例如,如果任务每年只执行一次或两次,并且大部分时间都花在询问数据问题上,则可能不需要自动化。另一方面,如果每周进行一次评估,自动化可能是必不可少的,对于期限为几个月的短期贷款来说可能就是这种情况。

总结

几十年来,金融服务一直在开发预测模型验证和监控方案。他们已经能够不断适应新的建模技术,如梯度提升方法。鉴于它们的重要影响,围绕这些模型的生命周期管理的流程已经正式化,甚至纳入了许多法规。因此,它们可以成为其他领域 MLOps 最佳实践的来源,尽管需要进行调整,因为一方面的稳健性和成本效率、价值实现时间以及(重要的)另一方面的团队挫败感之间的权衡可能在其他业务中有所不同。

这篇关于【MLOps】第 9 章 : MLOps 实践:消费者信用风险管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/256224

相关文章

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

Java Kafka消费者实现过程

《JavaKafka消费者实现过程》Kafka消费者通过KafkaConsumer类实现,核心机制包括偏移量管理、消费者组协调、批量拉取消息及多线程处理,手动提交offset确保数据可靠性,自动提交... 目录基础KafkaConsumer类分析关键代码与核心算法2.1 订阅与分区分配2.2 拉取消息2.3