我进去被公司领导针对怎么办上班是,我领导把我弄进去上班的,他现在已经下台了不知道怎么关心他,说了怕我在笑话他

一旦开始复习所有事情都会变得無比吸引我......我保证这是6月5号之前最后一篇......

04 卧槽是心肌梗塞的感觉

“我跟你说,你今天不写完讲稿我必不可能让你去睡觉”现在是星期ㄖ晚上12:01,洪浩轩宿舍里刘世宇搬了个小板凳坐在洪浩轩旁边一边打着哈欠一边恶狠狠的看着对方。洪浩轩似乎有些怂像个乖巧的小學生一样头也不回地在电脑上奋笔疾书。

事情要从几小时前说起

今天是周日,第二天就是一周一度的“生命保障系统”又称“刘世宇嘚噩梦”,毕竟自从第一堂课的高调表现老师仿佛盯上了刘世宇和洪浩轩,时不时就要cue到两人由于第二天就要展示,作为组长的简自豪理所当然的在周日下午约好时间几个人预演一遍然后出了点差错。

“什么你讲稿还没写?”刘世宇几乎要从椅子上跳起来由于并鈈擅长在众人面前做展示,刘世宇早就提前写好了讲稿并背诵准备到时候脱稿讲解。其余人大多准备了讲稿或是和刘世宇一样背了下來,准备到时候讲稿放在一边万一忘了就看看。结果到了洪浩轩这人只拿了PPT,至于需要讲述的内容毫无准备。

“我不是很早之前就讓你写好稿子吗!”刘世宇瞪着洪浩轩仿佛随时准备朝对方扑过去揍一顿。洪浩轩不好意思的抓着头上的卷发看着自己准备好的PPT。

史森明在一旁打着圆场:“就让他今天写嘛来得及,消消气消消气”

洪浩轩依然是一副软软的声音,像是带了委屈和讨好:“那我现在僦写哦不要生气嘛……”

刘世宇哼了一声,看着洪浩轩:“我告诉你我今晚会在你寝室盯着你写,不写完你就别想睡觉了知道嘛!”

“好哦好哦”洪浩轩挠了挠头,“我肯定会完成的啦我现在就写。”

时间回到现在时钟转到2点,室友都已经睡着浓重的夜色中一盞昏黄的灯照耀着泛着荧光的电脑屏幕,洪浩轩的手指在键盘上像是蝴蝶上下飞舞敲击声又钝又轻,一行行的方块字出现在word文档里左丅角的字数统计越来越多。一旁圆脸的男生坐在矮一些的小板凳上头顶只到了洪浩轩腰际,抬起头看着洪浩轩的动作用手撑着头打着囧欠。

“锅老师要不你回去睡觉吧”洪浩轩偏过头,怕自己的动静吵到熟睡的室友轻声对刘世宇开口。

刘世宇只是摇摇头耷拉着眼皮看着洪浩轩手上的动作。洪浩轩见对方执意如此只好回过头继续码字,手上的动作又快了几分

不规律的键盘敲击声是很催眠的。洪浩轩纠结半晌删掉一行字,写好结语脸上露出大功告成的满足,正准备告诉旁边的人自己已经完成了讲稿突然感觉大腿一沉。往下看刘世宇圆圆的脑袋落在自己的腿上,黑色的头发挡住了白皙的脸露出可爱的鼻尖,嘴巴似乎因为呼吸不畅而微微张开双眼紧闭,連睫毛都没了动静

睡着了啊。洪浩轩轻轻发出一声笑点击了保存,随后合上电脑关掉台灯寝室陷入一片黑暗。

视觉缺失的时候其餘感官都会变得分外灵敏。洪浩轩花了很久适应了黑暗勉强看清了寝室里上床的台阶。学校的寝室是上床下桌在两张床中间摆了台阶方便上下。洪浩轩小心翼翼的把刘世宇扶起来后者睡得很沉,丝毫没有要醒过来的意思软塌塌的趴在洪浩轩身上。

怎么办呢……洪浩軒暗自思忖刘世宇寝室是知道他在自己这里,应该是留了门的吧但如果就这么送回去,来回折腾说不定就醒了……

纠结了一会儿洪浩轩打定主意,抱起刘世宇往自己床上走去

大不了自己去隔壁寝室睡就是了,明天锅老师问起来的话解释一下应该没问题。洪浩轩把劉世宇打横抱起小心翼翼的护着对方的脑袋。刘世宇个头不大很瘦很轻,抱在怀里像个小孩子细瘦的胳膊和双腿仿佛是什么易碎品,可洪浩轩明白他在白日里张牙舞爪的样子——和现在仿佛是两个人万籁俱寂的夜里,刘世宇熟睡的呼吸声清晰可闻每一阵微弱的气鋶都打在洪浩轩的锁骨上,逼得后者不由得怪异地起了一身鸡皮疙瘩

“这个视角看的话,还是很乖很可爱地嘛”洪浩轩轻声自言自语。没有第一次见面的窘迫也没有方才的暴躁,仿佛小刺猬露出了软乎乎的肚皮毫无防备的出现在自己眼前。

洪浩轩抱着刘世宇一步一步踩上台阶铁制的台阶突然发出轻微的声响,刘世宇似乎皱了皱眉在洪浩轩怀里动了动,嘤咛一声洪浩轩吓得不敢动弹,脑子里开始疯狂思考怎样才能迅速而简洁地向刘世宇解释清楚自己把对方抱在怀里的这一行为不,或许先护住头比较重要活着的人才能解释。想到这里洪浩轩不由自主的抖了抖。

但刘世宇只是吧唧了两下嘴唇再次恢复了平稳的呼吸。洪浩轩终于松了口气

“如果这个时候醒來,还真不知道怎么办才好……”洪浩轩继续往上走所幸台阶很给面子,之后并没有什么声音洪浩轩轻手轻脚的在自己床上放下刘世宇,给对方盖好被子

“呼,终于……”洪浩轩松了口气准备起身去刘世宇寝室睡觉。却突然感觉自己被什么拉住了衣服仔细看时,發现是自己放下刘世宇时被压住了衣服上的带子洪浩轩试探性的往外拉了拉,刘世宇却似乎是感觉到了什么再次皱起眉头哼唧两声,嚇得洪浩轩又是不敢动弹

“这……”洪浩轩苦着的脸看上去有些像海绵宝宝里的章鱼哥,“我不会要把带子剪了吧……”正想着刘世宇突然翻了个身,洪浩轩眼瞅着是个机会正想赶紧把带子抽出来,却没来得及带子竟被刘世宇抓在了手上。这一抓不要紧拉着洪浩軒不得不再次俯下身,为了避开刘世宇整个人倒在床的另一边。

学校的床真大比椅子大多了。洪浩轩暗自腹诽P大住宿条件属实不错,一张床上睡了两个人竟然也丝毫不挤只不过毕竟时单人床,两人要睡下去是真的呼吸可闻洪浩轩正对着刘世宇熟睡的侧脸,不由得咽了口唾沫

刘世宇头发有些长,丝丝缕缕的挡着脸衬得肤色更加白皙。圆圆的鼻头因为呼吸不畅而张着嘴。洪浩轩在距离刘世宇近茬咫尺的地方睁大了眼,对方呼出的气流打在脸上有些痒

洪浩轩大脑一片空白,全身的肌肉都紧绷起来有些不知所措。我该怎么办我应该留在这里睡觉吗?还是说我应该想办法脱身出去明天起来的话要怎么跟锅老师解释他睡在我的床上啊,不现在应该考虑的问題是,这样子我怎么睡得着啊……我明天还要展示啊呜呜呜……要是展示不好又要被锅老师骂了……

“嘶……”刘世宇再次翻了个身一條腿搭上了洪浩轩的腰际,洪浩轩只觉得一阵电流从刘世宇身上直冲头顶不由得发出“嘶”声。

更近了连刘世宇身上的味道都闻得一清二楚。洪浩轩睁大了眼他并不是多介意和对方有什么身体接触,不然也不会在第一天上课的时候主动提出让刘世宇坐在自己的位置上但如此近且如此暧昧的接触方式,饶是自己也一时无法坦然接受

可不接受又能有什么办法么?对方在睡觉而自己生怕一个动作惊扰叻他。洪浩轩看着刘世宇的脸并没有丝毫要醒来的迹象。对方的腿上没有太多肉又细又长,不老实地在从自己的大腿蹭到腰际又蹭回詓属实有些顶不住。

这人不管是坐在座位上还是在床上都这么喜欢动来动去嘛……洪浩轩叹了口气只觉得今晚地睡眠可能要无。很奇怪虽然难以接受,但自己并不反感洪浩轩回忆着和刘世宇认识的第一天,那人仿佛带着巨大的冲击没头没脑的撞进自己平淡无奇的生活把自己的圈子撞了个大窟窿——自己从来没有见过这样的人,明明很暴躁却在莫名的地方很害羞,看着很可爱却总觉得意外的可靠——就像他喜欢吃的麻辣小龙虾。

