Потеря модели, данная значение по умолчанию

В этом примере показано, как соответствовать различным типам моделей к данным о потере, данной значение по умолчанию (LGD). Этот пример демонстрирует следующие подходы:

Для всех этих подходов этот пример показывает:

  • Как подбирать модель с помощью обучающих данных, где LGD является функцией других переменных или предикторов.

  • Как предсказать при тестировании данных.

Раздел Model Comparison содержит подробное сравнение, которое включает визуализацию и несколько ошибочных метрик прогноза для всех моделей в этом примере.

Введение

LGD является одним из основных параметров для анализа кредитного риска. Несмотря на то, что существуют разные подходы, чтобы оценить резервы кредита потерь и капитал кредита, общие методологии требуют оценки вероятностей значения по умолчанию (PD), потеря, данная значение по умолчанию (LGD) и воздействие в значении по умолчанию (EAD). Резервы и потребности в капитале вычисляются с помощью формул или симуляций, которые используют эти параметры. Например, резервы потерь обычно оцениваются как ожидаемая потеря (EL), данная следующей формулой:

EL=PD*Lgd *EAD.

У практиков есть десятилетия опыта моделирующие и предсказывающие ФУНТЫ. Однако моделирование LGD (и также EAD) запустилось намного позже. Одной причиной является относительный дефицит данных LGD по сравнению с данными о PD. Данные о значении по умолчанию кредита (например, пропущенные платежи) легче собрать и более доступный, чем убытки, которые в конечном счете потерпели в случае значения по умолчанию. Когда учетная запись перемещена в этап восстановления, информация может быть передана различной системе, кредиты могут быть консолидированы, процесс восстановления может занять много времени, и несколько затрат понесены во время процесса, некоторые, которых трудно отследить подробно. Однако банки нарастили свои усилия, чтобы собрать данные, которые могут использоваться в моделировании LGD, частично из-за инструкций, которые требуют оценки этих параметров риска, и моделирование LGD (и EAD) теперь широко распространено в промышленности.

Это использование в качестве примера симулировало данные LGD, но рабочий процесс был применен к действительным наборам данных, чтобы подбирать модели LGD, предсказать значения LGD и сравнить модели. Особое внимание этого примера не должно предлагать конкретный подход, но показать, как эти различные модели могут быть подходящими, как модели используются, чтобы предсказать значения LGD, и как сравнить модели. Этим примером является также начальная точка для изменений и расширений этих моделей; например, можно хотеть использовать более усовершенствованную классификацию и инструменты регрессии как часть модели 2D этапа.

Эти три предиктора в этом примере являются конкретной ссудой. Однако можно использовать подходы, описанные в этом примере с наборами данных, которые включают несколько предикторов и даже макроэкономических переменных. Кроме того, можно использовать модели, которые включают макроэкономические предикторы для стресс-тестирования или пожизненного LGD, моделирующего, чтобы поддержать нормативные требования, такие как CCAR, IFRS 9 и CECL.

Исследование данных LGD

Набор данных в этом примере является симулированными данными, которые получают типичные функции данных LGD. Например, типичная функция является распределением значений LGD, которое имеет высокие частоты в 0 (полное восстановление), и также много наблюдений в 1 (никакое восстановление вообще). Другая характеристика данных LGD является существенным количеством "шумовых" или "необъясненных" данных. Можно визуализировать этот "шум" в графиках рассеивания ответа против предикторов, где точки, кажется, не следуют за ясным трендом, и все же могут быть обнаружены некоторые базовые отношения. Кроме того, распространено получить значительные ошибки прогноза для моделей LGD. Эмпирические исследования показывают, что модели LGD имеют высокие ошибки прогноза в целом. Например, в [4] авторы сообщают о значениях R-squared в пределах от 4% к 43% для области значений моделей через различные портфели. В этом примере все подходы получают значения R-squared чуть менее чем 10%. Кроме того, нахождение полезных предикторов на практике может потребовать важного понимания среды кредитования определенного портфеля, например, знания правовых рамок и процесса набора [2]. Симулированный набор данных включает только три предиктора, и это переменные, часто находимые в моделях LGD, а именно, соотношении стоимости актива к сумме кредита, возрасте ссуды, и живет ли заемщик в свойстве или если заемщик купил его в инвестиционных целях.

Подготовка данных для моделирования LGD выходит за рамки этого примера. Этот пример принимает, что данные были ранее подготовлены, поскольку особое внимание примера включено, как подбирать модели LGD и как использовать их в прогнозе. Подготовка данных для моделирования LGD требует существенного количества работы на практике. Подготовка данных требует консолидации сведений об аккаунте, вытягивая данные из нескольких источников данных, составляя различные затраты и учетные ставки, и экранируя предикторы 1[] 2[].

Загрузите набор данных от LGDData.mat файл. Набор данных хранится в data таблица. Это содержит эти три предиктора и переменную LGD, которая является переменной отклика.

Вот предварительный просмотр данных и описания набора данных и переменных.

load('LGDData.mat')
disp(head(data))
      LTV        Age         Type           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
disp(data.Properties.Description)
Loss given default (LGD) data. This is a simulated data set.
disp([data.Properties.VariableNames' data.Properties.VariableDescriptions'])
    'LTV'     'Loan-to-Value (LTV) ratio at t...'
    'Age'     'Age of the loan in years at th...'
    'Type'    'Type of property, either resid...'
    'LGD'     'Loss given default'               

Данные LGD обычно имеют значения 0 (никакие потери, полное восстановление) или 1 (никакое восстановление вообще). Распределение значений промежуточный 0 и 1 принимает различные формы в зависимости от типа портфеля и других характеристик.

histogram(data.LGD)
title('LGD Distribution')
ylabel('Frequency')
xlabel('Observed LGD')

Исследуйте отношения между предикторами и ответом. Корреляция Копьеносца между выбранным предиктором и LGD отображена сначала. Корреляция Копьеносца является одними из статистических данных рангового порядка, обычно используемых в LGD моделирование [5].

SelectedPredictor = 'LTV';

fprintf'Spearman correlation between %s and LGD: %g', SelectedPredictor, поправка (дважды (данные. (SelectedPredictor)), данные. Lgd ,'Type','Spearman'))
Spearman correlation between LTV and LGD: 0.271204
if isnumeric(data.(SelectedPredictor))
    scatter(data.(SelectedPredictor),data.LGD)
    X = [ones(height(data),1) data.(SelectedPredictor)];
    b = X\data.LGD;
    y = X*b;
    hold on
    plot(data.(SelectedPredictor),y)
    ylim([0 1])
    hold off
    xlabel(SelectedPredictor)
    ylabel('LGD')
