主要内容gydF4y2Ba

predictLifetimegydF4y2Ba

计算累积寿命PD、边际PD和生存概率gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

LifeTimePredictedPDgydF4y2Ba= predictLifetime (gydF4y2BapdModelgydF4y2Ba,gydF4y2Ba数据gydF4y2Ba)gydF4y2Ba计算累计生命周期违约概率(PD)、边际PD和生存概率。gydF4y2Ba

例子gydF4y2Ba

LifeTimePredictedPDgydF4y2Ba= predictLifetime (gydF4y2Ba___gydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba除前面语法中的输入参数外,还使用一个或多个名称-值对参数指定选项。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

这个例子展示了如何使用gydF4y2BafitLifetimePDModelgydF4y2Ba来拟合数据gydF4y2BaProbitgydF4y2Ba模型,然后预测终身违约概率(PD)。gydF4y2Ba

加载数据gydF4y2Ba

加载信贷组合数据。gydF4y2Ba

负载gydF4y2BaRetailCreditPanelData.matgydF4y2Badisp(头(数据))gydF4y2Ba
ID ScoreGroup YOB默认年份__ __________ __________ ____ 1低风险1 0 1997 1低风险20 1998 1低风险3 0 1999 1低风险4 0 2000 1低风险5 0 2001 1低风险6 0 2002 1低风险7 0 2003 1低风险8 0 2004gydF4y2Ba
disp(头(dataMacro))gydF4y2Ba
年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.48gydF4y2Ba

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

data = join(data,dataMacro);disp(头(数据))gydF4y2Ba
ID ScoreGroup YOB默认年份GDP市场__ __________ __________ _________ ______ 1低风险10 1997 2.72 7.61 1低风险20 1998 3.57 26.24 1低风险3 0 1999 2.86 18.1 1低风险4 0 2000 2.43 3.19 1低风险5 0 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.48gydF4y2Ba

对数据进行分区gydF4y2Ba

将数据分成训练分区和测试分区。gydF4y2Ba

nIDs = max(data.ID);uniqueIDs =唯一的(data.ID);rng (gydF4y2Ba“默认”gydF4y2Ba);gydF4y2Ba再现率%gydF4y2Bac = cvpartition(nIDs,gydF4y2Ba“坚持”gydF4y2Ba, 0.4);TrainIDInd =训练(c);testdind =测试(c);TrainIDInd = ismember(data.ID,uniqueIDs(TrainIDInd));TestDataInd = ismember(data.ID,uniqueIDs(testdind));gydF4y2Ba

创建一个gydF4y2BaProbitgydF4y2Ba终身PD模型gydF4y2Ba

使用gydF4y2BafitLifetimePDModelgydF4y2Ba要创建gydF4y2BaProbitgydF4y2Ba使用训练数据建模。gydF4y2Ba

pdModel = fitLifetimePDModel(data(TrainDataInd,:)),gydF4y2Ba“Probit”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“AgeVar”gydF4y2Ba,gydF4y2Ba“小无赖”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“IDVar”gydF4y2Ba,gydF4y2Ba“ID”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“LoanVars”gydF4y2Ba,gydF4y2Ba“ScoreGroup”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“MacroVars”gydF4y2Ba, {gydF4y2Ba“国内生产总值”gydF4y2Ba,gydF4y2Ba“市场”gydF4y2Ba},gydF4y2Ba...gydF4y2Ba“ResponseVar”gydF4y2Ba,gydF4y2Ba“默认”gydF4y2Ba);disp (pdModel)gydF4y2Ba
Probit与属性:ModelID: "Probit"描述:""模型:[1x1 classreg.regr。CompactGeneralizedLinearModel] IDVar: "ID" AgeVar: "YOB" LoanVars: "ScoreGroup" MacroVars: ["GDP" "市场"]responsear: "违约"gydF4y2Ba

显示底层模型。gydF4y2Ba

disp (pdModel.Model)gydF4y2Ba
紧凑广义线性回归模型:probit(Default) ~ 1 + ScoreGroup + YOB + GDP +市场分布=二项估计系数:估计SE tStat pValue __________ _________ _______ ___________(截距)-1.6267 0.03811 -42.685 0 ScoreGroup_Medium风险-0.26542 0.01419 -18.704 4.5503e-78 ScoreGroup_Low风险- 0.0.46794 0.016364 -28.595 7.775e-180 YOB -0.11421 0.0049724 -22.969 9.6208e-117 GDP -0.041537 0.014807 -2.8052 0.0050291市场-0.0029609 0.0010618 -2.7885 0.0052954 388097观测值,388091误差自由度离散度:1 Chi^2统计与常数模型:1.85e+03, p值= 0gydF4y2Ba

根据训练和测试数据预测终生PDgydF4y2Ba

使用gydF4y2BapredictLifetimegydF4y2Ba函数来获得训练或测试数据的生命周期pd。要获得有条件的pd,请使用gydF4y2Ba预测gydF4y2Ba函数。对于模型验证,请使用gydF4y2BamodelDiscriminationgydF4y2Ba而且gydF4y2BamodelAccuracygydF4y2Ba对训练或测试数据的函数。gydF4y2Ba

