文 | 傅一平

源 | 与数据同行

无论是金融、互联网企业亦或运营商,都在基于多年积累的大数据搭建个人征信评分体系,不仅用于自身,也在提供给其他征信机构做为个人信用评估标准。

那么,个人的信用分到底是如何计算出来的呢?

笔者相信不同的信用分有不同的计算方法,无论是FICO评分、芝麻信用亦或其它信用分,这些评分既可以很简单,也可以很复杂,使用的建模方法各不同,但也总是会遵循一些基本的原则,这里笔者就信用分计算的一些关键技术作简要介绍,希望于你有益。

一、业务分析

我们在构建信用评分的时候,首先当然要定义何谓信用高,何谓信用低的用户,这是建模的起点,银行会基于用户的还贷历史来确定高低信用用户,但如果是第三方企业,则需要基于自身的业务特点定义出类似的高低信用用户,即正负样本,比如运营商可能会基于通信欠费来确定高低信用用户的样本,当然这也是远远不够的,需要从更多的途径获取,比如可以免费获取法院公示的老赖名单等。

二、变量初选

身份特征、消费能力、信用历史、行为偏好及人脉关系是当前业界评估信用的五个方面,很多信用评分体系都基于此而来,当然,不同行业由于数据不同,因此形成的具体明细指标肯定也有明显的差异,比如针对身份特征,可能选择的具体指标包括婚姻、年龄、职业、性别等等,诸如运营商可以有几十个指标来表征身份特征,五个方面的涉及的具体指标更是多达上百个,因此,关键的下一步就是如何删选合适的变量。

三、特征删选

很多新手喜欢用越多的变量来建模,以为多多益善,其实不然,变量筛选的目在于去除对于模型预测准确提升无效甚至影响模型预测效果的无用变量, 比如两个相关变量的同时存在往往会导致准确性下降。

特征的选择有很多方式,比如IV值的判断,这里以随机森林来示例,随机森林算法能够输出每个变量对模型预测的重要性大小,重要性越大代表该变量对于提升模型预测准确度所做贡献就越大,反之如果重要度值为负,就代表该变量加入会降低模型预测准确度,所以在该步骤直接选择基于模型输出结果来完成变量筛选,以下是示例:

经过随机森林初步筛选,和变量预测探索分析,最终五个维度共输入XX个变量分别进入模型训练。

四、算法选择

一般会采用logistic分类算法,在输入数据形式的标准与线性回归基本一致。在选择逻辑回归时,注意要进行数据预处理,最主要是两点:

1、 离散变量哑变量处理。离散变量不适用于线性分类模型中,建议转化为0,1类变量,例如用户行业字段,存在8个类别(学生、工人、公务员…),经过哑变量转化处理的话,该字段转化为8个变量:是否学生,是否工人,是否公务员……)。

2、 变量线性化处理。对于线性分类算法,指标与目标变量之间呈现线性关系,对于变量的预测效果会更好,但实际数据往往都是非线性表示,因此为提升模型预测效果,需要针对连续型且非单调性变量进行WOE处理,用WOE值替换指标值,以实现数据之间的线性关系。WOE计算公式为 WOE=ln(%good/%bad),其中%good表示违约用户构成。%bad表示好样本用户构成。以资金字段为例:

接下来就是用逻辑回归进行模型训练,从而获得概率值。

五、评分卡转换

1、评分卡刻度

那么如何将概率值转化为评分呢,其实怎么算都可以,这里采用评分卡转换的方式,具体网上都有详细解释,这里简要讲下,违约与正常比率被定义为一个记录被划分为违约的估计概率与被划分为正常的估计概率之间的比率,将估计违约概率用p表示,估计正常概率为1-p。因此可定义发生比:

Odds=p/(1-p)

评分卡设定的分值刻度是可以将分值表示为比率(Odds)的线性表达式来定义。如下所示:

Score=A-B*log(Odds)

其中:A,B都为常数。其中A成为补偿分数,B称为刻度,它们可以通过两个已知或者假设的分值代入计算得到,一是在某个特定比率设定特定的预期分值,二是指定比率翻番的分数(PDO)。

首先,设定比率y的特定点的分值为P0,然后,比率为2y的点的分值为P0+PDO,代入上式可以得到如下两个等式:

P0=A-B*log(y)

P0+PDO=A-B*log(2y)

