主要内容

信用计分卡建模用缺失值

这个例子展示了如何处理缺失值时使用creditscorecard对象。首先,示例展示如何使用creditscorecard功能来创建一个显式的本与对应点缺失的数据。然后,这个例子描述四种不同的方法来“治疗”缺失的数据一个最终的信用计分卡没有缺失值的显式垃圾箱。

开发一个信用计分卡与显式垃圾箱缺失值

当您创建一个creditscorecard对象,数据可以包含缺失值。当使用creditscorecard创建一个creditscorecard对象,您可以设置名称-值对的理由“BinMissingData”设置为真正的。在这种情况下,数值预测缺失的数据(分类预测的值)和(<定义>值)是封存在一个单独的标签<失踪>出现在最后的垃圾箱。预测没有在训练数据没有缺失值<失踪>垃圾箱。如果你不指定“BinMissingData”或者如果你的论点“BinMissingData”,creditscorecard函数丢弃失踪时观察计算频率的好的和坏的,无论是bininfo也不plotbins函数这样的观察报告。

<失踪>本记分卡的整个建模过程中依然存在。最后的计分卡明确表示点分配给预测有缺失值<失踪>垃圾箱。这些点确定的证据的效力(悲哀)的价值<失踪>本和预测的逻辑模型中的系数。为没有一个明确的预测<失踪>本,你可以使用名称-值对缺失值分配点参数“失踪”formatpoints在这个例子中,描述的或通过使用其中一个四种不同的方法来“治疗”缺失的数据

dataMissing表中CreditCardData.mat文件有两个与失踪的价值观——预测CustAgeResStatus,。

负载CreditCardData.mat头(dataMissing, 5)
ans =5×11表CustID CustAge TmAtAddress ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance UtilRate ____ ____地位………………_____ _____ _____ ________ ________ 53 62 <定义>未知50000 55是的1055.9 - 0.22 0 2 61 22业主雇佣52000 25是的1161.6 - 0.24 0 3 47 30租户使用37000 61没有877.23 - 0.29 0 4南75业主雇佣了53000 20是的157.37 - 0.08 0 5 68 56家老板雇用了53000名14是的561.84 - 0.11 0

创建一个creditscorecard对象使用CreditCardData.mat文件加载dataMissing表与缺失值。设置“BinMissingData”参数真正的。应用自动装箱。

sc = creditscorecard (dataMissing,“IDVar”,“CustID”,“BinMissingData”,真正的);sc = autobinning (sc);

本信息和本情节缺失数据的预测都显示<失踪>本在最后。