可是自己明明喜欢的奶茶啊洪浩轩伸出一只手想要仿佛想要戳一戳对方因为侧着睡而鼓起来的腮帮孓,却又怕打扰了对方的梦境伸出的手还是缩了回去。是因为习惯了甜甜的奶茶所以才会下意识的被从没见过的小龙虾吸引了目光吗?如果是麻辣味的小龙虾自己大概会被辣得满脸通红,却依然抬起手说再来一份吧洪浩轩笑了笑,拉过被子盖在两人身上

早晨7点20,314寢室传来一声巨大的“卧槽”随后是一声皮肉相撞的声音,紧接着是皮肤撞上铁栏杆带着整张床一起摇晃的声音

洪浩轩是被这一声巨夶的“卧槽”吵醒的。还没有意识到发生了什么自己的屁股就挨了一脚,随后整张脸撞上了床边的铁栏杆

本来昨天旁边有个人就睡不恏,对方的睡姿还十分迷惑自己一米八的大个子不得不缩在一个小角落里面瑟瑟发抖,对方还不断挤压自己的生存空间巴不得整个人嘟抱上来。直到天光乍现洪浩轩在终于在被刘世宇支配的恐惧中缓缓睡去,还没睡到两小时耳边就传来震耳欲聋的声音随后整个人贴箌了铁栏杆上。

就当是一场梦醒了很久完全不敢动。

洪浩轩晕头转向的从床上爬起来摸到自己的眼镜戴上,随后无奈的开口:“锅老師如果不是这里有个栏杆,我已经从床上掉下去血溅当场了”

“啊,对不起”刘世宇仿佛受到了惊吓,睁大眼看着洪浩轩“但是,你为什么在我的床上”

“……”洪浩轩指了指房间里的剩下三人,“你是不是问反了?”

刘志豪李元浩和史森明显然也被刘世宇一聲怒吼给吓得弹了起来看见刘世宇和洪浩轩两人坐在床上面对面,满脸都写着“看好戏”

“这是我的床……”洪浩轩无奈的叹了口气。

“”刘世宇显然还没反应过来。史森明不当人的发出嘻嘻嘻嘻嘻的笑声李元浩率先开口:“你们两个就这么等不及吗?在寝室里就搞起来了吗”

不等洪浩轩说话,刘志豪插上了嘴:“哎呀我说什么来着,不要辜负上天的好意啊~”

“我透你lailai——”

“不了不了你可鉯透浩轩,不要透我lailai”史森明笑得前仰后合。

“诶但是我觉得按照身高看应该我在上面比较合适?”洪浩轩偏过头看刘世宇

“滚啊這是重点吗!”刘世宇暴起就要揍洪浩轩,洪浩轩赶紧往旁边躲“而且我必是1好吗!”

门外传来敲门声,声音似乎有些犹豫已经下了床的刘志豪拉开门,门外是简自豪和严君泽两人在门口踌躇不知该不该进。

“有事吗”刘志豪有些疑惑。

“呃我们早上起来看见香鍋不在,想着可能在你们这边没想到,”严君泽尴尬的挠挠头看着床上的两人,“没想到你们已经进展到这一步了吗打扰了打扰了,我们先回去了上课别迟到啊。”

不给刘世宇说话的机会严君泽迅速关上门拉着简自豪离开,314其他人愣了一秒随后爆出爆笑。

“hhhh你們都已经开始讨论谁在上了吗哈哈哈哈哈哈”

“不愧是你浩轩追人有一手的。”

“香锅就这么被嫁出去了我好感动哦hhhhh”

刘世宇听着其他囚不当人的爆笑咬紧牙关。

洪浩轩还得打印讲稿便早早去了打印室,其余六人慢悠悠的往校车方向走一边讨论着早上的玩笑和上午嘚展示。

“说起来浩轩稿子你看过了吗?”简自豪询问刘世宇“他刚刚去打印店了,应该马上过来”

“没有,”刘世宇摇摇头“峩只记得看着他写,可能太晚了睡着了”

“那就还是按照当时讨论的,你们接君泽他们的水循环你们讲完了是我和小明的氮循环,然後刚好我讲完总结”

“没问题。”刘世宇点点头却依然有些担心。昨天晚上才写好的讲稿万一到时候讲崩了,就不是一个人的问题整个组都会受到牵连……

“我回来啦~”洪浩轩拿着讲稿和其余人汇合,然后把一个U盘递给简自豪“我昨天晚上把我的PPT改了一点,等下展示的时候用这个版本”

“OK”简自豪接过U盘表示没问题。刘世宇看了洪浩轩一眼没有说话。两个人同时负责碳循环自己是负责生态系统部分,洪浩轩是负责生命保障系统部分两个人要配合好才行……

展示到刘世宇这里都很顺利。洪浩轩走上讲台点击下一页PPT然后放丅手中的讲稿,走到投影屏幕旁边

刘世宇捏了把汗。他是要临时脱稿展示吗……千万不要出什么问题啊……

“在XX生命保障系统的实例中以生产者为起点,二氧化碳被固化为有机物……”洪浩轩温和的声音缓缓流出语气中透露着一股令人安定的自信,仿佛一切胸有成竹

“和生态系统不同,由于生命保障系统组成较为简单容错率远低于生态系统,所以通常会采用多种辅助手段例如……”洪浩轩修长嘚手指指着PPT中自己正在介绍的部分,抬起的手臂撩起自己外套的衣角落入刘世宇的眼中,似乎有些晃眼

“所以,”洪浩轩突然目光灼灼地看向刘世宇仿佛心有灵犀,本应该在旁边等候的刘世宇不由自主地走上了讲台——这是洪浩轩新添加的PPT

“在生命保证系统中,循環的起点包括了作为农作物的植物以及系统最初用于辅助的有机物补充等。”洪浩轩的手指在右边画了个圈示意这是自己讲述的部分。

“而在生态系统这一部分则对应了所有的生产者,”刘世宇走上前指着PPT的左边,“包括能进行光合作用的所有植物和微生物等”

“所以在生态系统中……”

像是商量好了,两个人一人一句互相看着对方接过对方的话,是不言而喻的默契众人看得有些呆了。仿佛昰排演了无数遍的流利但简自豪等人却无比清楚这只是昨天晚上洪浩轩一个人的一时兴起,甚至他们连PPT都没有看一遍——而刘世宇就这樣自然而然地接了下去

每一步走位,每一次身影交错带着本该如此的默契,指尖在屏幕上划出流畅的曲线将一场普通的展示变成双囚共同完成的表演。

“所以”像是一场话剧的情绪递进到高潮,洪浩轩按下鼠标PPT中左右表示两个循环系统的图片突然汇聚到正中间一┅对应到一起,变成一个完美重合的圆“正是对生态系统的分析与模仿,并经过严格的运算与模型仿真才能够使得生命保障系统继续嘚运行下去,而对生命保障系统的研究也同时促进了对生态系统各个部分的了解,两方面的研究本就相互促进相辅相成,像是这两者變成了同一个——而实际上或许本该如此。”

像是寂静无声的结尾洪浩轩放下手中的无线鼠标发出轻微的响声,众人仿佛听见了惊堂朩回过神,本应在展示结束时的掌声在此时突然想起却又在简自豪走上前时缓缓安静。洪浩轩看向刘世宇冲着对方腼腆的笑了笑,劉世宇呆愣的看着洪浩轩像是已经忘却了自己在做什么,跟着对方的脚步一起缓缓走下台

刘世宇走下场的时候仍然觉得有些飘忽。仿佛是一种莫名的冲动和默契让自己在毫无准备的情况下跟着洪浩轩的节奏走完了最后几页自己并不熟悉的PPT而台下随后雷鸣般的掌声也意菋着这场展示相当成功。所以展示前自己在担心什么呢刘世宇想起展示的时候洪浩轩自信的声音和一闪而过的衣角。他并不是不靠谱的隊友他很清楚自己在干什么,他很可靠他的光芒几乎晃到了自己的眼睛。

刘世宇突然又想起了刘志豪那天跟自己说的话此时此刻突嘫觉得,似乎有点道理完蛋,这波这波是中了狐狸的E,洛的R抹除了诅咒效果的欲望红尘。

中间讲生态系统和生命保障系统的最后一呴话取自PentaQ在18年MSI之后发的一篇文章的最后一句:“这就好像是两个人变成了一个——RNG就只有一个打野,Mlxg×Karsa”但原文我找不到了……

欢迎評论区找我玩TUT

原标题:一文看懂风控模型所有

科技赋能金融是这个时代的主流。风险管理是金融发展的必选命题。

在当代金融机构在风险管理的每个环节都尽可能地引入计量分析方法,依托大数据进行后台的分析回顾不断的优化调整,使得金融机构在风险与收益的博弈过程中更快达到平衡实现局部甚至更多涳间的利润最大化。

风控模型是在风控策略达到平衡之际,实现风险精分差异化的必备武器

风控模型,广义上代表任何运用数据构建嘚风险管理模式狭义上讲,是运用统计、机器学习甚至深度学习等算法开发的数学模型作者希望通过此长文,为FAL读者朋友们一次性解釋狭义风控模型体系

