首页 > 技术文章 > 商业银行业建模型的一般性经验总结

leoyes 2020-10-22 13:19 原文

理论是高度通用的,但到最终落地的过程中,需要丰富的数据/业务知识, 以及一些tricks

一些长期实战摸索出来的经验,虽然够不上有多高的理论高度,但就像Hary Potter无意间得到的Half Blood Prince写在课本里的实验备注,寥寥几语,做起试验来非常有用,有意想不到的效果

 

最近有个优秀的同事离职去互联网大厂,他具有非常丰富的建模经验。临走前,跟他聊了不少关于模型的建模过程中的一些感触,总结起来,挺有启发的。

因此这里结合自身及他人的零散经验,不成体系的记录一下(保持更新)

 

001. 回归问题

  •   在对特征建模时,先看response rate高不高,有无建模的条件,能否建立起有效的回归模型;
  •   在处理回归时,尤其线性回归,要看一下特征的值域分布,看是否符合高斯分布,主要通过直方图跟QQ图;
  •   同时重点关注异常值处理,剔除,或者均值化处理,在看特征分布的重点观察异常分布情况;
  •   回归预测一般都不准;
  •   可以采取区间分箱作为指标来评价模型的指标,例如3.3w落在分类组“3-4w”里,就算预测正确;这样业务的解释性比RME更强,同时提高了模型的性能

 

002. 分类问题

  •   多分类问题使用logistics 回归时,自行拆分one-one分类后,进行融合 ( 这点保留意见)
  •   一般效果最好的都是light GBM,XGBoost

 

003. 特征构建

  •   最好的最相关的特征要有自己的想法,肯定是基于对业务的理解构建;

     一个分析师是否建模优秀,核心判别之一为是否能构建出有效有想法的特征;

  •   特征集合由2部分组成: 自己构建的强相关业务特征集  +   常用特征库; 构造完了后,按重要性进行筛选;
  •   特征决定着模型的上限
  •   消费记录建立的特征库最好 - lifestyle
  •   连续问题离散化的分箱是常规套路
  •   年龄/性别有时是非常关键的模型特征,但由于模型的道德要求越来越高,性别年龄反歧视的背景下,国际大银行有不再将其作为建模特征的趋势

 

004. 业务模型构建

  •   银行的业务模型基本分为风控,市场营销,智能产品-NLP, 推荐系统;
  •   风控算法要求不高,但可解释性要强,也就LR, Tree
  •   市场营销类模型能提升就是好,一般是二分类为主,带概率的软分类,用于评分;回归问题效果差,应用少些;
  •   智能产品-NLP,图像识别,语音识别,看技术团队实力了;NLP可用在智能聊天机器人,语音识别类可用在call center,图像识别想到的主要场景是在银行一线文档类工作的自动化,个人了解得比较少
  •   推荐系统用于金融产品跟市场都有,可以推金融服务或产品销售,亦可以在商城或者生活消费类场景下,推商家。

     不过推荐系统在金融产品处,那是锦上添花,没有也行,而在电商/feed流那,则是核心的东西,靠这吃饭

  •   营销类流失模型,难建,难点在定义流失,每个产品的流失不同
  •   客户分群中,一般cluster效果不好,很难聚出有意义的类,聚之前用T-sne试试看

      聚类的数目选择,一般用Elbow法,但这个实践中经常没有明显的肘部点。而聚类一般是为其他的业务服务的,因此在聚类的时候,簇数K可以依据业务的目的确定,如吴恩达提的下面案例

 

 

 

 

005. 算法模型选择

  •    从实践过程来看,在选择市场类算法时,并未需要到考虑数据基础结构,或非常特殊数据特征的层面,如稀疏,超高维等,一般就线性模型,GBDT/LightGBM/XGBoost等树模型,SVM
  •   模型选择会考虑时间,但时间消费教少的,表现还不错的树模型就XGBoost跟LightGBM
  •   深度学习里的LSTM,跟强化学习应该有一些实践,不过未接触,未来增加案例

 

006. 模型检验评价及调参

  •   误差分析时,绘制误差-样本量曲线,判断是否数据量足够,须再加数据
  •   分类一般要求K-S 评分 > 0.5, K-S > 0.6算是比较好
  •   K-S 低于0.5 需要重新训练,优化模型参数,或者数据特征,找出是哪里的问题
  •   优化模型时,其中一轮是优化异常值,缺失值填充,不填充/均值填充等一并试一下; 一般按important score 排序,对前几名的做一遍填充优化,模型会优化一些
  •   Propensity model可用Lorance曲线评价, 在业务上,用lift来说明展示其优化效果

 

007. 模型运行监测 ( 待完善)

  •   PSI
  •   Segment sizing

 

008.  模型自动化 (鸡肋记录 ,忽略)

  •   需要构建基础数据检测,以便模型运行时,输入数据正确
  •   Python + SAS 
  •   Python + GCP

 009.  模型驱动业务的价值 - 灵魂发问

  • 模型的use case 有哪些的? 具体怎么实施 ?
  • 模型提升或带来了哪些收入? 减少了哪些损失? 为什么?

 

推荐阅读