end

Для числовых предикторов существует график рассеивания LGD против выбранных значений предиктора с наложенной линейной подгонкой. Существует существенное количество шума в данных с точками, рассеянными на всем протяжении графика. Это - общая ситуация для моделирования данных LGD. Плотность точек иногда отличается в различных областях графика, предлагая отношения. Наклон линейной подгонки и корреляции Копьеносца дает больше информации об отношении между выбранным предиктором и ответом.

Визуально оценка плотности точек в графике рассеивания не может быть надежным подходом, чтобы изучить распределение данных. Чтобы лучше изучить распределение значений LGD для разных уровней выбранного предиктора, создайте диаграмму.

% Choose the number of discretization levels for numeric predictors
NumLevels =3;
if isnumeric (данные. (SelectedPredictor))
    PredictorEdges = linspace (min (данные. (SelectedPredictor)), макс. (данные. (SelectedPredictor)), NumLevels+1);
    PredictorDiscretized = дискретизируют (данные. (SelectedPredictor), PredictorEdges,'Categorical', строка (PredictorEdges (2:end)));
    коробчатая диаграмма (данные. LGD, PredictorDiscretized)
    xlabel ([SelectedPredictor ' Discretized'])
    yLabel 'LGD')
else
    коробчатая диаграмма (данные. LGD, данные. (SelectedPredictor))
    xlabel (SelectedPredictor)
    yLabel 'LGD')
end

Для категориальных данных диаграмма является прямой, поскольку небольшое количество уровней уже дано. Для числовых данных можно дискретизировать данные сначала и затем сгенерировать диаграмму. Различные размеры поля и высоты показывают, что распределение значений LGD изменяется для различных уровней предиктора. Монотонный тренд в медиане (красная горизонтальная линия в центре полей) показывает потенциальное линейное соотношение между предиктором и LGD (хотя возможно умеренное отношение, из-за широких распределений).

Следует иметь в виду LGD по различным группам

Основной подход, чтобы предсказать LGD должен просто использовать среднее значение данных LGD. Несмотря на то, что это - прямой подход, легкий изучать и использовать, оборотная сторона - то, что среднее значение является постоянным значением, и этот подход не проливает света на чувствительность LGD к другим факторам риска. В частности, предикторы в наборе данных проигнорированы.

Чтобы ввести чувствительность к предикторам, средние значения LGD могут быть оценены по различным группам или сегментам данных, где группы заданы с помощью областей значений значений предиктора. Этот подход является все еще относительно прямым подходом, все же он может заметно уменьшать ошибку прогноза по сравнению с одним средним значением LGD для всех наблюдений.

Чтобы запуститься, разделите набор данных на данные об обучении и тестировании. То же обучение и тестирующий наборы данных используется во всех подходах в этом примере.

NumObs = height(data);
% Reset the random stream state, for reproducibility
% Comment this line out to generate different data partitions each time the example is run
rng('default');
c = cvpartition(NumObs,'HoldOut',0.4);
TrainingInd = training(c);
TestInd = test(c);

В этом примере группы заданы с помощью этих трех предикторов. LTV дискретизируется в низкие уровни и высокий уровень. Age дискретизируется в молодые и старые кредиты. Type уже имеет два уровня, а именно, жилой и инвестиции. Группы являются всеми комбинациями этих значений (например, низкий LTV, молодая ссуда, жилая, и так далее).

Количество уровней и определенных пороговых значений в целях рисунка только, можно основывать другие дискретизации на различных критериях. Кроме того, использование всех предикторов для дискретизации не может быть идеальным, когда набор данных содержит много предикторов. В некоторых случаях использования одного предиктора или нескольких предикторов, может быть достаточно, чтобы найти полезные группы с отличными средними значениями LGD. Когда данные включают макро-информацию, группировка может включать макро-переменную; например, среднее значение LGD должно отличаться по рецессиям по сравнению с подъемами экономики.

Вычислите средний LGD по восьми группам данных, использующим обучающие данные.

% Discretize LTV
LTVEdges = [0 0.5 max(data.LTV)];
data.LTVDiscretized = discretize(data.LTV,LTVEdges,'Categorical',{'low','high'});
% Discretize Age
AgeEdges = [0 2 max(data.Age)];
data.AgeDiscretized = discretize(data.Age,AgeEdges,'Categorical',{'young','old'});
% Find group means on training data
gs = groupsummary(data(TrainingInd,:),{'LTVDiscretized','AgeDiscretized','Type'},'mean','LGD');
disp(gs)
    LTVDiscretized    AgeDiscretized       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.066068
         high             old           investment          50        0.11779

Для прогноза тестовые данные сопоставлены в эти 8 групп, и затем соответствующее среднее значение группы установлено как предсказанное значение LGD.

LGDGroupTest = (data.LTVDiscretized(TestInd)=='high')*4 +...
    (data.AgeDiscretized(TestInd)=='old')*2 +...
    (data.Type(TestInd)=='investment') + 1;
LGDPredictedByGroupMeans = gs.mean_LGD(LGDGroupTest);

Сохраните наблюдаемый LGD и предсказанный LGD в новой таблице dataLGDPredicted. Эта таблица хранилища предсказала значения LGD для всех других подходов в примере.

dataLGDPredicted = table;
dataLGDPredicted.Observed = data.LGD(TestInd);
dataLGDPredicted.GroupMeans = LGDPredictedByGroupMeans;
disp(head(dataLGDPredicted))
    Observed     GroupMeans
    _________    __________

    0.0064766     0.066068 
     0.007947      0.12166 
     0.063182      0.25977 
            0     0.066068 
      0.10904      0.16489 
            0      0.16489 
      0.89463      0.16489 
            0     0.021776 

Раздел Model Comparison имеет более подробное сравнение всех моделей, которое включает визуализацию и ошибочные метрики прогноза.

Простая модель регрессии

Естественный подход должен использовать модель регрессии, чтобы явным образом смоделировать отношение между LGD и некоторыми предикторами. Данные LGD, однако, ограничены в единичном интервале, тогда как переменная отклика для моделей линейной регрессии, в теории, неограниченной.

