



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、三方数据测试之风控字段KS初筛及Python代码实 现大数据时代,有效提炼海量数据中的商业信息,以特定场景的字段输出 作为其商业运作模式,能将沉淀在库里的数据变现。在风控领域,金融公司除了提炼自有的数据用于风控,也会常常接入外 部风控字段用做对现有风控策略架构的补充,从多维度对申请客户的信 用风险和欺诈风险进行识别。外部三方数据公司拥有场景优势,积累有 消费者各个维度的行为数据,能在一定程度上弥补人行征信数据覆盖不 足的劣势。所以,三方数据团队对于三方数据的测试工作是一项持续进行的工程。数据的更新迭代,提炼方法、理论的不断创新,都要求我们的测试工作能够及时响应,并能从成千上万的风控字段中找到符
2、合我们预期的字 段。考虑到工作的持续性及工作效率的提升,在进行策略分析之前可以 设置一道初筛环节,以减轻后续的策略分析工作量。区分度评估指标(KS)在评分卡模型效果评估中,我们通常会采用KS指标来量化模型区分度。 对于贷前申请评分卡(A卡)一般是要求KS=0.3的模型才符合上线的 标准,特殊情况下可以放宽到02KS指标的计算公式是:KS指标反映的是在各分组中,累计好坏占比的差距幅度,如两者的差 距越大,就说明该字段能有效的区分出好坏客户。计算KS值之前,我们需要对目标字段进行变量分箱,分箱的方法可以 是等频、等宽、best_ks分箱、卡方分箱、最优分箱等;完成分箱后, 就能计算出每个箱体的好坏
3、样本量,并得到相应的占比,同时缺失局部 不参与KS计算中;最后按照KS的计算公式,取绝对值最大值作为最 终的KS值。选取区KS作为初筛指标的原因三方数据测试的目的就是寻找有效的风控工具,能有效识别出申请客户 中的坏客户并在审批中将其拒绝。KS指标倾向于量化正负样本分布的 差异,而正负样本之间的是存在一定模糊性和连续性的,恰好KS也是 一条连续的曲线。在一批测试的海量风控字段中,最终能够接入到风控引擎上用作策略的 字段就只有那么几个,所以没有必要将过多的精力耗费在区分度不显著 的字段分析上。那么以KS作为初筛评估指标是一个明智的选择,KS 的阈值可以根据实际情况而定,一般是0.2 ,特殊情况可放
4、宽至0.1.需要特别说明一点,并不是说KS值小于0的字段就不适合做策略, 这种架构设计是基于“优中择优”的理念来的。如果存在足够数量KS 值大于0.1或0.2的字段,就没有必要再在区分度不是特别显著的字段 上纠结了。毕竟引擎上能够容纳的风控字段是有限的,也不可能接入一 家机构的过多字段。综合考虑以上情况,KS初筛是非常折中的方案。当然用其他指标来进行效果评估也是可以的,如IV、GINI等,本篇小 编只说KS指标。风控电子资料免费获取 提取码:那么如何通过Python批量计算目标变量的KS值呢?import pandas as pdimport numpy as npimportosos, ch
5、dir(rC:UsersAdministratorDesktop)#-#df=pd read_excel( sample.xlsx )# sampLe.xLsx 数据获取见文尾df .head()#def group_by_df (dataflag_name, factor_name,bad_name, goodame discrete_list=):按连续变量和离散变量分别进行分组Explanation 计算KS,以及KS对应的指标取值flag_name:好坏标签名;factor_name:待计算KS值的目标变量bad_name:坏客户名good_name:好客户名 discrete_lis
6、t:指定离散变量1 , 1if len(data)=0:return pd.DataFrame()regroupl = data.groupby(factor_name)flag_name.count()regroup2 = data.groupby(factor_name)flag_name.sum()datal = pd.DataFname(good_name: regroupl-regroupZ bad_name: regroup2).reset_index()datal%Bad_Rate = datalbad_name/(datalbad_name+datalgood_name)if
7、factor_name not in discreteJAst:#连续型变量datalfactor_name = datalfactor_name.astype(float)datal = datal.sort_values(by=factor_namerue)#按连续变量值升序排 列datal Char_Type、= vwwertc 井数值型数据else:#处理离散datal = datal.sort_values(by= %Bad_Rate , ascending=True)#离废呸缘按 bad_rate 升序排歹U, bad_encodingdicts=datalfactor_name,
8、%Bad_Rate.to_dict()dict_re=dict(zip(dietsfactor_name.values().,dicts,%Bad_Rate.values()datal ChaType = coc-cu林eric,#非数值型数据datal = datal.reset_index(drop=True)return dataldef KS(dataJflag_nameJfactor_name):Explanation 计算KS,以及KS对应的指标取值 data: FrameData数据 flag_name:好坏标签; factor_name:待计算KS值的目标变量Remark (1
9、)适用于连续性指标、离散有序型指标、离散无序型指标 (2)如果指标中存在缺失值,剔除缺失值计算II II IIdatal = dataflag_nameJ factor_nameif len(datal)=0:return None,Nonedatal=dataldatalfactor_name .notnull() #datal=group_by_df (datalflagamefactoname., 1 bad J good )if len(datal)=0:return ONonedefault_CDF = np.cumsum(datalbad) / sum(datalbad)undefault_CDF = np.cumsum(datalgood) / sum(datalgood)ks_CDF=abs(default_CDF - undefault_CDF)ks = max(ks_CDF)if np.isnan(ks):return None,Noneindex=list(filter(lambda x: ks_CDF. locx=ks. ks_CDF.index) 0value=datalfactor_nameindexprint (该变量 KS 值为:%s%
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《2025关于终止劳动合同协议范本》
- 2025年大连购房合同模板范文
- 传媒行业全媒体运营方案
- 医学影像学影像诊断技术知识点习题集
- 行业特定试题及答案
- 法律合同法相关题目梳理
- 游戏美术设计与制作技术规范
- 电商行业跨境电商物流解决方案研究方案
- 船舶锚泊操作课件
- 2025年小学语文毕业升学考试全真模拟卷(语文综合实践活动设计)高分策略分享
- 2024年公务员考试广西(面试)试题及解答参考
- 《传感器与检测技术》练习题集
- 电动车带牌过户免责协议书
- (完整版)大学英语六级单词表
- 新疆大学答辩模板课件模板
- DB11T 1200-2015 超长大体积混凝土结构跳仓法技术规程
- 古诗词吟唱进入小学音乐课堂研究
- 燃料电池完整版本
- 2024届吉林省吉林市高三下学期数学试题模拟试题
- 道路普通货物运输企业双重预防机制建设指导手册
- 医院培训课件:《降低肛肠术后尿潴留发生率》
评论
0/150
提交评论