金融风控:lr+woe

一、线性回归

我们用线性函数 y=wTx+by = w^Tx+by=wTx+b 来描述 x→yx \rightarrow yx→y 的映射

通过数据集去寻找适当的 w,bw, bw,b 来拟合超平面 y=wTx+by = w^Tx+by=wTx+b 的过程被称之为线性回归

二、逻辑回归

逻辑回归是一个分类问题,它通过回归拟合“点属于某一类”的可能性,从而将分类转化为回归问题处理。

得到“点属于某一类”的可能性后,它通过使用sigmoid函数将实数域的回归结果 yyy 映射到一个有限区间内,再通过设定阈值的形式来对点的类别进行划分。

注:sigmoid函数本意是指“形为s的函数”,对数几率函数 y = 1/[1+exp(-x)] 是最常用的sigmoid函数
逻辑回归一般只用sigmoid函数做映射,已解决二分类问题。对于多分类问题,我们一般通过“ovo”“ovr”“mvm”的方式来将其转化为二分类问题
softmax函数是sigmoid函数在多维的推广,他针对多项分布提出,可直接解决多分类问题(本质上计算的是不同类的比重/可能性)

在风险控制中,我们一般将所谓“坏人”(还款逾期)视为正例,所以
一个样本为正例(坏人)的概率为 P(Y=1∣x)=11+e−(wT+b)P(Y=1|x) = \cfrac{1}{1+e^{-(w^T+b)}}P(Y=1∣x)=1+e−(wT+b)1​
一个样本为反例(好人)的概率为 P(Y=0∣x)=e−(wT+b)1+e−(wT+b)P(Y=0|x) = \cfrac{e^{-(w^T+b)}}{1+e^{-(w^T+b)}}P(Y=0∣x)=1+e−(wT+b)e−(wT+b)​

两者相除可以得到 几率 Odds=P(Y=1∣x)P(Y=0∣x)=ewT+bOdds=\cfrac{P(Y=1|x)}{P(Y=0|x)}=e^{w^T+b}Odds=P(Y=0∣x)P(Y=1∣x)​=ewT+b ,它代表样本为正例(坏人)的相对可能性

注:我们对回归函数得到的结果y(y=wx+b)做一个基于指数函数的非线性函数可以得到y为正例1的相对可能性。这么做的依据来源于上面的推导,但从指数函数的性质很难理解

对于几率OddsOddsOdds,我们取对数,得到对数几率函数Ln(Odds)=wT+bLn(Odds)=w^T+bLn(Odds)=wT+b

这是将分类转化为回归的直接依据,也是“对数几率回归”的由来

三、贝叶斯定理

我们在上述的推导中加入贝叶斯定理 P(y∣x)=P(xy)P(x)=P(y)P(x∣y)P(x)P(y|x)=\cfrac{P(xy)}{P(x)}=\cfrac{P(y)P(x|y)}{P(x)}P(y∣x)=P(x)P(xy)​=P(x)P(y)P(x∣y)​

  • p:P(Y=Bad∣x)=P(Y=Bad)P(x∣Y=Bad)P(x)p:P(Y=Bad|x) = \cfrac{P(Y=Bad)P(x|Y=Bad)}{P(x)}p:P(Y=Bad∣x)=P(x)P(Y=Bad)P(x∣Y=Bad)​
  • 1−p:P(Y=Good∣x)=P(Y=Good)P(x∣Y=Good)P(x)1-p:P(Y=Good|x) = \cfrac{P(Y=Good)P(x|Y=Good)}{P(x)}1−p:P(Y=Good∣x)=P(x)P(Y=Good)P(x∣Y=Good)​
  • p1−p:odds=P(Y=Bad∣x)P(Y=Good∣x)=P(Y=Bad)P(x∣Y=Bad)P(Y=Good)P(x∣Y=Good)\cfrac{p}{1-p}: odds=\cfrac{P(Y=Bad|x)}{P(Y=Good|x)}=\cfrac{P(Y=Bad)P(x|Y=Bad)}{P(Y=Good)P(x|Y=Good)}1−pp​:odds=P(Y=Good∣x)P(Y=Bad∣x)​=P(Y=Good)P(x∣Y=Good)P(Y=Bad)P(x∣Y=Bad)​
  • Ln(odds)=ln(P(Y=Bad∣x)P(Y=Good∣x))=ln(P(Y=Bad)P(Y=Good))+ln(P(x∣Y=Bad)P(x∣Y=Good))Ln(odds)=ln(\cfrac{P(Y=Bad|x)}{P(Y=Good|x)})=ln(\cfrac{P(Y=Bad)}{P(Y=Good)})+ln(\cfrac{P(x|Y=Bad)}{P(x|Y=Good)})Ln(odds)=ln(P(Y=Good∣x)P(Y=Bad∣x)​)=ln(P(Y=Good)P(Y=Bad)​)+ln(P(x∣Y=Good)P(x∣Y=Bad)​)

其中:
Ln(odds)=ln(P(Y=Bad∣x)P(Y=Good∣x))Ln(odds)=ln(\cfrac{P(Y=Bad|x)}{P(Y=Good|x)})Ln(odds)=ln(P(Y=Good∣x)P(Y=Bad∣x)​)是代表了贝叶斯定理中的后验
ln(P(Y=Bad)P(Y=Good))ln(\cfrac{P(Y=Bad)}{P(Y=Good)})ln(P(Y=Good)P(Y=Bad)​)代表了贝叶斯定理中的先验
ln(P(x∣Y=Bad)P(x∣Y=Good))ln(\cfrac{P(x|Y=Bad)}{P(x|Y=Good)})ln(P(x∣Y=Good)P(x∣Y=Bad)​)代表了贝叶斯定理中的似然

四、“证据权重”:woe(Weight of Evidence)

目的:对先验进行修正/对数据进行离散.编码

在风控中,我们通常会对一个特征的数据进行分箱处理(连续的数据离散化),这样做有几个好处:

  1. 以年龄举例,在现实社会中,不同的年龄段的人其经济实力可能有显著差异,于是其还款能力相对总体分布,可能更符合局部的分布
  2. 借助分箱,我们可以处理异常值,利用缺失值较多的特征(将None单独视为一个分箱)
  3. 在业务中的可解释性更强了

分箱之后,我们要考察每个分箱内的数据分布 和 整体的分布 间的差异大小

统计总体与分箱的好坏人数可得
先验

  • P(Y=Bad)=BadTBadT+GoodTP(Y=Bad)=\cfrac{Bad_T}{Bad_T+Good_T}P(Y=Bad)=BadT​+GoodT​BadT​​
  • P(Y=Good)=GoodTBadT+GoodTP(Y=Good)=\cfrac{Good_T}{Bad_T+Good_T}P(Y=Good)=BadT​+GoodT​GoodT​​
    后验
  • P(Y=Bad∣xi)=BadiBadi+GoodiP(Y=Bad|x_i)=\cfrac{Bad_i}{Bad_i+Good_i}P(Y=Bad∣xi​)=Badi​+Goodi​Badi​​
  • P(Y=Good∣xi)=BadiBadi+GoodiP(Y=Good|x_i)=\cfrac{Bad_i}{Bad_i+Good_i}P(Y=Good∣xi​)=Badi​+Goodi​Badi​​

将其带入有关贝叶斯定理的推导中可得(对数似然=对数后验-对数先验):
WOE=ln(P(x∣Y=Bad)P(x∣Y=Good))=ln(P(Y=Bad∣x)P(Y=Good∣x))−ln(P(Y=Bad)P(Y=Good))=ln(BadiGoodi)−ln(BadTGoodT)=ln(Badi/GoodiBadT/GoodT)WOE=ln(\cfrac{P(x|Y=Bad)}{P(x|Y=Good)})=ln(\cfrac{P(Y=Bad|x)}{P(Y=Good|x)})-ln(\cfrac{P(Y=Bad)}{P(Y=Good)})=ln(\cfrac{Bad_i}{Good_i})-ln(\cfrac{Bad_T}{Good_T})=ln(\cfrac{Bad_i/Good_i}{Bad_T/Good_T})WOE=ln(P(x∣Y=Good)P(x∣Y=Bad)​)=ln(P(Y=Good∣x)P(Y=Bad∣x)​)−ln(P(Y=Good)P(Y=Bad)​)=ln(Goodi​Badi​​)−ln(GoodT​BadT​​)=ln(BadT​/GoodT​Badi​/Goodi​​)

我们将通过样本(证据)得到的数据分布称为后验(每个分箱的对数几率),将似然理解为后验与先验的差异(对数似然的大小反映了差异的大小)。所以WOE的值(差异大小)代表了这部分分箱内的数据对先验的修正程度。

WOE的作用主要有两个(除去上面提到的分箱的意义):

  • 一个是起到“归一化”的作用。因为不同的特征往往是通过不同的信道得来的,所以在线性回归中通常不好直接比较。但是,通过woe做一个映射(编码)之后,特征的数值变成了相对整体的差异,而整体对每个特征都是一致的,所以这可以理解为不同的特征被映射到了同一个纬度
  • 第二个是它最普遍的用处,就是作为计算IV的权重。也就是作为它的名字“证据权重”参与到运算中

五、IV(Information Value)

在训练模型的过程中,模型中参与计算的特征越多,其结构也就越复杂,于是,我们要进行特征选择
特征选择的一个指标就是IV(Information Value),表示的特征对先验的修正程度,即两个概率分布(代表先验的初始分布和代表后验的由证据/样本修正过的分布)之间的差异。

这里,我们视每个分箱的数值为BadiBadT−GoodiGoodT\cfrac{Bad_i}{Bad_T}-\cfrac{Good_i}{Good_T}BadT​Badi​​−GoodT​Goodi​​,权重为WOE。然后求期望,得到一个特征的整体对先验的修正程度,也就是它的价值(所含的信息量)−∑(BadiBadT−GoodiGoodT)(ln(BadiGoodi)−ln(BadTGoodT))-\displaystyle\sum{(\cfrac{Bad_i}{Bad_T}-\cfrac{Good_i}{Good_T})(ln(\cfrac{Bad_i}{Good_i})-ln(\cfrac{Bad_T}{Good_T}))}−∑(BadT​Badi​​−GoodT​Goodi​​)(ln(Goodi​Badi​​)−ln(GoodT​BadT​​))

