针对信用风险的机器学习,或“加油,基尼,加油”

顾名思义,银行是“货币组织”,其未来取决于该组织发行和偿还贷款的成功程度。 要成功使用贷款,您需要了解借款人的财务状况,这要受到信贷风险因素(FKR)的帮助。 信用分析师会从大量的银行信息中识别它们,处理这些因素并预测进一步的变化。 通常,为此使用描述性和诊断分析,但是我们决定将机器学习工具与工作联系起来。 了解帖子中发生的情况。



一些信用风险因素浮出水面,而另一些则需要深入研究银行数据。 美元汇率,客户收入,债务负担,销售和评级下降,法院,刑事案件,并购的变化-所有这些都给出了具有不同优势的统计信号。 为了正确构成借款人的整体情况,不仅有必要捕获与之相关的所有信号,而且还必须评估其强度。

描述性和诊断性分析在使用FCR方面表现良好,但是,这些方法并非没有缺点。 分析的使用仅限于监管机构-并非所有高级方法和模型都可以由监管机构批准。 Analytics(分析)不够灵活,无法提供以任意分片显示数据的机会-这通常是非常必要的。 而且在这种情况下,效率并不是每件事都很棒。 而且,对于某些分析模型,也恰恰没有足够的数据。

为什么不尝试将机器学习用于这些目的? 因此,从技术上来说,很有可能改善信用风险因素的重要性的计算-将基尼指标提高几个百分点,以此来评估预测模型的准确性。 FKR的计算越好,对客户财务状况的评估就越准确-银行贷款组合的质量越高。 并且体力劳动的比例较低。

项目进度


选择Cloudera Hadoop来存储大数据,部署了Apache Spark和Apache Hive SQL来访问原始数据,选择了Apache Oozie来协调并启动下载和计算流程。 使用Apache,Zeppelin和JupyterHub可以可视化并浏览数据。 此外,他们使用了许多支持并行处理的机器学习库-Spark MLIB,PySpark和H20。



为此分配了七个节点:

  • 3个主节点,每个主节点具有64 GB vRAM和2 TB磁盘空间
  • 3个数据节点,每个具有512 GB vRAM和8 TB
  • 1个节点,用于具有128 GB vRAM,2.5 TB的应用程序



整个项目耗时三个月,包括三个演示阶段,每个阶段四个冲刺。 为了进行计算,在项目期间选择了22个信用风险因素。

在第一阶段,我们部署了基础架构并连接了第一个数据源:

  • 公司信息存储(FIR)-银行中的主要存储。 为了在Data Lake中自由操作数据而不对生产系统造成负担,我们实际上将其作为整体进行了装载。
  • 评级计算系统()是评估与公司客户活动相关的风险的主要数据库之一。 它包含有关企业评级,财务报表指标的信息。
  • 来自外部资源的数据反映了从属关系和其他标准。
  • 包含其他信息和数据的单独文件,用于数据科学家的工作。

在第二阶段,计算了第一个PCF,我们尝试基于这些指标构建模型,安装了BI工具,并讨论了如何可视化PCF的动态。 因此,我们决定在新工具中保留熟悉的Excel电子表格结构,为将来提供高级可视化。

最后,在最后阶段,我们下载了所有丢失的数据,包括从外部来源下载的数据。 该银行担心它们的统计意义很小,因此我们进行了统计检验,事实证明事实恰恰相反。 最终演示演示了数据科学工具,BI,定期加载和更新数据的操作。 在22个因素中,由于外部原因(缺少所需质量的数据),飞行员中没有计算两个因素。

结果


Hadoop上的集群易于扩展,并允许模型馈送更多数据,并且它们可以并行执行计算。 基尼(Gini)指标已经增长-模型可以更准确地预测与信用风险因素有关的某些事件。

早些时候,我们的分析师不得不联系IT部门以将SQL查询写入公司存储库,然后在其个人计算机上处​​理模型。 现在,试验集群使分析人员可以自己编写查询,也就是说,提高原始数据和处理模型要快得多。

计划


今年,我们将继续开发该项目。 我们将在专用设备上部署Data Lake基础架构,以提高采样和处理的速度。 我们在“湖”的基础上组织单一的集中式资源进行信用分析。 添加更多数据源并插入新的机器学习库。

银行的其他部门对我们的项目很感兴趣-CRM,内部审计(寻找欺诈者,识别可疑交易),运营支持(反欺诈),行业分析师。 当使用“沙盒”时,我们会为他们提供开发成果,他们将可以轻松访问数据,能够连接任何数据源并使用机器学习模型对它们进行实验。

Source: https://habr.com/ru/post/zh-CN417739/


All Articles