Categories
程式開發

告别AI模型黑盒:可解释机器学习研究报告


摘要

随着金融数据规模的日益增长与AI技术的发展,机器学习模型在金融银行业被广泛使用。高性能的机器学习模型虽然在预测能力上表现突出,但是因为模型过于复杂的结构而引发的黑盒问题,却不利于机器学习模型的大规模使用。无法解释的黑盒模型在使用过程中暴露出来的安全风险和不公正问题,使人们对黑盒模型的使用变得越来越谨慎。为了应对黑盒模型的不可解释的问题,科学家们提出了可解释机器学习的研究。可解释机器学习分为内在可解释模型的研究和模型的事后解析方法两大方向。本文将分别介绍一些内在可解释模型算法以及模型事后解析方法,并将他们应用到信用卡违约评分的银行业务场景中。我们发现,以GAMxNN模型为代表的内在可解释机器学习模型可以在保持一定预测精度的优势下,同时给出模型的整体解释和局部解释;同样,模型事后解析方法也可以对复杂模型的预测结果给出特征重要性解释或针对单个样本的局部解释。这些解释无论是否合理都可以给模型的应用带来好处,一方面,如果解释符合业务认知,使用者对模型的信任度会大大增强,另一方面,如果事后解释跟专家经验和客观实际相违背,那么这个解释还可以反向来指导模型的调优。

目录

  1. 可解释机器学习的重要性
    1.1金融行业中的机器学习现状
    1.2可解释机器学习
    1.3本文研究目的

  2. 可解释机器学习模型与方法
    2.1 内在可解释机器学习模型

    • 2.1.1 GAMxNN模型
    • 2.1.2 GAMINET模型
    • 2.1.3 EBM模型

    2.2 复杂模型的事后解析方法

    • 2.2.1 LIME
    • 2.2.2 SHAP
  3. 可解释机器学习应用案例
    3.1 案例背景——信用卡违约预测
    3.2 数据集探索
    3.3数据预处理
    3.4特征工程
    3.5内在可解释机器学习模型应用

    • 3.5.1 GAMxNN模型应用
    • 3.5.2 GAMINET模型应用
    • 3.5.3 EBM模型应用

    3.6复杂模型的事后解析方法应用

    • 3.6.1 LIME方法应用
    • 3.6.2 SHAP方法应用
  4. 总结与未来展望

  5. 附录参考文献

【点击图片可下载PDF版报告全文】

告别AI模型黑盒:可解释机器学习研究报告 1

1 可解释机器学习的重要性

1.1 金融行业中的机器学习现状

在当今的大数据时代,人工智能技术的应用正全面渗透到金融行业当中。金融科技(FinTech)通过利用大数据与人工智能的结合,为传统金融、银行业带来了创新的产品和服务,提供高效率、低成本的运营策略,基于大数据的机器学习模型在金融、银行业中已得到不少应用:在信用风险方面,利用机器学习模型构造评分卡、压力测试;在资本市场,利用强化学习模型为金融衍生品定价、计算风险价值;在金融犯罪方面,通过深度学习等复杂模型识别欺诈与反洗钱[1]。

与传统的统计模型相比,机器学习模型有更好的预测表现能力。然而,随着需要处理的数据规模越来越大,机器学习模型的内部结构也变得越来越复杂,如从简单的决策树发展到随机森林,再到现在工业界经常使用的XGBoost模型,复杂模型输入到输出之间的函数关系很难被理解,模型存在“黑盒”属性。在一些高风险的决策中,如反洗钱、反欺诈等应用领域,模型的“黑盒”属性可能会让模型存在不可预知的风险或做出带有偏见的决策,且模型遭到攻击时并不是很容易被察觉。针对这些潜在风险,各地区已制定了与AI应用相关的法律法规[2],如欧盟的法规《GDPR》,美国对于模型风险管理提出的监督指引《SR Letter 11-7》,而我国央行于2019年8月印发了《金融科技(FinTech)发展规划(2019-2021年)》,该《规划》第三章的第4节、第5节分别着重讲了风控技术和监管技术,提出了相应的重点工作任务,要求金融科技技术必须符合“安全可控原则”[3]。

目前,在行业监管的要求下,我们需要可解释的机器学习模型:我们可以清楚了解模型的运作原理,对模型的预测结果能够提供合理的解释,满足合规需求,避免决策风险。

1.2 可解释机器学习

为了解决模型的“黑盒”问题,科学家们提出了可解释机器学习。所谓模型的可解释性,即预测过程可以转化成具备逻辑关系的规则[4] 。除了高精度预测表现之外,可解释性也是机器学习模型是否值得信赖的重要考核标准。可解释机器学习(Intepretable Machine Learning,缩写为IML)的核心思想在于选择模型时,同时考虑模型的预测精度和可解释性,并尽量找到二者之间的最佳平衡,它不像传统机器学习仅考虑预测精度单一指标(如低MSE或高AUC);它不仅能给出模型的预测值,还能给出得到该预测值的理由,进而实现模型的安全、透明、公平。

