日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习在金融风控实践经验

發(fā)布時(shí)間:2023/12/15 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习在金融风控实践经验 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

由于金融風(fēng)控場景的特殊性,很多算法同學(xué)在剛進(jìn)入這個(gè)領(lǐng)域容易“水土不服”,為了使機(jī)器學(xué)習(xí)項(xiàng)目(也包括圖算法相關(guān)的應(yīng)用)落地更加順利,本文介紹下實(shí)踐過程的一些經(jīng)驗(yàn)和踩過的坑。

金融風(fēng)控場景的特殊性

與電商、廣告等場景的風(fēng)控不同,金融風(fēng)控有關(guān)“錢”的安全,決定了公司的營收甚至是公司的生命線。例如360金融月放款200億,如果違約率上升1個(gè)點(diǎn),損失有多大?當(dāng)然反過來如果風(fēng)控做得好,違約率稍微下降一些,大家就可以開心過個(gè)好年了:)此外,風(fēng)險(xiǎn)具有滯后性,用戶借款后至少要一個(gè)月才能知道是否會違約,甚至很多用戶在還了半年甚至一年之后才違約。再者,線上獲客成本比較高,成本低則百元,高的甚至超過千元,為了提高轉(zhuǎn)化,授信、申請、審核等環(huán)節(jié)一般都是實(shí)時(shí)的。

由于這樣的特殊性,在Kaggle比賽、推薦等領(lǐng)域中大發(fā)光彩的機(jī)器學(xué)習(xí)算法,卻容易在金融風(fēng)控場景中水土不服。道理很簡單,不是算法不夠強(qiáng)大,而是沒有抓住金融風(fēng)控的核心:可解釋性、穩(wěn)定性:因?yàn)槭怯嘘P(guān)“錢”的安全,風(fēng)控建模是比較嚴(yán)謹(jǐn)?shù)?#xff0c;保證模型在可掌控、可理解范圍內(nèi),包括如何評估數(shù)據(jù)、如何設(shè)計(jì)模型、如何進(jìn)行特征工程以及后續(xù)模型開發(fā)和監(jiān)控都有一套體系框架;而由于風(fēng)險(xiǎn)滯后性,模型上線后會運(yùn)行很長時(shí)間,故對模型穩(wěn)定性的要求其實(shí)要高于預(yù)測能力。

如何減少水土不服呢?下面筆者從數(shù)據(jù)質(zhì)量評估、模型設(shè)計(jì)、特征工程、線上監(jiān)控環(huán)節(jié)介紹下在金融風(fēng)控場景實(shí)踐的一些經(jīng)驗(yàn)和踩過的坑。

一、數(shù)據(jù)質(zhì)量評估:數(shù)據(jù)是萬坑之源

模型不穩(wěn)定,效果不好,絕大多數(shù)是數(shù)據(jù)質(zhì)量的問題,而在金融風(fēng)控場景表現(xiàn)得更為突出,一方面因?yàn)橐厮輾v史很長時(shí)間的數(shù)據(jù),另外是因?yàn)轱L(fēng)控流程比較復(fù)雜,模型實(shí)時(shí)性等特征。

1. 線上線下一致性評估

模型離線訓(xùn)練過程應(yīng)保證與線上應(yīng)用場景一致,從而使訓(xùn)練的模型具有代表性,這其實(shí)是機(jī)器學(xué)習(xí)的問題,但在金融風(fēng)控場景上不一致這個(gè)坑很深又有迷惑性,體會較深,非常痛的領(lǐng)悟。

數(shù)據(jù)回溯的坑

由于數(shù)據(jù)存儲/更新方式等原因,歷史數(shù)據(jù)無法被回溯,直接使用當(dāng)前數(shù)據(jù)建模,發(fā)生數(shù)據(jù)穿越,容易造成模型不穩(wěn)定,效果不達(dá)預(yù)期。
這個(gè)問題在風(fēng)控場景會受到更多的關(guān)注,一方面原因是時(shí)間太久了,相比用戶半年甚至一年前借款時(shí)的狀態(tài),當(dāng)前狀態(tài)很有可能發(fā)生變化;另一方面是一些老賴在借款后會主動刪除資料甚至銷號以逃避債務(wù)。
故在建模前需要確認(rèn)數(shù)據(jù)是否可回溯,重要的數(shù)據(jù)在存儲時(shí)因考慮這個(gè)問題。

