type
status
date
slug
summary
tags
category
icon
password

实验说明

实验背景

信用风险是指银行向用户提供金融服务后,用户不还款的概率。信用风险一直是银行贷款决策中广泛研究的领域。信用风险对银行和金融机构,特别是商业银行来说,起着至关重要的作用,但是一直以来都比较难管理。

实验说明

本实验以贷款违约为背景,要求使用贝叶斯决策论的相关知识在训练集上构建模型,在测试集上进行贷款违约预测并计算分类准确度。
 

实验步骤及内容

一、数据数据分析

首先对提供的数据集得数据进行分析如下:
字段
描述
属性类型及预处理方式
loan_id
贷款记录唯一标识
无关属性
user_id
借款人唯一标识
无关属性
total_loan
贷款数额
离散化
year_of_loan
贷款年份
有关属性
interest
当前贷款利率
离散化
monthly_payment
分期付款金额
离散化
class
贷款级别
分类处理(共7类)
employer_type
所在公司类型
分类处理(共6类)
industry
工作领域
分类处理(共14类)
work_year
工作年限
分类处理(共11类)
house_exist
是否有房
分类属性(共5类)
censor_status
审核情况
分类属性(共3类)
issue_date
贷款发放的月份
无关属性
use
贷款用途类别
分类属性(共14类)
post_code
贷款人申请时邮政编码
无关属性
region
地区编码
无关属性
debt_loan_ratio
债务收入比
离散化
del_in_18month
借款人过去18个月逾期30天以上的违约事件数
有关属性
scoring_low
借款人在贷款评分中所属的下限范围
离散化
scoring_high
借款人在贷款评分中所属的上限范围
离散化
known_outstanding_loan
借款人档案中未结信用额度的数量
有关属性
known_dero
贬损公共记录的数量
有关属性
pub_dero_bankrup
公开记录清除的数量
有关属性
debt_loan_ratio
债务收入比
离散化
del_in_18month
借款人过去18个月逾期30天以上的违约事件数
有关属性
scoring_low
借款人在贷款评分中所属的下限范围
离散化
scoring_high
借款人在贷款评分中所属的上限范围
离散化
known_outstanding_loan
借款人档案中未结信用额度的数量
有关属性
known_dero
贬损公共记录的数量
有关属性
pub_dero_bankrup
公开记录清除的数量
有关属性
recircle_b
信贷周转余额合计
离散化
recircle_u
循环额度利用率
离散化
initial_list_status
贷款的初始列表状态
分类属性(共2类)
app_type
是否个人申请
分类属性(共2类)
earlies_credit_mon
借款人最早报告的信用额度开立的月份
无关属性
title
借款人提供的贷款名称
policy_code
公开可用的策略_代码=1新产品不公开可用的策略_代码=2
分类属性(共2类)
f系列匿名特征
匿名特征f0-f4,为一些贷款人行为计数特征的处理
有关属性
early_return
借款人提前还款次数
有关属性
scoring_high
借款人在贷款评分中所属的上限范围
离散化
known_outstanding_loan
借款人档案中未结信用额度的数量
有关属性
known_dero
贬损公共记录的数量
有关属性
pub_dero_bankrup
公开记录清除的数量
有关属性
recircle_b
信贷周转余额合计
离散化
recircle_u
循环额度利用率
离散化
initial_list_status
贷款的初始列表状态
分类属性(共2类)
app_type
是否个人申请
分类属性(共2类)
earlies_credit_mon
借款人最早报告的信用额度开立的月份
无关属性
title
借款人提供的贷款名称
policy_code
公开可用的策略_代码=1新产品不公开可用的策略_代码=2
分类属性(共2类)
f系列匿名特征
匿名特征f0-f4,为一些贷款人行为计数特征的处理
有关属性
early_return
借款人提前还款次数
有关属性
early_return_amount
贷款人提前还款累积金额
离散化
early_return_amount_3mon
近3个月内提前还款金额
离散化
isDefault
贷款是否违约(预测标签)

二、读入数据

读入数据后将前一步数据分析后的无关属性删除
 

三、数据预处理

接下来需要对数据进行预处理:
1. 填充缺失值
使用众数来填充缺失数据
2. 分类属性处理
建立映射字典将文本类别转换为数值
3. 离散化处理
数据离散化是指将连续型数据转变成离散型数据。
朴素贝叶斯算法需要使用离散型的数据,数据离散化的实现方法我们考虑两种,等距离散化和等频离散化。
等距离散化是指将属性值分为具有相同宽度的区间,区间的个数k根据实际情况来决定。
等频离散化会根据数据的频率分布进行排序,然后按照频率进行离散,好处是数据变为均匀分布,但是会更改原有数据的分布状态。简而言之,就是根据数据频率分布去划分数据区间。   
在初始的离散化处理中,我考虑将两种方式均实现,在后续测试哪种离散化的效果更好,测试表明等距离散化效果更好。

四、拉普拉斯平滑

零概率问题:
在计算事件的概率时,如果某个事件在观察样本库(训练集)中没有出现过,会导致该事件的概率结果是0。这是不合理的,不能因为一个事件没有观察到,就被认为该事件一定不可能发生(即该事件的概率为0)。
拉普拉斯平滑(Laplacian smoothing)就是为了解决零概率的问题。
理论假设:假定训练样本很大时,每个分量x的计数加1造成的估计概率变化可以忽略不计,但可以方便有效的避免零概率问题
notion image

五、贝叶斯分类器的实现

notion image
特征向量,类别状态
为后验概率 posterior probability
为类条件概率,在的概率下的概率
为先验概率 prior probability
为 evidence probability

六、实验结果

训练集准确率: 0.8348
混淆矩阵:
Predicted     0    1
Actual             
0          6550  938
1           549  963 
测试集准确率: 0.8230
测试集混淆矩阵:
Predicted    0    1
Actual            
0          715  114
1           63  108
训练集类别分布: [7488 1512]
测试集类别分布: [829 171]
 
 
 
线性判别函数与参数、非参数估计脚本初尝试——FIF口语修改成绩!
Loading...