主要内容

customLifetimePDModel

创建customLifetimePDModel对象生命周期的违约概率

自从R2022b

描述

创建和分析customLifetimePDModel一生对象计算违约概率(PD)使用此工作流:

  1. 适合一个PD模型,可以预测PD的贷款或组合贷款。

  2. 定义一个函数处理为一个函数,预测你指定的PD PD模型。

  3. 使用customLifetimePDModel并通过处理创建一个指定的函数customLifetimePDModel对象。指定模型是现在包装一生PD模型。

  4. 使用预测条件PD和预测predictLifetime预测终生PD。

  5. 使用modelDiscrimination返回AUROC和ROC数据。你可以画出结果modelDiscriminationPlot

  6. 使用modelCalibration返回的RMSE观察和预测PD数据。你可以画出结果modelCalibrationPlot

创建

描述

例子

CustomLifetimePDModel= customLifetimePDModel (pdFcnHandle,IDVar= idvar_value,ResponseVar= responsevar_value)创建一个customLifetimePDModel对象为PD模型使用要求名称参数和模型对象集属性

例子

CustomLifetimePDModel= customLifetimePDModel (___,名称=值)指定选项使用一个或多个名称参数除了输入参数在前面的语法。可选名称参数设置模型对象属性。例如,CustomLifetimePDModel = CustomLifetimePDModel (pdFcnHandle IDVar =“ID”, AgeVar =小无赖,描述=记分卡作为终身PD模型,LoanVars = ScoreGroup, MacroVars = {' GDP“市场”},ModelID = ' ScorecardLifetime’, ResponseVar =“违约”)创建一个CustomLifetimePDModel对象。

输入参数

全部展开

函数处理自定义模型违约概率预测函数,指定为一个函数处理。

数据表中的函数包括变量中指定AgeVar,LoanVars,MacroVars,并返回一个预测条件PD值表的每一行。

请注意

因为pdFcnHandle函数将数据输入完整地传递到预测和验证方法,它允许额外的数据表中的列其他变量,如IDVar,ResponseVar,和分组变量。

数据类型:function_handle

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

例子:CustompdModel = customLifetimePDModel (pdFcnHandle IDVar =“ID”, AgeVar =小无赖,描述=记分卡作为终身PD模型,LoanVars = ScoreGroup, MacroVars = {' GDP“市场”},ModelID = ' ScorecardLifetime’, ResponseVar =“违约”)

要求customLifetimePDModel名称-值参数

全部展开

ID变量显示在接受作为输入的数据列pdFcnHandle包含贷款或借款人ID指定为IDVar和一个字符串或字符向量。

请注意

IDVar需要一生PD预测使用吗predictLifetime

数据类型:字符串|字符

变量显示在接受作为输入的数据列pdFcnHandle包含响应变量指定为ResponseVar和一个字符串或字符向量。

请注意

ResponseVar模型验证时需要使用modelDiscrimination,modelDiscriminationPlot,modelCalibration,modelCalibrationPlot

数据类型:字符串|字符

可选customLifetimePDModel名称-值参数

全部展开

用户自定义模型ID指定为ModelID和一个字符串或字符向量。软件使用ModelID格式输出,预计将短。

数据类型:字符串|字符

用户定义的描述模型,指定为描述和一个字符串或字符向量。

数据类型:字符串|字符

年龄变量显示在接受作为输入的数据列pdFcnHandle包含贷款年龄信息,指定为AgeVar和一个字符串或字符向量。

请注意

AgeVar,LoanVars,MacroVars一起工作的数据输入模型的预测变量。您必须指定至少一个输入。的预测功能验证数据输入包含所有的预测变量。

如果之间的区别AgeVar,LoanVars,MacroVars不重要的自定义模型的PD预测,使用LoanVars存储在模型中所有的预测变量。

一个变量是常见的终身PD模型时代。当你指定AgeVarpredictLifetime函数使用它来验证周期的行数据。

数据类型:字符串|字符

贷款变量显示在接受作为输入的数据列pdFcnHandle包含loan-specific信息,如发放成绩或贷款价值比率,指定为LoanVars和一个字符串数组或单元阵列的特征向量。

请注意

AgeVar,LoanVars,MacroVars一起工作的数据输入模型的预测变量。您必须指定至少一个输入。的预测功能验证数据输入包含所有的预测变量。

如果之间的区别AgeVar,LoanVars,MacroVars不重要的自定义模型的PD预测,使用LoanVars存储在模型中所有的预测变量。

数据类型:字符串|细胞

宏变量显示在接受作为输入的数据列pdFcnHandle包含宏观经济信息,比如国内生产总值(GDP)增长或失业率,指定为MacroVars和一个字符串数组或单元阵列的特征向量。

请注意

AgeVar,LoanVars,MacroVars一起工作的数据输入模型的预测变量。您必须指定至少一个输入。的预测功能验证数据输入包含所有的预测变量。

如果之间的区别AgeVar,LoanVars,MacroVars不重要的自定义模型的PD预测,使用LoanVars存储在模型中所有的预测变量。

数据类型:字符串|细胞

属性

全部展开

用户自定义模型ID作为字符串返回。

数据类型:字符串

用户定义的描述,作为字符串返回。

数据类型:字符串

自定义模型使用函数定义的处理(pdFcnHandle),作为PD预报函数句柄返回(pdFcnHandle)。

数据类型:function_handle

ID变量指示列定义的数据输入pdFcnHandle包含贷款或借款人ID、作为字符串返回。

数据类型:字符串

年龄变量指示列定义的数据输入pdFcnHandle包含贷款年龄信息,作为字符串返回。

数据类型:字符串

贷款变量指示列定义的数据输入pdFcnHandle包含loan-specific信息,作为字符串数组返回。

数据类型:字符串

宏变量指示列定义的数据输入pdFcnHandle包含宏观经济信息,作为字符串数组返回。

数据类型:字符串

变量指示列定义的数据输入pdFcnHandle包含响应变量,作为字符串返回。

数据类型:字符串

对象的功能

预测 计算条件PD
predictLifetime 计算累积一生PD、边际PD和生存概率
modelDiscrimination 计算AUROC和ROC数据
modelCalibration 观察到的预测和计算RMSE PDs分组数据
modelDiscriminationPlot 绘制ROC曲线
modelCalibrationPlot 情节观察违约率相比,预测PDs分组数据

例子

全部折叠

这个例子展示了如何使用customLifetimePDModel对象与一个函数处理包装作为信用计分卡模型customLifetimePDModel模型。

加载数据

加载信贷投资组合数据。面板数据格式的数据集,每个贷款多行。

负载RetailCreditPanelData.matdisp(头(数据))
ID ScoreGroup小无赖默认年__ __________ ___ ____ ____ 1低风险1 0 1998 1997 1低风险2 0 1低风险1999 1低风险4 0 0 2001 2000 1低风险5 0 1低风险6 0 2002 1低风险7 0 2003 1低风险8 0 2004
disp(头(dataMacro))
1998年国内生产总值__专攻市场1997 2.72 - 7.61 3.57 - 26.24 1999 2.86 2001 18.1 2000 2.43 3.19 1.26 -10.51 2002 -0.59 2004 -22.95 2003 0.63 - 2.78 1.85 - 9.48

加入到一个数据集的两个数据组件。

data =加入(数据、dataMacro);disp(头(数据))
ID ScoreGroup小无赖违约GDP年市场__ __________ ___ ____ ____专攻1低风险1 0 1997 2.72 7.61 - 1低风险2 0 1998 1999 2.86 18.1 3.57 26.24 - 1低风险3 0 1低风险4 0 2000 2.43 3.19 1低风险5 0 2002 2001 1.26 -10.51 - 1低风险6 0 -0.59 -22.95 1低风险7 0 2003 0.63 2.78 1低风险8 0 2004 1.85 - 9.48

符合信用计分卡模型

使用creditscorecard创建一个creditscorecard对象,使用autobinning执行指定的预测因子的自动装箱,然后使用fitmodel符合逻辑回归模型的重量(悲哀)数据证据。在本例中,整个数据集被用来训练模型。

sc = creditscorecard(数据,“IDVar”,“ID”,“PredictorVars”,{“ScoreGroup”“小无赖”“国内生产总值”“市场”},“ResponseVar”,“默认”);sc = autobinning (sc);sc = autobinning (sc,“小无赖”,“算法”,“分裂”);sc = fitmodel (sc,“显示”,“关闭”);displaypoints (sc)
ans =16×3表预测本售予_________点* * * {‘ScoreGroup}{“高风险”}0.61102 {‘ScoreGroup}{中等风险的}1.3043 {‘ScoreGroup}{“低风险”}1.9113 {‘ScoreGroup}{' <失踪>}南{“小无赖”}{[无穷,2)的0.56226}{“小无赖”}{[2、5)的1.0024}{“小无赖”}{[5、7)的1.4549}{“小无赖”}{'[7,正]}2.509{“小无赖”}{' <失踪>}南{“GDP”}{[无穷,0.63)的1.042}{“GDP”}{'[0.63,正]}1.1657 {“GDP”}{' <失踪>}南{‘市场’}{[无穷,2.78)的1.0731}{‘市场’}{[2.78,9.48)的1.1219}{‘市场’}{'[9.48,正]}1.2294{‘市场’}{' <失踪>}NaN

创建customLifetimePDModel对象使用函数处理

使用customLifetimePDModel与一个函数处理的probdefault函数。

pdFcnHandle = @(数据)probdefault (sc、数据);pdModel = customLifetimePDModel (pdFcnHandle IDVar =“ID”AgeVar =“小无赖”,描述=“计分卡作为终身PD模型”LoanVars =“ScoreGroup”,MacroVars = {“国内生产总值”“市场”},ModelID =“ScorecardLifetime”ResponseVar =“默认”);disp (pdModel)
CustomLifetimePD属性:ModelID:“ScorecardLifetime”描述:“计分卡作为终身PD模型”UnderlyingModel: @(数据)probdefault (sc、数据)IDVar:“ID”AgeVar:“小无赖”LoanVars:“ScoreGroup”MacroVars: [“GDP”“市场”]ResponseVar:“默认”
pdModel.UnderlyingModel
ans =function_handle与价值:@(数据)probdefault (sc、数据)

预测一生PD

使用predictLifetime函数来预测寿命累积PD第一ID值的前八行数据。数据的输入predictLifetime必须在面板数据形式,每贷款与多个行,函数计算每个时期的累积违约概率。有关更多信息,请参见时间间隔和寿命预测数据输入

predictLifetime (pdModel数据(1:8,:))
ans =8×10.0085 0.0134 0.0182 0.0236 0.0272 0.0312 0.0324 0.0335

验证模型

通过包装记分卡模型作为一个终身PD模型,验证所有功能的终身PD模型是可用的。例如,使用modelCalibrationPlot可视化观察到的违约率相比,预测违约概率。

modelCalibrationPlot (pdModel、数据“小无赖”)

图包含一个坐标轴对象。坐标轴对象与分组的标题分散小无赖ScorecardLifetime, RMSE = 0.0011356,包含小无赖,ylabel PD包含2线类型的对象。一个或多个行显示的值只使用这些对象标记代表观察到,ScorecardLifetime。

引用

[1]Baesens,巴特,丹尼尔•罗斯切和Harald Scheule。信贷风险分析:测量技术、应用程序和SAS的例子。威利,2016年。

[2]贝里尼,Tiziano。IFRS 9和CECL信用风险建模和验证:一个实用指南的例子在R和SAS。圣地亚哥CA:爱思唯尔出版社,2019年。

[3]布里登,约瑟夫。生活在CECL:建模字典。圣达菲,海里:先见之明模型有限责任公司,2018年。

[4]罗斯切,丹尼尔和哈拉尔德Scheule。与Python深信用风险:机器学习。独立出版,2020年。

版本历史

介绍了R2022b

全部展开