可解释机器学习的研究路径主要有两大方向,一是内在可解释机器学习(Intrinsic Interpretability),二是事后解析方法(Post-hoc Interpretability)[5]。从图1.1可以看到,横轴表示模型的可解释性,纵轴表示模型的精度,一般来说,蓝色框的机器学习模型(如随机森林、支持向量机等)通常精度比较高,红色框的传统统计学模型(如决策树、逻辑回归等)通常可解释性比较高。

  • 内在可解释机器学习:对于可解释性高的模型,我们希望模型往纵轴方向走,即通过改良模型结构,在保证内在可解释属性的前提下,通过增强模型灵活表征能力,提高他们的精度,如我们在后续介绍的GAMxNN、GAMINET、EBM模型,都属于内在可解释机器学习模型;

  • 事后解析方法:对于预测精度较高的模型,我们希望使用事后解析的方法去提升他们的可解释性,让模型往横轴方向走,事后解析方法就是对类似黑盒的复杂机器学习算法,在模型训练完成后,通过事后解析方法来提升可解释性,利用事后辅助的归因解析及可视化工具来获得模型的可解释性,如LIME、SHAP等方法都属于事后解析方法。

告别AI模型黑盒:可解释机器学习研究报告 2

图1.1 可解释机器学习:预测精度和模型可解释性(图片来源:香港大学张爱军教授)

1.3 本文研究目的

在银行业中,可解释机器学习的概念尚未普及。业内使用较多的还是传统的统计学模型,其预测表现与机器学习模型相比不太理想,而如果使用复杂的机器学习模型,又会担心由不可解释性引发的风险,所以机器学习模型在银行业内没有得到广泛使用。

索信达数据技术有限公司金融AI实验室结合自身的技术背景与银行的业务场景,在可解释机器学习领域进行了一定的探索,写作本报告的目的是希望能将可解释机器学习领域的研究所得分享给大家,让更多数据从业者了解可解释机器学习的基本概念,领域概貌,同时结合银行信用风险评分场景,展示了可解释机器学习的一些创新算法与具体实施效果,冀希推动可解释机器学习在银行业更多场景的应用落地。

2 可解释机器学习模型与方法

本章我们将详细介绍以下内在可解释模型和模型的事后解析方法。

告别AI模型黑盒:可解释机器学习研究报告 3

表2.1 可解释机器学习模型与方法总结

2.1 内在可解释机器学习模型

内在可解释机器学习模型是一类模型本身具有可解释性的机器学习模型。内在可解释机器学习模型可以直接输出解释结果,使用者可以直观的看到模型输入与输出之间的关系,同时他们的预测精度与复杂的机器学习模型相当。本节我们将介绍GAMxNN、GAMINET、EBM三个模型的原理。

2.1.1 GAMxNN模型

GAMxNN模型全称为广义加性可解释神经网络模型(Explainable Neural Network based on Generalized Additive Model),由Joel Vaughan[6]在2018年6月的论文中提出,该模型属于内在可解释机器学习模型。本文提到的GAMxNN[7]模型是经过索信达AI实验室和香港大学张爱军教授研究团队对底层算法进行一定改良后的模型,并在银行的业务场景中成功实践。针对金融数据信噪比中等或偏低的实际情况,GAMxNN模型能够提供清晰明了的整体解释和局部解释性,并能通过数据可视化方法呈现出来,从而帮助业务人员提高决策的可靠性。

在数学上,GAMxNN模型可表示为:

$$g(E(Y))=beta_0+f_1 (x_1 )+⋯+f_m (x_m )$$

其中$f_i (x_i)$为岭函数(任意光滑的函数), $g(.)$ 表示关联函数, $beta_0$表示截距项。相比于线性模型,广义加性模型由于引入非线性函数 从而增强了模型的表征能力,使得对Y预测的更加准确。而因为其加性效应,线性模型的假设检验的方法仍然可以使用。

GAMxNN模型结构如图2.1所示。GAMxNN将原始d维特征分别输入一个子神经网络 进行训练,将每个子神经网络的输出结果在最后一层线性相加,从而得到模型最后结果的输出。

GAMxNN模型最终能够输出模型的全局解释,包括特征重要性及得分趋势图、特征取值分布图;同时GAMxNN也能够输出局部解释图,显示出每一个样本在不同特征上的得分情况。全局解释与局部解释相结合,极大地提升了模型的解释性,能够帮助业务人员去判断模型结果的正确性。

告别AI模型黑盒:可解释机器学习研究报告 4

图2.1 GAMxNN可解释神经网络模型结构

2.1.2 GAMINET模型

GAMINET模型由香港大学张爱军教授研究团队在2020年3月发布的论文中提出[8],它在GAMxNN模型基础上,增加了特征交互项的探索,对GAMxNN模型做了进一步优化和改良。在可解释性方面,模型考虑了三种可解释约束,包括:(1)稀疏性约束(Sparsity):只保留最重要的特征与交互项,使得模型更简约;(2)遗传性约束(Heredity):模型衍生出来的交互项是基于模型保留的特征,不会“无中生有”,使得模型结构性可解释;(3)边际清晰度约束(Marginal Clarity):更易区分主效应的影响与交互效应的影响。GAMINET模型在保持高精度的同时,能够得到更好的可解释性。该模型还有助于业务人员开展单变量分析与交叉分析,为决策提供更优的支持。

GAMINET模型的数学表达式为:

$g(E(Y))=mu+sum_{i∈ S_i}h_i (x_i )+sum_{(i,j)∈ S_2}f_{ij} (x_i,x_j ) $

其中, $mu$表示截距项, $S_1$为主效应的集合, $S_2$为交互效应的集合。表达式右边第二项为单个特征拟合岭函数的加总,右边第三项为交互特征拟合函数的加总。

模型在训练时首先拟合主效应(即单个特征),拟合完之后对现有残差拟合交互效应(即交互特征),直至训练结束。图2.2显示的是GAMINET模型结构图。其中,左侧网络图表示对主效应进行训练——将每一个特征输入一个子神经网络进行训练,主效应训练完成后,将残差(residual)放到右侧作为响应变量继续开展子神经网络的训练。模型训练时,需要满足上述提到的三个约束。最后,将左右两部分模型训练结果加总,得到GAMINET模型的完整形式。