解上述两方程中的常数A和B,可以得到:

B=PDO/log(2)

A=P0+B*log(y)

在这里可以借鉴标准FICO信用分与违约率的定义,比如B=58,A=437,计算分数公式则为:

Score=437-58*log(Odds)

最终可以得到该模型的评分卡刻度情况最终结果,如下表所示:

2、分值分配

对于logistic回归算法,odds也可以表示为:

log(Odds)=B0+B1*X1+B2*X2+…+BnXn

由此可得:

Score=437-58*(B0+B1*X1+B2*X2+…+BnXn)

由于建模过程所有变量都有使用WOE转换,因此可以将分值分配到每个变量取值上去,以下是示例:

这样,我们就得到了用户的信用各个变量取值的信用分值。

六、确定五个维度的权重

用户的信用分总分是基于五个大维度综合权重计算获得的,当前每个大维度信用分(该维度涉及很多变量)已经可以通过前面计算得到,总信用分表达式如下:

Total_score=a1*score1+ a2*score2+ a3*score3+ a4*score4+ a5*score5。

网上公开的芝麻信用的五个大维度的最终权值是信用历史(35%)、行为偏好(20%)、履约能力(25%)、身份特质(15%)及人脉关系(5%),各类信用评分体系权重肯定是不同的,因为有不同的约束条件,需要计算得到a1,a2,a3,a4,a5。

七、模型效果评估

信用评分模型主要从准确性,区分度等方面来进行评估。

1、准确性:感受性曲线下面积(ROC_AUC)是一个从整体上评价模型准确性的指标,是感受性曲线(ROC)与横轴之间的面积。相比于其他评价指标,感受性曲线(ROC)具有一定的稳定性,它不会因为正负样本分布的变化而产生不同的曲线。感受性曲线(ROC)通过真阳率(True Positive Rate, TPR)和假阳率(False Positive Rate, FPR)两个指标进行绘制,感受性曲线(ROC)示意如图1所示,感受性曲线下面积(ROC_AUC)取值范围为[0,1],取值越大,代表模型整体准确性越好。

2、区分度:区分度指标(KS)是度量具体模型下正常样本和违约样本分布的最大差距,金融领域评估信用模型的一个核心方法,首先按照样本的信用分数或预测违约率从小到大进行排序,然后计算每一个分数或违约率下好坏样本的累计占比,正常和违约样本的累计占比差值的最大值即为区分度指标(KS),区分度指标(KS)的示意如图所示,区分度指标(KS)小于0.2代表模型准确性差,超过0.75则代表模型准确性高。

可以看到,信用分的计算过程借助了一般的建模方法,也有其自身的特点,信用分要建的好,还有很多的工作要做:

一是为了让信用分具备可解释性,需要量化每个变量每个区间的信用分值分配,比如发现芝麻信用分下降了,肯定想知道个中原因吧。

二是信用分计算出来后,往往会出现不可预期的结果,比如不符合正态分布等等,往往需要根据业务的需要再进行调整。

三是信用分的运营也存在不少挑战,包括多长时间计算一次,如何确保不要出现大的波动,新变量的引入影响等等。

这都对信用分建模提出了新的挑战。

