Проверка качества модели компактной кредитной карты показателей
проверяет качество Stats = validatemodel(csc,data)compactCreditScorecard модель для набора данных, указанного с помощью аргумента data.
[ задает параметры, использующие один или несколько аргументов пары имя-значение в дополнение к входным аргументам в предыдущем синтаксисе, и возвращает выходные данные Stats,T] = validatemodel(___,Name,Value)Stats и T.
[ задает параметры, использующие один или несколько аргументов пары имя-значение в дополнение к входным аргументам в предыдущем синтаксисе, и возвращает выходные данные Stats,T,hf] = validatemodel(___,Name,Value)Stats и T и ручку фигуры hf на участки CAP, ROC и KS.
Вычислить статистику проверки модели для модели компактной кредитной карты показателей.
Создание compactCreditScorecard объект, необходимо сначала разработать модель кредитной карты показателей с использованием creditscorecard объект.
Создать creditscorecard с использованием CreditCardData.mat для загрузки файла data (с использованием набора данных из Refaat 2011).
load CreditCardData.mat sc = creditscorecard(data, 'IDVar','CustID')
sc =
creditscorecard with properties:
GoodLabel: 0
ResponseVar: 'status'
WeightsVar: ''
VarNames: {1x11 cell}
NumericPredictors: {1x6 cell}
CategoricalPredictors: {'ResStatus' 'EmpStatus' 'OtherCC'}
BinMissingData: 0
IDVar: 'CustID'
PredictorVars: {1x9 cell}
Data: [1200x11 table]
Выполните автоматическое binning с использованием параметров по умолчанию. По умолчанию autobinning использует Monotone алгоритм.
sc = autobinning(sc);
Подгоните модель.
sc = fitmodel(sc);
1. Adding CustIncome, Deviance = 1490.8527, Chi2Stat = 32.588614, PValue = 1.1387992e-08
2. Adding TmWBank, Deviance = 1467.1415, Chi2Stat = 23.711203, PValue = 1.1192909e-06
3. Adding AMBalance, Deviance = 1455.5715, Chi2Stat = 11.569967, PValue = 0.00067025601
4. Adding EmpStatus, Deviance = 1447.3451, Chi2Stat = 8.2264038, PValue = 0.0041285257
5. Adding CustAge, Deviance = 1441.994, Chi2Stat = 5.3511754, PValue = 0.020708306
6. Adding ResStatus, Deviance = 1437.8756, Chi2Stat = 4.118404, PValue = 0.042419078
7. Adding OtherCC, Deviance = 1433.707, Chi2Stat = 4.1686018, PValue = 0.041179769
Generalized linear regression model:
status ~ [Linear formula with 8 terms in 7 predictors]
Distribution = Binomial
Estimated Coefficients:
Estimate SE tStat pValue
________ ________ ______ __________
(Intercept) 0.70239 0.064001 10.975 5.0538e-28
CustAge 0.60833 0.24932 2.44 0.014687
ResStatus 1.377 0.65272 2.1097 0.034888
EmpStatus 0.88565 0.293 3.0227 0.0025055
CustIncome 0.70164 0.21844 3.2121 0.0013179
TmWBank 1.1074 0.23271 4.7589 1.9464e-06
OtherCC 1.0883 0.52912 2.0569 0.039696
AMBalance 1.045 0.32214 3.2439 0.0011792
1200 observations, 1192 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 89.7, p-value = 1.4e-16
Отформатируйте немасштабированные точки.
sc = formatpoints(sc, 'PointsOddsAndPDO',[500,2,50]);Преобразовать creditscorecard объект в compactCreditScorecard объект. A compactCreditScorecard объект является облегченной версией creditscorecard объект, используемый в целях развертывания.
csc = compactCreditScorecard(sc);
Проверьте модель компактной кредитной карты показателей путем генерации графиков CAP, ROC и KS. В этом примере используется обучение data. Однако можно использовать любые данные проверки, если:
Данные имеют те же имена и типы предикторов, что и данные, используемые для создания начального creditscorecard объект.
Данные имеют столбец ответа с тем же именем, что и 'ResponseVar' свойство в начальном creditscorecard объект.
Данные имеют столбец весов (если весы использовались для обучения модели) с тем же именем, что и 'WeightsVar' свойство в начальном creditscorecard объект.
[Stats,T] = validatemodel(csc,data,'Plot',{'CAP','ROC','KS'});



