一?模型方法
(1)LR-邏輯回歸,線性回歸原理一樣。
Sigmoid函數(shù):公式如下,作用就是把Y轉(zhuǎn)換成0-1之間(逾期)的概率。
f(x)=1/(1+exp(-x))
優(yōu)點(diǎn):容易解釋,傳統(tǒng)銀行、discover 、capital one這些老牌的,目前A卡只用LR。
缺點(diǎn):容易欠擬合,沒辦法捕捉到非線性關(guān)系;對(duì)變量過于敏感,需要做很多特征處理,如特征歸一化,特征異常值處理。
Q:LR怎么優(yōu)化去捕捉到非線性關(guān)系?
A:(1)衍生變量:是否缺失,是否是0,特征平方/開方(2)特征之間的interaction就是構(gòu)造變量X1*X2
補(bǔ)充:特征歸一化就是變成0-1內(nèi),保持?jǐn)?shù)據(jù)量綱一致,0-max、min-max,0-95(這個(gè)用的多,因?yàn)轫槺惝惓V狄步o處理了)...方法都可以。
(2)集成學(xué)習(xí)Ensemble Learning,就是模型融合
就是三個(gè)臭皮匠頂個(gè)諸葛亮,把一群弱分類器結(jié)果組合一起,又有很多方法。
Bagging:樣本又放回的采樣,隨機(jī)森林(Random
Forest,簡(jiǎn)稱RF)是Bagging典型一種,就是每次抽樣本跑一個(gè)弱的分類器,多個(gè)分類器投票決定最終結(jié)果。
Boosting:就是下一輪樹基于上一輪結(jié)果優(yōu)化。Adaboost對(duì)上一輪樣本優(yōu)化,對(duì)上一輪分類分錯(cuò)的樣本加權(quán)重,下一輪重點(diǎn)學(xué)習(xí)。GDBT(Gradient Boosting Decision Tree)每個(gè)子模型是根據(jù)已訓(xùn)練出的學(xué)習(xí)器的性能(殘差)訓(xùn)練出來的,下一輪樹擬合上一輪的殘差,原理就是要最快到達(dá)終端,那就找梯度(斜率),沿著負(fù)梯度方向走。xgboost是陳天奇大牛新開發(fā)的Boosting庫(kù),和GBDT差不多,好在處理速度(算法層面加了block存儲(chǔ)中間過程重復(fù)利用)和防治過擬合(在代價(jià)函數(shù)里加入了正則項(xiàng),用于控制模型的復(fù)雜度)。
(3)LR+GBDT
來源:Practical Lessons from Predicting Clicks on Ads at Facebook
http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=A54CCA7D4A8F05B6636C9D64316BCF96?doi=10.1.1.718.9050&rep=rep1&type=pdf
二 特征工程
衍生變量:
按照時(shí)間衍生,近XXX小時(shí)/天/月維度。工作時(shí)間/I休息時(shí)間?瀏覽/登陸/購(gòu)
(2)分類變量處理常用方法。
one-h(huán)ot,比如性別有倆值sex:male? sex:feamle,one-h(huán)ot轉(zhuǎn)化就是sex_male:1和sex_female:1。缺點(diǎn):分類太多就會(huì)稀疏 ,信息損失。
按照業(yè)務(wù)意義處理,如年齡分?jǐn)啵瑫r(shí)間點(diǎn)分工作時(shí)間 休息時(shí)間
(3)Woe轉(zhuǎn)化:對(duì)訓(xùn)練集計(jì)算woe,
把這個(gè)變量進(jìn)行分組處理(也叫離散化、分箱),使用分箱的woe代替原始特征值。
WOE=ln(好客戶占比/壞客戶占比)×100%=優(yōu)勢(shì)比
woe轉(zhuǎn)換并不一定能顯著提高模型質(zhì)量,但是可以反映變量貢獻(xiàn)度,標(biāo)準(zhǔn)化,對(duì)異常值不敏感。合作建模時(shí)候避免原始數(shù)據(jù)泄露(很多合作建模方都會(huì)用woe不給原始數(shù)據(jù))。
(4)特征篩選
覆蓋度:特征類別整體覆蓋度,各個(gè)月份變動(dòng)較大或者覆蓋率整體較低則剔除
IV:?jiǎn)蝹€(gè)特征IV大于0.03。補(bǔ)充IV和woe的區(qū)別:第一個(gè)原因,當(dāng)我們衡量一個(gè)變量的預(yù)測(cè)能力時(shí),我們所使用的指標(biāo)值不應(yīng)該是負(fù)數(shù)。第二個(gè)原因:體現(xiàn)出了變量當(dāng)前分組中個(gè)體的數(shù)量占整體個(gè)體數(shù)量的比例,對(duì)變量預(yù)測(cè)能力的影。
補(bǔ)充:WOE=ln(好客戶占比/壞客戶占比)×100%=優(yōu)勢(shì)比
IV=ln(好客戶占比/壞客戶占比)×(好客戶占比-壞客戶占比)
和咱們以前算的lift表達(dá)差不多。
特征穩(wěn)定性:各個(gè)特征分布值按照month/week維度來看,均值、或空值、0值、最大值不穩(wěn)定,變動(dòng)幅度較大
使用模型篩選:GBDT具備特征篩選功能,使用gbdt在參數(shù)較小 樹深不超過3 樹個(gè)數(shù)不超過200情況下,入模特征
隨機(jī)數(shù):增加5-10隨機(jī)數(shù),使用gbdt建模,對(duì)入模特征中,處于隨機(jī)數(shù)之下的特征剔除。可以加入部分人工調(diào)節(jié)保留部分隨機(jī)數(shù)之下的特征
三 防止過擬合
(1)模型復(fù)雜度:樹模型最重要的樹深和樹的顆數(shù),單棵數(shù)的復(fù)雜度,學(xué)習(xí)率、Col——sample(每一棵子樹選取部分特征)和subsample(每一棵子樹選取部分樣本),也就是行抽樣和列抽樣。
(2)正則化:典型的做法在優(yōu)化目標(biāo)中加入正則項(xiàng),通過懲罰過大的參數(shù)來防止過擬合。就是在損失函數(shù)上加上這個(gè)東西。。alpha||w||,alpha是一個(gè)可調(diào)的參數(shù),控制著正則化的強(qiáng)度。有L1正則化和L2正則化。使用L1正則化的模型叫做Lasso回歸;使用L2正則化的模型叫做Ridge回歸(嶺回歸),差別是L1懲罰項(xiàng)是以W絕對(duì)值為目標(biāo),L2是平方和,L1更容易使參數(shù)變成0,因此成為一種很好的特征選擇方法。哪個(gè)效果好根據(jù)實(shí)際場(chǎng)景去試。? ? ??
四 特征共線性
(1)知道vif
方差膨脹因子(Variance
Inflation Factor,VIF):是指解釋變量之間存在多重共線性時(shí)的方差與不存在多重共線性時(shí)的方差之比。容忍度的倒數(shù),VIF越大,顯示共線性越嚴(yán)重。經(jīng)驗(yàn)判斷方法表明:當(dāng)0<VIF<10,不存在多重共線性;當(dāng)10≤VIF<100,存在較強(qiáng)的多重共線性;當(dāng)VIF≥100,存在嚴(yán)重多重共線性
(2)解決
特征相關(guān)系數(shù)比如皮爾森相關(guān)系數(shù),剔除一個(gè)
PCA 主成分分析降維
逐步回歸法
正則化:懲罰項(xiàng)系數(shù)C的增大,共線性的影響將越來也小。如上L1和L2正則法
五 FICO轉(zhuǎn)化的方法
預(yù)測(cè)的0-1概率分轉(zhuǎn)換成好理解的信用分。
fico_score = int(ai - round(bi *math.log(score / (1 - score))))
其中score為預(yù)測(cè)樣本的P值,通過ai 和bi調(diào)節(jié)分?jǐn)?shù)分布
ai?odds為1時(shí)候分布? bi odd翻倍,打分增加
https://www.worldprogramming.com/blog/credit_scoring_development_pt1