Чтобы применить простые подходы линейной регрессии, данные LGD могут быть преобразованы. Общее преобразование является функцией логита, которая приводит к следующей модели регрессии:

журнал(Lgd 1-Lgd )=Xβ+ϵ,сϵ~N(0,σ2)

Значения LGD 0 или 1 заставьте функцию логита принимать бесконечные значения, таким образом, данные LGD являются обычно усеченными прежде, чем применить преобразование.

data.LGDTruncated = data.LGD;
data.LGDTruncated(data.LGD==0) = 0.00001;
data.LGDTruncated(data.LGD==1) = 0.99999;
data.LGDLogit = log(data.LGDTruncated./(1-data.LGDTruncated));

Ниже гистограмма преобразованных данных LGD, которые используют функцию логита. Область значений значений охватывает положительные и отрицательные величины, который сопоставим с требованиями линейной регрессии. Распределение все еще показывает значительные массовые точки вероятности в концах распределения.

histogram(data.LGDLogit)
title('Logit Transformation of Truncated LGD Data')

Другие преобразования предлагаются в литературе [1]. Например, вместо функции логита, усеченные значения LGD могут быть сопоставлены с обратным стандартным нормальным распределением (похожий на нелинейную модель вероятности с нормальным распределением).

Подбирайте модель с помощью обучающих данных.

mdlRegression = fitlm(data(TrainingInd,:),'LGDLogit ~ 1 + LTV + Age + Type'); 
disp(mdlRegression)
Linear regression model:
    LGDLogit ~ 1 + LTV + Age + Type

Estimated Coefficients:
                       Estimate       SE        tStat       pValue  
                       ________    ________    _______    __________

    (Intercept)        -4.7549      0.36041    -13.193    3.0997e-38
    LTV                 2.8565      0.41777     6.8377    1.0531e-11
    Age                -1.5397     0.085716    -17.963    3.3172e-67
    Type_investment     1.4358       0.2475     5.8012     7.587e-09


Number of observations: 2093, Error degrees of freedom: 2089
Root Mean Squared Error: 4.24
R-squared: 0.206,  Adjusted R-Squared: 0.205
F-statistic vs. constant model: 181, p-value = 2.42e-104

Коэффициенты модели совпадают с результатами в исследовательском анализе данных с положительным коэффициентом для LTV, отрицательный коэффициент для Age, и положительный коэффициент для объектов инвестиционной недвижимости в Type переменная.

Прогнозы модели находятся на преобразованном пробеле, поэтому обратное преобразование логита (также известный как логистическую, или сигмоидальную функцию) должно быть применено к прогнозу модели, чтобы получить итоговое ожидаемое значение для LGD.

LogitLGDPredicted = predict(mdlRegression,data(TestInd,:));
dataLGDPredicted.Regression = 1./(1+exp(-LogitLGDPredicted));
disp(head(dataLGDPredicted))
    Observed     GroupMeans    Regression
    _________    __________    __________

    0.0064766     0.066068     0.00091169
     0.007947      0.12166      0.0036758
     0.063182      0.25977        0.18774
            0     0.066068      0.0010877
      0.10904      0.16489       0.011213
            0      0.16489       0.041992
      0.89463      0.16489       0.052947
            0     0.021776     3.7188e-06

Раздел Model Comparison в конце этого примера имеет более подробное сравнение всех моделей, которое включает визуализацию и ошибочные метрики прогноза. В частности, гистограмма предсказанных значений LGD показывает, что модель регрессии предсказывает много значений LGD около нуля, даже при том, что высокая вероятность около нуля не была явным образом смоделирована.

Бета модель регрессии

В бета модели регрессии для LGD модель непосредственно не предсказывает одного значения LGD, это предсказывает целое распределение LGDs (учитывая значения предиктора). От того распределения значение должно быть полно решимости предсказать одно значение LGD для ссуды, обычно среднее значение того распределения.

Технически, учитывая значения предиктора X1,X2,... и коэффициенты модели b и c, вы можете:

  • Вычислите значения для параметров μ(среднее значение) и ν(иногда названный "объемом выборки") бета распределения со следующими формулами:

μ=11+exp(-b0-b1X1-)ν=exp(c0+c1X1+)

  • Вычислите значения для αи β, типичные параметры бета распределения, с этими формулами:

α=μν

β=(1-μ)ν

  • Оцените функцию плотности соответствующего бета распределения для данного уровня Lgd , где Γ гамма функция; см. [1] для деталей:

f\beta(Lgd |α,β)=Γ(α+β)Γ(α)Γ(β)Lgd α-1(1-Lgd )β-1

Для того, чтобы подбирать модель, когда-то функция плотности оценена, можно обновить функцию правдоподобия и найти оптимальные коэффициенты подходом вероятности имеющим. Смотрите раздел Local Functions, где наибольшее правдоподобие функционирует hLogLikelihoodBeta задан.

Для прогноза, когда-то коэффициенты модели являются подходящими, прогноз может быть сделан, обычно с помощью среднего значения распределения, то есть, μ параметр, как предсказанное значение LGD.

Подбирайте бета модель регрессии, использующую обучающие данные с наибольшим правдоподобием. Максимизация hLogLikelihoodBeta функция выполняется с неограниченным решателем fminunc от Optimization Toolbox™.

% Convert Type to numeric binary
TypeDummy = dummyvar(data.Type);
data.Type01 = TypeDummy(:,2);

ColumnNames = {'Intercept' 'LTV' 'Age' 'Type'};
NumCols = length(ColumnNames);

% Initial guess
x0 = 0.1*ones(2*NumCols,1);
% Predictors Matrix and LGD, training
% Use truncated LGD to avoid numerical issues at the boundaries
XTrain = [ones(sum(TrainingInd),1) data.LTV(TrainingInd) data.Age(TrainingInd) data.Type01(TrainingInd)];
LGDTrain = data.LGDTruncated(TrainingInd);
% Minimize negative likelihood
objFunctionBeta = @(x)(-hLogLikelihoodBeta(x,XTrain,LGDTrain));
[Estimate,~,~,~,~,Hessian] = fminunc(objFunctionBeta,x0);
Computing finite-difference Hessian using objective function.

Local minimum found.

