Подбор логистической регрессионной модели к данным о весе доказательств (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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.