主要内容

偏见缓解信贷评分权重

偏见减轻是消除偏见的过程从一个数据集或模型为了公平。偏差缓解通常遵循一个偏差检测步骤,一系列的指标计算基于一个数据集或模型预测。偏见减轻有三个阶段:预处理,在处理,后处理。这个例子了预处理方法在信用评分减少偏见的工作流。本例使用偏差检测和偏差从统计和机器学习的工具箱™缓解功能。偏差检测的详细的例子,看看下面的例子:探索公平指标信用评分模型

在这个例子中是偏差缓解方法重新调整这给观测数据集内的保证公平之间不同的子组内的敏感属性。由于权重,统计平价所有子组→(SPD)的差异0和不同的影响指标1。这个例子演示了如何在信用评分工作重新调整工作流。

加载数据

加载CreditCardData数据集和离散化“CustAge”预测。

负载CreditCardData.mat伙伴=离散化(data.CustAge[45分钟(data.CustAge) 30 60马克斯(data.CustAge)],“分类”,{“< 30岁”,“30 < = < 45岁”,“< = 45年龄< 60岁”,“年龄> = 60岁”});data = addvars(数据、伙伴,“后”,“CustAge”);头(数据)
CustID CustAge伙伴TmAtAddress ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance UtilRate地位______是_____________ ___________ _____ _____ __________ ________ ______ 1 53 45 < = ____ ____ ____年龄< 60 62租户未知50000 55是的1055.9 - 0.22 0 2 61年龄> = 60 22家老板雇用了52000名25是的1161.6 - 0.24 0 3 45 < = 47年龄< 60岁30租户使用45 37000 61没有877.23 - 0.29 0 4 50 < =年龄< 60 75业主雇用了53000名20是的157.37 - 0.08 0 5 68年龄> = 60 56家老板雇用了53000名14是的561.84 - 0.11 0 6 65年龄> = 60 13家老板雇用了48000名59岁是的968.18 - 0.15 0 7 34 30 < =年龄< 45 32房主未知32000 26是的717.82 0.02 1 8 50 45 < =年龄< 60岁57其他雇佣了51000 33没有3041.2 - 0.13 0

将数据集分为训练和测试数据。使用符合模型的训练数据和测试数据的预测模型。

rng (“默认”);c = cvpartition(大小(数据,1),“坚持”,0.3);:data_Train =数据(c.training ());:data_Test =数据(让());

在预测和模型级别计算公平性指标

计算训练数据通过创建一个公平指标fairnessMetrics使用对象,然后生成一个度量报告报告。因为你是只处理数据和没有安装模式,只有两个偏差指标计算StatisticalParityDifferenceDisparateImpact。两组指标计算GroupCountGroupSizeRatio。公平指标计算两个敏感的属性,年龄(“伙伴”)和住宅状态(“ResStatus”)。

trainingDataMetrics = fairnessMetrics (data_Train,“状态”,“SensitiveAttributeNames”,{“伙伴”,“ResStatus”});tdmReport =报告(trainingDataMetrics)
tdmReport =7×4表___________________________ SensitiveAttributeNames组StatisticalParityDifference DisparateImpact _______________________ * * *售予伙伴年龄< 30 0.039827 - 1.1357的伙伴30 < =年龄< 45 0.096324 - 1.3282的伙伴45 < =年龄< 60 0 1的伙伴年龄> = 60岁-0.19181 - 0.34648 ResStatus房主0 1 ResStatus租户0.01689 - 1.0529 ResStatus其他-0.02108 - 0.93404
图tiledlayout (2, 1) nexttile情节(trainingDataMetrics,“社会民主党”)nexttile情节(trainingDataMetrics“迪”)

图包含2轴对象。坐标轴对象1标题统计平价差异,包含公平度量值,ylabel伙伴包含一个对象类型的酒吧。坐标轴对象2与标题完全不同的影响,包含公平度量值,ylabel伙伴包含一个对象类型的酒吧。

