当前位置: 首页 > news >正文

【学习笔记】互联网金融:芝麻信用分的建模过程

学习资料: 数据分析学习随记 | 互联网金融行业2C授信模型(芝麻信用)

1. 背景

互联网金融的本质是风控

1.1 数据分析师的角色

数据分析师在金融行业基本上有两种角色:

1.1.1 数据建模师

偏算法,但要很懂业务。要求对算法的理解较深,相对来说对行业经验要求不是很高。
与纯互联网行业对比,金融行业的数据建模师的价值更容易得到体现,而且相对更有趣。

  • 工作内容:
    • 数据源
      这是和其他数据分析师差别最大的地方。 互联网金融很多时候需要基于大数据去规避风险,数据源越多越好。因此数据建模师需要和其他公司进行数据合作,或者数据采购。
    • 信用评分模型
      模型监控、维护、优化迭代
    • 其他数据挖掘建模
  • 能力要求:
    • 数据源在前期决定了模型的效果,要具备良好的沟通能力和快速反馈的能力。
    • 金融行业本身比较成熟,比模型更加重要的是分析师自身的想法和验证。
    • 在前期重点是围绕数据源和数据处理,模型可以用逻辑回归、决策树、GBDT、随机森林、神经网络等。

1.1.2 分控分析师

除了一定的模型理解能力,还需要大量的行业和法律法规经验。

1.2 产品对象

互联网金融与其他行业不太一样,互联网金融在产品对象上分为to B和to C,都是依赖央行信用报告。

  • to B:对企业整体的信用进行评估,做整体授信
  • to C:对个人整体的信用进行评估,得到个人信用分

2. 授信模型

以芝麻信用分为例,

  • 能够很好地判断一个人的信用到底好不好
  • 另一个潜在价值是可以结合人的行为偏好来做更准确的推荐。

芝麻信用分是以下面五个维度综合评估而来的:
在这里插入图片描述

  1. 身份特质-- 稳定性
    学历的高低影响了收入的多少,这是长时间改不了的特质。
  2. 履约能力-- 兜底性
    有无房车,个人资产能力的证明,消费后按时还款的能力。
  3. 信用历史 – 历史性
    信用卡有无逾期,历史行为最直接的信用体现。
  4. 人脉关系 – 稳定性验证 + 弱价值性
    支付宝好友的信用分是不是都很高,是否土豪,一个人的交际圈也代表着一定的偿还能力。
  5. 行为偏好-- 真正价值
    喜欢买价格高的还是买价格低的,这个部分很重要,表示人本身的当前信息,对产品后续决策有非常大的价值。

3. 模型落地

授信模型的建立过程跟数据分析标准化流程非常像,模型最终的评估指标是坏账率

3.1 数据源

每个维度用了哪些数据字段,这些就是数据源。

数据变量:

  • 原始变量:直接存储在数据库中的最基础变量,比如每天的交易额。
  • 衍生变量:因为金融的本质是风险,所以都要对原始变量进行加工转化,得到衍生变量。

一般有3种方式对原始变量进行扩充:

  • 时间维度衍生:
    • 最近一个月交易额
    • 最近三个月交易额
  • 函数衍生:
    • 最大交易额
    • 最小交易额
    • 交易额方差比例
  • 比例衍生:
    • 最近一个月交易额除以最近三个月交易额

选择变量时,基于RFM原则:

  • R(Recency,最近,最近一次消费时间间隔):指用户最近一次消费距离现在多长时间了。
  • F(Frequency,频次,一段时间内的消费频次):指用户一段时间内消费了多少次。
  • M(Monetary,,一段时间内的消费金额):指用户一段时间内消费的金额。

3.2 数据处理 => 数值化

数据处理、数据建模都是为业务服务。真实工作中,数据据处理和数据建模会慢慢迭代、优化。
所以在前期的数据处理不会很复杂,

前期的数据处理一般分为三种:

  1. 数值型和字符串型字段的缺失性和合理性检验,剔除无效字段。
    50%以上即可去掉。

  2. 数值型字段的相关性验证
    因为在前期,所有的字段都会拿出来,有很多的变量相关性非常强,但这个对于模型的训练没有帮助,因此把相关性强的先过滤掉。 【相关性规律待学】

  3. 对字符串型字段的离散化处理
    一般对字符型字段采用的是专家打分法,将字符串型变量转化成数值。