告别AI模型黑盒:可解释机器学习研究报告 5

图2.2 GAMINET模型结构图

2.1.3 EBM模型

EBM模型由Rich Caruana[9]于2015年提出并在卫生领域进行了测试和应用,全称为Explainable Boosting Machine,是由Boosting Machine改良而来,精度可与随机森林、提升树模型相媲美。EBM是一个可解释性高的加性模型,也会自动搜索特征的交互项,因此能直接从模型中反映出单个特征与交互特征对模型结果的影响。与GAMINET模型的不同之处是,EBM模型在抓取特征的函数关系时,用的是提升方法(boosting),而GAMINET用的是神经网络。

EBM模型的数学表达式为:

$g(E(Y))=beta_0+sum_{j}f_j (x_j )+sum_{(i≠j)}f_{ij} (x_i,x_j )$

其中 $g(.)$表示连接函数, $f_j (x_j )$ 表示基函数, $f_j (x_j )$表示交互项。EBM的每一个基函数由单个特征训练而成,交互项函数由双特征训练而成。与GAMINET类似,模型先拟合单一特征,找出最优的 $f_j (x_j )$$f_{ij} (x_i,x_j )$ ,从中挑选出最好的k个交互项(k由通过交叉验证得到)。

对于回归问题,EBM使用回归样条(Regression Splines)作为基函数,其表达式为$y=sum_{k=1}^d beta_k b_k (x)$ 。在基函数拟合过程中,通过使用正则化的最小二乘方法来确定模型相关参数,其表达式如下:

$beta=argunderset{beta}{min}||y-Xbeta||+lambdasum_iint[f’’(x)]^2 $

其中$X_i=[b_1 (x_i1),b_2 (x_i2),…,b_k (x_ik),lambda]$为平滑参数,防止出现模型过拟合的问题。当$lambda$越大时,拟合出的函数越光滑,反之,拟合出的函数越粗糙。

对分类问题,EBM使用二叉树或集成二叉树作基函数。针对集成二叉树,以Bagging或Backfitting作为集成方法,对若干梯度提升树进行集成,从而得到基函数。

2.2 复杂模型的事后解析方法

事后解析方法是一种与训练的模型无关的解释方法。无论用什么算法训练模型,我们都能用事后解析方法对模型的预测结果进行解释。即使预测结果是通过“黑盒”模型得到的,利用事后辅助的归因解析及可视化工具也能获得模型的可解释性。本节我们将介绍LIME和SHAP两种事后解析方法,其他事后解析方法,如PDP、ICE、ALE由于篇幅的原因,在此就不作过多的介绍。

2.2.1 LIME

LIME全称Local Interpretable Model-Agnostic Explanations,由Marco Ribeiro, Sameer Singh 和Carlos Guestrin三个人在2016年《“Why Should I Trust You?” Explaining the Predictions of Any Classififier》[10]这一文中提出来的,是一种事后解析方法,即在建立模型之后所做的解释。如图2.3,LIME在训练完模型后给出模型的解释,解释结果可以用于判断模型是否出错。如果出错,我们将结果反馈到模型当中,重新训练模型;如果无误,则将结果用于落地实施。LIME的名称很好的反映了它的特点:

  • Local: 基于想要解释的预测值及其附近的样本,构建局部的线性模型或其他代理模型;

  • Interpretable: LIME做出的解释易被人类理解。利用局部可解释的模型对黑盒模型的预测结果进行解释,构造局部样本特征和预测结果之间的关系;

  • Model-Agnostic: LIME解释的算法与模型无关,无论是用Random Forest、SVM还是XGBoost等各种复杂的模型,得到的预测结果都能使用LIME方法来解释;

  • Explanations: LIME是一种事后解析方法

告别AI模型黑盒:可解释机器学习研究报告 6

图2.3 LIME应用流程

LIME可处理不同类型的输入数据,如表格数据(Tabular Data)、图像数据(Image Data)或文本数据(Text Data)。对于表格数据,如银行理财产品潜在购买客户的识别,一个复杂模型被训练完成后,可以用LIME方法找出对模型结果影响最重要的特征变量是哪些;图像数据,如识别图片中的动物是否为猫,训练完复杂模型后可以用LIME得到图片中的动物被识别为猫是因为哪一个或几个像素块;文本数据,如识别短信是否为垃圾短信,训练完复杂模型后可以用LIME得到一条信息被判断为垃圾短信是因为哪一个或几个关键词。

LIME的算法需要输入想要解释的预测样本和已经训练好的复杂模型,基于表格数据,算法步骤如下:

1) 预测样本附近随机采样:

对于连续型(continuous)特征,LIME在预测样本点附近用一个标准正态分布N(0,1)来产生指定个数的样本;而对于类别型(categorical)特征,则根据训练集的分布进行采样,当新生成样本的类别型特征与预测样本相同时,该类别型特征取值为1,否则取值为0;假设,想要解释的预测点为$x^*=(x_1,x_2,…,x_p ) $ ,有p个特征,其中第i个特征为连续型特征,取值为$x_i$, $sigma_i$为该特征在训练集中的标准差;生成的N个样本为$z_k=(z_k1,z_k2,…,z_kp ),k=1,2,…,N $ ,通过标准正态分布N(0,1)对应生成一个随机数$a_{ki}$ (对应第k个新生成样本的第i个特征),则新生成的第k个样本的第i个特征的取值为$z_{ki}=a_ki*sigma_i+x_i $ ;

