【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

相关文章

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

Redis实现RBAC权限管理

《Redis实现RBAC权限管理》本文主要介绍了Redis实现RBAC权限管理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1. 什么是 RBAC?2. 为什么使用 Redis 实现 RBAC?3. 设计 RBAC 数据结构

Nginx实现高并发的项目实践

《Nginx实现高并发的项目实践》本文主要介绍了Nginx实现高并发的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用最新稳定版本的Nginx合理配置工作进程(workers)配置工作进程连接数(worker_co