告別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版報告全文】

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等方法都屬於事後解析方法。

圖1.1 可解釋機器學習:預測精度和模型可解釋性(圖片來源:香港大學張愛軍教授)

1.3 本文研究目的

在銀行業中,可解釋機器學習的概念尚未普及。業內使用較多的還是傳統的統計學模型,其預測表現與機器學習模型相比不太理想,而如果使用複雜的機器學習模型,又會擔心由不可解釋性引發的風險,所以機器學習模型在銀行業內沒有得到廣泛使用。

索信達數據技術有限公司金融AI實驗室結合自身的技術背景與銀行的業務場景,在可解釋機器學習領域進行了一定的探索,寫作本報告的目的是希望能將可解釋機器學習領域的研究所得分享給大家,讓更多數據從業者瞭解可解釋機器學習的基本概念,領域概貌,同時結合銀行信用風險評分場景,展示了可解釋機器學習的一些創新算法與具體實施效果,冀希推動可解釋機器學習在銀行業更多場景的應用落地。

2 可解釋機器學習模型與方法

本章我們將詳細介紹以下內在可解釋模型和模型的事後解析方法。

表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也能夠輸出局部解釋圖,顯示出每一個樣本在不同特徵上的得分情況。全局解釋與局部解釋相結合,極大地提升了模型的解釋性,能夠幫助業務人員去判斷模型結果的正確性。

圖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模型的完整形式。

圖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=\arg\underset{\beta}{\min}||y-X\beta||+\lambda\sum_i\int[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是一種事後解析方法

圖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_{S\subseteq(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,…M\rbrace}$的子集,有$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:

表3.1 信用卡數據含義

再對數據作簡單的分析,查看具體每個特徵的分佈情況,包括每個特徵的取值個數,平均值,標準差,最小值,25%分位數,中位數,75%分位數,最大值以及極值,具體如表3.2。

通過數據可視化探究用戶的可透支金額,文化程度,婚姻狀況,性別,年齡,還款時間,賬單金額和還款金額等單變量對用戶逾期行爲的影響,總結出一些比較明顯的導致逾期行爲發生的特徵變量和規則,爲後續的建模流程做參考。

表3.2 數據集基本描述

對於離散特徵,我們會通過卡方檢驗計算每個特徵的p值,p值小於0.05,代表該特徵與響應變量不獨立,存在相關關係;反之,則不存在相關關係。由表3.3可以看出,除婚姻以外,其他離散特徵的p值均小於0.05,說明這些特徵與響應變量存在相關關係。

表3.3 卡方檢驗結果

對於連續特徵,我們根據響應變量的兩種取值0和1,將其分爲兩組,對其做$t$檢驗,若p值小於0.05,代表響應變量在不同取值下,該特徵的分佈有明顯差異,即該特徵與響應變量存在一定的相關性。由表3.4可以看出,除了BILL_AMT6之外,其他特徵的p值都比較小的,說明這些特徵與響應變量有一定的關係。

表3.4 t檢驗結果

同時,我們還對特徵進行了相關性分析,計算皮爾森相關係數矩陣。從圖3.1可以看到,以BILL_AMT爲首的6個之間有非常強的相關性,相關係數全都達到0.8以上。其次以PAY開頭的6個特徵也有相對較強的相關性,相關係數在0.5到0.8之間。餘下的變量之間的相關性則沒有那麼強。

圖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)$ ,該圖上方括號內顯示的是每個特徵的重要程度。每幅曲線圖下方對應的是該特徵的取值分佈直方圖。

圖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爲概率閾值區分是否會發生違約行爲,則可預測該客戶會違約,而現實情況與預測相符——該客戶確實發生了違約行爲。

圖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月還款情況較差(取值較大)時,客戶的違約概率很高,此結果與業務邏輯相符。

圖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的閾值,預測該客戶會違約,與實際情況相符。

圖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月還款狀態和可透支金額。近期還款狀態以及可透支金額往往是客戶徵信情況的總體反應,因此其對判斷客戶後一個月是否會違約也起到較爲重要的作用。

圖3.6 EBM全局解釋圖

通過對比GAMxNN、GAMINET以及EBM三個模型的結果,會發現三個模型的特徵重要性有所不同,這主要是因爲不同模型的特徵重要性計算方法不同。此時可加入專家意見或進行進一步深入分析,結合業務選擇最適合的模型及其解釋與結果。

另一方面,EBM的全局解釋也體現在能夠反映每個特徵與模型結果之間的輸入輸出關係。以2005年9月客戶還款情況(PAY_0)爲例,如圖3.7所示。從圖中可看出當逾期時長小於等於零時(即不發生逾期時),模型評分維持在0左右。隨着逾期時間的增加,特別在逾期兩個月之後,模型評分會有一個較大的上升,說明超過兩個月的逾期會導致客戶發生違約的概率顯著上升。折線圖下方顯示的時該特徵的取值分佈情況。

圖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在本案例中實現了更高的精度,但是在解釋性方面,只能給出分段函數,不能給出平滑曲線,從而對一些截斷點(跳躍點)缺少解釋,解釋性有所下降。

圖3.8 EBM局部解釋圖

3.6 複雜模型的事後解析方法應用

我們首先使用XGBoost模型對信用卡違約數據集進行預測,再用LIME和SHAP兩種事後解析方法對預測結果進行解釋。

3.6.1 LIME方法應用

以信用卡違約風險數據集爲例,對數據做完預處理之後,按8:2比例進行訓練集和測試集的劃分,使用XGBoost模型進行訓練,再用LIME做事後解析。測試集結果顯示模型精度AUC爲0.7744,與之前內在可解釋模型精度相當。接下來我們用LIME對某一樣本進行解釋。首先指定哪些變量是類別型變量,然後構造一個LIME解釋器,根據圖3.9中的代碼,我們需要輸入的參數包括模型的訓練集,特徵名稱,類別型變量,響應變量的名稱,模型的類型(迴歸還是分類),特徵選擇的方法等等。

圖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月份的賬單金額較高,有可能導致該客戶違約,但總體來說該客戶不違約的概率較大。

圖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可以實現模型局部解釋和整體解釋的目的,通過事後解釋,我們對模型的預測結果進行分析,而這些解釋也是符合銀行業務邏輯的。如果結果的解釋不正確,還可以對模型進行調優,調整特徵,從而提高精度,避免安全風險。

圖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,因此總體來說該客戶違約的可能性較小。

圖3.12 SHAP單個樣本解釋圖

圖3.13是SHAP的summary plot,展示的是模型中的特徵重要性,屬於全局解釋。根據SHAP Value的絕對值從大到小排序,可以看到9月份客戶還款情況(PAY_0)最重要,額度次之(LIMIT_BAL)。

SHAP方法的理論基礎完備,算法多種多樣,解釋結果直觀。既能從局部解釋,也可以提供全局解釋。同時對於不同種類的模型有特定的提升算法,如TreeSHAP(如只對樹模型解釋), DeepSHAP(對神經網絡模型解釋)等,定製化的SHAP解釋更準確更高效。不足之處在於SHAP value的計算比較複雜,可能會導致計算速度較慢,同時SHAP的解釋運用了所有的特徵,可能會導致結果的解釋不容易被理解。

圖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.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章