disp(Stats)
Measure Value
________________________ _______
{'Accuracy Ratio' } 0.32258
{'Area under ROC curve'} 0.66129
{'KS statistic' } 0.2246
{'KS score' } 499.62
disp(T(1:15,:))
Scores ProbDefault TrueBads FalseBads TrueGoods FalseGoods Sensitivity FalseAlarm PctObs
______ ___________ ________ _________ _________ __________ ___________ __________ __________
369.54 0.75313 0 1 802 397 0 0.0012453 0.00083333
378.19 0.73016 1 1 802 396 0.0025189 0.0012453 0.0016667
380.28 0.72444 2 1 802 395 0.0050378 0.0012453 0.0025
391.49 0.69234 3 1 802 394 0.0075567 0.0012453 0.0033333
395.57 0.68017 4 1 802 393 0.010076 0.0012453 0.0041667
396.14 0.67846 4 2 801 393 0.010076 0.0024907 0.005
396.45 0.67752 5 2 801 392 0.012594 0.0024907 0.0058333
398.61 0.67094 6 2 801 391 0.015113 0.0024907 0.0066667
398.68 0.67072 7 2 801 390 0.017632 0.0024907 0.0075
401.33 0.66255 8 2 801 389 0.020151 0.0024907 0.0083333
402.66 0.65842 8 3 800 389 0.020151 0.003736 0.0091667
404.25 0.65346 9 3 800 388 0.02267 0.003736 0.01
404.73 0.65193 9 4 799 388 0.02267 0.0049813 0.010833
405.53 0.64941 11 4 799 386 0.027708 0.0049813 0.0125
405.7 0.64887 11 5 798 386 0.027708 0.0062267 0.013333
Вычислите статистику проверки модели для компактной модели кредитной карты показателей с весами.
Создание compactCreditScorecard объект, необходимо сначала разработать модель кредитной карты показателей с использованием creditscorecard объект.
Используйте CreditCardData.mat файл для загрузки данных (dataWeights), который содержит столбец (RowWeights) для весов (с использованием набора данных из Refaat 2011).
load CreditCardData.matСоздать creditscorecard объект с использованием необязательного аргумента пара имя-значение 'WeightsVar'.
sc = creditscorecard(dataWeights,'IDVar','CustID','WeightsVar','RowWeights')
sc =
creditscorecard with properties:
GoodLabel: 0
ResponseVar: 'status'
WeightsVar: 'RowWeights'
VarNames: {1x12 cell}
NumericPredictors: {1x6 cell}
CategoricalPredictors: {'ResStatus' 'EmpStatus' 'OtherCC'}
BinMissingData: 0
IDVar: 'CustID'
PredictorVars: {1x9 cell}
Data: [1200x12 table]
Выполните автоматическое binning. По умолчанию autobinning использует Monotone алгоритм.
sc = autobinning(sc)
sc =
creditscorecard with properties:
GoodLabel: 0
ResponseVar: 'status'
WeightsVar: 'RowWeights'
VarNames: {1x12 cell}
NumericPredictors: {1x6 cell}
CategoricalPredictors: {'ResStatus' 'EmpStatus' 'OtherCC'}
BinMissingData: 0
IDVar: 'CustID'
PredictorVars: {1x9 cell}
Data: [1200x12 table]
Подгоните модель.
sc = fitmodel(sc);
1. Adding CustIncome, Deviance = 764.3187, Chi2Stat = 15.81927, PValue = 6.968927e-05
2. Adding TmWBank, Deviance = 751.0215, Chi2Stat = 13.29726, PValue = 0.0002657942
3. Adding AMBalance, Deviance = 743.7581, Chi2Stat = 7.263384, PValue = 0.007037455
Generalized linear regression model:
logit(status) ~ 1 + CustIncome + TmWBank + AMBalance
Distribution = Binomial
Estimated Coefficients:
Estimate SE tStat pValue
________ ________ ______ __________
(Intercept) 0.70642 0.088702 7.964 1.6653e-15
CustIncome 1.0268 0.25758 3.9862 6.7132e-05
TmWBank 1.0973 0.31294 3.5063 0.0004543
AMBalance 1.0039 0.37576 2.6717 0.0075464
1200 observations, 1196 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 36.4, p-value = 6.22e-08
Отформатируйте немасштабированные точки.
sc = formatpoints(sc,'PointsOddsAndPDO',[500,2,50]);Преобразовать creditscorecard объект в compactCreditScorecard объект. A compactCreditScorecard объект является облегченной версией creditscorecard объект, используемый в целях развертывания.
csc = compactCreditScorecard(sc);
Проверьте модель компактной кредитной карты показателей путем генерации графиков CAP, ROC и KS. При использовании необязательного аргумента пара имя-значение 'WeightsVar' для указания весов наблюдения (образца) в оригинале creditscorecard объект, T таблица для validatemodel использует статистику, суммы и кумулятивные суммы, которые являются взвешенными счетчиками.
В этом примере используются данные обучения (dataWeights). Однако можно использовать любые данные проверки, если:
Данные имеют те же имена и типы предикторов, что и данные, используемые для создания начального creditscorecard объект.
Данные имеют столбец ответа с тем же именем, что и 'ResponseVar' свойство в начальном creditscorecard объект.
Данные имеют столбец весов (если весы использовались для обучения модели) с тем же именем, что и 'WeightsVar' свойство в начальном creditscorecard объект.
[Stats,T] = validatemodel(csc,dataWeights,'Plot',{'CAP','ROC','KS'});



