⾦融风控——Python建模
⾦融风控基础篇
风控的基本概念
如果说⾦融产品的核⼼是风控,那么风控的核⼼是:信⽤评估+模型规则。
互联⽹⾦融特性与产品
传统⾦融机构+⾮⾦融机构
传统⾦融机构: 传统⾦融业务的互联⽹创新以及电商化创新、APP软件等
⾮⾦融机构:利⽤互联⽹技术进⾏⾦融运作的电商企业
(P2P)模式的⽹络借贷平台
众筹模式的⽹络投资平台
挖财类(模式)的⼿机理财APP(理财宝类)
第三⽅⽀付平台等。
0 基于AI的风控应⽤
⼀个典型的风控体系,包含了贷前、贷中和贷后三个阶段,每个阶段都有相应的研究问题。
贷前主要解决⽤户准⼊和风险定价问题,即⾯对⼀个新申请的进件⽤户,判断⽤户是否符合产品的放款条件及相应的放款额度、价格、期限等问题。主要包括三类问题:
1)反欺诈识别:根据⽤户提交的材料进⾏⾝份核实,确保⽤户不存在欺诈⾏为;
2)信⽤评级:与传统银⾏的信⽤评分卡原理⼀致,综合⽤户的社交数据、⾏为数据、收⼊数据等,判定⽤户的信⽤风险等级,评估⽤户的履约能⼒;
3)风险定价:根据⽤户的负债能⼒和收⼊稳定性,判断⽤户可承担的⽉供⾦额,确定⽤户的放款额度、偿还期限等,并根据⽤户风险等级确定⽤户的费率。这三个问题往往是互相影响、互为前提的。⽐如,对⼀个⽉收⼊3000的⽤户来说,⽉供在1000左右,⽤户可能履约良好,信⽤等级良好;但如果⽉供提⾼到4000,严重超出了其收⼊⽔平,即便不是有意欺诈,也可能出现断供的情况,从⽽得到⽐较差的信⽤等级。
贷中⼀般是针对已放款⽤户展开。主要研究问题包括:
1)还款风险监控:⽐如⽤户会否因失业、过度举债、家庭突发状况等⼀些突发原因导致还款能⼒降低,出现逾期风险;
2)贷中风险的政策制定:当⽤户出现逾期风险时,如何根据⽤户风险原因制定相应的策略,减少机构损失。如为经济暂时困难的⽤户主动延长还款期限、减少⽉供,甚⾄提供延期还款服务;
3)⽤户复贷:对履约良好,且收⼊⽔平明显改善的⽤户,提供增信服务,以满⾜其更⾼⽔平的消费信贷需求;或在其授信额度范围内,提供循环信贷服务。
贷后⼀般是针对逾期⽤户展开。由于⽤户已经出现逾期,贷后风控的⽬标是如何刺激⽤户还款减少损失。主要研究问题包括:
1)催收评分卡:将⽤户按照催收难度划分等级,并制定相应的催收策略。如对偶然逾期、出现暂时性困难的⽤户,主动沟通帮助其度过眼前困难,⼀⽅⾯减少了机构损失,另⼀⽅⾯也有助于与⽤户建⽴长远的信任关系;⽽对严重逾期的⽤户,可能需要让更有催收经验的⼈员介⼊沟通,甚⾄采取必要的法律途径;
2)催收策略制定:由于互联⽹⾦融主要进⾏电话催收,⽽⽤户提供的通话记录或联系⼈往往内容复杂且包含⼤量噪⾳,如何从中准确出联系紧密的电话,提升催收效率;
3)失联修复:对已经失联⽤户,如何触达,进⾏⽤户回;
其中,贷前反欺诈评分卡⼀般称为F卡;信⽤评分卡⼀般称为A卡;贷中评分卡称为B卡;贷后催收评分卡称为C卡。
下⾯重点介绍A卡的建模过程:
以A卡建模为例,建模⽬的包括如下⼏⽅⾯:
1)确保政策的⼀致性,尽量减少⼈⼯⼲预,并利⽤机器学习的优势提升决策效率;
2)准确反映并量化⽤户的风险级别,政策⼈员可以控制和减少风险损失,因此对评分卡等级的排序能⼒、稳定性要求会⽐较⾼。
信贷类问题⼀⼤特点是时效低,反馈周期长。
在纯互联⽹领域,如⼴告CTR预估、推荐算法等,算法的反馈周期往往是秒级。在⼴告CTR预估问题中,⽤户对所展⽰的⼴告如果感兴趣,⼏秒之内便会决定是否要点击。同时,借助互联⽹巨⼤的流量优势,⼀天时间便能收集到千万甚⾄亿级的样本,从⽽满⾜算法快速迭代的需求。CTR预估问题中,对算法时效性要求往往更⾼。⼀些时效类特征即便在⼏天内对⼴告投放有指导意义,只要模型能够及时捕捉到这些特征的变化,也可以放⼼的将这类特征加⼊模型中。
但在⾦融场景下,⽤户从拿到借款到有还款表现,周期往往是以⽉计。有些场景下要等半年甚⾄⼀年以上的表现周期,才可以充分观察到信贷⼈的实际表现。从⽽⼀个模型或策略⾄少要等⼏个⽉甚⾄⼀年以上才能评估其实际效果。因此,在⾦融场景下,对算法的稳定性要求更⾼,模型分析⼈员更倾向于捕捉长期稳定有效的特征,⼀些实时热点类的话题反⽽不适合放到模型中。
好坏⽤户定义:对样本标签的定义,需要与实际业务场景、政策⽬标相⼀致,并综合考虑样本量、业务历史等的需要。如在现⾦分期场景中,如果画⼀下⽤户回款率和逾期天数趋势分布曲线,⽤户逾期30天以后回款率便已经趋于稳定,因此可以30天以上逾期为筛选坏样本的依据。在某些场景下,如曾经的Payday Loan,由于整个业务周期只有半⽉或1个⽉,为加快模型迭代速度,有时甚⾄会定义7+甚⾄1+逾期⽤户为坏客户。在⼀些银⾏场景中,出于坏账计提考虑,可能定义90天以上逾期为坏客户。
获取样本
在实际项⽬中,综合考虑业务发展历史和建模⽬标,选取合适的建模样本集,是影响模型效果的关键因素之⼀。建模⼈员有必要提前了解、沟通样本时段中的关键政策变化,市场环境波动及产品结构调整等因素,并充分考虑到这些因素对样本结构的影响。
如对现⾦贷场景,去年12⽉份的监管政策直接导致各⼩贷机构产品逾期率异常飙升,本来不会逾期的⽤户⼤范围产⽣了逾期,⽽在正常市场环境下选取建模样本时,有必要排除这段时间的样本。
对⾦融场景来说,观察周期越长,样本表现越充分。但同时也说明样本产⽣时间距离现在越久远,从⽽⼀些近期发⽣的市场变动便不能被捕捉到。如何选取样本时间周期是样本选择中需要考虑的。
数据采集及治理,数据仓库建设powerdesigner使用教程
数据仓库建设是建模准备⼯作中最基础,也是最耗时的步骤之⼀。数据质量好坏直接决定了抽取特征的有效性,是模型成功的关键因素。
在互⾦场景下,系统可利⽤的数据源通常包括⽤户⾃述基本资料、APP本地信息、授权抓取数据及第三⽅采购数据⼏⼤类。数据来源复杂且数据量⼤,有必要根据业务需求、数据性质及内在逻辑对数据进⾏归并、清洗,建⽴规范化的数据仓库。
其中,⽤户⾃述数据,除性别、年龄等少数信息外,诸如⽤户职业、收⼊⽔平等信息在申请过程中往往很难进⾏核验。⼀般不推荐在正式模型中使⽤这类⽆法核验真伪、且⽤户可随意修改的特征,以防⽌模型被有组织的hack⽽失效。第三⽅采购数据通常是结构化数据,可根据性价⽐及是否可回溯酌情采纳。
⽤户授权抓取数据通常是积累数据源中处理最耗时的数据来源。常⽤数据抓取项包括运营商、电商数据(包括⽀付宝、淘宝、京东等)、信⽤卡账单、社保公积⾦等。这些数据的爬⾍来源复杂多样,以运营商为例,不仅三⼤运营商的服务官⽹结构差异很⼤,甚⾄不同省份的运营商服务⽹站也各不相同。运营商数据的采集⾸先要进⾏不同来源数据的对齐,其次要根据对运营商业务的理解,对数据进⾏基本的清洗。如对⼿机号中的+86、86-、(86)等格式进⾏统⼀;同样是主叫、被叫,在不同省份/通信服务商的名称可能是主叫/被叫、呼⼊/呼出、本市主叫、异地被叫等。需要进⾏归⼀化处理。
在实际项⽬中,数据仓库的建设虽然有专门的BI或数据团队⽀持,但具体数据清洗的逻辑、策略,建模⼯程师需要深度参与并提出建设性的意见。
特征⼯程
实际⼯作中,对具体算法的改进、优化通常⽐较少,更多是直接使⽤线程的⼯具包,如R、Python的Sklearn、XGBoost等。算法⼯程师之间使⽤的具体算法上往往差异不⼤。此时,对特征⼯程的建设则更能体现出差异。特征⼯程⼀般包括特征提取、特征加⼯变换和特征选择⼏个步骤。
特征提取
特征提取就是从规范化的数据源中挖掘有效特征集合。可采取⼯程化的⽅法,从数据源中批量挖掘尽可能丰富的备选特征,然后从中选择有效特征。具体提取的特征集,依赖于算法⼈员对具体数据源的理解。
下⽂以运营商类数据为例,详细列举特征提取的⼏个参考思路。
⾸先,数据源中通常可以直接解析出⼀些基本信息及统计类特征。如运营商中,在⽹时长、运营商账户星级、⽤户使⽤的套餐类型、套餐额度、⽉均消费⾦额、主/被叫次数、通话时长等特征。
其次,从标签分类⾓度。分析运营商类数据的结构,可发现其核⼼是详细的通话记录及短信发送记录。两类记录的结构类似,以通话记录为例,⼀个典型的通话记录包含如下信息:
其中每个字段都可以从某个⾓度为特征⼯程提供依据。根据通话⽇期,可将通话记录划分为近7天、半⽉、近1⽉、近3⽉、近6⽉等时间窗⼝,也可按照具体⽇期划分为⼯作⽇、节假⽇等⽇期类别;根据通话时间,可将⼀天24⼩时划分为不同的时间⽚段,如凌晨(0-6点)、上午(7-12)、下午、晚上等;通话时长为连续类特征,可⽤来汇总通话时间。
通话对象的电话号码集合⼀般⾮常庞⼤,可对其进⾏归并处理。⼀种思路是按号码归属地划分,可区分出全国各省市的电话。 另⼀种思路是对号码打标签,根据标签对号码进⾏聚类。如根据电话邦、百度⼿机卫⼠或搜狗号码通的标记,区分出骚扰电话、⽣活服务类电话、快递外卖类、⾦融机构电话等,甚⾄根据业务积累区分号码是否为⿊名单⽤户、申请⽤户或申请被拒⽤户。⽤户与不同号码标签的通话情况,可以从侧⾯反映⽤户的通话习惯和⽣活特点。对号码进⾏标签管理的前提,是需要维护⼀个⾜够全⾯、准确的黄页标签库。
由此,从黄页标签的思路,结合通话记录结构,我们可以设计⼀套黄页标签类特征衍⽣逻辑,总结如下:
以⼯程化⽅式,对上述不同维度之间做交叉,能够从通话数据中衍⽣出⼏千甚⾄上万维的黄页类特征,为后续建模提供丰富的备选特征集。
⽤户的通话记录也是⽤户社交关系的反映,可以从社交图谱的⾓度对运营商通话数据进⾏重构,得到⼀个庞⼤的通话社交关系⽹,如下图所⽰:
orientation是什么意思英语从⽽可利⽤Graph Mining相关技术,从通话图中挖掘特征。
1)利⽤社区聚类算法,从通话⽹络中挖掘中介团伙;
2)借鉴信息检索的链接分析,使⽤PageRank、HITS等算法,计算每个节点的社交权重;
3)标签传播: 通话⽹络中⼀些节点在业务中已存在⼀些状态,如申请被拒、正常还款、逾期等。可利⽤Label Propagation算法,将节点状态在⽹络中进⾏传播。
以上,从不同⾓度审视运营商通话数据,可引申出不同种类的特征⼯程策略。从单⼀数据源中可挖掘出成千上万维特征。这些特征可能存在⼤量稀疏特征,且很多特征的稳定性或相关性并不能满⾜建模需求。但通过特征⼯程的挖掘,⾄少为后续建模提供了丰富的可选特征集。“巧妇难为⽆⽶之炊”,⾜够多样化的特征挖掘是模型优化的必备条件之⼀。
特征预处理
抽取的特征在放⼊模型之前,通常需要进⾏⼀些必要的预处理过程。此处仅简单介绍⼏个基本的预处理技术。
1)缺失值处理
对特征的缺失值,常⽤的⼏种处理策略是:特征分bin时将缺失值作为NA或单独⼀类;将缺失值取特征的中值、均值或众数填充;缺失值直接填充为0或-1;缺失值根据实际风险表现,填充为风险表现最接近的⼀类;
redistributable报错2)离散特征聚类
离散类,如省份区域等,直接使⽤类别取值会过于繁杂。可以考虑根据特征在不同取值处的风险表现,将风险表现接近的值聚为⼀类;
3)连续特征分bin
对连续特征分箱是在LR模型中常⽤的处理技巧。最容易想到的分箱策略是等频或等宽分箱,但在实际建模中通常⽐较少采⽤。可以考虑借鉴决策树的思路,每次选取使信息熵或信息增益最⼤的点,作为连续特征的分裂节点。另⼀种常⽤策略是,将连续特征空间细分为N个bin,合并相邻且坏账率接近的bin,直到整体分bin区间单调。京东python入门教程
其他特征预处理技术,如WOE计算、特征归⼀化等在此不再赘述。
特征筛选
正式建模之前,⼀般会对特征⼯程挖掘到的特征集进⾏筛选,以选择相关性⾼、稳定性强的特征,作为⼊模变量。
常⽤特征筛选⼀般会考虑如下⼏⽅⾯:
1)特征覆盖率(cover rate),选取覆盖率达到⼀定阈值的特征;
2)特征相关性:如根据特征本⾝的KS值、IV或卡⽅值,选择与建模label相关性⾼的特征;
3)特征稳定性:⽐如通过衡量特征的PSI,选择随时间波动性尽可能⼩的特征。
此外,还可以通过VIF、相关性系数等指标,排除特征之间的共线性。
评分卡建模
sql?怎么意思网络用语特征和样本标签准备好后,评分卡建模的过程则⽐较⾃然。虽然深度学习等技术在互联⽹领域已⼤⾏其道,在信⽤评分卡建模中,逻辑回归或GBDT等仍然是⽬前主流的建模算法。⼀⽅⾯是⾦融领域对特征的可解释性要求会更⾼,通过LR或GBDT建模,⽐较容易直观得到每个特征在模型结果中的权重,并根据业务经验解释权重系数的合理性。另⼀⽅⾯,实际评分卡建模中,⼀般⼊模特征维度并不⾼。在低维度建模中,LR和GBDT已经可以取得⽐较可观的效果。
模型评估
模型建⽴后,需要对模型的预测能⼒、稳定性进⾏评估。信⽤评分模型常⽤的评估指标为KS、AUC等。 考虑到⾦融业务反馈周期长的特点,除了划分训练集、测试集外,通常会预留⼀段训练样本时间段之外的数据集,作为OOT(跨时间)集合,以测量模型在时间上的稳定性。
1 什么是信⽤风险?
信⽤风险⼜称违约风险,是指借款⼈、证券发⾏⼈或交易对⽅因种种原因,不愿或⽆⼒履⾏合同条件⽽构成违约,致使银⾏、投资者或交易对⽅遭受损失的可能性。
信⽤评级:⽤过信⽤卡的朋友都知道,开卡需要申请(筛选好坏⽤户),消费了就需要定期进⾏债务偿还,如果不偿还就有⼈发短信催你。因此,信⽤评级可根据⽤户的整个使⽤周期分为以下四种类型:
1. 申请者评级(Application):
个⼈客户申请相应⾦融产品,对⽤户进⾏筛选分类,判断时好时坏,是否通过申请(A卡)
2. ⾏为评级(Behavier):
个⼈客户通过申请后在使⽤期间的历史⾏为数据进⾏评级,对客户可能出现的逾期、延期等⾏为进⾏预测(B卡)js正则校验
3. 催收评级(Collection):
对业务中存量客户是否需要催收的预测(C卡)
4. 欺诈评级(Fraud):
业务中新客户可能存在的欺诈⾏为的预测(F卡)
每个评级阶段的模型都是不⼀样的,因为每个阶段的⽤户显现的特征都不⼀样,因此需要针对各个阶段进⾏单独的模型开发。
信⽤评分卡
尽管有了评级分类,但是信⽤对于我们来说仍然是⼀个⽐较抽象的概念,因此可以通过量化的⽅式来更直观的使⽤信⽤,⽽分数是⼀种不错的量化⽅式,通过分数的⾼低来衡量风险概率,分数越⾼代表信⽤越好。信⽤评分卡就是通过⼤数据的统计分析,根据⽤户的各种资料信息,对⽤户信⽤进⾏评估(打分)。
根据以上信⽤评级,相应的可以分为四种评分卡:
申请评分卡(A卡)
⾏为评分卡(B卡)
催收评分卡(C卡)
欺诈评分卡(F卡)
打分卡使⽤场合很多,包括营销评分、申请评分、⾏为评分、回款催收评分等等,按照具体的产品还可以分为信⽤卡、车贷、房贷、经营性贷款评分等等,还有按照不同地域的评分等等。根据不同的业务战略,打分卡的各项参数要做设定。
打分卡开发⽅法,包括逻辑回归、神经⽹络、决策树、马尔科夫链、⽣存分析等等,⽤的最多的,还是传统的逻辑回归,采⽤逻辑回归的打分卡开发基本流程⼤致为选取样本、定义好坏标准、寻可⽤变量、选择变量、评分模型开发、设置取舍点(cutoff)六个过程,其主要⼯作量在前⾯⼏部。打分卡模型⼀般包含15个左右变量,这是由于变量之间⼀般都会有耦合,⽐如职务和职称,职务⾼的⼈⼀般职称也⾼,但不应该重复计算。如果变量太多,去掉变量间耦合会⽐较困难,也会使模型不稳定,某个变量的⼩⼩变化可能导致分值变化很⼤。
打分卡技术相对于其他技术,可以有效的减少⼈⼯⼲预,甚⾄做到⾃动放款,因此也是互联⽹⾦融中使⽤的⽐较多的⽅法。
⼤数据在贷中和贷后主要是侧重于动态的进⾏授信再评估,对已经放款的贷款进⾏监控,当发现对贷款偿还产⽣影响时可以及时进⾏预警。对于银⾏⽽⾔,将贷款的还款能⼒分为五个等级,分别为正常、关注、次级、可疑、损失:
正常:正常是指借款⼈申请了贷款后,⼀直能够正常的还本付息,银⾏对借款⼈可以按期偿还贷款有
充分的把握,贷款的损失率为零;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论