主要内容gydF4y2Ba

predictLifetimegydF4y2Ba

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

自从R2020bgydF4y2Ba

描述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低风险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 = unique(data.ID);rng (gydF4y2Ba“默认”gydF4y2Ba);gydF4y2Ba再现性%gydF4y2Bac = cvpartition(nIDs,gydF4y2Ba“坚持”gydF4y2Ba, 0.4);TrainIDInd = training(c);testdd = test(c);TrainDataInd = 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”描述:“”UnderlyingModel: [1x1 classregg .regr.]CompactGeneralizedLinearModel] IDVar: "ID" AgeVar: "YOB" LoanVars: "ScoreGroup" MacroVars: ["GDP" "Market"] ResponseVar: "Default"gydF4y2Ba

显示底层模型。gydF4y2Ba

disp (pdModel.Model)gydF4y2Ba
紧凑广义线性回归模型:probit(Default) ~ 1 + ScoreGroup + YOB + GDP +市场分布=二项估计系数:估计SE tStat pValue __________ _________ _______ ___________ (Intercept) -1.6267 0.03811 -42.685 0 ScoreGroup_Medium Risk -0.26542 0.01419 -18.704 4.5503e-78 ScoreGroup_Low Risk -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 Market -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和gydF4y2BamodelCalibrationgydF4y2Ba对训练或测试数据的功能。gydF4y2Ba

DataSetChoice =gydF4y2Ba“测试”gydF4y2Ba;gydF4y2Ba如果gydF4y2BaDataSetChoice = =gydF4y2Ba“培训”gydF4y2BaInd = TrainDataInd;gydF4y2Ba其他的gydF4y2BaInd = TestDataInd;gydF4y2Ba结束gydF4y2Ba预测寿命PD %gydF4y2BaPD = 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 yb年份____ _____________ _______ 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==CompanyID;情节(LifetimeData.YOB (IndPlot) LifetimeData.PredictedPD (IndPlot))网格gydF4y2Ba在gydF4y2Ba包含(gydF4y2Ba“小无赖”gydF4y2Ba) xticks(LifetimeData.YOB(IndPlot)) ylabel(gydF4y2Ba“一生PD”gydF4y2Ba)标题(strcat (gydF4y2Ba“公司”gydF4y2Ba, CompanyIDChoice))gydF4y2Ba

图包含一个轴对象。标题为Company 1304, xlabel YOB, ylabel Lifetime PD的轴对象包含一个类型为line的对象。gydF4y2Ba

此示例显示了在使用时,时间间隔如何在生命周期预测中发挥重要作用gydF4y2Ba物流gydF4y2Ba,gydF4y2BaProbitgydF4y2Ba,或gydF4y2Ba考克斯gydF4y2Ba违约概率模型(PD)每个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低风险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(data,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
Cox with properties: TimeInterval: 1 ExtrapolationFactor: 1 ModelID: "Cox" Description: "" UnderlyingModel: [1x1 Cox model] IDVar: "ID" AgeVar: "YOB" LoanVars: "ScoreGroup" MacroVars: ["GDP" "Market"] ResponseVar: "Default"gydF4y2Ba

条件PD和模型验证gydF4y2Ba

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

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

返回的条件PD完成模型验证gydF4y2Ba预测gydF4y2Ba。中不存在行周期性验证gydF4y2BamodelDiscriminationgydF4y2Ba或gydF4y2BamodelCalibrationgydF4y2Ba。然而,模型验证需要响应变量的观察值,并且用于验证响应值的默认定义必须与训练一致gydF4y2Ba数据gydF4y2Ba。换句话说,如果训练gydF4y2Ba数据gydF4y2Ba的时间间隔gydF4y2Ba1gydF4y2Ba,验证响应数据不能用季度默认数据定义。没有行周期性检查gydF4y2BamodelDiscriminationgydF4y2Ba或gydF4y2BamodelCalibrationgydF4y2Ba,则假设验证数据中的默认定义与训练数据一致。gydF4y2Ba

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

图包含一个轴对象。标题为Scatter Grouped by YOB and ScoreGroup Cox, RMSE = 0.0003732, xlabel YOB, ylabel PD的轴对象包含6个类型为line的对象。其中一条或多条线仅通过标记显示其值。这些对象分别代表高风险、观察到、中等风险、观察到、低风险、观察到、高风险、Cox、中等风险、Cox、低风险、Cox。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(SelectedRows,{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年,则不能跳过年而传递第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值,作为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和gydF4y2Ba概率模型的时间间隔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,gydF4y2Ba概率模型的时间间隔gydF4y2Ba。gydF4y2Ba

的生命周期PD递归公式的符号gydF4y2Ba一生PDgydF4y2Ba,时间戳gydF4y2BatgydF4y2Ba1gydF4y2Ba,gydF4y2BatgydF4y2Ba2gydF4y2Ba、……gydF4y2BatgydF4y2BangydF4y2Ba连续行之间必须满足gydF4y2BatgydF4y2Ba我gydF4y2Ba-gydF4y2BatgydF4y2Ba我gydF4y2Ba1gydF4y2Ba=Δ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是一年制博士。因此: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值。的时间间隔的更多信息gydF4y2Ba考克斯gydF4y2Ba模型中,看到gydF4y2BaCox模型的时间间隔gydF4y2Ba。年龄变量(gydF4y2BaAgeVargydF4y2Ba)作为时间维度。对于每个ID,如果gydF4y2Ba数据gydF4y2Ba输入,通过年龄变量的增量来测量,与用于训练模型的时间间隔不匹配,则显示警告并填充寿命PD值gydF4y2Ba南gydF4y2Ba年代。gydF4y2Ba

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

  • 如果gydF4y2Ba物流gydF4y2Ba或gydF4y2BaProbitgydF4y2Ba模型没有年龄变量信息,没有办法验证数据的周期性。生命周期PD是使用递归计算的gydF4y2Ba一生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 schule。gydF4y2Ba信用风险分析:测量技术、应用和SAS中的例子。gydF4y2Ba威利,2016年。gydF4y2Ba

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

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

[4] Roesch, Daniel和Harald schule。gydF4y2Ba深度信用风险:Python机器学习。gydF4y2Ba独立出版,2020年。gydF4y2Ba

版本历史gydF4y2Ba

在R2020b中引入gydF4y2Ba

全部展开gydF4y2Ba