主要内容

modelDiscrimination

计算AUROC和ROC数据

描述

例子

弄脏= modelDiscrimination (pdModel数据计算接收机工作特性曲线(AUROC)下的面积。modelDiscrimination万博1manbetx支持对参考模型的分割和比较。

例子

弄脏discdata.) = modelDiscrimination (___名称,价值除了以前语法中的输入参数之外,使用一个或多个名称值对参数指定选项。

例子

全部收缩

此示例显示了如何使用fitLifetimePDModel将数据与物流模型,生成接收机工作特征曲线(AUROC)下的面积和ROC曲线。

加载数据

加载信贷组合数据。

加载RetailCreditPanelData.matDISP(头(数据))
ID分数yob默认年份_____________________ _______ ____ 1低风险1 0 1997 1低风险2 1998 1低风险3 0 1999 1低风险5 0 2001 1低风险6 0 2002 1低风险72003年1 1个低风险2004年8月0日
disp(头(dataMacro))
年GDP市场____ _____ _________________ 1997 2.72 7.61 1998 3.57 26.24 1999 2.86 18.1 2000 2.43 3.19 2001 1.26 -10.51 2002 -0.59 -22.95 2003 0.63 2.78 2004 1.85 9.48

将两个数据组件连接到单个数据集中。

数据=加入(数据,DataMacro);DISP(头(数据))
ID分数yob默认年份GDP市场____________________________ ______ 1低风险1 0 1997 2.72 7.61 1低风险2 1999 3.57 26.1 1低风险4 0 2000 2.43 3.19 1低风险50 2001 1.26 -10.51 1低风险6 0 2002-0.59 -22.95 1低风险7 0 2003 0.63 2.78 1低风险8 0 2004 1.85 9.48

分区数据

将数据分成培训和测试分区。

nIDs = max (data.ID);uniqueIDs =独特(data.ID);rng ('默认');%的再现性c = cvpartition(nids,“坚持”, 0.4);TrainIDInd =培训(c);TestIDInd =测试(c);TrainDataInd = ismember (data.ID uniqueIDs (TrainIDInd));TestDataInd = ismember (data.ID uniqueIDs (TestIDInd));

创建一个物流终身PD模型

fitLifetimePDModel创建一个物流模型。

pdModel = fitLifetimePDModel(数据(TrainDataInd,:),“物流”...“AgeVar”“小无赖”...'idvar''ID'...'劳务''档次'...'macrovars',{“国内生产总值”'市场'},...“ResponseVar”'默认');DISP(PDMODEL)
物流具有属性:ModelID:“Logistic”描述:“”型号:[1x1 classReg.regr.compactgeneralizedLamearmodel] Idvar:“id”agevar:“yob”odersvars:“tasegroup”Macrovars:[“GDP”“Market”] ResponseVAR:“默认”

显示底层模型。

disp (pdModel.Model)
紧致广义线性回归模型:logit(Default) ~ 1 + ScoreGroup + YOB + GDP + Market Distribution =二项估计系数:估计SE tStat pValue __________ _________ _______ ___________(截距)-2.7422 0.10136 -27.054 3.408e-161 ScoreGroup_Medium Risk -0.68968 0.037286 -18.497 2.1894e-76 ScoreGroup_Low Risk -1.2587 0.045451 -27.693 8.4736e-169 YOB -0.30894 0.013587 -22.738 1.8738e-114 GDP -0.11111 0.039673 -2.8006 0.0051008市场-0.0083659 0.0028358 -2.9502离散度:1 Chi^2统计量与常数模型:1.85e+03, p值= 0
disp(pdmodel.model.cofficients)
估计SE tStat pValue __________ _________ _______ ___________(截距)-2.7422 0.10136 -27.054 3.408e-161 ScoreGroup_Medium Risk -0.68968 0.037286 -18.497 2.1894e-76 ScoreGroup_Low Risk -1.2587 0.045451 -27.693 8.4736e-169 YOB -0.30894 0.013587 -22.738 1.8738e-114 GDP -0.11111 0.039673 -2.8006 0.0051008市场-0.0083659 0.0028358 -2.95020.0031761

模型歧视生成AUROC和ROC

型号“歧视”措施如何通过风险划分客户的有效性。您可以使用AUROC和ROC输出来确定具有更高版本的PD的客户在观察到的数据中是否具有更高的风险。

DataSetChoice =“训练”如果DataSetChoice = =“训练”印第安纳州= TrainDataInd;别的Ind = testdataind;结尾DiscMeasure = modelDiscrimination (pdModel、数据(TrainDataInd:)'dataid', DataSetChoice);DISP(DECMEASURE)
AUROC _______ Logistic, Training 0.69377

可视化ROC的物流模型使用modelDiscriminationPlot

modeldiscriminationplot(pdmodel,数据(traindataind,:));

图中包含一个轴。标题为ROC Logistic, AUROC = 0.69377的轴包含一个类型为line的对象。该对象表示Logistic。

可以分割数据以获得每个段和相应的ROC数据。

segmentvar =“yob”;discmeasure = modeldiscrimination(pdmodel,data(Ind,:),'segmentby',segedvar,'dataid', DataSetChoice);DISP(DECMEASURE)
Auroc _______逻辑,yob = 1,培训0.63989逻辑,yob = 2,培训0.64709逻辑,yob = 3,训练0.6534逻辑,yob = 4,培训0.6494物流,yob = 5,培训0.63479物流,yob = 6,培训0.66174逻辑,yob = 7,培训0.64328物流,yob = 8,培训0.63424

可视化ROC分段yob.分数组,或是的r使用modelDiscriminationPlot

modeldiscriminationplot(pdmodel,data(Ind,:),'segmentby',segedvar,'dataid', DataSetChoice);

图中包含一个轴。由Yob分段的标题ROC训练的轴包含8个类型的类型。这些物体代表逻辑,1,AUROC = 0.63989,逻辑,2,AUTOC = 0.64709,物流,3,AUTOC = 0.6534,物流,4,AUROC = 0.6494,物流,5,AUROC = 0.63479,LOGISTIM,6,AUROC = 0.66174,物流,7,Auroc = 0.64328,逻辑,8,AuroC = 0.63424。

输入参数

全部收缩

默认模型的概率,指定为a物流或者概率先前使用fitLifetimePDModel

请注意

“ModelID”财产的财产pdModel对象用作标识符或标签pdModel

数据类型:对象

数据,指定为anumrows.-经过-NumCols表与预计预测值值,以制定终身预测。预测器名称和数据类型必须与底层模型一致。

数据类型:桌子

名称值对参数

指定可选的逗号分离对名称,价值论点。的名字是参数名称和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:[perfmeasure,perfdata] = ocdeldiscrimination(pdmodel,data(ind,:),'dataid',dataSetchoice)

数据集标识符,指定为逗号分隔的对,由'dataid'和一个字符矢量或字符串。

数据类型:char|细绳

数据输入中的列的名称,不一定是用于将数据集进行分割的模型变量,指定为包含的逗号分隔对'segmentby'和一个字符矢量或字符串。

为每个段报告一个AUROC值,并返回每个段的相应ROC数据perfdata.可选输出。

数据类型:char|细绳

预测的条件PD值数据通过参考模型,指定为分开的配对组成“ReferencePD”A.numrows.-经过-1数值向量。的modelDiscrimination报告了输出信息pdModel对象和引用模型。

数据类型:双倍的

引用模型的标识符,指定为逗号分隔的对,由'参考'和一个字符矢量或字符串。'参考'用于modelDiscrimination用于报告目的的输出。

数据类型:char|细绳

输出参数

全部收缩

AUROC信息为每个模型和每个部分。,返回为一张桌子。弄脏有一个名为的单一列“AUROC”行数取决于段的数量以及您是否使用a参考文献用于参考模型和ReferencePD用于参考数据。行名称弄脏报告模型ID、段和数据ID。

每个模型和每个段的ROC数据,作为表返回。ROC数据有三列,具有列名称'X''是', 和“T”,其中前两个为ROC曲线的X、Y坐标,T为对应的阈值。

如果你使用SegmentBy,该功能堆叠所有段的ROC数据discdata.具有分割值的列,以指示每个段开始和结束的位置。

如果使用参考模型数据参考文献ReferencePD,discdata.堆叠主要和参考模型的输出,具有额外的列“ModelID”指示每个模型开始和结束的位置。

更多关于

全部收缩

模型的歧视

模型的歧视衡量风险排名。

高风险贷款应得到比低风险贷款更高的预测默认概率(PD)。的modelDiscrimination函数计算接收算子特征曲线下的面积(AUROC),有时简称为曲线下面积(AUC)。这个度量值介于0和1之间,值越高表示辨别能力越好。

有关Receiver Operator Characteristic (ROC)曲线的更多信息,请参见模型的歧视性能曲线

参考

Baesens, Bart, Daniel Roesch和Harald Scheule。信用风险分析:SAS中的测量技术,应用和示例。威利,2016年。

[2]贝里尼,Tiziano。IFRS 9和CECL信用风险建模和验证:一个实用指南,实例在R和SA中工作。圣地亚哥,加利福尼亚州:2019年elestvier。

[3]育种,约瑟夫。生活与CECL:建模字典。Santa Fe,NM:Prescient Models LLC,2018。

在R2020B中介绍