DataSetChoice =gydF4y2Ba“测试”gydF4y2Ba;gydF4y2Ba如果gydF4y2BaDataSetChoice = =gydF4y2Ba“培训”gydF4y2BaInd = TrainDataInd;gydF4y2Ba其他的gydF4y2BaInd = TestDataInd;gydF4y2Ba结束gydF4y2Ba预测寿命PDgydF4y2BaPD = predictLifetime(pdModel,data(Ind,:));头(数据(印第安纳州,:))gydF4y2Ba
ID ScoreGroup YOB默认年份GDP市场__ ___________ __________ _________ ______ 2中等风险10 1997 2.72 7.61 2中等风险20 1998 3.57 26.24 2中等风险3 0 1999 2.86 18.1 2中等风险4 0 2000 2.43 3.19 2中等风险5 0 2001 1.26 -10.51 2中等风险6 0 2002 -0.59 -22.95 2中等风险7 0 2003 0.63 2.78 2中等风险8 0 2004 1.85 9.48gydF4y2Ba

预测新数据的寿命PDgydF4y2Ba

终身PD模型用于对现有贷款进行预测。的gydF4y2BapredictLifetimegydF4y2Ba函数需要贷款和宏观预测器在贷款生命周期的剩余时间内的预测值。gydF4y2Ba

的gydF4y2BaDataPredictLifetime.matgydF4y2Ba文件包含两笔贷款和宏观变量的预测。截至2019年底,一笔贷款期限为3年,期限为10年,另一笔贷款期限为6年,期限为10年。的gydF4y2BaScoreGroupgydF4y2Ba为常数,年龄值为增量。对于宏观变量,对宏观预测因子的预测必须跨越投资组合中最长的生命周期。gydF4y2Ba

负载gydF4y2BaDataPredictLifetime.matgydF4y2Badisp (LoanData)gydF4y2Ba
ID ScoreGroup YOB Year ____ _____________ _______ 1304“中等风险”4 2020 1304“中等风险”5 2021 1304“中等风险”6 2022 1304“中等风险”7 2023 1304“中等风险”8 2024 1304“中等风险”9 2025 1304“中等风险”10 2026 2067“低风险”7 2020 2067“低风险”8 2021 2067“低风险”9 2022 2067“低风险”10 2023gydF4y2Ba
disp (MacroScenario)gydF4y2Ba
年GDP市场____ ___ ______ 2020 1.1 4.5 2021 0.9 1.5 2022 1.2 5 2023 1.4 5.5 2024 1.6 6 2025 1.8 6.5 2026 1.8 6.5 2027 1.8 6.5gydF4y2Ba
LifetimeData = join(LoanData,MacroScenario);disp (LifetimeData)gydF4y2Ba
ID ScoreGroup小无赖年国内生产总值(GDP)市场  ____ _____________ ___ ____ ___ ______ 1304“中等风险”4 2020 1.1 4.5 1304“中等风险”5 2021 0.9 1.2 1.5 1304“中等风险”6 2022 2023 1304“中等风险”7 1.6 1.4 5.5 1304“中等风险”8 2024 1304“中等风险”9 2025 1.8 6.5 1304 2026 1.8 6.5 2067“中等风险”“低风险”7 2020 1.1 4.5 2067“低风险”8 2021 1.2 0.9 1.5 2067“低风险”9 2022 2067 2023 1.4 - 5.5“低风险”gydF4y2Ba

预测生存期pd并将输出存储为一个新的表列以方便。gydF4y2Ba

LifetimeData。PredictedPD = predictLifetime(pdModel,LifetimeData); disp(LifetimeData)
ID ScoreGroup小无赖PredictedPD GDP年市场  ____ _____________ ___ ____ ___ ______ ___________ 1304“中等风险”4 2020 1.1 4.5 0.0080202 1304“中等风险”5 2021 0.9 1.5 0.014093 1304 6 2022 1.2 1304 0.018156“中等风险”“中等风险”7 2023 1.4 5.5 0.020941 1304 8 2024 1.6 0.022827 1304年“中等风险”“中等风险”9 2025 1.8 6.5 0.024086 1304 2026 1.8 6.5 0.024945 2067年“中等风险”“低风险”7 2020 1.1 4.5 0.0015728 2067“低风险”8 2021 0.9 1.5 0.0027146 2067 9 2022“低风险”1.250.003431 2067 "Low Risk" 10 2023 1.4 5.5 0.0038939

可视化公司的预测生命周期PD。gydF4y2Ba

CompanyIDChoice =gydF4y2Ba“1304”gydF4y2Ba;CompanyID = str2double(CompanyIDChoice);IndPlot = LifetimeData.ID==公司id;情节(LifetimeData.YOB (IndPlot) LifetimeData.PredictedPD (IndPlot))网格gydF4y2Ba在gydF4y2Ba包含(gydF4y2Ba“小无赖”gydF4y2Ba) xticks(LifetimeData.YOB(IndPlot))gydF4y2Ba“一生PD”gydF4y2Ba)标题(strcat (gydF4y2Ba“公司”gydF4y2Ba, CompanyIDChoice))gydF4y2Ba