数据建模:个人信用分是如何计算出来的?相关推荐

  1. 如何用机器学习方法进行数据建模?(文末福利)

    本文节选自CCF大数据教材系列丛书之<大数据导论>,由中国科学院院士梅宏主编.本书系统地介绍大数据涵盖的内容,包括数据与大数据概述.大数据感知与获取.大数据存储与管理.大数据分析.大数据处 ...

  2. 数据建模学习笔记-2-《高质量数据库建模 2-建模流程》

    https://edu.hellobi.com/course/54/play/lesson/875 1.数据建模基本流程 在建模的不同阶段,将数据模型分为三个层次,每层的作用各不相同 1).概念模型 ...

  3. MongoDB数据建模介绍

    MongoDB数据建模介绍 数据建模需要在满足应用需求.数据库引擎的性能特征.以及数据检索模式之间取得平衡.在设计数据模型时,请始终考虑应用程序对数据的使用场景(比如,查询,更新,和数据处理)以及数据 ...

  4. Python 实战之淘宝手机销售分析(数据清洗、可视化、数据建模、文本分析)

    文章目录 一.数据介绍 二.数据清洗 导入数据 缺失值处理+合并 清洗时间参数 清洗价格数据 清洗发货城市数据 价格分箱 手机参数信息提取 三.可视化分析 淘宝在售手机价格区间统计 商品现价& ...

  5. 泰坦尼克号沉船数据分析与可视化、数据建模与分类预测【Python | 机器学习-Sklearn】

    泰坦尼克号沉船数据之美--起于悲剧,止于浪漫 前言:泰坦尼克号,不只是卡梅隆导演的经典电影,它是一个真实存在的悲剧,也是电影的故事背景与题材.作为一个IT人,分析事实还得看数据,了解到泰坦尼克号沉船幸 ...

  6. 数学建模 matlab 数据建模基础

    一.数据的获取 1.从Excel中读取数据 (1)xlsread函数 :从EXCEL读入数据到MATLAB中. 例如: a = xlsread('D:\adc.xlsx',1,'A1:D2') 其中, ...

  7. 3000字长文为你解读数据仓库与复杂业务数据建模全流程

    近日,2022年个推TechDay"治数训练营"系列直播课第一期圆满举办.个推资深大数据研发工程师为大家深入浅出地介绍了数据仓库的前世今生以及数据建模的常用方法. 本文对" ...

  8. 香港科技大学数据建模硕士学位项目(MSc DDM)武汉站宣讲会通知(Mix Mode 线上+线下同步进行)

    宣讲时间:2021年12月4日(星期六)15:00-16:30 宣讲地点:武汉君宜王朝大饭店三楼绿岛厅(地铁2号线街道口站,银泰创意城旁) 嘉宾教授:刘军伟教授 Prof.Junwei LIU htt ...

  9. 香港科技大学数据建模硕士学位项目(MSc DDM)宣讲会通知(2022年9月入学申请)

    拉近理论.技术和实践的距离,成就更有竞争力的数据建模人才  香港科技大学(2021年度QS全球顶尖大学排名27位) 2019年泰晤士高等教育 ·全球大学就业能力排名第10位(连续7年大中华区院校之首) ...

  10. mongoDB数据建模

    数据的基本单元分别是什么? 在RDBMS中,数据的基本单元指的是带有列和行的数据表: 在键值存储中指向不定类型值的键: 在MongoDB中,数据的基本类型是BSON文档 如何查询和更新数据? 数据查询 ...

最新文章

  1. 腾讯AI大战王者荣耀!504场1v1仅输1场,5v5达电竞职业水平
  2. VNC怎么和宿主机共享粘贴板(整理)
  3. ios uilabel 根据文字 计算宽度 高度
  4. Html和Css学习笔记-html进阶-html5属性
  5. 二分插入排序(c语言)
  6. Python 脚本编写
  7. Python爬虫实战之爬取链家广州房价_03存储
  8. “多事之秋”的趣店,如今还好吗?
  9. php云扫墓平台_让“云”成为清明祭扫新平台
  10. psn请验证您不是机器人_PS4无法登陆PSN的解决办法
  11. MYSQL优化汇总——学习入口
  12. 《HelloGitHub》第 65 期
  13. babel : 无法加载文件 C:\Users\Lenovo\AppData\Roaming\npm\babel.ps1 ,因为在此系统上禁止运行脚本。
  14. 微信小程序新手留言板
  15. nnet3-chain-copy-egs用于chain模型输入数据
  16. 全球及中国ICP-OES光谱仪行业产销需求与投资前景预测报告2022~2027年
  17. 如何判断过拟合和欠拟合,解决手段有哪些?
  18. win10环境 pip 安装theano(gpu) python3.6
  19. 【剑指Offer】二进制1的个数(减1后的数和原数相与,能将最低位的1置0)
  20. 上了公众号的“贼船”, 后悔吗?

热门文章

  1. js网页进度条等待特效
  2. 有人问“一花一世界,一叶一菩提”
  3. 禁止MAC Chrome更新
  4. SKU后台管理添加商品
  5. [Leetcode] 382. Linked List Random Node 解题报告
  6. C语言程序计算自己活了多少天
  7. R语言ETL系列:创建字段(mutate)
  8. deprecate(反对) 关于依赖版本低的问题
  9. 复杂领域的Cynefin模型和Stacey模型
  10. 编辑网页document.body.contentEditable='true';