那不可回溯的特征都不能用了嗎? 如果特征比較重要,且可以構(gòu)造出穩(wěn)定的特征,可以評估其帶來的增益及風(fēng)險(xiǎn),讓老板/業(yè)務(wù)方拍板。

不熟悉業(yè)務(wù)的坑

信貸風(fēng)控流程每個(gè)環(huán)節(jié)的數(shù)據(jù)是不同的。比如考慮用戶體驗(yàn)提高轉(zhuǎn)化,在授信環(huán)節(jié)無需提交資料,在用戶申請時(shí)又需要用戶提交較多的資料;又如考慮成本問題,在審批時(shí)先用自有數(shù)據(jù)篩選出一批用戶,然后再調(diào)用第三方數(shù)據(jù)進(jìn)一步篩選。
如果建模時(shí)使用了后面環(huán)節(jié)才會有數(shù)據(jù),也會造成不一致問題,故提前溝通需求,了解風(fēng)控業(yè)務(wù)流程很重要的:)

計(jì)算邏輯的坑

當(dāng)好不容易完成模型開發(fā),評審?fù)ㄟ^,準(zhǔn)備上線時(shí),才發(fā)現(xiàn)還又更深的坑在前面。
一般實(shí)時(shí)和離線存儲和計(jì)算是兩套邏輯,如果是不同團(tuán)隊(duì)負(fù)責(zé),容易造成不一致,例如對手機(jī)號清洗的正則不同,又比如實(shí)時(shí)取數(shù)和離線取數(shù)的邏輯不同。
之前某次模型開發(fā),使用了數(shù)倉團(tuán)隊(duì)開發(fā)的的特征庫建模,結(jié)果模型上線驗(yàn)證時(shí)發(fā)現(xiàn)不一致,排查很久發(fā)現(xiàn)是取數(shù)邏輯不一致,無法修復(fù),實(shí)在太心酸了。
后面我們開發(fā)了統(tǒng)一存儲和計(jì)算引擎,模型上線周期從月為單位降低到周為單位,極大提高了生產(chǎn)力。

2.其他評估項(xiàng)

數(shù)據(jù)時(shí)間項(xiàng)檢查

分析數(shù)據(jù)起止時(shí)間、中間時(shí)段是否有缺失、是否有異常等現(xiàn)象,從而評估數(shù)據(jù)可用性。

主鍵是否唯一

過往每一家公司都遭遇過這種情況:離線數(shù)據(jù)可能存儲時(shí)存在重復(fù)插入的現(xiàn)象,導(dǎo)致主鍵不唯一,導(dǎo)致計(jì)算“求和”、“次數(shù)”等指標(biāo)會出錯(cuò)。實(shí)際為避免這種情況,習(xí)慣使用count(distinct key)替代count(key),或事先通過group by 去重。

缺失值/異常值處理

不同數(shù)據(jù)源可能缺失值填充方式不同,需要統(tǒng)一標(biāo)識;另外在風(fēng)控場景往往需要考慮缺失或異常值背后的原因是什么,因?yàn)榭赡芎惋L(fēng)險(xiǎn)相關(guān)。

二、模型設(shè)計(jì):如何讓你的模型更貼近業(yè)務(wù)

風(fēng)險(xiǎn)管理的本質(zhì)不是杜絕壞賬,而是追求利潤最大化,但這個(gè)目標(biāo)比較難衡量和優(yōu)化,一般是用通過率壞賬率這兩個(gè)量化指標(biāo)來替代。
在信貸產(chǎn)品不同生命周期中,業(yè)務(wù)對模型的要求是不同的:新產(chǎn)品剛上線時(shí)希望能整體提升模型性能;而在放量階段允許壞賬有一定升到而盡可能提高通過率;在存量用戶則可能降低壞賬為主要目標(biāo)。

模型怎么設(shè)計(jì)滿足上述目標(biāo)呢?一方面是特征工程的側(cè)重性,挖掘的特征是更偏信用還是欺詐,另一方面則是模型設(shè)計(jì)上下功夫,下面來介紹下信貸風(fēng)控模型如何設(shè)計(jì),包括好壞用戶如何定義、模型選型以及模型效果評價(jià)

1. 好壞用戶定義

如何定義好壞用戶其實(shí)是有“套路的”,首先介紹下圖的時(shí)間軸中的三個(gè)術(shù)語:觀察點(diǎn)、表現(xiàn)期、觀察期

  • 觀察點(diǎn):用于構(gòu)建樣本集的時(shí)間點(diǎn),不同環(huán)節(jié)定義不同,比較抽象,這里舉例說明:如果是申請模型,觀察點(diǎn)定義為用戶申貸時(shí)間,取19年1-12月所有的申貸訂單作為構(gòu)建樣本集;如果是貸中行為模型,觀察點(diǎn)定義為某個(gè)具體日期,如取19年6月15日在貸、沒有發(fā)生逾期的申貸訂單構(gòu)建樣本集。
  • 表現(xiàn)期:定義好壞標(biāo)簽Y的時(shí)間窗口,信貸風(fēng)險(xiǎn)具有天然的滯后性,因?yàn)橛脩艚杩詈笠粋€(gè)月(第一期)才開始還錢,有得可能還了好幾期才發(fā)生逾期。
  • 觀察期:構(gòu)造特征的相對時(shí)間窗口,例如用戶申請訂單前12個(gè)月平均消費(fèi)金額。設(shè)定觀察期是為了每個(gè)樣本的特征對齊,長度一般根據(jù)數(shù)據(jù)厚度決定。

所以我們只要定義表現(xiàn)期長度、逾期天數(shù),例如前三期逾期15+為壞用戶;前三期未發(fā)生逾期的為好用戶。
那這兩個(gè)這么定義呢?發(fā)生過逾期就是壞用戶嗎? 逾期可能是多方面的,可能只是忘還了,從“利潤最大化”的角度,這部分人其實(shí)是好人,因?yàn)檫m當(dāng)逾期其實(shí)可以增加公司的營收,接下來引入兩個(gè)工具:賬齡分析和滾動率分析。

賬齡分析:定義表現(xiàn)期

一般通過賬齡分析或者Vintage分析目標(biāo)用戶的“違約成熟度長度”來定義表現(xiàn)期。
具體方法是將不同時(shí)期申貸的用戶按“貸款時(shí)長”進(jìn)行對齊,即觀察用戶還款多少期后,其違約率開始穩(wěn)定,不會出現(xiàn)較大的變化/轉(zhuǎn)移。由下圖可以看出,可以將表現(xiàn)期定義為15期/20期。

滾動率分析:定義逾期天數(shù)

逾期超過多少天定義為’壞用戶‘是合理的呢?對業(yè)務(wù)而言適當(dāng)?shù)挠馄谟兄谔岣呤杖氲脑鲩L,一般可以通過“滾動率”來分析定義壞用戶。
如下圖所示:逾期1天的用戶中有50%會償還債務(wù),剩余50%保持原有逾期狀態(tài),逾期2天的用戶有25%會催收回來,而逾期7天后趨向穩(wěn)定狀態(tài),有95%以上的用戶不會償還債務(wù),則可以定義逾期7+為壞用戶,更精細(xì)化的化可以結(jié)合催收策略及收益來定義。

?

樣本劃分

由于用戶隨時(shí)間變化比較大,信貸模型一般是按時(shí)間來切分樣本:

  • 首先按時(shí)間將分成訓(xùn)練-驗(yàn)證集和測試集(Out of Time,OOT)
  • 然后將訓(xùn)練-驗(yàn)證集隨機(jī)劃分成訓(xùn)練集(In the Sample, INS)和驗(yàn)證集(Out of Sample,OOS)
  • 通過INS訓(xùn)練模型,OOS調(diào)參,最終以O(shè)OT的效果為準(zhǔn),同時(shí)要保證這三個(gè)數(shù)據(jù)集的KS相差不大。

行業(yè)通用模型的樣本如何設(shè)計(jì)

在乙方由于需要服務(wù)于不同場景的客戶,如互金、銀行、消費(fèi)金融等,樣本來源也多樣化,需要設(shè)計(jì)一套基準(zhǔn)來篩選樣本,使構(gòu)建的模型具有通用性并且效果達(dá)到預(yù)期,主要基于下面幾個(gè)點(diǎn):

1. 特殊樣本處理:特殊月份單獨(dú)拿出來作為測試集/單獨(dú)建模模型,如暴雷潮、疫情期間的樣本。

2. 時(shí)效性:篩選樣本的時(shí)候,樣本的發(fā)生日期不宜過早(比如近2年內(nèi)),各月份樣本量相對均衡,且確保有足夠的表現(xiàn)期。

3. 代表性:樣本需要來自穩(wěn)定合規(guī)的業(yè)務(wù),能反應(yīng)所在細(xì)分市場主流的業(yè)務(wù)場景,另外避開單一地域限制,剔除局部地域業(yè)務(wù)為主的合作方樣本。

4. 穩(wěn)定性:各合作方的樣本在各省份上的樣本量分布與真實(shí)人口分布一致;各合作方在各月份的壞樣率要相對穩(wěn)定。

5. 樣本相對均衡:不同業(yè)務(wù)場景的樣本量要相對均衡,如消金、銀行、現(xiàn)金貸場景的樣本量要相當(dāng)。

2.模型選型:LR真的很差勁嗎

剛接觸金融風(fēng)控時(shí),感覺評分卡用LR太Low,機(jī)器學(xué)習(xí)可以拳打南山猛虎。但評分卡其實(shí)從60年代開始至今是依然主流的風(fēng)控建模方法,存在即合理,因?yàn)樵u分卡是一套標(biāo)準(zhǔn)的建模流程,而不僅僅是LR。由于評分卡使用的模型LR因?yàn)槭蔷€性的,可解釋性性較強(qiáng),不過也需要在用戶分群、特征分箱轉(zhuǎn)換等方面需要耗費(fèi)較大的精力以增加擬合能力。

而機(jī)器學(xué)習(xí)模型如XGBoost性能較強(qiáng)大,據(jù)對比一般KS能比LR高2-3個(gè)點(diǎn),那機(jī)器學(xué)習(xí)如何嵌入到評分卡中呢? 一般有兩種方案:

1. 僅在建模環(huán)節(jié)使用機(jī)器學(xué)習(xí)模型替代LR,這樣一來就不用進(jìn)行繁瑣的用戶分群、特征分箱轉(zhuǎn)換等步驟,但是整個(gè)評分卡框架不變,包括樣本定義、特征分析、模型設(shè)計(jì)、模型分析等

2. 機(jī)器學(xué)習(xí)用于構(gòu)造特征,如embedding, 這個(gè)在下面特征工程模塊具體展開。

具體不展開細(xì)講,不是本文重點(diǎn)。

3.效果評估:KS表是與業(yè)務(wù)溝通效果最好的方式

業(yè)務(wù)目標(biāo)是幫助業(yè)務(wù)達(dá)到預(yù)期,如模型上線后,壞賬率降低多少,通過率提升多少。而模型目標(biāo)一般用KS來衡量,或者更關(guān)注預(yù)測概率前10%人群的壞賬率,根據(jù)不同目標(biāo)去設(shè)計(jì)評價(jià)函數(shù),此外也關(guān)注模型在未來很長時(shí)間內(nèi)的的穩(wěn)定性,用PSI來衡量。這里想說的是光看KS數(shù)值是不夠的,還需要分析KS表,這是與業(yè)務(wù)溝通效果最好的方式,下面介紹下KS表主要的組成及badcase:

  • Rank:將模型預(yù)測的用戶違約概率進(jìn)行排序,并等分成k組,(k根據(jù)樣本規(guī)模一般取5、10、20)
  • #Total:每一組用戶總數(shù)
  • #Bad:每一組壞用戶本數(shù)量
  • %Total_bad:每一組壞用戶在所有壞用戶中占比
  • Cum_%_Total_BadCum_%_Total_Good:累積好壞用戶占比
  • K-S:每一組的KS=|Cum_%_Total_Bad-Cum_%_Total_Good|,模型的KS值=每一組KS的最大值。

從上表中可以看出KS=0.28,具有一定區(qū)分性。但繼續(xù)分析,發(fā)現(xiàn)**%Total_bad并不保序**,違反了“預(yù)測風(fēng)險(xiǎn)越高,其壞賬率也越高”的假設(shè),所以這個(gè)模型打回重做:)

KS表還有哪些比較有價(jià)值的信息呢? 例如可以看預(yù)測風(fēng)險(xiǎn)最高一組是否可以直接拒絕,又如看預(yù)測風(fēng)險(xiǎn)最低一組決策進(jìn)行決策是否可以審批通過。

三、特征工程

特征衍生的方法是比較通用的,本章主要介紹實(shí)踐中一點(diǎn)經(jīng)驗(yàn)之談。

1.特征上線成本與項(xiàng)目周期的平衡

項(xiàng)目管理意識在金融風(fēng)控場景是比較重要的,晚一天上線模型,對業(yè)務(wù)來說是多損失一天的錢,故需要評估特征是否已上線、新上線特征的時(shí)間成本、計(jì)算成本等因素,以保證項(xiàng)目進(jìn)度。

2.特征篩選策略

  • 強(qiáng)規(guī)則、調(diào)整頻繁的規(guī)則對應(yīng)特征不用:模型不穩(wěn)定會受規(guī)則調(diào)整影響
  • 穩(wěn)定性差的特征不用(根據(jù)psi計(jì)算):一般PSI超過10%的特征,考慮不入模,如果不穩(wěn)定的特征效果很好,考慮用于規(guī)則,這樣從特征層面保證模型的穩(wěn)定性。
  • 特征數(shù)量不宜過多,根據(jù)top特征的數(shù)量與效果的趨勢來卡閾值,減少上線成本。
  • 無法解釋的特征不用,如隨著特征取值增加,風(fēng)險(xiǎn)程度不是隨之增高,而是呈U字型,如果無法合理解釋,剔除這類特征。

3.Embedding特征如何使用?

  • 首先需要確保embedding的特征觀察期長度相同、未發(fā)生數(shù)據(jù)穿越。
  • 其次看效果,加入embedding特征后的增量及穩(wěn)定性。
  • 最后應(yīng)用時(shí)一般單獨(dú)訓(xùn)練一個(gè)子模型,子模型的分?jǐn)?shù)作為主模型的輸入特征,這種方式相當(dāng)于在”性能“和”可解釋性“上做了折中,并且方便管理和維護(hù)。

四、線上監(jiān)控:只是剛剛開始

因?yàn)槟P鸵L期運(yùn)行,線上監(jiān)控非常重要,主動發(fā)現(xiàn)問題,和被業(yè)務(wù)找上門來是有很大差別的,此外通過監(jiān)控可以評估模型是否需要迭代。

1.穩(wěn)定性監(jiān)控

穩(wěn)定性主要是通過監(jiān)控模型分?jǐn)?shù)psi、重要特征的psi以及特征缺失比例的變化(線上故障一般會造成某些特征缺失比例特別大)。

PSI中計(jì)算預(yù)期分布怎么計(jì)算?一般是以O(shè)OT樣本對應(yīng)的時(shí)間窗下所有申請用戶進(jìn)行計(jì)算, 因?yàn)槟P蜕暇€后是對所有的申請用戶進(jìn)行決策。

?

PSI過高,代表模型不穩(wěn)定了嗎? 一般PSI小于5%說明模型比較穩(wěn)定,如果超過了10%甚至20%,需要排查原因,有可能是業(yè)務(wù)拉新導(dǎo)致大量新客群進(jìn)入,需要及時(shí)和業(yè)務(wù)溝通確定;如果模型PSI持續(xù)升高,就需要提前計(jì)劃迭代了。

?

2.模型效果監(jiān)控

模型上線后,線上KS效果比離線差怎么辦?不要慌,模型上線后一般不看KS,而是通過觀察逾期率和通過率是否改善了業(yè)務(wù)。因?yàn)槟P瓦M(jìn)入決策,攔掉了較壞的那群人,效果肯定會下降一般保證線上ks在0.2左右,且保序即可。

五、寫在最后

把握住金融風(fēng)控的核心,后續(xù)機(jī)器學(xué)習(xí)相關(guān)應(yīng)用落地會更順利,包括但不限于如何設(shè)計(jì)金融風(fēng)險(xiǎn)圖譜進(jìn)行反欺詐、遷移學(xué)習(xí)如何解決違約樣本獲取成本較大的問題、如何用深度學(xué)習(xí)生成行為序列、風(fēng)險(xiǎn)文本相關(guān)的Embedding等等。

?

?

總結(jié)

以上是生活随笔為你收集整理的机器学习在金融风控实践经验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。