1. 程式人生 > >簡單OR複雜?機器學習專家為你解密企業風險量化模型

簡單OR複雜?機器學習專家為你解密企業風險量化模型

在過去的幾年裡,建立在機器學習演算法、自然語言處理、分散式儲存和計算等技術之上的大資料理論研究和技術應用越來越受到關注。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

有這樣兩個客觀事實推動了本文的撰寫:

  • 傳統信貸服務依賴人工、基於流程的風險管理特點,決定了金融機構的放貸門檻高、審批手續煩瑣,導致傾向於向資金需求量較大的大型企業和高淨值個人放貸,而將大量具有小微信貸需求的小微企業和中產階級以下群體拒之門外;

  • 相對寬鬆的民間借貸又存在利率過高、渠道不正規、難以形成規模效益等問題,使得小微企業和中產階級以下群體的融資難成為世界級難題。因此,要實現金融普惠,銀行業迫切需要新的解決方案。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

哈佛大學社會學教授加里· 金說過一句話:

這是一場革命,龐大的資料資源使得各個領域開始了量化程序,無論學術界、 商界還是政府,所有領域都將開始這種程序。

這裡面有一個很關鍵的詞,叫量化。

在大資料的世界裡,一切都是可以被量化的。正是基於此,我們走上了一條風險量化之路,這也將兩個客觀事實結合在了一起:在機器學習的方式下,建立風險量化模型,並在實際應用中不斷的訓練,促進模型快速迭代,提升金融業內部風險管理效率和外部服務效率,降低金融服務成本。

640?wx_fmt=png

所謂企業風險量化,是利用企業各個維度的資料作為基礎,建立風險評估模型來評價其可能結果的範圍,進而完成企業風險的評級、評分或者計算風險發生的概率。

640?wx_fmt=png

用機器學習的概念來講,企業風險量化可以定義為分類問題、迴歸問題或者是異常檢測問題,分別有相應的機器學習演算法進行建模;也可以建立基於企業關聯網路的風險傳導模型對企業風險進行量化分析。

本文將結合譽存科技企業風險量化模型,與大家探討一下整個大資料處理流程中最核心的部分——資料分析在場景應用中的簡單與複雜。

風險量化的資料分析可以很簡單

資料分析人員對資料分析工作有一個普遍的共識:80%時間是在做資料清洗,20%時間工作是建模。簡單的講,資料清洗主要是對原始資料各欄位進行資訊抽取,對資料合規性進行檢查和轉換,如果資料來源本身是文字則需使用自然語言處理技術。

640?wx_fmt=jpeg

清洗好的資料存入結構化表格或者資料庫,然後利用現有的各種資料分析語言和工具建模,包括特徵工程、缺失值和異常值處理、模型訓練和調參、模型驗證、模型視覺化等。

例如基於python語言的sklearn就包含了大量的機器學習演算法實現,可以在比較短的時間訓練一個可用的模型。

如果資料量非常大,超過了單機處理能力範圍,則根據實際需求搭建不同規模大小的分散式計算叢集完成資料清洗和建模。Spark是現在比較流行的分散式計算框架,它提供的各個元件基本能滿足企業級的應用需求。

640?wx_fmt=png

以上就是大資料分析的標準流程,也是我們在構建企業風險量化模型所採用的基本方法。

不管是簡單的還是複雜的演算法或者技術框架,最終都會演變成簡單易用的工具,即使是在自然語言處理、影象、視訊等領域均取得了突破性進展的深度學習演算法,也有很多開源專案支援,開發者如果不是想深入研究其原理,用深度學習演算法訓練一個模型並不是很困難的事情。

因此,資料分析變的越來越"簡單",甚至可以通過流水線一樣的作業方式完成模型的構建,唯一需要開發者理解業務和創新性工作的環節就是建模過程中的特徵工程

風險量化的資料分析其實也複雜

構建一個風險量化模型是可以很簡單的,但是構建一個商業化的風險量化模型是複雜的。

近年來,大部分學術界的研究都專注於演算法創新,致力於演算法改進後的指標在公開資料集上有多大的提升,但一個模型是否成功是由多方面因素決定的,絕不是簡單的用諸如"準確率"或“召回率”這樣的指標來衡量的,還應該結合其在實際應用中,到底解決了什麼樣的業務難點及行業痛點,這是商用機器學習模型開發對比學術研究或者資料分析比賽的重要區別。

