統計思維如何幫助大數據應用從人工走向智慧?(下)
- 2019 年 10 月 8 日
- 筆記
歡迎各位同學回來,本文承接上周發表的文章:統計思維如何幫助大數據應用從人工走向智慧?(上),感興趣的同學可以去了解下。
在本文上半部分中,筆者主要總結了自己的Advisor鄭甜教授關於統計思維的講座內容。而在下半部分中,筆者將分享統計思維在京東金融建模場景中的應用,尤其是在金融科技對外輸出這一塊。
金融科技作為中國互聯網公司近年來新興的業務場景,與自然語言處理、影像識別一樣,都是大數據演算法應用的試驗田。但是與後兩者場景中深度學習等「黑箱」模型大規模應用並且取得顯著成果不同,金融科技領域中的高級演算法應用一直處於瓶頸階段,效果和接受度都不被認可,筆者認為有如下幾個原因。
(1) 金融業務產生的數據與語音、文本、影像類問題相比屬於小數據問題。
通常銀行或者大型互金公司的全量數據集在百萬條左右,考慮到數據品質、成熟度、安全性等問題,可供訓練模型的數據集就更少了。基於有限的訓練集,深度學習等複雜網路演算法容易產生過擬合,導致模型的泛化能力不強。
(2) 金融模型的底層特徵難以獲取。
對於文本和影像問題,深度學習中有embedding和convolution兩大神器,可以通過高維空間映射的方式自動提取大量的數據特徵。但是這兩個方法在金融數據上的使用都存在一定局限性,首先自動提取的特徵在業務上難以解釋,其次金融客戶行為屬性的差異會導致映射後的特徵矩陣稀疏,這兩點都會影響模型的預測效果。而傳統的機器學習依賴於特徵工程,需要豐富的數據源和人工經驗支援。
(3) 金融客戶對於模型的可解釋性要求高。
由於對外輸出的金融科技模型主要服務於傳統的銀行、保險等金融機構,受到監管部門的壓力,B端客戶對於模型可解釋性的要求極高,使得「黑箱」模型難以在真正落地場景中推廣。目前金融行業主流的模型還是邏輯回歸,樹類模型慢慢在被傳統金融機構接受中。
基於以上幾點,統計思維在金融科技模型中的應用就顯得尤為重要。因為統計思維可以幫助分析人員透過數據現象找到背後規律的本質,得到更穩定、解釋性更強的模型。同時統計學中的一些理論知識和檢驗手段,可以適當地打開深度學習模型的「黑箱」,找到神經網路與傳統機器學習演算法結合的平衡點。
以下分享幾個筆者在實際工作中利用統計思維優化模型的案例。
1. 選取穩定的訓練集:
在機器學習建模問題中,訓練集的選取至關重要。一個好的訓練集,應該能夠儘可能的刻畫未來我們要預測的場景,這樣訓練出來的模型才能夠具有比較強的泛化能力。在實際問題中,許多業務都存在剛起步階段經營策略調整頻繁的問題,反應到數據中就是存在著一定的隨機性,因而利用統計思維儘可能排除早期數據積累中的雜訊、篩選出穩定的訓練集就非常有意義。
以信貸風控模型為例,我們將京東借錢平台歷史上發生過逾期30+天作為壞人定義,那麼如何篩選出穩定的訓練集來搭建模型呢?「一頭一尾」兩個方面考慮。從「頭」的角度,早期借錢平台放款筆數較少,並且風控策略仍在試探階段,因而導致這些數據中壞人規律性不強。我們利用統計分布,觀察借錢平台上各個資方各個申請月份新增貸款用戶的壞人佔比,找出業務前期壞人分布異常的資方或者申請月份數據刪除。從「尾」的角度,信貸場景中的客戶還款行為需要一定時間的表現期,表現期過短也會導致客戶的貸後表現不充分,從而表現出錯誤的壞人規律,這裡壞人捕獲率曲線可以幫助我們確定整個信貸平台的賬齡成熟期。
如下圖所示,曲線上每個點表示截止到當前期數的累計壞人數,第9期以後累計壞人數增長趨於平緩,說明9個月是京東借錢平台的整體賬齡成熟期,距今9個月內的申請數據都不能作為訓練集。

2. 層層篩選模型特徵:
- 如今業界許多建模團隊,都會通過對外宣傳龐大數量的模型特徵來標榜自己的大數據應用能力。誠然豐富的數據維度可以提高模型的預測能力,然而無腦的特徵工程升維,也會造成模型的維數災難,導致穩定性差、不可解釋、上線難度高等一系列副作用。這裡就需要統計方法來幫助分析人員篩選模型特徵,我們金融科技建模團隊在特徵篩選的時候通常會考慮以下7個步驟:(1)根據專家經驗,從特徵池中粗篩業務相關的變數;(2)計算特徵缺失率,以及觀察同一個特徵在訓練數據、測試數據、當前數據中缺失率的變化,處理部分缺失值,去除缺失率過高或者缺失率變化較大的特徵;(3)計算特徵的統計分布或者利用箱線圖等,處理部分異常值,去除異常值佔比過高的特徵;(4)計算訓練集與測試集、訓練集與上線集之間特徵的PSI,利用離散化或者onehot處理部分不穩定特徵,去除PSI較大的特徵;(5)計算每個特徵的variance,去除variance為0的特徵;(6)對於線性模型,計算單變數之間的correlation和多變數之間的VIF,去除共線性較大的特徵;(7)對於線性模型利用IV值篩選,對於樹類模型利用feature_importance篩選,去除重要性較低的特徵。經過以上7步操作,基本上排除了不具有代表性、波動性大、貢獻度低的特徵,保證模型效果的同時,極大程度降低了開發和運維成本。(講完了特徵篩選,如果對於金融科技場景中模型的特徵工程感興趣的同學,可以參考融妹另一篇的知乎回答《在機器學習的項目中特徵是如何被找出來的》)

3. 劃分並搭建子模型:
機器學習中經典的No Free Lunch Theorem(Wolpert,1996)告訴我們,在不考慮具體問題的情況下,沒有一個機器學習演算法總是比其他的更優。因此,在一個特定的概率分布上,才有可能設計出性能良好的機器學習模型,這也就是在實際問題中搭建子模型的出發點所在。只有利用嚴謹的統計思維,才能將一個複雜的數據問題拆解成多個小問題來解決。對於京東借錢平台上的風控模型,由於不同的資方風險偏好不同,需要根據資方屬性搭建多個子模型,從而預測客戶在不同資方貸款申請的逾期概率並給出合理的定價。目前借錢風控模型分為銀行和小貸兩個子模型,其中銀行子模型適用於日利率0.03%-0.06%的銀行、消費金融貸款產品,這部分資方可以調取申請客戶的央行徵信報告並且整體逾期率較低;而小貸子模型適用於日利率0.06%-0.1%的小貸公司貸款產品,這部分資方能夠接受風險評分較低的客戶,但是同時需要較高的利率定價來彌補資金損失。在實際數據測試中,子模型通常可以比通用模型ks提高0.03-0.05。
以上就是筆者從哥大論壇和實際工作案例中總結的一些關於統計思維的思考。人工智慧演算法發展到今日,數據工作者們的關注重心也從單純的模型結果逐步轉向預測的過程。加入更多的統計思維,提高模型的精細度和智慧化,是筆者認為人工智慧走向下個階段的必由之路。
有好的文章可以聯繫我們與大家分享,需要獲取程式碼或者轉載本公眾號文章,歡迎直接在公眾號或者文章下方留言。
往期文章: