XAI| 累積局部效應(ALE)
一、介紹
在上一篇的 XAI 系列針對 事後可解釋性(Post Hoc)並且通用於任何一種演算法模型(Model-agnostic)的3個方法:特徵重要度、PDP、ICE Plot,做了詳細的解釋。若對於這3個方法有興趣的人可以參考下列的網址:
本篇文章則會介紹另一種與模型無關的事後可解釋的方法:累積局部效應(Accumulated Local Effects Plot,簡稱 ALE)。
二、資料說明
本篇文章將以新生兒的資料進行舉例說明。目的是為了解特徵與預測新生兒的體重(目標變數 y)之間的關係。
資料下載|| 新生兒資料.csv料欄位說明
1. Baby_weight: 新生兒體重
2. Mother_age: 媽媽年齡
3. Mother_BMI: 媽媽BMI
4. Baby_hc: 新生兒頭圍
下面供了R的程式碼讓大家練習與參考:
💻 R code:Google Colab R code
三、累積局部效應 ALE
累積局部效應(ALE)主要用來描述特徵與預測值的平均關係,基本上與 PDP 的功能相同,但 ALE 利用了條件分布( Conditional Distribution)的概念,擺脫了「特徵獨立的假設」使得結果更於穩健。因此,在應用上 ALE 是比 PDP 更廣泛的 。PDP 與 ALE 的比較如下表所示:
在某些情況下特徵與特徵之間是有相關性的,例如:房屋居住面積和售價可能呈現的是正相關(坪數越大售價越高),這時若在假設特徵獨立並使用 PDP的方法,會使得結果產生偏差,因為在 PDP 的方法中,所考慮的是在特徵 x₁固定的狀況下置換不同的特徵值 xᴄ 的結果。
xᴄ 的解釋請參考 XAI| 如何對集成樹進行解釋? 中 PDP 章節中的說明。
以下圖為例做更詳細的說明:假設資料集中特徵 x₁ 與 x₂ 呈現高度正相關,若使用PDP的方法將 x₁固定在 0.3,那麼 x₂ 為 0.8 的情況就非常的不真實,因為在現實狀況下,由於 x₁ 與 x₂ 具正相關,因此當 x₁ = 0.3 時, x₂ 大多只會落在 0.1~0.5 的區間當中。而 ALE 的做法則是在 x₁ = 0.3時,限制了 x₂ 的區間,具體公式與作法請參「計算原理」的段落。
.計算原理
訓練好一個模型 f̂(假設 x₁、x₂、x₃、x₄ 為特徵、目標變數為 y),假設我們想探討的是 x₁ 與 y 之間的關係,但知道 x₁可能與其他特徵有相關,因此必須使用累積局部效應的方法,公式如下:
接著,以下圖(此圖為特徵 x₁與 x₂ 的關係圖,並將 x₁ 劃分為 k 個區間)搭配上述之公式為例詳細說明 ALE 的作法。
ALE 的分析步驟如下:
- 將欲觀察之特徵分為多個區間(區間大小可任意決定)。
- 對於每個區間,將區間內的所樣本點除了x₁之外的特徵值代入,並將x₁以該區間的上下界代入模型 f̂,得到兩個上下界的預測結果。
- 計算每個樣本點上下界的預測差異,並對該區間的預測差異值取平均。
- 累加前面所有區間的平均預測差異,最後得到每一區間 特徵 x₁ 對預測值 y 的平均影響。
.結果解釋
從這張圖可以了解到媽媽的年齡、BMI與新生兒頭圍是如何影響新生兒體重的預測值,而 ALE 的方法呈現是的是預測值在局部範圍內 (區間) 的平均變化。
有興趣的人也可以分別使用 PDP 與 ALE 做做看,並且比較結果上的差異。
.優缺點彙整
👍🏻 優點:
1. ALE的結果是無偏的。
2. ALE擺脫了特徵獨立性的假設。
3. ALE所需計算的次數相較於PDP少,因此計算速度比較快。👎🏻 缺點:
1. 與PDP相比,ALE的概念較不直觀。
2. ALE並不附帶ICE曲線。
3. 需要自行設置區間間隔數量,若區間設置的不好容易使得結果不穩定。
最後,感謝你認真讀完這篇文章,如果你喜歡我的文章,請給我一些「掌聲👏🏻」與「追蹤我的專欄」,你的支持會是我持續分享的動力。若有希望我分享的主題,也歡迎在下面留言 📝讓我知道。
參考資料
- Christoph Molnar. “Interpretable Machine Learning: A Guide for Making Black Box Models Explainable. ” (2020)
- Jingyu Zhu, Daniel W. Apley. “Accumulated Local Effect Plot (ALE) and Package ALEPlot.” (2018)
- https://cran.r-project.org/web/packages/iml/vignettes/intro.html