风控特:关系网络特征工程入门实践
風控業務背景
常規RFM時間切片統計特征側重于縱向維度量化用戶風險,而關系網絡特征則從橫向維度來評估??v向是指同一用戶在不同時間段上的行為異常風險;橫向是指在同一個時間段里聚集的不同用戶放在一起評估風險。因此,關系網絡特征可作為常規RFM特征的一個有力補充,為風控模型帶來可預見的增量效果。
芝麻信用分中的人脈關系維度可以給我們帶來很多啟發,其又細分為人脈圈穩定性、社交影響力指數和信用環境指數三個子指標。其中信用環境指數是本文主要參考學習的方向。
圖1 - 芝麻信用評分維度之人脈關系
本文不圍繞各種復雜的社區發現算法展開,只從業務角度分享下構建關系特征的一些實踐經驗。關系網絡中最重要的兩部分無非就是——邊(edge)和節點(node)。圍繞這兩點,我們可以考慮幾個問題:如何分析可用數據?如何根據已有數據源來構建關系網絡?如何構建關系特征?如何評估關系特征的性能?如何落實上線方案?
目錄
Part 1. 如何分析可用數據?
Part 2. 如何構建邊關系?
Part 3. 如何使用節點特征?
Part 4. 如何使用存量數據和增量數據?
Part 5. 如何實時上線?
Part 6. 如何驗證關系特征的效果?
Part 7. 如何去優化關系特征?
致謝
版權聲明
Part 1. 如何分析可用數據?
考慮數據源的穩定性。
在風控中,?穩定性壓倒一切。數據源是構建特征的前提,如果數據源采集上就不穩定,必然導致特征波動。那么為了調研數據源采集情況,我們該咨詢哪些人員,以及關注哪些問題呢?以下是筆者的一些實踐建議:
-
信貸產品設計人員?:了解產品頁面跳轉流程,包括:在哪個頁面將會要求用戶導入資料?需要用戶授權同意哪些數據采集協議?新用戶相對于老用戶會少哪些數據?
-
外部數據對接開發人員?:外部數據是其他數據公司所提供的,從而可能存在一些不確定性。例如,由于輸出變量不穩定而被使用方下線,或者由于協議到期而被提供商下線。需要明確:外部數據在哪個環節(額度、定價、支用)調用?覆蓋哪些產品和客群?外部數據接口調用的穩定性?
-
風控策略人員?:了解風控流程和未來業務調整計劃。風控流程圖幫助你理解在整個風控鏈路上數據采集和風控策略之間的映射關系;業務調整計劃幫助你排除一些未來不可用數據。例如,為提高用戶轉化率或合規性要求,未來計劃把某些用戶數據?由必導項改為自選項?,那么可預見這塊數據未來的采集率將會逐漸下降。如果對這塊數據依賴性高,就會導致模型不穩定。此時,我們就不得不放棄實時數據的使用,或者考慮分箱等方式來平滑影響,或者考慮如何利用存量歷史數據。
👉?建議?:可分產品線、時間粒度(天/月)等維度統計數據的缺失率,以此分析數據的穩定性。
2. 考慮數據源的厚薄度?。
由于各個數據源在不同時間點開始采集,因此數據的厚薄程度存在差異。在構建時間切片特征時也需注意這一點——?明確觀察期窗口是否有效。例如,數據采集時間是從2018-01-01開始的,如果要統計最近30天內的RFM特征,那么有效的觀察期窗口就是30天,有效的觀察點(樣本)就只能從2018-02-01開始,2018年1月份的樣本由于觀察期不滿30天就無法統計到有效的特征。在樣本特征回溯中,筆者經??吹侥承┩瑢W犯這個錯誤。
因此,如果某塊數據在最近才開始采集,那也不得不舍棄。
3. 考慮模型的應用場景。
特征是為模型服務的。因此,在構建關系特征前,我們需要明確模型的應用場景,為模型“量身定制”。如果計劃用在風險定價(A卡模型)環節,那么某些在A卡之后的環節才能獲取的數據就無法使用。很多建模經驗不足的同學,不管三七二十一,直接把所有可能使用的數據拿來測算,根本沒考慮過線上如何使用的問題。最后,要么離線測算結果就不佳,要么最后根本無法上線使用。
👉?建議?:羅列一份數據源質量分析清單,筆者在整理中的結果表示例:
圖2 - 數據源質量分析清單
Part 2. 如何構建邊關系?
我們可以從?關系強弱(邊權重)?和?覆蓋率(邊數量)兩個維度來衡量數據源對定義邊的重要性。由于各家公司對數據源獲取情況各異,在此就只對目前市場上的數據源分析關系強弱。
運營商數據?:關系????????????筛鶕罱麼天內通話記錄次數等指標來衡量兩個人之間的親密程度。
設備數據?:關系????????。可根據最近N天內是否共同使用過一臺設備、是否共同使用過同一個Wi-Fi等指標衡量。
通訊錄數據?:關系??????????。通訊錄中所存號碼的備注信息可判斷親密度。
緊急聯系人數據?:關系??????????。通常情況下,用戶所填的緊急聯系人會是自己的家人、同事、親友等。
電商地址數據?:關系??????。根據地址相似度比對來判斷用戶之間存在的關系。由于地址數據需要提前規整,處理難度大。
運營老客拉新數據?:關系??????。產品運營活動中常會推出各種老客拉新活動以實現用戶增長。鏈接傳播渠道一般是微信。因此被拉的新客與老客之間通常是微信朋友關系。
銀行卡轉賬記錄數據?:關系??????。通常情況下,覆蓋率較低。
LBS地址位置數據?:關系??。由于設備經緯度數據采集誤差和位置時效性強的問題,這塊數據對于衡量用戶關系較弱。
其他數據?。
在羅列出所有可用于構建邊關系的數據后,我們又會面臨一個問題:每個數據源就可以提取出多個邊關系,那么就可以構造多個子網絡,我們該如何處理這些邊?
可以有以下2種做法:
-
特征層融合?:對每個子網絡獨立構建圖特征,在特征層中融合。該方案在實踐中的優點在于方便直觀,可并行;缺點在于工作量大,如果有a個數據源,每個數據源可提取b種關系的邊,又有c個節點特征,此時就會衍生出 a ? b ? c個特征。在建模中,也不可能對這所有的特征入模,需要開展大量的特征篩選工作。
-
網絡層融合?:該方案在實踐中的優點在于將各類強邊弱邊融合在一起(w1 * e1 + w2 * e2 + w3 * e3 + ...),使邊的內在含義更為豐富,邊的覆蓋率得到提升;缺點在于無法很好對融合權重賦值,前期可考慮專家經驗拍定,后期優化可以考慮結合具體的target來訓練估計。
圖3 - 特征層融合 VS 網絡層融合
Part 3. 如何使用節點特征?
一般情況下,節點特指用戶(當然也可以是手機號、設備等)。我們可以通過RFM模型批量生產出大量時間切片特征,或者根據業務理解構造出強業務特征。
而關系網絡的一個價值在于:利用節點所在群體(可以是一度、二度,或者社區發現算法挖掘出的簇)中的鄰居節點特征,通過關系網絡傳播到某個節點上。
如果節點特征表對鄰居節點的覆蓋率低(通常情況下,鄰居節點數 >> 特征表中節點數),那么網絡傳播過程將會大打折扣。試想,一個下單用戶好不容易找出100個一度鄰居,然而只有3個鄰居節點特征變量有值,其余鄰居節點特征都為null,那么通過傳播(對鄰居節點求mean、max、min、sum聚合操作)后,該下單用戶僅僅利用了3個鄰居的信息。
👉因此,?節點特征表中的用戶量決定了特征傳播的上限。
接下來,我們就會考慮如何去擴充節點特征表中的用戶量?最直接的做法——我們把歷史全量用戶的特征都拿過來用不就行了?但需要注意的是,用戶特征具有時效性。?所謂?時效性,是指用戶特征是否能有效反映用戶最近的風險。?因此,貪多反而會引起特征質量下降,兩者需要做權衡。
如果該特征的穩定性比較好(反映用戶穩定屬性的特征,如性格、信用等),那么就可以盡可能使用歷史存量數據。也就是說,設定節點特征表的有效期為1年(或更長),在有效期內的歷史全量節點特征,我們都可以拿來傳播。例如信用卡額度,通常認為一個用戶在1年內的額度不會發生太大變化。
反之,對于時效性強的特征,我們寧可犧牲覆蓋率,也要縮短有效期,目的是為了保證特征的時效性。例如同盾這類的多頭借貸數據,隨著接入和退出機構的動態變化,半年前的同盾數據可能已經無法反映用戶當前的借貸風險,若直接使用反而會引入噪聲。
對于某個節點(用戶)特征表在不同時間點存在多條記錄的,可以考慮以下策略:
取最近一條,保證特征的時效性最強。
參考遺忘曲線,對不同時間點的特征進行加權融合。
圖4 - 特征有效期和取用策略
Part 4.?如何使用存量數據和增量數據?
增量數據:一般指實時數據,可直接計算一度關系的邊權重。例如,如果用戶申貸下單時必須導運營商數據,那么就可以根據實時導入的通話記錄來構建圖關系網絡。這是最新的數據,自然更能反映用戶此時的風險。
存量數據:在一些場景下,我們不得不依賴于使用存量數據。
-
場景1: 前期業務流程中要求用戶強制導運營商數據,后期變成用戶可選提額項。
-
場景2: 某塊數據之前都是在定價環節才調用,而此次建模希望用在額度環節(在定價之前)。
此時,我們該如何使用呢?考慮到對于某些新用戶,雖然其自己沒有導入運營商這類的關系數據,但是可能其身邊的人在歷史申貸時就已經導入過資料。那么,在歷史關系網絡中,該新用戶就被囊括在其中。因此,存量數據也有其使用價值。
同樣的道理,我們需要考慮關系網絡也具有時效性。某些歷史關系網絡比較穩定,比如家人關系,那么就可以使用較久版本的,否則就只能用最近的,甚至不使用。
圖 5 - 關系網絡有效期
Part 5.?如何實時上線?
據筆者所知,目前線上計算二度關系的技術門檻仍然很高,因此我們在實時計算時考慮一度關系(應該也能達到80%的baseline效果,剩下的20%可能就需要靠高階關系了),二度關系甚至更為復雜的社區發現算法則放在離線計算。因此,在實時構建一度關系和離線提供一度和多度關系的相互補充下,將會得到相對于只用實時一度關系更好的效果。
節點特征表則可通過離線提前計算,并將有效期范圍的不同觀察點的節點特征匯總成一張表,導入到線上數據庫。
對于實時訂單,可實時構建出關系網絡,取出一度聯系人和相應的邊權重。并從節點特征表中取出鄰居用戶的特征,進而傳播擴散,生成實時圖特征。
Part 6. 如何驗證關系特征的效果?
在風控建模中,評估特征性能最為關注穩定性和區分度。穩定性可用PSI(群體穩定性)來計算,而區分度可用IV(信息量)來衡量。再次強調穩定性在風控中的重要性。
因此,可按照以下步驟來快速評估:
考慮先回溯足夠多的樣本,通常是要求幾個月以能評估穩定性
先評估特征的區分度。對于IV很高的特征,再次確認取數邏輯中是否用到未來信息。
篩選出區分度較強的特征,進一步評估穩定性。
Part 7. 如何去優化關系特征?
引入邊權重,而不僅僅是有關聯的一度用戶。
離線增加更多關系較強但覆蓋率較低的邊,以起到補充更多一度聯系人的作用。
節點特征增加更多維度。本質還是在于特征傳播,因此加有效的節點特征是最重要的。
利用樣本和target變量對關系網絡融合權重參數估計,以期達到更合理的網絡融合。
總結
以上是生活随笔為你收集整理的风控特:关系网络特征工程入门实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 风控特征:时间滑窗统计特征体系
- 下一篇: 复方枸杞子颗粒_功效作用注意事项用药禁忌