Stats
Stats=4×2 table
Measure Value
________________________ _______
{'Accuracy Ratio' } 0.28972
{'Area under ROC curve'} 0.64486
{'KS statistic' } 0.23215
{'KS score' } 505.41
T(1:10,:)
ans=10×9 table
Scores ProbDefault TrueBads FalseBads TrueGoods FalseGoods Sensitivity FalseAlarm PctObs
______ ___________ ________ _________ _________ __________ ___________ __________ _________
401.34 0.66253 1.0788 0 411.95 201.95 0.0053135 0 0.0017542
407.59 0.64289 4.8363 1.2768 410.67 198.19 0.023821 0.0030995 0.0099405
413.79 0.62292 6.9469 4.6942 407.25 196.08 0.034216 0.011395 0.018929
420.04 0.60236 18.459 9.3899 402.56 184.57 0.090918 0.022794 0.045285
437.27 0.544 18.459 10.514 401.43 184.57 0.090918 0.025523 0.047113
442.83 0.52481 18.973 12.794 399.15 184.06 0.093448 0.031057 0.051655
446.19 0.51319 22.396 14.15 397.8 180.64 0.11031 0.034349 0.059426
449.08 0.50317 24.325 14.405 397.54 178.71 0.11981 0.034968 0.062978
449.73 0.50095 28.246 18.049 393.9 174.78 0.13912 0.043813 0.075279
452.44 0.49153 31.511 23.565 388.38 171.52 0.1552 0.057204 0.089557
BinMissingData' ВыборВычисление статистики проверки модели и назначение точек для отсутствующих данных при использовании 'BinMissingData' вариант.
Предикторы в creditscorecard объект, у которого отсутствуют данные в наборе обучения, имеет явную ячейку для <missing> с соответствующими баллами в итоговой карте показателей. Эти точки вычисляются на основе значения веса доказательств (WOE) для <missing> bin и коэффициенты логистической модели. В целях оценки эти точки назначаются отсутствующим значениям и значениям вне диапазона, а также после преобразования creditscorecard объект в compactCreditScorecard объект, можно использовать окончательный балл для вычисления статистики проверки модели с помощью validatemodel.
Предикторы в creditscorecard объект без отсутствующих данных в обучающем наборе не имеет <missing> bin, поэтому никакое WOE не может быть оценено по данным обучения. По умолчанию точки для отсутствующих и выходящих за пределы диапазона значений имеют значение NaN в результате чего был получен балл NaN при выполнении score. Для предикторов в creditscorecard объект, не имеющий явного <missing> bin, используйте аргумент имя-значение 'Missing' в formatpoints чтобы указать, как функция обрабатывает отсутствующие данные в целях оценки. После преобразования creditscorecard объект в compactCreditScorecard объект, можно использовать окончательный балл для вычисления статистики проверки модели с помощью validatemodel.
Создание compactCreditScorecard объект, необходимо сначала разработать модель кредитной карты показателей с использованием creditscorecard объект.
Создать creditscorecard с использованием CreditCardData.mat файл для загрузки dataMissing, таблица, содержащая отсутствующие значения.
load CreditCardData.mat
head(dataMissing,5)ans=5×11 table
CustID CustAge TmAtAddress ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance UtilRate status
______ _______ ___________ ___________ _________ __________ _______ _______ _________ ________ ______
1 53 62 <undefined> Unknown 50000 55 Yes 1055.9 0.22 0
2 61 22 Home Owner Employed 52000 25 Yes 1161.6 0.24 0
3 47 30 Tenant Employed 37000 61 No 877.23 0.29 0
4 NaN 75 Home Owner Employed 53000 20 Yes 157.37 0.08 0
5 68 56 Home Owner Employed 53000 14 Yes 561.84 0.11 0
Использовать creditscorecard с аргументом имя-значение 'BinMissingData' установить в значение true в ячейку отсутствующих числовых или категориальных данных в отдельной ячейке. Применение автоматического binning.
sc = creditscorecard(dataMissing,'IDVar','CustID','BinMissingData',true); sc = autobinning(sc); disp(sc)
creditscorecard with properties:
GoodLabel: 0
ResponseVar: 'status'
WeightsVar: ''
VarNames: {1x11 cell}
NumericPredictors: {1x6 cell}
CategoricalPredictors: {'ResStatus' 'EmpStatus' 'OtherCC'}
BinMissingData: 1
IDVar: 'CustID'
PredictorVars: {1x9 cell}
Data: [1200x11 table]
Чтобы сделать любую отрицательную информацию о возрасте или доходах недействительной или «вне диапазона», установите минимальное значение, равное нулю для 'CustAge' и 'CustIncome'. Для вычисления оценки и вероятности по умолчанию значения вне диапазона задаются теми же точками, что и отсутствующие значения.
sc = modifybins(sc,'CustAge','MinValue',0); sc = modifybins(sc,'CustIncome','MinValue',0);
Просмотр информации о ячейках для числовых данных для 'CustAge' который включает отсутствующие данные в отдельной ячейке с маркировкой <missing>.
bi = bininfo(sc,'CustAge');
disp(bi) Bin Good Bad Odds WOE InfoValue
_____________ ____ ___ ______ ________ __________
{'[0,33)' } 69 52 1.3269 -0.42156 0.018993
{'[33,37)' } 63 45 1.4 -0.36795 0.012839
{'[37,40)' } 72 47 1.5319 -0.2779 0.0079824
{'[40,46)' } 172 89 1.9326 -0.04556 0.0004549
{'[46,48)' } 59 25 2.36 0.15424 0.0016199
{'[48,51)' } 99 41 2.4146 0.17713 0.0035449
{'[51,58)' } 157 62 2.5323 0.22469 0.0088407
{'[58,Inf]' } 93 25 3.72 0.60931 0.032198
{'<missing>'} 19 11 1.7273 -0.15787 0.00063885
{'Totals' } 803 397 2.0227 NaN 0.087112
Просмотр информации о ячейках для категориальных данных для 'ResStatus' который включает отсутствующие данные в отдельной ячейке с маркировкой <missing>.
bi = bininfo(sc,'ResStatus');
disp(bi) Bin Good Bad Odds WOE InfoValue
______________ ____ ___ ______ _________ __________
{'Tenant' } 296 161 1.8385 -0.095463 0.0035249
{'Home Owner'} 352 171 2.0585 0.017549 0.00013382
{'Other' } 128 52 2.4615 0.19637 0.0055808
{'<missing>' } 27 13 2.0769 0.026469 2.3248e-05
{'Totals' } 803 397 2.0227 NaN 0.0092627
Для 'CustAge' и 'ResStatus' предикторы, обучающие данные содержат недостающие данные (NaNs и <undefined> значения. Для отсутствующих данных в этих предикторах процесс связывания оценивает значения WOE -0.15787 и 0.026469соответственно.
Поскольку данные обучения не содержат отсутствующих значений для 'EmpStatus' и 'CustIncome' предикторы, ни один из предикторов не имеет явного бина для отсутствующих значений.
bi = bininfo(sc,'EmpStatus');
disp(bi) Bin Good Bad Odds WOE InfoValue
____________ ____ ___ ______ ________ _________
{'Unknown' } 396 239 1.6569 -0.19947 0.021715
{'Employed'} 407 158 2.5759 0.2418 0.026323
{'Totals' } 803 397 2.0227 NaN 0.048038
bi = bininfo(sc,'CustIncome');
disp(bi) Bin Good Bad Odds WOE InfoValue
_________________ ____ ___ _______ _________ __________
{'[0,29000)' } 53 58 0.91379 -0.79457 0.06364
{'[29000,33000)'} 74 49 1.5102 -0.29217 0.0091366
{'[33000,35000)'} 68 36 1.8889 -0.06843 0.00041042
{'[35000,40000)'} 193 98 1.9694 -0.026696 0.00017359
{'[40000,42000)'} 68 34 2 -0.011271 1.0819e-05
{'[42000,47000)'} 164 66 2.4848 0.20579 0.0078175
{'[47000,Inf]' } 183 56 3.2679 0.47972 0.041657
{'Totals' } 803 397 2.0227 NaN 0.12285
Использовать fitmodel чтобы соответствовать модели логистической регрессии с использованием данных веса доказательств (WOE). fitmodel внутренне преобразует все переменные предиктора в значения WOE, используя ячейки, найденные в процессе автоматического объединения. fitmodel затем подходит модель логистической регрессии с использованием пошагового метода (по умолчанию). Для предикторов, у которых отсутствуют данные, существует явное <missing> bin, с соответствующим значением WOE, вычисленным на основе данных. При использовании fitmodel, функция применяет соответствующее значение WOE для <missing> bin при выполнении преобразования WOE.
[sc,mdl] = fitmodel(sc);
1. Adding CustIncome, Deviance = 1490.8527, Chi2Stat = 32.588614, PValue = 1.1387992e-08
2. Adding TmWBank, Deviance = 1467.1415, Chi2Stat = 23.711203, PValue = 1.1192909e-06
3. Adding AMBalance, Deviance = 1455.5715, Chi2Stat = 11.569967, PValue = 0.00067025601
4. Adding EmpStatus, Deviance = 1447.3451, Chi2Stat = 8.2264038, PValue = 0.0041285257
5. Adding CustAge, Deviance = 1442.8477, Chi2Stat = 4.4974731, PValue = 0.033944979
6. Adding ResStatus, Deviance = 1438.9783, Chi2Stat = 3.86941, PValue = 0.049173805
7. Adding OtherCC, Deviance = 1434.9751, Chi2Stat = 4.0031966, PValue = 0.045414057
Generalized linear regression model:
status ~ [Linear formula with 8 terms in 7 predictors]
Distribution = Binomial
Estimated Coefficients:
Estimate SE tStat pValue
________ ________ ______ __________
(Intercept) 0.70229 0.063959 10.98 4.7498e-28
CustAge 0.57421 0.25708 2.2335 0.025513
ResStatus 1.3629 0.66952 2.0356 0.04179
EmpStatus 0.88373 0.2929 3.0172 0.002551
CustIncome 0.73535 0.2159 3.406 0.00065929
TmWBank 1.1065 0.23267 4.7556 1.9783e-06
OtherCC 1.0648 0.52826 2.0156 0.043841
AMBalance 1.0446 0.32197 3.2443 0.0011775
1200 observations, 1192 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 88.5, p-value = 2.55e-16
Масштабируйте точки карты показателей по методу «points, bodds and points to удвоить шансы (PDO)» с помощью 'PointsOddsAndPDO' аргумент formatpoints. Предположим, что вы хотите, чтобы оценка 500 очков иметь шансы 2 (в два раза больше вероятность быть хорошим, чем быть плохим) и что шансы удвоить каждые 50 очков (так что 550 очков будет иметь шансы 4).
Отображение карты показателей, показывающей масштабированные точки для предикторов, сохраненных в модели фитинга.
sc = formatpoints(sc,'PointsOddsAndPDO',[500 2 50]);
PointsInfo = displaypoints(sc)PointsInfo=38×3 table
Predictors Bin Points
_____________ ______________ ______
{'CustAge' } {'[0,33)' } 54.062
{'CustAge' } {'[33,37)' } 56.282
{'CustAge' } {'[37,40)' } 60.012
{'CustAge' } {'[40,46)' } 69.636
{'CustAge' } {'[46,48)' } 77.912
{'CustAge' } {'[48,51)' } 78.86
{'CustAge' } {'[51,58)' } 80.83
{'CustAge' } {'[58,Inf]' } 96.76
{'CustAge' } {'<missing>' } 64.984
{'ResStatus'} {'Tenant' } 62.138
{'ResStatus'} {'Home Owner'} 73.248
{'ResStatus'} {'Other' } 90.828
{'ResStatus'} {'<missing>' } 74.125
{'EmpStatus'} {'Unknown' } 58.807
{'EmpStatus'} {'Employed' } 86.937
{'EmpStatus'} {'<missing>' } NaN
⋮
Обратите внимание, что точки для <missing> ячейка для 'CustAge' и 'ResStatus' явно показаны (как 64.9836 и 74.1250соответственно). Функция вычисляет эти точки из значения WOE для <missing> bin и коэффициенты логистической модели.
Для предикторов, не имеющих отсутствующих данных в обучающем наборе, нет явных <missing> бункер во время обучения модели. По умолчанию displaypoints сообщает о точках как NaN для отсутствующих данных, приводящих к оценке NaN при использовании score. Для этих предикторов используйте аргумент пара имя-значение 'Missing' в formatpoints чтобы указать, как недостающие данные должны рассматриваться в целях оценки.
Использовать compactCreditScorecard для преобразования creditscorecard объект в compactCreditScorecard объект. A compactCreditScorecard объект является облегченной версией creditscorecard объект, используемый в целях развертывания.
csc = compactCreditScorecard(sc);
Для иллюстрации возьмите несколько строк из исходных данных в качестве тестовых данных и введите некоторые отсутствующие данные. Также введите некоторые недопустимые значения или значения вне диапазона. Для числовых данных значения ниже минимума (или выше максимума) считаются недопустимыми, например, отрицательное значение для возраста (напомним, что на предыдущем шаге вы установили 'MinValue' кому 0 для 'CustAge' и 'CustIncome'). Для категориальных данных недопустимыми значениями являются категории, явно не включенные в карту показателей, например, статус резидентности, ранее не сопоставленный с категориями карт показателей, например «Дом», или бессмысленная строка, например «abc123».
В этом примере используется очень небольшой набор данных проверки только для иллюстрации оценки строк с отсутствующими и выходящими за пределы диапазона значениями и взаимосвязи между оценкой и проверкой модели.
tdata = dataMissing(11:200,mdl.PredictorNames); % Keep only the predictors retained in the model tdata.status = dataMissing.status(11:200); % Copy the response variable value, needed for validation purposes % Set some missing values tdata.CustAge(1) = NaN; tdata.ResStatus(2) = '<undefined>'; tdata.EmpStatus(3) = '<undefined>'; tdata.CustIncome(4) = NaN; % Set some invalid values tdata.CustAge(5) = -100; tdata.ResStatus(6) = 'House'; tdata.EmpStatus(7) = 'Freelancer'; tdata.CustIncome(8) = -1; disp(tdata(1:10,:))
CustAge ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance status
_______ ___________ ___________ __________ _______ _______ _________ ______
NaN Tenant Unknown 34000 44 Yes 119.8 1
48 <undefined> Unknown 44000 14 Yes 403.62 0
65 Home Owner <undefined> 48000 6 No 111.88 0
44 Other Unknown NaN 35 No 436.41 0
-100 Other Employed 46000 16 Yes 162.21 0
33 House Employed 36000 36 Yes 845.02 0
39 Tenant Freelancer 34000 40 Yes 756.26 1
24 Home Owner Employed -1 19 Yes 449.61 0
NaN Home Owner Employed 51000 11 Yes 519.46 1
52 Other Unknown 42000 12 Yes 1269.2 0
Использовать validatemodel для compactCreditScorecard объект с набором данных проверки (tdata).
[ValStats,ValTable] = validatemodel(csc,tdata,'Plot',{'CAP','ROC','KS'});



disp(ValStats)
Measure Value
________________________ _______
{'Accuracy Ratio' } 0.35376
{'Area under ROC curve'} 0.67688
{'KS statistic' } 0.32462
{'KS score' } 493.35
disp(ValTable(1:10,:))
Scores ProbDefault TrueBads FalseBads TrueGoods FalseGoods Sensitivity FalseAlarm PctObs
______ ___________ ________ _________ _________ __________ ___________ __________ _________
597.33 NaN 0 1 135 54 0 0.0073529 0.0052632
598.54 NaN 0 2 134 54 0 0.014706 0.010526
601.18 NaN 1 2 134 53 0.018519 0.014706 0.015789
637.3 NaN 1 3 133 53 0.018519 0.022059 0.021053
NaN 0.69421 2 3 133 52 0.037037 0.022059 0.026316
NaN 0.65394 2 4 132 52 0.037037 0.029412 0.031579
NaN 0.64441 2 5 131 52 0.037037 0.036765 0.036842
NaN 0.62799 3 5 131 51 0.055556 0.036765 0.042105
390.86 0.58964 4 5 131 50 0.074074 0.036765 0.047368
404.09 0.57902 6 5 131 48 0.11111 0.036765 0.057895
csc - Компактная модель кредитной карты показателейcompactCreditScorecard объектКомпактная модель кредитной карты показателей, указанная как compactCreditScorecard объект.
Создание compactCreditScorecard объект, использование compactCreditScorecard или compact из Финансового Toolbox™.
data - Данные проверкиДанные проверки, указанные как таблица MATLAB ®, где каждая строка таблицы соответствует отдельным наблюдениям. data должен содержать столбцы для каждого из предикторов в модели кредитной карты показателей. Столбцами данных может быть любой из следующих типов данных:
Числовой
Логичный
Массив ячеек символьных векторов
Символьный массив
Категоричный
Последовательность
Строковый массив
Кроме того, таблица должна содержать двоичную переменную ответа, а имя этого столбца должно совпадать с именем ResponseVar свойство в compactCreditScorecard объект. ( ResponseVar свойство в compactCreditScorecard копируется из ResponseVar свойство оригинала creditscorecard объект.)
Примечание
Если предоставляется другой набор данных проверки с использованием дополнительного data входные значения, веса наблюдения для данных проверки должны быть включены в столбец, имя которого совпадает WeightsVar из оригинала creditscorecard в противном случае для данных проверки используются единичные веса. Дополнительные сведения см. в разделе Использование валидатемодели с весами.
Типы данных: table
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
csc = validatemodel(csc,data,'Plot','CAP')'Plot' - Тип участка'None'
(по умолчанию) | символьный вектор со значениями 'None', 'CAP', 'ROC','KS' | массив ячеек символьных векторов со значениями 'None', 'CAP', 'ROC','KS'Тип графика, определяемый как разделенная запятыми пара, состоящая из 'Plot' и вектор символов с одним из следующих значений:
'None' - График не отображается.
'CAP' - Профиль кумулятивной точности. Строит график доли заемщиков до балла «s» против доли неплательщиков до балла «s» ('PctObs' против 'Sensitivity' столбцы T необязательный выходной аргумент). Дополнительные сведения см. в разделе Профиль кумулятивной точности (CAP).
'ROC' - Рабочая характеристика приемника. Строит график доли неплательщиков до «s» против доли неплательщиков до «s» ('FalseAlarm' против 'Sensitivity' столбцы T необязательный выходной аргумент). Для получения дополнительной информации см. Рабочая характеристика приемника (ROC).
'KS' - Колмогоров-Смирнов. Строит графики каждого балла «s» против доли неплательщиков до балла «s», а также против доли неплательщиков до балла «s» ('Scores' против обоих 'Sensitivity' и 'FalseAlarm' столбцы необязательного выходного аргумента T). Подробнее - в статистике Колмогорова-Смирнова (КС).
Совет
Для опции статистики Колмогорова-Смирнова можно ввести либо 'KS' или 'K-S'.
Типы данных: char | cell
Stats - Проверочные мероприятияМеры проверки, возвращенные как 4около-2 таблица. Первый столбец, 'Measure', содержит названия следующих мер:
Коэффициент точности (AR)
Площадь под кривой ROC (AUROC)
Статистика KS
Оценка КС
Второй столбец, 'Value', содержит значения, соответствующие этим показателям.
T - Данные статистики проверкиДанные статистики проверки, возвращенные как Nоколо-9 таблица данных проверочной статистики, отсортированная по баллам от наиболее рискованных до наиболее безопасных. N равен общему количеству уникальных баллов, то есть баллов без дубликатов.
Стол T содержит следующие девять столбцов в следующем порядке:
'Scores' - Баллы отсортированы от самых рискованных до самых безопасных. Данные в этой строке соответствуют всем наблюдениям вплоть до оценки в этой строке включительно.
'ProbDefault' - Вероятность дефолта для наблюдений в этой строке. Для децилей сообщается средняя вероятность дефолта для всех наблюдений в данном дециле.
'TrueBads' - Совокупное количество «бэдов» до соответствующего балла включительно.
'FalseBads' - Совокупное количество «товаров» до соответствующего балла включительно.
'TrueGoods' - Совокупное количество «товаров» выше соответствующего балла.
'FalseGoods' - Совокупное количество «бэдов» выше соответствующего балла.
'Sensitivity' - Доля неплательщиков (или совокупное число «bads», деленное на общее число «bads»). Это распределение «бэдов» до соответствующего балла включительно.
'FalseAlarm' - Доля лиц, не имеющих права на возмещение (или совокупное число «товаров», деленное на общее число «товаров»). Это распределение «товаров» до соответствующего балла включительно.
'PctObs' - доля заемщиков или совокупное количество наблюдений, деленное на общее количество наблюдений до соответствующего балла включительно.
Примечание
При создании creditscorecard объект с creditscorecard, если необязательный аргумент пары имя-значение WeightsVar был использован для указания веса наблюдения (образца), затем T таблица использует статистику, суммы и кумулятивные суммы, которые являются взвешенными счетчиками.
hf - Выполнить построенные мероприятияРучка фигуры для построенных измерений, возвращаемая как ручка фигуры или массив ручек. Когда Plot имеет значение 'None', hf является пустым массивом.
CAP обычно является вогнутой кривой и также известна как кривая Джини, кривая мощности или кривая Лоренца.
Оценки данных наблюдений сортируются от самых рискованных до самых безопасных. Для данной дроби M (от 0% до 100%) от общего числа заемщиков, высота кривой CAP - доля неплательщиков, баллы которых меньше или равны максимальному баллу доли M. Эта доля неплательщиков также известна как «Чувствительность»..
Площадь под кривой CAP, известная как AUCAP, затем сравнивается с площадью совершенной или «идеальной» модели, что приводит к определению суммарного индекса, известного как коэффициент точности (AR) или коэффициент Джини:
ARAP
где AR - площадь между кривой CAP и диагональю, а AP - площадь между совершенной моделью и диагональю. Это представляет «случайную» модель, где оценки назначаются случайным образом, и, следовательно, доля неплательщиков и ненарушителей не зависит от оценки. Идеальная модель - это модель, для которой всем неплательщикам присваиваются самые низкие баллы, и поэтому идеально различает неплательщиков и неплательщиков. Таким образом, чем ближе к единице AR, тем лучше модель оценки.
Чтобы найти кривую рабочей характеристики приемника (ROC), вычисляется доля неплательщиков до заданной оценки «s», или «Sensitivity».
Эта доля известна как истинный положительный показатель (TPR). Кроме того, также вычисляется доля ненарушителей до оценки «s», или «False Alarm Rate». Эта доля также известна как ложноположительный уровень (FPR). Кривая ROC представляет собой график «Чувствительность» и «Частота ложных аварийных сигналов». Вычисление кривой ROC аналогично вычислению эквивалента матрицы путаницы на каждом уровне оценки.
Аналогично CAP, ROC имеет сводную статистику, известную как площадь под кривой ROC (AUROC). Чем ближе к единству, тем лучше бомбардирская модель. Коэффициент точности (AR) связан с площадью под кривой по следующей формуле:
) − 1
График Колмогорова - Смирнова (КС), также известный как граф рыбий глаз, является распространённой статистикой для измерения прогностической силы оценочных карт.
На участке КС показано распределение неплательщиков и распределение недефолтеров на одном участке. Для распределения неплательщиков каждый балл «s» выставляется против доли неплательщиков до «s», или «Sensitivity». Для распределения неплательщиков каждый балл «s» выставляется против доли неплательщиков до «s», или «Ложная тревога». Интересующая статистика называется статистикой KS и является максимальной разницей между этими двумя распределениями («Sensitivity» минус «False Alarm»). Оценка, при которой достигается этот максимум, также представляет интерес.
validatemodel с весамиПри предоставлении весов наблюдения validatemodel функция включает веса наблюдения при расчете статистики валидации модели.
Если веса не указаны, статистика проверки основана на том, сколько хороших и плохих наблюдений опускается ниже определенного балла. Если вы предоставляете веса, вес (не счет) накапливается для хорошего и плохих наблюдений, которые опускаются ниже определенного балла.
При определении весов наблюдения с помощью необязательного параметра WeightsVar аргумент пары имя-значение при создании creditscorecard , веса, сохраненные в WeightsVar используются при проверке модели на данных обучения. При предоставлении другого набора данных проверки с использованием дополнительного data входные значения, веса наблюдения для данных проверки должны быть включены в столбец, имя которого совпадает WeightsVar. В противном случае для набора данных проверки используются веса единиц измерения.
Веса наблюдений данных обучения влияют не только на статистику проверки, но и на сами показатели кредитной карты показателей. Дополнительные сведения см. в разделе Использование фитмодели с весами и моделирование кредитных карт показателей с использованием весов наблюдений.
[1] «Базельский комитет по банковскому надзору: исследования по проверке внутренних рейтинговых систем». Рабочий документ № 14, февраль 2005 года.
[2] Рефаат, М. Карты оценки кредитных рисков: разработка и внедрение с использованием SAS. lulu.com, 2011.
[3] Лоэффлер, Г. и П. Н. Пош. Моделирование кредитных рисков с использованием Excel и VBA. Уайли Финанс, 2007.
compactCreditScorecard | displaypoints | probdefault | score
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.