Optimization completed because the size of the gradient is less than
the value of the optimality tolerance.
ParameterNamesBeta = [strcat('Mu_',ColumnNames) strcat('Nu_',ColumnNames)];
ModelParametersBeta = array2table(Estimate,'RowNames',ParameterNamesBeta);
ModelParametersBeta.StdError = sqrt(diag(inv(Hessian)));
ModelParametersBeta.DF = height(data)*ones(length(Estimate),1);
ModelParametersBeta.T = Estimate./ModelParametersBeta.StdError;
ModelParametersBeta.PValue = 2*(1-tcdf(abs(ModelParametersBeta.T),ModelParametersBeta.DF));
ModelParametersBeta.ConfidenceInterval = Estimate+ModelParametersBeta.StdError*[-1.96 1.96];
disp(ModelParametersBeta)
                    Estimate    StdError     DF        T         PValue       ConfidenceInterval 
                    ________    ________    ____    _______    __________    ____________________

    Mu_Intercept     -1.3772     0.13201    3487    -10.433             0      -1.636     -1.1185
    Mu_LTV            0.6027     0.15087    3487     3.9947    6.6104e-05     0.30699     0.89841
    Mu_Age          -0.47464    0.040264    3487    -11.788             0    -0.55355    -0.39572
    Mu_Type           0.4537    0.085143    3487     5.3287    1.0518e-07     0.28682     0.62058
    Nu_Intercept    -0.16336     0.12591    3487    -1.2974       0.19457    -0.41015    0.083427
    Nu_LTV          0.055881     0.14719    3487    0.37966       0.70422    -0.23261     0.34437
    Nu_Age           0.22887    0.040336    3487     5.6742    1.5071e-08     0.14981     0.30793
    Nu_Type         -0.14101    0.078154    3487    -1.8042      0.071288    -0.29419    0.012177

Для прогноза вспомните, что бета регрессия соединяет предикторы с целым бета распределением. Например, предположите, что ссуда имеет LTV из 0.7 и Возраст 1.1 годы, и это - инвестиционная недвижимость. Бета модель регрессии дает нам прогноз для αи βпараметры для этой ссуды и модель предсказывают, что для этой ссуды область значений возможных значений LGD следует за соответствующим бета распределением.

XExample = [1 0.7 1.1 1];
MuExample = 1/(1+exp(-XExample*Estimate(1:NumCols)));
NuExample = exp(XExample*Estimate(NumCols+1:end));
AlphaExample = MuExample*NuExample;
BetaExample = (1-MuExample)*NuExample;

xDomain = 0.01:0.01:0.99;
pBeta = betapdf(xDomain,AlphaExample,BetaExample);
plot(xDomain,pBeta)
title('Predicted Distribution, Single Loan')
xlabel('Possible LGD')
ylabel('Predicted Density')

Форма распределения имеет U-образный шаблон данных. Однако это - предсказанное распределение значений LGD для одной ссуды. Это распределение может быть очень полезно для целей симуляции. Однако, чтобы предсказать значение LGD для этой ссуды, метод требуется, который идет от целого распределения до одного значения.

Один способ предсказать состоял бы в том, чтобы случайным образом чертить значение от предыдущего распределения. Это имело бы тенденцию давать ожидаемые значения к концам единичного интервала, и полная форма распределения для набора данных будет совпадать с U-образной скороговоркой наблюдаемых значений LGD. Однако, даже если форма распределения выглядела правильной, случайная ничья от распределения не работает хорошо на цели прогноза. Две точки с теми же значениями предиктора имели бы два отличающихся предсказанных LGDs, который парадоксален. Кроме того, ошибка прогноза на уровне наблюдения могла быть большой, поскольку много кредитов с маленьким заметили, что LGDs мог получить случайные прогнозы большого LGDs, и наоборот.

Чтобы уменьшать ошибку прогноза на индивидуальном уровне, ожидаемое значение бета распределения обычно используется, чтобы предсказать. Распределение ожидаемых значений с этим подходом не имеет ожидаемого U-образного шаблона, потому что среднее значение имеет тенденцию быть вдали от контуров единичного интервала. Однако при помощи среднего значения бета распределения, все наблюдения с теми же значениями предиктора добираются, то же самое предсказало LGDs. Кроме того, среднее значение не может быть близко к значениям, которые находятся на концах распределения, но средняя погрешность может быть меньшей по сравнению со случайными ничьими от предыдущего подхода.

Предскажите использование среднего значения бета распределения. Помните, что ожидаемое значение распределения μпараметр, таким образом, прогноз среднего значения является прямым.

XTest = [ones(sum(TestInd),1) data.LTV(TestInd) data.Age(TestInd) data.Type01(TestInd)];
MuTest = 1./(1+exp(-XTest*Estimate(1:NumCols)));
dataLGDPredicted.Beta = MuTest;
disp(head(dataLGDPredicted))
    Observed     GroupMeans    Regression      Beta  
    _________    __________    __________    ________

    0.0064766     0.066068     0.00091169    0.093695
     0.007947      0.12166      0.0036758     0.14915
     0.063182      0.25977        0.18774     0.35262
            0     0.066068      0.0010877    0.096435
      0.10904      0.16489       0.011213     0.18858
            0      0.16489       0.041992      0.2595
      0.89463      0.16489       0.052947     0.26767
            0     0.021776     3.7188e-06    0.021315

Раздел Model Comparison в конце этого примера имеет более подробное сравнение всех моделей, которое включает визуализацию и ошибочные метрики прогноза. В частности, гистограмма предсказанных значений LGD показывает, что бета подход регрессии не производит U-образное распределение. Однако этот подход действительно имеет хорошую производительность под другими метриками сообщаемой.

Модель регрессии Товита

Товит или подвергнутая цензуре регрессия спроектированы для моделей, где ответ ограничен. Идея состоит в том, что существует базовая (скрытая) линейная модель, но что наблюдаемые значения ответа, в этом случае значения LGD, являются усеченными. В данном примере смоделируйте 0 нижняя граница (оставленный подвергнутый цензуре) использование формулы модели

Lgd i=max (0,Yi)

с:

Yi=Xiβ+ϵi=β0 +β1X1i++βkXki+ϵi,сϵi~N(0,σ2)

Параметры модели весь βs и стандартное отклонение ошибки σ. Параметры оцениваются с помощью наибольшего правдоподобия. Смотрите раздел Local Functions, где наибольшее правдоподобие функционирует hLogLikelihoodTobitLeftCensored задан. Формулы для левой и правой подвергнутой цензуре версии модели также включены в конце раздела Local Functions.

Подбирайте модель регрессии Товита, использующую обучающие данные и наибольшее правдоподобие. Минимизация hLogLikelihoodTobitLeftCensored функция выполняется с ограниченным решателем fmincon от Optimization Toolbox™. Единственное ограничение находится на параметре стандартного отклонения, таким образом что σ>0.

x0 = 0.1*ones(NumCols+1,1);
lb = -Inf*ones(NumCols+1,1);
lb(end) = 1e-6; % Sigma must be positive
objFunctionTobit = @(x)(-hLogLikelihoodTobitLeftCensored(x,XTrain,data.LGD(TrainingInd)));
[Estimate,~,~,~,~,~,Hessian] = fmincon(objFunctionTobit,x0,[],[],[],[],lb);
Local minimum possible. Constraints satisfied.

fmincon stopped because the size of the current step is less than
the value of the step size tolerance and constraints are 
satisfied to within the value of the constraint tolerance.
Estimate = Estimate(:);
ModelParametersTobit = array2table(Estimate,...
    "RowNames",[ColumnNames {'Sigma'}],"VariableNames",{'Estimate'});
ModelParametersTobit.StdError = sqrt(diag(inv(Hessian)));
ModelParametersTobit.DF = height(data)*ones(length(Estimate),1);
ModelParametersTobit.T = Estimate./ModelParametersTobit.StdError;
ModelParametersTobit.PValue = 2*(1-tcdf(abs(ModelParametersTobit.T),ModelParametersTobit.DF));
ModelParametersTobit.ConfidenceInterval = Estimate+ModelParametersTobit.StdError*[-1.96 1.96];
disp(ModelParametersTobit)
                 Estimate     StdError     DF        T         PValue         ConfidenceInterval   
                 _________    ________    ____    _______    __________    ________________________

    Intercept     0.057338     0.04375    3487     1.3106       0.19009     -0.028413       0.14309
    LTV            0.20031    0.021894    3487     9.1494             0        0.1574       0.24323
    Age          -0.094065    0.012614    3487    -7.4569    1.1124e-13      -0.11879      -0.06934
    Type           0.10072     0.05441    3487     1.8511      0.064238    -0.0059248       0.20736
    Sigma          0.28835    0.027309    3487     10.559             0       0.23482       0.34187

Выполните прогноз с тестовыми данными. Для прогноза можно было думать о применении формулы Товита Lgd i=max {0,Yi}=max {0,Xiβ+ϵi}непосредственно, устанавливая шумовые сроки ϵi=0. Однако, потому что шумовой термин в макс. операторе, это не совпадало бы с фактическим ожидаемым значением LGD в соответствии с этой моделью: E[Lgd i]max {0,Xiβ}. Когда ожидание взято, различная формула закрытой формы получена. На самом деле существует две возможности для ожидаемых значений, обычно раньше предсказывал модели Товита, каждый - условное выражение, и каждый является безусловным. hPredictTobitLeftCensored функция реализовывает приложение прямой формулы max {0,Xiβ}, а также, условные и безусловные ожидания (использующий дополнительный третий вход). По умолчанию функция выполняет прогноз с безусловным ожиданием. Смотрите раздел Local Functions для деталей.

dataLGDPredicted.Tobit = hPredictTobitLeftCensored(Estimate,XTest);
disp(head(dataLGDPredicted))
    Observed     GroupMeans    Regression      Beta       Tobit  
    _________    __________    __________    ________    ________

    0.0064766     0.066068     0.00091169    0.093695    0.087026
     0.007947      0.12166      0.0036758     0.14915     0.12275
     0.063182      0.25977        0.18774     0.35262     0.31806
            0     0.066068      0.0010877    0.096435    0.092504
      0.10904      0.16489       0.011213     0.18858     0.16539
            0      0.16489       0.041992      0.2595     0.22152
      0.89463      0.16489       0.052947     0.26767     0.23471
            0     0.021776     3.7188e-06    0.021315    0.010055

Раздел Model Comparison в конце этого примера имеет более подробное сравнение всех моделей, которое включает визуализацию и ошибку прогноза с различными метриками. Как с бета регрессией, гистограмма предсказанных значений LGD для модели Товита не имеет U-образного распределения, но это занимает место хорошо по сравнению с другими моделями.

Модель 2D этапа

2D подготовьте модели LGD, отдельные случай без потерь (LGD, равный 0) от случаев с фактическими потерями (LGD, больше, чем 0) и создайте две модели. Модель этапа 1 является моделью классификации, чтобы предсказать, будет ли ссуда иметь положительный LGD. Этап 2 моделирует модель типа регрессии, чтобы предсказать фактический LGD, когда LGD, как ожидают, будет положителен. Прогноз является ожидаемым значением двух объединенных моделей, которое является продуктом вероятности наличия потери (прогноз этапа 1) времена ожидаемое значение LGD (прогноз этапа 2).

В этом примере модель логистической регрессии используется в этапе 1. Подготовьте два, регрессия на преобразовании логита положительных данных LGD. Более сложные модели могут использоваться в этапе 1 и моделях этапа 2, видеть, например [4] или [6]. Кроме того, другое расширение должно явным образом обработать LGD = 1 контур. Модель этапа 1 произвела бы вероятности наблюдения LGD 0, LGD 1, и значение LGD строго между 0 и 1. Модель этапа 2 предсказала бы значения LGD, когда LGD, как ожидают, будет строго между 0 и 1.

Подбирайте модель этапа 1 использование обучающих данных. Переменная отклика является индикатором со значением 1 если наблюдаемый LGD положителен, и 0 если наблюдаемый LGD является нулем.

IndLGDPositive = data.LGD>0;
data.LGDPositive = IndLGDPositive;
disp(head(data))
      LTV        Age         Type           LGD       LTVDiscretized    AgeDiscretized    LGDTruncated    LGDLogit    Type01    LGDPositive
    _______    _______    ___________    _________    ______________    ______________    ____________    ________    ______    ___________

    0.89101    0.39716    residential     0.032659         high             young           0.032659       -3.3884      0          true    
    0.70176     2.0939    residential      0.43564         high             old              0.43564      -0.25887      0          true    
    0.72078     2.7948    residential    0.0064766         high             old            0.0064766       -5.0331      0          true    
    0.37013      1.237    residential     0.007947         low              young           0.007947        -4.827      0          true    
    0.36492     2.5818    residential            0         low              old                1e-05       -11.513      0          false   
      0.796     1.5957    residential      0.14572         high             young            0.14572       -1.7686      0          true    
    0.60203     1.1599    residential     0.025688         high             young           0.025688       -3.6357      0          true    
    0.92005    0.50253    investment      0.063182         high             young           0.063182       -2.6965      1          true    