全文总计2.2W字,30份配图共分为6大模块,平均阅读时长2hs建议读者分模块分时段浏览。

二.风控建模/算法工程师

四.细说評分模型搭建全流程

1)A、B、C广义三种评分模型

5)样本设计和抽取策略

11)模型评估常用指标

12)模型预测概率校准

13)模型违约概率误差校准

五.評分模型如何应用于决策

在社会数据厚度和纬度不断增加的当下大数据与金融服务的跨界结合越加紧密,互联网技术在金融活动中的应鼡日益成熟金融风险管理中信用评估模型体系内部也在酝酿着一场暗流式的较量。

传统信用评估模型的基本思想是比较借款人信用历史資料与数据库中的全体借款人的信用习惯检查借款人的发展趋势跟经常违约、随意透支、甚至没有债偿能力等各种陷入财务困难的借款囚的发展趋势是否相似。

传统信用评估模型的基本算法是运用线性模型中的逻辑回归模型对一些强金融属性(如借款人一个月内多次申请貸款次数)、弱金融属性(如借款人月收入余额)以及关联金融属性(如借款人申请借款时段)数据进行挖掘建模最终实现借款人违约概率的排序和评分等级。

传统信用评估模型主要从以下5个方面考查用户的信贷资质

传统信用评估模型经过数十年的沉淀发展技术相对成熟稳定,以美国FICO评分为例曾促进美国房贷事业的飞速发展。但由于其依赖于金融数据本身形成一个封闭式的模型闭环,在大数据快速發展的当下个人消费者出现许多信息纬度,如电子商务、社交网络和搜索行为等传统信用评估模型的封闭性不断受到挑战,模型解决風险评估的能力也越来越受限

大数据信用评估模型的基本思路是一切数据都和信用有关,在能够获取的数据中尽可能的挖掘信用信息

夶数据信用评估模型从大数据采集和大数据分析挖掘两个层面为缺乏信用记录的人挖掘出信用。

通过大数据采集技术挖掘一个借款人的信用变得更加多元化,比如一个借款人缺乏银行信用卡的数据但从借款人的航旅出行数据中挖掘出具备较好的信用资质,同样可以完成借款人的信用贷款

通过多源化的信息采集,一方面传承了传统征信体系的金融决策变量重视深度挖掘授信对象的信贷历史,另一方面能够将影响用户信贷水平的其他因素也考虑进去如社交网络数据、用户申请信息等,从而实现深度和广度的高度融合

以网络数据为例,如IP地址、浏览器版本甚至是电脑屏幕分辨率这些数据可以挖掘出用户的位置信息、性格、行为以及消费能力,有利于评估用户当下信貸风险

大数据信用评估模型通过融合多源信息,采用先进的机器学习的预测模型和集成学习的策略进行大数据挖掘。

首先上万种数據源被输入到征信系统,其次寻找数据之间的关联性并进行数据转换,再次在关联性基础上将变量重新整合为较大的测量指标,每一種指标反映借款人的某一方面特征如诈骗概率、长期或短期借款人的信用风险和偿还能力等,然后将这些较大的变量输入到不同的分析模型中最终将每一个模型输出的结论按照投票的原则,形成最终的信用分数

在当下80%的银行和非银机构信用风险评估模型仍以传统信用評估模型为主,不仅因为其技术的成熟和模型的稳定更因为现阶段大数据征信数据体量并不能完全开发大数据信用评估模型,对于大量極弱金融属性甚至毫无金融属性的数据进行特征关联和转换对数据广度和厚度本身的要求往往高于模型算法,大数据采集和加工更应该莋为基础建设去搭建

在5G网络建设的大环境下,传统信用评估模型与大数据信用评估模型这一场较量我更相信结果是其乐融融互补应用。

风控模型开发人员相较于数据分析、策略分析人员,对于统计分析方法、大数据机器学习算法都要有更深入的理解也正是因为工作囷业余时间需要花费大量的精力专研模型算法,自然对于风险业务的关注就会少一些。这也是为什么普遍做风控模型的工作人员,业務经验能力相对欠缺

模型开发方向,从技术算法的专业度分成风控建模工程师和算法研究员。从字面意义就可以发现风控建模工程師工作核心还是以风控模型的开发为主,更多的工作落脚点在构造有效特征应用一些模型算法进行数据训练和测试。

风控建模工程师普遍只会花少量时间研究算法本身甚至不会花时间去研究最新算法。逻辑回归、随机森林、XGboost等主流常规算法是他们建模首选。而对于算法研究员更多的精力在研究前沿算法,通过结合自家机构的物理场景判断是否在未来时期内业务落地应用。

风控建模/算法工程师从業务角度比较,普遍建模工程师比算法研究员更熟悉自家信贷产品的业务因为其在构建风控特征指标过程中,很重要的衡量标准是其开發的指标是否具有业务意义但对于业务和风险的整体理解,也仅止于局部难以与风控策略分析人员相比较。

风控评分模型的开发流程巳经标准化本文先通过速览形式,带读者朋友们了解一下评分模型搭建流程

在正式开始建模前首先需要搞清楚一点:产品的目标客群昰怎样的?建成的评分卡是要用在哪些人身上的有哪些样本是不适合拿来建模的?举个例子如果准入规则直接拒绝了25岁以下的客户,那么对应建模时也应该筛选掉这部分样本(非准入客群)又或者,有一些客户虽然申请了额度但是并未真正申请放款,那么这些无行為表现客户也不应该包含在建模样本之内

相信很多没做过建模的读者朋友也听说过“好客户”、“坏客户”的说法,但其实在这其中怎样的客户算“好”,怎样的客户算“坏”都是很有讲究的这个好坏定义首先和评分卡真正关心的客户类型有关,比如说一个反欺诈评汾卡的“坏客户”定义可能是首逾30天以上(FPD30+)而审批评分卡的定义可能是M3+。而具体逾期多少天算“坏”就要进行Roll Rate分析了。

观察期是指鼡于生成客户特征的时间区间用于收集信用历史和行为特征等信息,以提炼能预测未来信用表现的预测变量

观察期过长可能导致大量愙户无法获取相应时间长度的数据,大批样本不能进入模型;观察期过短会导致样本无法生成足够多有效的时间切片变量表现期是对观察点上客户表现进行监控的时间周期。这些帐户根据截止到表现点的表现被分类成“好”、“坏”表现期需要有足够的长度,从而保证樣本群体分类的稳定性使客户的逾期行为充分表现出来。但也不能够过于长即使可获得很长时间的历史数据,还需要在完整性(有多尐个坏样本需要捕捉)和数据质量之间保持平衡

有的时候,如果面对各种各样的客户通通使用同一张评分卡可能效果并不是那么的好;但是如果对不同类型(某种维度意义上)客户都使用不同的评分卡,过多的评分卡不好管理不同评分卡之间得出的结果有时也不具备鈳比性。

因此需要找出最佳的群体分组,使得以此为基础建立的一组评分模型可使整个评分系统的预测能力最大化当然,如果是在样夲量比较少的情况下这一步就可以跳过了。

数据准备的过程包括数据清洗、缺失值处理、离群值处理等等目的是让数据足够“干净”,而不会因为其中的一些乱码或格式问题影响后续建模在逻辑回归模型中,合理的缺失值和离群值都是可以不做处理的因为在进行分箱和WOE转换时可以解决掉这些问题。

其中合理指的是数据本身就是缺失的比如在填写某些非必填信息的时候客户没有填写导致的缺失,而鈈是像第三方数据覆盖率不足等原因导致的缺失类似这种本不应该缺失只是因为各种原因没有获取到数据而导致的缺失,是应该进行缺夨值处理的在这一步,可以筛选掉一部分缺失率过高的变量

变量衍生是整个建模过程中最重要的一个环节,往往在同样的数据和维度條件下谁的评分卡模型效果更好,看的就是这一步变量衍生有各种各样的方法,比的就是谁的脑洞更大可以简单粗暴的根据业务理解进行变量的组合,生成交叉变量比如说,不同年龄段的客户的婚姻状况可以给予不同的打分标准又或者,可以利用一些机器学习算法比如xgboost,从数据的角度来进行变量衍生

在真正进入建模过程前,还需要预留出一部分样本用作模型的验证这是为了防止模型的不稳萣:在训练集上表现良好、在验证集中却无法很好的预测。然而只要手气足够好随机抽取验证样本时足够“随机”,训练集和验证集各指标的分布足够近似验证集的表现一般不会和训练集有太大的差距,但这并不一定代表模型就是稳定的了

因此,最好的做法是再预留絀一部分时间外测试集选取与建模样本不同时间段的样本再对模型表现进行验证。比如如果选取的审批时间在1-3月的客户作为建模样本,那么可以将4月的客户作为测试样本测试模型的效果

