1. 程式人生 > >從中國農業銀行“雅典娜杯”資料探勘大賽看金融行業資料分析與建模方法

從中國農業銀行“雅典娜杯”資料探勘大賽看金融行業資料分析與建模方法

【說在前面】本人部落格新手一枚,象牙塔的老白,職業場的小白。以下內容僅為個人見解,歡迎批評指正,不喜勿噴![握手][握手] 【再囉嗦一下】如果你對資料探勘感興趣,歡迎先瀏覽我的另一篇隨筆:[資料探勘比賽/專案全流程介紹](https://www.cnblogs.com/zhengzhicong/p/12728491.html) 【再囉嗦一下】如果你對金融科技感興趣,歡迎瀏覽我的另一篇隨筆:[如果你想了解金融科技,不妨先了解金融科技有哪些可能?](https://www.cnblogs.com/zhengzhicong/p/12657428.html) 【最後再說一下】本文結合了博主、內部賽優秀團隊以及外部賽冠/亞/季軍的方案分享! 如何進行金融行業資料分析與建模,是挖掘金融行業資料價值的重要手段。金融行業資料分析與建模方法主要包括七個重要環節,每個環節緊密相連。 ![](https://img2020.cnblogs.com/blog/1998154/202005/1998154-20200509182810947-731880336.png) ##1. 賽題介紹 ###1.1 賽題名稱 貸款風險預測(逾期還款分三種情況:要麼使用者不願意還款、要麼沒有錢還款、要麼忘了還款) ###1.2 問題描述 根據資料集中8萬用戶的相關資訊,預測使用者未來是否會逾期還款。 ###1.3 提供資料 使用者基本資訊、銀行卡流水、信用卡賬單資訊以及使用者行為資料,欄位內容均為脫敏資料。 ###1.4 評估指標 Kolmogorov-Smirnov(KS)是風險評分領域常用的評估指標,反應模型對正負樣本的辨識能力,KS越高表明模型對正負樣本的辨識能力越強。 KS = max { | f(s|P) - f(s|N) | } 其中,f(s|P) 為正樣本預測值的累計分佈函式,f(s|N) 為負樣本在預測值上的累計分佈函式。 ![](https://img2020.cnblogs.com/blog/1998154/202005/1998154-20200509162433306-1640273137.jpg) ##2. 資料探索 通過資料視覺化檢視資料樣本的分佈以及特徵的統計規律。 - 正/負樣本比例1:4(應該是人工取樣過,實際業務中逾期樣本比例很少) - 訓練集/測試集樣本比例6w:8k - ...... ![](https://img2020.cnblogs.com/blog/1998154/202005/1998154-20200509172029769-440044643.jpg) ![](https://img2020.cnblogs.com/blog/1998154/202005/1998154-20200509182741738-382928712.jpg) ##3. 資料預處理 主要包括資料的缺失值處理、異常值處理、拼接、去重等基本處理。同時,還有匯率轉換和單位淨值*份額等基本資料操作。 ##4. 特徵工程 ###4.1 基本特徵 根據類別型和數值型資料在標籤上的分佈進行預處理,包括標準化、歸一化、離散化、平滑化、one-hot編碼等。 ###4.2 時序變化特徵 - 銀行卡流水:計算使用者在全域性、特定條件下(交易型別,非工資收入/工資收入,支出/收入)的金額和時間的統計特徵(sum/count/mean/median/std/min/max) - 信用卡賬單:計算使用者在全域性、特定條件下(銀行標識,還款狀態)的金額(上期賬單金額,上期還款金額,本期賬單餘額,信用卡額度)和賬單時間戳的統計資訊 - 瀏覽行為:計算使用者每天每種行為型別/子型別的count、瀏覽行為數和瀏覽時間的統計資訊 - 日期的轉換:根據上半年/下半年、季度、月份等時間維度,提取大量可能的日期特徵衍生 - 滑動視窗處理:根據不同時間區間(近一個月、近兩個月等),計算使用者對應的銀行流水、信用卡賬單、瀏覽行為的基礎特徵/統計特徵 - 遮蔽取樣時間差異的特徵:取前五條和最後五條處理等 - ...... ###4.3 交叉特徵 - 除法:例如某瀏覽行為型別佔總瀏覽的比例、工資收入/非工資收入等 - 減法:最大時間戳-最小時間戳(表示某種行為的時間跨度)等 - 拼接:例如行為型別-子型別1/2,拼接後計算特徵等 - 使用者的個人資訊之間的交叉特徵衍生 - ...... ###4.4 業務理解特徵 - 上期未還款金額 = 上期賬單金額 - 上期還款金額 - 相鄰兩期賬單金額差 = 本期賬單餘額 - 上期賬單金額 - if 上期賬單金額 > 信用卡額度,爆卡 = 1 else 爆卡 = 0 - if 上期還款金額 < 上期賬單金額,未足額還款 = 1 else 未足額還款 = 0 - 缺失副表的數量 - ...... ![](https://img2020.cnblogs.com/blog/1998154/202005/1998154-20200509223838529-208992427.png) ##5. 特徵選擇 - 刪除相關性高的特徵(例如取閾值0.98) - 使用低成本特徵選擇運算元,過濾掉不重要的特徵(例如取50%) - 使用預訓練的lightgbm模型獲得特徵重要性(例如取top3500) ![](https://img2020.cnblogs.com/blog/1998154/202005/1998154-20200509180052528-981380893.png) ##6. 模型選擇及調參 - 經過實驗選擇了lightgbm模型 - 使用網格搜尋/貝葉斯優化對其進行調參(調整葉子節點數、最大深度、行/列取樣比例、正則項係數等) - 通過KS指標/自定義評價函式,通過交叉驗證,獲取較為準確的模型迭代輪次 ##7. 模型融合 - bagging - stacking - ...... 如果你對金融科技感興趣,歡迎瀏覽我的另一篇部落格:[如果你想了解金融科技,不妨先了解金融科技有哪些可能?](https://www.cnblogs.com/zhengzhicong/p/12657428.html) 如果您對資料探勘感興趣,歡迎瀏覽我的另一篇部落格:[資料探勘比賽/專案全流程介紹](https://www.cnblogs.com/zhengzhicong/p/12728491.html) 如果你對智慧推薦感興趣,歡迎先瀏覽我的另一篇隨筆:[智慧推薦演算法演變及學習筆記](https://www.cnblogs.com/zhengzhicong/p/12817941.html) 如果您對人工智慧演算法感興趣,歡迎瀏覽我的另一篇部落格:[人工智慧新手入門學習路線和學習資源合集(含AI綜述/python/機器學習/深度學習/tensorflow)](https://www.cnblogs.com/zhengzhicong/p/12670260.html) 如果你是計算機專業的應屆畢業生,歡迎瀏覽我的另外一篇部落格:[如果你是一個計算機領域的應屆生,你如何準備求職面試?](https://www.cnblogs.com/zhengzhicong/p/12650878.html) 如果你是計算機專業的本科生,歡迎瀏覽我的另外一篇部落格:[如果你是一個計算機領域的本科生,你可以選擇學習什麼?](https://www.cnblogs.com/zhengzhicong/p/12650191.html) 如果你是計算機專業的研究生,歡迎瀏覽我的另外一篇部落格:[如果你是一個計算機領域的研究生,你可以選擇學習什麼?](https://www.cnblogs.com/zhengzhicong/p/12650369.html) 之後博主將持續分享各大演算法的學習思路和學習筆記:[hello world: 我的部落格寫作思路](https://www.cnblogs.com/zhengzhicong/p/126414