本發(fā)明涉及信用評估領(lǐng)域,特別涉及一種基于部分堆棧融合的用戶信用評估模型。
背景技術(shù):
用戶信用評估在銀行、金融等領(lǐng)域已經(jīng)有較為完備的發(fā)展,其評估的方式主要依賴用戶主動提供與第三方提供的用戶個人實名信息。評估的維度主要是依賴問卷資料調(diào)查與訪問得到的幾十維用戶信息,在模型的構(gòu)建上,由于描述用戶的維度小,所以也很難構(gòu)建出一個魯棒性與可擴展性強的模型。而互聯(lián)網(wǎng)金融的持續(xù)擴展,讓用戶的線上交易更加頻繁,這也意味著用戶的信用數(shù)據(jù),不再依賴于線下調(diào)查的方式,可以通過用戶使用互聯(lián)網(wǎng)的行為來擴展描述用戶信用的維度。這些維度涉及到資金交易、用戶社交、使用互聯(lián)網(wǎng)的行為偏好等等。而由于用戶數(shù)據(jù)的維度的增長,傳統(tǒng)方式中使用的模型與方法很難適應數(shù)據(jù)的高維度、缺失值嚴重、數(shù)據(jù)不均衡的問題。數(shù)據(jù)不均衡指的是,在所有的涉及到借貸的用戶中,信用良好、按時還款的用戶占據(jù)絕大部分,用戶信用差的用戶只有小部分。這個是信用評估中最重要的一環(huán),如何盡量多的識別出信用差的用戶,并且不錯判一個信用好的用戶為信用差得用戶。
本發(fā)明提出一個部分堆棧融合的用戶信用評估模型。融合模型(blend model)是數(shù)據(jù)挖掘領(lǐng)域?qū)⒍鄠€簡單模型通過各種的方式來融合,增加模型在評測指標中的表現(xiàn)能力的方法。常用的場景有分類問題和回歸問題。其中,在分類問題中,指標AUROC(Area under the Receiver Operating Characteristic Curve)是常用的評價指標,常用于不均衡數(shù)據(jù)的分類效果評價。如下公式可得到:
其中,P和N分布為測試集中正樣本和負樣本的個數(shù),Si表示任意兩個正負樣本對的得分,可以定義為:
AUROC是評估二分類問題中,模型對正樣本與負樣本的誤判率的比例。這樣模型對樣本的評估是一個概率值,對于這個概率值進行不同模型的融合,可以提升融合模型對樣本的評估能力。現(xiàn)有的常用融合模型有:
概率平均融合(probability average blend):
前面提到,對用戶信用進行評估,即評估其是信用良好用戶的概率P,為信用差的用戶概率即為1-P。如果訓練N個模型,得到一個用戶在N個模型的概率為{Pmodel_1,…,Pmodel_k,…,Pmodel_N}。那么,直接對概率進行融合,可得到用戶為信用良好用戶的概率為:
排名平均融合(rank average blend):
在金融借貸過程中,銀行或借貸公司更加愿意將貸款借給一個信用更加良好的用戶。所以,銀行或借貸公司關(guān)注的是用戶間的相對排名,對于用戶信用值越靠前的用戶,將會得到更高額度的借款,而排名越后的用戶基本上得不到借款。所以,排名融合也是一種增加用戶信用評估的融合方法。在一個模型中,假設(shè)有M個用戶,那么每個用戶根據(jù)概率,可以得到所有用戶在這個模型的排名。那么如果訓練N個模型,則每個用戶都可得到其在所有模型中的排名{Rankmodel_1,…,Rankmodel_k,…,Rankmodel_N}??傻玫接脩羲心P椭械囊粋€綜合排名:
將所有的用戶排名轉(zhuǎn)換為0到1的區(qū)間。則可以得到用戶的概率。
中位數(shù)融合(median blend):
中位數(shù)融合,是將用戶在N個模型中的中位數(shù)作為信用良好用戶的概率。使用中位數(shù)融合的好處是將個別用戶的極端概率預測去除,中位數(shù)是在眾多模型中一個較為穩(wěn)定的值。但是,中位數(shù)融合依賴所有模型的整體表現(xiàn),如果部分模型的預測能力較差,則會對用戶的信用評估造成偏移。
堆棧融合(stacking blend):
堆棧融合是一種模型重訓練融合的方法。它以前面不同之處在于,將前面N個模型輸出的概率作為第二層模型的特征,然后再對N個新的特征進行模型的訓練,得到用戶最終信用概率。堆棧模型的好處是通過利用模型間的差異性,通過重新訓練的方法來獲得更加準確的模型表達。但是在用戶信用評估中,由于數(shù)據(jù)的不均衡,多個模型間的直接堆棧融合會受到較差模型的影響,不能很好的提升用戶信息的排名能力。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對上述問題,對用戶信用評估的用戶數(shù)據(jù)進行了深入的挖掘,利用模型的差異性,結(jié)合堆棧模型的優(yōu)勢,提出一種部分堆棧融合的方法,很好的解決了信用評估中的數(shù)據(jù)不均衡問題,使模型用戶信用評估的能力效果更好。
在用戶信用評估過程中,如果將用戶分為兩個類別(信用好、信用差),那么用概率P來評估用戶為好用戶的概率,1-P則為用戶為信用差用戶的概率。由于前面所述的用戶不均衡,即現(xiàn)實中大部分用戶都是信用良好的用戶。在建立評估模型的過程中,不同模型對不同用戶的信用區(qū)分能力差異性很大。即有些模型的對一部分用戶的區(qū)分能力較強,但是整體的區(qū)分能力不強。具體的表現(xiàn)為:對于樹模型,如XGBoost,隨機森林(random Forest),由于在訓練的過程中,通過設(shè)置樣本的權(quán)重,設(shè)置樹的深度與正則項來防止過擬合,所以樹模型對于信用極好或信用極差的能力較強。而線性模型,如邏輯回歸模型,對于極端的用戶信用的評估能力較差,但其對于中間用戶的評估能力比樹模型要好。由于線性模型與樹模型的實現(xiàn)差異性,利用這個差異性,結(jié)合模型堆棧的思想,本發(fā)明提出一個部分堆棧融合的信息用過模型,如圖2所示:
一種基于部分堆棧融合的用戶信用評估模型,其特征在于包括以下步驟:
S1、對所有的用戶數(shù)據(jù)建立N個模型,在所有模型中,選擇AUROC值最高的一個最優(yōu)模型〖Model〗_best;
S2、選擇一個與最優(yōu)模型差異性最大的模型〖Model〗_differ,根據(jù)兩個模型對所有用戶的排名作差值〖Rank〗_best-〖Rank〗_differ,對于差值大于0的用戶,說明〖Model〗_differ比〖Model〗_best對這部分用戶的排名能力要好;
S3、選擇這樣的部分用戶,用差異性模型重新訓練,將這個模型的Top K個用戶直接置為信用良好的用戶,這樣可以將原本〖Model〗_best判別為信用較差的用戶進行校正。
進一步的,步驟S2中所述排名越低,用戶的信用越好。
進一步的,所述模型包括線性模型與決策樹模型。
進一步的,所述線性模型包括Lasso、Liblinear、Linear-SVM,所述決策樹模型包括XGBoost。
進一步的,所述最優(yōu)模型〖Model〗_best選定為XGBoost,所述與最優(yōu)模型差異性最大的模型〖Model〗_differ選定為liblinear模型。
本發(fā)明的有益效果是:在互聯(lián)網(wǎng)金融時代,用戶是一家公司的根基,而用戶信用評估模型不能錯判一個信用良好的用戶造成客戶損失。通過使用部分堆棧融合模型,會使用AUROC比原來的最優(yōu)模型提升0.003。而且,這些提升都是對最優(yōu)模型判別為較差的用戶進行的校正提升,這對現(xiàn)實的商業(yè)場景具有重要意義。
附圖說明
圖1為堆棧融合的實現(xiàn)方式圖;
圖2為部分堆棧融合的用戶信用評估模型整體框架圖;
圖3為基礎(chǔ)模型的訓練與處理圖;
圖4為XGBoost 2000與XGBoost 2500的排名差示意圖;
圖5為XGBoost 2000與線性模型liblinear 2500的排名差示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案以及優(yōu)點闡述的更加清楚明白,以下參照附圖做進一步詳細的說明。
一種基于部分堆棧融合的用戶信用評估模型,其特征在于包括以下步驟:
S1、對所有的用戶數(shù)據(jù)建立N個模型,在所有模型中,選擇AUROC值最高的一個最優(yōu)模型〖Model〗_best;
S2、選擇一個與最優(yōu)模型差異性最大的模型〖Model〗_differ,根據(jù)兩個模型對所有用戶的排名作差值〖Rank〗_best-〖Rank〗_differ,對于差值大于0的用戶,說明〖Model〗_differ比〖Model〗_best對這部分用戶的排名能力要好;
S3、選擇這樣的部分用戶,用差異性模型重新訓練,將這個模型的Top K個用戶直接置為信用良好的用戶,這樣可以將原本〖Model〗_best判別為信用較差的用戶進行校正。
其中所述排名越低,用戶的信用越好。
以下將對本發(fā)明進行更詳細的闡述:
1)基礎(chǔ)模型的訓練
在基礎(chǔ)模型訓練的過程中,考慮到模型實現(xiàn)的差異性,我們選擇兩類基礎(chǔ)模型來進行訓練:線性模型與決策樹模型。模型的差異性有利于利用不同模型對不同樣本的信用評估優(yōu)勢,達到融合最優(yōu)。
線性模型:將特征與目標值以廣義線性函數(shù)的方式來表達,通過學習不同特征的權(quán)重來使模型達到最優(yōu)。求解線性模型是一個性質(zhì)良好的無約束優(yōu)化問題,利用梯度下降法、牛頓法和擬牛頓法可以學習到模型的最優(yōu)權(quán)重。而通過規(guī)則化的方法可以避免模型在個別權(quán)重上絕對值過大,防止過擬合。
非線性模型:樹模型是一種決策樹模型,通過目標值在不同特征上的概率分布,利用熵(Entropy)與基尼系數(shù)(GINI coefficient)來得到最佳的子樹分裂進而對樣本進行分類或回歸?;谝粋€單子樹模型,衍生出眾多組合模型的方法,增加樹模型的表達能力。例如:隨機森林(Random Forest)中的多棵樹進行部分樣本抽樣,建立多棵樹,然后用投票(voting)的思想來選擇最優(yōu)的分類或回歸結(jié)果;提升(boosting)方法,利用多棵樹的訓練,多樣本的權(quán)重進行訓練,模型增大一些較難分樣本的權(quán)重。
本發(fā)明中使用了以下4種類型的基礎(chǔ)模型進行訓練,其中,Lasso、Liblinear、Linear-SVM是線性模型,XGBoost是決策樹模型。其優(yōu)點分別如下表1:
表1:基礎(chǔ)模型的選擇與優(yōu)勢
對以上模型進行如圖3的訓練。
我們對互聯(lián)網(wǎng)借貸數(shù)據(jù)進行用戶信用評估,發(fā)現(xiàn)非線性模型對用戶信用的評估能力要比線性模型要高。但由于非線性模型與線性模型原理的差異性,對兩個模型進行融合,將會得到更加好的效果。通常的做法是進行線性權(quán)重融合、排名融合或堆棧融合。但由于數(shù)據(jù)的正負樣本嚴重不均衡,實驗中發(fā)現(xiàn)兩種模型的直接融合對AUROC提升不明顯,所以需要有部分堆棧融合的思想來解決這個問題。
2)模型的選擇與差異性判定
在對真實的互聯(lián)網(wǎng)借貸數(shù)據(jù)進行信用評估后,得到試用XGBoost模型來對用戶進行AUROC的評估效果要高于其他模型。所以,我們選擇XGBoost作為融合的最佳基礎(chǔ)模型,基于XGBoost來尋找其差異性最大的模型。基于前面所述的線性模型與非線性模型的實現(xiàn)原理差異,我們發(fā)現(xiàn)與XGBoost差異性最大的模型為liblinear模型。具體的差異性由以下兩幅圖說明:
圖4展示的為XGBoost相同參數(shù)下,進行2000輪迭代和2500輪迭代的排序相差對比圖。橫坐標為XGBoost2000的正樣本端(用戶信用良好)到負樣本端(用戶信用差)的樣本排名;縱坐標為XGBoost2000與XGBoost2500的排名差。其中,紅點代表負樣本,藍點代表正樣本。XGBoost在中間的分類能力差,且不穩(wěn)定。在兩端的排名是比較穩(wěn)定的。這也是為什么XGBoost比其他分類器要好的原因。中間部分基本上每次都會出現(xiàn)不同的排名,這說明XGBoost對這部分樣本的預測結(jié)果比較隨機。
圖5展示的為XGBoost與線性模型liblinear對相同樣本排名差對比圖。從圖中可以看出,在每個區(qū)間內(nèi),XGBoost與線性融合模型的排名差都是相對穩(wěn)定的,而且整體隨著樣本越靠近負樣本端,相差的差距就會越大。整體從正樣本端到負樣本端以一個固定的斜率上升。這說明線性模型分類策略與XGBoost的非線性分類策略不同,且在整個樣本排名區(qū)間是相對穩(wěn)定的。而事實上XGBoost的預測結(jié)果要比線性融合模型的結(jié)果要好。而XGBoost在正負樣本的分類結(jié)果穩(wěn)定,這說明XGBoost對兩端易分的樣本的非線性分類結(jié)果要比線性融合模型的結(jié)果要好,而中間的不穩(wěn)定區(qū)域卻沒有體現(xiàn)出XGBoost的優(yōu)勢。
3)選擇部分用戶與模型再訓練
通過不同模型的嘗試,最好的單模型是XGBoost模型。而其他線性模型效果差比較多。非線性模型liblinear還是有很大差距。而線性模型直接與XGBoost進行融合,得到AUROC會比原來的預測結(jié)果不會又明細提升且不穩(wěn)定。所以,不能簡單的將兩個模型進行權(quán)重融合或排名融合。單模型訓練時,發(fā)現(xiàn)其穩(wěn)定性比較差。具體表現(xiàn)為,XGBoost對預測樣本的排名,在AUROC=0或AUROC=1兩端的排名比較穩(wěn)定,而對AUROC=0.5中間范圍的預測排名極為不穩(wěn)定。比如:XGBoost訓練2000輪預測一個樣本排名為2000名,而XGBoost訓練2500輪預測相同樣本則排序在3000名,差距非常大。而這些差距很大的樣本大部分是正樣本。如果通過模型錯判一個信用良好的用戶,將會對現(xiàn)實業(yè)務產(chǎn)生嚴重的影響。所以,如何預測這部分不穩(wěn)定的正樣本,對于整個模型的提升起到重要作用。因此,利用其它的分類器來改進XGBoost不能區(qū)分的一部分,對樣本進行局部的融合。同時訓練XGBoost和線性模型,對XGBoost與線性模型預測結(jié)果相差較大的樣本獨立出來,組成一個小的樣本空間,再對整個小樣本空間進行線性模型訓練預測。將預測結(jié)果認為排序靠近正樣本的TOP K個樣本直接置為正樣本。這樣利用XGBoost與線性模型的分類規(guī)則差距,改善XGBoost不能區(qū)分樣本的結(jié)果。具體算法流程如下:
算法的主要思想為,對兩個模型的用戶信用評估排名進行對比,將線性模型比XGboost排名更加靠前的樣本找出來進行重新訓練。因為線性模型對這部分的用戶樣本評估能力要比XGBoost要好。選擇一定的斜率搜索范圍和常數(shù)項搜索范圍來確定這部分用戶樣本的選擇,通過多個模型的重新訓練與搜索,可以找到最佳的部分用戶劃分方案。從而進行第二層模型的再訓練。由于這種方法涉及到前后兩層模型的訓練與測試,所以是一種堆棧模型。通過上算法,可以根據(jù)訓練樣本的個數(shù)與不均衡的程度來選擇不同的斜率搜索范圍與常數(shù)項搜索范圍,找到最佳的部分樣本的劃分直線。通過實驗結(jié)果可以得到部分融合模型可達到AUROC提升0.003,這個提升對于整體樣本的信用評估提升是非常明顯的。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。