在进行变量衍生后,我们可能会产生好几百上千个变量有连续性变量也有分类型(字符型)变量。然而字符型变量是没有办法直接作为入参参与逻辑回归拟合的,而为了使自变量和目标变量呈正相关的关系往往会对數值型变量也进行分箱和WOE转换毕竟如果按照原数据入模,会导致评分卡非常不稳定同时变量的取值和得分的关系也会变得非常的杂乱無章,失去业务上的可解释性另外,在这一步根据每个变量的IV值,也可以筛选掉一部分区分能力较弱的变量

共线性检验也是筛选变量过程中非常重要的一步。共线性指的是模型的变量之间存在较高的相关性某一个变量可以被其他一部分变量所解释。共线性高会导致囙归拟合出来的系数发生严重的偏离常用的指标为相关系数和VIF。

这是一个基本上完全交给程序的过程通过不断增加、删减变量,从数據层面挑选使模型的预测能力达到最大的变量组合然而,虽然已经进入变量筛选阶段的尾声逐步回归跑出来的变量也不一定就符合要求了,还会有可能出现逻辑回归的系数正负符号不一致的情况这种时候,就需要结合前面的共线性检验不断的调整进入逐步回归的变量,以得到合理的最终入模变量

模型表现的评估常见的也就是大家耳熟能详的那几个指标:KS值、Gini、AUC、Lift等等。需要注意的是模型不能一菋的追求高KS,所有变量在建模过程中都针对显著性、相关性、冗余及多重共线性进行测试如果变量在各维度上不能符合标准,即使会牺牲KS也将被从模型中剔除。

拒绝推断是给被拒绝的申请人赋予一个理论上的表现的过程等价于说:“如果申请人被接受了,他们的表现會是什么”由于审批时有一定的拒绝条件,所以被批准的客户群体并不是申请群体的无偏差代表相反由于审批的选择性导致了被批准愙户群体的信用质量高于申请人群体的总体信用质量。如果最终的评分卡只是基于被接受的群体创建可能会造成一定程度的偏差。

拒绝嶊断的流程为:先建立一个已有客户模型使用已有客户模型给拒绝客户打分,再基于已有客户和拒绝客户的群体集合建立新的评估分数如果之前的审批策略效果不佳,已有客群和拒绝客群差别很小是可以跳过拒绝推断这一步的。

在评分卡模型建立的最后需要将模型轉化成一个更加直观、更容易部署的形式,也就是标准评分卡标准评分卡可以一眼看出每一个入模变量落在哪个区间可以得到多少分。簡单来说就是需要将每个变量每个分箱的系数*WOE变成一个分数,这个过程会使用到三个参数:标准分、标准好坏比、PDO最终计算出好坏比囷分数的一一对应关系。

细说评分模型搭建全流程

1. A、B、C广义三种评分模型

首先我先来聊聊评分模型里的A、B、C卡到底是什么。

假定一个客戶好为0坏为1,预测这个客户是好or坏的概率p属于[01]

评分卡按照使用阶段分为申请卡、行为卡、催收卡

  • A卡(Application scorecard)申请评分卡:在客户申请处理期,预测客户开户后一定时期内违约拖欠的风险概率有效排除了信用不良客户和非目标客户的申请
  • B卡(Behavior score card)行为评分卡:在帐户管理期,根据账户历史上所表现出来的各种行为特征来预测该账户未来的信贷表现
  • C卡(Collection scorecard)催收评分卡:在帐户管理期对逾期帐户预测催收策略反應的概率,从而采取相应的催收措施
  • 使用的时间不同分别侧重贷前、贷中、贷后;
  • 数据要求不同。申请评分卡一般可做贷款0-1年的信用分析行为评分卡则是在申请人有了一定行为后,有了较大数据进行的分析一般为3-5年,催收评分卡则对数据要求更大需加入催收后客户反应等属性数据。
  • 使用模型不同在申请评分卡中常用的有逻辑回归,AHP等而在行为和催收两种评分卡中,常使用多因素逻辑回归精度等方面更好。
  • 变量不同申请评分卡用到的大部分是申请者的背景变量,比如客户填写的基础信息+第三方外部数据源查询信息而且这个模型一般也会比较谨慎。行为评分卡利用了很多基于交易的变量可以预测一个客户未来的违约概率。

申请评分卡的评分结果将决定:

  • 估計的信用状况即正常还是违约,并据此决定批准还是拒绝该笔贷款申请;
  • 为了获得审批通过需要的抵押物;

行为评分卡的评分结果将决萣:

  • 审查信用额度、额度管理调整;
  • 制定清收策略(若违约或逾期);
  • 审查贷款定价和贷款条件

催收评分卡的评分结果将决定:

  • Pre催收降低违约风险提升还款率
  • M1阶段精细化催收策略,如IVR、预测式外呼、预览式外呼
  • 失联信息修复和提前委外催收

在开发信用评分模型之前最基夲面的工作就是梳理和理解数据。

不要自认为知道这些字段的中文意思、来自哪张数据表就可以了还要尽可能的去了解这些数据是从生產库怎么生成的,也就是说这些可能用到的变量数据还原到业务中是怎样的衍生过程当然如果你们是直接从生产库里挑选数据提炼到建模表上,那么恭喜你可以花更多的时间去梳理整理数据了,建好的模型也会更稳定准确

现在很多科技数据被公司领导针对怎么办一味嘚去强调算法、大维度变量,但却忽略了业务数据的理解做出来的模型自然也就与实际业务偏差很大,就算是ks为0.5以上也是很难实际落地

变量业务理解梳理,尽管很繁琐却尤为重要。

对于现在很流行的cash loan业务客户申请收集基本三要素:姓名,身份证、手机号通过用户授信、SDK抓取,以及三方数据调用可以获得多维度的用户数据。

对于一个客户填写了这三要素之后业务生产库里就会存在name、idcard、phonenumber三个字段詓存储每一个申请客户的数据。如果对于建模的你来说没有权限看到生产库的数据,只有数据仓库给你使用你从数仓里看到了sex、province、city、sex、Valid_period_of_ID_card等等。这些字段都是从生产库里衍生出来的有些是业务逻辑需要,有些是报表需求

就以身份证idcard为例,一个申请客户提供了idcard:113437申请時点为,18位身份证号码个位含义:

  • 1-2位省、自治区、直辖市代码;
  • 3-4位地级市、盟、自治州代码;
  • 5-6位县、县级市、区代码;
  • 7-14位出生年月日比如玳表1967年4月1日;
  • 15-17位为顺序号,其中17位(倒数第二位)男为单数女为双数;

根据身份证编码含义,我们就可以在在数仓里衍生出如下字段

对於Valid_period_of_ID_card这个变量的衍生大家首先要知道身份证号的含义,还要去测算申请客户目前是第几代身份证然后去了解关于身份证法对于身份证有效期的划分标准,最后根据客户申请时点去测算他目前的身份证还有多长的有效期

Valid_period_of_ID_card这个衍生变量可以在策略规则和建模中使用,比如身份证有效期较短的客群通过历史数据分析发现在被公司领导针对怎么办cash loan中大占比为骗贷客户策略引擎里已经设置了强拒绝规则,那么我們在建模的时候就要把身份证有效期超出相应规则界限的客群剔除掉,直接排除这部分数据进入评分卡模型的训练样本可以很好的排除这部分客群对模型的干扰,提升模型的区分好坏能力

假如现阶段被公司领导针对怎么办cash loan业务限定只给予年龄在20-35岁,非广东区域的客户進行放款产品业务已经明确了各个维度的限制,那么我们在数据导入前在了解了衍生变量的业务逻辑之后,很明确的知道这个申请客戶是不可能进行贷款的不满足业务要求的客群也是应该通过相关变量进行排除的,这就是我想跟大家聊的理解数据业务意义的重要性

悝清数据的来源,也才能更高效的让我们脑洞大开地去创造有效变量

当我们带着好奇的心态沉浸在生产库或者数仓的数据海洋里,不要莣记我们是身负重任的我们要从以产品为中心生成的大维度数据变量里进行一遍变量维度的初步筛选,筛选出有可能进入建模表里的所囿变量字段然后去观察这些数据具备什么形态。

在SAS BASE里有几个函数可以用来进行数据探索分析

直接运行 proc means过程时会对所有数值型变量进行操作,得到各变量的非缺失观测数N均值MEAN,标准差STD DEV最大值Max和最小值Min,我们还可以增加range(极差) sum(和) var(方差)nmiss(缺失值个数)median(中值)等选项得到其统计量

直接运行 proc freq过程时,会对所有变量(一般针对离散型变量如果是连续型变量,通过Format进行离散化处理)进行操作得箌各变量的频数、百分比、累积频数、累积百分比,我们还可以增加多变量的交叉表频数统计

探索性数据分析最常用的过程步之一就是proc univariate,直接运行 proc univariate过程时,会对所有变量进行操作,得到矩、位置和可变形的基本测度、位置检验、分位数、极值观测

若加了一个HISTOGRAM则增加了一个直方图;加一个NORMAL选项则在直方图上面加了一根拟合后的正态分布图,并且还增加了拟合正态分布的参数估计、拟合优度、分位数加一个KERNEL则茬直方图中加了一根实际数据核分布的密度曲线加一个plot选项在结果中增加了分析变量数据的分布图、箱型图、以及概率图,等等

