CAP(Cumulative Accuracy Profile)曲線/AR值釋義

CAP(Cumulative Accuracy Profile)曲線/AR值釋義

CAP(Cumulative Accuracy Profile)曲線以及對應的AR(Accuracy Ratio)值是金融風控模型評價中的一個比較常用的指標,由於和機器學習準確率評價的ROC曲線比較類似,但CAP曲線的具體含義尚未見到有比較好的資料闡述,因此這裏對CAP的概念做一詳細說明。

首先,來講一下CAP曲線針對的問題,以及它是如何做出來的。CAP衡量的是風控模型檢出風險(也就是壞用戶的)的能力。所謂風控模型實際上就是一個分類模型,它把有風險的客戶作爲正例進行檢出。

CAP曲線的步驟如下:首先,對於所有預測的結果,按照其概率值降序排列起來,比如我們有5個客戶,判斷其爲壞客戶的概率分別爲:[0.1,0.4,0.6,0.8,0.9],那麼排序後得到 [0.9,0.8,0.6,0.4,0.1]。我們將概率大的判斷爲正樣本,但是需要一個閾值,那麼我們就從高到低逐漸降低閾值,這時候發現,我們判斷爲正的數量越來越多,比如,閾值再0.85,則正的只有一個0.9,如果閾值降低到0.7,那麼就有0.9和0.8兩個正的預測。

CAP的橫軸就是從排序後概率值頭部到尾部的移動過程中,閾值以上的(預測爲正的)樣本佔總樣本的比例。寫出來就是:

x = 該閾值下預測爲正的樣本數 / 樣本集中的總樣本數

而CAP的縱軸表示的則是,再當前閾值下,我們揀選出來的這些預測爲正的樣本中,其中含有的真實的正樣本佔所有正樣本的比例。注意,這裏的分母不是所有樣本,而是所有正樣本。寫出來就是:

y = 該閾值下檢出的正樣本中真實的正樣本數 / 樣本集合中的總正樣本數

這裏可以看出,閾值實際上是x和y的一個隱變量。

我們想象一下,最好的情況是:我們將閾值從最大往最小移動,即將正負樣本的劃分界限從左往右移動的過程中,每增加一個預測爲正的樣本,它都是真的正樣本。這樣的結果就是:x和y的分子是一致的,那麼隨着閾值降低,y和x 的斜率就是一個常數:

k = y/x

= (該閾值下檢出的正樣本中真實的正樣本數 / 樣本集合中的總正樣本數) * (樣本集中的總樣本數/該閾值下預測爲正的樣本數 )

= 樣本集中的總樣本數/樣本集合中的總正樣本數

=1/壞客戶比率

也就是說,再理想狀態下,CAP曲線應該是一個斜率爲壞客戶比例倒數(正樣本比例的倒數)的直線。當然,這個直線不能一直遞增,因爲正樣本是有限的,那麼當所有正樣本都被檢出後,曲線就平了,表示再也剪不出正樣本了。

我們再考慮另一種情況,也就是最差的情況。由於斜率表示的是每次增加一點檢出樣本,正樣本的檢出率增加量。如果是隨機的,也就意味着,不管在那個小區間裏,正樣本的比例和總體的正樣本比例都是一樣的(隨機猜測)。所以,這個斜率應該是1。比如說,100個樣本中,一共20個正例,那麼如果我們檢出了30個,那麼如果是隨機猜測,那麼應該有6個正例在裏面,此時x = 30/100 = 0.3, y = 6/20 = 0.3。斜率是1。也就是說,斜率1是隨機猜測的結果。

如圖所示:

在這裏插入圖片描述

實際情況中,我們的模型總是介於最優和隨機之間的,而且越是靠近最優就越好。因此我們通常計算上圖中黃色的面積與(黃色+灰色)的面積的比來衡量模型的有效性。這個值就是AR:

AR = (實際CAP曲線與隨機曲線之間的面積) / (理想CAP曲線與隨機之間的面積)

顯然,AR在0到1之間。AR越大,模型就越有區分度,可以更好地將正負樣本分開。

2019-08-29 20:51:32

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