不知不觉,学SQL已经一个多月了,每天下班学一个小时,有空做做练习题。从之前的焦虑到现在已经有了一定的自信了,猴子的课程真的很适合小白入门,尤其是SQL学习群里,助教老师很尽责,每个问题都会解答。当然更多的还是需要自己多加练习,查资料,看书,当自己遇到自己不会的问题时,通过自己研究解决问题的感觉太棒了,久违的成就感。

因为本身自己是做金融行业的,今天的项目实战就选取金融行业的实战数据进行一个简单的风控策略分析,其中不乏一些解决问题的心路历程,有点啰嗦,闲话少说,实战开始:

一、数据选取及导入

首先拿到数据的时候我是懵逼的:

从网盘上下载的数据选取的数据总共57356条,其实不算多。但主要是有69列,字段名都是因为英文,很多金融行业的专业词汇,自己只能看懂一些,虽然有部分释义,但只有几个,而且没办法一一对照着看,在Google的帮助下勉强把列名翻译成了我能看懂的中文,大概是这样:

我尽力了

(一)在做数据导入之前,先弄清楚两个问题:自己有什么?自己想要干什么?

1.自己有什么?数据总共69个字段,包含了客户的贷前贷中贷后的各个标签维度,我们将逾期客户定义为坏客户,非逾期客户定义为好客户。

2.我想要什么?我想要的是如何通过已知客户的数据分析得出结论,设置风控策略,将其中一部分坏客户拒掉。这其中有一个假设,就是未来的客户表现在概率上的特征与存量数据客户在概率上是一致的。也就是说,我们通过已有的数据分析得出坏客户标签最明显的那部分客户,可能是一个、也可能是多个标签,将这部分客户剔除掉,就能使得我们的逾期率得到改善。由于是要做的是贷前风控策略,所以我们把其中贷中和贷后的数据都暂时删除掉。

最终经过自己的初步筛选,除了主键以外,我们选取的列还剩下20个可供我们进行分析。

(二)数据的导入

按照数据的步骤进行操作,结果第一步就卡壳了,EXCEL表打不开,在公众号上查了解决方案后,发现需要去网上下一个微软的数据导入读取插件,accessdatebaseengine之类的。在网上找到下载以后就能打开了。

紧接着一路顺畅,到了最后一步发现又难住了,提示错误。

直接将错误代码百度了一下,发现是字段太多了,字段太长导致超标了‘too large’,于是在上一步把255改成了100,实际可以视业务和字段情况而定,我这里就是图省事儿。

然后就好了

接下来就可以开始分析了

二、数据分析

首先,我们分析原数据里‘是否逾期’这一列直接用的0和1来表示的,也就是说我们要分析的Y变量可以直接用SUM(是否逾期)来表示我们的坏客户

第一步,我们先看看这组数据整体的逾期率,取出来是29.66%,可以说是很高了,也就是说我们需要从其他变量中选取一些变量来分析坏客户,然后假设把他们剔除掉以优化我们好客户的占比,目标是降低29.66%这个数:

第二步,对各个列进行分析(这里有一个重要的小技巧,也是在助教老师的提示下才解决的)

首先,按信用评分分组统计,我的结果是这样的:

这里我发现其中B,C,D和HR,NC,E可以进行三三分类,因为他们的逾期率相差不大。如何运用SQL语句实现这一点,说实话我想了很久,最后还是在群里助教老师的提示下,茅舍顿开,才有了下面的语句实现了这一点:

把语句格式问题解决了,接下来就简单了,把所有需要分析的字段分别分组列出来就行了,这里由于篇幅有限,只放区分度最好的两个,除了上面的信用评级,还有征信总查询次数,具体SQL语句都大同小异:

下图是征信查询次数

最终我们得到的数据结果分组后,在EXCEL上显示如下图

三、计算提升度和评估执行后的效果

为什么要计算提升度?计算提升度是指——我们通过运用数据来计算各分组最差的那一档的客户,占总逾期账户数的权重是多少。具体公式是:分组最差档位逾期客户数/总逾期客户数/分组用户占比。

这里得到的数值,我们称之为提升度。。大概逻辑是:最差这一档逾期客户占比除以这一档所占的权重。将以上各个分组计算后,于是我们得到了下面这个图:

从图中我们可以看出:“征信总查询次数”和“信用等级”这两个字段最差档位的逾期客户的提升度最大。

接下来我们就可以拟定我们的风控策略了:

两种策略的执行结果分别是:

若征信查询次数>=21则拒绝,总逾期率会下降1.69%,但会拒绝掉5.44%的客户。

若信用评级为“E,HR,NC”则拒绝,总逾期率会下降3.54%,但会拒绝掉12.09%的客户。

根据这两天策略,我们可以直接给出建议,看是为了选择3.54%的逾期率降幅去牺牲掉12.09%的客户(这其中有7.66%的好客户)呢?还是只选择降低1.69%的逾期率,只牺牲掉5.44%的客户(这其中有3.17%的好客户)?这就要看公司决策层的战略和风险偏好了,后者对风险的容忍度较高。

四、总结和感悟

实际上,在信贷行业的策略中,我们要做的永远都是一个平衡问题,如何去找到收益和风险之间的那个点。

