中国统计网|Python实战:信用评分模型开发「Part 1」


中国统计网|Python实战:信用评分模型开发「Part 1」
本文插图
信用风险计量体系包括主体评级模型和债项评级两部分 。 主体评级和债项评级均有一系列评级模型组成 , 其中主体评级模型可用“四张卡”来表示 , 分别是A卡、B卡、C卡和F卡;债项评级模型通常按照主体的融资用途 , 分为企业融资模型、现金流融资模型和项目融资模型等 。
我们主要讨论主体评级模型的开发过程 。
1
项目流程
典型的信用评分模型下图所示:
中国统计网|Python实战:信用评分模型开发「Part 1」
本文插图
信用评分模型开发流程
信用风险评级模型的主要开发流程如下:
1.数据获取
包括获取存量客户及潜在客户的数据 。
存量客户是指已经在证券公司开展相关融资类业务的客户 , 包括个人客户和机构客户;潜在客户是指未来拟在证券公司开展相关融资类业务的客户 , 主要包括机构客户 , 这也是解决证券业样本较少的常用方法 , 这些潜在机构客户包括上市公司、公开发行债券的发债主体、新三板上市公司、区域股权交易中心挂牌公司、非标融资机构等 。
2.数据预处理
主要工作包括数据清洗、缺失值处理、异常值处理 , 主要是为了将获取的原始数据转化为可用作模型开发的格式化数据 。
3.探索性数据分析
该步骤主要是获取样本总体的大概情况 , 描述样本总体情况的指标主要有直方图、箱形图等 。
4.变量选择
该步骤主要是通过统计学的方法 , 筛选出对违约状态影响最显著的指标 。 主要有单变量特征选择方法和基于机器学习模型的方法 。
5.模型开发
该步骤主要包括变量分段、变量的WOE(证据权重)变换和逻辑回归估算三部分 。
6.模型评估
该步骤主要是评估模型的区分能力、预测能力、稳定性 , 并形成模型评估报告 , 得出模型是否可以使用的结论 。
7.信用评分
根据逻辑回归的系数和WOE等确定信用评分的方法 。 将Logistic模型转换为标准评分的形式 。
8.建立评分系统
根据信用评分方法 , 建立自动信用评分系统 。
2
数据获取
数据来自Kaggle的Give Me Some Credit:https://www.kaggle.com/c/GiveMeSomeCredit/data
有15万条的样本数据 , 下图可以看到这份数据的大致情况:
中国统计网|Python实战:信用评分模型开发「Part 1」
本文插图
原始数据的变量
数据属于个人消费类贷款 , 只考虑信用评分最终实施时能够使用到的数据应从如下一些方面获取数据:

  • 基本属性:包括了借款人当时的年龄 。
  • 偿债能力:包括了借款人的月收入、负债比率 。
  • 信用往来:两年内35-59天逾期次数、两年内60-89天逾期次数、两年内90天或高于90天逾期的次数 。
  • 财产状况:包括了开放式信贷和贷款数量、不动产贷款或额度数量 。
  • 贷款属性:暂无 。
  • 其他因素:包括了借款人的家属数量(不包括本人在内) 。
  • 时间窗口:自变量的观察窗口为过去两年 , 因变量表现窗口为未来两年 。
3
数据预处理
在对数据处理之前 , 需要对数据的缺失值和异常值情况进行了解 。
Python内有describe函数 , 可以了解数据集的缺失值、均值和中位数等 。
数据集的详细情况:
中国统计网|Python实战:信用评分模型开发「Part 1」
本文插图
变量详细情况
从上图可知 , 变量MonthlyIncome和NumberOfDependents存在缺失: