score

Вычислите кредитные рейтинги для определенных данных

Описание

пример

Scores = score(sc) вычисляет кредитные рейтинги для creditscorecard обучающие данные объекта. Эти данные могут быть “обучением” или “живым” набором данных. Если data входной параметр явным образом не обеспечивается, score функция определяет музыку к существующему creditscorecard данные объекта.

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

пример

Scores = score(sc, data) вычисляет кредитные рейтинги для данного входа data. Эти данные могут быть “обучением” или “живым” набором данных.

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

пример

[Scores,Points] = score(sc) вычисляет кредитные рейтинги и точки для определенных данных. Если data входной параметр явным образом не обеспечивается, score функция определяет музыку к существующему creditscorecard данные объекта.

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

пример

[Scores,Points] = score(sc,data) вычисляет кредитные рейтинги и точки для данного входа data. Эти данные могут быть “обучением” или “живым” набором данных.

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

Примеры

свернуть все

В этом примере показано, как использовать score получить музыку к обучающим данным.

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

load CreditCardData 
sc = creditscorecard(data,'IDVar','CustID');

Выполните автоматическое раскладывание к интервалу для всех предикторов.

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

Выиграйте обучающие данные с помощью score функция без дополнительного входа для data. По умолчанию это возвращает немасштабированные баллы. Для краткости только отображены первые десять баллов.

Scores = score(sc);
disp(Scores(1:10))
    1.0968
    1.4646
    0.7662
    1.5779
    1.4535
    1.8944
   -0.0872
    0.9207
    1.0399
    0.8252

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

sc = formatpoints(sc,'WorstAndBestScores',[300 850]);
[Scores,Points] = score(sc);
disp(Scores(1:10))
  602.0394
  648.1988
  560.5569
  662.4189
  646.8109
  702.1398
  453.4572
  579.9475
  594.9064
  567.9533
disp(Points(1:10,:))
    CustAge    ResStatus    EmpStatus    CustIncome    TmWBank    OtherCC    AMBalance
    _______    _________    _________    __________    _______    _______    _________

    95.256      62.421       56.765        121.18      116.05     86.224       64.15  
    126.46      82.276       105.81        121.18      62.107     86.224       64.15  
    93.256      62.421       105.81        76.585      116.05     42.287       64.15  
    95.256      82.276       105.81        121.18      60.719     86.224      110.96  
    126.46      82.276       105.81        121.18      60.719     86.224       64.15  
    126.46      82.276       105.81        121.18      116.05     86.224       64.15  
    48.727      82.276       56.765        53.208      62.107     86.224       64.15  
    95.256      113.58       105.81        121.18      62.107     42.287      39.729  
    95.256      62.421       56.765        121.18      62.107     86.224      110.96  
    95.256      82.276       56.765        121.18      62.107     86.224       64.15  

Этот пример описывает присвоение точек для недостающих данных когда 'BinMissingData' опция установлена в true.

  • Предикторы, которые имеют недостающие данные в наборе обучающих данных, имеют явный интервал для <missing> с соответствующими точками в итоговом протоколе результатов. Эти точки вычисляются из значения Веса доказательства (WOE) для <missing> интервал и логистические коэффициенты модели. Для выигрыша целей эти точки присвоены отсутствующим значениям и значениям из области значений.

  • Предикторы без недостающих данных в наборе обучающих данных не имеют никакого <missing> интервал, поэтому никакое ГОРЕ не может быть оценено от обучающих данных. По умолчанию точки для того, чтобы избегать и значений из области значений установлены в NaN, и это приводит к счету NaN при выполнении score. Для предикторов, которые не имеют никакого явного <missing> интервал, используйте аргумент 'Missing' значения имени в formatpoints указать, как недостающие данные нужно лечить от выигрыша целей.

Создайте 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 и CustIncome. С этим, любым отрицательным возрастом или информацией о доходе становится недопустимым или "из области значений". Для выигрыша целей значениям из области значений дают те же точки как отсутствующие значения.

sc = modifybins(sc,'CustAge','MinValue',0);
sc = modifybins(sc,'CustIncome','MinValue',0);

Отобразите и постройте информацию об интервале для числовых данных для 'CustAge' это включает недостающие данные в отдельный интервал, пометил <missing>.

[bi,cp] = 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
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')

Для '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> интервал, с соответствующим значением WOE, вычисленным из данных. При использовании fitmodel, соответствующее значение WOE для <missing> интервал применяется при выполнении преобразования 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

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

Для предикторов, которые не имеют никаких недостающих данных в наборе обучающих данных, нет никакого явного <missing> интервал. По умолчанию точки установлены в NaN для недостающих данных и они приводят к счету NaN при выполнении score. Для предикторов, которые не имеют никакого явного <missing> интервал, используйте аргумент 'Missing' значения имени в formatpoints указать, как недостающие данные нужно лечить от выигрыша целей.

В целях рисунка возьмите несколько строк из исходных данных как тестовые данные и введите некоторые недостающие данные. Также введите некоторых недопустимые, или значения из области значений. Для числовых данных значения ниже минимума (или выше максимума) позволенный рассматриваются недопустимыми, такие как отрицательная величина для возраста (вспомните 'MinValue' был ранее установлен в 0 для CustAge и CustIncome). Для категориальных данных недопустимые значения являются категориями, не явным образом включенными в протокол результатов, например, жилое состояние, не ранее сопоставленное с категориями протокола результатов, такими как "Дом" или бессмысленная строка, такими как "abc123".

