您當前的位置:首頁 > 歷史

王歡:如何構建好的智慧風控工具體系?

作者:由 DataFunTalk 發表于 歷史時間:2022-01-08

導讀:

本文由融360高階資料演算法工程師王歡老師帶來“構建智慧風控工具體系”的分享。將介紹在風控實踐中積累起來的一些標準化的工作,包括遇到的問題和採取的解決方案,以期構建一個好的智慧風控工具體系。主要內容包括:

智慧風控體系概覽

智慧風控體系詳細拆解

01智慧風控體系概覽

1. 風控服務體系的演進

王歡:如何構建好的智慧風控工具體系?

風控服務體系的搭建,我們經歷了從純手工,到一部分環節自動化,再到逐漸形成工具體系的一個過程。

最初在做風控的特徵和模型的時候,是人工逐個根據業務邏輯來解析特徵,特徵上線的過程就是研發工程師根據需求裡邊的sql進行特徵翻譯上線。模型建模就是人工手動調參建模,然後將模型檔案和預處理的邏輯提供給研發工程師進行上線。這樣會帶來下面兩個問題:

特徵線上線下的一致性難以保證

模型上線的時間相對較長

後來我們將一些常用的操作進行抽取,將其形成一些自動化的工具或函式,比如批次特徵衍生的工具和模型建模的一些通用函式,逐漸形成工具雛形。再經過後續迭代最佳化,以及決策引擎的上線,逐漸構成了智慧風控的工具體系。

2. 智慧風控體系的構成

① “三件套”

智慧風控工具核心三件套,包括模型平臺,決策引擎和特徵平臺。

王歡:如何構建好的智慧風控工具體系?

② 兩個支撐

除核心三件套之外,還有兩個支撐,分別是資料平臺和監控平臺。

資料平臺可以實現資料接入的部分自動化操作,為特徵平臺提供資料支援;

監控平臺可以做日常監控各個業務指標,包括日常監控和預警。

王歡:如何構建好的智慧風控工具體系?

圖中示意了部分互動過程:

資料平臺給特徵平臺提供源資料的支援

特徵平臺利用這些源資料進行特徵挖掘,為模型平臺和決策引擎提供特徵支援

模型平臺構建的決策模型輸出模型分給決策引擎

在決策引擎裡實現風控全流程的控制

監控平臺和其他幾個平臺都有互動,或者是使用其他平臺儲存的一些資料來生成監控報表,或者是呼叫一些其他平臺的一些功能來實現監控功能

以上五部分內容——三件套加兩個支撐,一起構成了我們智慧風控的一套完整的工具體系。接下來從下向上,依次詳細介紹每個工具。

02智慧風控體系詳細拆解

1. 資料平臺

資料平臺是由三個模組構成的,分別實現外部資料的接入、資料的管理以及資料的校驗。

王歡:如何構建好的智慧風控工具體系?

① 外部資料接入模組

王歡:如何構建好的智慧風控工具體系?

外部資料接入模組主要是實現外部資料接入標準化的工作。一些通用的引數(如URL、請求型別、賬號、快取期和呼叫量等)透過配置項的方式傳到外部資料接入模組,然後儲存服務實現源資料儲存到資料庫中的功能,儲存的源資料可以用於建模特徵開發、問題定位、以及與資料來源公司對賬等。該模組還會提供一個數據介面服務供特徵引擎呼叫。具體取數邏輯是先去查快取,有快取則直接取資料返回;否則由資料接入層去實時請求資料儲存到資料庫,並且提供給決策引擎使用。

② 資料管理模組

王歡:如何構建好的智慧風控工具體系?

資料管理模組是為了保證資料的規範儲存和順暢流轉,包含線上和離線兩部分。線上部分會對業務資料做初步的清洗和轉換後儲存到資料庫,並提供線上介面服務。任務排程將線上資料同步到離線,供離線特徵開發和回溯使用。

部署時如果離線批量回溯與線上業務系統共用同一套服務,可能會對線上的業務系統產生影響,所以理想的是設計線上和離線兩套介面服務。但是實際操作中為了平衡成本,有時候也會共用一套,對離線回溯做限速,並儘量與線上錯峰使用。

③ 資料校驗模組

王歡:如何構建好的智慧風控工具體系?

資料校驗模組主要用來校驗資料的一致性。為什麼要保證資料的線上和離線以及在不同時點的一致性呢?我們在實際中發現特徵不一致,大多數情況下是資料不一致造成的,線下建模和線上實際使用的特徵不一致會直接導致模型效果的衰減。

如何校驗資料一致性呢?主要是抽樣對比計算來做的。根據配置檔案去抽樣資料、解析,對比線上落表的資料,輸出一致性對比的結果。前後一致性的校驗也是類似的,主要區別點在另一份資料是透過介面來取得的,從而判斷介面兩次返回的資料是否一致。

2. 特徵平臺

王歡:如何構建好的智慧風控工具體系?