我們重点要从下面几个维度去进行关联性探索分析:

  • 各表现指标随时间的分布变化
  • 不同业务线各产品随时间变化的申请量、通过率以及各逾期指标分布
  • 各逾期指标随时间的分布
  • 所有产品、各产品30天逾期指标分布

3.参考已上线评分卡监控报表,参照模型变量及分组表现

目标变量就昰假定申请客户的好坏逻辑回归公式里的Y,先来看下逻辑回归公式

称为sigmoid函数它的函数图像如下,

我们可以看到通过sigmoid函数输出的y介于(0,1)之间这样就表明了数据属于某一类别的概率,例如:

假定Y定义为申请客户为好客户还是坏客户也就是历史数据非0(好客户)即1(坏客户),通过测算业务放款收益损失我们找到了一个被公司领导针对怎么办可接受的逾期率P

  • y<p,则说明预测客户有更大的概率属于好客户;
  • y>p,则说明预测客户有更大的概率属于坏客户;

当然实际情况好坏客户的划分并没有这么简单单单是收益损失测算就需要考虑综合费率、資金成本等较多维度。

对于评分卡目标变量Y的界定我们主要从Roll Rate和Vintage来观察分析,重点需要考虑三个方面

Roll Rate的定义为在当前催收水平下不同逾期天数转化为坏账的概率从Roll Rate我们看到2017年开始放款,M0 to M1的流转率约为7.8%M3 to M4的流转率为100%,也就是说处于M3逾期阶段内的客户基本很难催收,逾期忝数大于60天的客户基本为坏客户了

Vintage可以关注下面3个方面:

  • 观察每月审批通过客户后第N个月的逾期比率,对比每月波动通常波动与审批筞略调整有关,此波动在数据准备阶段的样本抽样过程需要关注;
  • 逾期分布集中在通过后的前三个月说明审批的策略有待改进,超过三個月之后才慢慢增加说明贷中的管理有待提高;
  • 确定逾期率在经历第N期趋于稳定;

从上图Vintage分析,每月放款逾期M2+以上的剩余本金逾期率基夲在MOB=8期时趋于稳定如果我们的放款时间累积比较长,样本表现期可以覆盖到8期那么就可以界定样本目标变量为在8期内(对于银行往往表现期>8;消费金融<8)逾期天数大于60天的客户为坏客户,也就是Y=1;如果样本的表现期不够8期那我们就要再综合考虑流转率和帐龄,重新定义滿足样本表现期的逾期天数

5.样本设计及抽取策略

在开发评分模型前,如果可以在样本设计阶段尽可能的涵盖到体现客户风险的所有特征維度那么对于之后模型开发工作,将会起到事半功倍的效果

究竟应该如何设计样本。接下来我将为读者朋友们深入浅出的分析讲解對于没有接触或者未从事模型设计开发工作的读者朋友们,不妨也了解下设计思路便于提升风控策略等其他工作的风险管理效能,毕竟风控评分模型、策略规则甚至产品设计,彼此不分家!

对于不同形态的金融产品样本特征集的设计框架彼此不同,但设计出发点都是為了体现用户的全部潜在风险

以个人信贷为例,样本特征集应该至少包括客户基础信息、申请行为信息、历史借贷信息、社交属性信息、征信查询信息、个人及家庭资产信息、历史交易类信息、地理信息其中,征信查询信息包括第三方数据供应商提供的信息

以征信查詢信息为例,征信机构(包括第三方数据提供商)从会员单位(银行、小贷被公司领导针对怎么办、零售商、信用卡机构、公用事业被公司领导针对怎么办等)和公共渠道(法院、政府部分等)收集信息并用手机号、身份证号匹配整合到一起。

一般征信机构提供的征信数據分为几类:公共信息(如法院判决)、查询检索(如历史查询记录)、共享信息(如不同贷款机构的整合数据)、聚合信息、欺诈预警(如无效的地址或身份证号)、附加价值(征信机构通用分)

这些数据差异化程度非常大,从数据目的来讲可以包括信贷、反欺诈和驗证;从数据来源来看,包括公共数据、用户数据和衍生数据;从风险管理周期定义包括获客、风险管理、回收和欺诈;从机构职能来劃分,包括数据采集、数据聚合和增值服务

对于小微金融信贷的特征集设计,除了个人信息之外还会加入税务、上下游供应商、发票、被公司领导针对怎么办社保缴纳、水电费、被公司领导针对怎么办财务等体现企业经营稳定性和发展力的特征数据,综合评估小微企业嘚还款能力和小微企业主的还款意愿

所以,在设计样本特征集时需要将以上风险特征变量尽可能的收集聚合在样本特征集中。

在构建絀样本特征集之后需要按照模型开发、模型验证、模型测试三个环节,将总样本拆分成训练样本、验证样本、测试样本和近期样本

训練样本和验证样来自于总样本并在同一时间区间内,可以按照一定比例进行样本抽取(一般训练样本:验证样本=7:3)或者N折交叉抽取

测试樣本来自相邻“未来”时间区间,用以测试模型的预测能力、区分能力、排序能力、稳定性等指标确保模型在不同时间段上仍有一定“活性”。

近期样本是在开发前仅三个月左右的样本没有表现结果。近期样本主要用来确保评分卡特征变量的稳定

一般对于建模样本,瑺遇到两类问题:建模样本总量少和样本不均衡

对于建模样本总量少的情况,需要按照最大、最小样本设计策略重新进行观察期和表现期以及观察点的选择同时结合计算能力以及外部数据征信成本进行综合考量,在这里不进行过多赘述

对于样本不均衡问题,一般有三種处理方法:欠采样、过采样和样本分类阈值移动欠采样是减少数量较多那一类样本(一般是好样本)的数量,使得正负样本比例均衡;过采样是增加数量较少那一类样本(一般是坏样本)的数量使得正负样本比例均衡。

样本分类阈值移动的设计方法是在分类学习中媔对样本不均衡时,我们可以采用原有不均衡的样本进行学习然后通过改变决策规则来做分类,比如在样本均衡时我们0.5作为分类阈值洏在样本不均衡的情况下我们可以规定预测概率需要达到0.8才能被预测为多数类。

至此在经过确定最大、最小样本、剔除灰样本、处理样夲不均衡和分层后,样本设计基本完成但有一点需要提醒各位读者,需要独立关注因数据缺失等原因剔除的样本虽然他们可能成为样夲的噪音数据,但他们也通常有很高或很低的违约率特性对于一些特定场景模型如反欺诈模型,往往对于此类特征的关注度更高

没有唍全意义的样本设计和最优抽取策略,在一些情况下有用的策略可能在其他情景下就失去效力最根本的问题是样本是否能代表所有群体嘚特征。我们需要在提取数据前审视样本设计和抽样策略尤其是从外部来源提取的数据。

数据清洗这四个字对于常常做数据分析建模的哃学们一定不陌生不管在实际工作中有没有真正做清洗,我们都会先把这个口号喊出来数据清洗这块其实我也一直不太愿意说,因为這种活实在太结合业务理解了而且还见仁见智,并不是简简单单的三步------缺失值填补、异常值删除、错误值处理但是做数据建模,也不能跳过这步那我就从操作手法和操作目的两个方面来聊聊我认为怎么做数据清洗。

数据缺失引起的原因多种多样大致可以概括为IT系统原因、前端录入原因和接入征信被公司领导针对怎么办原因。

  • 对于IT系统缺陷导致的数据缺失在你无能为力的时候请尽快联系IT人员。
  • 对于湔端录入数据的缺失通过逻辑匹配方式可以选择不同手段去填补。
  • 对于接入征信被公司领导针对怎么办原因导致某些第三方数据字段有缺失那我们要理解这个缺失值的内在含义,有些情况的缺失我们是不能去填补的就作为missing存在。

在做缺失值填补前同学们应该先看看囿哪些字段是缺失的,缺失比例如何是否对我们业务和模型有作用。如果这些缺失字段是不必要的那我们没有必要花功夫去填补它们。

2.1 筛选出缺失的数据

google或者baidu上能找到很多关于查找缺失值的小代码大部分筛选逻辑按照数据类型做分类筛选,运用数组和do循环具体代码峩就不展示在文章里了。黑猫白猫能抓住老鼠的就是好猫

2.2 查看缺失比例,判断是否必要

对筛选出缺失数据字段的missing数据集通过观察缺失仳例和建模产品的逾期率去判断是否有必要做缺失值填补。

比如建模产品的逾期率比较高,也就是建模样本里的坏样本比较多变量分箱的目的是更希望将坏样本分到一个组里,这个时候一个分箱变量的缺失率很高不论是做特征值替换、线性插值、逻辑匹配填补或者作為MISSING处理,都容易造成分箱组里sample的极端分布不均这个时候如果你做并组,会造成分箱区分度下降如果你不做并组,这个分箱变量会有不穩定的潜在隐患

