信用卡评分模型(R语言)

信用卡评分模型构建与实施
本文介绍了使用R语言构建信用卡评分卡的过程,包括数据准备、处理缺失值和异常值、变量分析、Logistic回归建模、WOE转换以及评分卡的创建。通过对历史数据的分析,建立预测未来两年内违约可能性的模型,以优化信用评分效果。
                                                                          

信用卡评分

                                                                                          2018年3月22日

一、数据准备

1、 问题的准备

•            目标:要完成一个评分卡,通过预测某人在未来两年内将会经历财务危机的可能性来提高信用评分的效果,帮助贷款人做出最好的决策。

•            背景:

–            银行在市场经济中起到至关重要的作用。他们决定谁在什么条件下可以得到融资,并且可以创造或打破投资决策。而市场、社会,以及个人和企业都需要获得贷款。

–            信用评分算法,对默认可能性进行猜测,这是银行用来判断贷款是否应该被授予的方法。

•            准备:

–            首先是基于个人借贷的场景,确定“违约”的定义: 根据新的Basel II Capital Accord(巴塞尔二资本协议),一般逾期90天算作违约。

–            在判别指标上,选择使用历史最大违约天数。

 2、数据的获取与整合

•            数据来源:数据来自Kaggle,cs-training.csv是有15万条的样本数据,下图可以看到这份数据的大致情况。下载地址 为:https://www.kaggle.com/c/GiveMeSomeCredit/data 

             如果下载出现问题,可以在此下载数据:http://download.youkuaiyun.com/download/csqazwsxedc/10228999

•            数据描述:数据属于个人消费类贷款,只考虑评分卡最终实施时能够使用到的数据应从如下一些方面获取数据:

–            基本属性:包括了借款人当时的年龄。

–            偿债能力:包括了借款人的月收入、负债比率。

–            信用往来:两年内35-59天逾期次数、两年内60-89天逾期次数、两年内90天或高于90天逾期的次数。

–            财产状况:包括了开放式信贷和贷款数量、不动产贷款或额度数量。

–            贷款属性:暂无。

–            其他因素:包括了借款人的家属数量(不包括本人在内)。

•            原始变量:

变量名

变量类型

变量描述

SeriousDlqin2yrs

Y/N

超过90天或更糟的逾期拖欠

RevolvingUtilizationOf

UnsecuredLines

percentage

无担保放款的循环利用:除了不动产和像车贷那样除以信用额度总和的无分期付款债务的信用卡和个人信用额度总额

age

integer

借款人当时的年龄

NumberOfTime30-59DaysPastDueNotWorse

integer

35-59天逾期但不糟糕次数

DebtRatio

percentage

负债比率

MonthlyIncome

real

月收入

NumberOf

OpenCreditLinesAndLoans

integer

开放式信贷和贷款数量,开放式贷款(分期付款如汽车贷款或抵押贷款)和信贷(如信用卡)的数量

NumberOfTimes90DaysLate

integer

90天逾期次数:借款者有90天或更高逾期的次数

NumberRealEstateLoans

OrLines

integer

不动产贷款或额度数量:抵押贷款和不动产放款包括房屋净值信贷额度

NumberOfTime60-89DaysPastDueNotWorse

integer

60-89天逾期但不糟糕次数:借款人在在过去两年内有60-89天逾期还款但不糟糕的次数

NumberOfDependents

integer

家属数量:不包括本人在内的家属数量

•            时间窗口:自变量的观察窗口为过去两年,因变量表现窗口为未来两年。

二、数据处理

首先去掉原数据中的顺序变量,即第一列的id变量。由于要预测的是SeriousDlqin2yrs变量,因此将其设为响应变量y,其他分别设为x1~x10变量。

1、缺失值分析及处理

在得到数据集后,我们需要观察数据的分布情况,因为很多的模型对缺失值敏感,因此观察是否有缺失值是其中很重要的一个步骤。在正式分析前,我们先通过图形进行对观测字段的缺失情况有一个直观的感受。

观察数据:

> xyk <- read.csv(file.choose())
> dim(xyk)
[1] 150000     12
> head(xyk)
  X SeriousDlqin2yrs RevolvingUtilizationOfUnsecuredLines age
1 1                1                            0.7661266  45
2 2                0                            0.9571510  40
3 3                0                            0.6581801  38
4 4                0                            0.2338098  30
5 5                0                            0.9072394  49
6 6                0          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值