特征筛选

在建模之前的一步就是将特征工程做好的变量进行筛选,在风控项目中筛选分为两步:初步筛选、逐步回归筛选以及稳定性筛选。

初步筛选

通常评分卡模型的特征筛选主要从以下4个角度出发: 缺失率(一般变量较少时可以可以相对放宽,使用一些方法,如插值等,来填充缺失值) 好坏区分能力(即IV值) 相关性(一般使用皮尔逊相关系数) 分箱后的单调性

信息量(IV)

信息量(Information Value,IV)定义为特征WOE编码的加权求和,woe的计算公式(前面章节有详细介绍:风控建模之特征转换):

其中pyi和pni的定义与WOE编码中完全相同。单个特征的IV等于该特征每个取值对应的ivi的累加。

从公式上看,IV衡量的是变量不同取值样本标签的分布差异,可以从一定程度上反映单特征对标签区分的贡献度。

对于特征的IV筛选标准:特征整体的IV值不高时,可以将筛选的阀值调低,如在项目中一般调低至0.01,去寻找有效特征;而当特征的IV值大于0.5时,说明该特征具有显著好坏区分能力,因而可以作为前置的策略规则,提前拒绝高风险人群,对于规则阀值的确定可以依据bad_rate以及业务需要进行设置。

python代码:

import 

逐步回归筛选

逐步回归(Stepwise Regression)是一种线性回归模型自变量选择方法,其基本思想是,贪心地遍历所有变量最优组合,以保证最终模型的变量组合为最优。该过程涉及多次F检验。分为:向前逐步回归、向后逐步回归、双向逐步回归。在风控建模项目中,是在特征转换成woe编码时,进行逐步回归筛选特征。

向前逐步回归

初始情况下,模型中只有一个F检验显著性最高的变量,之后尝试加入另一个F检验显著性最高的变量。上述过程不断迭代,直至没有变量满足放入模型的条件。

向后逐步回归

与前向选择相反。首先将所有变量同时放入模型,然后将其中F检验显著性最低的变量从模型中剔除。上述过程不断迭代,直至没有变量满足剔出模型的条件。

双向逐步回归

将前向选择与后向消除同时进行。模型中每加入一个自变量,可能使得某个已放入模型的变量显著性减小。当其显著性小于阈值时,可将该变量从模型中剔除。双向消除即每增加一个新的显著变量的同时,检验整个模型中所有变量的显著性,将不显著变量剔除,从而得到最优的变量组合。

在实际项目实践中,双向逐步回归的表现较好。

combiner 

经验证,direction = ‘both’效果最好。estimator = ‘ols’以及criterion = ‘aic’运行速度快且结果对逻辑回归建模有较好的代表性

stepwise_rt_list 

稳定性筛选(PSI)

在实际业务中,最后决定模型是否能够上线的标准是模型及变量的PSI(模型表现KS只要达到30以上就具备区分好坏能力),不然可能出现的情况就是在训练集里模型表现良好,而在测试集以及时间外样本验证中KS跌如狗,那么之前的工作前功尽弃,少侠请重新再来吧!所以特征稳定性筛选是十分必要的,一般而言特征整体稳定,那么模型就稳定,KS不会波动太大。

PSI介绍

群体稳定性指标(Population Stability Index,PSI)衡量特征及模型的稳定性。其基本含义为:计算同一指标在两个不同数据集上的分布差异,作为当前指标的稳定性指标。PSI公式定义为:

其中pitarget为目标分布上第i箱中样本占总比,pibase为基础分布上第i箱中样本占总比。首先将基础分布按照等频分箱策略进行10等分,然后对目标分布使用相同的阈值进行分箱。分别计算第i箱的pitarget和pibase,带入PSI公式即可得到两个分布的稳定性差异。

PSI一般而言越小越好,当其等于0时标明没有差异,而当其大于0.01时说明特征不稳定需要查明原因

python代码:

# 读取测试集数据

建模

下面将使用传统评分卡的逻辑回归建模以及作为对比的XGBOOST建模

逻辑回归建模

from 

从bad_rate上看,模型排序性还行,只是在3,4行时出现波动

from 

XGBOOST建模

import 

通过模型结果可以看出,XGBoost模型的效果并没有明显高于逻辑回归模型,但在测试集上表现较差,由于没有进行分箱调整,因此逻辑回归建模训练集合测试集的KS波动较大,挖个坑,下一章把模型调好吧!

评分卡模型输出

接下来就是评分卡离线建模的最后一步生成标准评分卡:

from 

留下两个坑,1)手动调整分箱使其符合业务要求以及KS在训练集合测试集相对稳定,2)关于base_odds和pdo写一章介绍