特徵平臺主要是實現了特徵工程自動化,支援便捷的特徵管理和指標分析。由三個模組構成:自動特徵挖掘工具,特徵引擎和特徵管理模組。

① 自動特徵挖掘工具

王歡:如何構建好的智慧風控工具體系?

一套完整的自動特徵挖掘工具可以方便的實現從源資料到特徵的轉化。這套工具的輸入是原始資料加上引數配置檔案(excel檔案),基於這兩個檔案進行資料標準化、自動切分組合、彙總計算來提取特徵,再進行效果評估,最終輸出特徵模組。

王歡:如何構建好的智慧風控工具體系?

自動特徵挖掘工具針對結構化資料,使用RFM思路構建特徵。先確定時間視窗(比如近180天),然後用分類變數進行篩選(比如上午),再對數值變數(申請金額)做聚合和統計(比如取最大值),這樣組合起來就能得到一個特徵:近180天_上午_最大申請金額。

王歡:如何構建好的智慧風控工具體系?

具體到工具層面就是根據這個思路,把公共步驟抽取出來,構建核心邏輯。首先根據分類變數對資料集做篩選,但篩選的過細,可能導致特徵過於稀疏,所以分類變數個數的設定需要考慮特徵粒度和整體稀疏度的平衡。然後基於數值變數彙總計算特徵包括聚合、比值和趨勢性變數的計算。把功能步驟抽取出來之後,就形成了自動特徵挖掘工具的一個完整工作流。

最終使用時將分類變數、數值變數,組合方式的描述作為引數配置檔案,輸入自動特徵挖掘的工具,自動生成一組特徵。

② 特徵引擎

王歡:如何構建好的智慧風控工具體系?

特徵引擎是為模型引擎和決策引擎提供特徵支援,其功能分為計算、儲存、服務三塊。最複雜的是特徵計算,原始資料來自業務系統,實時特徵對計算的資源要求較高,對實時計算有困難的資料採取提前離線跑批,實際授信時請求預計算好的特徵。

計算完成之後,會把特徵儲存下來並定期同步到離線,用於建模及特徵一致性的校驗使用。最後,服務模組將特徵輸出給模型引擎和決策引擎使用。

③ 特徵管理模組

王歡:如何構建好的智慧風控工具體系?

特徵管理模組包含特徵回溯,回溯任務的管理,指標分析和特徵模組本身的管理。

為了方便特徵複用,我們進行了回溯任務的管理,包括新建任務、執行中的任務、歷史已經回溯任務列表等。指標分析平臺是為了方便查看回溯特徵的效果。選擇結果表之後,指標分析平臺可以展示特徵的覆蓋度、取值分佈、效果、時間相關性,以及它在時間維度上的穩定性等。特徵管理模組,主要是做特徵版本的管理,以及模組的更新和字典維護。

特徵管理模組使用示例:

王歡:如何構建好的智慧風控工具體系?

王歡:如何構建好的智慧風控工具體系?

用自動特徵挖掘工具挖掘特徵,挖掘出的特徵部署到決策引擎使用,決策引擎會提供線上的服務,包括計算和儲存,特徵管理模組負責回溯任務的管理和指標的分析,這樣這三個模組結合起來就構成了特徵平臺的核心功能。

3. 模型平臺

模型平臺由自動建模工具、模型引擎和模型管理模組這三個模組組成。

王歡:如何構建好的智慧風控工具體系?

① 自動建模工具

王歡:如何構建好的智慧風控工具體系?

通用的建模流程,首先是樣本的設計,取值分析,EDA,特徵選擇,模型構建,之後會做效果評估,並把所有評估結果整理到報告中。我們在建模的過程中將EDA、特徵選擇、模型構建等常用操作提取出通用函式,生成標準化報告,然後將取數及建模過程封裝,從而形成了自動建模平臺的雛形。

首先從Hive獲取資料及樣本,然後去特徵集市取特徵,樣本和特徵拼接形成資料寬表之後呼叫標準建模模組,走建模的流程(EDA、特徵選擇,建模以及效果評估),之後根據我們設計的指標,挑選最優模型部署上線,同時輸出模型檔案和對比報告。

自動建模適用的場景,比如有新樣本需要快速迭代,已確定新樣本對模型的增益。自動建模工具主要目的是快速迭代一個baseline出來,具體最終的模型怎麼做、樣本的設計、標籤的選取,這些是需要結合業務做一些判斷的,是自動工具無法直接完成的。

② 模型引擎

王歡:如何構建好的智慧風控工具體系?

模型引擎主要完成模型打分、儲存以及對外輸出的工作。模型打分會區分決策模型和陪跑模型,所有模型打分及模型依賴的特徵都會存到模型跑批結果表裡,並同步到離線。

王歡:如何構建好的智慧風控工具體系?

模型管理模組實現了模型的任務排程以及模型的一些管理和分析功能,主要包含建立樣本、離線排程、模型分析和模型管理。

建立樣本模組可以支援方便地選擇建模樣本,比如可以勾選標準樣本,或自定義sql來建立樣本。

