Вычислите совокупный пожизненный PD, крайний PD и вероятность выживания
вычисляет совокупную пожизненную вероятность значения по умолчанию (PD), крайний PD и вероятность выживания. LifeTimePredictedPD
= predictLifetime(pdModel
,data
)
задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.LifeTimePredictedPD
= predictLifetime(___,Name,Value
)
В этом примере показано, как использовать fitLifetimePDModel
соответствовать данным Probit
модель и затем предсказывает пожизненную вероятность значения по умолчанию (PD).
Загрузка данных
Загрузите данные о кредитном портфеле.
load RetailCreditPanelData.mat
disp(head(data))
ID ScoreGroup YOB Default Year __ __________ ___ _______ ____ 1 Low Risk 1 0 1997 1 Low Risk 2 0 1998 1 Low Risk 3 0 1999 1 Low Risk 4 0 2000 1 Low Risk 5 0 2001 1 Low Risk 6 0 2002 1 Low Risk 7 0 2003 1 Low Risk 8 0 2004
disp(head(dataMacro))
Year GDP Market ____ _____ ______ 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.48
Соедините два компонента данных в один набор данных.
data = join(data,dataMacro); disp(head(data))
ID ScoreGroup YOB Default Year GDP Market __ __________ ___ _______ ____ _____ ______ 1 Low Risk 1 0 1997 2.72 7.61 1 Low Risk 2 0 1998 3.57 26.24 1 Low Risk 3 0 1999 2.86 18.1 1 Low Risk 4 0 2000 2.43 3.19 1 Low Risk 5 0 2001 1.26 -10.51 1 Low Risk 6 0 2002 -0.59 -22.95 1 Low Risk 7 0 2003 0.63 2.78 1 Low Risk 8 0 2004 1.85 9.48
Данные о разделе
Разделите данные на обучение и протестируйте разделы.
nIDs = max(data.ID); uniqueIDs = unique(data.ID); rng('default'); % for reproducibility c = cvpartition(nIDs,'HoldOut',0.4); TrainIDInd = training(c); TestIDInd = test(c); TrainDataInd = ismember(data.ID,uniqueIDs(TrainIDInd)); TestDataInd = ismember(data.ID,uniqueIDs(TestIDInd));
Создайте Probit
Пожизненная модель PD
Используйте fitLifetimePDModel
создать Probit
модель с помощью обучающих данных.
pdModel = fitLifetimePDModel(data(TrainDataInd,:),"Probit",... 'AgeVar','YOB',... 'IDVar','ID',... 'LoanVars','ScoreGroup',... 'MacroVars',{'GDP','Market'},... 'ResponseVar','Default'); disp(pdModel)
Probit with properties: ModelID: "Probit" Description: "" Model: [1x1 classreg.regr.CompactGeneralizedLinearModel] IDVar: "ID" AgeVar: "YOB" LoanVars: "ScoreGroup" MacroVars: ["GDP" "Market"] ResponseVar: "Default"
Отобразите базовую модель.
disp(pdModel.Model)
Compact generalized linear regression model: probit(Default) ~ 1 + ScoreGroup + YOB + GDP + Market Distribution = Binomial Estimated Coefficients: Estimate 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 observations, 388091 error degrees of freedom Dispersion: 1 Chi^2-statistic vs. constant model: 1.85e+03, p-value = 0
Предскажите пожизненный PD на обучении и тестовых данных
Используйте predictLifetime
функция, чтобы получить пожизненные ФУНТЫ на обучении или тестовых данных. Чтобы получить условные ФУНТЫ, используйте predict
функция. Для проверки допустимости модели используйте modelDiscrimination
и modelAccuracy
функции на обучении или тестовых данных.
DataSetChoice = "Testing"; if DataSetChoice =="Training" Ind = TrainDataInd; else Ind = TestDataInd; end % Predict lifetime PD PD = predictLifetime (pdModel, данные (Ind, :)); голова (данные (Ind, :))
ans=8×7 table
ID ScoreGroup YOB Default Year GDP Market
__ ___________ ___ _______ ____ _____ ______
2 Medium Risk 1 0 1997 2.72 7.61
2 Medium Risk 2 0 1998 3.57 26.24
2 Medium Risk 3 0 1999 2.86 18.1
2 Medium Risk 4 0 2000 2.43 3.19
2 Medium Risk 5 0 2001 1.26 -10.51
2 Medium Risk 6 0 2002 -0.59 -22.95
2 Medium Risk 7 0 2003 0.63 2.78
2 Medium Risk 8 0 2004 1.85 9.48
Предскажите пожизненный PD на новых данных
Пожизненные модели PD используются, чтобы сделать предсказания по существующим кредитам. predictLifetime
функция требует спроектированных значений и для ссуды и для макро-предикторов для остатка от срока кредита.
DataPredictLifetime.mat
файл содержит проекции для двух кредитов и также для макро-переменных. Одной ссуде три года в конце 2 019 со временем жизни 10 лет, и другой ссуде шесть лет со временем жизни 10 лет. ScoreGroup
является постоянным, и значения возраста являются инкрементными. Для макро-переменных прогнозы для макро-предикторов должны охватить самое долгое время жизни в портфеле.
load DataPredictLifetime.mat
disp(LoanData)
ID ScoreGroup YOB Year ____ _____________ ___ ____ 1304 "Medium Risk" 4 2020 1304 "Medium Risk" 5 2021 1304 "Medium Risk" 6 2022 1304 "Medium Risk" 7 2023 1304 "Medium Risk" 8 2024 1304 "Medium Risk" 9 2025 1304 "Medium Risk" 10 2026 2067 "Low Risk" 7 2020 2067 "Low Risk" 8 2021 2067 "Low Risk" 9 2022 2067 "Low Risk" 10 2023
disp(MacroScenario)
Year GDP Market ____ ___ ______ 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.5
LifetimeData = join(LoanData,MacroScenario); disp(LifetimeData)
ID ScoreGroup YOB Year GDP Market ____ _____________ ___ ____ ___ ______ 1304 "Medium Risk" 4 2020 1.1 4.5 1304 "Medium Risk" 5 2021 0.9 1.5 1304 "Medium Risk" 6 2022 1.2 5 1304 "Medium Risk" 7 2023 1.4 5.5 1304 "Medium Risk" 8 2024 1.6 6 1304 "Medium Risk" 9 2025 1.8 6.5 1304 "Medium Risk" 10 2026 1.8 6.5 2067 "Low Risk" 7 2020 1.1 4.5 2067 "Low Risk" 8 2021 0.9 1.5 2067 "Low Risk" 9 2022 1.2 5 2067 "Low Risk" 10 2023 1.4 5.5
Предскажите пожизненные ФУНТЫ и сохраните выход как новый столбец таблицы для удобства.
LifetimeData.PredictedPD = predictLifetime(pdModel,LifetimeData); disp(LifetimeData)
ID ScoreGroup YOB Year GDP Market PredictedPD ____ _____________ ___ ____ ___ ______ ___________ 1304 "Medium Risk" 4 2020 1.1 4.5 0.0080202 1304 "Medium Risk" 5 2021 0.9 1.5 0.014093 1304 "Medium Risk" 6 2022 1.2 5 0.018156 1304 "Medium Risk" 7 2023 1.4 5.5 0.020941 1304 "Medium Risk" 8 2024 1.6 6 0.022827 1304 "Medium Risk" 9 2025 1.8 6.5 0.024086 1304 "Medium Risk" 10 2026 1.8 6.5 0.024945 2067 "Low Risk" 7 2020 1.1 4.5 0.0015728 2067 "Low Risk" 8 2021 0.9 1.5 0.0027146 2067 "Low Risk" 9 2022 1.2 5 0.003431 2067 "Low Risk" 10 2023 1.4 5.5 0.0038939
Визуализируйте предсказанный пожизненный PD для компании.
CompanyIDChoice = "1304"; CompanyID = str2double (CompanyIDChoice); IndPlot = LifetimeData.ID == CompanyID; график (LifetimeData.YOB(IndPlot), LifetimeData.PredictedPD(IndPlot)) сетка on xlabel'YOB') xticks (LifetimeData.YOB(IndPlot)) yLabel 'Lifetime PD') заголовок (strcat ("Company ", CompanyIDChoice))
В этом примере показано, как временной интервал играет важную роль для пожизненного предсказания при использовании Logistic
, Probit
, или Cox
модель для вероятности значения по умолчанию (PD). Каждое значение PD является вероятностью значения по умолчанию для данного "временного интервала" (например, временной интервал 1 года), строки данных, переданные в для пожизненного предсказания, должны иметь ту же периодичность как временной интервал (то есть, вы не можете передать строку, которая представляет четверть, и затем строку, которая представляет год, и затем тот, который представляет 5 лет. Необходимо передать данные в течение периодов 1, 2, 3, 4..., но не 1, 3, 7, 10, 20. Или если временной интервал равняется 3, необходимо передать периоды 3, 6, 9... или 2, 5, 8..., но не 3, 7, 15, 30.
Соответствуйте и подтвердите модель
load RetailCreditPanelData.mat
data = join(data,dataMacro);
head(data)
ans=8×7 table
ID ScoreGroup YOB Default Year GDP Market
__ __________ ___ _______ ____ _____ ______
1 Low Risk 1 0 1997 2.72 7.61
1 Low Risk 2 0 1998 3.57 26.24
1 Low Risk 3 0 1999 2.86 18.1
1 Low Risk 4 0 2000 2.43 3.19
1 Low Risk 5 0 2001 1.26 -10.51
1 Low Risk 6 0 2002 -0.59 -22.95
1 Low Risk 7 0 2003 0.63 2.78
1 Low Risk 8 0 2004 1.85 9.48
Выберите тип модели. Поведение подтверждения правильности данных в predictLifetime
зависит от типа модели. Для получения дополнительной информации смотрите Валидацию Ввода данных для Пожизненного Предсказания.
Временным интервалом в этом примере является 1
. Это значение хранится в Cox
модели как TimeInterval
свойство и это используются для подбора кривой и предсказания. Logistic
и Probit
модели не хранят информацию временного интервала.
ModelType = "cox"; pdModel = fitLifetimePDModel (данные, ModelType,... 'IDVar','ID','AgeVar','YOB',... 'LoanVars','ScoreGroup','MacroVars',{'GDP' 'Market'},... 'ResponseVar','Default'); disp (pdModel)
Cox with properties: TimeInterval: 1 ExtrapolationFactor: 1 ModelID: "Cox" Description: "" Model: [1x1 CoxModel] IDVar: "ID" AgeVar: "YOB" LoanVars: "ScoreGroup" MacroVars: ["GDP" "Market"] ResponseVar: "Default"
Условный PD и проверка допустимости модели
Условные значения PD возвращены predict
сопоставимы с временным интервалом, используемым для обучения модель. В этом примере, все значения PD, возвращенные predict
1-летние вероятности значения по умолчанию. Нет никакой валидации периодичности во вводе данных для predict
.
dataPredictExample = data([1 2 6 10 15],:); pdExample = predict(pdModel,dataPredictExample)
pdExample = 5×1
0.0089
0.0052
0.0038
0.0094
0.0031
Проверка допустимости модели сделана с помощью условного PD, возвращенного predict
. Поэтому в modelDiscrimination
нет никакой валидации периодичности строки или
modelAccuracy
. Однако проверка допустимости модели требует наблюдаемых величин переменной отклика, и определение значения по умолчанию, используемого для значений отклика валидации, должно быть сопоставимо с учебным data
. Другими словами, если учебный data
использует временной интервал 1
, данные об ответе валидации не могут быть заданы с ежеквартальными данными по умолчанию. Нет никаких проверок периодичности строки на modelDiscrimination
или modelAccuracy
, это принято, что определение по умолчанию в данных о валидации сопоставимо с обучающими данными.
modelAccuracyPlot(pdModel,data,{'YOB','ScoreGroup'})
Пожизненный PD
predictLifetime
функция используется для расчета пожизненный PD. При создании пожизненных предсказаний:
Различный набор данных, вероятно, используется, не данные, которые вы использовали для обучения и валидации, но нового набора данных с перспективными проекциями для различных кредитов.
Спроектированные значения в пожизненном наборе данных предсказания охватывают несколько периодов вперед, потенциально несколько лет вперед.
Загрузите DataPredictLifetime.mat
данные для пожизненного предсказания. Обратите внимание на то, что для предсказания, вы не должны передавать данные об ответе, вы только передаете предикторы. Вы только передаете значения отклика для подбора кривой или валидации, не для предсказания.
load DataPredictLifetime.mat
LifetimeData = join(LoanData,MacroScenario);
disp(LifetimeData)
ID ScoreGroup YOB Year GDP Market ____ _____________ ___ ____ ___ ______ 1304 "Medium Risk" 4 2020 1.1 4.5 1304 "Medium Risk" 5 2021 0.9 1.5 1304 "Medium Risk" 6 2022 1.2 5 1304 "Medium Risk" 7 2023 1.4 5.5 1304 "Medium Risk" 8 2024 1.6 6 1304 "Medium Risk" 9 2025 1.8 6.5 1304 "Medium Risk" 10 2026 1.8 6.5 2067 "Low Risk" 7 2020 1.1 4.5 2067 "Low Risk" 8 2021 0.9 1.5 2067 "Low Risk" 9 2022 1.2 5 2067 "Low Risk" 10 2023 1.4 5.5
Строки имеют ежегодные данные, сопоставимые с временным интервалом, используемым для обучения. Вы видите это в обоих Year
переменная и YOB
переменная. Нет никаких флагов в этом наборе данных для пожизненных предсказаний.
LifetimeData.PD = predict(pdModel,LifetimeData); LifetimeData.LifetimePD = predictLifetime(pdModel,LifetimeData)
LifetimeData=11×8 table
ID ScoreGroup YOB Year GDP Market PD LifetimePD
____ _____________ ___ ____ ___ ______ __________ __________
1304 "Medium Risk" 4 2020 1.1 4.5 0.0081336 0.0081336
1304 "Medium Risk" 5 2021 0.9 1.5 0.0063861 0.014468
1304 "Medium Risk" 6 2022 1.2 5 0.0047416 0.019141
1304 "Medium Risk" 7 2023 1.4 5.5 0.0028262 0.021913
1304 "Medium Risk" 8 2024 1.6 6 0.0014844 0.023365
1304 "Medium Risk" 9 2025 1.8 6.5 0.0014517 0.024783
1304 "Medium Risk" 10 2026 1.8 6.5 0.0014517 0.026198
2067 "Low Risk" 7 2020 1.1 4.5 0.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 не могут быть правильно вычислены.
Измените выбранные строки с помощью SelectedRows
переменная в коде, чтобы видеть поведение predictLifetime
как периодичность изменений данных. (В качестве альтернативы YOB
значения могут быть вручную изменены, чтобы ввести шаг возраста, противоречивый с временным интервалом 1 года.)
SelectedRows = 1:11; % Selecting all rows 1:11 is the same as the output above, no warnings LifetimeData2 = LifetimeData(SelectedRows,{'ID','ScoreGroup','YOB','Year','GDP','Market'}); disp(LifetimeData2)
ID ScoreGroup YOB Year GDP Market ____ _____________ ___ ____ ___ ______ 1304 "Medium Risk" 4 2020 1.1 4.5 1304 "Medium Risk" 5 2021 0.9 1.5 1304 "Medium Risk" 6 2022 1.2 5 1304 "Medium Risk" 7 2023 1.4 5.5 1304 "Medium Risk" 8 2024 1.6 6 1304 "Medium Risk" 9 2025 1.8 6.5 1304 "Medium Risk" 10 2026 1.8 6.5 2067 "Low Risk" 7 2020 1.1 4.5 2067 "Low Risk" 8 2021 0.9 1.5 2067 "Low Risk" 9 2022 1.2 5 2067 "Low Risk" 10 2023 1.4 5.5
LifetimeData2.PD = predict(pdModel,LifetimeData2); LifetimeData2.LifetimePD = predictLifetime(pdModel,LifetimeData2); disp(LifetimeData2)
ID ScoreGroup YOB Year GDP Market PD LifetimePD ____ _____________ ___ ____ ___ ______ __________ __________ 1304 "Medium Risk" 4 2020 1.1 4.5 0.0081336 0.0081336 1304 "Medium Risk" 5 2021 0.9 1.5 0.0063861 0.014468 1304 "Medium Risk" 6 2022 1.2 5 0.0047416 0.019141 1304 "Medium Risk" 7 2023 1.4 5.5 0.0028262 0.021913 1304 "Medium Risk" 8 2024 1.6 6 0.0014844 0.023365 1304 "Medium Risk" 9 2025 1.8 6.5 0.0014517 0.024783 1304 "Medium Risk" 10 2026 1.8 6.5 0.0014517 0.026198 2067 "Low Risk" 7 2020 1.1 4.5 0.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
Различия в поведении зависят от типа модели и является ли переменная возраста частью модели. Можно изменить тип модели на подходящем шаге, чтобы видеть поведение для различных типов модели. Удалите переменную возраста (AgeVar
) для Logistic
и Probit
модели, чтобы наблюдать поведение, когда входной параметр возраста не является частью модели. Обратите внимание на то, что вход возраста (AgeVar
) аргумент требуется для Cox
модель. Для получения дополнительной информации смотрите Ввод данных для Пожизненного Предсказания.
pdModel
— Вероятность модели по умолчаниюLogistic
возразите | Probit
возразите | Cox
объектВероятность модели по умолчанию в виде ранее созданного Logistic
, Probit
, или Cox
объектное использование fitLifetimePDModel
.
Типы данных: object
data
— Пожизненные данныеПожизненные данные в виде NumRows
- NumCols
таблица со спроектированными значениями предиктора, чтобы сделать пожизненные предсказания. Имена предиктора и типы данных должны быть сопоставимы с базовой моделью. IDVar
свойство pdModel
вход используется, чтобы идентифицировать столбец, содержащий Значения идентификаторов в таблице, и идентификаторы используются, чтобы идентифицировать строки, соответствующие различным идентификаторам и сделать пожизненные предсказания для каждого ID.
Примечание
Строки, переданные в данных для пожизненного предсказания, должны иметь ту же периодичность, как временной интервал раньше подбирал модель. Например, если временной интервал, используемый для обучения, был одним годом, ввод данных для пожизненного предсказания не может иметь ежеквартальных данных или данных в течение каждых пяти лет.
Последовательные строки для того же ID должны соответствовать последовательным периодам. Например, если временной интервал, используемый для обучения, был одним годом, вы не можете пропустить годы и передать данные в течение многих лет 1, 2, 5, и 10.
Для получения дополнительной информации смотрите Ввод данных для Пожизненного Предсказания.
Типы данных: table
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
LifetimeData = predictLifetime(pdModel,Data,'ProbabilityType','survival')
ProbabilityType
— Тип вероятности'cumulative'
(значение по умолчанию) | вектор символов со значением 'cumulative'
, 'marginal'
, или 'survival'
| представьте в виде строки со значением "cumulative"
, "marginal"
, или "survival"
Тип вероятности в виде разделенной запятой пары, состоящей из 'ProbabilityType'
и вектор символов или строка.
Типы данных: char |
string
LifeTimePredictedPD
— Предсказанные пожизненные значения PDПредсказанные пожизненные значения PD, возвращенные как NumRows
- 1
числовой вектор.
Lifetime PD является вероятностью стандартного события за время жизни финансового актива.
Пожизненный PD обычно относится к совокупной вероятности по умолчанию, данной
где T является временем, чтобы принять значение по умолчанию.
Например, предсказанное время жизни, совокупный PD в течение второго года является вероятностью что значения по умолчанию заемщика любое время между теперь и два года с этого времени.
Тесно связанной концепцией, используемой для расчета пожизненной Ожидаемой потери кредита (ECL), является marginal PD, данный
Тесно связанной вероятностью является survival probability, который является дополнением интегральной вероятности и сообщается как
Следующая рекурсивная формула показывает отношение между условными ФУНТАМИ и вероятностью выживания:
То, где t i – t i-1 = Δt для всего i = 1, …, n и Δt является временным интервалом, раньше подбирало модель. Для получения дополнительной информации смотрите Временной интервал для Логистических Моделей и Временной интервал для Нелинейных моделей вероятности с нормальным распределением. Другими словами, потому что значения PD на правой стороне формул являются вероятностями значения по умолчанию сроком на длину Δt, шаг между временами подряд в рекурсии должен всегда иметь длину Δt в течение всех периодов i = 1, 2, …, n.
predictLifetime
вызовы функции predict
функция, чтобы получить условный PD и затем преобразует его в выживание, крайний, или пожизненный совокупный PD с помощью предыдущих формул.
time interval, используемый для подбора кривой модели, играет важную роль для пожизненного предсказания.
Ввод данных для predictLifetime
находится в форме данных о панели, с несколькими строками для каждого ID. Существует неявная или явная метка времени для каждой строки, и шаг времени между последовательными строками должен быть эквивалентным, временной интервал раньше подбирал модель. Для получения дополнительной информации о временных интервалах смотрите Временной интервал для Моделей Cox, Временной интервал для Логистических Моделей и Временной интервал для Нелинейных моделей вероятности с нормальным распределением.
После обозначения пожизненного PD рекурсивные формулы описали в Пожизненном PD, метки времени t 1, t 2, …, t n между последовательными строками должен удовлетворить t i – t i-1 = Δt для всего i = 1, …, n, где Δt является временным интервалом, раньше подбирал модель. Другими словами:
Строки передаются в data
вход для пожизненного предсказания должен иметь ту же периодичность, как временной интервал раньше подбирал модель. Например, если временной интервал, используемый для обучения, составлял 1 год, data
вход для пожизненного предсказания не может иметь ежеквартальных данных или данных в течение каждых 5 лет.
последовательные строки для того же ID должны соответствовать последовательным периодам. Например, если временной интервал, используемый для обучения, составлял 1 год, вы не можете пропустить годы и передать данные в течение многих лет 1, 2, 5, и 10.
Предположим для конкретности, что временной интервал Δt раньше подбирал модель, 1 год. Затем значениями PD на правой стороне формул в Пожизненном PD являются 1-летние ФУНТЫ. Поэтому:
Пожизненный PD для ежеквартальных данных не может быть вычислен потому что S (1.25
) ≠ S (1) (1−PD (1.25
)), начиная с PD (1.25
) 1-летний PD, охватывающий значение по умолчанию на интервале, идущем от 0.25
к 1.25
.
Пожизненный PD для данных каждые 5 лет не может вычисляться потому что S (10
) ≠ S (5
) (1−PD (10
)), начиная с PD (10
) 1-летний PD, охватывающий значение по умолчанию на интервале, идущем от 9
к 10
.
Пожизненный PD для непоследовательных строк не может быть вычислен. Например, если data
введите имеет строки, соответствующие годам 1, 2, 5 и 10, затем S (1
) и S (2
) может быть вычислен правильно, однако S (5
) ≠ S (2
) (1−PD (5
)), потому что PD (5
) 1-летний PD, охватывающий значение по умолчанию на интервале, идущем от 4
к 5
, и так же для S (10
).
predictLifetime
вызовы функции predict
функция, чтобы получить условный PD и затем преобразует его в выживание, крайний или пожизненный совокупный PD с помощью предыдущих формул.
Валидация периодичности строки во вводе данных для predictLifetime
зависит от типа модели (ModelType
) и ли модель содержит переменную возраста (AgeVar
).
Cox
модели могут подтвердить периодичность данных потому что переменная возраста (AgeVar
) необходимый входной параметр и Cox
модели хранят временной интервал (TimeInterval
) используемый, чтобы подбирать модель. TimeInterval
используется и чтобы подбирать модель и предсказать значения PD. Для получения дополнительной информации о временных интервалах для Cox
модель, смотрите Временной интервал для Моделей Cox. Переменная возраста (AgeVar
) используется в качестве измерения времени. Для каждого ID, если периодичность data
введите, измеренный шагом в переменной возраста, не совпадайте с временным интервалом, используемым, чтобы обучить модель, предупреждение выведено, и пожизненные значения PD заполнены NaN
s.
Logistic
и Probit
модели не хранят значение временного интервала. Однако предсказанные значения PD все еще сопоставимы с (явный или неявный) временной интервал в обучающих данных. Для получения дополнительной информации смотрите Временной интервал для Логистических Моделей и Временной интервал для Нелинейных моделей вероятности с нормальным распределением. Кроме того, для Logistic
и Probit
модели, переменная возраста (AgeVar
) является дополнительным, и нет никакого другого способа задать измерение времени в модели. Поэтому:
Если Logistic
или Probit
модель не имеет никакой информации о переменной возраста, нет никакого способа подтвердить периодичность данных. Пожизненный PD вычисляется с помощью рекурсии в Пожизненном PD, принимая, что периодичность правильна. Это - ответственность вызывающей стороны гарантировать, что периодичность строк данных сопоставима с временным интервалом в учебном data
.
Если Logistic
или Probit
модель имеет переменную возраста (AgeVar
), это используется в качестве измерения времени. Однако, потому что временной интервал, используемый, чтобы обучить данные, неизвестен для Logistic
и Probit
модели, эти модели могут только подтвердить это, шаг возраста является регулярным можно следующим образом, но не может выдержать сравнение со ссылочным временным интервалом.
Для каждого ID, когда возраст показывает неправильный шаг возраста, существует предупреждение, и пожизненные значения PD установлены к NaN
s.
Когда шаг возраста является регулярным в каждом ID, но некоторые идентификаторы имеют различный шаг возраста, чем другие, предупреждение выведено, но это неизвестно, какой ID имеет неправильный шаг. Пожизненные значения PD вычисляются с помощью рекурсии в Пожизненном PD для всех идентификаторов. Это - ответственность вызывающей стороны гарантировать, что периодичность строк данных для всех идентификаторов сопоставима с временным интервалом в учебном data
.
Для примера см. Пожизненное Предсказание и Временной интервал.
[1] Baesens, Барт, Дэниел Роеш и Харальд Шойле. Аналитика кредитного риска: техники измерений, приложения и примеры в SAS. Вайли, 2016.
[2] Беллини, Тициано. МСФО 9 и моделирование кредитного риска CECL и валидация: практическое руководство с примерами работало в R и SAS. Сан-Диего, CA: Elsevier, 2019.
[3] Breeden, Джозеф. Проживание с CECL: словарь моделирования. Санта-Фе, NM: наделенный даром предвидения LLC моделей, 2018.
[4] Roesch, Дэниел и Харальд Шойле. Глубокий Кредитный риск: Машинное обучение с Python. Независимо опубликованный, 2020.
predict
| modelAccuracy
| modelDiscrimination
| modelDiscriminationPlot
| modelAccuracyPlot
| fitLifetimePDModel
| Logistic
| Probit
| Cox
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.