Подбор логистической регрессионной модели к данным о весе доказательств (WOE)
подбирает логистическую регрессионую модель к данным о весе доказательств (WOE) и хранит имена предикторов модели и соответствующие коэффициенты в sc = fitmodel(sc)creditscorecard объект.
fitmodel внутренне преобразует все переменные предиктора в значения WOE, используя интервалы, найденные в процессе автоматического или ручного раскладывания. Переменная отклика сопоставлена так, что «Good» 1, и «Плохо» 0. Это подразумевает, что более высокие (не масштабированные) счета соответствуют лучшим (менее рискованным) индивидуумам (меньшая вероятность дефолта).
Также можно использовать setmodel предоставить имена предикторов, которые вы хотите в логистической регрессионой модели, наряду с их соответствующими коэффициентами.
[ подбирает логистическую регрессионую модель к данным о весе доказательств (WOE) и хранит имена предикторов модели и соответствующие коэффициенты в sc,mdl]
= fitmodel(sc)creditscorecard объект. fitmodel возвращает обновленный creditscorecard объект и GeneralizedLinearModel объект, содержащий подобранную модель.
fitmodel внутренне преобразует все переменные предиктора в значения WOE, используя интервалы, найденные в процессе автоматического или ручного раскладывания. Переменная отклика сопоставлена так, что «Good» 1, и «Плохо» 0. Это подразумевает, что более высокие (не масштабированные) счета соответствуют лучшим (менее рискованным) индивидуумам (меньшая вероятность дефолта).
Также можно использовать setmodel предоставить имена предикторов, которые вы хотите в логистической регрессионой модели, наряду с их соответствующими коэффициентами.
[ подбирает логистическую регрессионую модель к данным о весе доказательств (WOE) с помощью необязательных аргументов пары "имя-значение" и хранит имена предикторов модели и соответствующие коэффициенты в sc,mdl]
= fitmodel(___,Name,Value)creditscorecard объект. Используя аргументы пары "имя-значение", можно выбрать, какая Обобщенная Линейная Модель будет соответствовать данным. fitmodel возвращает обновленный creditscorecard объект и GeneralizedLinearModel объект, содержащий подобранную модель.
Создайте creditscorecard объект с использованием CreditCardData.mat файл для загрузки data (использование набора данных из Refaat 2011).
load CreditCardData 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]
Выполните автоматическое раскладывание.
sc = autobinning(sc)
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]
Использование fitmodel для подбора логистической регрессионной модели с использованием данных о весе доказательств (WOE). fitmodel внутренне преобразует все переменные предиктора в значения WOE, используя интервалы, найденные в процессе автоматического раскладывания. fitmodel затем подходит для логистической регрессионной модели с помощью пошагового метода (по умолчанию).
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
Используйте CreditCardData.mat файл для загрузки данных (dataWeights), который содержит столбец (RowWeights) для весов (использование набора данных из Refaat 2011).
load CreditCardDataСоздайте 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]
Выполните автоматическое раскладывание.
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]
Использование fitmodel для подбора логистической регрессионной модели с использованием данных о весе доказательств (WOE). fitmodel внутренне преобразует все переменные предиктора в значения WOE, используя интервалы, найденные в процессе автоматического раскладывания. fitmodel затем подходит для логистической регрессионной модели с помощью пошагового метода (по умолчанию). Когда необязательный аргумент пары "имя-значение" 'WeightsVar' используется для задания весов наблюдений (выборки), mdl выход использует взвешенные счетчики с stepwiseglm и fitglm.
[sc,mdl] = 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
Создайте creditscorecard объект с использованием CreditCardData.mat файл для загрузки data (использование набора данных из Refaat 2011).
load CreditCardData 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]
Выполните автоматическое раскладывание.
sc = autobinning(sc,'Algorithm','EqualFrequency')
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]
Использование fitmodel для подбора логистической регрессионной модели с использованием данных о весе доказательств (WOE). fitmodel внутренне преобразует все переменные предиктора в значения WOE, используя интервалы, найденные в процессе автоматического раскладывания. Установите VariableSelection аргумент пары "имя-значение" в FullModel чтобы указать, что все предикторы должны быть включены в подобранную модель логистической регрессии.
sc = fitmodel(sc,'VariableSelection','FullModel');
Generalized linear regression model:
status ~ [Linear formula with 10 terms in 9 predictors]
Distribution = Binomial
Estimated Coefficients:
Estimate SE tStat pValue
________ ________ _______ _________
(Intercept) 0.70262 0.063862 11.002 3.734e-28
CustAge 0.57683 0.27064 2.1313 0.033062
TmAtAddress 1.0653 0.55233 1.9287 0.053762
ResStatus 1.4189 0.65162 2.1775 0.029441
EmpStatus 0.89916 0.29217 3.0776 0.002087
CustIncome 0.77506 0.21942 3.5323 0.0004119
TmWBank 1.0826 0.26583 4.0727 4.648e-05
OtherCC 1.1354 0.52827 2.1493 0.031612
AMBalance 0.99315 0.32642 3.0425 0.0023459
UtilRate 0.16723 0.55745 0.29999 0.76419
1200 observations, 1190 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 85.6, p-value = 1.25e-14
Создайте 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
fprintf('Number of rows: %d\n',height(dataMissing))Number of rows: 1200
fprintf('Number of missing values CustAge: %d\n',sum(ismissing(dataMissing.CustAge)))Number of missing values CustAge: 30
fprintf('Number of missing values ResStatus: %d\n',sum(ismissing(dataMissing.ResStatus)))Number of missing values ResStatus: 40
Использование creditscorecard с аргументом имя-значение 'BinMissingData' установлено на true для ввода отсутствующих числовых или категорийных данных в отдельное интервал.
sc = creditscorecard(dataMissing,'IDVar','CustID','BinMissingData',true); sc = autobinning(sc); disp(sc)
creditscorecard with properties:
GoodLabel: 0
ResponseVar: 'status'
WeightsVar: ''
VarNames: {1×11 cell}
NumericPredictors: {'CustAge' 'TmAtAddress' 'CustIncome' 'TmWBank' 'AMBalance' 'UtilRate'}
CategoricalPredictors: {'ResStatus' 'EmpStatus' 'OtherCC'}
BinMissingData: 1
IDVar: 'CustID'
PredictorVars: {1×9 cell}
Data: [1200×11 table]
Отобразите и постройте график информации о интервале для числовых данных для 'CustAge' который включает отсутствующие данные в отдельном интервале, маркированном <missing>.
[bi,cp] = bininfo(sc,'CustAge');
disp(bi) Bin Good Bad Odds WOE InfoValue
_____________ ____ ___ ______ ________ __________
{'[-Inf,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
plotbins(sc,'CustAge')
Отображение и построение графика информации о интервале для категориальных данных для 'ResStatus' который включает отсутствующие данные в отдельном интервале, маркированном <missing>.
[bi,cg] = 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
plotbins(sc,'ResStatus')
Использование fitmodel для подбора логистической регрессионной модели с использованием данных о весе доказательств (WOE). fitmodel внутренне преобразует все переменные предиктора в значения WOE, используя интервалы, найденные в процессе автоматического раскладывания. fitmodel затем подходит для логистической регрессионной модели с помощью пошагового метода (по умолчанию). Для предикторов, которые имеют отсутствующие данные, существует явное <missing> интервал с соответствующим значением WOE, вычисленным из данных. При использовании fitmodelсоответствующее значение ГОРЕ для < отсутствующего > интервала применяется при выполнении преобразования ГОРЕ. Например, отсутствующее значение для возраста клиента (CustAge) заменяется на -0.15787 которое является значением ГОРЕ для <missing> интервал для CustAge предиктор. Однако, когда 'BinMissingData' false, отсутствующее значение для CustAge остатки как отсутствующие (NaN) при применении преобразования ГОРЕ.
[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:
logit(status) ~ 1 + CustAge + ResStatus + EmpStatus + CustIncome + TmWBank + OtherCC + AMBalance
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
sc - Модель карты показателей кредитаcreditscorecard объектМодель карты показателей кредита, заданная как creditscorecard объект. Использование creditscorecard для создания creditscorecard объект.
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
[sc,mdl] = fitmodel(sc,'VariableSelection','FullModel')'PredictorVars' - Переменные предиктора для подбора кривой creditscorecard объектcreditscorecard объект (по умолчанию) | массив ячеек из векторов символовПеременные предиктора для подбора кривой creditscorecard объект, заданный как разделенная разделенными запятой парами, состоящая из 'PredictorVars' и массив ячеек из векторов символов. Когда предусмотрено, creditscorecard свойство объекта PredictorsVars обновляется. Обратите внимание, что порядок предикторов в исходном наборе данных принудителен, независимо от порядка, в котором 'PredictorVars' предоставляется. Когда это не предусмотрено, предикторы использовали для создания creditscorecard объект (при помощи creditscorecard) используются.
Типы данных: cell
'VariableSelection' - Метод выбора переменных для соответствия логистической регрессионой модели'Stepwise'
(по умолчанию) | символьный вектор со значениями 'Stepwise', 'FullModel'Метод выбора переменных для соответствия логистической регрессионой модели, заданный как разделенная разделенными запятой парами, состоящая из 'VariableSelection' и вектор символов со значениями 'Stepwise' или 'FullModel':
Stepwise - Использует пошаговый метод выбора, который вызывает функцию Statistics and Machine Learning Toolbox™ stepwiseglm. Только переменные в PredictorVars потенциально может стать частью модели и использует StartingModel аргумент пары "имя-значение" для выбора стартовой модели.
FullModel - Подходит для модели со всеми переменными предиктора в PredictorVars Аргумент пары "имя-значение" и звонки fitglm.
Примечание
Только переменные в PredictorVars свойство creditscorecard объект может потенциально стать частью логистической регрессионой модели и только линейные условия включены в эту модель без взаимодействий или любых других членов более высокого порядка.
Переменная отклика сопоставлена так, что «Good» 1 а «Плохой» 0.
Типы данных: char
'StartingModel' - Начальная модель для Stepwise выбор переменной'Constant'
(по умолчанию) | символьный вектор со значениями 'Constant', 'Linear'Начальная модель для Stepwise метод выбора переменной, заданный как разделенная разделенными запятой парами, состоящая из 'StartingModel' и вектор символов со значениями 'Constant' или 'Linear'. Эта опция определяет начальную модель (постоянную или линейную), которую функция Statistics and Machine Learning Toolbox stepwiseglm начинается с.
Constant - Запускает пошаговый метод с пустой (только для константы) моделью.
Linear - Запускает пошаговый метод из полной (все предикторы в) модели.
Примечание
StartingModel используется только для Stepwise опция VariableSelection и не имеет эффекта для FullModel опция VariableSelection.
Типы данных: char
'Display' - Индикатор для отображения информации о модели в командной строке'On'
(по умолчанию) | символьный вектор со значениями 'On', 'Off'Индикатор для отображения информации о модели в командной строке, заданный как разделенная разделенными запятой парами, состоящая из 'Display' и вектор символов со значением 'On' или 'Off'.
Типы данных: char
sc - Модель карты показателей кредитаcreditscorecard объектМодель карты показателей кредита, возвращенная как обновленная creditscorecard объект. The creditscorecard объект содержит информацию о предикторах модели и коэффициентах, используемых для соответствия данным WOE. Для получения дополнительной информации об использовании creditscorecard объект, см. creditscorecard.
mdl - Подобранная логистическая модельGeneralizedLinearModel объектПодобранная логистическая модель, переделанная как объект типа GeneralizedLinearModel содержащая подобранную модель. Для получения дополнительной информации о GeneralizedLinearModel объект, см. GeneralizedLinearModel.
Примечание
При создании creditscorecard объект с creditscorecard, если необязательный аргумент пары "имя-значение" WeightsVar использовался для определения весов наблюдений (выборки), затем mdl использует взвешенные счетчики с stepwiseglm и fitglm.
fitmodel с весамиКогда веса наблюдений указаны в карте показателей кредита dataвеса используются для калибровки коэффициентов модели.
Базовая функциональность Statistics and Machine Learning Toolbox для stepwiseglm и fitglm поддерживает веса наблюдений. Веса также влияют на логистическую модель через значения ГОРЕ. Преобразование ГОРЕ применяется ко всем предикторам перед подгонкой логистической модели. Веса наблюдений непосредственно влияют на значения ГОРЕ. Для получения дополнительной информации смотрите Использование bininfo с весами и Моделирование кредитной карты показателей с использованием весов наблюдений.
Поэтому точки кредитной карты результатов и итоговый счет зависят от весов наблюдений как через коэффициенты логистической модели, так и от значений ГОРЕ.
Логистическая регрессионая модель используется в creditscorecard объект.
Для модели вероятность быть «Плохой» определяется как: ProbBad = exp(-s) / (1 + exp(-s)).
[1] Anderson, R. The Credit Scoring Toolkit. Oxford University Press, 2007.
[2] Refaat, M. Кредитные карты оценки риска: Разработка и реализация с использованием SAS. lulu.com, 2011.
autobinning | bindata | bininfo | creditscorecard | displaypoints | fitConstrainedModel | fitglm | formatpoints | GeneralizedLinearModel | modifybins | modifypredictor | plotbins | predictorinfo | probdefault | score | setmodel | stepwiseglm | validatemodel
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.