2) 对新生成的样本打标签:

将新生成的样本放入已经训练好的复杂模型中训练,得到对应的预测结果;设训练好的复杂模型为$f(.)$ ,则新生成的的样本预测结果为$f(z_1 ),f(z_2 ),… ,f(z_N ) $ ;

3) 计算新生成的样本与想要解释的预测点的距离并得到权重:

新生成的样本距离想要解释的预测点越近,我们认为这些样本能够更好的解释预测点,因此需要赋予更高的权重。我们用指数核函数(exponential kernel)去定义新生成样本的权重,设为 $pi_{x^*}(z)=exp({-D(x^*,z)^2 over sigma^2})$ ,此处$D(x^*,z)$为某个新生成的样本到的$x^*$距离函数, $sigma$则为超参数。从公式中可以看到,距离越近, $pi_{x^*}$的值越大。

4) 筛选用来解释的特征,拟合线性模型:

设想要用来解释的特征有$p’$个,则用来解释的特征为$z’=(z_{(1)},z_{(2)},…,z_{(p’ ) } )$ ,此处$z_{(1)}$ 与$z_1$ 不一定相等,只是用来表示从p个特征中选取$p’$个作为解释;设用来解释的线性模型为$g(z’)=omega_g.z’=omega_theta+omega_1 z_{(1)}+ … omega_{p’ } z_{(p’) }$ ,为了求出线性模型的系数,我们用一个加权平方损失构造损失函数:$L(f,h,pi_(x^* ) )=sum_{k=1}^N pi_{x^* } (z_k ) (f(z_k )-g(z_k’ ))^2 $ , 找出使得损失最小的$omega_g $ ,而$omega_g.z’$即为我们用来解释的特征的线性组合;而对于$p’$个特征的选择,代码中提供forward selection、highest weights、lasso等方法。

2.2.2 SHAP

SHAP全称是SHapley Additive exPlanation, 是另一种模型事后解析方法[11],可以对每一个样本中的每一个特征变量,计算出其重要性值,达到解释的效果。

  • SHapley:代表对每个样本中的每一个特征变量,都计算出它的Shapley Value。

  • Additive: 代表对每一个样本而言,特征变量对应的shapley value是可加的。

  • exPlanation:代表对单个样本的解释,即每个特征变量是如何影响模型的预测值。

特征的重要性值在SHAP中称为Shapley Value,它是SHAP方法的核心所在,理解好该值背后的含义将大大有助于我们理解SHAP的思想。Shapley Value最早由加州大学洛杉矶分校(UCLA)的教授Lloyd Shapley提出, 主要是用来解决合作博弈论中的分配均衡问题。Lloyd Shapley是2012年的诺贝尔经济学奖获得者,也是博弈论领域的无冕之王。

数据集中通常会包含很多特征变量,从博弈论的角度,可以把每一个特征变量当成一个玩家。用数据集的特征去训练模型得到的预测结果,可以看成完成众多玩家合作完成一个项目的收益。Shapley Value通过考虑各个玩家做出的贡献,来公平地分配合作的收益。在进行局部解释时,SHAP的核心是计算其中每个特征变量的Shapley Value。

当我们进行模型的SHAP事后解释时,我们需要明确标记。已知数据集(设有M个特征变量,n个样本),原始模型$f$ ,以及原始模型$f$在数据集上的所有预测值。 $g$是SHAP中用来解释$f$的模型。先用 $f$对数据集进行预测,得到模型预测值的平均值$phi_0$ 。单个样本表示为$x=(x_1,x_2…x_M )$, $f(x)$为在原始模型下的预测值。 $g(x)$是事后解释模型的预测值,满足$g(x)=phi_0+sum_{i=1}^M phi_ix_i=f(x)$ 。其中$phi_i$代表第i个特征变量的Shapley Value,是SHAP中的核心要计算的值,需要满足唯一性。同时上述模型$g$需要满足如下局部保真性,缺失性和连续性。可以理论证明求出唯一的 $phi_i$,即对应的模型$g$也是独一无二的。具体证明可参考 Shapley’s paper (1953).。 $phi_i$的表达式为:

$$phi_i (f,x)=sum_{Ssubseteq(N setminus i)} {|S|!(M-|S|-1)!over M!}[f_x (S cup i)-f_x (S)]$$

其中$N={ lbrace 1,2…M rbrace }$代表数据集中特征变量下标,1代表第一个特征变量,以此类推,i表示第i个特征变量,M是特征变量的总个数。S是集合${lbrace1,2…i-1,i,…Mrbrace}$的子集,有$2^{(M-1)}$种可能。 $|S|$是S中的元素的总个数。 $f_x (S cup i)$代表当样本中只有$S cup i$中的特征变量值时,模型的预测值。 $f_x (S)$代表当样本中只有S中的特征变量值时,模型的预测值。二者相减,可当成第i个特征变量在子集S下的边际贡献。 ${|S|!(M-|S|-1)! }over {M!}$是权重,根据排列组合的公式得到,代表有相同元素个数的S存在的概率。

3 可解释机器学习应用案例

由于近年来银行加强零售业务,并降低持卡人的标准来抢占市场份额,使得各银行信用卡的发行量大幅增加。与此同时,信用卡违约率的上升也是不可避免的,因此本章以信用卡违约风险数据集为例,来演示不同可解释机器学习模型的应用,向大家介绍不同模型的原理和其可解释性,告别模型黑盒属性。

