金融風控基本知識(iforest,AUC,PSI,KS曲線)

最近,準備總結一些機器學習在金融風控方面的基礎知識,畢竟最近自己也入了金融安全的坑。
首先要講的知識點是一種異常檢測算法——Iforest,該算法由周志華老師團隊提出《Isolation Forest》,由於其計算複雜度比較低,被大量的運用在工業界中。下面我來介紹一下該算法工作原理:

這個森林的每一棵樹都是二叉樹的結構,並採用完全隨機的方式生成,即在進行葉子節點分裂的時候隨機的選取特徵,隨機選擇特徵對應的數值進行分裂。當葉子節點中的所有樣本屬於同一類別或者樣本數小於某一預先設定的閾值時就停止分裂。

當一個待檢測樣本輸入該森林之後,會在每一個棵樹中留下一個從根節點到葉子節點這樣一個路徑軌跡,該路徑軌跡的長度h(x) ,則所有樹的軌跡平均長度則是E(h(x)) 。E(h(x))$從某種程度上就能反應該樣本的異常情況。從定性的角度來說就是平均路徑長度越短,其對應樣本爲異常樣本的可能性越大。

由於不同數據集中的特徵數量和樣本數量都不一樣,因此直接根據E(h(x)) 絕對值來進行異常樣本的區分是不科學的。必須對該值進行某種程度上的歸一化,隨着樣本數n的增長,二叉樹最大可能路徑長度是以o(n) 的複雜度在增長,而二叉樹的平均路徑長度卻是以olog(n) 的複雜度增長。故直接以n 或者log(n) 作爲歸一化因子都是不太科學的。這裏作者借用了BST(二叉搜索樹)中的相關研究結論,即該平均路徑基本和BST中的不成功平均搜索路徑長度基本一致,因此就把BST中的不成功平均搜索路徑長度作爲歸一化因子,該平均搜索路徑長度爲:
c(n)=2H(n1)(2(n1)/n)
H(x)=In(x)+0.5772156649
那麼歸一化的方式如下:
s(x,n)=2E(h(x))c(n)
可能結果如下:
E(h(x))>c(n),s>0.5
E(h(x))>0,s>1
E(h(x))>n1,s>0
結果分析如下:
1 如果該結果很接近1,該結果對應樣本肯定是異常值
2 如果樣本對應值比0.5小,該樣本是很安全的
3 如果所有的樣本結果基本都在0.5左右,那麼整個數據集應該沒有異常值

一種簡單的AUC計算方法:
其實AUC的基本概念這裏就不多說了,很多地方都有,該值本質是:隨機抽取一個正樣本和負樣本,模型對正樣本的預測值高於負樣本預測值的概率多少。
下面介紹一種時間複雜度最低的計算方法,假設一共有M個正樣本,N個負樣本,對這N+M個樣本按照模型的預測值進行排序(從小到大)。令最大score對應的sample 的rank爲n,第二大score對應sample的rank爲n-1,以此類推。然後把所有的正類樣本的rank相加,再減去M-1種兩個正樣本組合的情況。得到的就是所有的樣本中有多少對正類樣本的score大於負類樣本的score,然後再除以M×N。即
AUC=ipositiveclassrankiM(1+M)/2MN

PSI(population stability index)——信貸場景中的樣本分佈穩定檢測手段
針對信貸場景,對某一維特徵進行分箱處理之後,如下圖所示:
這裏寫圖片描述
那麼PSI計算公式如下:
PSI=SUM[(AcEx)In(AcEx)]
如果小於10%,無需更新模型
10%-25%,檢查一下其他度量方式
大於25%,需要更新模型

KS值——信貸場景中常用的衡量指標
提到KS值,就不得不說KS曲線,該曲線和ROC曲線的關係十分密切,都用到了FPR(假正率)和TPR(真正率)這兩個指標。
不同的是,ROC曲線用FPR作爲橫軸,TPR作爲縱軸,採用描點法繪製,圖中總共是一條線;而KS曲線的橫軸則是不同的概率判斷閾值,圖中一共有兩條線,分別代表了FPR值和TPR值,示意圖如下所示:
這裏寫圖片描述
而KS值則是兩條線最大間隔的差值,即max(TPRFPR) 。選擇最大間隔對於的橫軸概率閾值爲最佳概率閾值。

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