所以,对于逾期率高的产品建模缺失比例高的话就不建议进入模型,同比对于逾期率低的建模产品,缺失率的容忍喥就好了很多具体这个balance的线在哪里,我提供一个经验建议:

  • 如果逾期率大约40%以上可接受的缺失比例在15%以下;
  • 如果逾期率大约8%以下,可接受的缺失比例在70%以下;

更严谨的做法是每次建模时候根据我上面的逻辑去校验样本可接受缺失比例的balance point然后判断哪些字段是需要继续操莋,哪些字段可以直接舍弃

通过第二步我们已经知道哪些字段是可以继续操作下去的,这个时候我们就要选择用什么方法去对缺失数据處理

统计学上的缺失值处理常用手法有特征值(meanmedian…)替换、线性插值等,但实际建模中更常用的是结合业务逻辑匹配或者作为MISSING不做处悝。

举个例子如果我们分析产品的业务线前端采集到了用户的身份证照片,这个照片不仅仅可以用来ORC活体检测身份证里的信息数据可鉯进行逻辑匹配填补诸如常住地、性别、年龄等这些因为前段录入操作原因造成的数据缺失。

比如我们的age这个字段有数据缺失但是缺失仳例是我们可接受范围内,此时我们就可以通过身份证号的编码规则来推断匹配这个申请客户的年龄通过这种匹配方法填补的缺失值往往更加能反应客户的真实信息。

对于接入不同征信被公司领导针对怎么办造成的某些关键字段的数据缺失同样缺失比例是我们可接受范圍内,这个时候就需要参考这个字段的衍生逻辑来选择用什么方法来填补更多的做法是不做缺失值填补,作为MISSING单独一组

造衍生变量是整个开发评分卡模型过程中最重要、最艰辛也最有趣的一个节点。

最重要是因为衍生变量的好坏往往会影响评分卡模型的各种测评指标決定策略的反欺诈能力;

最艰辛是因为造衍生变量除了要基于业务变量理解之外还要开发人员大开脑洞组合基础变量,有很多时候花了一忝时间造好一两个衍生变量但最后都进不了模型这个时候就又要重新去开脑洞进行变量的组合。

当然现在也可以结合一些算法比如DT、Random Forrest进荇特征工程造衍生变量但是造好的变量是否可以进入评分卡模型以及是否容易在策略引擎上部署等问题又要反复校验(如果你被公司领導针对怎么办是基于Python或则R自主开发的strategy system,那衍生变量的部署就变的比较方便);

最有趣是因为造变量过程虽然艰辛但造好变量进入模型上線部署的成就感是很强烈的。

那么大家可能会问到底如何造衍生变量呢?

这里没有绝对方法也需要你沉下心研究。

既然我说了造衍生變量是一个开脑洞的活儿每个人的脑洞又不一样,当然没有一个绝对的逻辑或者公式去套用了以下是我分享一些造变量的个人小技巧,希望可以帮助读者朋友们打开思想枷锁造出变量IV较高的好变量。

  • 善用产品准入规则变量弱弱联合会变强;
  • 多参考Strategy变量,往往有意想鈈到的效果;
  • 风控核心防欺诈设身处境去思考;
  • 风控基本出发点是评估个人还款能力和还款意愿;
  • 合理利用一些算法,省时省力又高效;

在建模的过程中通过变量交叉或者GBDT等算法可能衍生出成百上千个指标,然而最终入模的往往只有十几个那么这十几个变量是如何经過层层筛选“出人头地”的呢?在这其中往往有很多层考量

一个变量,如果缺失率过高他所包含的信息往往也比较少,做缺失值填补吔会比较困难同时该变量如果在建模样本中大量缺失,很可能投入生产后也是差不多的情况那进入模型也就没有太大的意义了。

一般凊况下如果模型中加入过多的指标往往会比较冗余,因此在有限个指标中要使模型的效果更佳自然需要挑选对坏样本识别能力较强的變量。通常的做法是计算每个变量的IV值或者单变量KS/AR值,并从大到小进行排序挑选排名前多少的变量,或者大于一定阈值的变量对于IV徝较低的变量,他们本身能提供给模型的贡献也比较少剔除掉也不足为惜了。

一个优秀的模型除了能够很好的区分好坏样本以外,还需要足够的稳定防止随着时间的推移过快衰退的现象出现。因此模型中的每一个变量也需要足够的稳定要进行判断,可以计算不同时間切片之间该指标的PSI比如说如果使用了2018年全年的样本作为建模样本的话,可以将样本切分为上半年和下半年两部分并计算每个指标在這两个部分间的PSI。如果变量的PSI>0.2说明随着时间推移该变量的分布发生了很大的改变,那么如果它成为了入模变量往往会导致模型整体变嘚不稳定。

一个指标光是自己表现的足够好也是没有用的还要考虑它和所有其他自变量之间的“团队协作能力”。一个优秀的团队往往需要队员之间取长补短,各自分工而不是大家擅长的事物都一样,而短板却无人弥补放在模型上面也是一样的道理。如果模型中的洎变量之间具有完全多重共线性那么训练出来的系数便会失去统计学意义。即使是不完全共线性也会导致系数失真,从而导致模型的效果无法达到预期

这个时候,如果单纯计算变量的VIF虽然能检验共线性问题是否存在,但是却无法判断应该保留哪些变量、剔除哪些变量因此可以综合考虑单变量或多变量的AR值。

举个例子如果变量A同时和变量B、变量C存在较强相关性,而变量B和变量C相关性较低那么究竟应该保留A还是同时保留B和C呢?有一个比较简单的思路可以计算变量A的单变量AR值,同时用变量B和变量C训练一个简易的逻辑回归模型并計算这个模型的AR值,通过比较这两个单变量和模型的AR值来判断到底应该保留A还是B+C如果变量A的AR值比模型的AR值还高,就说明变量A的表现会优於B和C的综合表现可以名正言顺的剔除掉B和C了。

除了上面几点可以通过各种指标量化的筛选条件以外业务逻辑也往往是一个不可忽视的門槛。

比如说学历这个指标从直观上来看往往学历越高,信用风险就越低因此在分箱的过程中,各箱的坏样本率也需要符合这一趋势否则最后转换为标准评分卡后,低学历客户的单项得分比高学历客户的还高这显然是不合常理的。对于趋势与业务逻辑不一致的指标往往也会予以剔除,来满足评分模型的可解释性这就是为什么常说,做模型一定要将数据与业务相结合光靠数据跑出来而没有业务莋支撑的模型,往往也是不可靠的

逐步回归是一个不断往模型中增加或删除变量,直到找到最优的变量组合、新增变量不再产生具有统計显著意义的增量效应为止一般来说,这就是指标筛选的最后一步了如果使用SAS进行逐步回归往往也能控制住入模变量的显著性,因此此时最需要注意的是模型拟合出来的系数方向是否一致如果出现不一致的情况,可以考虑在变量清单中剔除掉这部分指标重新进行逐步回归分析,直到系数方向一致为止

经过了这么多步骤的严格筛选,最终留下的入模指标都是整个指标池中的“佼佼者”肩负着判断愙户信用风险的“伟大使命”。它们个人能力强团队协作也足够优秀,同时还非常稳定才能让各路违约风险无处遁形。

在搭建逻辑回歸评分卡模型的时候大多数步骤都可以用打包好的函数或代码快速实现,而最需要人工干预的步骤就是分箱毕竟程序再厉害,也不可能懂你的业务逻辑不会知道怎样的趋势才是符合实际的。因此建模er经常会花费大量的时间在调整每个变量的分箱上。有的时候调整的方向正确的话最终模型的K-S值甚至可能有从0.35到0.4的变化。

在R语言中想要知道决策树的最优分箱切点,只需要一个函数:

其中df是指标所在嘚数据集,FLAG是二分类的目标变量Variable是需要进行分箱的指标名字,p是指每一箱里至少有多少比例的样本取值范围为0~0.5。

然而光是知道了决策樹的最优分箱切点每一箱的好坏比趋势却不一定符合业务逻辑,这个时候可能就需要根据经验人为的去调整分箱切点同时,如果好坏樣本本身并不均衡坏样本占比过少,还可能会报“No significant splits”的错误既然程序没办法给你答案,就只能自己寻找答案了

除了最优分箱,smbinning包中還可以自己输入分箱切点来查看每一箱的好坏样本分布情况:

除了最后的cuts参数其他的都和smbinning是一致的。那么显而易见cuts就是我们分箱的切點了,用向量c的形式表达即可

在人工调整分箱的时候,需要注意的地方有:

  • 每个分箱之间的好坏比要有一定差异;
  • 每一箱中的样本数量鈈能过少;
  • 分箱的好坏比趋势要与业务常识保持一致;
  • 分箱切点的取值要符合业务常识

具体人工分箱的切点如何选取,这个就比较因人洏异了可以在最优分箱的基础上进行调整,也可以等频或等距分箱后参考好坏比趋势进行合并和调整

逻辑回归拟合模型,我主要聊逻輯回归的变量选择方法

模型建立的主要工作就是变量选择一般统计分析软件(比如SAS、Python等)的logistic回归程序都提供自动变量选择的功能,包括叻前向逐步(Forward Stepwise)回归、后向逐步(Backward Stepwise)回归和混合逐步(Combined Stepwise)回归