640?wx_fmt=jpeg

下面列舉幾項使得模型設計和開發變得複雜的主要原因:

(1) 待解決問題的定義

實際應用中,清楚定義需要被解決的問題比想象中困難很多。如果對問題的定義是"構建一個機器學習模型來識別企業風險"就屬於沒有清晰定義要解決的問題,什麼是"企業風險"?是違約?是失信?還是停止經營?解決不同問題所依賴的資料和演算法都可能不同,甚至在某些風控應用場景,任何演算法都不如行業專家的幾個規則來得直接有效。

(2) 模型的可解釋性

現有的機器學習模型種類繁多,有的模型能夠很好的被人解釋,比如邏輯迴歸、決策樹演算法等;而有的模型對人來說就是“黑盒子”,比如神經網路、整合學習等。如果模型的可解釋性是第一位的,那最終模型的選擇只能縮小到特定的演算法類別,即使它們的準確性比較低。尤其在為金融行業制定的企業風險量化模型裡,客戶非常在意模型是怎麼算出來的,他們對“黑盒子”機器學習模型不是很感興趣,甚至抱持著懷疑態度。

(3) 帶標註的資料量

如果帶標籤的資料比較少,或者獲取標記資料的成本比較高,這對模型效果會是致命的打擊。

(4) 複雜的模型一定能更好解決問題?

答案是否定的。基本原則是,效果相差不是太大的情況下,選擇簡單的模型。因為複雜模型所需的資料多,並且消耗的計算資源相對較高,所以在實際應用中,簡單模型更實用。

(5) 建模的最終目的

以"企業是否有失信風險"這樣的分類任務為例,儘管在建立企業風控模型的時候,我們會去計算模型的各類指標,比如分類任務的準確率、召回率、F1、AUC等,但這些指標的變化和提升,並不是建模的最終目的,提高模型的預測效果可能也不是建模的最終目的。

我們真正關心的是建模過程,比如通過各類模型中間結果,去判斷哪些因素對“企業是否有失信風險”沒有影響,哪些因素對“企業是否有失信風險”非常重要,甚至我們只想知道哪些指標影響了模型的準確率,哪些因素影響了模型的召回率。


訓練過程還能告訴我們模型的適用範圍是什麼,哪些企業適用於失信風險模型的預測,哪些企業不適用,從而去考慮其他方法。

模型分析過程是開發人員對該問題不斷深入理解的過程,開發人員需要去成為那個最瞭解資料的人,而不是瞭解某個演算法的人。

(6) 模型工程實現的周全性

訓練模型跟產品使用的程式碼是否完全一致?資料分析介面能否應對高併發問題?Spark技術是否有必要?一般的關係型資料庫是否就能解決問題?模型是否需要更新?什麼時候更新?使用者使用模型的反饋是否能以最快的速度反映到下一次模型輸出上?

(7) 對模型預測準確性的預期

客戶對模型預測準確性的預期是很高的,但任何模型都達不到100%準確性預測,在企業風險量化領域更是如此。主要原因有兩個:

第一, 建模所使用的資料種類、資料量和資料質量很可能並不能支撐任何模型達到我們期望的準確性;第二,我們用來訓練的資料是抽樣資料,並不能反映真實資料的分佈。


因此,評估模型的實際效果是否滿足客戶的心理預期尤為重要。

我們研發的基於風險傳導模型的企業失信風險預測AUC值達到0.9, 基於LBGM演算法構建的企業吊銷風險預測AUC值達到0.89, 表明模型對企業這兩類風險均有較好的區分度。

640?wx_fmt=png

基於風險傳導模型的企業失信風險模型ROC曲線

以上提到的每一個因素,在模型設計和開發過程中都扮演著重要角色,而最終採用的方案是各個方面綜合考慮的結果。企業風險量化分析任重而道遠,譽存資料科學家團隊將不斷研究,更新大資料分析的前沿技術,為客戶提供更有商業價值的量化分析產品和解決方案。

— END —

譽存科技出品

640?wx_fmt=jpeg