转自:https://cloud.tencent.com/developer/article/1016333

在缺失值和处理完成后,我们就得到了可用作信用风险评级模型开发的样本总体。通常为了验证评级模型的区分能力和预测准确性,我们需要将样本总体分为样本集和测试集,这种分类方法被称为样本抽样。常用的样本抽样方法包括简单随机抽样、分层抽样和整群抽样三种。 简单随机抽样:

smp1<-sample(nrow(GermanCredit),10,replace=F)

样本集可表示为:

train_data=GermanCredit[-smp1,]
test_data=GermanCredit[smp1,]

分层抽样:在R中,使用strata()函数来实现上述的分成抽样方法:

strata(data,stratanames=NULL,size,method=c(“srswor”,”srswr”,”poisson”,”systematic”), pik,description=F)

其中,data即为待抽样数据集;stratanames为分层所依据的变量名称;size为每层中将要抽出的样本数,其顺序应当与数据集中该变量各水平出现的顺序一致,且在使用该函数前,应当首先对数据集按照该变量进行升序排序;method参数用于选择列示的4中2抽样方法,分别为无放回、有放回、泊松、系统抽样,默认去srswor(无放回);pik用于设置各层中各样本的抽样概率;description用于选择是否输出含有各层基本信息的结果。 我们假设按照GermanCredit数据集中的housing属性进行分层抽样,每层抽取5个样本,代码如下:

#分层抽样
library(sampling)
x<-GermanCredit[order(GermanCredit[,"housing"]),]
sub_set<-strata(x,stratanames = "housing",size = c(5,5,5),method = "srswor")
result<-getdata(GermanCredit,sub_set)

查看抽样结果可见,抽样数据集的最后多了3列内容,分别是ID_unit表示抽样样本在原样本总体中的ID,Prob表示样本在各层内的抽样概率,Stratum表示抽样样本属于哪一层。 第三种抽样方法整群抽样,是指以样本总体中的某个变量分群为依据,对样本进行随机抽样的方法。在考虑使用整群抽样时,一般要求各群对数据总体有较好的代表性,即群内各样本的差异较大,而群间的差异较小。因此,当群间差异较大时,整群抽样往往具有样本分布面不广、样本对样本总体的代表性相对较差等缺点,整群抽样方法通常情况下应用较少。 在R中,我们使用cluster()函数实现整群抽样,其基本格式为:

cluster(data,clustername,size,method=c(“srswor”,”srswr”,”poisson”,”systematic”), pik,description=F)

该函数的参数中,除了clustername和size略有不同外,其他参数都与strata函数完全相同。clustername是指用来划分群的变量名称,size为一个整数,表示需要抽取的群数。代码如下:

> sub_cluster<-cluster(GermanCredit,clustername = "housing",size = 1,method = "srswor",description = T)
Number of selected clusters: 1
Number of units in the population and number of selected units: 1000 713
> cluster_data<-getdata(GermanCredit,sub_cluster)
> View(cluster_data)

根据本文采用的样本总体GermanCredit数据较少的特点,在进行个人主体信用风险评级模型开发时,我们采用基于无放回随机抽样的五折交叉验证的方法来进行模型开发和验证。所谓五折交叉验证是指我们将样本总体随机分为5份,每次都是取其中的4份做模型开发,另外一份做模型验证,连续这样做5次,并对这5次的模型验证的统计指标取平均值,即为模型的最终验证结果。交叉验证也是在样本总体较少时,经常采用的模型开发和验证方法,这种方法得到的评级模型可较好的提高模型的区分能力、预测准确性和稳定性。抽样代码如下:

train_kfold<-sample(nrow(GermanCredit),800,replace=F)
train_kfolddata<-GermanCredit[train_kfold,]
test_kfolddata<-GermanCredit[-train_kfold,]

在接下来的讲解中,我们均以train_kfolddata作为样本集来用作模型开发,以test_kfolddata作为测试集用作模型验证。五折交叉验证时,我们只需要重复上述步骤5次,并选出稳定性和区分能力最优的模型即为我们最终开发的信用风险评级模型。