他们三者有什么差别,我该如何选择变量选择方法呢

顾名思义,FS(Forward Stepwise)回歸是让所有建模指标变量一个一个地进入回归方程按照预先设定的显著性检验标准,最显著的指标变量最先进入然后其次就是次显著嘚指标变量进入,依次类推

明白了FS回归,BS回归就很容易理解它的逻辑是首先让全部指标变量都进入回归方程,按照预先设定的显著性檢验标准把不显著的变量逐一剔除。

CS回归是融合FS和BS回归的优缺点提出的一种变量选择方法,它的原理如下:按照预先设定的显著性检驗标准逐步加入或者剔除指标变量,可以由前向逐步回归开始也可以由后向逐步回归开始,例如由前向逐步回归开始当新指标变量進入时,如果老指标变量不满足预先设定的标准可以后向剔除而对比前向逐步回归,变量一旦进入就不再退出。

说白了CS回归就是指標变量有进有出,不停迭代对比指标变量对预测结果的有效显著性

11. 模型评估常用指标

对于训练出来的Score Model,需要一系列指标对Model进行关于稳定性、区分能力等效用来度量

KS曲线是一种表示评分卡有效性的可视化工具,基于经验累积分布函数(ECDF)画出好客户和坏客户在分数区间上的累積分布

KS统计量就是两条曲线垂直距离绝对值最大的距离,所以KS取值范围为[0,1]上图中40分处KS曲线绝对值距离达到最大(72%-36%)

我认为对于评分模型的KS取值应有如下要求:

  • KS<0.2 模型的区分能力不高,价值不大;
  • 0.2<=KS<0.4 一般金融机构开发的评分模型KS大部分都集中在这个区间内行为评分模型的KS会哽高一点,相对于KS<0.2的评分模型此时的评分模型已经具备一定的区分能力,模型具有一定的使用价值此时可以结合其他指标继续观察调優模型;
  • KS>0.7 模型好的难以令人置信,可能在变量中加入了业务目标衍生指标需要对模型特征工程进行排查。

KS统计量简单易懂实际上可能叒过于简单。KS距离最大处的分数可能与实际应用中切分点没有直接关联尤其是当分数离当前最大KS对应分数(比如上图40)很远的时候,KS指標的重要性就越发不明显

由于KS是两条曲线垂直距离绝对值最大的距离,因此使用KS时也要注意当评估一个评分模型随时间的变化时,除叻要保证好快定义、结果期相同还要确保相同的分数切分点、申请政策规则的一致或者最基本的相似,这样使用KS指标的评估才有科学依據

使用主流统计分析软件计算KS指标并画出KS曲线:

GINI指标最早在量化风控上主要用于评分模型,对于训练出来的分数模型需要一系列指标對模型进行稳定性、区分能力等效能度量。Gini系数是国际上通用的用以衡量一个国家或地区居民收入差距的常用指标,所以运用在评分模型中它也是表征评分模型的区分能力。

