Подбирайте модель логистической регрессии к данным о Весе доказательства (WOE)
подбирает модель логистической регрессии к данным о Весе доказательства (WOE) и хранит имена предиктора модели и соответствующие коэффициенты в sc
= fitmodel(sc
)creditscorecard
объект.
fitmodel
внутренне преобразовывает все переменные предикторы в значения WOE, с помощью интервалов, найденных с автоматическим или ручным процессом раскладывания. Переменная отклика сопоставлена так, чтобы "Хороший" был 1
, и "Плохо" 0
. Это подразумевает, что выше (немасштабированные) баллы соответствуют лучше (менее опасным) индивидуумам (меньшая вероятность значения по умолчанию).
В качестве альтернативы можно использовать setmodel
обеспечить имена предикторов, которые вы хотите в модели логистической регрессии, наряду с их соответствующими коэффициентами.
[
подбирает модель логистической регрессии к данным о Весе доказательства (WOE) и хранит имена предиктора модели и соответствующие коэффициенты в sc
,mdl
]
= fitmodel(sc
)creditscorecard
объект. fitmodel
возвращает обновленный creditscorecard
возразите и GeneralizedLinearModel
объект, содержащий подобранную модель.
fitmodel
внутренне преобразовывает все переменные предикторы в значения WOE, с помощью интервалов, найденных с автоматическим или ручным процессом раскладывания. Переменная отклика сопоставлена так, чтобы "Хороший" был 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: {1x11 cell} NumericPredictors: {1x6 cell} CategoricalPredictors: {'ResStatus' 'EmpStatus' 'OtherCC'} BinMissingData: 1 IDVar: 'CustID' PredictorVars: {1x9 cell} Data: [1200x11 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
, соответствующее значение WOE для <недостающего> интервала применяется при выполнении преобразования WOE. Например, отсутствующее значение для потребительского возраста (CustAge
) заменяется -0.15787
который является значением WOE для <missing>
интервал для CustAge
предиктор. Однако, когда 'BinMissingData'
является ложным, отсутствующее значение для CustAge
остается как отсутствующий (NaN
) при применении преобразования 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
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
объект может потенциально стать частью логистической регрессии и только линейные члены, модели включены в эту модель без взаимодействий или любые другие условия высшего порядка.
Переменная отклика сопоставлена так, чтобы “Хороший” был 1
и “Плохо” 0
.
Типы данных: char
'StartingModel'
— Первоначальная модель для Stepwise
выбор переменной'Constant'
(значение по умолчанию) | вектор символов со значениями 'Constant'
, 'Linear'
Первоначальная модель для Stepwise
метод выбора переменной в виде разделенной запятой пары, состоящей из 'StartingModel'
и вектор символов со значениями 'Constant'
или 'Linear'
. Эта опция определяет первоначальную модель (постоянный или линейный), что Statistics and Machine Learning Toolbox функционирует stepwiseglm
startsWith.
Constant
— Начинает пошаговый метод с пустого (постоянный только) модель.
Linear
— Запускает пошаговый метод с полного (все предикторы в) модель.
Примечание
StartingModel
используется только для Stepwise
опция VariableSelection
и не оказывает влияния для FullModel
опция VariableSelection
.
Типы данных: char
'Display'
— Индикатор к информации о модели дисплея в командной строке'On'
(значение по умолчанию) | вектор символов со значениями 'On'
off
Индикатор к информации о модели дисплея в командной строке в виде разделенной запятой пары, состоящей из 'Display'
и вектор символов со значением 'On'
или 'Off'
.
Типы данных: char
sc
— Модель протокола результатов кредитаcreditscorecard
объектМодель протокола результатов кредита, возвращенная как обновленный creditscorecard
объект. creditscorecard
объект содержит информацию о предикторах модели, и коэффициенты раньше соответствовали данным WOE. Для получения дополнительной информации об использовании creditscorecard
возразите, смотрите creditscorecard
.
mdl
— Подбиравшая логистическая модельGeneralizedLinearModel
объектПодбиравшая логистическая модель, повторно настроенная как объект типа GeneralizedLinearModel
содержа подобранную модель. Для получения дополнительной информации о GeneralizedLinearModel
возразите, смотрите GeneralizedLinearModel
.
Примечание
При создании creditscorecard
объект с creditscorecard
, если дополнительный аргумент пары "имя-значение" WeightsVar
использовался, чтобы задать наблюдение (выборка) веса, затем mdl
использует взвешенные количества с stepwiseglm
и fitglm
.
fitmodel
с ВесамиКогда веса наблюдения обеспечиваются в протоколе результатов кредита data
, веса используются, чтобы калибровать коэффициенты модели.
Базовая функциональность Statistics and Machine Learning Toolbox для stepwiseglm
и fitglm
веса наблюдения поддержек. Веса также влияют на логистическую модель через значения WOE. Преобразование WOE применяется ко всем предикторам прежде, чем подбирать логистическую модель. Веса наблюдения непосредственно влияют на значения WOE. Для получения дополнительной информации смотрите Используя bininfo с Весами и Моделированием Протокола результатов Кредита Используя Веса Наблюдения.
Поэтому точки протокола результатов кредита и итоговый счет зависят от весов наблюдения и через логистические коэффициенты модели и через значения WOE.
Модель логистической регрессии используется в creditscorecard
объект.
Для модели вероятность того, чтобы быть “Плохим” задана как: ProbBad = exp(-s) / (1 + exp(-s))
.
[1] Андерсон, R. Инструментарий рейтинга кредитоспособности. Издательство Оксфордского университета, 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.