目前头部的几家互联网金融公司和各大银行所采用的风控模型都是基于大数据量下的风控,所以数据分析能力在当今的信贷行业相当重要,在客户数据达到一定量级以后,我们关注的都是大数据条件客户逾期的概率问题。总体所设定的风险策略是自己能风险偏好能接受的,同时能产生收益最大化,也就是我们信贷风险分析的终极目标。

这其中有几个问题值得我们进一步学习和探讨:

1.自己所做的分档是根据数据表现人工抉择表现接近的归为一档的分档方式,是否有更科学的分箱规则,如何来实现?

2.单维度的风控策略逻辑相对简单,但现实中我们往往遇到的多维度和更加细化的策略抉择问题:例如‘信用评级’最低的那一个档位里,有没有其他变量又能从中区分出坏人中的好人,或者是坏人中的‘铁坏人’,这就涉及到不同变量之间的交叉分析,到底哪几个特征综合在一起抓住坏人的概率更高?

基于以上两个问题,我想机器学习和PYTHON运用 能告诉我答案,咱们高级课程见。。。。

sql数据导入错误代码: 0x80004005_SQL入门第八关 项目实战相关推荐

  1. sql数据导入错误代码: 0x80004005_PL/SQL 非预定义异常、自定义异常处理、RAISE_APPLICATION_ERROR...

    抛出异常 Oracle有三种类型的异常错误: 1. 预定义(Predefined)异常 ORACLE预定义的异常情况大约有24个.对这种异常情况的处理,无需在程序中定义,由ORACLE自动将其引发. ...

  2. (转)资料收集,新手必备的sql数据导入导出知识

    转载自csdn SQL SERVER 与ACCESS.EXCEL的数据转换 熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact ...

  3. SQL数据导入导出问题总结

    大家打开这个链接可以看到很多数据库的连接方法.http://www.connectionstrings.com/ 这些数据库之间的数据交换就是这个贴子所要总结的内容. (一)SQL Server之间 ...

  4. 将sql数据导入mysql数据库_将sql导入mysql数据库

    MYSQL导入导出.sql文件 MYSQL导入导出.sql文件 一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=": ...

  5. SQL数据导入导出语句大全[英文部分比较全面]

    简介:微软SQL Server数据库SQL语句导入导出大全,包括与其他数据库和文件的数据的导入导出. /*******  导出到excel EXEC master..xp_cmdshell 'bcp ...

  6. 如何将sql数据导入到oracle数据库,将SQLServer的数据导入到Oracle数据库的方法-Oracle...

    1.首先在SQL Server的电脑上安装Oracle,或者是操作的电脑上安装Oracle,如果没有,导出时会提示失败 2.打开SQL Server,右键点击要导出的数据库,选择"任务&qu ...

  7. r语言各形状编号_R语言入门第八讲:编码分类变量(factor)

    今天第八篇~~~~~~ 在第一讲中我给大家介绍了read.table函数的使用.最近我在处理一个一百万左右的数据,发现read.table函数出了问题.我不知道是在excel转成txt时出的问题还是因 ...

  8. Android入门第八篇之GridView(九宫图)

    本文来自http://blog.csdn.net/hellogv/ GridView跟ListView都是比較经常使用的多控件布局,而GridView更是实现九宫图的首选!本文就是介绍怎样使用Grid ...

  9. CTF---Web入门第八题 Guess Next Session

    Guess Next Session分值:10 来源: iFurySt 难度:易 参与人数:3870人 Get Flag:1672人 答题人数:1690人 解题通过率:99% 写个算法没准就算出来了, ...

最新文章

  1. 13、SpringBoot-CRUD员工修改操作/删除
  2. 在字符串中查找指定的字符串--strstr
  3. [ARM异常]-异常进入和异常退出时的arm core的硬件自动的行为
  4. 页面间参数值传递含“%”的处理方法
  5. xmpp协议框架包介绍:org.xmpp.packet.Packet+JID+PacketInterceptor+Session
  6. 你觉得python很难嘛?那只是你没有理解而已
  7. P1082||T1200 同余方程 codevs|| 洛谷
  8. 毕业同学录网站搭建源码分享
  9. python 象棋算法接口_python输出国际象棋棋盘的实例分享
  10. Python并发编程相关及在爬虫实战中的使用
  11. octobercms mysql_在Ubuntu 18.04/Debian 9上安装October CMS
  12. 分布式服务架构-第三章 服务化系统容量评估和性能保障
  13. Excise_day01
  14. Android破解九宫格密码
  15. 电脑鸿蒙系统怎么连接无线网络,手提电脑怎样连接WiFi?
  16. VB-改变文件只读属性
  17. HTML5+WebGL打造的无插件纯Web 3D机房(第二季新增视频)
  18. elementUI上传图片后删除
  19. 递归、迭代和分治(1):递归
  20. 高效持续交付的7大原则

热门文章

  1. Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  2. 阿里云Kubernetes容器服务上体验Knative
  3. 希望我在开始第一个机器学习项目之前就了解的那些事儿
  4. 填平数据、产品、模式需求鸿沟,浪潮云发布新一代行业云 MEP战略
  5. 火山引擎进军云市场,计划未来三年服务十万客户
  6. 腾讯云成为国内首家FinOps基金会顶级会员
  7. opencv opencl加速_回放 | OpenCV Webinar 3:OpenCV深度学习应用与原理分析
  8. jfinal html5,Jfinal框架整合webSocket技术功能实现
  9. Hadoop集群安装部署_伪分布式集群安装_01
  10. WINDOWS 如何关闭3306端口