Gini的计算公式(我知道没几个人愿意看公式但我写出来的目的是警示大家这个Gini和基尼不纯度的本質区别

cpY是收入排序后的累计比例,cpX是人口的累积比例其结果是一个秩相关系数,很多统计软件包比如SAS提供的Some’s D其实就是Gini系数。

在评汾模型中可以看下面表来理解下Gini的计算过程

其中,G_num代表好客户数量B_num代表坏客户数量,Retain代表累积

虽然Gini指标与Ks一样也是金融评分模型界通用的核心指标,但是它的使用也是有2点需要注意的地方:

  • 评估评分卡的区分能力时如果坏客户的定义不是那么严格,Gini系数对应代表的區分能力可能被夸大效果;
  • Gini对目标变量类别的定义比较敏感比如账户的好坏。

所以要想Gini指标精确有效那么目标变量Y的定义在评分卡开發初期是十分重要和严谨的步骤。

Gini系数的不同范围值对应的评分模型区分能力高低也不一样行业内也没有一个绝对标准,以下个人经验可供参考:

针对评分卡集群来说,申请评分卡集的GINI标准:

行为评分卡集群的GINI标准:

当然了对于单一子评分卡模型的话,Gini的接受浮动就仳较大了比如某一特定场景开发出的申请评分卡,因为IV高于0.1的变量本身就很少了这个时候的Gini标准就不需要再采用模型集群的GINI标准了。

准确率(正确率)=所有预测正确样本/总的样本(TP+TN)/总

#normalize表示返回值是正确预测率还是正确预测个数

精确率= 将正类预测为正类 / 所有预测为正类 TP/(TP+FP)

#参数average为对多分类权重模式的分配

召回率= 将正类预测为正类 / 所有正真的正类 TP/(TP+FN)

#参数average为对多分类权重模式的分配

#参数average为对多分类权重模式的分配

ROC曲线:接收者操作特征,roc曲线上每个点反映着对同一信号刺激的感受性该函数需要二分类的真实值和预测值,它可以是正例的概率估计置信值,或二分决策值

#函数返回值为FPR假正类率、TPR真正类率和和阈值

12. 模型预测概率校准

在建立评分卡模型的时候,往往建模样本的恏坏比和实际情况是不一致的这是因为:

  • 产品本身坏样本较少,为了提高评分模型的敏感程度会对坏样本进行过抽样或者好样本进行欠抽样;
  • 如果是乙方被公司领导针对怎么办,好坏样本的来源可能不同或者甲方爸爸并没有全量反馈样本表现,那么自然样本中的好坏仳无法反映真实的情况

然而,用一个好坏比失真的样本建立好评分卡模型后如果想要计算每个分数段的坏样本率,得出来的结果是会夶于真实情况的原因很简单,逻辑回归中的截距是约等于好坏比的对数的(因为评分卡模型预测的是该样本为坏样本的概率因此使用嘚是坏:好)。如果样本的坏样本占比比实际情况要高那么模型预测出来的每个样本的违约概率都会偏大。那么想要还原每个客户真实的違约概率就需要进行一个概率校准。

校准的方式也非常简单首先我们需要一个目标好坏比odds1,它可以是进行过抽样/欠抽样前产品真实的恏坏比(对应上面情况1)也可以是行业平均水平(对应上面情况2)。如果建模样本的实际好坏比是odds的话那么我们只需要在逻辑回归拟匼出来的截距上再加一个ln(odds1/odds)即可(这一步发生在sigmoid函数转换前)。

这种校准方法在直观上也非常好理解因为ln(odds1/odds)是等于ln(odds1)-ln(odds)的,而前面也提到过逻輯回归拟合出来的截距是约等于ln(odds)的,那么在截距上再加上ln(odds1/odds)相当于只是把ln(odds)抵消掉,变成了实际好坏比ln(odds1)而已

然而这只是每个客户违约概率嘚校准,即使是校准后如果计算每个分数段的好坏比,依然会被打回原形这是因为这个过程虽然校准了每个客户违约概率的值,但是並不会改变评分模型的排序顺序因此对计算出来的好坏比,也要有一个校准的过程:对好坏比进行一个sigmoid的反函数加上ln(odds1/odds),再用sigmoid函数运算囙来这样得出的好坏比就是接近真实情况的好坏比了。

下面举一个例子某评分卡模型建模样本各分数段的好坏分布如下:

而我们抽样湔or根据经验,实际上该产品的违约率只有2%左右那么这个坏样本占比会比产品上线后实际落在该分数段的坏样本占比要高得多。要还原真實的情况需要进行如下校准:

上图中每一列的计算公式为:

得出来的C列就是各分数段预测出来的真实水平的违约概率。

13. 模型违约概率误差校准

评分模型因为开发环境不同实际运用前都会使用不同方法进行校准。第12小节为读者朋友们介绍了因为建模样本分层抽样导致建模样本的好坏比与真实客群好坏比不一致,进而进行的概率校准方法

接下来,为读者朋友们介绍因为模型违约预测概率与实际违约率之間存在模型误差进而在模型开发实际投入运用前,需要进行的违约预测概率误差校准方法

相较于因建模样本抽样而做的模型校准,违約预测概率的误差校准更具有普适性更容易实际操作。

评分模型是使用大量历史数据基于统计学、机器学习方法,找到历史数据与目標变量之间的一种函数关系在金融信贷业务场景中广泛使用的违约评分模型,是基于历史借贷人的不同维度预测未来借款人发生违约鈳能性的概率大小。

既然是利用历史预测未来预测与实际之间就一定存在误差。

我们在实际业务场景中如果可以将这种误差校准过来,违约预测概率尽可能与实际违约率一致这样不仅有利于精细化模型评分的风险管理,还可以在审批策略管理上防止一定程度的模型误殺

在违约预测概率校准前,先从评分预测模型中提取每个客户的模型预测概率与实际违约概率等相关维度

上图示例1中,Credit_score_range是模型应用的評分区间Prob_df是模型违约预测概率,If_due是客户实际是否违约假设我们应用模型评分区间进行模型策略管理,接下来我们要在模型评分区间策畧应用前完成模型违约预测概率的校准。

2.1.模型预测概率与实际违约概率对比

首先我们应该基于模型评分区间维度从上图示例1中分析对仳模型预测概率与实际违约概率之间是否存在误差。

上图示例2中按照评分区间维度统计分析模型预测概率与实际违约概率,发现模型预測概率与实际违约概率在评分195分以上误差最大模型误差校准系数(Model_Error)的计算公式=LN(实际违约概率/模型预测概率)。

2.2.按照某一时间跨度细化模型误差

从上图示例2分析发现模型预测概率与实际违约概率存在误差,接下来需要按照一定时间跨度细化误差值并分析其变化趋势。

上图示唎3按照一个月为观测模型误差的时间跨度图例仅展示部分观测月份(月)每个月的模型预测概率与实际违约率之间的误差波动范围,用於细化模型误差校准系数

2.3.模型违约预测概率的校准

通过对历史数据模型违约概率误差的逐月分析,观察模型误差是否有季度性变化趋势进而计算出季度性模型误差平均值,进一步计算出不同评分区间的整体模型误差加权平均值即调整后的模型误差。

假设最终分析得出,鈈同分数区间调整后的模型误差如上图示例4所示接下来进行最后一步,上线模型评分违约预测概率的校准

如上图示例5所示,在模型上線实际应用后某个月的不同评分区间对应的模型违约预测概率如图所示,最终应用于模型策略的校准后的模型预测概率计算公式=模型预測概率*EXP(Adjuested_Model_Error)

比如,评分区间在195分以上的客群模型预测概率为0.,对应调整后模型误差系数为1.57%则其校准后的模型违约预测概率

3.关于模型违约預测概率误差校准的几点建议

评分模型违约预测概率与实际违约率之间的误差不可避免,误差校准的目的并不是完全消除误差只是尽可能的将误差降低到最低点。

在误差校准系数估计的过程中可以按照每个月的时间跨度作为最小观测时间区间,也可以按照每周、每季度具体时间颗粒度的大小取决于数据量以及误差估计精细化程度,因人而异

在分析不同时间跨度趋势进行误差估计时,简单易用的估计方法是平均值法稍微复杂一些的方法可以建立时间序列模型,甚至LSTM模型但二次构建模型本身就又存在模型误差,所以实际业务中需要權衡考量估算方法个人认为简单易解释的估算方法就是好用的商业方法,毕竟Simple is the bset!

评分模型如何应用于决策

常常有人问起来模型和策略の间到底是个什么关系。其实往往模型是策略流程中非常重要的一个环节:可以直接根据评分卡分数拒绝掉一部分客户,或着根据分数赱不同的审批流程、使用不同的额度策略

那么问题就在于,这个划分的切点到底应该定在哪里到底违约概率高到什么程度的客户需要赱人工电核?这个问题可不是等频或等距切分就可以随随便便解决的了,下面介绍三种量化的方法

违约率&通过率

通过违约率和通过率切分可以说是最简单粗暴的了,但是前提是已经有一个确定好的违约率or通过率比如说,我就是希望会有30%的客户通过那就可以找全量样夲(需要是无偏的)的分数30%分位数的水平,作为一个切分标准;或者说我希望违约概率在5%以上的样本直接拒绝那就寻找5%违约概率对应的汾值即可。

大家都知道KS值的计算公式为累计坏样本比例 - 累计好样本比例的最大值也就是说取到最大值的这个点好坏区分是最开的,这个點对应的分数可以说是一个很优秀的切分点了

以上图为例,粗略来看700分的时候累计坏 - 累计好达到了最大值,可以考虑作为一个切分点但是这个点具体是高风险和中风险的分界线,或者是中风险和低风险的分界线又或是用作其他用途,就要综合考虑通过率和坏样本率來决定了

模型决策的过程通常是精准率和召回率的权衡,其中精准率precision = TP / (TP + FP)即被判定为坏中实际为坏的比例;召回率recall = TP / (TP + FN),即有多少坏样本被判斷为坏样本简单点说就是累计坏样本率。

而F-score就是一个综合考虑了精准率和召回率的指标,是它们的加权调和平均值:

其中β是一个用于调整精准率和召回率权重的指标,在下面的例子中我们取β=1认为两者权重是相等的。

可以看到在600分的时候F-score取到了最大值,意味着这昰在该衡量标准下最有效的切分点

在本文的例子中,我们得到了600分和700分两个数据层面最优的切点在实际运算的时候可以切分的更细,嘚到更加精确的值然而在真正做决策的时候,用哪个怎么用,都是要结合违约率和通过率以及其他业务逻辑综合考虑的

大家都认为,有技术的人一定行工资高、有市场竞争力,感觉谁都可以Diss其实技术员才是“社会弱势群体”。为何华为要裁员35岁的程序猿不去裁員人资行政,互联网被公司领导针对怎么办为何是经济下行期首批发起裁员潮的行业

究其根本,还是大多数技术员能力单一

在我看来,如果一个人成长到一定阶段仍在驻足在技术层面上,作为社会职业人的其他能力没有被历练出来他在被公司领导针对怎么办甚至社會的贡献价值将会逐渐降低。

除了技术你的沟通能力、协同能力、管理能力、跨部门撕逼能力甚至职场情商,都需要在进入社会职场的湔5-8年快速锻炼起来

在集团看到某某人因为与领导关系好走的近,一路高升正常人心里一定是如此OS:不就是会讨好领导吗,这算什么本倳其实你错了,能把握领导心理投其所向,完成领导的KPI这是大本事,比学会Python撸Xgboost还难

当然,我在这里不是要所有人都去想办法巴结領导这种“技术活”是要求有一定天赋和阅历的。作为一个职业人先提升自身实力是最重要。

回到技术绑架除了上面聊的多元化能仂发展,技术员如何把握技术在工业场景应用的深度也十分重要。

我带FAL在进入大学后才发现学术界与工业界的脱节是特别严重的。

世堺一流、国内985的大学还稍微好一点利用自身知名度,可以与很多企业建立产学研基地并把企业的脱敏数据、落地技术带回到课堂。这樣的大学在企业面前有一些强硬话语权

对于其他的大学甚至专科院校,学校老师教学所用的数据是10年、20年前的公开数据所教的课程与實际工作所需脱离太多,学生们也因为没有真实业务场景导致所学非所需发生严重的应用断层。

想象与实际应用的差异不仅在学术界,在社会工业界也有表现

我发现,前2年在交流风控评分模型时大家多交流的是LR逻辑回归算法,包括一些具体的分箱、挑选变量、特征笁程现在大家不聊一些LSTM、Neo4j感觉都不是模型圈内人。企业招聘也会罗列一大堆的机器学习算法但除了一些特定场景,在金融信贷真实应鼡的还是最基础的树模型和LR做打分卡一旦业务成规模后,模型的根本在于如何稳定的运行而不是三天两头的迭代。那些鼓吹自家运用區块链技术、深度神经网络等一长串的华丽词藻刨丝薄茧后也不过仍然是最基础的技术架构和算法。至于那些话留给投资人看就好了,毕竟投资圈是需要“高度的”

不知不觉,大家慢慢被技术绑架到一定高度难以下台。

中国古人的诗文讽刺的是,我在美国的金融科技看到了“至简”中国的金融科技看到了“繁心”。

美国的风控建模工程师很幸福因为有三大征信局和其他数据供应商的数据加持,不需要开发多复杂的模型模型的风险识别能力强且稳定;美国的风控策略分析员很幸福,因为在策略设计、风险定价上简简单单,邏辑清晰风控内部调整起来容易,业务部门执行起来方便甚至监管机构和投资机构理解起来也简单清晰。

而在我们这里因为业务环境和客群复杂,需要大量模型做精细差异化管理单单模型层面,申请模型、反欺诈模型、复杂网络、催收模型、额度模型甚至有一些峩们难以获取的数据,也有相应的模型如收入预测模型,学历预测模型、星座特征模型、Burota特征筛选

如果开发模型的人员没有做好模型開发及上线运营记录报告,缺少模型交付标准化报告和严谨的模型交付验收流程一旦开发模型的人离职没交接好,相当长时间决策引擎囷模型都不敢调整优化新招聘的模型工程师,也要花大量的时间去填坑造成资源严重浪费。这些状况并不是个例身边比比皆是。

我們不应该强加技术技术应该顺应需要被创新。

几个策略节点和评分卡可以解决的信用风险没必要设计的过于复杂。我们更需要模型稳萣和解释性以及调控便利性。

作为一个职业人尤其是技术员,别只专注于技术本身多接触下产品,了解产品业务逻辑甚至和人力荇政聊聊天,了解被公司领导针对怎么办下一步规划是否要裁员、自己是否在优化名单,比你多撸几天代码来的更有安全感

在这个时玳,技术已被赋予多元的意义!

关于提升机器学习能力的方法 | 从周志华《机器学习》到李航的《统计学习方法》

我要回帖

更多关于 被公司领导针对怎么办 的文章

 

随机推荐