mdl1 = fitglm(data(TrainingInd,:),"LGDPositive ~ 1 + LTV + Age + Type",'Distribution',"binomial");
disp(mdl1)
Generalized linear regression model:
    logit(LGDPositive) ~ 1 + LTV + Age + Type
    Distribution = Binomial

Estimated Coefficients:
                       Estimate       SE        tStat       pValue  
                       ________    ________    _______    __________

    (Intercept)          1.3157     0.21193     6.2083    5.3551e-10
    LTV                  1.3159     0.25328     5.1954    2.0433e-07
    Age                -0.79597    0.053607    -14.848    7.1323e-50
    Type_investment     0.66784     0.17019     3.9241    8.7051e-05


2093 observations, 2089 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 404, p-value = 2.68e-87

О графике ROC для модели этапа 1 обычно сообщают с помощью тестовых данных.

PredictedProbLGDPositive = predict(mdl1,data(TestInd,:));
[x,y,~,AUC] = perfcurve(data.LGDPositive(TestInd),PredictedProbLGDPositive,1);
plot(x,y)
title(sprintf('ROC Stage 1 Model (AUROC: %g)',AUC))

Подбирайте модель этапа 2 использование только обучающих данных с положительным LGD. Это - тот же тип модели, используемой ранее в разделе Regression, однако, на этот раз это адаптировано с помощью только наблюдения от обучающих данных с положительным LGDs.

dataLGDPositive = data(TrainingInd&IndLGDPositive,{'LTV','Age','Type','LGDTruncated'});
dataLGDPositive.LGDTransform = log(dataLGDPositive.LGDTruncated./(1-dataLGDPositive.LGDTruncated));

mdl2 = fitlm(dataLGDPositive,"LGDTransform ~ 1 + LTV + Age + Type");
disp(mdl2)
Linear regression model:
    LGDTransform ~ 1 + LTV + Age + Type

Estimated Coefficients:
                       Estimate       SE        tStat       pValue  
                       ________    ________    _______    __________

    (Intercept)         -2.9083     0.27538    -10.561    3.2039e-25
    LTV                  1.3883     0.31838     4.3604     1.384e-05
    Age                -0.46116    0.081939    -5.6281    2.1608e-08
    Type_investment     0.78223     0.18096     4.3226    1.6407e-05


Number of observations: 1546, Error degrees of freedom: 1542
Root Mean Squared Error: 2.8
R-squared: 0.0521,  Adjusted R-Squared: 0.0503
F-statistic vs. constant model: 28.3, p-value = 8.73e-18

Выполните прогноз на тестовых данных с помощью объединенных моделей в этапе 1 и этапе 2. Предсказанный LGD является продуктом вероятности наблюдения положительного LGD со времен модели этапа 1 ожидаемое значение LGD, предсказанное моделью этапа 2.

% Predict in the transformed space and apply inverse logit to recover the
% LGD prediction for stage 2
PredictedLGDPositive = predict(mdl2,data(TestInd,:));
PredictedLGDPositive = 1./(1+exp(-PredictedLGDPositive));

% PredictedProbLGDPositive is computed before the ROC curve above
% Final LGD prediction is the product of stage 1 and stage 2 predictions
dataLGDPredicted.TwoStage = PredictedProbLGDPositive.*PredictedLGDPositive;

disp(head(dataLGDPredicted))
    Observed     GroupMeans    Regression      Beta       Tobit      TwoStage 
    _________    __________    __________    ________    ________    _________

    0.0064766     0.066068     0.00091169    0.093695    0.087026     0.020038
     0.007947      0.12166      0.0036758     0.14915     0.12275     0.034025
     0.063182      0.25977        0.18774     0.35262     0.31806       0.2388
            0     0.066068      0.0010877    0.096435    0.092504     0.022818
      0.10904      0.16489       0.011213     0.18858     0.16539     0.060072
            0      0.16489       0.041992      0.2595     0.22152     0.097685
      0.89463      0.16489       0.052947     0.26767     0.23471      0.11142
            0     0.021776     3.7188e-06    0.021315    0.010055    0.0003689

Раздел Model Comparison в конце этого примера имеет более подробное сравнение всех моделей, которое включает визуализацию и ошибочные метрики прогноза. Этот подход также занимает место хорошо по сравнению с другими моделями, и гистограмма предсказанных значений LGD показывает высокие частоты около 0.

Сравнение модели

Чтобы оценить производительность моделей LGD, различные метрики обычно используются. Одна метрика является R-squared линейной подгонки, регрессирующей наблюдаемые значения LGD на ожидаемых значениях. Вторая метрика является некоторой корреляцией или статистической величиной рангового порядка; этот пример использует корреляцию Копьеносца. Для ошибки прогноза среднеквадратическая ошибка (RMSE) является общей метрикой. Кроме того, простая метрика, о которой иногда сообщают, является различием между средним значением LGD в обучающих данных и средним значением LGD прогнозов. Об этих четырех метриках сообщают ниже, сортируют путем уменьшения значений R-squared.

ModelNames = dataLGDPredicted.Properties.VariableNames(2:end); % Remove 'Observed'
NumModels = length(ModelNames);

SampleMeanError = zeros(NumModels,1);
RSquared = zeros(NumModels,1);
Spearman = zeros(NumModels,1);
RMSE = zeros(NumModels,1);
lmAll = struct;

meanLGDTest = mean(dataLGDPredicted.Observed);

for ii=1:NumModels
    
    % R-squared, and store linear model fit for visualization section
    Formula = ['Observed ~ 1 + ' ModelNames{ii}];
    lmAll.(ModelNames{ii}) = fitlm(dataLGDPredicted,Formula);
    RSquared(ii) = lmAll.(ModelNames{ii}).Rsquared.Ordinary;
    
    % Spearman correlation
    Spearman(ii) = corr(dataLGDPredicted.Observed,dataLGDPredicted.(ModelNames{ii}),'type','Spearman');
    
    % Root mean square error
    RMSE(ii) = sqrt(mean((dataLGDPredicted.Observed-dataLGDPredicted.(ModelNames{ii})).^2));

    % Sample mean error
    SampleMeanError(ii) = mean(dataLGDPredicted.(ModelNames{ii}))-meanLGDTest;
    