图中包含一个轴对象。标题为Company 1304的axes对象包含一个类型为line的对象。gydF4y2Ba

此示例显示在使用对象时,时间间隔如何在寿命预测中发挥重要作用gydF4y2Ba物流gydF4y2Ba,gydF4y2BaProbitgydF4y2Ba,或gydF4y2Ba考克斯gydF4y2Ba违约概率模型。每个PD值是给定“时间间隔”(例如,时间间隔为1年)的默认概率,用于生命周期预测的数据行必须与时间间隔具有相同的周期性(也就是说,您不能传递表示季度的行,然后表示一年的行,然后表示5年的行。您必须传递周期1,2,3,4,…的数据。,但不是1,3,7,10,20。或者如果时间间隔为3,则必须通过周期3,6,9,…或者2,5,8,…,but not 3, 7, 15, 30.

拟合和验证模型gydF4y2Ba

负载gydF4y2BaRetailCreditPanelData.matgydF4y2Badata = join(data,dataMacro);头(数据)gydF4y2Ba
ID ScoreGroup YOB默认年份GDP市场__ __________ __________ _________ ______ 1低风险10 1997 2.72 7.61 1低风险20 1998 3.57 26.24 1低风险3 0 1999 2.86 18.1 1低风险4 0 2000 2.43 3.19 1低风险5 0 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.48gydF4y2Ba

选择模型类型。数据验证的行为gydF4y2BapredictLifetimegydF4y2Ba取决于模型类型。有关更多信息,请参见gydF4y2Ba寿命预测数据输入的验证gydF4y2Ba.gydF4y2Ba

本例中的时间间隔为gydF4y2Ba1gydF4y2Ba.此值存储在gydF4y2Ba考克斯gydF4y2Ba模型为gydF4y2BaTimeIntervalgydF4y2Ba并用于拟合和预测。gydF4y2Ba物流gydF4y2Ba而且gydF4y2BaProbitgydF4y2Ba模型不存储时间间隔信息。gydF4y2Ba

ModelType =gydF4y2Ba“考克斯”gydF4y2Ba;pdModel = fitLifetimePDModel(数据,ModelType,gydF4y2Ba...gydF4y2Ba“IDVar”gydF4y2Ba,gydF4y2Ba“ID”gydF4y2Ba,gydF4y2Ba“AgeVar”gydF4y2Ba,gydF4y2Ba“小无赖”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“LoanVars”gydF4y2Ba,gydF4y2Ba“ScoreGroup”gydF4y2Ba,gydF4y2Ba“MacroVars”gydF4y2Ba, {gydF4y2Ba“国内生产总值”gydF4y2Ba“市场”gydF4y2Ba},gydF4y2Ba...gydF4y2Ba“ResponseVar”gydF4y2Ba,gydF4y2Ba“默认”gydF4y2Ba);disp (pdModel)gydF4y2Ba
考克斯与属性:时间间隔:1 ExtrapolationFactor: 1 ModelID:“考克斯”描述:“”模型:[1x1 CoxModel] IDVar:“ID”AgeVar:“YOB”LoanVars:“ScoreGroup”MacroVars:[“GDP”“市场”]responsear:“违约”gydF4y2Ba

条件PD和模型验证gydF4y2Ba

返回的条件PD值gydF4y2Ba预测gydF4y2Ba与训练模型所用的时间间隔一致。在本例中,返回的所有PD值gydF4y2Ba预测gydF4y2Ba是1年违约概率。没有对数据输入中的周期性进行验证gydF4y2Ba预测gydF4y2Ba.gydF4y2Ba

dataPredictExample = data([1 2 6 10 15],:);pdExample = predict(pdModel,dataPredictExample)gydF4y2Ba
pdExample =gydF4y2Ba5×1gydF4y2Ba0.0089 0.0052 0.0038 0.0094 0.0031gydF4y2Ba

通过返回的条件PD完成模型验证gydF4y2Ba预测gydF4y2Ba.因此,中没有行周期性验证gydF4y2BamodelDiscriminationgydF4y2Ba或gydF4y2BamodelAccuracygydF4y2Ba.但是,模型验证需要响应变量的观测值,并且用于验证响应值的default定义必须与训练一致gydF4y2Ba数据gydF4y2Ba.换句话说,如果训练gydF4y2Ba数据gydF4y2Ba使用的时间间隔为gydF4y2Ba1gydF4y2Ba时,验证响应数据不能用季度默认数据定义。没有行周期性检查gydF4y2BamodelDiscriminationgydF4y2Ba或gydF4y2BamodelAccuracygydF4y2Ba,假设验证数据中的默认定义与训练数据一致。gydF4y2Ba

modelAccuracyPlot (pdModel、数据{gydF4y2Ba“小无赖”gydF4y2Ba,gydF4y2Ba“ScoreGroup”gydF4y2Ba})gydF4y2Ba

图中包含一个轴对象。标题为Scatter Grouped by YOB和ScoreGroup Cox的坐标轴对象,RMSE = 0.0003732包含6个类型为line的对象。这些对象代表高风险、观察到的风险、中等风险、观察到的风险、低风险、观察到的风险、高风险、考克斯、中等风险、考克斯、低风险、考克斯。gydF4y2Ba

一生PDgydF4y2Ba

的gydF4y2BapredictLifetimegydF4y2Ba函数用于计算寿命PD。预测一生:gydF4y2Ba

  • 可能会使用不同的数据集,不是用于培训和验证的数据,而是对不同贷款进行前瞻性预测的新数据集。gydF4y2Ba

  • 寿命预测数据集中的预测值跨越了未来几个时期,可能是未来几年。gydF4y2Ba

加载gydF4y2BaDataPredictLifetime.matgydF4y2Ba寿命预测数据。注意,对于预测,不需要传递响应数据,只需要传递预测器。您只传递响应值用于拟合或验证,而不是用于预测。gydF4y2Ba

负载gydF4y2BaDataPredictLifetime.matgydF4y2BaLifetimeData = join(LoanData,MacroScenario);disp (LifetimeData)gydF4y2Ba
ID ScoreGroup小无赖年国内生产总值(GDP)市场  ____ _____________ ___ ____ ___ ______ 1304“中等风险”4 2020 1.1 4.5 1304“中等风险”5 2021 0.9 1.2 1.5 1304“中等风险”6 2022 2023 1304“中等风险”7 1.6 1.4 5.5 1304“中等风险”8 2024 1304“中等风险”9 2025 1.8 6.5 1304 2026 1.8 6.5 2067“中等风险”“低风险”7 2020 1.1 4.5 2067“低风险”8 2021 1.2 0.9 1.5 2067“低风险”9 2022 2067 2023 1.4 - 5.5“低风险”gydF4y2Ba

这些行有年度数据,与用于训练的时间间隔一致。你可以看到这两个gydF4y2Ba一年gydF4y2Ba变量和gydF4y2Ba小无赖gydF4y2Ba变量。在这个数据集中没有寿命预测的标志。gydF4y2Ba

LifetimeData。PD=预测(pdModel,LifetimeData); LifetimeData.LifetimePD = predictLifetime(pdModel,LifetimeData)
LifetimeData =gydF4y2Ba11×8表gydF4y2BaID ScoreGroup小无赖PD LifetimePD GDP年市场  ____ _____________ ___ ____ ___ ______ __________ __________ 1304“中等风险”4 1304 2020 1.1 4.5 0.0081336 0.0081336“中等风险”1304 2021 0.9 1.5 0.0063861 0.014468“中等风险”6 2022 1.2 0.0047416 0.019141 1304“中等风险”7 2023 1.4 5.5 0.0028262 0.021913 1304“中等风险”8 2024 1.6 0.0014844 0.023365 1304“中等风险”9 2025 1.8 6.5 0.0014517 0.024783 1304“中等风险”2026 1.8 6.5 0.0014517 0.026198 2067 2020“低风险”1.14.50.0016091 0.0016091 2067 "Low Risk" 8 2021 0.9 1.5 0.0009006 0.0025082 2067 "Low Risk" 9 2022 1.2 5 0.00085273 0.0033588 2067 "Low Risk" 10 2023 1.4 5.5 0.00083391 0.0041899

当行的周期性与训练数据中的周期性不匹配时,无法正确计算生命周期PD值。gydF4y2Ba

属性修改所选行gydF4y2BaSelectedRowsgydF4y2Ba变量在代码中查看的行为gydF4y2BapredictLifetimegydF4y2Ba随着数据的周期性变化。(另外,gydF4y2Ba小无赖gydF4y2Ba可以手动修改,输入的年龄增量与1年的时间间隔不一致。)gydF4y2Ba

RowSelection =gydF4y2Ba“所有行”gydF4y2Ba;gydF4y2Ba开关gydF4y2BaRowSelectiongydF4y2Ba情况下gydF4y2Ba“所有行”gydF4y2BaSelectedRows = 1:11;gydF4y2Ba选择所有行1:11与上面的输出相同,没有警告gydF4y2Ba情况下gydF4y2Ba“每隔一行”gydF4y2BaSelectedRows = 1:2:11;gydF4y2Ba%常规年龄增量,但跳过一年gydF4y2Ba情况下gydF4y2Ba“不规则”gydF4y2BaSelectedRows = [1 2 7 8 11];gydF4y2Ba%年龄不规则增量gydF4y2Ba结束gydF4y2BaLifetimeData2 = LifetimeData(选择drows,{gydF4y2Ba“ID”gydF4y2Ba,gydF4y2Ba“ScoreGroup”gydF4y2Ba,gydF4y2Ba“小无赖”gydF4y2Ba,gydF4y2Ba“年”gydF4y2Ba,gydF4y2Ba“国内生产总值”gydF4y2Ba,gydF4y2Ba“市场”gydF4y2Ba});disp (LifetimeData2)gydF4y2Ba
ID ScoreGroup小无赖年国内生产总值(GDP)市场  ____ _____________ ___ ____ ___ ______ 1304“中等风险”4 2020 1.1 4.5 1304“中等风险”5 2021 0.9 1.2 1.5 1304“中等风险”6 2022 2023 1304“中等风险”7 1.6 1.4 5.5 1304“中等风险”8 2024 1304“中等风险”9 2025 1.8 6.5 1304 2026 1.8 6.5 2067“中等风险”“低风险”7 2020 1.1 4.5 2067“低风险”8 2021 1.2 0.9 1.5 2067“低风险”9 2022 2067 2023 1.4 - 5.5“低风险”gydF4y2Ba
LifetimeData2。PD=预测(pdModel,LifetimeData2); LifetimeData2.LifetimePD = predictLifetime(pdModel,LifetimeData2); disp(LifetimeData2)
ID ScoreGroup小无赖PD LifetimePD GDP年市场  ____ _____________ ___ ____ ___ ______ __________ __________ 1304“中等风险”4 1304 2020 1.1 4.5 0.0081336 0.0081336“中等风险”1304 2021 0.9 1.5 0.0063861 0.014468“中等风险”6 2022 1.2 0.0047416 0.019141 1304“中等风险”7 2023 1.4 5.5 0.0028262 0.021913 1304“中等风险”8 2024 1.6 0.0014844 0.023365 1304“中等风险”9 2025 1.8 6.5 0.0014517 0.024783 1304“中等风险”2026 1.8 6.5 0.0014517 0.026198 2067 2020“低风险”1.14.50.0016091 0.0016091 2067 "Low Risk" 8 2021 0.9 1.5 0.0009006 0.0025082 2067 "Low Risk" 9 2022 1.2 5 0.00085273 0.0033588 2067 "Low Risk" 10 2023 1.4 5.5 0.00083391 0.0041899

行为的差异取决于模型类型以及年龄变量是否是模型的一部分。您可以在拟合步骤中更改模型类型,以查看不同模型类型的行为。删除年龄变量(gydF4y2BaAgeVargydF4y2Ba)gydF4y2Ba物流gydF4y2Ba而且gydF4y2BaProbitgydF4y2Ba当年龄输入参数不是模型的一部分时,建模来观察行为。注意,年龄输入(gydF4y2BaAgeVargydF4y2Ba)参数是a的必需参数gydF4y2Ba考克斯gydF4y2Ba模型。有关更多信息,请参见gydF4y2Ba寿命预测的时间间隔和数据输入gydF4y2Ba.gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

默认模型的概率,指定为先前创建的gydF4y2Ba物流gydF4y2Ba,gydF4y2BaProbitgydF4y2Ba,或gydF4y2Ba考克斯gydF4y2Ba对象使用gydF4y2BafitLifetimePDModelgydF4y2Ba.或者,您可以使用。创建默认模型的自定义概率gydF4y2BacustomLifetimePDModelgydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba对象gydF4y2Ba

生命周期数据,指定为gydF4y2BaNumRowsgydF4y2Ba——- - - - - -gydF4y2BaNumColsgydF4y2Ba表与预测预测器值,以进行寿命预测。预测器名称和数据类型必须与底层模型一致。的gydF4y2BaIDVargydF4y2Ba的属性gydF4y2BapdModelgydF4y2Bainput用于标识表中包含ID值的列,ID用于标识与不同ID对应的行,并对每个ID进行寿命预测。gydF4y2Ba

请注意gydF4y2Ba

  • 用于寿命预测的数据中传递的行必须具有与用于拟合模型的时间间隔相同的周期性。例如,如果用于训练的时间间隔是一年,那么用于寿命预测的数据输入不能有季度数据,也不能有每五年的数据。gydF4y2Ba

  • 相同ID的连续行gydF4y2Ba必须gydF4y2Ba对应连续的时间段。例如,如果用于训练的时间间隔为一年,则不能跳过年份并传递第1、2、5和10年的数据。gydF4y2Ba

有关更多信息,请参见gydF4y2Ba寿命预测的数据输入gydF4y2Ba而且gydF4y2Ba寿命预测的时间间隔和数据输入gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba表格gydF4y2Ba

名称-值参数gydF4y2Ba

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

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来gydF4y2Ba的名字gydF4y2Ba在报价。gydF4y2Ba

例子:gydF4y2BaLifetimeData = predictLifetime(pdModel,Data,'ProbabilityType','survival')gydF4y2Ba

概率类型,指定为逗号分隔的对,由gydF4y2Ba“ProbabilityType”gydF4y2Ba和字符向量或字符串。gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

预测生命周期PD值,作为a返回gydF4y2BaNumRowsgydF4y2Ba——- - - - - -gydF4y2Ba1gydF4y2Ba数值向量。gydF4y2Ba

更多关于gydF4y2Ba

全部折叠gydF4y2Ba

一生PDgydF4y2Ba

一生PDgydF4y2Ba是金融资产生命周期内发生违约事件的概率。gydF4y2Ba

生命周期PD通常是指累积违约概率,由gydF4y2Ba

PgydF4y2Ba DgydF4y2Ba cgydF4y2Ba ugydF4y2Ba 米gydF4y2Ba ugydF4y2Ba lgydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba 我gydF4y2Ba vgydF4y2Ba egydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba PgydF4y2Ba {gydF4y2Ba TgydF4y2Ba ≤gydF4y2Ba tgydF4y2Ba }gydF4y2Ba

在哪里gydF4y2BaTgydF4y2Ba是默认的时间。gydF4y2Ba

例如,预测寿命,第二年的累积PD是借款人从现在到两年后任何时候违约的概率。gydF4y2Ba

用于计算寿命期预期信用损失(ECL)的一个密切相关的概念是gydF4y2Ba边际PDgydF4y2Ba,由gydF4y2Ba

PgydF4y2Ba DgydF4y2Ba 米gydF4y2Ba 一个gydF4y2Ba rgydF4y2Ba ggydF4y2Ba 我gydF4y2Ba ngydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba =gydF4y2Ba PgydF4y2Ba DgydF4y2Ba cgydF4y2Ba ugydF4y2Ba 米gydF4y2Ba ugydF4y2Ba lgydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba 我gydF4y2Ba vgydF4y2Ba egydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba −gydF4y2Ba PgydF4y2Ba DgydF4y2Ba cgydF4y2Ba ugydF4y2Ba 米gydF4y2Ba ugydF4y2Ba lgydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba 我gydF4y2Ba vgydF4y2Ba egydF4y2Ba (gydF4y2Ba tgydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba

一个紧密相关的概率是gydF4y2Ba生存概率gydF4y2Ba,为累积概率的补,报告为gydF4y2Ba

年代gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba PgydF4y2Ba {gydF4y2Ba TgydF4y2Ba >gydF4y2Ba tgydF4y2Ba }gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba −gydF4y2Ba PgydF4y2Ba DgydF4y2Ba cgydF4y2Ba ugydF4y2Ba 米gydF4y2Ba ugydF4y2Ba lgydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba 我gydF4y2Ba vgydF4y2Ba egydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba

条件pd与生存概率的关系如下递归公式所示:gydF4y2Ba

年代gydF4y2Ba (gydF4y2Ba tgydF4y2Ba 0gydF4y2Ba )gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba 年代gydF4y2Ba (gydF4y2Ba tgydF4y2Ba 1gydF4y2Ba )gydF4y2Ba =gydF4y2Ba 年代gydF4y2Ba (gydF4y2Ba tgydF4y2Ba 0gydF4y2Ba )gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba −gydF4y2Ba PgydF4y2Ba DgydF4y2Ba (gydF4y2Ba tgydF4y2Ba 1gydF4y2Ba )gydF4y2Ba )gydF4y2Ba ...gydF4y2Ba 年代gydF4y2Ba (gydF4y2Ba tgydF4y2Ba ngydF4y2Ba )gydF4y2Ba =gydF4y2Ba 年代gydF4y2Ba (gydF4y2Ba tgydF4y2Ba ngydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba −gydF4y2Ba PgydF4y2Ba DgydF4y2Ba (gydF4y2Ba tgydF4y2Ba ngydF4y2Ba )gydF4y2Ba )gydF4y2Ba

在哪里gydF4y2BatgydF4y2Ba我gydF4y2Ba-gydF4y2BatgydF4y2Ba我gydF4y2Ba-1 = ΔgydF4y2BatgydF4y2Ba对所有gydF4y2Ba我gydF4y2Ba= 1,…,gydF4y2BangydF4y2Ba、ΔgydF4y2BatgydF4y2Ba用于拟合模型的时间间隔。有关更多信息,请参见gydF4y2BaLogistic模型的时间间隔gydF4y2Ba而且gydF4y2BaProbit模型的时间间隔gydF4y2Ba.换句话说,因为公式右侧的PD值是一段时间内(Δ)的违约概率gydF4y2BatgydF4y2Ba,递归中连续时间之间的增量必须总是长度为ΔgydF4y2BatgydF4y2Ba在所有时期gydF4y2Ba我gydF4y2Ba= 1, 2,…gydF4y2BangydF4y2Ba.gydF4y2Ba

的gydF4y2BapredictLifetimegydF4y2Ba函数调用gydF4y2Ba预测gydF4y2Ba函数来获得条件PD,然后使用前面的公式将其转换为生存期、边际期或终生累积PD。gydF4y2Ba

寿命预测的数据输入gydF4y2Ba

一生PDgydF4y2Ba是多个时期的累计违约概率。gydF4y2Ba

的输入gydF4y2BapredictLifetimegydF4y2Ba函数每个ID应该包含多行,其中行表示有规律间隔的连续时间段。换句话说,数据应该是面板数据形式。相邻行之间的时间间隔必须与用于定义训练数据中默认二进制变量的时间间隔一致。有关更多信息,请参见gydF4y2Ba寿命预测的时间间隔和数据输入gydF4y2Ba.gydF4y2Ba

的输出。如果传递每个ID有一行的数据集gydF4y2BapredictLifetimegydF4y2Ba的输出是一样的吗gydF4y2Ba预测gydF4y2Ba因为PD仅预测了一个时期(见公式)gydF4y2Ba预测gydF4y2Ba部分)。每个ID有多行的数据集是允许的gydF4y2BapredictLifetimegydF4y2Ba对多个时期的违约概率进行聚合,得到累积PD。gydF4y2Ba