DisparateImpact偏差指标为的伙伴ResStatus,您可以看到,有更大的方差的伙伴预测相比ResStatus预测。这表明,用户更多的不公平对待时他们的年龄比他们的居住状态。这个例子中关注的的伙伴预测并试图减少偏见的子组。

首先,适合信用评分模型和指标计算模型级的偏见。这提供了一种比较的基线。

CustAge的伙伴本质上是相同的预测,这是一个敏感的属性,你可以从模型中排除。此外,您可以使用“状态”作为响应变量和“CustID”随着ID变量。

PredictorVars = setdiff (data_Train.Properties.VariableNames,{“CustAge”,“伙伴”,“CustID”,“FairWeights”,“状态”});那么= creditscorecard (data_Train,“IDVar”,“CustID”,“PredictorVars”PredictorVars,“ResponseVar”,“状态”);那么= autobinning(那么);那么= fitmodel(那么,“VariableSelection”,“fullmodel”);
广义线性回归模型:分对数(状态)~ 1 + TmAtAddress + ResStatus + EmpStatus + CustIncome + TmWBank + OtherCC + AMBalance + UtilRate =二项分布估计系数:估计SE tStat pValue ________说__________(拦截)0.73924 0.077237 9.5711 1.058 e-21 TmAtAddress EmpStatus ResStatus 0.20448 1.2577 0.99118 1.2689 1.755 1.295 1.3552 0.17535 0.88652 0.32232 2.7504 0.0059516 CustIncome 0.95991 0.19645 4.8862 1.0281 e-06 TmWBank AMBalance OtherCC 0.00033637 1.132 0.3157 3.5856 0.85227 2.1198 0.40204 0.68765 1.0773 0.31969 3.3698 0.00075232 UtilRate -0.19784 0.59565 -0.33214 0.73978 840年观察,831错误自由度色散:1 x ^ 2-statistic与常数模型:66.5,p = 2.44 e-11
pointsinfo1 = displaypoints(那么)
pointsinfo1 =38×3表预测本点售予_________________ _____ {‘TmAtAddress}{[负9)的-0.17538}{‘TmAtAddress}{[9、16)的0.05434}{‘TmAtAddress}{[16日,23)的0.096897}{‘TmAtAddress}{[23岁,正]的}0.13984 {‘TmAtAddress}{' <失踪>}南{‘ResStatus}{“租户”}-0.017688 {‘ResStatus}{‘业主’}0.11681 {‘ResStatus}{‘其他’}0.29011 {‘ResStatus}{' <失踪>}南{‘EmpStatus}{‘未知’}-0.097582 {‘EmpStatus}{“雇佣”}0.33162 {‘EmpStatus}{' <失踪>}南{‘CustIncome}{[无穷,30000)的-0.61962}{‘CustIncome}{[30000、36000)的-0.10695}{‘CustIncome}{[36000、40000)的0.0010845}{‘CustIncome}{[40000、42000)的0.065532⋮}
pd1 = probdefault(那么,data_Test);

设置阈值值控制分配的“商品”和“公害”。

阈值=0.35;predictions1 =双(pd1 >阈值);

创建一个fairnessMetrics对象计算公平指标在模型级,然后生成一个度量报告使用报告

modelMetrics1 = fairnessMetrics (data_Test,“状态”,“预测”predictions1,“SensitiveAttributeNames”,“伙伴”);mmReport1 =报告(modelMetrics1)
mmReport1 =表4×7ModelNames SensitiveAttributeNames组StatisticalParityDifference DisparateImpact EqualOpportunityDifference AverageAbsoluteOddsDifference __________ ___________________________ _______________________ * * *售予__________________________ _____________________________ Model1伙伴年龄< 30 0.54312 2.6945 0.47391 0.5362 Model1伙伴30 < =年龄< 45 0.19922 1.6216 0.35645 0.22138 Model1伙伴45 < =年龄< 60 0 1 0 0 Model1伙伴年龄> = 60 -0.15385 0.52 -0.18323 0.16375

模型使用的测量精度validatemodel

validatemodel(那么)
ans =4×2表测量值________________________ _________ 0.33751{的精度比}{ROC曲线下面积的}0.66876 {“KS统计”}0.26418 1.0403 {“k值”}
图tiledlayout (2, 1) nexttile情节(modelMetrics1,“社会民主党”)nexttile情节(modelMetrics1“迪”)

图包含2轴对象。坐标轴对象1标题统计平价差异,包含公平度量值,ylabel伙伴包含一个对象类型的酒吧。坐标轴对象2与标题完全不同的影响,包含公平度量值,ylabel伙伴包含一个对象类型的酒吧。

在预测和模型级别调整数据

使用fairnessWeights调整训练数据删除敏感属性的偏见“伙伴”

fairWeights = fairnessWeights (data_Train,“伙伴”,“状态”);data_Train。FairWeights = FairWeights;头(data_Train)
CustID CustAge伙伴TmAtAddress ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance UtilRate地位FairWeights ______是_____________ ___________ _____ _____ __________ _________ ________ ______⒈1 53 45 < = ____ ____年龄< 60 62房客未知50000 55是的1055.9 - 0.22 0.95879 - 2 0 61年龄> = 60 22家老板雇用了52000名25是的1161.6 0.24 0.75407 0 3 47 45 < =年龄< 60岁30租户使用45 37000 61没有877.23 0.29 0.95879 0 4 50 < =年龄< 60 75业主雇用了53000名20是的157.37 0.08 0.95879 0 7 34 30 < =年龄< 45 32房主未知32000 26是的717.82 0.02 0.82759 1 8 50 45 < =年龄< 60岁57其他雇佣了51000 33没有3041.2 0.13 0.95879 0 9 50租户未知45 < =年龄< 60 52000 25是的1.0992 115.56 0.02 1 10 49 45 < =年龄< 60 53000房主未知23是的1.0992 718.5 0.17 1

使用fairnessMetrics计算公平指标权重之后的训练数据和使用报告生成一个公平指标报告. .

trainingDataMetrics_AfterReweighting = fairnessMetrics (data_Train,“状态”,“SensitiveAttributeNames”,“伙伴”,“重量”,“FairWeights”);tdmrReport =报告(trainingDataMetrics_AfterReweighting)
tdmrReport =4×4表___________________________ SensitiveAttributeNames组StatisticalParityDifference DisparateImpact _______________________ * * *售予伙伴年龄< 30 -2.9976 e15汽油1的伙伴30 < =年龄< 45 -5.5511 e-16 1的伙伴45 < =年龄< 60 0 1的伙伴年龄> = 60岁-2.9421 e15汽油1

通过应用的权重算法的伙伴预测,可以完全消除的不同影响的伙伴。然后使用这个debiased数据适合生产预测模型与整体减少模型级别的不同影响。

使用creditscorecard适应一个新的信用评分模型的新的公平的权重和指标计算模型级的偏见。

星际2 = creditscorecard (data_Train,“IDVar”,“CustID”,“PredictorVars”PredictorVars,“WeightsVar”,“FairWeights”,“ResponseVar”,“状态”);星际2 = autobinning(星际2);星际2 = fitmodel(星际2,“VariableSelection”,“fullmodel”);
广义线性回归模型:分对数(状态)~ 1 + TmAtAddress + ResStatus + EmpStatus + CustIncome + TmWBank + OtherCC + AMBalance + UtilRate =二项分布估计系数:估计SE tStat pValue ________说__________(拦截)0.74055 0.076222 9.7158 2.5817 e-22 TmAtAddress EmpStatus ResStatus 0.14075 1.3416 0.9108 1.473 2.0467 1.7669 1.1584 0.24672 0.91879 0.32197 2.8536 0.0043222 CustIncome OtherCC TmWBank 0.00613 0.91038 0.33216 2.7407 1.1067 0.30826 3.5901 0.0003305 0.42264 3.5078 0.12049 0.9041 UtilRate AMBalance 1.1347 0.3447 3.2919 0.00099504 -0.39861 - 0.77284 -0.51577 - 0.60601 840年观察,831错误自由度色散:1 x ^ 2-statistic与常数模型:46.6,p = 1.85 e-07
星际2 pointsinfo2 = displaypoints ()
pointsinfo2 =34×3表预测本点售予_________________ ________ {‘TmAtAddress}{[负9)的-0.21328}{‘TmAtAddress}{[9日23)的0.07168}{‘TmAtAddress}{[23岁,正]的}0.14763 {‘TmAtAddress}{' <失踪>}南{‘ResStatus}{“租户”}0.016048 {‘ResStatus}{‘业主’}0.091092 {‘ResStatus}{‘其他’}0.28326 {‘ResStatus}{' <失踪>}南{‘EmpStatus}{‘未知’}-0.10352 {‘EmpStatus}{“雇佣”}0.33653 {‘EmpStatus}{' <失踪>}南{‘CustIncome}{[无穷,30000)的-0.37618}{‘CustIncome}{[30000、40000)的0.047483}{‘CustIncome}{[40000、42000)的0.10244}{‘CustIncome}{[42000、47000)的0.14652}{‘CustIncome}{”(47000年,正)}0.40015⋮
pd2 = probdefault(星际2,data_Test);predictions2 =双(pd2 >阈值);

使用fairnessMetrics计算模型层级和公平性指标报告生成一个公平指标报告。

modelMetrics2 = fairnessMetrics (data_Test,“状态”,“预测”predictions2,“SensitiveAttributeNames”,“伙伴”);mmReport2 =报告(modelMetrics2)
mmReport2 =表4×7ModelNames SensitiveAttributeNames组StatisticalParityDifference DisparateImpact EqualOpportunityDifference AverageAbsoluteOddsDifference __________ ___________________________ _______________________ * * *售予__________________________ _____________________________ Model1伙伴年龄< 30 0.39394 2.1818 0.37391 0.39377 Model1伙伴30 < =年龄< 45 0.094298 1.2829 0.22947 0.11509 Model1伙伴45 < =年龄< 60 0 1 0 0 Model1伙伴年龄> = 60 -0.13333 0.6 -0.18323 0.1511

模型使用的测量精度validatemodel

validatemodel(星际2)
ans =4×2表测量值________________________ _________ 0.27735{的精度比}{ROC曲线下面积的}0.63868 {“KS统计”}0.22702 0.90741 {“k值”}
图tiledlayout (2, 1) nexttile情节(modelMetrics2,“社会民主党”)nexttile情节(modelMetrics2“迪”)

图包含2轴对象。坐标轴对象1标题统计平价差异,包含公平度量值,ylabel伙伴包含一个对象类型的酒吧。坐标轴对象2与标题完全不同的影响,包含公平度量值,ylabel伙伴包含一个对象类型的酒吧。

重新调整的过程,所有偏差从训练数据中删除。当你使用新数据以适应一个模型,总体偏差模型相比,减少与偏置数据训练模型。因此减少偏差,模型精度下降。你可以选择做权衡提高公平性。

引用

[1]尼尔森,艾琳。“第四章。公平预处理。”实际的公平。O ' reilly Media, Inc ., 2020年12月。

[2]Mehrabi Ninareh, et al。”一个调查偏差和机器学习是公平的。”ArXiv: 1908.09635 (Cs)2019年9月。arXiv.org,https://arxiv.org/abs/1908.09635

[3]韦希特尔,桑德拉,et al。偏见保存在机器学习:公平指标根据欧盟的合法性不歧视的法律。SSRN学术论文,ID 3792772,社会科学研究网络,2021年1月15日。papers.ssrn.com,https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3792772

另请参阅

||||

相关的话题