相关性过滤:一般0.7以上是高度相关性,所以在后面建模的时候,只保留一个变量即可,其他3个相关性高于0.7的变量先不要放在模型训练里。
如下图,最近1年母婴消费金额与其他三个变量均有很高的相关性,因此在后续建模的时候先保留母婴消费金额.
在这里插入图片描述
专家打分法:是按照常识理解直接分段取值。
在模型前期,只要大的逻辑没有问题即可。比如芝麻信用分评估中的身份特质,学历是小学还是博士,这样的字段不是数字型字段而实字符串型字段。然后设定小学学历信用分段是0~20, 博士学历信用分段90~100,将字符型变量转化成数值。
在这里插入图片描述

3.3 数据标准化

虽然所有变量都以数值化,但在量级和量刚上相差很大。
【?】如交易额和交易次数,这就没有可以性,所以要对所有的字段进行标准化。

标准化的方法很多,选择合适的就行,这对后面的模型效果没有影响

  • MAX-MIN
  • Z-score

【?】数据标准化后,所有变量的取值区间都会在0~1范围,接下来就可以进行数据建模了。

3.4 数据建模

在建模之前,一定要把业务目标理清,这样才能知道能用什么模型。

芝麻信用分有5个维度,5个维度在不同时期的权重也不一样,所以每个维度都要单独建模。
建模前的思考举例:

  • 业务目标:根据用户在5个维度的综合芝麻分,来给用户提供其他额外服务,比如花呗、借呗和免押金,同时保证用户不违约。
  • 建模目标:根据用户的数据,算出用户违约的概率。而这个概率也可以转化为用户的分数。
  • 模型选择:基于建模目标,选择逻辑回归模型比较合适。一是简单,二是非线性。
    在这里插入图片描述
    以历史信用为例,假设该模块包含的字段有最近一个月主动查询金融机构信用次数x1、最近一个月徐换代总额x2、最近一个月逾期总额x3,那么其违约概率就为:(x1、2、3为3个数值)
    在这里插入图片描述
    P值为用户违约的概率,a、b、c为拟合系数。

举例:A用户:身份特质、履约能力、信用历史、人脉关系、行为偏好分别算出的概率是0.1、0.2、0.3、0.4、0.5 。根据当前产品所处阶段,觉得历史信用和履约能力两个模块最重要,那么这两个模块的影响权重就是0.35,其他都是0.1。计算步骤:

  • 那么小A 的违约概率就是: P = 0.10.1+0.350.2+0.350.3+0.10.4+0.1*0.5=275
  • 分数公式:score=(1-P)*A+B,区间为[300,900],可以算出来A=600,B=300
  • 所以A的芝麻综合分=0.725*600+300=735。

模型离线效果指标: 机器学习

  • 混淆矩阵:查准率和查全率
    在这里插入图片描述
    • 混淆矩阵的理解:

      • 100:本身是未还款,模型预测后也是未还款 - 准确
      • 400:本身是已还款,模型预测后也是已还款 - 准确
      • 20:本身是已还款,模型预测后是未还款 - 不准确
      • 80:本身是未还款,模型预测后是已还款 - 不准确
    • 查准率: 模型准确度。

      • 预测准确准确的对角线100+400 = 500
      • 所有样本量100+20+80+400 = 600
      • 查准率 = 500 / 600 = 83%
    • 查全率:预测准确的样本,在选择样本中的占比。
      金融模型的主要目标是还款,所以只需看预测成功的未还款人数,在实际的总未还款人数中的占比。

      • 模型预测准确的未还款人是100人
      • 本身未还款100 + 80 = 180人
      • 查全率是100/180 = 56%
  • ROC曲线:根据混淆矩阵做出的可视化分析,区分模型是否能较好把好坏样本分开的一个图,一般都是取ROC下面的面积AUC,来衡量模型效果,越大越好,一般至少0.6以上。

离线模型看这两个参数就够了,这块本身有点难理解,特别是ROC曲线不太好举例,如果你实在不理解参数意义,那么记住也可以,因为真实工作中,最重要的还是坏账率这个评估指标。

在产品初期,因为模型的变量太多,所以模型的迭代速度都非常快,基本上每个月都要跑一次分数,这个时候肯会出现某个用户的分数奇高,这都是正常的,而这些都需要不断调整权重和系数,慢慢优化才行,不过最重要的还是落地效果,就是用了这个模型之后坏账率怎么样,这就是模型落地了 。

3.5 模型落地