的gydF4y2BapredictLifetimegydF4y2Ba函数通常用于对未偿贷款的预测,其中预测变量值必须逐期预测未来几个时期。尽管可以将面板数据形式的历史(训练或测试)数据集传递给gydF4y2BapredictLifetimegydF4y2Ba,典型的工作流程需要准备数据。它从未偿还贷款开始,其中只有预测变量的最新值是已知的。然后,数据准备将预测变量值投射到未来的多个时间段,通常直到贷款到期进行终身分析。例如,请参见gydF4y2Ba为具有函数句柄的决策树模型创建自定义生命周期PD模型gydF4y2Ba.gydF4y2Ba

寿命预测的时间间隔和数据输入gydF4y2Ba

的gydF4y2Ba时间间隔gydF4y2Ba该模型用于拟合,对寿命预测具有重要作用。gydF4y2Ba

的数据输入gydF4y2BapredictLifetimegydF4y2Ba为面板数据形式,每个ID有多行。每一行都有一个隐式或显式的时间戳,并且连续行之间的时间增量必须与用于拟合模型的时间间隔相同。有关时间间隔的详细信息,请参见gydF4y2BaCox模型的时间间隔gydF4y2Ba,gydF4y2BaLogistic模型的时间间隔gydF4y2Ba,gydF4y2BaProbit模型的时间间隔gydF4y2Ba.gydF4y2Ba