3.1 案例背景——信用卡违约预测

近期安永发布的《中国上市银行2019年回顾及展望》[12]显示,2019年中国51家上市银行中,大型商业银行和全国性股份制银行不良贷款率和逾期率均有所下降,城商行、农商行不良贷款额和不良贷款率却出现升,资产质量压力较大。特别是近年来随着银行零售业务的不断发展,信用卡用户激增,银行所面临的潜在信用违约风险也不断上升。因此,信用卡违约情况的预测对银行进行风险管理与决策显得尤为重要。本案例将基于银行信用卡相关数据开展违约风险的预测和解释。

本次案例数据来源于UCI credit card 数据集,是德意志银行在台湾客户的信用卡数据,共有3万个样本,有23个特征变量。数据内容包括用户信息和2005年4月到9月的信用卡使用情况,预测的目标是信用卡用户在2005年10月是否违约。在2005年末,台湾发生了信用卡危机,其原因是银行的过度竞争,因此该数据对于其他种类的信用卡来说是相似的,可用作其他信用卡风险控制的参考。

3.2 数据集探索

数据集主要涉及用户的基本信息、还款状态、贷款情况、还款金额等特征。其中,性别、教育水平、婚姻情况、还款情况为离散型变量,剩余特征为连续型特征。具体含义如下表3.1:

告别AI模型黑盒:可解释机器学习研究报告 7

表3.1 信用卡数据含义

再对数据作简单的分析,查看具体每个特征的分布情况,包括每个特征的取值个数,平均值,标准差,最小值,25%分位数,中位数,75%分位数,最大值以及极值,具体如表3.2。

通过数据可视化探究用户的可透支金额,文化程度,婚姻状况,性别,年龄,还款时间,账单金额和还款金额等单变量对用户逾期行为的影响,总结出一些比较明显的导致逾期行为发生的特征变量和规则,为后续的建模流程做参考。

告别AI模型黑盒:可解释机器学习研究报告 8

表3.2 数据集基本描述

对于离散特征,我们会通过卡方检验计算每个特征的p值,p值小于0.05,代表该特征与响应变量不独立,存在相关关系;反之,则不存在相关关系。由表3.3可以看出,除婚姻以外,其他离散特征的p值均小于0.05,说明这些特征与响应变量存在相关关系。

告别AI模型黑盒:可解释机器学习研究报告 9

表3.3 卡方检验结果

对于连续特征,我们根据响应变量的两种取值0和1,将其分为两组,对其做$t$检验,若p值小于0.05,代表响应变量在不同取值下,该特征的分布有明显差异,即该特征与响应变量存在一定的相关性。由表3.4可以看出,除了BILL_AMT6之外,其他特征的p值都比较小的,说明这些特征与响应变量有一定的关系。

告别AI模型黑盒:可解释机器学习研究报告 10

表3.4 t检验结果

同时,我们还对特征进行了相关性分析,计算皮尔森相关系数矩阵。从图3.1可以看到,以BILL_AMT为首的6个之间有非常强的相关性,相关系数全都达到0.8以上。其次以PAY开头的6个特征也有相对较强的相关性,相关系数在0.5到0.8之间。余下的变量之间的相关性则没有那么强。

告别AI模型黑盒:可解释机器学习研究报告 11

图3.1 皮尔森相关系数矩阵

3.3 数据预处理

数据预处理是进行数据分析的第一步。由于原始数据普遍会存在一些问题,必须进行处理才能加以利用与分析。数据预处理一方面能够提升数据的质量,另一方面能够更好地适应后续模型的搭建要求。数据预处理有多种形式,包括数据完备性检查、缺失值及异常值探索、数据融合等多种方式。在进行数据预处理时,应根据数据的实际情况选择合适的处理方法。

本案例使用的数据集完整性较好,不存在缺失值,但是在教育水平、婚姻状况和还款情况这些字段上存在异常值,如出现负数等不合理的数字。因此,针对这一部分异常值进行了处理:

  • 针对“教育水平”这个特征,数据字典中定义的取值范围为1-4, 但数据中出现了0、5、6的取值,其含义不明,因此将其统一替换成4,即归入“其他”这一类。

  • 针对“婚姻状况”这一特征,数据字典中定义的取值范围是1、2、3。但数据集中出现了0这一取值,统一替换为3,即“其他”这一类。

  • 针对涉及还款状态的6个特征,均存在取-2、-1、0的异常取值,根据数据字典的相关规则可以推测,取上述三个值代表不存在逾期还款的情况,因此统一替换归类为0。

3.4 特征工程

特征工程能够最大限度地从数据中提取有用特征以供算法和模型使用。特征工程能够决定机器学习模型的上限,而模型和算法只能逼近这个上限。因此,特征工程在实际数据分析中占有举足轻重的地位。常用特征工程方法包括采样、单一特征归一化标准化处理、多特征降维、特征衍生和选择等等。应根据每次项目目标的不同,选择不同的处理方法。

针对本案例中已完成预处理的数据集,首先对分类特征如性别(SEX)、学历(EDUCATION)等做独热编码处理。其次检查所有连续型特征的分布情况,绘制其概率分布函数。针对长尾分布的特征,如可透支金额、账单金额等特征,取对数削弱长尾影响。最后对连续特征做标准化处理,以减少特征值域对模型的影响。

3.5 内在可解释机器学习模型应用

我们将分别使用GAMxNN、GAMINET、EBM模型对信用卡违约数据集进行预测,展示模型结果和结果的解释。

3.5.1 GAMxNN模型应用