模型落地举例

  • 落地前:
    如根据芝麻信用分就可以申请招联金融信用额度,那么这就涉及到两个公司的产品合作了。金融行业的合作都是非常小心的,所以在正式合作前:

    • ①招联金融会提供一批样本给芝麻,芝麻这边数据建模师根据模型给出这批用户的违约概率;
    • ②招联金融根据芝麻给出的用户违约概率,算模型的准确度;
    • ③如果模型准确度还可以,双方才会正式展开合作(用户群覆盖度和模型准确度)
  • 落地中:
    正式落地时,招联在给每个用户评估信用时,实际上芝麻信用分只是一个参考维度而已,一般都是这样:

    • ①机器调用该用户的央行征信报告评估值X,这个是最重要的;
    • ②借口调用用户的芝麻信用分Y;
    • ③该用户在招联的信用评估情况Z;

基于X,Y,Z,内部在根据专家规则法出一套授权方案(很灵活),到这一步,基本上模型就正式使用了。

3.6 模型优化

  • 落地后:
    前期一般是每一周,招联金融都会和芝麻这边对一次坏账情况,只有到这个时候,模型的参数调整才是最有意义的,这个时候也是最考验数据建模师的时候,

调参方法:

  • ①先找出是因为某个子模型引起还是所有模型引起;
  • ②如果是子模型引起,直接调整该模型的参数即可,如果是整体模型都有问题,那就要重新进行数据处理了,如WOE分组,更换衍生变量,字符型字段重新打分等等。

相关文章:

【学习笔记】互联网金融:芝麻信用分的建模过程

学习资料: 数据分析学习随记 | 互联网金融行业2C授信模型(芝麻信用) 1. 背景 互联网金融的本质是风控。 1.1 数据分析师的角色 数据分析师在金融行业基本上有两种角色: 1.1.1 数据建模师 偏算法,但要很懂业务。要求对算法的理解较深&am…...

Linux C/C++或者嵌入式开发到底有没有35岁危机?

一个读者问了一个问题: 我现在25岁,双非一本本科。在深圳上班,做嵌入式开发,打算走Linux C/C开发,工资目前一般。读了前辈写的很多博客之后,觉得很棒。我现在有一些疑问。 1.最近互联网裁员很厉害嘛&#x…...

国内领先的十大API接口排行

应用程序编程接口API即(Application Programming Interface),现在众多企业的应用系统中常用的开放接口,对接相应的系统、软件功能,简化专业化的程序开发。 一、百度API 百度API超市开通1136个数据服务接口。 网址&a…...

【Linux】Kickstart 配置U盘自动化安装Linux系统

文章目录前言一、刻录USB二、配置以BIOS方式启动引导2.1 引导文件配置2.2 KS文件配置三、以EFI方式启动引导3.1 引导文件3.2 KS文件四、 总结前言 之前安装系统,例如在VMware虚拟机中或物理服务器中,都是根据图形界面上的指示进行下一步这类的操作。 现…...

【Spring MVC】这一篇,带你从入门到进阶

目录 1、什么是MVC? 2、什么是 Spring MVC 3、如何学好 Spring MVC? 3.1、如何创建 Spring MVC 项目 3.1.1、使用Spring Initializr创建(推荐) 3.2、将 Spring 程序与用户(浏览器)联通 3.3、基础注解…...

InstallAware Multi-Platform updated

InstallAware Multi-Platform updated 原生ARM:为您的内置设置、IDE和整个工具链添加了Apple macOS和Linux ARM构建。 本地化:引擎内多语言感知,可再分发工具,具有资产隔离功能,使您的IP保持安全。 模板:将…...

Spring Batch 高级篇-多线程步骤

目录 引言 概念 案例 转视频版 引言 接着上篇:Spring Batch ItemWriter组件,了解Spring Batch ItemWriter处理组件后,接下来一起学习一下Spring Batch 高级功能-多线程步骤 概念 默认的情况下,步骤基本上在单线程中执行&…...

关于iframe一些通讯的记录(可适用工作流审批)

一.知识点(1).我们可以通过postMessage(发送方)和onmessage(接收方)这两个HTML5的方法, 来解决跨页面通信问题&#xff0c;或者通过iframe嵌套的不同页面之间的通信a.父页面代码如下<div v-if"src" class"iframe"><iframeref"iframe"id…...

JavaWeb

1、静态Web html、css 2、动态Web 提供给所有人看的数据始终会发生变化。技术栈&#xff1a;Servlet/JSP&#xff0c;ASP&#xff0c;PHP。 Web应用程序&#xff1a;可以提供浏览器访问的程序。 1、这个统一的web资源会被放在同一个文件夹下&#xff0c;web应用程序-->Tom…...

ip段192.168.1.0/24和192.168.0.0/16

192.168.1.0/24192.168.1.1 ~ 192.168.1.254前24位为网络前缀&#xff0c;后8位代表主机号。如下1100 0000&#xff0c;1010 1000&#xff0c;0000 0001&#xff0c;0000 0000192.168.0.0/16192.168.0.1 ~ 192.168.255.254前16位为网络前缀&#xff0c;后16位代表主机号。如下1…...