end

PerformanceMetrics = table(RSquared,Spearman,RMSE,SampleMeanError,'RowNames',ModelNames);
PerformanceMetrics = sortrows(PerformanceMetrics,'RSquared','descend');
disp(PerformanceMetrics)
                  RSquared    Spearman     RMSE      SampleMeanError
                  ________    ________    _______    _______________

    TwoStage      0.090814    0.41987     0.24197       -0.060619   
    Tobit         0.085498    0.42224     0.23685        0.032766   
    Beta          0.080804    0.41557     0.24112        0.052396   
    Regression    0.070867    0.42152     0.25988        -0.10759   
    GroupMeans    0.041622    0.33807      0.2406       0.0078124   

Для конкретного обучения по сравнению с тестовым разделом, используемым в этом примере, модель 2D этапа имеет самый высокий R-squared, несмотря на то, что для других разделов, у Товита есть самое высокое значение R-squared. Даже при том, что средний подход группы не имеет высокого значения R-squared, он обычно имеет самую маленькую демонстрационную среднюю погрешность (среднее значение предсказанных значений LGD минус средний LGD в тестовых данных). Средние значения группы также конкурентоспособны для метрики RMSE.

Сообщите о производительности модели один подход за один раз, включая визуализацию. Отобразите метрики для выбранной модели.

ModelSelected = "TwoStage";
disp (PerformanceMetrics (ModelSelected, :))
                RSquared    Spearman     RMSE      SampleMeanError
                ________    ________    _______    _______________

    TwoStage    0.090814    0.41987     0.24197       -0.060619   

Постройте подгонку регрессии (наблюдал LGD по сравнению с предсказанным LGD), который является общим визуальным инструментом, чтобы оценить производительность модели. R-squared, о котором сообщают выше, является R-squared этой регрессии. График показывает существенное количество ошибки для всех моделей. Хорошей прогнозной модели определили бы местоположение точек в основном по диагонали и не была бы рассеяна на всем протяжении модульного квадрата. Однако метрики выше действительно показывают некоторые различия в прогнозирующей производительности для различных моделей, которые могут быть важными на практике.

plot(lmAll.(ModelSelected))
xlim([0 1])
ylim([0 1])

Сравните гистограммы предсказанных и наблюдаемых значений LGD. Для некоторых моделей распределение ожидаемых значений показывает высокие частоты около нуля, похожего на форму U наблюдаемого распределения LGD. Однако соответствие с формой распределения не означает высокой точности на уровне отдельных прогнозов; некоторые модели показывают лучшую ошибку прогноза даже при том, что их гистограмма не имеет формы U.

LGDEdges = 0:0.1:1; % Ten bins to better show the distribution shape
y1 = histcounts(dataLGDPredicted.(ModelSelected),LGDEdges);
y2 = histcounts(dataLGDPredicted.Observed,LGDEdges);
bar((LGDEdges(1:end-1)+LGDEdges(2:end))/2,[y1; y2])
title(strcat(ModelSelected,' Model'))
ylabel('Frequency')
xlabel('LGD')
legend('Predicted','Observed')
grid on

Покажите диаграмму наблюдаемых значений LGD для различных областей значений предсказанных значений LGD. Более грубая дискретизация (только пять интервалов) сглаживает некоторый шум и лучше обобщает базовое отношение. Идеально, медиана (красная горизонтальная линия в середине) должна иметь монотонный тренд и явно отличаться от одного уровня до следующего. Высокие поля также означают, что существует существенное количество ошибки вокруг ожидаемых значений, которые в некоторых случаях могут произойти из-за очень немногих наблюдений на том уровне. Для хорошей прогнозной модели поля должны быть короткими и быть расположены около диагонали, когда вы перемещаетесь от одного уровня до следующего.

LGDEdges = linspace(min(dataLGDPredicted.(ModelSelected)),max(dataLGDPredicted.(ModelSelected)),6); % Five bins
LGDDiscretized = discretize(dataLGDPredicted.(ModelSelected),LGDEdges,'Categorical',string(LGDEdges(2:end)));
boxplot(dataLGDPredicted.Observed,LGDDiscretized)
ylim([0 1])
title(strcat(ModelSelected,' Model'))
xlabel('Predicted LGD, Discretized')
ylabel('Observed LGD')

Сводные данные

Этот пример показывает несколько подходов для моделирования LGD и прогноза. Рабочий процесс в этом примере может быть адаптирован, чтобы далее анализировать модели, обсужденные здесь или реализовать и подтвердить другие подходы моделирования. Этот пример может быть расширен, чтобы выполнить более полное сравнение моделей LGD (см., например [3] и [4]).

Пример может также быть расширен, чтобы выполнить анализ перекрестной проверки, чтобы или протестировать альтернативных моделей в сравнении с эталоном или подстроить гиперпараметры. Например, лучшие пороговые значения для средних значений группы могли быть выбраны с помощью перекрестной проверки, или альтернативные преобразования значений ответа LGD (логит, пробит) могли быть протестированы в сравнении с эталоном, чтобы выбрать тот с лучшей производительностью. Этим примером может также быть начальная точка, чтобы выполнить backtesting анализ с помощью несвоевременных данных; смотрите, например [5].

Ссылки

[1] Baesens, B., Д. Рош и Х. Шеул. Аналитика кредитного риска. Вайли, 2016.

[2] Джонстон Росс, E. и Л. Шибут. "Что управляет потерей, данной значение по умолчанию? Доказательство от кредитов коммерческой недвижимости в банках-банкротах". Федеральная корпорация страхования депозитов, центрируйтесь для финансового исследования, рабочего документа 2015-03, март 2015.

[3] Литий, P., С. Чжан и С. Чжао. "Моделируя потерю, данную значение по умолчанию. "Федеральная корпорация страхования депозитов, центр финансового исследования, рабочего документа 2018-03, июль 2018.

[4] Лотермен, G. i. Браун, D. Куницы, К. Муес и Б. Бэезенс. "Тестируя Алгоритмов Регрессии в сравнении с эталоном за Потерю, Данную Моделирование Значения по умолчанию". Международный журнал Прогнозирования. Издание 28, № 1, стр 161–170, 2012.