中描述的PD递归公式的生命周期符号gydF4y2Ba一生PDgydF4y2Ba,时间戳gydF4y2BatgydF4y2Ba1gydF4y2Ba,gydF4y2BatgydF4y2Ba2gydF4y2Ba、……gydF4y2BatgydF4y2BangydF4y2Ba连续行之间必须满足gydF4y2BatgydF4y2Ba我gydF4y2Ba-gydF4y2BatgydF4y2Ba我gydF4y2Ba-1gydF4y2Ba=ΔgydF4y2BatgydF4y2Ba对所有gydF4y2Ba我gydF4y2Ba= 1,…,gydF4y2BangydF4y2Ba,其中ΔgydF4y2BatgydF4y2Ba用于拟合模型的时间间隔。换句话说:gydF4y2Ba

  • 中传递的行gydF4y2Ba数据gydF4y2Ba寿命预测的输入必须与用于拟合模型的时间间隔具有相同的周期性。例如,如果用于训练的时间间隔为1年,则gydF4y2Ba数据gydF4y2Ba生命周期预测的输入不能有季度数据或每5年的数据。gydF4y2Ba

  • 相同ID的连续行gydF4y2Ba必须gydF4y2Ba对应连续的时间段。例如,如果用于训练的时间间隔为1年,则不能跳过年份并传递第1、2、5和10年的数据。gydF4y2Ba

