woe分析_【SAS宏】使用WOE和IV实现风险因素筛选
在信用风险评估领域,信用评分卡模型在国内外都是一种非常成熟的预测模型,无论是使用传统的Logistic回归建模乃至一些使用Neural
networks算法建模,变量筛选都是整个建模过程中至关重要的一步。建模工作人员通过变量筛选的结果能够迅速识别那些最具预测能力的风险因素。
Core concepts
首先介绍一下WOE(Weight Of Evidence)
一般情况下我们将违约客户标记为1,正常客户标记为0。那么WOE其实就是自变量取某个值时对违约比例的一重影响。其计算公式如下:
通过WOE的计算公式可以发现其反映的是在自变量每个分组下坏客户对好客户的比例与总体坏客户对好客户占比之间的差异,所以我们可以直观的认为WOE蕴含了自变量取值对于应变量(0,1)的影响。同时,WOE的计算形式与Logistic
regression中的Logit变换非常相似,故可直接使用自变量的WOE值代替原自变量。
想必有的读者已经发现WOE无法对连续变量进行转换,事实上对于连续变量(或者分类繁杂的离散变量),通常使用区间切分的方式将其转换成离散形式,进而通过聚类的方法完成区间的切分,并进行最终的WOE计算。
然后介绍一下IV值(Information Value)
IV值衡量的是某变量所含的信息量,其计算公式如下:
通过公式可以看到IV值其实是WOE值的一个加权求和,其值的大小决定了该自变量对于目标变量的影响程度(不难发现IV值公式和信息熵的公式非常相似)。
Advantages
相比其他变量筛选方法,WOE和IV值有两大优势:
它可以对所有分类变量,顺序变量以及连续变量统一进行预测能力的计量。
可以对缺失值进行处理,将其看作一类即可分析信息缺失对于风险是否有影响
Macro
%macroIV(dataset,varnum);
proc sql;
select sum(case when target=1then1else0end), sum(case when
target=0then1else0end), count(*) into :tot_bad, :tot_good,
:tot_both
from &dataset.;
quit;
%doi=1%to&varnum.;
proc sql;
create table woe&i as
(select"x&i"as variable,
x&i as tier,
count(*) as cnt,
count(*)/&tot_both as cnt_pct,
sum(case when target=0then1else0end) as sum_good,
sum(case when target=0then1else0end)/&tot_good as
dist_good,
sum(case when target=1then1else0end) as sum_bad,
sum(case when target=1then1else0end)/&tot_bad as
dist_bad,
log((sum(case when
target=0then1else0end)/&tot_good)/(sum(case
when
target=1then1else0end)/&tot_bad))*100as woe,
((sum(case when
target=0then1else0end)/&tot_good)-(sum(case
when
target=1then1else0end)/&tot_bad))
*log((sum(case when target=0then1else0
end)/&tot_good)/(sum(case when
target=1then1else0end)/&tot_bad)) as pre_iv,
sum(case when target=1then1else0end)/count(*) as outcome
from &dataset.
group by x&i
)
order by x&i;
quit;
proc sql;
create table iv&i as select"x&i"as
variable,
sum(pre_iv) as iv
from woe&i;
quit;
%end;
data iv;
length variable$5.;
set iv1-iv&varnum.;
run;
proc sort data=iv;
by decending iv;
quit;
%mend;
Results
为了方便,这里就例举只有10个风险因素的例子,通过结果可以得到IV值由高到低的一个排序以及相应变量的数据缺失情况。
那我们应该如何评价以上10个变量呢?
下表则是公认的评价IV值的关系表(By Siddiqi)。
事实上,IV值小于0.02的变量将被程序自动剔除,因为这些变量被认为是没有预测能力的。另外,值得一提的是IV值大于0.5是可疑的,需要综合分析该变量后谨慎选择。
Final selection
最终选择进入模型的变量不仅需要较高的IV值,还需要考虑数据缺失率,变量分布,模型解释能力等。
Conclusion
根据实践验证,经过WOE变化之后的建模效果及模型的稳定性会比不进行变化的模型有一定的提升,事实上使用WOE来对自变量做编码的一大目的就是使得辨识度最大化。另外,WOE变化之后,自变量具备了标准化的性质,从而自变量各取值之间可以直接通过WOE进行比较,同时,不同自变量之间的各种取值也可以直接通过WOE进行比较。
通过WOE和IV值的计算,我们可以更直观地理解各自变量对目标变量的作用效果和方向,同时提升最终的预测效果。
woe分析_【SAS宏】使用WOE和IV实现风险因素筛选相关推荐
- woe分析_【详解】银行信用评分卡中的WOE在干什么?
WOE & IV woe全称叫Weight of Evidence,常用在风险评估.授信评分卡等领域. IV全称是Information value,可通过woe加权求和得到,衡量自变量对应变 ...
- woe分析_特征工程中的IV和WOE详解
1.IV的用途 IV的全称是Information Value,中文意思是信息价值,或者信息量. 我们在用逻辑回归.决策树等模型方法构建分类模型时,经常需要对自变量进行筛选.比如我们有200个候选自变 ...
- woe分析_评分卡模型剖析之一(woe、IV、ROC、信息熵)
评分卡模型剖析之一(woe.IV.ROC.信息熵) 信用评分卡模型在国外是一种成熟的预测方法,尤其在信用风险评估以及金融风险控制领域更是得到了比较广泛的使用,其原理是将模型变量WOE编码方式离散化之后 ...
- woe分析_用IV和WOE来做特征筛选
什么是变量的离散化 变量的离散化就是只抽取出一个变量,分析变量当中的分组与标签的分布情况. 比如对于某个活动客户有响应和不响应的情况(这里的响应与否就是我们的标签),有多个变量: 最近一个月是否有购买 ...
- woe分析_信用评分模型中WOE、IV详解
IV(informaiton Value) IV的概念 IV全程是informaiton Value,中文意思是信息价值,或者信息量. 在逻辑回归.决策树等模型方法构建分类模型时,经常需要对自变量进行 ...
- woe分析_机器学习-谈谈逻辑回归里面的woe化-20170911
1.woe是什么东西 如果有人接触过信用评分卡,那么肯定是有看过在变量处理那一步,有一个变量woe的过程.那么woe是如何计算的呢,有什么具体含义呢. woe全称是Weight of Evidence ...
- max std value 宏_新药临床试验统计分析中计量资料的SAS宏实现
sunruihua@263.net 通讯地址: 100029 北京市朝阳区樱花东路 2 号中日友好医院科研处 在新药临床试验中, 研究的变量主要分为定量资料. 定性资料和半定量资料也就是平时常说的等级 ...
- woe分析_WOE(证据权重)为何这样计算?
更多大数据分析.建模等内容请关注公众号<bigdatamodeling> 先简单回顾一下WOE的含义.假设x是类别变量或分箱处理过的连续变量,含R个类别或分段,取值为{C1, ..., C ...
- woe分析_WOE和IV
WOE和IV是在评分卡模型开发中的名词 进过分箱操作之后,变量分布在了区间上,所以我们还需要对区间做一个数值编码 这个数值编码就叫做WOE(Weight of Evidence),先来看一下WOE的计 ...
最新文章
- 【bzoj 1833】【codevs 1359】 [ZJOI2010]count 数字计数(数位dp)
- 小霸王双核/四核手机最新参数曝光
- 快速了解上市公司年报
- Hungtingdon road surgery
- java打出三角形乘法表_Java 练习(输出三角形,九九乘法表, 100以内的质数)
- swift笔记1-点语法
- Rust 算法排位记-选择排序图示与代码实现
- 代理模式——结构型模式(7)
- PECL PEAR php扩展模块的简便安装方式
- 【Stanford Online】Engineering: Algorithms1 NO.4 The Master Method
- Atitit 微服务之道 attilax著 1. 什么是微服务架构?	1 1.1. 、微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现	2 1.2. 微服务与康威定律	2 1
- Ansys DesignModeler
- Smail语法(1)
- Deploying JRE (Native Plug-in) for Windows Clients in Oracle E-Business Suite 11i (文档 ID 290807.1)
- mysql secure file_mysql secure-file-priv选项问题的解决方法
- Mac关闭某个软件的所有窗口
- 编写Java脚本统计工程代码总行数
- Centos7 上安装 FastDFS
- 【MindInsight】在win下安装MindInsight遇到“ No module named apos;fcntlapos;“问题
- nii文件中的方向理解
热门文章
- 固态硬盘的选择、安装以及双系统的安装流程(联想E520)
- C++primeplusp(p356-386)
- 河南工业大学计算机科学与技术在哪个校区,[新东方]河南工业大学计算机科学与技术专业介绍-高考院校库...
- SpringBoot中运行测试:java.lang.NullPointerException
- 笔记本自带 WiFi 功能
- 2015年蓝桥杯c/c++ 第三题 三羊献瑞
- 【SpringBoot】Command line is too long.Shorten command line for XXXApplication
- 语音识别API - 实现文字转语音
- 分享一个如何从电脑上彻底删除WPS的操作
- 获取地理位置php源码,百度地理位置定位的源码分享