本案例建模目标是预测银行信用卡客户是否会发生违约行为,从而区分高风险客户,进一步降低违约风险并提升银行收益。在对信用卡违约风险数据集进行预处理后,按8:2比例进行训练集和测试集的划分。将训练集输入GAMxNN模型中训练,测试集结果显示,模型精度AUC达到0.7691,同时输出模型的全局解释图——特征重要性及得分趋势图、特征取值分布图,以便于业务人员对模型结果进行解释和分析。

图3.2所示为GAMxNN全局解释图,所有特征按特征重要性降序排列。该图能够显示出每个特征与输出值之间的非线性关系,从而极大地提高了模型的精度和解释性。每幅曲线图反应的是单个特征的得分趋势,即$f_i (x_i)$ ,该图上方括号内显示的是每个特征的重要程度。每幅曲线图下方对应的是该特征的取值分布直方图。

告别AI模型黑盒:可解释机器学习研究报告 12

图3.2 GAMxNN全局解释图

以第一幅图客户2005年9月还款情况(PAY_0)为例,当逾期在0-3个月时,随着逾期月份数增长,该特征得分呈现一个显著上升趋势;当逾期超过3个月时,得分呈现略微下降的趋势,趋于水平,但得分都很高,主要原因是逾期超过3个月的客户违约概率较高,但由于样本量较少,拟合的关系存在一定误差。特征得分趋势图下方为该特征的取值分布直方图,从中可看出该特征取0的频数最大,取其他正整数的频数逐渐降低。

除了获取模型特征整体表现情况,对每位客户提供个性化的解释同样重要。GAMxNN模型能够为每位客户绘制个性化的特征得分图,清晰反映出该客户的每一项数据在模型的预测中起到的作用。对于单一客户,如果其某个特征值的得分大于零,说明该特征值会增加个体的得分;反之,如果特征值的得分小于零,则会减小个体的得分。

如图3.3所示为某一特定客户的特征得分图。从图中可看出尽管在婚姻(MARRIAGE)这个特征上得分为负,但该客户在8月、9月还款情况(PAY_0、PAY_2)较差,这两个特征对违约概率有较大的正向影响,使得最终预测该客户违约概率达到0.8979。若以0.5为概率阈值区分是否会发生违约行为,则可预测该客户会违约,而现实情况与预测相符——该客户确实发生了违约行为。

告别AI模型黑盒:可解释机器学习研究报告 13

图3.3 GAMxNN局部解释图

针对本案例,将GAMxNN模型与传统逻辑回归、复杂机器学习模型效果进行对比。结果显示,与具有高透明性的逻辑回归模型相比,GAMxNN模型精度略高于逻辑回归的模型精度0.7623,而在可解释方面,GAMxNN的解释性能够与逻辑回归相媲美。与目前机器学习领域高精度的模型XGBoost相比,GAMxNN的精度略低于XGBoost的0.7894。然而,XGBoost等复杂的机器学习模型是完全的黑箱模型,人们无法知道其内部决策的任何原因和规则,而GAMxNN模型解释性非常强。因此,GAMxNN在传统的逻辑回归和复杂机器学习模型之间找到了最优平衡点,能够将预测精度和可解释性两者相统一。

综上,GAMxNN模型能够捕捉单一变量对模型结果的影响,从全局和局部两方面对模型结果进行解释。在精度方面,GAMxNN精度超过逻辑回归精度,略低于XGBoost精度。

3.5.2 GAMINET模型应用

为了较好地预测客户未来是否会发生违约行为,在对信用卡违约风险数据集进行预处理后,按8:2比例进行训练集和测试集的划分。将训练集输入GAMINET模型中训练,测试集结果显示,模型精度AUC达到0.7761,比GAMxNN模型略高一些。和GAMxNN模型类似,我们也可以得到模型的全局解释图和局部解释图。图3.4显示的是GAMINET模型的全局解释结果。按照特征变量重要性排序得到单个特征与输出值之间的关系图,下方是特征分布直方图,交互项的热力图在单个特征结果之后。单个特征的解释方法与GAMxNN一致,对比图3.2与3.4,其结果也与GAMxNN相似。最后一排的热力图是GAMINET所特有的抓取交互项的结果。以第一张热力图为例,该图显示的是客户5月账单金额和6月账单金额对模型结果的共同影响,从图中可以看出,当其中一个月突然出现了很高的账单金额,而另一个月账单金额较小时,模型会给出较高的违约概率,这种情况涉及到客户异常行为,因此违约可能性较高。 最后一幅图显示的是客户7月还款情况和5月账单金额对模型结果的共同影响。从图中可看出,两者对结果呈现正向影响,即当5月账单金额较高且7月还款情况较差(取值较大)时,客户的违约概率很高,此结果与业务逻辑相符。

告别AI模型黑盒:可解释机器学习研究报告 14

图3.4 GAMINET模型全局解释图

图3.5显示的是GAMINET模型对某一客户得分情况的解释图。从图中可以看出单个特征以及交互特征对客户最终得分的贡献程度。模型显示该客户在4月客户还款情况(PAY_6)、年龄(AGE)和客户5月×6月账单金额(BILL_AMT4×BILL_AMT5)三个特征得分为负,即对客户违约概率是负向影响,然而在9月客户还款情况(PAY_0)、教育程度(EDUCATION)、可透支金额(LIMIT_BAL)、以及7月还款情况×客户5月账单金额交互影响(PAY_3×BILL_AMT5)得到较高的分数,导致客户违约概率变高,最终预测概率为0.8101,超过0.5的阈值,预测该客户会违约,与实际情况相符。

