在风控建模领域历经多年, 我目睹过众多团队将大量精力耗费于特征工程方面, 然而却忽视了变量筛选这一环节才是对模型上限起着决定性作用的关键所在。变量筛选并非单纯地去除缺失值, 而是要从成百上千个候选变量当中精确挑选出真正具备预测能力的那些变量。唯有这一步骤做正确了, 后续的建模工作才会顺畅许多。
信用评分模型变量怎么筛
不少新手会径直将全部数据扔到模型里跑上一回, 最终发觉KS值仅是勉强达到及格标准, IV值分散得极为厉害。合理的做法是从对业务的理解着手, 先要构建变量初筛框架。
在信贷场景里, 收入稳定性、历史逾期记录、负债比率这三个方面的变量权重, 天生就比较高。然而具体到实际去操作时, 我得先查看数据质量报告, 将覆盖率小于60%、缺失率大于40%的变量直接排除掉。这一步骤看上去很粗暴, 可却能够节省下大量没有效用的计算时间。
紧接着进入的是单变量分析这一环节, 我将会去计算每一个变量的IV值, 通常情况下IV小于0.02的会直接被淘汰掉, 取值处于0.02到0.1范围之间的会予以保留并进行观察, 大于0.1的那些则会作为主力候选对象。与此同时还要结合WOE图来判断变量是否拥有单调性, 如果出现了并非单调的波动情况, 那么要么采取分段处理方式, 要么直接将其剔除掉。
在实际业务里, 表现稳定的行为变量, 像多头借贷次数、征信查询频次这类, 建议优先予以保留。而诸如“近半年平均消费金额”这类, 属于衍生指标的一些衍生变量, 常常与原始变量存在高度相关性,对于共线性问题, 需要谨慎进行处理。
变量筛选常见的坑有哪些
共线性是那被忽视得最为多的坑, 我先前碰到过一回, 存在如此一个变量组合, 当中囊括了“近三个月信用卡使用额”以及“近三个月信用卡透支率”, 这两者的相关性达到了0.89之高, 模型输出的结果表明两个变量的系数均十分显著, 然而实际上它们是在传递同一条信息, 这种冗余行径不仅耗费时间, 还会致使模型解释性变差。
存在一项另外常见之错误乃为过度去依赖自动化筛选工具, 有人之惯常做法是径直接运行Python库里的feature_selection模块, 获取到一堆数字便认定一切已然妥当, 可是变量与业务逻辑达成的契合程度, 是任何一种算法皆无法取代人工从而进行判断的, 就好比某一个变量IV值仅仅只有0.08, 看上去并不够引人注目, 然而要是它表征了某种监管合规要求, 那么这一变量就必然得予以保留。
样本稳定性同样是应当加以留意的, 存有一些诸多能够在训练集里展现出极为出色表现的变量, 然而一旦 placement 到生产环境之中, 其效果便会呈现象断崖式程度的急剧下降之态势, 在这种状况发生那会儿, 就需要回转去查看变量的时间具有衰减性质的情况, 尤其是自从疫情出现以后, 消费行为以及收入结构已然发生了极为显著的较大程度的变化, 过往的历史规律不一定依旧能够具备适用性, 变量筛选属于一个呈现动态变化的进程, 是需要开展定期性的回顾以及进行优化处理的。
