Logistics Regression
整体来说,评分卡是信用风险评估领域的常用建模方法(刚开始是运用在信贷领域,后来这种思想被广泛地扩展到其他的领域:反欺诈,支付宝信用评估等)。这其实是一种很古老的概念了,大约在18世纪出现了信用卡的雏形,有了信用卡就需要对申请信用卡的人进行信用评估,因此自然而然的就有了信用评分机制,不过刚开始的信用评分机制基本采用的都是专家经验的方式,由人工根据经验对每一项申请人的条件进行分值评定。 显然,人工的方式缺乏科学性,随着人工智能时代的到来,机器学习方法也被应用到了评分卡场景中来。现在我们再讲到评分卡模型,其实大部分都暗示了是应用了机器学习策略的评分卡生成方式。需要强调的是,评分卡并不是简单地 对应于某一种机器学习算法(虽然现在在评分卡应用场景中LogisticRegression是用的最多的算法),而是一种通用的建模框架,将原始数据通过分箱后进行特征工程变换,继而应用于线性模型进行建模的一种方法。
评分卡模型
评分卡模型开发步骤:
Step1,数据获取,包括获取存量客户及潜在客户的数据
存量客户,已开展融资业务的客户,包括个人客户和机构客户;
潜在客户,将要开展业务的客户
Step2,EDA,获取样本整体情况,进行直方图、箱形图可视化
Step3,数据预处理,包括数据清洗、缺失值处理、异常值处理
Step4,变量筛选,通过统计学的方法,筛选出对违约状态影响最显著的指标。主要有单变量特征选择和基于机器学习的方法
Step5,模型开发,包括变量分段、变量的WOE(证据权重)变换和逻辑回归估算三个部分
Step6,模型评估,评估模型的区分能力、预测能力、稳定性,并形成模型评估报告,得出模型是否可以使用的结论
Step7,生成评分卡(信用评分),根据逻辑回归的系数和WOE等确定信用评分的方法,将Logistic模型转换为标准评分的形式
Step8,建立评分系统(布置上线),根据生成的评分卡,建立自动信用评分系统
WOE, IV
WOE编码:
Weight of Evidence,证据权重
是自变量的一种编码,常用于特征变换用来衡量自变量与因变量的相关性
B代表风险客户,G代表正常客户 对于某一变量某一分组的WOE,衡量了这组里面的好坏客户的占比与整体样本好坏样本占比的差异对于连续型变量,分成N个bins
对于分类型变量保持类别group不变
计算每个bin or group中event和non-event的百分比WOE=ln(margin_bad_rate/margin_good_rate)
IV=(bad/total_bads - good/total_goods)*WOE
WOE i =In( P bad P good )
从中可以看出,IV其实就是WOE的加权求和
变量分箱
变量分箱是对连续变量进行离散化,分箱后的特征对异常数据有很强的鲁棒性
比如 age>30 为1,否则0,如果特征没有离散化,杜宇异常数据“年龄300岁”会给模型造成很大的干扰
逻辑回归属于广义线性模型,表达能力受限,单变量离散化为N个后,相当于为模型引入了非线性,能够提升模型表达能力
离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力
可以将缺失作为独立的一类带入模型
将所有变量变换到相似的尺度上
1)对于age字段,分成6段 [-math.inf, 25, 40, 50, 60, 70, math.inf]
2)对于NumberOfDependents(家属人数)字段,分成6段 [-math.inf,2,4,6,8,10,math.inf]
3)对于3种逾期次数,即NumberOfTime30-59DaysPastDueNotWorse,NumberOfTime60-89DaysPastDueNotWorse,NumberOfTimes90DaysLate,分成10段 [-math.inf,1,2,3,4,5,6,7,8,9,math.inf]
4)对于其余字段,即RevolvingUtilizationOfUnsecuredLines, DebtRatio, MonthlyIncome, NumberOfOpenCreditLinesAndLoans, NumberRealEstateLoansOrLines 分成5段
缺失值处理
针对字段X,存在缺失值的处理:
直接删除含有缺失值的样本
如果缺失的样本占总数很大,可以直接舍弃字段X(如果将X作为特征加入,噪音会很大)
采用简单规则进行补全
删除:删除数据缺失的记录;
均值:使用当前列的均值; 高频:使用当前列出现频率最高的数据。采用预测进行补全:
根据样本之间的相似性填补缺失值
根据变量之间的相关关系填补缺失值
To Do:采用随机森林对Titanic乘客生存预测中的Embarked, Age进行补全
1)通过Survived,Pclass, Sex, SibSp, Parch, Fare字段预测Embarked字段中的缺失值
2)通过Survived,Pclass, Sex, SibSp, Parch, Fare,Embarked字段,预测Age字段中的缺失值
区分度评估指标KS
评估指标KS( Kolmogorov-Smirnov ):
由两位苏联数学家A.N. Kolmogorov和N.V. Smirnov提出
在风控中,KS常用于评估模型区分度。区分度越大,说明模型的风险排序能力(ranking ability)越强
计算每个分箱区间累计坏账户占比与累计好账户占比差的绝对值,得到KS曲线
在这些绝对值中取最大值,得到此变量最终的KS值
评估指标KS( Kolmogorov-Smirnov ):
KS统计量是好坏距离或区分度的上限
KS越大,表明正负样本区分程度越好