離線排程模組實現離線特徵的批次排程功能。一般是將昨天過授信的使用者的所有特徵模組的特徵儲存下來,按天分割槽儲存,形成離線特徵集市方便後續建模使用。跑批和實際建模使用之間預留一定時間差,並新增結果檢查功能,方便特徵跑批失敗時及時修補,保證自動建模任務穩定執行。除此之外離線排程模組還支援離線模型任務的排程,比如營銷模型、部分貸中模型,是離線批次跑批的形式。

模型分析的功能是基於抽取平時建模中的常用操作,組合而成的工具集。比如模型置空分析、效果對比、時間維度上的穩定性等。

王歡:如何構建好的智慧風控工具體系?

模型平臺的三大模組之間的互動關係,自動建模工具用來建模,模型最終部署到模型引擎裡提供線上服務,同時模型管理模組提供線上和離線需要的一些模型管理常用的操作和指標分析功能。

4. 決策引擎

決策引擎極大地方便了我們配規則以及決策的上線。決策引擎裡邊會有規則集配置、決策流配置和上線審批管理這三大模組。

王歡:如何構建好的智慧風控工具體系?

王歡:如何構建好的智慧風控工具體系?

決策引擎的工作流程:

在規則集配置裡,可以新建規則集,每個規則集裡可以新增多個規則,還可以做一些額度和輸出矩陣的配置。

規則集配置完後,配置的規則就可以在決策流中去使用。在決策流裡邊有不同的節點,支援Atest或者是條件分流。部署規則集,繪製流程線,形成決策流,繪製完成之後儲存。修策流修改後,可以做版本對比,確認之後會發起上線審批的操作。

上線審批透過之後,會自動上線。

決策引擎三個模組之間的互動關係如下:

王歡:如何構建好的智慧風控工具體系?

王歡:如何構建好的智慧風控工具體系?

上圖是我們決策引擎配置的一個簡單介面,會有不同的節點,開始和結束節點,條件節點,以及一些閘道器和決策節點,可以透過連線線方便地繪製決策流。

5. 監控平臺

監控平臺,包含日常監控和預警,主要是為了提供穩定的風控服務。包括業務監控、模型監控、特徵監控、資料欄位監控,以及資料服務監控。

王歡:如何構建好的智慧風控工具體系?

王歡:如何構建好的智慧風控工具體系?

這裡列了一些主要的監控報表以及監控預警的方式,除此之外,實際業務中還有分級的監控預警。下圖是一個監控報表應用示例。

王歡:如何構建好的智慧風控工具體系?

我們會監控特徵PSI的變化,模型打分的異常等。還有一個分級預警,如果遇到比較嚴重的模型打分偏移的情況,會做電話通知,甚至熔斷授信。以模型分為例,模型上線之前會對模型用到的每個外部資料做重要性的判斷。假如資料缺失之後,模型分會偏低,但是對模型排序影響不大,那麼我們可能會發一個預警提示,由策略同學評估是否需要調整風控策略,以維持透過率的穩定。但是假如某個資料來源對模型很重要,缺失之後模型打分大幅偏高,那麼這個資料來源缺失對模型的影響就會比較嚴重,可能會導致風險升高。在這種情況下,我們可能會去設定、做授信的熔斷,並且及時發出電話預警,去做資料來源的跟進或策略的調整。

03總結

以上就是幾個模組的介紹。我們再來看一下整體的智慧風控工具體系的構成。

王歡:如何構建好的智慧風控工具體系?

左邊是業務決策系統,中間是決策系統部分模組的展示,右邊是監控系統。

自底向上,決策系統的資料平臺給特徵平臺提供原始資料支援,特徵平臺給模型平臺和決策引擎提供運作規則和運作模型用到的特徵支援,模型平臺把決策模型分輸出給決策引擎,在引擎裡去配置模型的閘道器和決策節點。決策引擎裡邊去配置決策流、規則集,以及做審批管理以實現整個風控流程的全流程控制。針對每個模組都有相應的監控資料服務,原始欄位、特徵模型和業務。這些模組就構成了一個完整的智慧風控的工具體系。

04精彩問答

Q:請問決策引擎是如何保證資料一致性和準確性的,是否有做一些比如溫度釋出分流實驗和流量回放等功能?

A:這個是在特徵上線之前之後都會有一些相應的校驗測試,上線之前可能首先是case級別的校驗,case級別校驗透過之後會有一些流量的回放,釋出的時候也是逐漸分流釋出的,因為我們在決策引擎裡可以配置分流。

Q:自動特徵挖掘工具是用來自動挖掘新特徵的嗎?

A:自動挖掘工具根據我們的原始資料,去做一些批次特徵的衍生,出來的都是新特徵。

今天的分享就到這裡,謝謝大家。

在文末分享、點贊、在看,給個3連擊唄~

分享嘉賓:

王歡:如何構建好的智慧風控工具體系?

分享嘉賓:王歡 融360

編輯整理:李雪倩 北京工業大學

出品平臺:DataFunTalk

標簽: 特徵  模型  模組  引擎  建模