评分卡模型开发(三)--数据集准备相关推荐

  1. 信用评分卡模型开发及评估指标

    版权声明:本文为博主原创文章,未经博主允许不得转载. 一.信用风险评级模型的类型 信用风险计量体系包括主体评级模型和债项评级两部分.主体评级和债项评级均有一系列评级模型组成,其中主体评级模型可用&qu ...

  2. 信用评分卡模型开发中双峰分布原因及解决方案

    信用评分卡模型开发中双峰分布原因及解决方案   文: 郑旻圻 邹钰 刘巧莉 转自:  数信互融 在信用评分卡模型开发过程中,正态性是检验模型信用评分分布是否有效的一个重要指标.正常情况下,标准的正态分 ...

  3. 评分卡模型开发(十)--总体流程

    转自: https://blog.csdn.net/lll1528238733/article/details/76602006 一.信用风险评级模型的类型 信用风险计量体系包括主体评级模型和债项评级 ...

  4. 信用标准评分卡模型开发及实现

    一.信用风险评级模型的类型 信用风险计量体系包括主体评级模型和债项评级两部分.主体评级和债项评级均有一系列评级模型组成,其中主体评级模型可用"四张卡"来表示,分别是A卡.B卡.C卡 ...

  5. 评分卡模型开发(七)--基于逻辑回归的标准评分卡实现

    由逻辑回归的基本原理,我们将客户违约的概率表示为p,则正常的概率为1-p.因此,可以得到几率,也叫对数比率: 此时,客户违约的概率p可表示为: 评分卡设定的分值刻度可以通过将分值表示为比率对数的线性表 ...

  6. 评分卡模型开发-基于逻辑回归的标准评分卡实现

    由逻辑回归的基本原理,我们将客户违约的概率表示为p,则正常的概率为1-p.因此,可以得到: 此时,客户违约的概率p可表示为: 评分卡设定的分值刻度可以通过将分值表示为比率对数的线性表达式来定义,即可表 ...

  7. 评分卡模型开发(四)--定量指标筛选

    模型开发的前三步主要讲的是数据处理的方法,从第四步开始我们将逐步讲述模型开发的方法.在进行模型开发时,并非我们收集的每个指标都会用作模型开发,而是需要从收集的所有指标中筛选出对违约状态影响最大的指标, ...

  8. 评分卡模型开发(六)--WOE值计算

    转自:https://cloud.tencent.com/developer/article/1016331 对入模的定量和定性指标,分别进行连续变量分段(对定量指标进行分段),以便于计算定量指标的W ...

  9. 评分卡模型开发(九)--上线监测

    转自:https://cloud.tencent.com/developer/article/1016299 那么我们的评分卡上线后,如何对评分卡的效果进行有效监测,监测哪些指标,监测的指标阈值达到多 ...

  10. 评分卡模型开发(八)--主标尺设计及模型验证

    转自:https://blog.csdn.net/lll1528238733/article/details/76601930 上一步中开发的信用风险评分卡模型,得到的是不同风险等级客户对应的分数,我 ...

最新文章

  1. 记录避免一些逻辑问题的过程
  2. SSO 认证机制对比
  3. Cocos2d-x使用iOS游戏内付费IAP(C++篇)
  4. ACM训练赛--递推专题
  5. 10.4-全栈Java笔记:常用流详解(二)
  6. C++---模板特化
  7. 【多线程】线程的生命周期
  8. service: no such service mysqld 与 MySQL 的开启、关闭和重启
  9. 再探.NET的PE文件结构(安全篇)
  10. linux 之 sed
  11. Centos 下配置JAVA环境
  12. java中返回怎样返回,java-如何显示方法是否可以返回nu
  13. 基于qt和mysql的地铁线路系统_课内资源 - 基于QT实现的可视化地铁换乘查询系统...
  14. bitvise terminal 中文乱码
  15. 当下的力量-埃克哈特·托利
  16. 苏宁数据中台架构实践
  17. Arthas--深入排查java进程消耗CPU或内存过高问题
  18. linux安装源文件出现错误,编译安装源码时出现错误的解决方法
  19. 【HCIP】BGP实验(联邦,路由反射器,手工汇总)
  20. 在Windows Server 2008系统环境下无损调整分区

热门文章

  1. 解决: 您目前无法访问 因为此网站使用了 HSTS。网络错误和攻击通常是暂时的,因此,此网页稍后可能会恢复正常。
  2. Ubuntu下emacs使用搜狗输入法
  3. Java反射获取Android系统属性值
  4. Binder框架在Framework层的C++中的使用
  5. UE4之蓝图函数分组
  6. linux学习笔记:更换国内网易163 yum 源
  7. python3参考手册_Python3 中文手册
  8. 大学四年怎样过,做到这六点,甩别人一条街
  9. Tcl Tutorial 笔记7 ·for incr
  10. Tcl/tk glob nocomplain source