基于融360数据的模型构建及用户贷款审批结果预测_第1页
基于融360数据的模型构建及用户贷款审批结果预测_第2页
基于融360数据的模型构建及用户贷款审批结果预测_第3页
基于融360数据的模型构建及用户贷款审批结果预测_第4页
基于融360数据的模型构建及用户贷款审批结果预测_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据挖掘课程论文基于融360数据的模型构建及用户贷款审批结果预测XXXX摘要本文的主要工作是运用数据挖掘的相关技术对申请贷款的客户的大量数据进行数据挖掘,发现隐藏在大量数据中的隐含模式,最终得到风险评估模型。本文的内容主要分为数据获取与探查、数据预处理、模型建立和结果分析与应用四个部分。在模型建立的过程中使用了SAS企业数据挖掘模块,基于决策树、回归和神经网络的方法, 充分利用已有数据建立模型, 对申请贷款客户进行科学归类, 从而帮助金融机构提高对贷款信用风险的控制能力。关键词:SAS 分类技术 数据挖掘 预测 贷款风险评估目录:1.绪论31.1项目背景31.2文献综述32.数据获取与探查52

2、.1数据获取52.2数据简介52.3字段说明62.4数据探查93.数据处理与建模93.1数据预处理93.2数据建模过程决策树163.3数据建模过程神经网络183.4数据建模过程回归203.5最佳模型选择214.结果分析与应用225.项目评估与收获275.1项目改进275.2收获28参考文献281.绪论1.1项目背景金融是现代经济的核心,各类金融机构则是现代金融的支柱。各类金融机构在社会经济发展过程中, 发挥着筹集融通资金、引导资产流向、提高资金运用效率和调节社会总需求的作用。中国加入WTO后, 中外金融机构的竞争日益激烈, 中国商业银行必须加快改革步伐, 尽快打造自己的核心竞争力。但是中国金融

3、机构的信贷资产质量较差, 不良贷款的规模大、比例高, 严重阻碍中国金融业的发展。有效控制不良贷款信用风险已经成为中国金融机构面对的主要课题。1.2文献综述目前国际银行业对不良贷款信用风险评估的方法主要采用的是古典分析法和多元统计法 1-2 。古典分析法是指银行经营者依赖一批训练有素的专家的主观判断对贷款人进行信用分析。多元统计分析的基本思想是根据历史累积样本建立数学模型, 并对新样本发生某种事件的可能性进行预测的方法,具体包括线性概率模型、LOGIT法、PROBIT法以及判别分析法(MDA) 1 。巴塞尔委员会于2001 年1月公布了新巴塞尔资本协议草案, 新协议给出了两种计量信用风险的方法,

4、 即标准法和内部评级法(IRB), IRB法对标准法中的风险加权系数进行了修正。新协议允许银行使用内部评级方法, 使新协议的监管规则有一定的灵活性。但目前, 金融界使用最多的两个信用风险评估模型是信用度量制(Credit Metrics)模型和KMV模型。Credit Metrics是J.P. Morgan于1997年开发的一种基于VAR方法的信贷风险管理模型 3 。所谓VAR就是衡量一项资产或者负债在一定时间内、在一定的置信水平下其价值的最大损益额。Credit Metrics是一种盯市(MTM)模型, 认为如果信用资产的信用等级发生了变化, 就产生了信用损失的可能性, 这种损失是多状态的,

5、 不只是违约和不违约两种状态。KMV模型是KMV公司利用期权定价原理, 提出了以预期违约频率为核心的信用风险管理模型。KMV模型将资产的状态分为违约和不违约两种, 信用损失只发生在违约的时候。而且KMV模型有一个核心的假设, 就是当公司的资产价值下降到一定程度之后, 公司就会对其债务违约。由于受样本数量限制, 国内已有学者对信用风险评估方法进行研究, 着重研究某一具体方法在信用风险评估中的应用。王春峰等 4-7 运用线性判别法、LOGIT法、遗传规划模型、神经网络模型, 以及距离判别法与神经网络方法相结合的组合预测法对信用风险评估方法作了研究。施锡铨等 8 运用线性多元判别方法对上市企业的信用

