您的位置:首页 > 其它

基于逻辑回归模型 下的简单用户违约预测分析

2015-12-03 11:45 232 查看
一 分析目的

本文分析数据来源于捷克银行(Czech bank),该数据涉及5300个银行客户数据、100万笔交易数据、700份贷款信息、900张信用卡数据。

通过对这些数据进行清洗、变换,并进行规范化后,来得到用户的信用度等描述性信息,并通过逻辑回归模型来对这些数据进行预测判断,得到哪些用户的贷款违约率较大等信息,从而为银行提供如下的相关决策支持:

1)针对高价值的用户,可以推荐或定制更多个性化的增值服务;

2) 针对不同信用度的用户,可增加或减少用户的贷款额度,并预估未来的坏账比例,及时做好资金安排。

二 分析工具

分析软件:SAS Enterprise Guide 5.1

分析模型:简单逻辑回归

分析数据:

Accounts(账户表):记录了账户号、行号、日期等信息,共计4500条;

Clients(客户信息表):记录了客户号、性别、生日、地区信息,共计5369条;

Disp(权限分配表):记录了客户号、账号、权限信息,共计5369条;

Order(支付订单表):记录账户号及对应的支付信息,共计6471条;

Trans(交易表):记录账户号、交易日期、交易金额和账户余额,共1056320条;

Loans(贷款表):记录账户号、贷款金额、贷款状态,共682条;

Cards(信用卡):记录每一个账户上的信用卡信息,共892条;

District(人口地区统计表):记录每个地区的GDP、人均收入、失业率和犯罪率,共77条;

三 分析过程

数据分析通常采用如下步骤:



1.数据收集

数据的8张表之间的关系如下图1所示。



评价用户是否高价值,数据来源有:

Cards.type:卡类型。价值由高到低为 金卡>青年卡>普通卡;

Cards.issue:发卡日期。在确定卡活跃度一致前提下,日期越久,用户忠诚度越高;

Trans.trans_date:交易日期。转换为定期(如年、月、日)的交易频度,频度越高,说明用户使用流动资金的意愿更高,银行可以对该用户更高的引用等级;

Trans.amount:交易金额;

Trans.balance:账户余额;

评价用户的信用度,数据来源有:

Clients表:提供用户的基本信息;

Loans表:关键表信息,其历史还款状态(status)可作为信用度参考依据;

District表:通过关联到用户所在的区域,可知其犯罪率、失业率、GDP、人均收入水平,也能作为因子进行信用度预测分析;

Trans表:用户的交易日期(trans_date)、交易金额(amount)、交易余额(balance)记录了用户还贷的频次(count(trans_date))、时长(max(trans_date))、交易总金额(sum(amount))、平均账户余额(avg(balance)),也可作为因子进行信用度预测分析;

Disp表:用户权限分配表。取权限类型(type)为“所有者”,因为只有权限为“所有者”的账户才能进行贷款申请。

评价用户是否高价值,属描述性统计分析,本文不做赘述。用户信用度预测,属于测数据挖掘分析,本章重点讲述该过程。

Step2.数据处理

本文分析的目的是要做逻辑回归,因此需获将Client、Loans、District、Trans、Disp共5张表做一定的转换后,合并为一张表(表名Analysis),从而进行预测。本步骤主要是对这些表做数据清洗、转换、规范化。

Loans表可以提供用户的还款状态(status)。status共分为A、B、C、D四种,A代表合同终止且正常还款,B代表终止但未还款,其他代码标示合同尚未结束。因此我们将C、D值用空白值“”代替(见图2),同时去掉列“每月归还还款额”,利用SAS EG的查询生成器功能,生成表step0。





为了将Loans的贷款数据与用户信息的数据连接起来,我们需要用到表Clients和Disp。由于只有权限为“所有者”的账户才能进行贷款申请,因此我们需要将表Clients和Disp进行内连接,筛选出Disp.type=’所有者’的用户数据,并利用SAS EG的查询生成器功能,生成表step1,见图4。



对Trans表的数据进行转换,得到用户还贷的频次(count(trans_date))、时长(max(trans_date))、交易总金额(sum(amount))、平均账户余额(avg(balance)),见图5。



District表代表着一个地区的经济发展水平和信用水平。通过将District表和step0进行内联接,可以得到step3,如图6所示。



最后,将step0、step1、step2、step3进行内连接,同时生成新列“犯罪增长率”、“失业增长率”、“贷款占比”,生成表Analysis,如图7。

注:

犯罪增长率=1996年犯罪率/1995年犯罪率-1;

失业增长率=1996年失业率/1995年失业率-1;

贷款占比=贷款金额/平均账户余额(avg(balance))



Step3.数据分析

对Analysis进行逻辑回归,选择“还款状态”作为预测变量(因变量),而贷款频率、交易量、平均账户余额(avg)、GDP等均可作为自变量,见图8。



由于逻辑回归的模型为:



对于的图形为



可以知道,对与z>0,g(z)位于0.5~1之间;z<0,g(z)位于0~0.5之间。我们知道逻辑回归主要是应用于两分类问题的,对应于本文的问题,即是A(合同终止且正常还款)或B(合同终止但未还款)的两类问题。我们构造如下变量:

z=θ1 * X1(贷款频率)+θ2 *X2(交易量)+θ3* X3(avg)+θ4
* X4(贷款占比)+
θ5 * X5(GDP)+θ6 * X6(失业增长率)+θ7* X7(平均工资)+θ8
* X8(犯罪增长率)



以图10为例,当z>0时,决策应为A(合同终止且正常还款);当z<0时,决策应为B(合同终止但未还款)。那么对于逻辑回归模型,当g(z)的概率为0.5~1时,我们认为预测变量应为A;当g(z)的概率为0~0.5时,我们认为预测变量应为B。

对SAS EG设置响应如图11,其他设置见图12、13。本文以概率0.5~1时分类为B。









四 分析结论

通过SAS EG运行结果(图15)来看,贷款频率、贷款占比对用户违约概率有正向作用;而交易量、账户平均余额对用户违约概率有负向作用。



从图16来看,预测正确性的概率只有80%,如图16所示。



图17显示还款状态为B的频数只有31个,因此由图18可知,对于B的数据,逻辑回归预测的并不准确,而这需要对数据再做一定的梳理后,并采用改进的逻辑回归算法,对B需要更精确的拟合。





五 实施建议

1、对于数据量小的分类变量,如B,需要采用一种改进的方法进行更准确的预测;
2、 对于被预测为B的用户,银行可以减少一定额度的贷款比例,并可以根据这些用户违约导致的坏账比例,进行预测分析。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: