第四屆拍拍貸魔鏡杯冠軍方案分享

1.介紹

? 隊(duì)員:@回頭是岸钧栖,@林蕭拯杠, @觀想,作者:@一休

2. 賽題背景

資金流動(dòng)性管理迄今仍是金融領(lǐng)域的經(jīng)典問題潭陪。在互聯(lián)網(wǎng)金融信貸業(yè)務(wù)中最蕾,單個(gè)資產(chǎn)標(biāo)的金額小且復(fù)雜多樣,對于擁有大量出借資金的金融機(jī)構(gòu)或散戶而言黎炉,資金管理壓力巨大壹粟,精準(zhǔn)地預(yù)測出借資金的流動(dòng)情況變得尤為重要。本次比賽以互聯(lián)網(wǎng)金融信貸業(yè)務(wù)為背景趁仙,以《現(xiàn)金流預(yù)測》為題,希望選手能夠利用我們提供的數(shù)據(jù)干奢,精準(zhǔn)地預(yù)測資產(chǎn)組合在未來一段時(shí)間內(nèi)每日的回款金額盏袄。

本賽題涵蓋了信貸違約預(yù)測、現(xiàn)金流預(yù)測等金融領(lǐng)域常見問題逛尚,同時(shí)又是復(fù)雜的時(shí)序問題和多目標(biāo)預(yù)測問題刁愿。希望參賽者利用聰明才智把互聯(lián)網(wǎng)金融的數(shù)據(jù)優(yōu)勢轉(zhuǎn)化為行業(yè)解決方案。

img

數(shù)據(jù)包含訓(xùn)練樣本滤钱、測試樣本、每個(gè)標(biāo)的的屬性表件缸、借款用戶基礎(chǔ)信息表、用戶畫像標(biāo)簽列表争剿、借款用戶操作行為日志表和用戶還款日志表五個(gè)部分痊末。

賽題的詳解和數(shù)據(jù)見:官網(wǎng)
如失效關(guān)注公眾號:AI成長社,回復(fù):魔鏡杯 即可獲得

3.賽題理解

基于對賽題的分析以及金融風(fēng)控業(yè)務(wù)的理解疮丛,得到以下幾點(diǎn):

  • 賽題重要性:準(zhǔn)確預(yù)測未來一段時(shí)期資產(chǎn)組合回款量。這能夠幫助互聯(lián)網(wǎng)金融企業(yè)更好的把控運(yùn)營節(jié)奏誊薄,進(jìn)行良性資金配置流動(dòng)性管理,最大化的利用現(xiàn)有資金切心。
  • 賽題目標(biāo):預(yù)測資產(chǎn)組合在未來一段時(shí)間內(nèi)每日的回款金額(但是我們無法預(yù)知資產(chǎn)組合的構(gòu)成)

基于以上分析片吊,決定在未知資產(chǎn)組合的情況下將原有的問題從宏觀和微觀兩個(gè)方面進(jìn)行挖掘,從微觀角度挖掘用戶的一些借貸習(xí)慣全谤;從宏觀挖掘公司每月每日資金的流入流出情況,來擬合最終的資產(chǎn)組合的回款情況认然,具體的結(jié)構(gòu)如下圖。

stpe

4. 特征工程

由于金融風(fēng)控領(lǐng)域?qū)δP吞卣饕笥泻軓?qiáng)的可解釋性卷员,在挖掘基本的特征時(shí)毕骡,我們都會考慮挖掘的特征最終的作用點(diǎn)。我們最終的特征有三部分來源挺峡,分別是基本信息特征、用戶瀏覽行為特征和用戶還款行為特征橱赠。

1.基本特征

基于時(shí)間過濾篩選出未穿越的基本時(shí)間特征,具體特征如下圖:


feature
  • 針對用戶屬性特征宰啦,刪除了cell_province,id_province,id_city三個(gè)看似很強(qiáng)的地域特征饼拍。這部分?jǐn)?shù)據(jù)存在缺失值,曾今嘗試過用id_province的對cell_province進(jìn)行填充师抄,id_city進(jìn)行分省份填充,但是最終線上結(jié)果沒有有直接刪除有效辆布,刪除操作線上提升大概200多分

    ##嘗試的填充代碼
    data['cell_province'] = data['cell_province'].fillna(data['id_province'])
    data['id_city'] = data['id_city'].fillna(data['id_province'] + '000')
    
  • 對age進(jìn)行分桶處理

  • 在標(biāo)的屬性特征中添加月利率特征:原始數(shù)據(jù)提供的是年利率茶鉴,考慮到標(biāo)的期限有3,6,9,12月,因此改成月利率特征惭蹂,線上提升100左右

  • 標(biāo)的還款日期特征:應(yīng)還款日期是在幾月份,幾號割粮,星期幾,線上提升200左右

  • 用戶畫像特征: 對用戶畫像做TFIDF處理置尔,保留10維特征

    Tfidf_vect = TfidfVectorizer(max_features=10, ngram_range=(1, 1), min_df=1)
    Tfidf_vect.fit(list(train['taglist']))
    

2.用戶瀏覽行為特征

  • 時(shí)間段切分:將一天分為8個(gè)時(shí)間段氢伟,統(tǒng)計(jì)每個(gè)時(shí)間段用戶的操作天數(shù)及占比,凌晨和深夜操作的逾期概率更高
  • 行為間隔頻度:將用戶行為序列的最大間隔天數(shù)和最小間隔天數(shù)取出谬盐,推測借款人粘性

3.用戶還款行為特征

  • 歷史還款習(xí)慣(還款月粒度-33天):有的用戶喜歡還款日還款,有的喜歡提前一天還款飞傀,有的沒有固定時(shí)間,基于此采用統(tǒng)計(jì)特征表示(眾數(shù)砸烦、平均數(shù)、最大值幢痘、最小值、方差)
  • 歷史還款習(xí)慣(自然月粒度-上旬中旬下旬):有的用戶喜歡在月初還款购岗,有的喜歡月末還款(可能與其工資日相關(guān))门粪,采用還款日期的眾數(shù)表示
  • 歷史借款情況:用戶擁有標(biāo)的數(shù)量,用戶相鄰標(biāo)的間隔天數(shù)玄妈,用戶從注冊日到借款等待的天數(shù)

5 模型的設(shè)計(jì)

1.label設(shè)計(jì)
公式:label = due\_date - repay\_date
由于受到大小月份的影響,進(jìn)行適當(dāng)?shù)男拚艿埽渲?1表示借款當(dāng)天還款瞭郑,即auditing\_date == repay\_date, 32表示逾期鸭你,其余不存在的日期用0填充。最終的結(jié)果分布如下圖袱巨。修正后的label定義方式相比直接采用距離天數(shù)的定義方式,線上提升100多分场绿。

label

2.訓(xùn)練集的調(diào)整

統(tǒng)計(jì)數(shù)據(jù)發(fā)現(xiàn)2018年數(shù)據(jù)2月和3月的還款情況和其他月份有很大不同焰盗,逾期率更大咒林,分析可能是由于春節(jié)的原因,故將2018年的2月和3月作為線下驗(yàn)證集垫竞,然后將其余的數(shù)據(jù)作為線下訓(xùn)練集蛀序。這種方式驗(yàn)證集比直接隨機(jī)選取數(shù)據(jù)做驗(yàn)證集效果更好活烙,線上提升在150分左右。如果分拆成兩個(gè)模型重贺,分別是2月作為驗(yàn)證集和3月作為驗(yàn)證集,線上還能再提升50分左右檬姥,最終為了模型更簡單粉怕,沒有使用這種方案。

3.模型結(jié)構(gòu)

model

我們的模型分為兩個(gè)部分秉犹,微觀部分對應(yīng)用戶的一些特征,主要挖掘方向就是用戶的還款風(fēng)險(xiǎn)以及還款時(shí)間偏好崇堵,特征見上面的特征部分,模型使用的事lightgbm模型鸳劳。宏觀部分主要是分析公司每月也搓,每日的資金運(yùn)轉(zhuǎn)流通情況,統(tǒng)計(jì)分析自然天資金回流的概率傍妒,在微觀預(yù)測的基礎(chǔ)上調(diào)整回流日資金分配。最終線上得分5424分颤练。

優(yōu)點(diǎn):

  • 有一定可解釋性,知道特征來源
  • 可操作性比較強(qiáng)
  • 模型穩(wěn)定患雇,切榜成績幾乎沒有波動(dòng)

4.loss 優(yōu)化

  • 預(yù)期類別權(quán)重調(diào)整:考慮到風(fēng)控模型應(yīng)該是越來越好宇挫,即往后逾期率會變低,如下圖所示捞稿,基于此拼缝,訓(xùn)練模型時(shí)將逾期的類別適當(dāng)降低咧七,線上提升50任斋;
loss1
  • 日期權(quán)重調(diào)整:統(tǒng)計(jì)分析月初的還款量較大,月底的還款量較小废酷,將每月月初的loss權(quán)重增到到1.12,月末的loss權(quán)重的loss減小到0.79墨辛。復(fù)賽線上單模型5623睹簇。

    loss2

    針對該部分的代碼:

    # 設(shè)置時(shí)間權(quán)重權(quán)重
    train_data['sample_weight'] = 1.0
    train_data.loc[(train_data['repay_date'] == '2018-01-01') |
                   (train_data['repay_date'] == '2018-02-01') |
                   (train_data['repay_date'] == '2018-03-01') |
                   (train_data['repay_date'] == '2018-04-01') |
                   (train_data['repay_date'] == '2018-05-01') |
                   (train_data['repay_date'] == '2018-06-01') |
                   (train_data['repay_date'] == '2018-07-01') |
                   (train_data['repay_date'] == '2018-08-01') |
                   (train_data['repay_date'] == '2018-09-01') |
                   (train_data['repay_date'] == '2018-10-01') |
                   (train_data['repay_date'] == '2018-11-01') |
                   (train_data['repay_date'] == '2018-12-01') |
                   (train_data['repay_date'] == '2019-01-01'),
                   ['sample_weight']] = 1.124115183    # 每月1號
    train_data.loc[(train_data['repay_date'] == '2018-01-31') |
                   (train_data['repay_date'] == '2018-02-28') |
                   (train_data['repay_date'] == '2018-03-31') |
                   (train_data['repay_date'] == '2018-04-30') |
                   (train_data['repay_date'] == '2018-05-31') |
                   (train_data['repay_date'] == '2018-06-30') |
                   (train_data['repay_date'] == '2018-07-31') |
                   (train_data['repay_date'] == '2018-08-31') |
                   (train_data['repay_date'] == '2018-09-30') |
                   (train_data['repay_date'] == '2018-10-31') |
                   (train_data['repay_date'] == '2018-11-30') |
                   (train_data['repay_date'] == '2018-12-31') |
                   (train_data['repay_date'] == '2019-01-31'),
                   ['sample_weight']] = 0.79326    # 每月月底
    

6.總結(jié)

  • 用組合目標(biāo)趨近于實(shí)際的目標(biāo):整個(gè)賽題的目標(biāo)是想預(yù)測資產(chǎn)組合的回款情況太惠,但是資產(chǎn)組合我們無法預(yù)知疲憋,通過微觀的標(biāo)的回款情況加上宏 觀的日回流情況來對實(shí)際目標(biāo)進(jìn)行趨近
  • 對整體目標(biāo)進(jìn)行可解釋性的拆解有助于特征的設(shè)計(jì):將目標(biāo)拆解為用戶的信用風(fēng)險(xiǎn)、還款習(xí)慣以及整體的日回流趨勢嗽元,讓特征提取思路清晰可追溯
  • 可進(jìn)行多目標(biāo)學(xué)習(xí)的嘗試:基于我們現(xiàn)有模型的整體架構(gòu)和思想喂击,可進(jìn)行多目標(biāo)學(xué)習(xí)的嘗試翰绊,這方面可以繼續(xù)挖掘和擴(kuò)展

7. 可深入探索模型

model2

?
推薦閱讀:

如果出現(xiàn)出現(xiàn)圖片失效的情況請閱讀:https://mp.weixin.qq.com/s/0V0CkJ7HE-O8jp8g4GCeGA

作者的知乎:一休, 知乎專欄:ML與DL成長之路

微信公號:AI成長社:ML/DL/CV的成長圣地刽肠。<img src="http://tva1.sinaimg.cn/large/007X8olVly1g7m25vtimfj3076076mxm.jpg" width = "80" height = "80" />

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市音五,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌厨钻,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夯膀,死亡現(xiàn)場離奇詭異,居然都是意外死亡苍蔬,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門涂佃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蜈敢,“玉大人,你說我怎么就攤上這事伯病》窆” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵药磺,是天一觀的道長癌佩。 經(jīng)常有香客問我,道長围辙,這世上最難降的妖魔是什么放案? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任吱殉,我火速辦了婚禮厘托,結(jié)果婚禮上催烘,老公的妹妹穿的比我還像新娘。我一直安慰自己缎罢,他們只是感情好伊群,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著策精,像睡著了一般舰始。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咽袜,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天丸卷,我揣著相機(jī)與錄音,去河邊找鬼询刹。 笑死谜嫉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的凹联。 我是一名探鬼主播沐兰,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蔽挠!你這毒婦竟也來了住闯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤澳淑,失蹤者是張志新(化名)和其女友劉穎比原,沒想到半個(gè)月后量窘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蚌铜,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了骂束。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,991評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖攀隔,靈堂內(nèi)的尸體忽然破棺而出昆汹,到底是詐尸還是另有隱情满粗,我是刑警寧澤映皆,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布捅彻,位于F島的核電站,受9級特大地震影響贤旷,放射性物質(zhì)發(fā)生泄漏砾脑。R本人自食惡果不足惜韧衣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一氏淑、第九天 我趴在偏房一處隱蔽的房頂上張望假残。 院中可真熱鬧阳惹,春花似錦莹汤、人聲如沸纲岭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仅偎。三九已至雳殊,卻和暖如春夯秃,著一層夾襖步出監(jiān)牢的瞬間仓洼,已是汗流浹背哺呜。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工某残, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人澳厢。 一個(gè)月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像裸扶,于是被迫代替她去往敵國和親呵晨。 傳聞我的和親對象是個(gè)殘疾皇子摸屠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容