告别AI模型黑盒:可解释机器学习研究报告 15

图3.5 GAMINET模型局部解释图

综上,GAMINET模型能够实现对模型的全局和局部解释,并且达到一个较高的模型精度。相较于前述GAMxNN模型,增加了探索交互项对模型结果影响的步骤,从而能够抓取更多数据信息,因此GAMINET模型精度与GAMxNN模型精度相当。但对前期数据处理有一定限制和要求,因此可以根据实际情况决定是否选择GAMINET模型。

3.5.3 EBM模型应用

EBM模型曾被应用于医学领域[13],得到良好的效果,目前我们将这模型使用到银行业当中。将梳理后的信用卡违约数据放入EBM模型中训练。测试集结果显示模型精度AUC达到0.7804,模型精度较GAMxNN模型、GAMINET模型有进一步的上升。

EBM的全局解释图主要包括两个方面,一方面能够显示出不同特征变量对模型结果的贡献程度,即特征重要性。图3.6显示的是特征重要性,此处使用绝对平均数来作为特征重要性的刻画。从图中可知PAY_0,即2005年9月客户还款情况对模型结果的影响最大,最为重要。这个解释的合理性在于,相比其他月份,2005年9月的数据最新,最能反映客户当前情况,因此对预测后一个月客户是否会违约有很大影响。其次是变量PAY_2和LIMIT_BAL,即2005年8月还款状态和可透支金额。近期还款状态以及可透支金额往往是客户征信情况的总体反应,因此其对判断客户后一个月是否会违约也起到较为重要的作用。

告别AI模型黑盒:可解释机器学习研究报告 16

图3.6 EBM全局解释图

通过对比GAMxNN、GAMINET以及EBM三个模型的结果,会发现三个模型的特征重要性有所不同,这主要是因为不同模型的特征重要性计算方法不同。此时可加入专家意见或进行进一步深入分析,结合业务选择最适合的模型及其解释与结果。

另一方面,EBM的全局解释也体现在能够反映每个特征与模型结果之间的输入输出关系。以2005年9月客户还款情况(PAY_0)为例,如图3.7所示。从图中可看出当逾期时长小于等于零时(即不发生逾期时),模型评分维持在0左右。随着逾期时间的增加,特别在逾期两个月之后,模型评分会有一个较大的上升,说明超过两个月的逾期会导致客户发生违约的概率显著上升。折线图下方显示的时该特征的取值分布情况。

告别AI模型黑盒:可解释机器学习研究报告 17

图3.7 EBM模型单个特征解释

EBM模型的局部解释主要体现在对具体某一个体预测结果的解释方面。随机选取一名客户,预测其违约的概率。图3.8反映的是该客户在每一个特征上的评分,将其加总并进行

logit变换即可得到该客户违约的预测概率。从图中可看出,由于该客户曾在2005年9月发生过两个月的逾期(PAY_0),且其在2005年8月、2005年4月均发生过两个月逾期(PAY_2=2,PAY_6=2),导致模型对其评分较大,最终预测其为违约风险高的客户。

综上,基于树模型的EBM同样能够给出模型的全局和局部解释。相较于GAMxNN、GAMINET模型,EBM在本案例中实现了更高的精度,但是在解释性方面,只能给出分段函数,不能给出平滑曲线,从而对一些截断点(跳跃点)缺少解释,解释性有所下降。

告别AI模型黑盒:可解释机器学习研究报告 18

图3.8 EBM局部解释图

3.6 复杂模型的事后解析方法应用

我们首先使用XGBoost模型对信用卡违约数据集进行预测,再用LIME和SHAP两种事后解析方法对预测结果进行解释。

3.6.1 LIME方法应用

以信用卡违约风险数据集为例,对数据做完预处理之后,按8:2比例进行训练集和测试集的划分,使用XGBoost模型进行训练,再用LIME做事后解析。测试集结果显示模型精度AUC为0.7744,与之前内在可解释模型精度相当。接下来我们用LIME对某一样本进行解释。首先指定哪些变量是类别型变量,然后构造一个LIME解释器,根据图3.9中的代码,我们需要输入的参数包括模型的训练集,特征名称,类别型变量,响应变量的名称,模型的类型(回归还是分类),特征选择的方法等等。

告别AI模型黑盒:可解释机器学习研究报告 19

图3.9 LIME解释器

任意挑选一个样本,此处设置用5个特征来进行解释。根据LIME的解释,我们可以从图3.10看到,该客户判断为不会违约的概率是93%,会违约的概率是7%,而得到这个结果的主要原因是:1、9月份按时还款(PAY_0=0),;2、额度(LIMIT_BAL=31000);3、8月份还款金额(PAY_AMT2=6000);4、上个月的账单金额(BILL_AMT1=172772);5、9月份还款金额(PAY_AMT1=8295)。我们可以分析出,该客户在10月份不会违约是因为他9月份按时还款了,并且额度和8月、9月的还款金额都足够高,虽然9月份的账单金额较高,有可能导致该客户违约,但总体来说该客户不违约的概率较大。

告别AI模型黑盒:可解释机器学习研究报告 20

图3.10 LIME结果

同时,我们也可以通过LIME中的次模挑选方法(submodular pick),选出对模型的整体影响最大的特征,看看这些特征在整个样本集中,是怎么影响预测结果的。图3.11展示的是解释的结果。结果表示,客户判断为10月份不违约的最重要原因是他们9月按时还款了(PAY_0=0),其次重要的原因是8月份按时还款(PAY_2=0),额度(LIMIT-BAL)则是第三重要的原因,是一个正向的影响,即额度越高,10月份不违约的可能性越大,而9月份的账单金额(BILL_AMT1)是负向的影响,金额越大,10月份不违约的可能性越小。

