金九銀十,面試你准備好了嗎?金融方向的兄弟們看過來,近期本條會持續更新,不贅述,直接看題:
題目來源:七月在線 - 領先的AI與智能網聯汽車職業教育平台
文末送書福利!
1、芝麻信用分的主要計算維度?
解析:
主要維度
1)個人屬性:職業類型、學歷學籍等
2)穩定性:手機穩定性、地址穩定性、賬戶活躍時長等
3)資產狀況:賬戶資產、有無住房、有無車輛
4)消費能力:消費金額、消費層次、消費場景豐富度
5)社交情況:人脈圈信用度、社交廣度、社交深度
6)信用歷史情況:信用歷史時長、信用履約記錄數、信用履約場景、公共事業繳費記錄
7)違約歷史情況:違約場景數
【金融風控實戰特訓】限時1分秒殺>>>金融風控實戰 特訓[金融就業小班 預習課之一] - 七月在線
2、由於幸存者偏差,導致強變量在后續迭代中逐漸削弱甚至相反,該怎么解決?
解析:
幸存者偏差(SurvivorshipBias)與樣本不均衡(Imbalance Learning)問題都是由於風控模型的拒絕屬性導致的。但表現形式略有不同。幸存者偏差是指,每次模型迭代時,使用的樣本都是被前一個模型篩選過的,從而導致的樣本空間不完備。
其實主要是添加負樣本的問題。簡單一些可以直接用增量學習,效果更好的是遷移學習和半監督學習。比如用GAN網絡產生新樣本,對齊現有樣本和舊的歷史樣本的分布,然后進行建模。
解析2
什么是幸存者偏差效應?
幸存者偏差(Survivorship bias),另譯為“生存者偏差”或“存活者偏差”,是一種常見的邏輯謬誤,意思是只能看到經過某種篩選而產生的結果,而沒有意識到篩選的過程,因此忽略了被篩選掉的關鍵信息。
通俗地說,當我們取得資訊的渠道僅來自於幸存者時(因為死人不會說話),資訊可能與實際情況存在一定的偏差。
這一規律也適用於金融和商業領域。存活下來的企業往往被視為“傳奇”,它們的做法被爭相效仿,而其實有些企業也許只是因為偶然原因而幸存了下來。
幸存者偏差在日常生活也中十分常見,比如:
很多人得出“讀書無用”的結論,是因為看到有些人“沒有好好上學卻仍然當老板、賺大錢”,卻忽略了非常多的因為沒有好好上學而默默無聞,甚至失魂落魄的人;
又比如你可能聽到朋友推薦某個“偏方”說他的親戚用這個偏方治好了重疾,但實際上這個偏方到底治好了多少比例的人,有多少人用了這個偏方沒有痊愈卻沒有人知道……
02
金融風控中的幸存者偏差效應
廣義的幸存者偏差用統計學的專業術語來解釋是——“選擇偏倚”,即我們在進行統計的時候忽略了樣本的隨機性和全面性,用局部樣本代替了總體隨機樣本,從而對總體的描述出現偏倚。
在金融信貸場景中,放款機構會通過模型評分篩選用戶,評分較好的用戶可以獲得放款,評分較差的用戶直接被拒絕,機構只能獲得放款用戶樣本的好壞標簽,對於大量拒絕用戶的還款情況無法獲得。
隨着時間的推移,機構手中的訓練樣本都是“評分較好”的通過用戶,而沒有“評分較差”的拒絕用戶,由此訓練的模型在“評分較好”用戶中表現越來越好,在“評分較差”用戶中卻無法得到任何驗證。
但是,金融風控模型真實面對的客群卻包括了“評分較差”的用戶,模型在“評分較差”用戶中無法得到驗證,導致訓練的模型越來越偏離實際情況,甚至通過了大量應該被拒絕的壞用戶,致使大量壞賬出現,直接帶來巨大經濟損失。
用下圖示意的話,在客戶全集為A的情況下,放款機構僅能通過分析子集幸存者A1的還款與行為數據尋找區分客戶好壞的標簽,但卻不得不把這種標簽推廣應用在包括子集沉默者A2在內的全集上,而從A1取得的好壞標簽在A2中可能並不成立。
因此,當只能獲得優質放款用戶的好壞標簽的情況下,如何保證建模對所有放款用戶和拒絕用戶都有良好的排序能力,是金融風控模型需要解決的重要問題。
03
使用“拒絕推斷”解決幸存者偏差
拒絕推斷(Reject Inference),即推斷建模總體中被拒絕的客戶樣本可能出現的結果。拒絕推斷是建立申請評分模型時的特有問題。如果我們能夠順利運用某些方法成功地推斷出被拒絕的客戶的信用表現(即是好客戶還是壞客戶),那么我們就得到一個較完整的建模總體和建模樣本。
拒絕推斷的方法
● 接受部分壞客戶
解決樣本選擇偏差的最直接有效的方法就是隨機抽取未被授信的客戶,對其進行授信,觀察未來表現。對於這部分客戶加以一定的權重與那些原本被授信的客戶合起來作為模型開發的樣本。
但是這種方法在現實中很難被風險管理部門所接受,因為未被授信的客戶一般被認為存在拖欠行為的可能性較大,對這部分客戶進行授信,風險也往往較高,易帶來損失。
● 兩階段加權的方法
(核心基於諾貝爾獎獲得者Heckman的兩階段模型)
這里先解釋下Heckman的兩階段模型。
Heckman 在1974年發表的《Shadow Price, Market Wages and Labor Supply》(影子價格、市場工資與勞動供給)中研究了工資與教育程度的關系。很顯然,研究者只可能從有工作的人們那兒獲得有關工資的數據。根據這些數據,研究者可以繪制成下圖這樣的分布圖。圖1中W表示工資,X表示受教育程度,可獲得工資數據是圖中的實心點。這樣,我們研究所得到的兩者的關系就如虛線所示。
但是,這個關系是有偏差的。因為有不小比例的人沒有參加工作,對這些人,我們可以了解他的教育程度,卻不知道他一小時可以掙多少錢。一般地,人們是否參加工作取決於實際可得的工資與意願工資,當工資低於意願工資時,人們就會選擇不工作。把不工作這部分人也搬到我們的圖上,其分布就是圖中的空心點。這時,工資與教育程度的關系就是圖中的實線。可以發現,如果只拿實心點研究,得出的結論實際上低估了受教育程度對工資的影響。
在Heckman 1979年發表的另一篇論文《Sample selection bias as a specification error》(樣本選擇偏差導致的設定誤差)中給出了這一問題的具體解決方法。首先,算出不同教育水平的人,參加工作的概率各有多大,這可以通過經驗數據模型得到。然后,刪去不工作之人的樣本,將余留的樣本點依其工作概率的不同,垂直往下位移。工作概率愈小,向下位移愈大;工作概率愈大,向下位移愈小。工作概率百分之百的,不作位移。(下圖,實心點下移到由空心點標示的新位置。)
然后,對位移后的樣本點,求出其回歸線。理論上可以證明,這條回歸線,與第一個圖中標出的真實關系線,應當是一致的(參見圖3)。
回到我們的問題當中,假設被拒絕的申請者行為模式與被授信的申請者行為模式相似,其基本思想是加權被授信的申請者,使得被授信的申請者能夠代表被拒絕的申請者的行為。該方法分為兩個階段。
第一階段,建立一個拒絕/批准模型,用來預測一個申請者被拒絕/批准的概率。然后假設拒絕/批准概率相近的客戶具有近似的風險特征, 因此考慮將拒絕/批准概率分成若干段,每段的好壞賬戶能代表該段內的被拒客戶的特征,因此利用這些好壞賬戶可以推測被拒帳戶中的好壞。
第二階段,為每一個樣本計算出用於修正樣本選擇偏差的權重修正因子,從而建立有權重修正因子的違約預測模型。
具體操作如下:
1
對所有樣本賬戶先構建一個粗略的拒絕/批准模型,其中批准賬戶包括“好賬戶”、“壞賬戶”,據此得到對所有賬戶的預測的拒絕概率。該拒絕/批准模型僅用於加權調整,采用的變量可以放寬。
2
將預測的拒絕概率分成0—0.1, 0.1—0.2,……,0.9—1.0共10段,計算每段的好壞賬戶、拒絕賬戶的個數,計算每段的權重修正因子:(好賬戶數+壞賬戶數+被拒賬戶數)/(好賬戶數+壞賬戶數)。
3
將每段的帳戶的原有權重和該段的權重修正因子相乘,得到新的權重變量,這個新的權重變量用於模型擬合與調整。
下面進行模型的初步擬合——拒絕/批准模型。
拒絕/批准模型的目標變量定義為是否批准申請的二元變量,對開發集中的所有記錄采用逐步Logistic 回歸方法,根據回歸的結果,對所有開發集帳戶進行評估,按照評分值大小排序分成10組,組內每個帳戶的權重設為該組所有帳戶數與組內所有被授信申請者數的比值,獲得加權權重。
利用權重修正因子,對所有被授信申請者采用有加權的逐步回歸方法,經過顯著性檢驗、方向性檢驗、共線性檢驗、穩定性檢驗等步驟,獲得最終的評分模型。使用拒絕推斷模型后,測試集的模型性能從之前的KS=32.67%提高到了KS=35.89%。
04
總 結
在信貸風險管理中,作為信用評分的一類,申請評分具有其特殊性,容易出現幸存者偏差效應。
通過拒絕推斷的方法,可以提高風控模型性能。但是如果采用接受部分壞客戶的方式會給機構帶來潛在的損失,成本高,在操作上也存在難度;而兩階段加權的應用基於統計假設,實踐也證明了其修正樣本選擇偏差的效果,可以有效地提高申請評分模型的預測能力。
解析參考鏈接:http://sohu.com/a/286657141_100224338
3、為什么我們做評分卡的時候要用woe編碼,而不是用別的編碼方式呢?比如onehot之類的,僅僅是因為woe可以把特征從非線性變成線性的嗎?
解析:
因為onehot后高維稀疏,模型學習是有困難的。一般模型會做embedding,但是做了embedding就不可解釋了。 所以用woe來代替。
使用woe編碼通常有以下優點:
1、更好的解釋性,變量離散化之后可將每個箱體映射到woe值,而不是通常做one-hot轉換。
2、woe化之后可以計算每個變量的IV值,可用來篩選變量。
3、對離散型變量,woe可以觀察各個level間的跳轉對odds的提升是否呈線性。
4、對連續型變量,woe和IV值為分箱的合理性提供了一定的依據,也可分析變量在業務上的可解釋性。
5、用woe編碼可以處理缺失值問題。
4、過采樣怎么做效果才會好?
解析:
數據集清洗了嘛,還有特征呈線性了嘛,這兩個不滿足過采樣很難保證效果的,通常xgboost不保證線性也行,但是要用smote最好做一下。
5、深度學習的風控模型,從經驗上看,樣本量大概要多少條啊
解析:
不同的模型不一樣,而且也不光要注意樣本量,比如RNN其實希望序列長度至少在12個月以上,粗略的說,樣本量五十萬以上效果比較好
6、5萬正樣本,200負樣本,B卡,不只是提高額度,會拒絕一部分客戶,怎么建模?
解析:
5萬負樣本是沒有做下采樣的必要的,200正樣本無論用什么方法做過采樣說實話由於自身攜帶的信息量比較少,學習的應該也不是完全的。所以這時候建議先略作改動,評價函數加一項,負樣本的召回率,也就是說這時候不是主要關注KS,而是對負樣本究竟能抓到多少。
然后負樣本學習的時候一定要加權,權重就按照sklearn中邏輯回歸默認的balanced方法就ok,而且如果是我可能生成一個決策樹,把壞賬從0.4%下降到0.12%左右我覺得就蠻好的了
7、對短信打標簽,也就是判斷出短信屬於的標簽是哪一類,這樣一個任務是提取文本關鍵詞的任務吧?
解析:
我建議先確定每個詞對每個類別的貢獻度。簡單來做就是每種類別找幾個詞,手動划分一下有這個詞,就屬於這個類別。復雜一點來做,就訓練個模型,確定每個詞對每種類別的貢獻度,然后對每條記錄做個預測,排名前幾的標簽都給他。
8、為什么說准入規則,pre-A, 反欺詐規則反欺詐引擎,還有風控模型,一般都不會選用相同的特征?因為客戶群體會越來越少么
解析:
基本上每個機器學習模型或多或少都會遇到我們這種問題。我們一般是不會用相同的特征做重復篩選的。這樣會導致樣本偏移更嚴重。
就是說,被拒絕的人,是由於某些特征表現差,被拒絕的,那隨着時間推移,下次建模的樣本里面,就沒有這些人了...這些這些特征上的樣本分布就變了。
9、在ks上訓練集和測試集相差不大,但在auc上卻相差較大,這是為啥?
解析:
下圖中兩條紅線分別表示訓練集和測試集KS的差距,看起來兩者是差不多的,曲線下的面積表示的是兩者的AUC值,很明顯兩者的AUC差的就很多了,由於ks值能找出模型中差異最大的一個分段,因此適合用於cut_off,像評分卡這種就很適合用ks值來評估。但是ks值只能反映出哪個分段是區分最大的,而不能總體反映出所有分段的效果,因此AUC值更能看出總體的效果。
解析2
下面詳細說明下AIC和KS的關系
左圖是KS曲線,紅色的是TPR曲線(累計正樣本占比),藍色的是FPR曲線(累計負樣本占比)。由於按照正樣本預測概率降序排列,所以排在前面的樣本為正的概率更大,但為正的概率是遞減的;相反排在前面的樣本為負的概率更小,但為負的概率遞增。所以KS圖中,TPR曲線在FPR曲線上方,並且TPR曲線的導數遞減,FPR曲線的導數遞增,而KS曲線先上升到達峰值P點(導數為0)后下降,P點對應的C值就是KS值。ROC圖中,ROC曲線的導數是遞減的,且剛開始導數大於1,逐漸遞減到導數為1的T點(T點對應P點),然后導數繼續降低。另外,A值對應X值,B值對應Y值,且C=B-A=Y-X
在用KS評估模型時,除了看P點對應的KS值C,還要看P點的橫坐標F值的大小,F值表示的是將分數從低到高排序后的累計樣本占比,F值越小,說明模型對正樣本的預測越精確,也就是說在識別出正樣本的同時也能保證對負樣本更小的誤殺率。
假設F值不變,C值增大,即P點沿着垂直方向向上移動,那么A值應該減小,B值應該增大;對應地,X值減小,Y值增大,T點會向左上角移動;所以ROC曲線下方的面積會增大,也就是AUC值增大。
假設C值不變,F值減小,即P點沿着水平方向向左移動,因為C=B-A,所以A和B減小相同的幅度,也是就說X和Y減小相同的幅度,即T點沿着斜率為1的切線方向向下移動,此時ROC曲線下方的面積也會增大,即AUC值增大。
所以P點的位置決定了T點的位置,C值和F值均會影響AUC值。AUC值看上去更像一個綜合評估指標,但缺乏對模型細節的評估。而KS值結合F值,可以評估每一段評分的效果,還可以找出評分切分的閾值等。
參考解析鏈接:https://zhuanlan.zhihu.com/p/56175215
10、 在xgboost或者lightgbm建模之前是否進行相關性處理,去掉相關性較高的變量?
解析:
需要
lr中我們是為了對向量空間描述的最好。
在xgb主要是想去掉相互替代性較強的特征。比如一個特征給他找相關性特別強的9個特征放在模型里面,存成不同的名字,你會發現他本來重要性是10,每划分一次,一個特征就比另一個好用那么一點,這么弄了之后十個特征的重要性都變成了1,然后被我們用feature_importance>5給篩掉了......這多尷尬。
太多共線性特征的存在確實會使得模型的泛化性能下降,當然,這里指的是“過多”,如果是很少量共線性特征存在其實對於模型影響很輕微,但是如果存在大量共線性特征,尤其是比賽的時候暴力的特征衍生,會產生相當多相關性很高的特征,從而導致gbdt在訓練的過程中重復采樣相關性很高的特征,使得模型的效果變差,具體可見kaggle_ieee的kris分享的方案,通過刪除大量冗余的V特征,local cv上升了千五,b榜上漲千4(事后分別測試的)。
參考:https://zhuanlan.zhihu.com/p/105094131
11、請簡單說下金融風控的架構知識?
解析:
見思維導圖。
12、xgb變量重要性用哪一個指標?
解析:
1、通常我會直接用weight,他們篩選出的變量略有區別,但是使用下來區別主要在於重要性最低的那幾個可以互相替代的特征,具體用誰其實並不重要。經驗告訴我們total_gain效果可能會略好。
2、是的,xgb篩選特征,然后用新的特征建模,但是通常不建議篩選后還用xgb建模,這不符合模型融合的策略。
3、xgb其實是沒法解釋的,如果希望有邏輯回歸的可解釋度,建議相同數據、相同變量,帶入lr建立一個陪跑的模型,尋求解釋的時候去lr中找原因。特征相同的前提下,不會有太大出入的。
4、xgb篩選特征可以理解為用均方差最小來做特征篩選,和IV、WOE屬於同一種篩選方式,,描述的都是特征對分類任務的貢獻度,一般用一個就行了,每個人的方法都不一樣,見仁見智。
13、做風控模型時用到了哪些數據源?
解析:
征信數據運營商數據埋點數據平台自有數據用戶手填數據數據有很多,每家都各有不同,小心點也可能問你數據來自哪家平台哦。ps:見過很多小型公司都喜歡用運營商數據,因為便宜,很多都是免費的。
下面舉個詳細的例子:
1、反欺詐模型:
身份信息四要素驗證(准入要求:一致) 手機在網時長驗證(准入要求:長於一年) 家庭地址核驗(准入要求:一致)
學歷信息核驗(准入要求:一致)
社保信息核驗(准入要求:一致)
夫妻核驗(准入要求:一致)
緊密聯系人核驗(准入要求:聯系人無失信等黑名單信息)
通話類 :通話活躍天數、短信活躍天數、充值次數、通話次數、通話號碼數目、通話號碼歸屬地總數、主叫次數、被叫次數、主叫號碼數、被叫號碼數、短信次數、通話時長、主叫時長、被叫時長、流量套餐、流量套餐使用量、平均時長、無呼出天數、無呼出天數占比、無通話天數、無通話天數占比、最大連續開機天數、關機天數、關機天數占比、連續n天以上關機次數、單次通話最長時長、單次通話最短時長、時長在1分鍾內的通話次數、時長在1分-5分內的通話次數、時長在5分-10分內的通話次數、時長在10分以上的通話次數、白天(7:00-0:00)通話次數、夜晚(0:00-7:00)通話次數、白天(7:00-0:00)通話時長、夜晚(0:00-7:00)通話時長、本機號碼歸屬地通話次數、本機號碼歸屬地以外通話次數、本機號碼歸屬地通話時長、本機號碼歸屬地以外通話時長。
黑名單( 黑名單命中數量、黑名單機構匯報數量、手機號擊中黑名單、身份證號碼擊中黑名單、黑名單種類、直接聯系人黑名單數量、身份證與其他姓名組合個數、身份證與其他手機號組合個數、灰度值、主動聯系黑名單個數、被動聯系黑名單個數、引起黑名單一級聯系人個數、一級聯系人引起黑名單百分比)
設備指紋:7天內(以及1個月、3個月)同設備關聯較多注冊(IP注冊、手機號)。具體根據產品設定准入標准。(7天、1個月、3個月)同手機號關聯較多出現(設備出現、IP出現) 。具體根據產品設定准入標准。10分鍾(及1小時內、1天內、7天內)同設備操作極多、10分鍾(及1小時內、1天內、7天內)同手機號操作極多、10分鍾(及1小時內、1天內、7天內)同IP操作次數。具體根據產品設定准入標准。
多頭借貸:查詢機構數量、查詢總次數、一周內查詢次數、兩周內查詢次數、1個月內查詢次數、2個月內查詢次數、3個月內查詢次數、4個月內查詢次數、5個月內查詢次數、6個月內查詢次數、注冊貸款機構數量、貸款申請和拒絕次數、貸款放款總次數、貸款逾期次數、貸款逾期欠款金額區間。
2、信用評分模型變量策略:
年齡、學歷、性別、地域、職業收入區間、工作時間、婚姻情況、貸款用途、工作地經濟水平、家庭地經濟水平、工作穩定性、是否有房(房產價值)、是否有車(車輛價值)、社保金額、公積金金額
征信查詢次數:近一個月、三個月、六個月。人行征信貸款類變量 信用卡變量等5000多個變量。
銀聯卡(390個維度):工資卡、信用卡的390個維度數據。芝麻信用分。
多頭借貸:近三個月內多頭查詢次數、最長三筆的注冊時間與申請時間差、最長三筆的申請時間與放款時間差、申請總金額與放款總金額差、放款總金額、放款筆數、駁回筆數、駁回比率、逾期筆數、逾期總金額
平均每月還款能力計算(利潤-每期還款額)
資產總額減去負債總額
異地漫游指數、夜間活躍度、職業畫像、手機一周瀏覽偏好(金融理財類APP操作指數、貸款類APP操作指數、新聞數、直播短視頻類操作指數、視頻網站操作指數、外賣類操作指數、地圖類操作指數、微信類操作指數、淘寶天貓操作指數、其它社交類操作指數、京東操作指數、其它電商操作指數、地圖類操作指數、招聘類操作指數、市內出行類操作指數、旅行類操作指數、炒股類操作指數、游戲類操作指數、教育類操作指數、育兒類操作指數)、實時多頭借貸指數、特殊畫像(賭和毒等)
參考:https://zhuanlan.zhihu.com/p/95803900
14、金融風控中如何標記客戶好壞的?
解析:
可以說遷徙率,也可以說逾期天數作為標記好壞的依據,因為本身樣本不均衡,會偏向擴充壞人的數量(比如以pd1來標記好壞,壞人肯定比pd15會多很多),注意很多公司建模的時候,去除一部分灰色客戶(比如去掉pd1~pd5的客戶)
15、連續型特征的badrate呈U型,怎么轉化為單調?
解析:
將特征值轉化成中值差值的絕對值,這樣就可以使該特征的badrate呈現單調遞減的趨勢。
16、金融風控領域中的bivar圖是怎樣的?
解析:
橫軸為特征升序,縱軸為badrate的變化趨勢。
17、分箱后,各箱badrate單調遞增從業務上怎么理解呀?
解析:
我們有個先驗知識,多頭越多badrate越大,歷史逾期越多badrate越大...等等,如果變量分箱后不符合這個先驗,可能就把他剃掉了。
Bad Rate:
壞樣本率,指的是將特征進行分箱之后,每個bin下的樣本所統計得到的壞樣本率
bad rate 單調性與不同的特征場景:
在評分卡模型中,對於比較嚴格的評分模型,會要求連續性變量和有序性的變量在經過分箱后需要保證bad rate的單調性。
1. 連續性變量:
在嚴格的評分卡模型中,對於連續型變量就需要滿足分箱后 所有的bin的 bad rate 要滿足單調性,只有滿足單調新的情況下,才能進行后續的WOE編碼
2. 離散型變量:
離散化程度高,且無序的變量:
比如省份,職業等,我們會根據每個省份信息統計得到bad rate 數值對原始省份信息進行編碼,這樣就轉化為了連續性變 量,進行后續的分箱操作,對於經過bad rate編碼后的特征數據,天然單調。
只有當分箱后的所有的bin的bad rate 呈現單調性,才可以進行下一步的WOE編碼
離散化程度低,且無序的變量:
比如婚姻狀況,只有四五個狀態值,因此就不需要專門進行bad rate數值編碼,只要求出每個離散值對應的bin的bad rate比例是否出現0或者1的情況,若出現說明正負樣本的分布存在極端情況,需要對該bin與其他bin進行合並, 合並過程完了之后 就可以直接進行后續的WOE編碼
有序的離散變量:
對於學歷這種情況,存在着小學,初中,高中,本科,碩士,博士等幾種情況,而且從業務角度來說 這些離散值是有序的, 因此我們在分箱的時候,必須保證bin之間的有序性,再根據bad rate 是否為0 或者1的情況 決定是否進行合並,最終將合並的結果進行WOE編碼
因此bad rate單調性只在連續性數值變量和有序性離散變量分箱的過程中會考慮。
bad rate要求單調性的原因分析:
1. 邏輯回歸模型本身不要求特征對目標變量的單調性。之所以要求分箱后單調,主要是從業務角度考慮,解釋、使用起來方便一點。如果有某個(分箱后的)特征對目標變量不單調,會加劇模型解釋型的復雜化
2. 對於像年齡這種特征,其對目標變量往往是一個U型或倒U型的分布,有些公司/部門/團隊是允許變量的bad rate呈(倒)U型的。
原文鏈接:https://blog.csdn.net/shenxiaoming77/article/details/79548807
18、請問回歸決策樹針對離散變量使用,是否先轉成one-hot?否則1)如果是沒轉碼的字符變量,直接報錯;2)如果轉成數值,就會把我們的編碼,當做連續變量進行回歸處理?
解析:
正常是要做onehot,但是特征高緯稀疏,還需要做embedding,這樣就沒有解釋性了,所以個人建議可以做WOE,或者按照每個取值的badrate做一個排序然后labelencoder
19、在進行特征篩選時,A和B相關性強,B和C相關性強,這種情況去除哪個變量?
解析:
去掉VIF最大的或者重要性最低的。
20、實際分箱過程中如果用等頻分箱,怎么使得每箱都有好壞樣本,保證后面計算WOE有意義?
解析:
等頻分箱之后,每一箱壞樣本占比不同才有趨勢呀,主要還是看趨勢,也就是說等頻分箱后,要在根據好壞樣本占比來合並初始的分箱,手動合並的話一般保持單調趨勢就行了,自動的話,可以考慮把相鄰兩箱IV值的差,小於某個閾值則合並為一箱
21、分箱法的主要目的?
解析:
由於分箱方法考慮相鄰的值,因此是一種局部平滑方法。分箱的主要目的是去噪,將連續數據離散化后,特征會更穩定。
一般在建立分類模型時,需要對連續變量離散化,特征離散化后,模型會更穩定,降低了模型過擬合的風險。比如在建立申請評分卡模型時用logsitic作為基模型就需要對連續變量進行離散化,離散化通常采用分箱法。離散特征的增加和減少都很容易,易於模型的快速迭代;
稀疏向量內積乘法運算速度快,計算結果方便存儲,容易擴展;
離散化后的特征對異常數據有很強的魯棒性:比如一個特征是年齡>30是1,否則0。如果特征沒有離散化,一個異常數據“年齡300歲”會給模型造成很大的干擾;
邏輯回歸屬於廣義線性模型,表達能力受限;單變量離散化為N個后,每個變量有單獨的權重,相當於為模型引入了非線性,能夠提升模型表達能力,加大擬合;
離散化后可以進行特征交叉,由M+N個變量變為M*N個變量,進一步引入非線性,提升表達能力;
特征離散化后,模型會更穩定,比如如果對用戶年齡離散化,20-30作為一個區間,不會因為一個用戶年齡長了一歲就變成一個完全不同的人。當然處於區間相鄰處的樣本會剛好相反,所以怎么划分區間是門學問;
特征離散化以后,起到了簡化了邏輯回歸模型的作用,降低了模型過擬合的風險。
可以將缺失作為獨立的一類帶入模型。
將所有變量變換到相似的尺度上。
參考:https://blog.csdn.net/mydear_11000/article/details/82081088
22、模型的ks和auc有多少可以上線了?一般訓練集和測試集之間的ks和auc相差多少算是比較合理的呢?
解析:
KS至少20%,不然和瞎猜沒啥區別。業內都認為訓練集和測試集之間的KS相差5個百分點以內才算沒有明顯過擬合。
23、如何評估外部第三方數據?
解析:
對於一個放款機構來說,當自有數據不足以滿足風控需求時,會引入外部的第三方數據來提升自己的風控水平,所以該如何評估新的數據源是否可用呢?本篇文章會圍繞這個問題進行詳細講解,主要分為線下數據評估,線上數據測試,線上數據監控三個部分。
一. 線下數據評估
這里我會按線下數據評估的流程,結合自己平時的工作經驗來寫。
接入外部數據的目的
首先,外部的數據源可以大致分為四類:黑名單類,評分類,變量類,原始數據類
外部數據的接入一開始主要由商務跟第三方進行接洽溝通,所以風控人員應該把接入數據的目的傳達給商務,商務才能根據目的找到合適的第三方數據公司。一般有以下幾個目的:
- 用於優化現有的模型,一般會考慮接入變量類和原始數據類
- 用來設計策略,一般會接入黑名單類,評分類的數據
- 豐富用戶畫像的維度,這種數據能反映用戶的某些屬性,一般考慮原始數據類
2.提供線下測試樣本
根據接入目的的不同,測試樣本也會稍有差異,比如為了優化現有模型,就最好提供建模時所用的數據樣本。但大致上測試樣本需滿足以下幾點:
- 連續一段時間內的樣本,可以評估數據的穩定性
- 最好是近段時間的樣本,這樣線下評估結果與線上實際效果差距不會太大
- 其他特殊條件,如覆蓋不同的產品和客群
- 另外考慮到第三方那測試的成本,樣本能測試的數量,能測試幾次,這點需要商務那邊去溝通好。
3. 了解數據含義和構成
一般第三方會返回數據的詳細產品報告,風控人員從中需要了解數據的底層邏輯和構成,了解數據背后的業務含義,這方面可以和第三方的人員進行不斷的溝通。
4.數據分析評估
線下的數據評估一般會考量以下幾個方面:
查得率,就是提供的樣本在第三方那能命中多少用戶
覆蓋率,一般指的是特征的缺失概率
稀疏性,代表數據富含信息的程度
穩定性,一般計算時間序列上的PSI
有效性,好壞樣本的區分程度,IV和KS比較常用,也可以把特征帶入模型,評估對模型的提升效果
可解釋性,數據的業務含義是否容易解釋
與現有數據的共線性,一般用相關系數衡量
數據的接入成本,這個需要考慮到接入數據后,增加的利潤能不能覆蓋掉支出的數據成本
另外不同種類的數據源考量的東西也不一樣:
黑名單類一般用在反欺詐環節,所以主要考慮到“命中率“和”准確率“,即命中的用戶逾期概率比較高。
評分類一般用作策略和模型,主要考量“缺失率”,“穩定性”,“有效性”,如果評分的排序性好且IV比較高,則考慮入模,如果評分有明顯的尾部極端優勢,那適合做策略,用來攔截掉極端的壞用戶。
變量類考量的東西和評分類差不多,但會考慮到變量和現有數據的共線性,以及在效果上的重疊性。
原始數據一般是爬蟲類的數據,目前在監管趨嚴的情況下,數據的合規性是首先要考慮的,另外原始數據需要在特征衍生之后才能評估數據的價值。
二. 線上數據測試
因為線下評估用的數據是線上回溯的歷史數據,而在實際情況中,線上與線下的數據存在一定差異,並且客群和市場環境也在不斷變化,所以需要線上數據測試來評估外部數據在真實應用中的效果。筆者在工作中用到的主要是模擬測試和切分流量的AB-Test。
模擬線上測試
將接入的數據配置成策略,放在真實環境中“試運行”,記錄每天的數據分布,通過率等指標,將線上與線下的結果進行比對是否一致。
2. AB-Test
當策略試運行的結果還不錯時,可以將一部分的流量(用戶)切到新策略中,將現有策略和新策略進行比較,計算策略的通過率,准確率等。
三. 線上數據監控
當外部數據上線之后,需要有一套標准的數據監控體系,觀察數據的變化,及時發現異常問題。監控的東西主要有接口的調用情況,數據的覆蓋率,穩定性等。
解析參考鏈接:https://www.zhihu.com/people/yu-xin-xin-57/posts
24、簡單描述一下風控建模的流程?
解析:
前期准備工作:不同的模型針對不同的業務場景,在建模項目開始前需要對業務的邏輯和需求有清晰的理解,明確好模型的作用,項目周期時間和安排進度,以及模型效果的要求。
模型設計:包括模型的選擇(評分卡還是集成模型),單個模型還是做模型的細分,是否需要做拒絕推論,觀察期,表現期的定義,好壞用戶的定義,數據的獲取途徑等都要確定好。
數據拉取及清洗:根據觀察期和表現期的定義從數據池中取數,並進行前期的數據清洗和穩定性驗證工作,數據清洗包括用戶唯一性檢查,缺失值檢查,異常值檢查等。穩定性驗證主要考察變量在時間序列上的穩定性,衡量的指標有PSI,平均值/方差,IV等。
特征工程:主要做特征的預處理和篩選,如果是評分卡,需要對特征進行離散化,歸一化等處理,再對特征進行降維,降維的方法有IV篩選,相關性篩選,顯著性篩選等。另外會基於對業務的深入理解做特征構造工作,包括特征交叉,特征轉換,對特征進行四則運算等。
模型建立和評估:選擇合適的模型,像評分卡用邏輯回歸,只需要做出二分類預測可以選擇xgboost等集成模型,模型建好后需要做模型評估,計算AUC,KS,並對模型做交叉驗證來評估泛化能力及模型的穩定性。
模型上線部署:在風控后台上配置模型規則,對於一些復雜的模型還得需要將模型文件進行轉換,並封裝成一個類,用Java等其他形式來調用。
模型監控:前期主要監控模型整體及變量的穩定性,衡量標准主要是PSI,並每日觀察模型規則的拒絕率與線下的差異。后期積累一定線上用戶后可評估線上模型的AUC,KS,與線下進行比較,衡量模型的線上的實際效果。
25、feature_importance 和 iv有時候選出的變量差別很大,該以哪個為准,怎么判別 ?
解析:
個人感覺IV和目標函數的關系更大,但是一半用IV做初篩,iv很低,不用進模型,但是IV是單個變量的作用,而feature_importance有一個特征組合效應在里面。我個人是這么理解的。所以按理也可以推出,不一定是選IV最高的變量組合在一起就一定能夠ks最高,而是特征組合在一起綜合效應最高的才是KS能夠達到最高的。
↓↓↓福利!福利!福利↓↓↓
了解七月在線的的小伙伴應該知道2019年七月在線出了兩本書《名企AI面試100題》和《名企AI面經100篇》,反響很好,助力數千人拿到dream offer。今年我們又整理出了兩本書《2021年最新大廠AI面試題》、《機器學習十大算法系列》,七月在線學員拿到書后反響不錯。為了讓更多AI人受益,七仔現把電子版免費送給大家。
↓ ↓ ↓以下4本書,電子版免費送 ↓ ↓ ↓
《2021年最新大廠AI面試題》、《機器學習十大算法系列》、《名企AI面試100題》及《名企AI面經100篇》無套路,免費取!
需要的小伙伴評論區發書名,看到后發你。
喜歡這樣的福利請三連,三連,你的鼓勵是七仔 繼續申請福利 持續輸出的不竭動力!