风控模型

R语言信用评分卡建模

2018-01-07  本文已影响1366人  Liam_ml

关键词:R语言 ;信用评分;数据挖掘;机器学习

本身是数学,统计出生,不想当码农,于是觉得风控是一个是挺适合我的职业。但是对相关知识,专业术语还是很缺乏,希望通过学习,对这个领域有一个全面的了解。

变量筛选

特征工程(对变量进行初筛,可用随机森林,xgboost)

缺失值处理与分析

缺失值处理步骤

  1. 数据情况:str,summary查看数据结构。sapply(data,function(x) sum(is.na(x)))

  2. 计算数据缺失率::
    miss<-sapply(data,function(x(sum(is.na(x))/length(x)*100))
    对数据的缺失比例进行统计,超过一定比例就舍弃。 相关的命令还有:complecase;any.na;

  3. 查看各个列的数据类型:sapply(names(data),function(x)class(data[,x))

  4. 对于integer类型的数据,是否需要转化为factor

  5. 判断各个离散特征的分类数,分类不能小于5.
    sapply(data,function(x)length(unique(x)))

  6. 查看各个特征是否存在空值

  7. 实用VIM对缺失值进行可视化:

library(VIM)
aggr_plot<-aggr()
  1. 缺失值填充:
    手动填充:数值填充为中位数,因子填充为众数。
#把空白的填充为NA
dataset[dataset==""]<-NA

# 删除全部是NA的列
dataset<- dataset[,which(apply(dataset,2,function(x)all(is.na(x))))

# 缺失值填充,连续填充为中位数,离散填充为众数
for(i in 1:ncol(dataset)){
    if(class(dataset[1,i)%in%c('integer','numeric'))
              dataset[,i][is.na(dataset[,i)]<- median(dataset[,i),na.rm=T
    if(class(dataset[1,i)=='factor')
              dataset[,i][is.na(dataset[,i)]<- as.factor(names(which.max(table(dataset[,i))))

# 查看缺失值
anyNA(dataset)

还可以用mice,caret包进行缺失值处理。

另外还有预测差值

异常值分析以及处理(评分卡一般采用IV值来筛选变量)

http://youhaolin.blog.163.com/blog/static/224494120201422110628586/

数据集合的切分

caret包

woe转换

分箱算法(optimal binning)

  1. 预处理,连续值as.numeric,离散值 as.factor
  2. 要求y为数值型
  1. 计算woe值:
    klaR包;
    information包

  2. IV值 klaR包

  3. 逐步回归筛选:glmnet,bestglm,leaps,step
    推荐使用glmnet或者bestglm
    变量小于20可用bestglm,大于20时用glmnet,lasso较好

  4. 共线性
    相关系数:caret的findCorrelation;cor();

  5. 方差膨胀因子VIF

library(car)
vif(lm1,digits=3)

当VIF小于10,不存在共线性。大于100存在高度共线性。

评分卡的创建与实施

glm_model=glm(y~.,data=data,family=binomial(link="logit"))
pred=predict(glm_model,newdata=data,type="respinse)
评分卡生成.png

模型评估

决策点 cut-off

  1. 好坏比(good/bad=odds)
  2. 核准率(approval rate)
  3. 核准件众好客户数
  4. 核准件众坏客户数

评分卡监控

https://valiancesolutions.com/credit-risk-scorecard-monitoring-traking/

  1. 前段监控:
    总体稳定性:PSI小于0.1,稳定
    特征稳定性:CSI>5认为特征不稳定
  2. 后端监控
    总体识别度:
    K-S:41-75 越大越好
    GINI:0.4-1.越大越好
  3. 特征识别度:IV值大于0.3就很不错了
    4.资产质量监控
    VIntage analysis
    迁移率 Flow Rate
    滚动率 Roll Rate
上一篇下一篇

猜你喜欢

热点阅读