Reject Inference: Your Data is Deceiving You
Keyword: Reject Inference
Suppose there is a dataset of several attributes, including working conditions, credit history, and property, that have been provided by the bank. The sample classified the customers according to whether they paid off their loans on time. Those who paid off their loans on time were classified as “good customers”, and those who did not pay off their loans on time were classified as “bad customers”.
If Rick, an employee of the bank, uses this dataset to do data analysis directly, what will happen?
Take one of these attributes as an example.
1 : unemployed
2 : skilled employee
3 : management/ highly qualified employee/ officer
Which of these three groups of people, by instinct, should have the best credit? Most people would think it is the second or the third category. However, the data give us a different answer.
As the data shows, the first group of customers is “better than” the third group of customers. After looking at the data, Rick might reach the conclusion that lending more money to the unemployed people is better than lending money to those who are the highly qualified employee, officer, or management board. Is it correct? Let’s think about it a little bit.
Let’s review the process of collecting data:
- Rick’s Customer applies for a personal loan
- If it is approved, go to step 3. Otherwise, it will not be counted as a data point in Rick’s data set.
- If a customer pays off the loan on time, he will be labeled as a “Good Customer”. Otherwise, he will be labeled as a “Bad Customer”.
Before collecting data, there is a crucial step - Step 2. That is to say, the customers who are collected by Rick have already been selected by the bank. Those who applied for a personal loan but didn’t get approved are not in this dataset.
Here I would like to ask you a question: which has the greater risk, jumping from the 4th floor or the 70th floor? (Please do not try it, it is just an example.) You may reply immediately: “The 70th floor, of course!”
You are wrong. I am not asking about the probability of death. I am asking about risk. Suppose someone will offer you 10 billion if you can jump from 70th floor without dying, then you probably won’t bet with him. However, suppose someone will offer you 10 billion if you can jump from 4th floor without dying, then you might want to give it a shot because you know you may not die.
The customers who make the bank feel like jumping from the 70th floor, are most likely rejected by the bank from the beginning. The bank usually has a hard time to make decisions on the application of the customers who make the bank feel like jumping from the 4th floor.
“The 70th floor” customers are likely existing in the first group of customers. So if the bank approved their application, then there must be some reasons support the bank to believe they will pay off their loans. If the bank approved every first-group customer’s application, the data may be different from current data.
Using the data analysis before didn't really understand the meaning of the data may result in you are deceived by your data.
There are lots of factors should be taken into consideration in an evaluation, but I have to simplify the explanation here. If there are any mistakes or anything make you uncomfortable, please let me know so that I can fix it.
Reject Inference: Your Data is Deceiving You的更多相关文章
- Data Visualization – Banking Case Study Example (Part 1-6)
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...
- es6中promise ALL Race Resolve Reject finish的实现
function mypromise(func){ this.statue = "pending"; this.data = null; this.resolveCallback ...
- 信用评分卡 (part 5 of 7)
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...
- 信用评分卡Credit Scorecards (1-7)
欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 python风控评分卡建模和风控常识 https://study.163.com/course/introductio ...
- cvpr2015papers
@http://www-cs-faculty.stanford.edu/people/karpathy/cvpr2015papers/ CVPR 2015 papers (in nicer forma ...
- ES6笔记(5)-- Generator生成器函数
系列文章 -- ES6笔记系列 接触过Ajax请求的会遇到过异步调用的问题,为了保证调用顺序的正确性,一般我们会在回调函数中调用,也有用到一些新的解决方案如Promise相关的技术. 在异步编程中,还 ...
- 【深度学习Deep Learning】资料大全
最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books by Yoshua Bengio, Ian Goodfellow and Aaron C ...
- ES6扫盲
原文阅读请点击此处 一.let和const { // let声明的变量只在let命令所在的代码块内有效 let a = 1; var b = 2; } console.log(a); // 报错: R ...
- 【腾讯Bugly干货分享】打造“微信小程序”组件化开发框架
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/2nQzsuqq7Avgs8wsRizUhw 作者:Gc ...
随机推荐
- MyBatis之Mapper XML 文件详解(一)
MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% ...
- Error Note1:错误修复笔记
1.遍历同时修改数组内容导致崩溃 bugly上bug提醒如下图所示,经检查发现,可能是页面上数据加载惹得祸. 页面加载过程是这样的,首先进入页面,初始化页面,将本地数据加载到array中刷新table ...
- Jewels and Stones
题目如下 You're given strings J representing the types of stones that are jewels, and S representing the ...
- mysql中对于时间的处理,时间的滚动,求时间间隔,切换时区等等
mysql中对于时间的处理,时间的滚动,求时间间隔,切换时区等等 在mysql的使用过程中,有时候会出现对时间进行的操作,比如时间向前向后滚动,求2个时间的间隔,或者切换时区的操作 1,时间向前滚动( ...
- JS实现继承 JavaScript
JS实现继承 JavaScript 定义一个父类: // 定义一个动物类 function Animal (name) { // 属性 this.name = name || 'Animal'; // ...
- Java线程池的创建详解
本篇文章主要总结了Java创建线程池的三种方式以及线程池参数的详细说明,对线程池感兴趣的同学可以作为参考学习. 1)通过工具类java.util.concurrent.Executors的静态方法来创 ...
- Redis总导航目录
NoSQL入门和概述 NoSQL入门概述 3V + 3高 当下的NoSQL经典应用 NoSQL数据模型简介 NoSQL数据库的四大分类 在分布式数据库中CAP原理CAP+BASE Redis入门介绍 ...
- Spark在实际项目中分配更多资源
Spark在实际项目中分配更多资源 Spark在实际项目中分配更多资源 性能调优概述 分配更多资源 性能调优问题 解决思路 为什么调节了资源以后,性能可以提升? 性能调优概述 分配更多资源 性能调优的 ...
- python django-admin startproject django-admin命令未找到
在使用pip install安装django后使用django-admin生成项目失败解决办法 1.配置环境变量-在系统环境变量path添加后运行 D:\Program Files (x86)\pyt ...
- Qt 本地化(翻译)
Qt 本地化(翻译) 翻译流程大致是这样的:首先源代码产生 ts 文件,然后送给 Qt Linguist(Qt 语言家)这个 Qt 自带的小工具进行处理产生 qm 翻译文件,最后源代码里加载这个 qm ...