西安大略大學 韓佩軒
信息技術發展速度不斷加快,消費金融能夠獲得更加精準的金融數據,同時數據量逐漸增多,在進行金融數據處理的過程中以及對有關數據分析的時候過程比較繁瑣,需要耗費大量的時間。所以,在數據處理過程中如果依然運用傳統的技術,是很難滿足需求的[1]。建立消費金融大數據整體框架,對數據信息進行存儲、處理,并做好統計工作。
1.2.1 系統功能模塊
數據倉庫架構,主要為六個模塊,具體介紹如下:
其一,數據采集模塊主要的功能是對原始數據進行采集,并在數倉中存儲。
其二,消息隊列模塊是緩沖隊列,其接收上游生產者傳輸的數據信息,向下游消費者傳輸[2]。
其三,數據預處理模塊,用于預處理消費消息隊列中的緩沖數據,經過流處理模塊計算之后存儲在實時數倉中。
其四,實時數倉,可以提供實時數據查詢。
其五,非實時數倉,對于T+1時間的數據統計、數據分析以及數據查詢服務予以提供。
其六,數據接口平臺,將數據查詢接口提供給各業務系統。
1.3.1 數據抽取
其一,抽取結構化數據。通過sqoop,可以將生產數據庫中的所有庫存數據導入HIVE,通過canal將每天增加的數據偽裝成MySQL的從端,利用主數據庫中的binlog進行查詢,實時讀取的時候,向Kafka隊列中寫入數據,而且還要實時更新數據傳輸到開源數據庫中,開源數據庫所發揮的作用是每天將數據定期抽取到HIVE中。
其二,抽取非結構化數據。非結構化數據是與結構化數據相對應的,即為視頻信息、圖片信息等,都不是由數字表達數據信息。這些數據都在RDB中統一存儲,將結構化數據導入數據庫,媒體文件數據存儲在文件系統中。利用字符識別技術將非結構化數據轉換成文本,提取出來,并在數據庫中存儲。
其三,抽取埋點日志。對客戶行為日志用Kafka緩沖,Web前端和后端使生產者將數據寫入到指定的Topic[3]。
1.3.2 數據轉換及處理
將數據維度模型建立起來,對于分析需求快速完成,且響應性能得以發揮。在維度建模的時候,對決策的需求進行分析,構建數據模型,為分析需求提供服務。通過分析模型,將維度表建立起來,通過整合數據,搜集個人基礎信息,建立客戶信息表。
2.1.1 k-means聚類算法
k-Means算法,是聚類數量經過定義固定之后,將記錄迭代向聚類分配,并對聚類中心進行調整,在模型沒有建立之前,其是作為一種無監督的學習機制存在的。該算法的特點是輸入字段需要一個或多個字段,可以輸出的信息為多個,能夠快速集聚大型數據。
2.1.2 模型建立
本文應用K均值聚類算法建立了消費金融客戶信用評級細分模型。具體采用如下的設計方法:
其一,在樣本數據的選取上,合理選擇客戶數據主要用于細分消費信貸的信用等級。
其二,對數據信息分類處理中,可以根據消費信貸行為劃分為兩個群體,即有消費行為的客戶群體和無消費行為的客戶群體[4]。
其三,在處理數據的過程中,基于有消費信貸行為的客戶對數據進行處理。
2.2.1 算法介紹
其一,決策樹算法。決策樹是一種預測模型,是一種層次二叉樹結構。樹中的每個內部節點為單個變量指定一個替代測試。對于實值和整數值變量,使用閾值,對于屬性數據,使用成員子集[5]。每個數據從樹的根沿著唯一的路徑向下到一個葉節點,變量在每個內部節點的選擇測試結果中確定具體的路徑。每個葉節點為最可能的葉分類指定類標簽。
其二,邏輯回歸算法。在線性回歸中,樣本點設置在空間中的直線上或直線附近,自變量和因變量可以用線性函數表示,從而闡明它們之間所存在的對應關系。然而,在某些應用中,既可以用曲線來表示變量之間所存在的關系,也可以用非線性函數來表達這些關系。這個時候的計算依然是用最小二乘法,但參與回歸的時候則是以變量函數的形式。典型的是非線性回歸中,因變量是一個隨機變量,只有0和1兩個值。自變量通過線性組合影響因變量的期望,獲得回歸模型[6]。
其三,隨機森林算法。由于消費者信用評級的概率模型為分類模型,所以模型比較多,可以根據需要選擇。比較常用的模型是決策樹、logistic回歸以及隨機森林等算法。
2.2.2 模型評價指標
回歸算法的評價參數主要包括精確率、召回率和 F1分數。
其一,精確率。模型預測是正,而且實際是正的樣本數量/模型預測是正的樣本數量,計算的時候使用TP/(TP+FP)。精確率就是通過預測所獲得的結果,主要的作用是預測為正的樣本中對的一共是多少。
其二,召回率。模型預測為正和實際為正的樣本數/模型預測為正的樣本數,TP/(TP+FP)是用于計算的公式。將召回率與原始樣本進行比較,表示樣本中有多少正面的樣本,以及有多少被預測的樣本是正確的[7]。
其三,F1分數。該分數就是精確率與召回率的調和平均數,計算所采用的公式:
F1分數=2×精確率×召回率/(精確率+召回率)
2.3.1 生成式對抗網絡算法
采用遷移學習法可以通過現象對問題的共性把握,并能熟練地處理新問題。生成式對抗網絡算法即為GAN算法,這是一種新的機器學習思想。在這個模型中,參與者有兩個,一個是生成模型,另一個是判別模型,其中的生成模型重在捕獲樣本數據的分布,生成的樣本與實際訓練數據相似,其中為了生成與真實訓練數據相似的樣本,越接近真實樣本越好。所謂的“判別模型”是一個雙分類器,根據訓練數據的概率對樣本進行估計。如果樣本的數據是通過真實的訓練獲得的,就可以斷定其為輸出大概率;如果樣本的數據不是通過真實的訓練獲得的,就可以斷定其為輸出小概率。生成式對抗網絡算法的主要目的是對發生器的輸出情況做出判斷[8]。
2.3.2 模型建立
其一,選擇數據。如果在真實樣本中發現有數據選取樣本不足的問題,需要過濾掉客戶數據字段,對消費者信用等級進一步細分。
其二,處理數據。在處理缺失值的時候,需要按照當前類型比例對分類變量的缺失值信息進行隨機化填充,如果在寬表處理之前連續性變量的缺失值已經處理了,則缺失的時候都默認賦值為0。
對異常值和極值進行替換,使其成為最接近極值的值。例如,如果離群值定義為高于或低于三個標準差的任何值,則所有離群值都將替換為該范圍內的最高或最低值[8]。
其三,迭代次數的設置。將總的迭代次數和一次訓練迭代的操作是固定發生器,對鑒別器進行K次訓練,使鑒別器逼近最優鑒別器,然后固定鑒別器,對發生器進行一次優化訓練。執行訓練循環,直到達到總迭代次數n。
對2019年5月至2020年5月的客戶數據實施模型訓練,以產品的所有業務數據作為樣本,客戶的逾期率可以達到1.1%,不良率可以達到0.6%。從客戶的屬性來看,主要包括個人基本信息、信用行為信息、第三方外部信息。與客戶相關的變量為233個,對變量進行分析,對客戶的區分度進行分析。
基于sparkML框架,使用scalar程序將K-means模型進行設計。聚類數目由2個增加到10個,調整聚類數目后,選擇最優聚類數目。如果簇的數目是第一次迭代為3,此時的模型就是最優的[9]。
比如,群體一,是2046人,在人群總數中所占有的比例是9%,平均授信是180000元,平均年齡是40歲,要比整體客戶的平均年齡要高一些。
群體二,是17050人,在人群總數中所占有的比例是75%,這個群體的年齡分布比較廣泛,授信額度的分布也是比較大的。
群體三,是3602人,在人群總數中所占有的比例是16%,這個群體的年齡是37歲。
對第二組進一步細分。風險客戶群主要包括拒絕客戶。日利率為0.000666,群體一的授信額度較高,被稱為“高授信客戶群”。第三組群體風險較大,稱為“風險客戶群”,第二組稱為“大眾客戶群”。之前有過授信額而且有過借款,但此后就調整了授信。
如果按照客戶的生命周期對大客戶群進行分類,可以進一步細分為一個獨立的群體,具有很大的戰略價值。大眾年輕客戶年齡在19歲到30歲之間;大眾不斷增長的客戶年齡在31至38歲之間;顧客的年齡介于39歲到46歲之間。
進行訓練的時候按照決策樹模型、邏輯回歸模型和隨機森林模型,模型評價指標按照精確率、召回率、F1分數等,結果表明,隨機森林模型的結果比較高,模型準確率高于90%,預測效果非常好。
通過上面的研究可以明確,研究互聯網消費金融等級模型,根據時間選擇合適的模型分析風險控制是非常必要的。在本文的研究中,基于消費金融客戶數據倉庫及其私有云體系結構,構建消費金融客戶信用等級模型,對客戶群體進行分類并預測,提出做好風險評估的重要性,為信用風險管理研究提供依據。