針對(duì)不平衡數(shù)據(jù)的模型評(píng)判


當(dāng)?shù)玫揭粋€(gè)模型時(shí)的評(píng)價(jià)標(biāo)準(zhǔn)。 確定該模型分?jǐn)?shù)的閾值。

根據(jù)AUC ROC KS值去判斷 和確定該模型的好壞和閾值。


AUC值:

AUC是一個(gè)基于ROC圖的面積。一般是一個(gè)上凸形狀。面積越接近1,則說明模型判別效果越好。如下圖:


其橫坐標(biāo)是FPR-假正率。其縱坐標(biāo)是TPR-真正率。

FPR=FP/(FP+TN) 即 認(rèn)為是正例的 實(shí)際卻是負(fù)例 / 所有負(fù)例

TPR=TP/(TP+FN) 即 認(rèn)為是正例的 實(shí)際也是正例 /所有正例

假象中 若需要實(shí)現(xiàn)上凸的結(jié)果。則需要 橫坐標(biāo)較小時(shí),縱坐標(biāo)較大。

我們一般讓模型輸出一個(gè)分?jǐn)?shù),在授信階段的這個(gè)分?jǐn)?shù),我們業(yè)界一般稱為A卡分,即 Application Score Card,申請(qǐng)?jiān)u分卡。在貸中環(huán)節(jié)有B卡分,即 Behavior Score Card。在貸后催收環(huán)節(jié),還有C卡分,Collection Score Card。

一般而言A卡分,分?jǐn)?shù)越小用戶越差,分?jǐn)?shù)越大用戶越好。這也和大多數(shù)的征信分意義一致,如芝麻分、百維分、華策分。

假設(shè)A卡分的取值是0-100分。那么設(shè)拒絕閾值為X。當(dāng)X=20時(shí),會(huì)拒絕一部分用戶,這部分用戶里面可能是有真正壞的人,也有好用戶。


如以cita為閾值時(shí),TP和FP是拒絕的用戶,而TP則是真正壞的人,F(xiàn)P是好人。那一般好模型會(huì)希望如上圖好壞用戶的分布比例。先是壞用戶比例高,然后是好用戶比例高。

由于TPR和FPR是以總體的正樣本數(shù)和負(fù)樣本數(shù)單獨(dú)計(jì)算的,所以如果AUC大,可以回答:不論正負(fù)樣本的分布比例,這個(gè)模型的區(qū)分能力總體上是很好的!

在風(fēng)控模型里面,一般認(rèn)為 壞人是正例,是需要我們找出來的。 而好用戶是負(fù)例。

那么當(dāng)X=20時(shí),如果模型有效,那么真正壞的比例應(yīng)該高,而好用戶比例低。

那么應(yīng)該 TPR 大,F(xiàn)PR小。為了實(shí)現(xiàn)上凸的效果,需要FPR為橫坐標(biāo),TPR為縱坐標(biāo)。

ROC曲線是使閾值X遍歷所有,預(yù)測(cè)的正樣本和負(fù)樣本在不斷變化,直到覆蓋了總體,此時(shí)TPR=1 TPR=1。

AUC值的一個(gè)意義是,反應(yīng)模型對(duì)正負(fù)樣本的排序能力強(qiáng)弱。理論上,當(dāng)模型把所有正樣本排在負(fù)樣本之前時(shí),auc=1,為理論最大值。


但是AUC本身不提供一個(gè)最優(yōu)閾值,只是表示這個(gè)模型分?jǐn)?shù)對(duì)正負(fù)樣本有一定的區(qū)分能力。

具體需要 確定最優(yōu)閾值時(shí),我們選用了 KS值,來進(jìn)行確定。

KS值一般取值范圍為【0,1】,KS值越大,表示模型能將正負(fù)樣本區(qū)分開來的程度越大。但并非越大越好,尤其是在征信模型中。

征信模型中,最期望得到的信用分?jǐn)?shù)分布是正態(tài)分布。如果KS過大,如超過0.8,就可以認(rèn)為正負(fù)樣本分得過開,這可能表明信用分?jǐn)?shù)和樣本分布不呈正態(tài)分布,可能是極端分布,如U字形,像這種分?jǐn)?shù)的使用,需要謹(jǐn)慎。


KS值=max(TPR-FPR) ,此時(shí)閾值則為最佳閾值,可用模型和這閾值進(jìn)行用戶區(qū)分。

KS值得計(jì)算,可以是分組計(jì)算,也可以是逐個(gè)逐個(gè)數(shù)據(jù)進(jìn)行計(jì)算,此時(shí)仍然可以算出TPR和FPR,進(jìn)而算出KS值。

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

還有一些不常用的評(píng)價(jià)指標(biāo)

precision 準(zhǔn)確率=TP/(TP+FP) 即拒絕的用戶中真正壞的用戶/拒絕的用戶數(shù) 【這個(gè)指標(biāo),會(huì)隨著測(cè)試集的正負(fù)比例的改變而改變】

TPR=recall = 召回率=TP/(TP+FN) 即 拒絕且真正壞的用戶/ 全部壞的用戶

specificity =1-FPR=1-FP/(FP+TN)=TN/(FP+TN)


TPR 和 FPR都是條件概率,不受樣本情況影響。


對(duì)于惡劣分類情況,即【寧可殺錯(cuò)一千,不過放過一個(gè)】,那需要在設(shè)定合理的 precision下,提高recall。找到這個(gè)情況下的閾值。