bi = bininfo (sc,“CustAge”);disp (bi)
本好与坏的几率,悲哀InfoValue _________________出生______月______ __________{[无穷,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{' <失踪>}19 11 1.7273 -0.15787 0.00063885{“总数”}803 397 0.087112 2.0227南
plotbins (sc,“CustAge”)

图包含一个坐标轴对象。坐标轴对象与标题CustAge包含3对象类型的酒吧,线。这些对象是好的,坏的。

bi = bininfo (sc,“ResStatus”);disp (bi)
本好与坏的几率,悲哀出生______ _____ __________ InfoValue * * *{“租户”}296 161 1.8385 -0.095463 0.0035249{‘业主’}352 171 2.0585 0.017549 0.00013382{‘其他’}128年52 2.4615 0.19637 0.0055808{' <失踪>}27 13 2.0769 0.026469 2.3248 e-05{“总数”}803 397 0.0092627 2.0227南
plotbins (sc,“ResStatus”)

图包含一个坐标轴对象。坐标轴对象与标题ResStatus包含3对象类型的酒吧,线。这些对象是好的,坏的。

的训练数据“CustAge”“ResStatus”预测因子缺失的数据(年代和<定义>)。装箱过程估计悲哀的值-0.157870.026469分别在这些缺失的数据预测。

的训练数据EmpStatusCustIncome没有明确本<失踪>值因为没有缺失值预测。

bi = bininfo (sc,“EmpStatus”);disp (bi)
本好与坏的几率,悲哀InfoValue _______出生______月______ _____{‘未知’}396 239 1.6569 -0.19947 0.021715{“雇佣”}407 158 2.5759 0.2418 0.026323{“总数”}803 397 0.048038 2.0227南
bi = bininfo (sc,“CustIncome”);disp (bi)
本好与坏的几率,悲哀InfoValue _________________出生_____ _____{[无穷,29000)的}53 58 0.91379 -0.79457 0.06364{[29000、33000)}74年49 1.5102 -0.29217 0.0091366{[33000、35000)的36}68 1.8889 -0.06843 0.00041042{[35000、40000)的}193 98 1.9694 -0.026696 0.00017359{[40000、42000)的}68 34 2 -0.011271 - 1.0819 e-05{[42000、47000)的}164 66 2.4848 0.20579 0.0078175{”(47000年,正)}183年56 3.2679 0.47972 0.041657{“总数”}803 397 0.12285 2.0227南

使用fitmodel适合使用悲哀值逻辑回归模型。fitmodel内部所有的预测变量转换成有祸了值,自动装箱过程中使用垃圾箱发现。默认情况下,fitmodel然后适合使用逐步逻辑回归模型的方法。对于有缺失数据的预测,有一个显式的<失踪>本与一个相应的悲哀价值计算的数据。当你使用fitmodel,对应的值有祸了<失踪>本应用函数执行时,悲哀的转换。

(sc, mdl) = fitmodel (sc,“显示”,“关闭”);

量表的计分卡点points-to-double-the-odds (PDO)方法使用“PointsOddsAndPDO”的观点formatpoints。假设你想要一个500分的几率2(两倍是好的比坏的),双几率每50分(这550点4)的几率。

显示预测的计分卡显示缩放点保留在拟合模型。

sc = formatpoints (sc,“PointsOddsAndPDO”,(500 2));PointsInfo = displaypoints (sc)
PointsInfo =38×3表预测本点______ _________________ * * * {‘CustAge}{[无穷,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}{' <失踪>}64.984 {‘ResStatus}{“租户”}62.138 {‘ResStatus}{‘业主’}73.248 {‘ResStatus}{‘其他’}90.828 {‘ResStatus}{' <失踪>}74.125 {‘EmpStatus}{‘未知’}58.807 {‘EmpStatus}{“雇佣”}86.937 {‘EmpStatus}{' <失踪>}南⋮

注意点<失踪>的箱子CustAgeResStatus明确显示(如64.983674.1250分别)。这些点从悲哀值计算<失踪>本和物流模型系数。

点预测没有缺失数据训练集,在默认情况下,将他们导致的当您运行分数。这可以改变通过更新名称-值对的论点“失踪”formatpoints指示如何处理缺失数据用于得分。

记分卡是准备得分新数据集。您还可以使用记分卡来计算违约概率或执行模型验证。有关详细信息,请参见分数,probdefault,validatemodel。进一步探索缺失数据的处理,用几行从原始数据作为测试数据,并介绍一些缺失的数据。

tdata = dataMissing(十一14,mdl.PredictorNames);%只保留预测模型中保留%设置一些缺失值tdata.CustAge(1) =南;tdata.ResStatus (2) =“<定义>”;tdata.EmpStatus (3) =“<定义>”;tdata.CustIncome(4) =南;disp (tdata)
CustAge ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance ___________……_____ ____ ____ ____南租户未知34000 44是的119.8 48 <定义>未知44000 14是的403.62 65房主<定义> 48000年6没有其它未知南35 111.88 44 436.41

新的数据,看看分对缺失的数据以不同的方式分配CustAgeResStatusEmpStatusCustIncomeCustAgeResStatus有一个明确的<失踪>本对缺失的数据。然而,对于EmpStatusCustIncome,分数函数设置点

(分数,分)=分数(sc tdata);disp(分数)
481.2231 - 520.8353南南
disp(分)
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.969 - 51.132 96.76 - 73.248南南61.858 50.914 89.922 50.914 89.922 69.636 90.828 58.807

使用名称-值对的论点“失踪”formatpoints选择如何分配点缺失值没有一个明确的预测<失踪>垃圾箱。对于这个示例,使用“MinPoints”选择“失踪”论点。为EmpStatusCustIncome在计分卡,最低数量的点58.807229.3753,分别。你也可以治疗使用的一个缺失值四种不同的方法来“治疗”缺失的数据

sc = formatpoints (sc,“失踪”,“MinPoints”);(分数,分)=分数(sc tdata);disp(分数)
481.2231 520.8353 517.7532 451.3405
disp(分)
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

四种方法对缺失数据和开发一种新的信用计分卡

有四种不同方法治疗缺失的数据。

方法1:填补缺失数据使用fillmissing的函数creditscorecard对象

creditscorecard对象支持金宝appfillmissing函数。当你调用这个函数预测或预测,fillmissing与用户指定统计函数填充缺失的数据。fillmissing金宝app支持填值“的意思是”,“中值”,“模式”,“不变”以及切换回原始数据的选项。

使用的优势fillmissing是,creditscorecard对象跟踪也是充满价值和验证数据。这种方法的局限性在于,只使用基本统计信息来填补缺失的数据。

的更多信息方法1,请参阅fillmissing

方法2:使用MATLAB填补缺失的数据®fillmissing函数

MATLAB®支金宝app持fillmissing功能,您可以使用之前创建一个creditscorecard对象来治疗数字和分类数据的缺失值。这种方法的优点是,您可以使用所有可用的选项fillmissingMATLAB来填补缺失的数据,以及其他功能,如standardizeMissing和功能治疗离群值。然而,不利的一面是,你负责转换前验证数据得分一样fillmissing函数是外部的creditscorecard对象。

的更多信息方法2,请参阅处理缺失数据在信用计分卡工作流中使用MATLAB®fillmissing

方法3:再转嫁缺失的数据使用邻居(资讯)算法

这个资讯的方法考虑多个预测比方法1和方法2。就像方法2外,资讯的方法完成creditscoreacrd工作流程,因此,您需要执行归罪为训练和验证数据。

的更多信息方法3,请参阅归咎于缺少信用计分卡工作流中的数据再使用邻居算法

方法4:使用随机森林算法转嫁缺失的数据

这个随机森林方法类似方法3和使用多个预测转嫁缺失值。因为外的方法creditscorecard工作流,您需要执行归咎为训练和验证数据。

的更多信息方法4,请参阅归咎于缺少信用计分卡中的数据工作流使用随机森林算法

另请参阅

|||

相关的话题