向前logistic回归与向后筛选出一样的变量_风控建模之特征筛选与建模(python)...相关推荐

  1. 向前logistic回归与向后筛选出一样的变量_了解逻辑回归系数

    或者以更好的方式根据证据考虑概率 Photo by Franki Chamaki on Unsplash Logistic回归存在一个普遍的挫败感:系数难以解释. 如果您使用Logistic回归模型, ...

  2. 向前logistic回归与向后筛选出一样的变量_什么泊松分布?泊松回归又能做什么?...

    之前的文章中我们介绍过最常用的--线性回归:数据不满足线性关系时可以使用的--曲线回归:当Y为定类数据时使用的--Logistic回归等.还有一些专门用来解决回归分析中出现的种种问题的回归方法,如解决 ...

  3. 用python打印出所有水仙花数_「每日一练」巧用python打印出所有的水仙花数

    "水仙花数"估计很多小伙伴看到都会懵吧,这个概念比较小众,但其实本文主要讲述的是python如何从众多数里边筛选出符合条件的数! 下边我们就一起来看看python是怎么输出的? 题 ...

  4. 中筛选为某个列表中_关于Excel中“高级筛选”的这些技巧,必须掌握!

    Excel中的数据筛选,普通但实用的功能,一般情况下都[数据]-[筛选],根据某一指定的值进行筛选--其实,在Excel中,除了此操作之外,还有功能更强大的[高级筛选]. 一.Excel[高级筛选]: ...

  5. 广义线性模型(Generalized Linear Model)之二:Logistic回归

    广义线性模型(Generalized Linear Model)之二:Logistic回归 一.引入:多元线性回归模型 二.Logistic回归模型 三.非条件logistic回归模型 (一)介绍 ( ...

  6. SPSS(八)logistic回归(图文+数据集)

    SPSS(八)logistic回归 我们之前的线性回归也好.线性回归衍生方法也好.非线性回归也好,因变量的类型都是连续性的,假如因变量的类型是分类的呢?logistic回归针对的是二分类的因变量 lo ...

  7. R语言logistic回归的细节解读

    本文首发于公众号:医学和生信笔记,完美观看体验请至公众号查看本文. 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化. 文章目录 二项logistic回归 R语言中的 factor ...

  8. 6、spss做logistic回归

    前边我们用两篇笔记讨论了线性回归的内容.线性回归是很重要的一种回归方法,但是线性回归只适用于因变量为连续型变量的情况,那如果因变量为分类变量呢?比方说我们想预测某个病人会不会痊愈,顾客会不会购买产品, ...

  9. 乳腺癌细胞数据分析Logistic回归模型

    Breast_cancer_cells & Logistic_Regression 数据集以及源代码资源包: 链接:https://pan.baidu.com/s/1VIjTjtSa1Jngq ...

最新文章

  1. 热更新 FrameWork
  2. 你们需要客户端吗?大话软件企业的营销(上)
  3. Spring Boot 2.x基础教程:使用Flyway管理数据库版本
  4. linux变量inode,linux字符cdev和Inode的关系
  5. Configuring the VNC server/viewer in Linux.
  6. 【Android平台】Alljoyn学习笔记一 Alljoyn简介
  7. ios设计登录功能_亲爱的产品设计师,这是iOS 14的新功能
  8. 【UVA - 10038】Jolly Jumpers (模拟,水题,标记)
  9. hikari数据源配置类_spring-boot2项目默认hikari数据源的配置
  10. 【kafka】kafka topic某些分区 副本落后leader太多
  11. JavaEE中使用绝对目录的说明
  12. 什么样的摄影题材更能吸引大众的目光?
  13. 重学Es6 Promise
  14. OCJP认证该不该考?
  15. Stata 15.1下载
  16. Matlab系列之小波分析基础
  17. 28.4 kvm介绍 28.5 Centos7上安装KVM 28.6 配置网卡 28.7 创建虚拟机安装CentOS7
  18. MySQL的数据类型(三)
  19. 教程向|3D建模最难之面部雕刻,详细教程带给大家(下)
  20. 利用python获取股票折线图_python绘制香农的投资组合折线图

热门文章

  1. 中山大学临床8年和北航计算机,别的大学一个医学院求之不得,清华大学和中山大学却有两个医学院...
  2. MSSQL · 最佳实践 · RDS SDK实现数据库迁移上阿里云RDS SQL Server
  3. 无线局域网(wifi) 简单破解
  4. 机床外观设计要花多少钱?
  5. 硬盘数据丢了怎么恢复?一分钟学会数据恢复
  6. Python 开发-2 (文件操作,正则表达式,类,JSON,装饰器,异常处理,Socket)
  7. 工厂生产计划排产分析方法与优化原理介绍
  8. 现在JAVA工程师真是太卷了,招聘要求十条都算少的了
  9. Java 基础(数据类型,转译字符)
  10. 修改在服务器上搭建的hexo博客的主题