为了具体起见,假设时间间隔ΔgydF4y2BatgydF4y2Ba用来拟合模型的是1年。然后把PD值放在公式的右边gydF4y2Ba一生PDgydF4y2Ba是1年的pd。因此:gydF4y2Ba

  • 无法计算季度数据的生命周期PD,因为S(gydF4y2Ba1.25gydF4y2Ba)≄s (gydF4y2Ba1gydF4y2Ba)(1 - pd (gydF4y2Ba1.25gydF4y2Ba),自PD(gydF4y2Ba1.25gydF4y2Ba)是一个1年的PD,涵盖默认的时间间隔从gydF4y2Ba0.25gydF4y2Ba来gydF4y2Ba1.25gydF4y2Ba.gydF4y2Ba

  • 无法计算每5年数据的生命周期PD,因为S(gydF4y2Ba10gydF4y2Ba)≄s (gydF4y2Ba5gydF4y2Ba)(1 - pd (gydF4y2Ba10gydF4y2Ba),自PD(gydF4y2Ba10gydF4y2Ba)是一个1年的PD,涵盖默认的时间间隔从gydF4y2Ba9gydF4y2Ba来gydF4y2Ba10gydF4y2Ba.gydF4y2Ba

  • 不能计算非连续行的生存期PD。例如,如果gydF4y2Ba数据gydF4y2Ba输入有年份1、2、5和10对应的行,则S(gydF4y2Ba1gydF4y2Ba)及S(gydF4y2Ba2gydF4y2Ba)可以正确计算,但是S(gydF4y2Ba5gydF4y2Ba)≄s (gydF4y2Ba2gydF4y2Ba) (1 pd (gydF4y2Ba5gydF4y2Ba)因为PD(gydF4y2Ba5gydF4y2Ba)是一个1年的PD,涵盖默认的时间间隔从gydF4y2Ba4gydF4y2Ba来gydF4y2Ba5gydF4y2Ba, S(gydF4y2Ba10gydF4y2Ba).gydF4y2Ba

寿命预测数据输入的验证gydF4y2Ba

验证数据输入中的行周期性gydF4y2BapredictLifetimegydF4y2Ba取决于模型类型(gydF4y2BaModelTypegydF4y2Ba),以及模型是否包含年龄变数(gydF4y2BaAgeVargydF4y2Ba).gydF4y2Ba

考克斯gydF4y2Ba模型可以验证数据的周期性,因为年龄变量(gydF4y2BaAgeVargydF4y2Ba)是必需的输入参数和gydF4y2Ba考克斯gydF4y2Ba模型存储时间间隔(gydF4y2BaTimeIntervalgydF4y2Ba)用来拟合模型。的gydF4y2BaTimeIntervalgydF4y2Ba用于拟合模型和预测PD值。有关a的时间间隔的更多信息gydF4y2Ba考克斯gydF4y2Ba模型中,看到gydF4y2BaCox模型的时间间隔gydF4y2Ba.年龄变量(gydF4y2BaAgeVargydF4y2Ba)作为时间维度。对于每个ID,如果的周期性gydF4y2Ba数据gydF4y2Ba输入,由年龄变量的增量测量,与用于训练模型的时间间隔不匹配,将显示警告,并填充生命周期PD值gydF4y2Ba南gydF4y2Ba年代。gydF4y2Ba

物流gydF4y2Ba而且gydF4y2BaProbitgydF4y2Ba模型不存储时间间隔值。然而,预测的PD值仍然与训练数据中的(显式或隐式)时间间隔一致。有关更多信息,请参见gydF4y2BaLogistic模型的时间间隔gydF4y2Ba而且gydF4y2BaProbit模型的时间间隔gydF4y2Ba.此外,对于gydF4y2Ba物流gydF4y2Ba而且gydF4y2BaProbitgydF4y2Ba模型,年龄变量(gydF4y2BaAgeVargydF4y2Ba)是可选的,并且没有其他方法可以在模型中指定时间维度。因此:gydF4y2Ba

  • 如果gydF4y2Ba物流gydF4y2Ba或gydF4y2BaProbitgydF4y2Ba模型没有年龄变量信息,无法验证数据的周期性。的递归计算生命周期PDgydF4y2Ba一生PDgydF4y2Ba,假设周期性正确。调用方负责确保数据行的周期性与训练中的时间间隔一致gydF4y2Ba数据gydF4y2Ba.gydF4y2Ba

  • 如果gydF4y2Ba物流gydF4y2Ba或gydF4y2BaProbitgydF4y2Ba模型有一个年龄变量(gydF4y2BaAgeVargydF4y2Ba),用作时间维度。但是,由于用于训练数据的时间间隔是未知的gydF4y2Ba物流gydF4y2Ba而且gydF4y2BaProbitgydF4y2Ba模型,这些模型只能验证年龄增量如下规则,但不能与参考时间间隔进行比较。gydF4y2Ba

    • 对于每个ID,当年龄显示不规则的年龄增量时,将发出警告,并将终身PD值设置为gydF4y2Ba南gydF4y2Ba年代。gydF4y2Ba

    • 当每个ID的年龄增量是正常的,但有些ID的年龄增量与其他ID的年龄增量不同时,会显示警告,但不知道哪个ID的年龄增量错误。使用中的递归计算生命周期PD值gydF4y2Ba一生PDgydF4y2Ba所有id。调用方负责确保所有id的数据行周期与训练中的时间间隔一致gydF4y2Ba数据gydF4y2Ba.gydF4y2Ba

有关示例,请参见gydF4y2Ba寿命预测和时间间隔gydF4y2Ba.gydF4y2Ba

参考文献gydF4y2Ba

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

贝利尼,蒂齐亚诺。gydF4y2BaIFRS 9和CECL信用风险建模和验证:R和SAS中实例的实用指南。gydF4y2Ba加州圣地亚哥:爱思唯尔,2019年。gydF4y2Ba

布里登,约瑟夫。gydF4y2Ba与CECL一起生活:建模词典。gydF4y2Ba圣达菲,NM: Prescient Models LLC, 2018。gydF4y2Ba

Roesch, Daniel和Harald Scheule。gydF4y2Ba深度信用风险:使用Python的机器学习。gydF4y2Ba独立出版,2020年。gydF4y2Ba

版本历史gydF4y2Ba

R2020b中介绍gydF4y2Ba

全部展开gydF4y2Ba