天天看點

特征重要度 WoE、IV、BadRate

1.iv的用途

iv的全稱是information value,中文意思是資訊價值,或者資訊量。

我們在用邏輯回歸、決策樹等模型方法建構分類模型時,經常需要對自變量進行篩選。比如我們有200個候選自變量,通常情況下,不會直接把200個變量直接放到模型中去進行拟合訓練,而是會用一些方法,從這200個自變量中挑選一些出來,放進模型,形成入模變量清單。那麼我們怎麼去挑選入模變量呢?

挑選入模變量過程是個比較複雜的過程,需要考慮的因素很多,比如:變量的預測能力,變量之間的相關性,變量的簡單性(容易生成和使用),變量的強壯性(不容易被繞過),變量在業務上的可解釋性(被挑戰時可以解釋的通)等等。但是,其中最主要和最直接的衡量标準是變量的預測能力。

“變量的預測能力”這個說法很籠統,很主觀,非量化,在篩選變量的時候我們總不能說:“我覺得這個變量預測能力很強,是以他要進入模型”吧?我們需要一些具體的量化名額來衡量每自變量的預測能力,并根據這些量化名額的大小,來确定哪些變量進入模型。iv就是這樣一種名額,他可以用來衡量自變量的預測能力。類似的名額還有資訊增益、基尼系數等等。

iv表示一個變量的預測能力:

<=0.02,沒有預測能力,不可用

0.02~0.1 弱預測性

0.1~0.2 有一定預測能力

0.2+高預測性

2.對iv的直覺了解

從直覺邏輯上大體可以這樣了解“用iv去衡量變量預測能力”這件事情:我們假設在一個分類問題中,目标變量的類别有兩類:y1,y2。對于一個待預測的個體a,要判斷a屬于y1還是y2,我們是需要一定的資訊的,假設這個資訊總量是i,而這些所需要的資訊,就蘊含在所有的自變量c1,c2,c3,……,cn中,那麼,對于其中的一個變量ci來說,其蘊含的資訊越多,那麼它對于判斷a屬于y1還是y2的貢獻就越大,ci的資訊價值就越大,ci的iv就越大,它就越應該進入到入模變量清單中。

3.iv的計算

前面我們從感性角度和邏輯層面對iv進行了解釋和描述,那麼回到數學層面,對于一個待評估變量,他的iv值究竟如何計算呢?為了介紹iv的計算方法,我們首先需要認識和了解另一個概念——woe,因為iv的計算是以woe為基礎的。

3.1woe

woe的全稱是“weight of evidence”,即證據權重。woe是對原始自變量的一種編碼形式。

要對一個變量進行woe編碼,需要首先把這個變量進行分組處理(也叫離散化、分箱等等,說的都是一個意思)。分組後,對于第i組,woe的計算公式如下:

特征重要度 WoE、IV、BadRate

其中,pyi是這個組中響應客戶(風險模型中,對應的是違約客戶,總之,指的是模型中預測變量取值為“是”或者說1的個體)占所有樣本中所有響應客戶的比例,pni是這個組中未響應客戶占樣本中所有未響應客戶的比例,#yi是這個組中響應客戶的數量,#ni是這個組中未響應客戶的數量,#yt是樣本中所有響應客戶的數量,#nt是樣本中所有未響應客戶的數量。

從這個公式中我們可以體會到,woe表示的實際上是“目前分組中響應客戶占所有響應客戶的比例”和“目前分組中沒有響應的客戶占所有沒有響應的客戶的比例”的差異。

對這個公式做一個簡單變換,可以得到:

特征重要度 WoE、IV、BadRate

變換以後我們可以看出,woe也可以這麼了解,他表示的是目前這個組中響應的客戶和未響應客戶的比值,和所有樣本中這個比值的差異。這個差異是用這兩個比值的比值,再取對數來表示的。woe越大,這種差異越大,這個分組裡的樣本響應的可能性就越大,woe越小,差異越小,這個分組裡的樣本響應的可能性就越小。

關于woe編碼所表示的意義,大家可以自己再好好體會一下。

3.2 iv的計算公式

有了前面的介紹,我們可以正式給出iv的計算公式。對于一個分組後的變量,第i 組的woe前面已經介紹過,是這樣計算的:

特征重要度 WoE、IV、BadRate

同樣,對于分組i,也會有一個對應的iv值,計算公式如下:

特征重要度 WoE、IV、BadRate

有了一個變量各分組的iv值,我們就可以計算整個變量的iv值,方法很簡單,就是把各分組的iv相加:

特征重要度 WoE、IV、BadRate

其中,n為變量分組個數。

 ==========================================

bad rate:

    壞樣本率,指的是将特征進行分箱之後,每個bin下的樣本所統計得到的壞樣本率

bad rate 單調性與不同的特征場景: 

在評分卡模型中,對于比較嚴格的評分模型,會要求連續性變量和有序性的變量在經過分箱後需要保證bad rate的單調性。

    1. 連續性變量:

        在嚴格的評分卡模型中,對于連續型變量就需要滿足分箱後 所有的bin的 bad rate 要滿足單調性,隻有滿足單調新的情況下,才能進行後續的woe編碼

   2. 離散型變量:

        離散化程度高,且無序的變量:

        比如省份,職業等,我們會根據每個省份資訊統計得到bad rate 數值對原始省份資訊進行編碼,這樣就轉化為了連續性變 量,進行後續的分箱操作,對于經過bad rate編碼後的特征資料,天然單調。

       隻有當分箱後的所有的bin的bad rate 呈現單調性,才可以進行下一步的woe編碼

        離散化程度低,且無序的變量:

        比如婚姻狀況,隻有四五個狀态值,是以就不需要專門進行bad rate數值編碼,隻要求出每個離散值對應的bin的bad rate比例是否出現0或者1的情況,若出現說明正負樣本的分布存在極端情況,需要對該bin與其他bin進行合并, 合并過程完了之後 就可以直接進行後續的woe編碼

        有序的離散變量:

        對于學曆這種情況,存在着國小,國中,高中,大學,碩士,博士等幾種情況,而且從業務角度來說 這些離散值是有序的, 是以我們在分箱的時候,必須保證bin之間的有序性,再根據bad rate 是否為0 或者1的情況 決定是否進行合并,最終将合并的結果進行woe編碼

    是以bad rate單調性隻在連續性數值變量和有序性離散變量分箱的過程中會考慮。

bad rate要求單調性的原因分析:

    1. 邏輯回歸模型本身不要求特征對目标變量的單調性。之是以要求分箱後單調,主要是從業務角度考慮,解釋、使用起來友善一點。如果有某個(分箱後的)特征對目标變量不單調,會加劇模型解釋型的複雜化

    2. 對于像年齡這種特征,其對目标變量往往是一個u型或倒u型的分布,有些公司/部門/團隊是允許變量的bad rate呈(倒)u型的。

繼續閱讀