《爆肝整理》保姆级系列教程python接口自动化(二十二)--unittest执行顺序隐藏的坑(详解)

简介 大多数的初学者在使用 unittest 框架时候&#xff0c;不清楚用例的执行顺序到底是怎样的。对测试类里面的类和方法分不清楚&#xff0c;不知道什么时候执行&#xff0c;什么时候不执行。虽然或许通过代码实现了&#xff0c;也是稀里糊涂的一知半解&#xff0c;这样还好&am…...

【第二章 IOC操作bean管理(XML注入其他类型属性(字面量,外部bean,内部bean,级联赋值)、XML注入集合属性)】

第二章 IOC操作bean管理&#xff08;XML注入其他类型属性&#xff08;字面量&#xff0c;外部bean&#xff0c;内部bean&#xff0c;级联赋值&#xff09;、XML注入集合属性&#xff09; 1.IOC操作bean管理&#xff08;XML注入其他类型属性&#xff09; &#xff08;1&#xf…...

Kotlin-枚举和印章

kotlin-枚举 枚举也是一个对象&#xff0c;枚举对象的定义需要使用enum关键字 枚举对象可以定义函数 假设定义一个星期枚举对象。就是一下写法 enum class Week {星期一,星期二,星期三,星期四,星期五,星期六,星期日;//打印星期几fun printWeek(){println("这是星期枚举对…...

_linux (TCP协议通讯流程)

文章目录TCP协议通讯流程TCP 和 UDP 对比TCP协议通讯流程 下图是基于TCP协议的客户端/服务器程序的一般流程: 服务器初始化: 调用socket, 创建文件描述符;调用bind, 将当前的文件描述符和ip/port绑定在一起;如果这个端口已经被其他进程占用了, 就会bind失 败;调用listen, 声…...

PMP考试详解,新考纲有什么变化?

一&#xff0c;为什么优先考虑PMP持证人员&#xff1f; PMP证书在我国大型企业、跨国企业、央企/国企等单位的招聘中都比较重视&#xff0c;特别是在许多项目投标环节中&#xff0c;明确标明需要有PMP持证人员&#xff0c;才能在投标、竞标中代表公司有资格承担项目。 除此之…...

C++学习笔记-日期和时间

C中可以使用的日期时间API主要分为两类&#xff1a; C-style 日期时间库&#xff0c;位于头文件中。这是原先<time.h>头文件的C版本。 chrono库&#xff1a;C 11中新增API&#xff0c;增加了时间点&#xff0c;时长和时钟等相关接口。 在C11之前&#xff0c;C编程只能使…...

Nordic nRF芯片FDS模块学习

FDS系统学习 文章目录FDS系统学习一、ROM&#xff0c;RAM&#xff0c;FLASH作用二、ROM,RAM和FLASH在单片中的运作原理三、Flash访问模块FDS用法1. FDS在sdk_config.h中的配置2. fds_register()注册3. fds_record_write()写记录4. fds_record_find()查找5. fds_record_open()读…...

JVM 学习(1)—JVM 与 JMM 内存模型简单理解

一、JVM 内存模型概述 (1) 为什么会出现 JVM 内存模型呢&#xff1f; JVM 内存模型是为规范描述 Java 虚拟机在执行 Java 程序时&#xff0c;将程序中的数据和代码存储到计算机内存中的方式和规则。JVM 内存模型定义 Java 虚拟机所使用的内存结构以及内存区域之间的关系&…...

NMS详解

(类别&#xff0c;坐标1&#xff0c;坐标2&#xff0c;坐标3&#xff0c;坐标4&#xff0c;类别分数) step1&#xff1a;对最后一列分数进行排序 &#xff0c;可以看到类别就被打乱了 step2&#xff1a; 弹出得到selected_bboxes作为基准&#xff0c;减少bbox_list。其实就是准…...

考出PMP证书到底有没有用?

我们将从三方面分享&#xff1a; 1. PMP 证书在国内的含金量怎么样&#xff1f; 2. HR 如何看待 PMP 证书&#xff1f; 3. 拿到 PMP 证书后&#xff0c;有哪些变化&#xff1f; 一&#xff0c;PMP证书的含金量 说到 PMP 证书的含金量&#xff0c;相信这个问题是所有学员都…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

算术操作符与类型转换:从基础到精通

目录 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符&#xff1a;、-、*、/、% 赋值操作符&#xff1a;和复合赋值 单⽬操作符&#xff1a;、--、、- 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...