python用逻辑回归制作评分卡_逻辑回归的评分卡的SAS实现

在信贷业务的不同阶段有不同的评分卡模型。分别是:贷前A卡-申请评分卡、贷中B卡-行为评分卡、贷后C卡-催收评分卡。三种评分卡起到的作用也是不一样的。本文是基于kaggle的信用卡数据做的信贷申请评分卡。运用的算法是:逻辑回归。工具:SAS EG、EXCEL。目标:利用数据对SeriousDlqin2yrs(是否不良)做逻辑回归建模并制作成评分卡形式,因为SeriousDlqin2yrs取值0和1

数据源:kaggle的give_me_some_cridits信用卡数据

本文分为四个部分

一、数据预处理

二、分箱操作

三、WOE合并与变量筛选

四、逻辑回归建模

五、分数的转化

一、数据预处理

1.导入数据

因为之前导入过并存储在逻辑库中,所以直接代码连接逻辑库即可。

SAS代码:

libname a'D:e逻辑库202003';

/*数据处理:转换数据类型,将字符都转化成数值。因为数据导入问题导致数值型变为字符型,现在需要弄回来*/

data cs;

set a.cs_training;

MonthlyIncome1=input(MonthlyIncome,8.);

NumberOfDependents1=input(NumberOfDependents,8.);

/*一,数据探索*/

对数据进行探索性分析。

SAS代码:

proc means data=cs1 N NMISS MEAN MEDIAN MAX STD ;

VAR _NUMERIC_;

RUN;

结果:

520b02d6ed9a5edff4fdf4f28046275a.png

1.查看统计量,可看到MonthlyIncome(月收入)和NumberOfDependents(不包括本人在内的家属数量)存在 缺失值,可考虑在下面进行操作,对于异常值,由于数据源来自网络,并不知道异常值出现的原因,所以直接剔除

异常值:年龄:剔除60岁以上的和18岁以下的

异常值:负债比率:剔除超过80%

缺失值:月收入:中位数进行填充

缺失值:家属数量:中位数填充

数据处理SAS代码:

/*填充缺失值*/

data cs2;

set cs1;

if missing(MonthlyIncome1)=1 then MonthlyIncome1=5400;

if missing(NumberOfDependents1)=1 then NumberOfDependents1=0;

run;

/*剔除负债比率大于80%且年龄大于60岁且小于18岁的数据量,随便将变量名过长的变量进行改名操作,并查看结果*/

data cs3;

set cs2;

where DebtRatio<=0.8;

run;

data cs3;

set cs3(rename=(RevolvingUtilizationOfUnsecuredL=RUOL NumberOfOpenCreditLinesAndLoans=NOCLA 'NumberOfTime30-59DaysPastDueNotW'N=NO3_5DPD 'NumberOfTime60-89DaysPastDueNotW'N=NO6_8DPNW));

where 18<age<60;

因为没有具体的业务场景,所以无法做一下特征工程的操作,类似变量的衍生等。

二、变量分箱操作

变量的分箱操作,因为原数据变量都是连续变量和名义变量,没有涉及到离散变量。所以使用等频分箱。

大概流程为:

1.先对数据源排序,

2.然后对单个变量分为X组,每组中数据量一样。

3.计算每组的WOE和IV,导出到EXCEL进行分箱合并操作

SAS代码:

%MACRO woe_1(x);

/*一、排序*/

proc sort data=cs3 ;

by &x;

run;

/*二、先分为10组,然后在导出至EXCEL根据IV值分组合并*/

proc rank data=cs3 out=cs4_0 groups=10;

var &x;

RANKS group ;

run;

data cs4_00(rename=(group_1=group));

set cs4_0;

length grou

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值