[5] Лотермен, G., М. Дебруин, К. Вэнден Брэнден, Т. ван Джестель и К. Муес. "Предложенная Среда за Потерю Backtesting, Данную Модели По умолчанию". Журнал Проверки допустимости модели Риска. Издание 8, № 1, стр 69-90, март 2014.

[6] Tanoue, Y. и С. Ямасита. "Потеря, Данная Оценку По умолчанию: Модель 2D Этапа с Классификацией Основанная на дереве Логистическая регрессия Вектора Повышения и Поддержки". Журнал Риска. Издание 21 № 4, стр 19-37, 2019.

Локальные функции

Бета логарифмическая вероятность

Функция логарифмической правдоподобности для бета модели регрессии

LLF\beta(α,β|X,Lgd )=i=1Nжурнал(f\beta(Lgd i|α(Xi),β(Xi))),

где:

α(Xi)=μ(Xi)ν(Xi),β(Xi)=(1-μ(Xi))ν(Xi),

и

μ(Xi)=11+exp(-Xib),ν(Xi)=exp(Xic).

Матрица предиктора Xи вектор наблюдаемых Lgd значения прибывают из обучающих данных с Nнаблюдения. Функция плотности для бета распределения дана (Γ Гамма функция),

f\beta(Lgd |α,β)=Γ(α+β)Γ(α)Γ(β)Lgd α-1(1-Lgd )β-1.

Учитывая данные, функция логарифмической правдоподобности является функцией содействующих параметров b и c, даже при том, что формулы выше не делают эту зависимость явным образом, чтобы упростить обозначение. Функция логарифмической правдоподобности максимизируется путем варьирования b и c параметры. Параметры распределения α>0 и β> 0, и 0<μ<1 и ν>0 промежуточные преобразования, требуемые выполнять функцию логарифмической правдоподобности. Для получения дополнительной информации смотрите, например [1].

function f = hLogLikelihoodBeta(Params, X, y)

nCols = size(X,2);
b = Params(1:nCols);
c = Params(nCols+1:end);

% Linear predictors
yMu = X*b;
yNu = X*c;

mu = 1 ./ (1 + exp(-yMu));
nu = exp(yNu);

% Transform to standard parameterization
alpha = mu .* nu;
beta = (1-mu) .* nu;

% Negative log-likelihood
likelihood = betapdf(y,alpha,beta);
f = sum(log(likelihood));

end

Логарифмическая вероятность Товита

Функция логарифмической правдоподобности задана как

LLF=i=1nжурнал(LF(β,σ|Xi,Lgd i))

где:

LF(β,σ|Xi,Lgd i)={Φ(0;Xiβ,σ)еслиLgd i=0ϕ(Lgd i;Xiβ,σ)еслиLgd i>0

Другими словами, для неподвергнутых цензуре случаев (LGD> 0), нормальная функция плотности ϕ(x;μ,σ)(normpdf) дает вероятность, тогда как для подвергнутых цензуре случаев (LGD = 0, или в более общем плане LGD <= 0), это - кумулятивная функция распределения Φ(x;μ,σ)(normcdf) это задает вероятность. Для получения дополнительной информации смотрите, например [1].

function llf = hLogLikelihoodTobitLeftCensored(Params,X,LGD)

Params = Params(:);
beta = Params(1:end-1);
sigma = Params(end);

Y = X*beta;

LeftCensored = LGD==0;
lf = zeros(size(Y));
lf(~LeftCensored) = normpdf(LGD(~LeftCensored),Y(~LeftCensored),sigma);
lf(LeftCensored) = normcdf(0,Y(LeftCensored),sigma);
llf = sum(log(lf));

end

Прогноз Товита

Определение модели Товита имеет два случая: когда LGD является нулем, и когда это положительно. Безусловное ожидаемое значение затем

E[Lgd i]=E[Lgd i|Lgd i=0]P[Lgd i=0]+E[Lgd i|Lgd i>0]P[Lgd i>0]

Ожидание в первом сроке является нулем. Используя предположение нормальности на остаточном члене, вторым сроком можно управлять, чтобы показать, что безусловным ожидаемым значением LGD дают

E[Lgd i]=Φ(Xiβσ)(Xiβ+σϕ(Xiβσ)Φ(Xiβσ))

Иногда, условное ожидаемое значение (условное выражение на LGD> 0) используется. Формула является почти тем же самым, за исключением фактора вероятности.

E[Lgd i]=Xiβ+σϕ(Xiβσ)Φ(Xiβσ)

Функция помощника hPredictTobitLeftCensored позволяет вам выбирать между безусловными или условными ожидаемыми значениями. Это также поддерживает расчет значения LGD с помощью основной формулы Товита Lgd i=max {0,Xiβ}.

function lgdPredicted = hPredictTobitLeftCensored(Params,X,Type)

if nargin < 3
    Type = 'unconditional';
end

Params = Params(:);
beta = Params(1:end-1);

if strcmpi(Type,'formula')
    
    lgdPredicted = max(0,X*beta);

else

    sigma = Params(end);
    YStd = X*beta/sigma;
    
    phiYStd = normpdf(YStd);
    PhiYStd = normcdf(YStd);
    
    if strcmpi(Type,'unconditional')
        lgdPredicted = PhiYStd.*(X*beta+sigma*(phiYStd./PhiYStd));
    elseif strcmpi(Type,'conditional')
        lgdPredicted = X*beta+sigma*(phiYStd./PhiYStd);
    end

end

end

Модель Товита с обоими левые и правые контуры

Функция правдоподобия имеет третий случай. В общем случае, если левое граничное значение является L (0 в этом примере), и правильное граничное значение является R (1 в этом примере), функцией правдоподобия дают:

LF(β,σ|Xi,Lgd i)={Φ(L,Xi*β,σ)еслиLgd iLϕ(Lgd i,Xi*β,σ)еслиL<Lgd i<R1-Φ(R,Xi*β,σ)еслиLgd iR

Для прогноза деривации ожидаемого значения LGD должны рассмотреть возможность, что LGD находится на правильном контуре. Можно показать, что безусловное ожидаемое значение может быть вычислено можно следующим образом:

E[Lgd i]=Φ(ai)L+(Φ(bi)-Φ(ai))(Xiβ+σλi)+(1-Φ(bi))R

где:

ai=L-Xiβσ,bi=R-Xiβσ,иλi=ϕ(ai)-ϕ(bi)Φ(bi)-Φ(ai)

Условное ожидание Xiβ+σλi.

Для просмотра документации необходимо авторизоваться на сайте