专栏首页大数据风控评分卡模型开发-数据集准备

评分卡模型开发-数据集准备

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

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次,并选出稳定性和区分能力最优的模型即为我们最终开发的信用风险评级模型。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • R分类算法-决策树算法

    决策树(Decision Tree) 它通过对训练样本的学习,并建立分类规则,然后依据分类规则,对新样本数据进行分类预测,属于有监督学习。 优点: 决策...

    Erin
  • 评分卡模型开发-用户数据缺失值处理

    在我们搜集样本时,许多样本中一般都含有缺失值,这种情况在现实问题中非常普遍,这会导致一些不能处理缺失值的分析方法无法应用,因此,在信用风险评级模型开发的第一步我...

    Erin
  • R中时间序列分析-趋势预测ARIMA

    时间序列预测(time series forecasting) ARIMA模型(Autoregressive Integrated Moving Average...

    Erin
  • 攻防世界web进阶区ics-05

    发现了一个输入的函数 他如果是字母和数字组合的话,输出page内容,同时die掉 如果不是字母和数字的组合的话,

    wuming
  • 英伟达发布 TensorRT 3 可编程推理加速器,比起 CPU 能实现高达 40 倍吞吐率

    北京时间 9 月 26 日,在英伟达 GPU 技术峰会上,英伟达创始人兼 CEO 黄仁勋正式发布 TensorRT 3 神经网络推理加速器。据官方介绍,Tens...

    AI研习社
  • 构建私有云的五个步骤

    如今,企业在业务中越来越多地采用新技术。也许他们执行一些特定的任务,超出了日常关注的IT管理工作。也许他们是有用的某种特定的工具,但并不是任何正式工作流程或过程...

    静一
  • 传感器实现仿微信摇一摇功能

    如果你英文不错以及可以翻墙访问的话,建议您不妨直接去谷歌官网看文档:https://developer.android.com/reference/androi...

    程序IT圈
  • 入门 | 贝叶斯线性回归方法的解释和优点

    选自TowardsDataScience 作者:William Koehrsen 机器之心编译 参与:Geek AI、刘晓坤 本文对比了频率线性回归和贝叶斯线性...

    机器之心
  • mysql数据库优化的一些优化建议 原

    下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/

    尚浩宇
  • centos7下装zookeeper3.4.6(集群模式)

    下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/

    尚浩宇

扫码关注云+社区

领取腾讯云代金券