6、风险评估进行了研究, 得出评价上市企业信用风险水平的线性判别模型。以上所述方法虽然被广泛应用, 但是它们只是针对某一方面如财务, 进行分析建模, 不能够充分利用有关客户和信贷产品的大量且全面的信息。在信贷风险评估中, 对信用风险的评价, 不仅要考虑贷款者的财务能力, 还要考虑贷款者所需求产品的信息等各方面因素, 仅靠单一指标的评价体系不足以对信用风险予以充分揭示。因此, 研究如何从贷款样本数据中挖掘更丰富的信用信息, 建立更完备的信用风险评估模型将成为一种必然。本文使用了SAS企业数据挖掘模块,基于决策树、回归和神经网络的方法, 充分利用已有数据建立模型, 对申请贷款客户进行科学归类, 从而帮

7、助金融机构提高对贷款信用风险的控制能力。2.数据获取与探查2.1数据获取本文的实验数据获取于数据堂,来源于融360。融360是中国最大的网络贷款平台,平台的一端是数亿的有借款需求的小微企业和个人消费者,另一端是数万的有贷款资金的金融机构(银行、小贷、担保、典当等)和数百万的金融产品,平台通过搜索和推荐服务来撮合借款用户和贷款。通常,用户进入平台后,会通过搜索和推荐服务找到合适的贷款产品,填写自己的个人基本资料,最终提交贷款订单。金融机构通过平台收到订单后,对用户资质进行风控审核,最终决定是否通过用户的订单。2.2数据简介数据包含了user, product, quality和order四张表,

8、下面结合业务流程解释一下四个数据的产生过程。第一步:用户访问融360网站搜索合适的贷款产品,这就产生了user数据,它包含了用户在网站的点击、搜索和下单记录,这里面的date字段记录了是哪一天;第二步:用户在提供的贷款产品中搜索符合自己需求的,在些产品保存在product数据中,包含了产品的申请金额、期限、申请所需的材料等信息;第三步:找到合适产品的用户会在线填写申请,这部分数据保存在quality数据中,包含了用户的年龄、性别、职业、收入等信息;第四步:把用户订单提交给相应的金融机构,金融机构在进行风控审核后会决定是否通过用户的订单,这部分数据保存在order数据中,其中包含用户与其申请的产

9、品编号、订单的申请金额和期限等基本信息以及订单是否审核通过。具体每表的说明如下:order_train.txt:用于训练的订单数据product_final.txt:产品相关数据,包含训练集和测试集出现的所有产品quality_final.txt:用户申请信息相关数据,包含训练集和测试集出现的所有用户user_final.txt:用户访问信息相关数据,包含训练集和测试集出现的所有用户order_test_no_label:用于测试的订单数据,与训练数据相比缺少最终结果标签。2.3字段说明user表变量说明user_id用户idpv总pvpv_inde x_loan:贷款首页PVpv_apply

10、_total申请次数pv_ask问答页Pvpv_calculator计算器页PVorder_count_loan贷款下单量pv_daikuan贷款总PVpv_credit信用卡总PVpv_search_daikuan搜索页pv_detail_daikuan贷款详情页PVdate不同日期product表变量说明product_id产品idcity_id城市idbank_id产品所属机构idproduct_type产品类型guarantee_type产品担保类型loan_term_min最短期限loan_term_max最长期限loan_term_type期限类型decision_cycle审批时

11、间loan_cycle放款时间repayment_type还款方式loan_quota_min最小额度loan_quota_max最大额interest_rate_type利率类型guarantee_required是否必须有担保quality表变量说明user_id用户idcity_id城市idapplication_type申请类型application_term申请期限application_limit申请金额op_type职业类型col_type房产类型user_loan_experience两年内征信情况user_has_car是否有车user_social_security缴纳社保

12、年份qid77是否有公积金cash_receipts现金收入user_income_by_card打卡收入user_work_period工作年限user_age用户年龄company_type公司类型col_value房产价值com_op_period经营年限com_month_flow月流水qid123文化程度qid122婚姻状况qid135公司规模qid139居住类型qid93是否办过营业执照qid57能提供流水数order表变量说明user_id用户idproduct_id产品iddate不同日期term申请期限limit申请金额Result0表示未被批准,1表示被批准2.4数据探查我

13、们利用SAS EM观察到以下有关各个变量的基本统计指标的异常情况:偏度偏大(>5)的有:loan_term_max,loan_quota_min,loan_quota_max,limit,application_term,application_limit.缺失值过多(>50%)的有:user_age,qid93,qid78,qid135,qid133,qid123,qid122,col_has_morgage取值过于单一且集中的有:term,pv,loan_term_max,loan_quota_min,loan_quota_max,limit,fangkuan_num,dece

