以下以申请评分卡(A卡)建模为例,描述模型开发的基本流程: 1.数据准备:定义目标变量,整合样本特征;划分数据集:训练集、验证集与测试集,由于金融业务中的样本的积累周期比较长,因此测试集有必要划分为两种,一种为训练集时间跨度内,一种为训练集时间跨度之外,用时间外的测试集验证模型特征的稳定性。 2.探索性数据分析:统计每个特征取值的分布;统计每个特征的覆盖率,去掉覆盖率较低的特征;处理样本的异常值和缺失值。 3.数据预处理:根据经验对特征作预筛选,筛除于目标变量无关的特征;特征分箱;WOE转换。 4.特征选择:计算IV值,特征选择。 5.模型开发:常用逻辑回归模型进行拟合。 6.模型评估:模型常见的评估指标有AUC,ROC,KS,Gani-chat,Lift-chat,特征稳定性的评估指标psi。 7.生成评分卡。 流程示意图如下所示: 不同的评分模型需要的数据是不同的,在建模之前需要对对要解决的问题建立明确的数学定义。 1.排除一些特定的建模用户 用于建模的用户必须是日常审批中接触到的用户,不能是异常情况,比如欺诈等。 2.明确用户的属性 用户的基本属性,比如学历、年龄、收入情况等;征信机构的数据和其他外部数据,比如芝麻分。 3.目标变量的确立 评分模型是利用历史的数据预测未来的行为,需要明确定义正负样本的标签。不能出现歧义,重叠等。 4.划分数据集 通常训练模型需要划分训练集、验证集与测试集。信贷业务中样本成熟的经历的时间比较长,因此测试集需要时间内和时间外的数据,时间内外是相对训练集的时间跨度而言,避免经过一段时间后特征波动或失效的发生。 EDA的实施主要包括: 1.描述性统计 描述性统计是用一些统计量来对变量分析,如:平均值,标准差,最小值,最大值等。 2.统计每个变量值的分布、特征覆盖率及检验正态分布 通常使用直方图绘制变量不同取值的样本分布,以及变量在样本中的覆盖率,筛除样本中有值特别少的变量。 3.极值的识别与处理 每个变量需要设定一个正常的取值范围。对数量较少的超出正常范围的极端值作替换处理,若极端值的数量超过10%,则说明数据的生成机制不止一个。 4.缺失值的处理 缺失值机制 1.特征初筛 根据业务经验预先筛除掉与目标变量无关的变量。 2.特征分箱 1)对于连续变量可以使用等频分箱、等距分箱、卡方分箱与最优分箱; 2)对于离散变量,可以卡方分箱,对离散变量取值合并分箱。 3.特征编码 1)特征分箱离散化后可计算每个bin的woe值,形成每个bin的woe编码 2)one-hot编码 3)dummy编码,与one-hot编码类似 1.计算IV值与psi值 IV(Information Value):信息价值。IV可以用来衡量自变量的预测能力;WOE(Weight of Evidence,证据权重)和IV使用来衡量变量的预测能力,值越大,表示此变量的预测能力越强。PSI可以用来衡量特征的稳定性。 在训练模型时,挑选特征是一个比较复杂的过程,要考虑的因素有很多,比如,变量的预测能力,变量之间的相关性,变量的简单性(容易生成和使用),变量的强壮性(不容易被绕过),变量在业务中的可解释性。其中变量的预测能力可以通过IV值衡量。IV的计算是以WOE为基础的。 要对一个变量进行WOE编码,必须对变量离散化(分箱),分箱后,第i组的woe值得计算公式为: 其中, 为这个组中响应客户(风险模型中为违约客户,正样本)的,占总体正样本的比例, 为负样本所占比例, 为该分组中正样本数量, 为该组负样本数量, 代表总体样本中的正负样本数量,WOE实际代表该分组中的正负样本比例的差异,值越大,差异越大,该分组越能区分正负样本。第i组的IV 值为: 整个变量的IV值为(n个分组 值得嘉和):2.特征筛选 选择IV值高,PSI值低,覆盖率高的特征入模。 1.模型拟合 常用lr逻辑回归模型进行分类。 模型优化 根据p值筛选模型变量,原假设(变量不重要,与目标变量无光),在此假设基础上计算chi-square,若chi-square值大,则p值小,p值<说明变量很重要。 模型拟合之后,需要评估模型的好坏。好的模型一般要有以下三个基本要求: 1.精确性。模型在预测时,要有一定的精确性;2.稳健性。模型必须对从总体样本中抽取的所有样本都有效;3.有意义 以下介绍几个常用的评价指标: 1.混淆矩阵 曲线 曲线 指标 系数 提升图 一个事件发生的几率(Odds),是指该事件发生的概率与该事件不发生概率的比值。若一个客户违约概率为p,则其正常的概率为1-p,由此可得: 此时,客户违约的概率p可以表示为: 评分卡表达式为: 其中A、B为常数。由于log函数在(0→+∞)单调递增,所以当用户违约几率Odds越大时,Score评分越低。通过给定 : (1)某特定Odds时的Score值S0; (2)该特定Odds值翻倍时Score增加值PD0; 通过给定值S0与PD0带入评分卡表达式,可求得A、B。 (未完待续。。。)