tdata = dataMissing(11:18,mdl.PredictorNames); % Keep only the predictors retained in the model
% 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)
    CustAge     ResStatus      EmpStatus     CustIncome    TmWBank    OtherCC    AMBalance
    _______    ___________    ___________    __________    _______    _______    _________

      NaN      Tenant         Unknown          34000         44         Yes        119.8  
       48      <undefined>    Unknown          44000         14         Yes       403.62  
       65      Home Owner     <undefined>      48000          6         No        111.88  
       44      Other          Unknown            NaN         35         No        436.41  
     -100      Other          Employed         46000         16         Yes       162.21  
       33      House          Employed         36000         36         Yes       845.02  
       39      Tenant         Freelancer       34000         40         Yes       756.26  
       24      Home Owner     Employed            -1         19         Yes       449.61  

Выиграйте новые данные и смотрите, как точки присвоены для пропавших без вести CustAge и ResStatus, потому что у нас есть явный интервал с точками для <missing>. Однако для EmpStatus и CustIncome score функционируйте устанавливает точки на NaN.

[Scores,Points] = score(sc,tdata);
disp(Scores)
  481.2231
  520.8353
       NaN
       NaN
  551.7922
  487.9588
       NaN
       NaN
disp(Points)
    CustAge    ResStatus    EmpStatus    CustIncome    TmWBank    OtherCC    AMBalance
    _______    _________    _________    __________    _______    _______    _________

    64.984      62.138       58.807        67.893      61.858     75.622      89.922  
     78.86      74.125       58.807        82.439      61.061     75.622      89.922  
     96.76      73.248          NaN        96.969      51.132     50.914      89.922  
    69.636      90.828       58.807           NaN      61.858     50.914      89.922  
    64.984      90.828       86.937        82.439      61.061     75.622      89.922  
    56.282      74.125       86.937        70.107      61.858     75.622      63.028  
    60.012      62.138          NaN        67.893      61.858     75.622      63.028  
    54.062      73.248       86.937           NaN      61.061     75.622      89.922  

Используйте аргумент 'Missing' значения имени в formatpoints выбрать, как присвоить точки отсутствующим значениям для предикторов, которые не имеют явного <missing> интервал. В этом примере используйте 'MinPoints' опция для 'Missing' аргумент. Минимум указывает для EmpStatus в протоколе результатов, отображенном выше, 58.8072, и для CustIncome минимальными точками является 29.3753.

sc = formatpoints(sc,'Missing','MinPoints');
[Scores,Points] = score(sc,tdata);
disp(Scores)
  481.2231
  520.8353
  517.7532
  451.3405
  551.7922
  487.9588
  449.3577
  470.2267
disp(Points)
    CustAge    ResStatus    EmpStatus    CustIncome    TmWBank    OtherCC    AMBalance
    _______    _________    _________    __________    _______    _______    _________

    64.984      62.138       58.807        67.893      61.858     75.622      89.922  
     78.86      74.125       58.807        82.439      61.061     75.622      89.922  
     96.76      73.248       58.807        96.969      51.132     50.914      89.922  
    69.636      90.828       58.807        29.375      61.858     50.914      89.922  
    64.984      90.828       86.937        82.439      61.061     75.622      89.922  
    56.282      74.125       86.937        70.107      61.858     75.622      63.028  
    60.012      62.138       58.807        67.893      61.858     75.622      63.028  
    54.062      73.248       86.937        29.375      61.061     75.622      89.922  

В этом примере показано, как использовать score получить музыку к новому набору данных (например, валидация или тестовый набор данных) использование дополнительного 'data' введите в score функция.

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

load CreditCardData 
sc = creditscorecard(data,'IDVar','CustID');

Выполните автоматическое раскладывание к интервалу для всех предикторов.

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

В целях рисунка предположите, что несколько строк из исходных данных являются нашими "новыми" данными. Используйте дополнительный data входной параметр в score функция, чтобы получить музыку к newdata.

newdata = data(10:20,:);
Scores = score(sc,newdata)
Scores = 11×1

    0.8252
    0.6553
    1.2443
    0.9478
    0.5690
    1.6192
    0.4899
    0.3824
    0.2945
    1.4401
      ⋮

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

свернуть все

Модель протокола результатов кредита, заданная как creditscorecard объект. Используйте creditscorecard создать creditscorecard объект.

(Необязательно) Набор данных, который будет выигран, заданный как таблица MATLAB®, где каждая строка соответствует отдельным наблюдениям. data должен содержать столбцы для каждого из предикторов в creditscorecard объект.

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

свернуть все

Музыка к каждому наблюдению, возвращенному как вектор.

Точки на предиктор для каждого наблюдения, возвращенного как таблица.

Алгоритмы

Счет отдельного i дан формулой

Score(i) = Shift + Slope*(b0 + b1*WOE1(i) + b2*WOE2(i)+ ... +bp*WOEp(i))

где bj является коэффициентом j-th переменная в модели, и WOEj (i) является значением Веса доказательства (WOE) для the i-th индивидуума, соответствующего j-th переменная модели. Shift и Slope масштабируют константы, которыми можно управлять с formatpoints.

Если данные для отдельного i находятся в i-th строка данного набора данных, чтобы вычислить счет, данные (i, j) являются сгруппированными использующими существующими картами раскладывания, и преобразованный в соответствующий Вес значения Доказательства WOEj (i). Используя коэффициенты модели, немасштабированный счет вычисляется как

 s = b0 + b1*WOE1(i) + ... +bp*WOEp(i).

Для простоты примите в описании выше этого, j-th переменная в модели является j-th столбец во вводе данных, несмотря на то, что в целом порядок переменных в данном наборе данных не должен совпадать с порядком переменных в модели, и набор данных мог иметь дополнительные переменные, которые не используются в модели.

Параметрами форматирования можно управлять с помощью formatpoints.

Ссылки

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

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

Введенный в R2014b