14、sion_cycle,apply_num3.数据处理与建模3.1数据预处理3.1.1导入EM之前的处理在将数据导入EM之前,先将四张表的数据整合到了一起,这里使用的是链接的方法,具体语句如下: 在这里使用了DISTINCT,是为了将重复数据去除。为了观察数据,先将数据导入EM中进行分析,使用INSIGHT节点,发现TOTAL一共含有79万多条记录,100多个字段。通过INPUT发现,许多字段的缺失值比例已经达到60%以上,有的甚至超过了95%,达到了100%。这样的字段是毫无意义的,所以我们在后续的处理中可以直接REJECTED。另外,通过之前的观察发现,有些字段之间是有关联的,比如说 EAR

15、LY_REPAYMENT字段和PENALTY字段,前者代表是否可以提前还款,后者代表提前还款是否需要交纳违约金,对于后者,如果前者为0或者缺失,那么后者也就自然为缺失值,造成缺失值比例升高,同时,我们也注意到,如果采用后面的REPLACEMENT节点,使用的方法也是会产生歧义,因为EARLY_REPAYMENT字段为0的时候,PENALTY字段本身就是缺失的,而使用REPLACEMENT节点反而会导致错误的结果。所以在此我们通过建立一个新的字段EARLY_REPAY来代替两个字段的含义。具体语句如下:/*去除无意义的字段PROC SQL;TITLE'SELECTION'CREA

16、TE TABLE DATA.TOTAL3 AS SELECT USER_ID,PRODUCT_ID,DATE,TERM,LIMIT,RESULT,CITY_ID,BANK_ID,PRODUCT_TYPE,GUARANTEE_TYPE,LOAN_TERM_MIN,LOAN_TERM_MAX,LOAN_TERM_TYPE,DECISION_CYCLE,REPAYMENT_TYPE,LOAN_QUOTA_MIN,LOAN_QUOTA_MAX,INTEREST_RATE_TYPE,GUARANTEE_REQUIRED,APPLY_NUM,FANGKUAN_NUM,ID,HOUSE_REGISTER,B

17、USINESS_LICENSE,LEGAL_PERSON,MARRIED,CAR,INCOME,HOUSE,TAX,SOCIALSECURITY,LIFECOST,EARLY_REPAYMENT,PENALTY,APPLICATION_TYPE,APPLICATION_TERM,APPLICATION_LIMIT,OP_TYPE,COL_TYPE,USER_LOAN_EXPERIENCE,USER_HAS_CAR,QID77,CASH_RECEIPTS,USER_INCOME_BY_CARD,USER_WORK_PERIOD,USER_AGE, QID123,QID122,QID135,QID

18、93,QID145,QID133,QID78,COL_HAS_MORTGAGE,SPAM_SCORE,SOURCE,PVFROM DATA.TOTAL;QUIT;/*对相关的字段进行处理PROC SQL;TITLE 'COMBINITION'CREATE TABLE DATA.TOTAL5 ASSELECT USER_ID,PRODUCT_ID,DATE,TERM,LIMIT,RESULT,CITY_ID,BANK_ID,PRODUCT_TYPE,GUARANTEE_TYPE,LOAN_TERM_MIN,LOAN_TERM_MAX,LOAN_TERM_TYPE,DECISION

19、_CYCLE,REPAYMENT_TYPE,LOAN_QUOTA_MIN,LOAN_QUOTA_MAX,INTEREST_RATE_TYPE,GUARANTEE_REQUIRED,APPLY_NUM,FANGKUAN_NUM,ID,HOUSE_REGISTER,BUSINESS_LICENSE,LEGAL_PERSON,MARRIED,CAR,INCOME,HOUSE,TAX,SOCIALSECURITY,LIFECOST,APPLICATION_TYPE,APPLICATION_TERM,APPLICATION_LIMIT,OP_TYPE,COL_TYPE,USER_LOAN_EXPERIE

20、NCE,USER_HAS_CAR,QID77,CASH_RECEIPTS,USER_INCOME_BY_CARD,USER_WORK_PERIOD,USER_AGE, QID123,QID122,QID135,QID93,QID145,QID133,QID78,COL_HAS_MORTGAGE,SPAM_SCORE,SOURCE,PV,CASE WHEN EARLY_REPAYMENT=0 THEN '0' WHEN EARLY_REPAYMENT=1 AND PENALTY=1 THEN '2' WHEN EARLY_REPAYMENT=1 AND PENAL

21、TY=0 THEN '1' WHEN EARLY_REPAYMENT=. OR PENALTY=. THEN '3' END AS EARLY_REPAYFROM DATA.TOTAL3;QUIT;/*对AGE缺失的记录进行删除DATA DATA.TOTAL6;SET DATA.TOTAL5;RUN;PROC SQL;TITLE 'DELETE'DELETE FROM DATA.TOTAL6 WHERE USER_AGE=''QUIT;解释一下,这里做了处理以后的字段EARLY_REPAY,取值为0的时候表示不可以提前还款,取值为

22、1的时候表示可以提前还款且还款不需要支付违约金,取值为2的时候表示可以提前还款且还款需要支付违约金,取值为3的时候表示EARLY_REPAYMENT=. OR PENALTY=.。同时,我们也在这里删除了一些对后续分析无意义的字段,比如说修改次数等,方便后续分析。处理完后的数据集为TOTAL5,将其导入EM进行处理。3.1.2导入EM后的处理整体项目图: 数据导入:TOTAL5。在INPUT 后加上一个INSIGHT节点,观察TOTAL5。 数据预处理:在INPUT SOURCE节点后一共增加了四个预处理节点。 ASAMPLE通过观察数据,发现到及时是处理后的TOTAL5,也是一个十分庞大的数

23、据集,所含的记录有79万条之多,由于我们的电脑配置有限,处理如此庞大的数据是十分困难的,所以,我们在这里使用了抽样节点,抽取1%的样本作为所要处理的数据。在这里,我们使用的是分层抽样,用RESULT为0和1时分别抽样。 BPARTITION将数据按照6:4的比例划分训练集和验证集,方便后续分析建模与验证。CREPLACEMENTREPLACEMENT节点是用来对缺失值进行处理的。 我们对INTERVAL的变量采用决策树的方法,对CLASS的变量采用众数的方法。DTRAMSFORM通过对数据分布的观察,发现大多数的数据都是分布不均匀,不利于后续探查,所以我们对数据进行转化,根据最优原则,所以采用

24、转化方法如下: 3.2数据建模过程决策树A.TREE 1由于在决策树的建模过程中,缺失值的影响很小,所以直接在分层后的节点后加上TREE节点,建立模型TREE1。通过多次参数探查,最后得到相对较好的一组参数。具体参数设置如下: B.TREE 2在经过讨论后,发现虽然在决策树的建模过程中,缺失值的影响很小,但这里指的是训练集,验证集的缺失仍会对后续的建模产生影响,所以在REPLACEMENT节点后,添加TREE节点,建立模型TREE 2。通过多次参数探查,最后得到相对较好的一组参数。具体参数设置如下: C.TREE3在TRANSFORM节点后加上TREE节点,建立模型TREE3。通过多次参数探查

25、,最后得到相对较好的一组参数。具体参数设置如下: D.提升图比较 最后发现TREE2的效果最好。3.3数据建模过程神经网络 A.NET1在TRANSFORM后添加NET节点,建立模型NET1。经过探查后,发现设置隐藏层为3效果最好。 B.NET 2在REPLACEMENT后直接添加NET节点,建立模型。经过探查后,发现设置隐藏层为3效果最好。C.提升图比对NET 2的效果更好。3.4数据建模过程回归A.REG1在transform后添加reg节点,建立模型reg1。参数设置如下: B.REG2在replacement后添加reg节点,建立模型reg2。参数设置同上。C.提升图比对Reg2的效果

26、更好。 3.5最佳模型选择在所有建模节点后添加assessment节点,查看提升图。 发现最好的模型是NET1。在第一个十分位点,它的精度已经达到了51.62%。见下图:4.结果分析与应用经过多次对不同方法的试探和调整,并对所有结果进行评估后,我们得到了一个相对最佳模型:模型名称为net1的神经网络模型。下图为net1的lift chart:与其他模型比较,在第一个十分位距上即前10%中,net1累计的百分比最高,大约51.6%的客户申请贷款的批核结果为同意,保持着较高的数值,或陡峭的曲线;前20%中被同意申请贷款占比略大于35%,相对于基线一个随机抽样样本中批核结果为同意的客户的预计百分比,

27、net1有了显著的提高,偏离baseline model足够远,然后曲线呈逐步下滑趋势,说明该模型是可用且有效的。Net1模型的权重如下图:通过试探,我们将隐藏层数设为3 ,得到的模型效果最好。该图显示了每一个变量到每一个隐藏层的连接权重,神经网络节点的隐藏层执行非线性运算,使其功能比较强大,通过调整权重来建立不同的模型,减小误差。Net1在不同迭代次数下的训练集和验证集的误差图如下:该模型在迭代次数接近10时,误差有了显著降低,训练集的误差理论上比验证集的误差小,拟合效果较好,训练时间较短。对net1模型加insight节点进行观察分析:模型训练结果中的数据集多了一些变量,包括同意贷款申请的

28、概率、否定贷款申请的概率等,它通过内部计算,得到了每个用户id对应的可能结果。在三千多条观测的验证集中,大约有13.6%的客户能成功申请到贷款,即批核结果为同意;跟最初的训练样本比较,数据占比并无太大差别。就该项目需要解决的问题而言,根据提供的用户信息和贷款产品信息数据建立最佳模型,预测用于测试的订单的批核结果,net1作为目前最好的统计模型,可以用测试集对其进行利用。在sas em中部分使用步骤如下:通俗地说要给这个最佳模型“打分”,使用score节点的评分代码,对评分数据集增加预测信息。把新的订单测试集与相关的贷款产品信息连接后,用net1模型去预测,哪些客户可能申请到贷款,哪些可能会被拒

29、绝。每一个用户对应的观测值(部分)如下:测试集中大约有9.5%的客户申请贷款的要求会被同意,其他客户申请可能会被否定。Insight的结果表给出了每个用户申请审批的预测结果,并显示出result=1即批核结果为同意的客户的id等相关个人信息和贷款产品信息,由于该数据经过特殊处理,申请被同意的客户的部分特征(如:id、年龄、职业等)不具有太高的可信度和说服力,不足以形成一个直接可观的特征群,但是本项目主要解决问题的方向是预测一批客户的贷款申请的结果,根据模型,得出每一个user_id对应的result为0还是1,有且只有两种可能,即同意申请或否定申请,因此,利用net1神经网络模型生成最终的预测

30、结果即可。不仅是此次用于测试的订单数据集,如果通过审核和检测,该模型确实良好,那么之后所有在融360平台上填写的贷款申请都可利用net1神经网络模型提前进行预测金融机构是否会对某一申请批核通过。5.项目评估与收获5.1项目改进(1)待挖掘的数据的完整性和精确度需要提高。究其根本,一个数据挖掘项目的成功与否,很大程度上取决于待挖掘的数据集的完整性和精确度,即好的数据是成功的数据挖掘项目的起点。而我们这次项目的数据,由于在获取之前就因为涉及到其他人的隐私而被处理过,且缺失值过多,这使得数据的完整性和精确度大大降低,严重影响了我们后续的挖掘工作。(2)对数据的预处理与清洗需要更为细致。在本次的数据挖

31、掘项目中,源数据共有4张表,每一张表都有很多变量,而我们根据userid和productid将四张表合并为一张表后,观测数目达到了79万之多。如何对这79万的庞大数据进行科学合理的预处理和清洗给我们提出了一个巨大的挑战。经过查阅资料和结合了我们自己的判断后,我们筛选出了一部分对结果影响作用较大的变量来构建模型。在挑选构建模型的变量的过程中,无可避免的存在疏忽和遗漏,变量的选择不准确可能在一定程度上对我们模型的有效性和准确性施加影响。(3)对模型的解读能力需要提升本次数据挖掘项目最终确定的最佳模型是神经网络,而我们在得到最佳模型后,缺乏对最佳神经网络模型的解读能力。确定神经网络为最佳模型的原因是

32、我们在建模的过程中,经过不停的试探修改后,根据提升图来筛选出神经网络为最优。可是在具体查看最佳神经网络模型的具体参数设置时,我们却缺乏对其进行深入解读的能力,这影响我们对该模型的再次改进和将之应用于新数据的可能性。5.2收获通过本次数据挖掘项目分析,我们的一大收获是对利用SAS em中的决策树、回归、神经网络来建立模型,从而对新数据进行预测的过程有了更深的认识与感触。我们深深意识到,一个好的模型的建立并非一蹴而就,而是在不断的试探过程中得到的。在试探的过程中,会出现各种各样未曾预期的差错,如我们这次的挖掘项目中有一个树的结点在参数均设置无误的情况下仍然报错,致使程序无法正常运行,这让我们百思不得其解。最后迫于无奈,我们选择了最为简单粗暴的方法,即删除这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论