金融风控:线性回归+woe相关推荐

  1. 金融风控指标:WOE, IV, KS,LIFT值和PSI

    1.WOE :表示自变量在分组内取值对于目标变量(违约概率)的影响 • WOE 的计算公式是: • WOE= ln [( 坏样本 / 总坏样本 )/( 好样本 / 总好样本 )]= ln [( 坏样本 ...

  2. 金融风控--申请评分卡模型--特征工程(特征分箱,WOE编码) 标签: 金融特征分箱-WOE编码 2017-07-16 21:26 4086人阅读 评论(2) 收藏 举报 分类: 金融风

    金融风控-->申请评分卡模型-->特征工程(特征分箱,WOE编码) 标签: 金融特征分箱-WOE编码 2017-07-16 21:26 4086人阅读 评论(2) 收藏 举报 分类: 金融 ...

  3. 如何利用大数据做金融风控? 原创 2016年11月24日 17:42:03 标签: 大数据 / 金融 / 风控 1594 导语:如何通过海量数据与欺诈风险进行博弈? 随着金融科技、科技金融等概念的

    如何利用大数据做金融风控? 原创 2016年11月24日 17:42:03 标签: 大数据 / 金融 / 风控 1594 导语:如何通过海量数据与欺诈风险进行博弈? 随着金融科技.科技金融等概念的热起 ...

  4. 入门金融风控【贷款违约预测】

    入门金融风控[贷款违约预测] 赛题以金融风控中的个人信贷为背景,要求选手根据贷款申请人的数据信息预测其是否有违约的可能,以此判断是否通过此项贷款,这是一个典型的分类问题.通过这道赛题来引导大家了解金融 ...

  5. 金融风控中英文术语手册(银行_消费金融信贷业务)_version5

    1.风控系统部分 1.Blaze blaze是FICO公司产品,用于规则管理,是模型ABC卡开发的前身.信贷公司开始放贷时,数据量少,申请用户少,难以建立模型.因此前期一般会用到专家经验判断好坏客户, ...

  6. python金融风控评分卡模型和数据分析

    python金融风控评分卡模型和数据分析微专业课(博主录制):http://dwz.date/b9vv 作者Toby:持牌照消费金融模型专家,和中科院,中科大教授保持长期项目合作:和同盾,聚信立等外部 ...

  7. python金融风控评分卡模型

    python金融风控评分卡模型和数据分析微专业课(博主录制): [ http://dwz.date/b9vv ](https://study.163.com/series/1202875601.htm ...

  8. 数据挖掘实践(金融风控-贷款违约预测)(三):特征工程

    数据挖掘实践(金融风控-贷款违约预测)(三):特征工程 目录 数据挖掘实践(金融风控-贷款违约预测)(三):特征工程 1.引言 2.特征预处理 2.1缺失值填充 2.2时间格式处理 2.3类别特征处理 ...

  9. 新人赛《金融风控贷款违约》避坑指南!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:陶旭东,北京师范大学,Datawhale成员 一.背景介绍 本文以 ...

最新文章

  1. ubuntu linux下解决“no java virtual machine was found after searching the following locations:”的方法
  2. 想学python有什么用-python学来有什么用
  3. ASP.NET的命名空间
  4. 技术分享 | 个性化推荐系统商业化的五大要素
  5. ARM汇编伪指令 .word
  6. MyBatis的高级映射之多对一
  7. poj hdu Tian Ji -- The Horse Racing 贪心
  8. 每日优鲜小程序基础组件介绍
  9. premiere安装失败解决办法
  10. 游戏角色坐标的保存间隔_游戏岗位看这里鸭——
  11. 装饰博客全攻略(如何在博客首页或博客中插入图片、音乐、视频等)
  12. MFC ------- AfxGetMainWnd( )
  13. VB进度条 游戏血条控件
  14. afuwin64教程_AMI刷BIOS工具下载|AFUWIN(AMI刷BIOS工具) v4.47官方最新版 附使用教程_星星软件园...
  15. 光缆型号英文字母代表什么意思?
  16. flash用的什么语言
  17. 使用CSS3开启GPU硬件加速提升网站动画渲染性能
  18. 我的理想200字计算机工程师,我的理想作文200字
  19. 2017安防民用市场现状及特点浅析
  20. Unity中关于IphoneX的屏幕适配

热门文章

  1. Pytorch与keras的差别
  2. 做自媒体、短视频,不用自己拍视频,大周教你一个快速起号的方法
  3. c语言移位运算符怎么用,按位移位运算符
  4. VS2015 安装VA番茄插件
  5. BJFU_数据结构习题_262基于哈夫曼树的数据压缩算法
  6. Linux基础(3) Vim编辑器与Shell命令脚本
  7. 如何制作一个产品画册二维码
  8. 熟悉Access2013的基本操作(*如何设置两个主键)
  9. 命令模式(command line)
  10. 面试官与JAVA应聘者的对话