displaypoints

Возвратите точки на предиктор на интервал для compactCreditScorecard объект

Описание

пример

PointsInfo = displaypoints(csc) возвращает таблицу точек для всех интервалов всех переменных предикторов, используемых в compactCreditScorecard объект. PointsInfo таблица показывает информацию об имени предиктора, метках интервала и соответствующих точках на интервал.

пример

[PointsInfo,MinScore,MaxScore] = displaypoints(csc) возвращает таблицу точек для всех интервалов всех переменных предикторов, используемых в compactCreditScorecard объект. PointsInfo таблица показывает информацию об имени предиктора, метках интервала и соответствующих точках на интервал и displaypoints. Кроме того, дополнительный MinScore и MaxScore значения возвращены.

пример

[PointsInfo,MinScore,MaxScore] = displaypoints(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

Создать compactCreditScorecard объект, сначала создайте creditscorecard объект с помощью CreditCardData.mat файл, чтобы загрузить data (использование набора данных от Refaat 2011).

load CreditCardData.mat 
sc = creditscorecard(data)
sc = 
  creditscorecard with properties:

                GoodLabel: 0
              ResponseVar: 'status'
               WeightsVar: ''
                 VarNames: {1x11 cell}
        NumericPredictors: {1x7 cell}
    CategoricalPredictors: {'ResStatus'  'EmpStatus'  'OtherCC'}
           BinMissingData: 0
                    IDVar: ''
            PredictorVars: {1x10 cell}
                     Data: [1200x11 table]

Прежде, чем создать compactCreditScorecard объект, необходимо использовать autobinning и fitmodel с creditscorecard объект.

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

Используйте creditscorecard объект с compactCreditScorecard создать compactCreditScorecard объект.

csc = compactCreditScorecard(sc)
csc = 
  compactCreditScorecard with properties:

              Description: ''
                GoodLabel: 0
              ResponseVar: 'status'
               WeightsVar: ''
        NumericPredictors: {'CustAge'  'CustIncome'  'TmWBank'  'AMBalance'}
    CategoricalPredictors: {'ResStatus'  'EmpStatus'  'OtherCC'}
            PredictorVars: {1x7 cell}

Затем используйте displaypoints с compactCreditScorecard возразите, чтобы возвратить таблицу точек для всех интервалов всех переменных предикторов, используемых в compactCreditScorecard объект.

[PointsInfo,MinScore,MaxScore] = displaypoints(csc)
PointsInfo=37×3 table
      Predictors            Bin            Points  
    ______________    ________________    _________

    {'CustAge'   }    {'[-Inf,33)'   }     -0.15894
    {'CustAge'   }    {'[33,37)'     }     -0.14036
    {'CustAge'   }    {'[37,40)'     }    -0.060323
    {'CustAge'   }    {'[40,46)'     }     0.046408
    {'CustAge'   }    {'[46,48)'     }      0.21445
    {'CustAge'   }    {'[48,58)'     }      0.23039
    {'CustAge'   }    {'[58,Inf]'    }        0.479
    {'CustAge'   }    {'<missing>'   }          NaN
    {'ResStatus' }    {'Tenant'      }    -0.031252
    {'ResStatus' }    {'Home Owner'  }      0.12696
    {'ResStatus' }    {'Other'       }      0.37641
    {'ResStatus' }    {'<missing>'   }          NaN
    {'EmpStatus' }    {'Unknown'     }    -0.076317
    {'EmpStatus' }    {'Employed'    }      0.31449
    {'EmpStatus' }    {'<missing>'   }          NaN
    {'CustIncome'}    {'[-Inf,29000)'}     -0.45716
      ⋮

MinScore = -1.3100
MaxScore = 3.0726

displaypoints всегда отображает '<missing>' интервал для каждого предиктора. Значение '<missing>' интервал прибывает из начального creditscorecard объект и '<missing>' интервал установлен в NaN каждый раз, когда модель протокола результатов не имеет никакой информации о том, как присвоить точки недостающим данным.

Сконфигурировать точки для '<missing>' интервал, необходимо использовать начальный creditscorecard объект. Для предикторов, которые имеют отсутствующие значения в наборе обучающих данных, точках для '<missing>' интервал оценивается из данных если 'BinMissingData' аргумент пары "имя-значение" установлен в true использование creditscorecard. Когда 'BinMissingData' параметр устанавливается на false, или когда данные не содержат отсутствующих значений в наборе обучающих данных, используйте 'Missing' аргумент пары "имя-значение" в formatpoints указать, как присвоить точки недостающим данным. Затем восстановите compactCreditScorecard возразите и повторно выполните displaypoints. Вот пример этого рабочего процесса:

sc = formatpoints(sc,'Missing','minpoints');
csc = compactCreditScorecard(sc);
[PointsInfo,MinScore,MaxScore] = displaypoints(csc)
PointsInfo=37×3 table
      Predictors            Bin            Points  
    ______________    ________________    _________

    {'CustAge'   }    {'[-Inf,33)'   }     -0.15894
    {'CustAge'   }    {'[33,37)'     }     -0.14036
    {'CustAge'   }    {'[37,40)'     }    -0.060323
    {'CustAge'   }    {'[40,46)'     }     0.046408
    {'CustAge'   }    {'[46,48)'     }      0.21445
    {'CustAge'   }    {'[48,58)'     }      0.23039
    {'CustAge'   }    {'[58,Inf]'    }        0.479
    {'CustAge'   }    {'<missing>'   }     -0.15894
    {'ResStatus' }    {'Tenant'      }    -0.031252
    {'ResStatus' }    {'Home Owner'  }      0.12696
    {'ResStatus' }    {'Other'       }      0.37641
    {'ResStatus' }    {'<missing>'   }    -0.031252
    {'EmpStatus' }    {'Unknown'     }    -0.076317
    {'EmpStatus' }    {'Employed'    }      0.31449
    {'EmpStatus' }    {'<missing>'   }    -0.076317
    {'CustIncome'}    {'[-Inf,29000)'}     -0.45716
      ⋮

MinScore = -1.3100
MaxScore = 3.0726

Создать compactCreditScorecard объект, сначала создайте creditscorecard объект с помощью CreditCardData.mat файл, чтобы загрузить data (использование набора данных от Refaat 2011). Используя dataMissing набор данных, набор 'BinMissingData' индикатор to true.

load CreditCardData.mat 
sc = creditscorecard(dataMissing,'BinMissingData',true); 

Прежде, чем создать compactCreditScorecard объект, необходимо использовать autobinning и fitmodel с creditscorecard объект. Во-первых, используйте autobinning с creditscorecard объект.

sc = autobinning(sc);

Карта раскладывания или правила для категориальных данных получены в итоге в "таблице" группировки категории, возвращенной как дополнительный выход. По умолчанию каждая категория помещается в отдельный интервал. Вот является информация для предиктора ResStatus.

[bi,cg] = bininfo(sc,'ResStatus')
bi=5×6 table
         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

cg=3×2 table
       Category       BinNumber
    ______________    _________

    {'Tenant'    }        1    
    {'Home Owner'}        2    
    {'Other'     }        3    

К категориям группы 'Tenant' и 'Other', измените таблицу cg группировки категории, так номер интервала для 'Other' совпадает с номером интервала для 'Tenant'. Затем используйте modifybins обновить creditscorecard объект.

cg.BinNumber(3) = 2; 
sc = modifybins(sc,'ResStatus','Catg',cg); 

Отобразите обновленную информацию об интервале с помощью bininfo. Обратите внимание на то, что метки интервала были обновлены и что информация о членстве в интервале содержится в категории, группирующей cg.

[bi,cg] = bininfo(sc,'ResStatus')
bi=4×6 table
         Bin         Good    Bad     Odds        WOE       InfoValue 
    _____________    ____    ___    ______    _________    __________

    {'Group1'   }    296     161    1.8385    -0.095463     0.0035249
    {'Group2'   }    480     223    2.1525     0.062196     0.0022419
    {'<missing>'}     27      13    2.0769     0.026469    2.3248e-05
    {'Totals'   }    803     397    2.0227          NaN       0.00579

cg=3×2 table
       Category       BinNumber
    ______________    _________

    {'Tenant'    }        1    
    {'Home Owner'}        2    
    {'Other'     }        2    

Используйте formatpoints с 'Missing' аргумент пары "имя-значение", чтобы указать, что недостающими данными является присвоенный 'maxpoints'.

sc = formatpoints(sc,'BasePoints',true,'Missing','maxpoints','WorstAndBest',[300 800]); 

Используйте fitmodel подбирать модель.

sc = fitmodel(sc,'VariableSelection','fullmodel','Display','Off'); 

Используйте creditscorecard объект с compactCreditScorecard создать compactCreditScorecard объект.

csc = compactCreditScorecard(sc)
csc = 
  compactCreditScorecard with properties:

              Description: ''
                GoodLabel: 0
              ResponseVar: 'status'
               WeightsVar: ''
        NumericPredictors: {1x7 cell}
    CategoricalPredictors: {'ResStatus'  'EmpStatus'  'OtherCC'}
            PredictorVars: {1x10 cell}

Затем используйте displaypoints с compactCreditScorecard возразите, чтобы возвратить таблицу точек для всех интервалов всех переменных предикторов, используемых в compactCreditScorecard объект. Путем установки displaypoints аргумент пары "имя-значение" для 'ShowCategoricalMembers' к true, все члены, содержавшиеся в каждой отдельной группе, отображены.

[PointsInfo,MinScore,MaxScore] = displaypoints(csc,'ShowCategoricalMembers',true)
PointsInfo=51×3 table
      Predictors            Bin          Points 
    _______________    ______________    _______

    {'BasePoints' }    {'BasePoints'}     535.25
    {'CustID'     }    {'[-Inf,121)'}     12.085
    {'CustID'     }    {'[121,241)' }     5.4738
    {'CustID'     }    {'[241,1081)'}    -1.4061
    {'CustID'     }    {'[1081,Inf]'}    -7.2217
    {'CustID'     }    {'<missing>' }     12.085
    {'CustAge'    }    {'[-Inf,33)' }    -25.973
    {'CustAge'    }    {'[33,37)'   }     -22.67
    {'CustAge'    }    {'[37,40)'   }    -17.122
    {'CustAge'    }    {'[40,46)'   }    -2.8071
    {'CustAge'    }    {'[46,48)'   }     9.5034
    {'CustAge'    }    {'[48,51)'   }     10.913
    {'CustAge'    }    {'[51,58)'   }     13.844
    {'CustAge'    }    {'[58,Inf]'  }     37.541
    {'CustAge'    }    {'<missing>' }    -9.7271
    {'TmAtAddress'}    {'[-Inf,23)' }    -9.3683
      ⋮

MinScore = 300.0000
MaxScore = 800.0000

Входные параметры

свернуть все

Компактная модель протокола результатов кредита в виде compactCreditScorecard объект.

Создать compactCreditScorecard объект, используйте compactCreditScorecard или compact от Financial Toolbox™.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: [PointsInfo,MinScore,MaxScore] = displaypoints(csc,'ShowCategoricalMembers',true)

Индикатор для того, как отобразить метки интервалов категорий, которые группировались в виде разделенной запятой пары, состоящей из 'ShowCategoricalMembers' и логический скаляр со значением true или false.

По умолчанию, когда 'ShowCategoricalMembers' false, метки интервала отображены как Group1, Group2, …, Groupn, или если метки интервала были изменены в creditscorecard, затем пользовательские имена метки интервала отображены.

Если 'ShowCategoricalMembers' true, все члены, содержавшиеся в каждой отдельной группе, отображены.

Типы данных: логический

Выходные аргументы

свернуть все

Одна строка на интервал, на предиктор, с соответствующими точками, возвратилась как таблица. Например:

ПредикторыИнтервал'points'
Predictor_1Bin_11Points_11
Predictor_1Bin_12Points_12
Predictor_1Bin_13Points_13
 ......
Predictor_1'<missing>'NaN (Значение по умолчанию)
Predictor_2Bin_21Points_21
Predictor_2Bin_22Points_22
Predictor_2Bin_23Points_23
 ......
Predictor_2'<missing>'NaN (Значение по умолчанию)
Predictor_jBin_jiPoints_ji
 ......
Predictor_j'<missing>'NaN (Значение по умолчанию)

displaypoints всегда отображает '<missing>' интервал для каждого предиктора. Значение '<missing>' интервал прибывает из начального creditscorecard объект и '<missing>' интервал установлен в NaN каждый раз, когда модель протокола результатов не имеет никакой информации о том, как присвоить точки недостающим данным.

Сконфигурировать точки для '<missing>' интервал, необходимо использовать начальный creditscorecard объект. Для предикторов, которые имеют отсутствующие значения в наборе обучающих данных, точках для '<missing>' интервал оценивается из данных если 'BinMissingData' аргумент пары "имя-значение" для установлен в true использование creditscorecard. Когда 'BinMissingData' параметр устанавливается на false, или когда данные не содержат отсутствующих значений в наборе обучающих данных, используйте 'Missing' аргумент пары "имя-значение" в formatpoints указать, как присвоить точки недостающим данным. Затем восстановите compactCreditScorecard возразите и повторно выполните displaypoints.

Когда о базисных точках сообщат отдельно (см. formatpoints), первая строка возвращенного PointsInfo таблица содержит базисные точки.

Минимальный возможный общий счет, возвращенный как скаляр.

Примечание

Минимальный счет является самым низким общим счетом в математическом смысле, независимо от того, означает ли низкий балл высокий риск или низкий риск.

Максимальный возможный общий счет, возвращенный как скаляр.

Примечание

Максимальный счет является максимально возможным общим счетом в математическом смысле, независимо от того, означает ли высокий счет высокий риск или низкий риск.

Алгоритмы

Точками для предиктора j и интервал i, по умолчанию, дают

Points_ji = (Shift + Slope*b0)/p + Slope*(bj*WOEj(i))
где bj является коэффициентом модели предиктора j, p является количеством предикторов в модели, и WOEj (i) является значением Веса доказательства (WOE) для i-th интервал, соответствующий j-th предиктору модели. Shift и Slope масштабируют константы.

Когда о базисных точках сообщат отдельно (см. formatpoints аргумент пары "имя-значение" BasePoints), базисными точками дают

Base Points = Shift + Slope*b0,
и точки для j-th предиктор, i-th строка дают
Points_ji = Slope*(bj*WOEj(i))).

По умолчанию о базисных точках не сообщают отдельно.

Минимальные и максимальные баллы:

MinScore = Shift + Slope*b0 + min(Slope*b1*WOE1) + ... +min(Slope*bp*WOEp)),
MaxScore = Shift + Slope*b0 + max(Slope*b1*WOE1) + ... +max(Slope*bp*WOEp)).

Использование formatpoints чтобы управлять путем, точки масштабируются, округляются, и сообщают ли о базисных точках отдельно. Смотрите formatpoints для получения дополнительной информации о параметрах формата и для деталей и формул на этих параметрах форматирования.

Ссылки

[1] Андерсон, R. Инструментарий рейтинга кредитоспособности. Издательство Оксфордского университета, 2007.

[2] Refaat, M. Протоколы результатов Кредитного риска: Разработка и Реализация Используя SAS. lulu.com, 2011.

Введенный в R2019a