综上,我们看到LIME可以实现模型局部解释和整体解释的目的,通过事后解释,我们对模型的预测结果进行分析,而这些解释也是符合银行业务逻辑的。如果结果的解释不正确,还可以对模型进行调优,调整特征,从而提高精度,避免安全风险。

告别AI模型黑盒:可解释机器学习研究报告 21

图3.11 submodular pick结果

3.6.2 SHAP方法应用

在信用卡违约风险数据集上用Tree SHAP来解释复杂树模型XGBoost。Tree Explainer是专门解释树模型的SHAP解释器[14]。用XGBoost训练完模型后,选用任意一个样本来进行解释,计算出它的Shapley Value,画出force plot。对于整个数据集,计算每一个样本的shapley value, 求平均值可得到SHAP的全局解释,画出summary plot。

以图3.12为例,该样本在XGBoost中判定为不会违约,因此在SHAP中其output value会低于base value。红色部分为正向影响,即特征取值使得违约概率变高,蓝色部分为负向影响,即特征取值使得违约率变低。我们可以看到,9月份还款金额(PAY_1=23080)、额度(LIMIT_BAL=300000)是该客户判定为不违约的最重要的两个原因,虽然该客户在9月份的还款逾期了一个月(PAY_0=1),4月份还款金额为0(PAY_AMT6=0),但这两个因素的正向影响不足以让模型判断他会违约,从图中也可以看出,负向影响是大于正向影响的,从而导致该样本的output value会低于base value,因此总体来说该客户违约的可能性较小。

告别AI模型黑盒:可解释机器学习研究报告 22

图3.12 SHAP单个样本解释图

图3.13是SHAP的summary plot,展示的是模型中的特征重要性,属于全局解释。根据SHAP Value的绝对值从大到小排序,可以看到9月份客户还款情况(PAY_0)最重要,额度次之(LIMIT_BAL)。

SHAP方法的理论基础完备,算法多种多样,解释结果直观。既能从局部解释,也可以提供全局解释。同时对于不同种类的模型有特定的提升算法,如TreeSHAP(如只对树模型解释), DeepSHAP(对神经网络模型解释)等,定制化的SHAP解释更准确更高效。不足之处在于SHAP value的计算比较复杂,可能会导致计算速度较慢,同时SHAP的解释运用了所有的特征,可能会导致结果的解释不容易被理解。

告别AI模型黑盒:可解释机器学习研究报告 23

图3.13 SHAP全局解释图

4 总结与未来展望

本文先从可解释机器学习背景出发,针对机器学习模型的黑盒属性,提出模型可解释性的必要性,进而从两方面介绍可解释机器学习:内在可解释机器学习模型与事后解析方法。结合信用卡违约风险数据集案例,对不同的内在可解释机器学习模型与事后解析方法进行了详细的介绍,并给出相应的可解释结果,使读者对可解释机器学习有了初步的认识。

人与人之间能很好的合作是因为他们能互相理解对方的工作,人与机器学习模型能有效的合作也需要人们理解模型的工作原理,可解释机器学习便是人与模型沟通的桥梁,合理的解释是有效合作的核心。随着科技的发展,深度学习等更多复杂的模型将不断应用到银行金融业中,对深度学习的可解释性是一大挑战,研究者也提出了更多新的解释算法,旨在提高解释的质量和准确度。索信达金融AI实验室将继续在可解释机器学习领域做探究,结合业务经验,学习、优化和研发不同的算法,推动银行业技术的创新发展。

附录 参考文献

[1] Jie Chen, Wells Fargo.Deep insights into interpretability of machine learning algorithms and applications to risk management, Mar 27, 2019.

[2] Lael Brainard (2018). What are we learning about artificial intelligence in financial services?
https://www.federalreserve.gov/newsevents/speech/brainard20181113a.htm.

[3] 《金融科技(FinTech)发展规划(2019-2021 年)》

[4] Finale Doshi-Velez and Been Kim(2017). Towards A Rigorous Science of Interpretable Machine Learning.

[5] Christoph Molnar. Interpretable Machine Learning[M]. February 28, 2020.

[6] Joel Vaughan and Agus Sudjianto and Erind Brahimi and Jie Chen and Vijayan N. Nair(2018). Explainable Neural Networks based on Additive Index Models

[7] Zebin Yang, Aijun Zhang, Agus Sudjianto(2019). Enhancing Explainability of Neural Networks through Architecture Constraints.

[8] Zebin Yang, Aijun Zhang, Agus Sudjianto(2020). GAMI-Net: An Explainable Neural Network based on Generalized Additive Models with Structured Interactions.

[9] Yin Lou,Rich Caruana,Johannes Gehrke(2012). Intelligible Models for Classification and Regression.

[10] Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. “Why Should I Trust You?: Explaining the predictions of any classifier.” Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2016.

[11] Scott M. Lundberg, Su-in Lee. A Unified Approach to Interpreting Model Predictions, 2016.

[12] EY安永(2019),《中国上市银行2019年回顾及未来展望》

[13] R. Caruana, Y. Lou, J. Gehrke, P. Koch, M. Sturm, and N. Elhadad (2015). Intelligible Models for HealthCare: Predicting Pneumonia Risk and Hospital 30-day Readmission

[14] Scott M. Lundberg, Su-in Lee. From local explanations to global understanding with explainable AI for trees.2020.