關於模型分箱,最容易被忽略的這幾點

2021-09-28 15:00:20 字數 2053 閱讀 6268

關注 「番茄風控大資料」,獲取更多資料分析與風控大資料的實用乾貨。

許多年前,在開發模型的時,做各個變數的分箱,基本都是用excel自己手動乙個乙個調製數的具體分箱。那個時候沒有特別好的工具,可以幫助實現好的分箱。不像現在這樣,工具特別多,演算法特別高大上。我們那時也就乙個邏輯回歸走天下。雖然憑藉乙個excel,變數單分箱都需要調整好幾天的時間。但是還是一樣能到不錯的效果。

現在的同學是幸福得多,工具也非常先進,各種python自帶scorecard包、r裡自帶函式, sas em的手動分箱。瞬間就能將千上萬個變數**成,效率不在話下。

好在,我們那時也大資料還沒盛行。能用的資料基本也就是pboc,即使做好衍生變數,到頂了也就百來個變數以內,所以還不至於做變數分箱導致內出血的程度。

然,時代變了,技術日新月異。大資料時代爆發的資料量,剛開始那段時間的確讓我們有些措手不及,但積極擁抱變化就不會被社會淘汰。我也是在大資料特別火熱的時候,積極學習那些工具。

時代造就英雄,雖然我現在跟最後兩個字也不不搭邊。但是擺在眼前的現實,確實讓我,讓我們,都積極投入這場變革中,不得不擁抱這個資料維度特別豐富的金融行業。雖然行業還是這個行業,但是很多內容都發生了不少變化。大資料+移動網際網路很自然為金融業務提現了非常好的落地變數。

然,在我目前基本會用各種技術的時候,各種深度學習、神經網路、xgb等演算法都一一嘗試,並且去跑一通模型的時,得到的模型效果似乎也並沒有得到理想中特別顯眼、飛躍跟質變的資料。所以我常常回顧我的模型流程裡**出了問題。

我嘗試著從演算法和業務的角度出發去思考問題。

邏輯回歸,演算法的邏輯是最大似然估計,在對log進行相應的轉換之後,各個變數之間就能成為多項式的累加。而從模型的定義就可以看出來,只要每個變數(分箱式是b/g)提公升就一定會讓等式ln(p/1-p)提公升。

所以優化每一單變數數值,就一定會帶來模型效果的提公升。

回顧模型整個開發鏈條來看,最關鍵的兩個部分能區分新手建模人員跟老手建模人員的就是分箱跟引數調優。當然引數調優基本算模型最後的乙個步驟,把梳理好的變數統一扔進模型用演算法進行引數調優,這一步驟基本也算是整個模型耗時較少一part,今天暫不列為討論範圍。

而這裡契合開篇所提分箱部分,也決定著一位有經驗的建模人員跟小白建模人員的差別的高低。對於某些變數,為什麼是需要分5箱就是比分3箱好,為什麼有些變數就是必須分出來空箱單獨分成一箱,而其他變數裡的空箱可以跟其他變數進行組合,還有為什麼有些看起來在業務不是非常合理的變數其實分好箱後,得分卻非常高?

這裡提到的幾個問題,我們用具體的例子跟各位一一說明。

1.空箱能單獨分成一箱的情況是什麼?這裡有個逾期開卡數量/總貸款數量(其中:總貸款數量=開卡數量+貸款數量),我們命名為card_to_load這麼乙個變數。在具體的變數定義的時候,會發現當沒有信用卡時候,值為0是為a類;沒有信用卡和沒有貸款為b類,其餘有值的為c類;在以上的分析中只是基於最基本的數學邏輯分析。

這裡如果再結合一下業務邏輯,思考得再深入些,我們會發現:如果信用卡只有一張時候,總貸款數量多筆時候會導致card_to_load的值非常小,而如果他還款了,並且總貸款數量沒有值的時候,card_to_load的值就會達到100%,這個值會增大特別厲害;所以當有這個變數存在時候,就必須將開卡數量基數單獨列出來討論清楚,從而分箱會根據業務的含義展開得更豐富些。

所以這裡,我們可以將沒有信用卡時候的a類,沒有信用卡和沒有貸款的b類,合成一箱,證明沒有借債的風險;我們將開卡數量為1列為一箱,不管他有沒有還款,都只能證明有少量的風險;最後我們再將其他數值歸為一大類,再對這一大類劃分數值進行分箱。

2.再舉乙個變數在業務看起來非常不合理的例子。乙個負債比dept_rate的變數,會在模型分的箱裡看起來,得分會隨著負債的增加而增加。這在業務裡似乎有些難以介紹得通的變數。但如果站在風險全流程來觀察,這個變數又會如何?評分卡因為是放在准入之後的節點的,而在之前因為真正負債特別高的客戶都已經被剔除出局了,所以剩下的都是能進到模型並且有償債能力的客戶。

dept_rate= 負債/收入,在進入的客群裡,收入一般都是被公司偏低預估,所以根據歷史推斷借款越多越能借到更多的錢。如果單單看這一變數,而忽略了風控政策跟產品的關係,模型開發出來的變數總是感覺有些難以理解。

風控是乙個業務凌駕在模型上的乙個部門,凡事讓業務排在前面,模型策略都是輔助風控完善的手段。希望各位風控er做什麼都多想一下業務邏輯。

容易被忽略的羅大佑歌曲

剛才跟michael聊天,說起羅大佑,他說不熟。我說我肯定能找出10首歌,你知道,但你不知道是羅的歌。果然,我一說,他說 這也是他的 太牛x了 看來得給大家掃掃盲了,列幾首你可能很熟悉,但卻不一定知道是羅氏歌曲的歌 童年 沒聽過的童年的恐怕沒有,但不知道童年是羅大佑作品的還真的有。此歌最早由張艾嘉演...

容易被忽略的label標籤

容易被忽略的label標籤 原始作用 label 標籤是html原生的標籤,其原始的作用參考 這裡 label 標籤為 input 元素定義標註 標記 label 元素不會向使用者呈現任何特殊效果。不過,它為滑鼠使用者改進了可用性。如果您在 label 元素內點選文字,就會觸發此控制項。就是說,當使...

關於 的乙個容易被忽略的問題

a 0,1,2,3,0,1,2 5 a 4 3 在一般來說,所有的使用者都知道元組一旦被建立就不可更改,除非用乙個新的元組來覆蓋它,但是上面的示例有了不同的反饋。執行之後得到了異常 typeerror tuple object does not support item assignment 在這個...