这个示例展示了如何将给定缺省损失(LGD)的Tobit模型与基准模型进行比较。
加载LGD数据。
负载LGDData.matdisp(头(数据))
LTV年龄型LGD _______ _______ ___________ _________ 0.89101 0.39716 residential 0.032659 0.70176 2.0939 residential 0.43564 0.72078 2.7948 residential 0.0064766 0.37013 1.237 residential 0.007947 0.36492 2.5818 residential 0.0.796 1.5957 residential 0.14572 0.60203 1.1599 residential 0.025688 0.92005 0.50253 investment 0.063182
将数据分解为训练集和测试集。
NumObs =身高(数据);rng (“默认”);%的再现性c = cvpartition (NumObs“坚持”, 0.4);TrainingInd =培训(c);TestInd =测试(c);
适合托比特书
带有训练数据的LGD模型。默认情况下,数据的最后一列用作响应变量,所有其他列用作预测变量。
lgdModel = fitLGDModel(数据(TrainingInd,:),“托比特书”);disp (lgdModel)
Tobit with properties: CensoringSide: "both" LeftLimit: 0 RightLimit: 1 ModelID: "Tobit" Description: "" UnderlyingModel: [1x1 risk.internal.credit.TobitModel] PredictorVars: ["LTV" "Age" "Type"] ResponseVar: "LGD"
disp (lgdModel.UnderlyingModel)
Tobit回归模型:LGD = max(0,min(Y*,1)) Y* ~ 1 + LTV +年龄+类型Estimate SE tStat pValue _________ _________ _______ __________ (Intercept) 0.058257 0.027276 2.1358 0.032809 LTV 0.20126 0.031373 6.415 1.7363e-10 Age -0.095407 0.0072543 -13.152 0 Type_investment 0.10208 0.018054 5.6542 1.7802e-08 (Sigma) 0.29288 0.005704 51.346 0观测数:2093左截掉观测数:547未删失观测数:1521右删失观测数:25对数似然数:-698.383
现在,您可以使用该模型进行预测或验证。例如,使用预测
对测试数据进行LGD预测,并用直方图显示预测结果。
lgdPredTobit =预测(lgdModel、数据(TestInd:));直方图(lgdPredTobit)标题(“预测LGD, Tobit模型”)包含(“预测乐金显示器”) ylabel (“频率”)
在本例中,基准模型是一个查找表模型,它将数据分成组,并将组的平均LGD分配给所有组成员。在实践中,这种常用的基准测试方法很容易理解和使用。
本例中的组是使用三个预测器定义的。LTV
被离散成低电平和高电平。年龄
分为年轻贷款和老贷款。类型
既有两个层面,即住宅和投资。这些组是这些值的所有组合(例如,低LTV、年轻贷款、住宅等)。级别的数量和具体的截止点只是为了说明的目的。基准模型使用相同的预测器托比特书
模型,但您可以使用其他变量来定义组。实际上,只要预测的LGD值对该数据集中的相同客户可用,基准模型就可以是一个黑箱模型。
%将离散变量作为新列添加到表中。%离散化LTV。LTVEdges = [0 0.5 max(data.LTV)];数据。LTVDiscretized = discretize(data.LTV,LTVEdges,“分类”,{“低”,“高”});分开年龄。age = [0 2 max(data.Age)];数据。年龄Discretized = discretize(data.Age,AgeEdges,“分类”,{“年轻”,“老”});% Type已经是一个具有两个级别的分类变量。
在训练数据上寻找组的方法是模型的有效拟合。注意,某些组的组数很小。增加许多群体会减少某些群体的数量,并使估计更加不稳定。
在培训数据上找到小组的方法。gs = groupsummary(数据(TrainingInd,:), {“LTVDiscretized”,“AgeDiscretized”,“类型”},“的意思是”,“乐金显示器”);disp (gs)
ltvdisdisalized age disdisalized Type GroupCount mean_LGD ______________ ______________ ___________ __________ ________ low young residential 163 0.12166 low young investment 26 0.087331 low old residential 175 0.021776 low old investment 23 0.16379 high young residential 1134 0.16489 high young investment 257 0.25977 high old residential 265 0.066068high old investment 50 0.11779
为了预测一个新观测的LGD,您需要找到它的组,然后将组的平均值指定为预测的LGD。使用findgroups
函数,以离散变量作为输入。对于一个全新的数据点LTV
和年龄
信息首先需要离散化离散化
函数,然后使用findgroups
函数。
LGDGroup = findgroups(数据(TestInd, {“LTVDiscretized”“AgeDiscretized”“类型”}));lgdPredMeansTest = gs.mean_LGD (LGDGroup);
如预期的那样,在预测中有8个独特的值,每组一个。
disp(独特(lgdPredMeansTest))
0.0218 0.0661 0.0873 0.1178 0.1217 0.1638 0.1649 0.2598
预测的直方图也显示了模型的离散性质。
直方图(lgdPredMeansTest)标题(“预测LGD, Tobit模型”)包含(“预测乐金显示器”) ylabel (“频率”)
要使训练集和测试集的所有预测都可用来进行比较,可以为整个数据集添加一个带有LGD预测的列。
LGDGroup = findgroups(数据(:,{“LTVDiscretized”“AgeDiscretized”“类型”}));数据。lgdPredMeans = gs.mean_LGD (LGDGroup);
的验证函数比较Tobit模型和基准模型的性能托比特书
模型。
从接受者工作特征(ROC)曲线下的面积开始,或AUROC度量,使用modelDiscrimination
.
DataSetChoice =“测试”;如果DataSetChoice = =“培训”印第安纳州= TrainingInd;其他的印第安纳州= TestInd;结束DiscMeasure = modelDiscrimination (lgdModel、数据(印第安纳州,:)“ReferenceLGD”data.lgdPredMeans(印第安纳州),“ReferenceID”,“组意味着”)
DiscMeasure =2×1表AUROC _______ Tobit 0.67986组均值0.61251
使用modelDiscriminationPlot
以可视化ROC曲线。
modelDiscriminationPlot (lgdModel数据(印第安纳州,:),“ReferenceLGD”data.lgdPredMeans(印第安纳州),“ReferenceID”,“组意味着”)
使用modelAccuracy
来计算精度指标。
AccMeasure = modelAccuracy (lgdModel、数据(印第安纳州,:)“ReferenceLGD”data.lgdPredMeans(印第安纳州),“ReferenceID”,“组意味着”)
AccMeasure =2×4表RSquared RMSE Correlation SampleMeanError _______________ ___________ _______________ Tobit 0.08527 0.23712 0.29201 -0.034412 Group Means 0.041622 0.2406 0.20401 -0.0078124
使用modelAccuracyPlot
将观测到的LGD值与预测LGD值的散点图可视化。
modelAccuracyPlot (lgdModel数据(印第安纳州,:),“ReferenceLGD”data.lgdPredMeans(印第安纳州),“ReferenceID”,“组意味着”)
然后你可以用modelAccuracyPlot
将预测LGD值与LTV值的散点图可视化。
modelAccuracyPlot (lgdModel数据(印第安纳州,:),“ReferenceLGD”data.lgdPredMeans(印第安纳州),“ReferenceID”,“组意味着”,“XData”,“值”,“YData”,“预测”)
fitLGDModel
|预测
|modelDiscrimination
|modelDiscriminationPlot
|modelAccuracy
|modelAccuracyPlot
|回归
|托比特书