版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Python應(yīng)用:貸款違約預(yù)測核心知識包括:單變量Logistic回歸、多變量Logistic回歸;變量篩選、逐步Logistic回歸;決策樹建樹、剪樹、Quinlan系列決策樹和CART決策樹;ID3算法及C4.5算法;決策樹可視化;貸款違約預(yù)測Logistic模型、違約概率;貸款違約預(yù)測決策樹模型。CONTENTS目錄5.1 Logistic回歸5.1.1 Logistic函數(shù)5.1.2 Logistic回歸模型5.1.3 應(yīng)用Logistic模型預(yù)測銀行貸款違約5.2 決策樹5.2.1 信息增益5.2.2 信息增益率5.2.3 基尼指數(shù)5.2.4 決策樹的剪枝5.2.5 應(yīng)用決策樹建模預(yù)測銀行貸款違約貸款違約預(yù)測是風(fēng)險(xiǎn)管理領(lǐng)域常見的問題之一,因變量取違約或者不違約,適合用Logistic回歸或者決策樹方法處理。logistic回歸是一種廣義的線性回歸分析模型,常用于數(shù)據(jù)挖掘,疾病自動診斷,經(jīng)濟(jì)預(yù)測等領(lǐng)域。決策樹是一種機(jī)器學(xué)習(xí)的方法,是一種樹形結(jié)構(gòu),其中每個(gè)內(nèi)部節(jié)點(diǎn)表示一個(gè)屬性上的判斷,每個(gè)分支代表一個(gè)判斷結(jié)果的輸出,最后每個(gè)葉節(jié)點(diǎn)代表一種分類結(jié)果,生成算法有ID3,C4.5和C5.0等。01PARTONE5.1 Logistic回歸Logistic回歸屬于概率型非線性回歸,分為二分類和多分類的回歸模型。對于二分類的Logistic回歸,因變量只有“是、否”兩個(gè)取值,記為1和0。假設(shè)當(dāng)自變量為
,
取“是”的概率為
,則取“否”的概率為
。0102035.1 Logistic回歸5.1.1 Logistic函數(shù)5.1.2 Logistic回歸模型5.1.3 應(yīng)用Logistic模型預(yù)測銀行貸款違約5.1.1 Logistic函數(shù)Logistic回歸中因變量取值只有1-0(是或否、發(fā)生或不發(fā)生)。假設(shè)自變量
作用下,記
取1的概率是
,取0概率是
。取1和0的概率之比為
,稱為事件的優(yōu)勢比(odds),對odds取自然對數(shù)即得Logistic變換:令
,則
即為Logistic函數(shù)。當(dāng)
在(0,1)之間變化時(shí),odds的取值范圍是
,則
的取值范圍是
。5.1.2 Logistic回歸模型模型為:因?yàn)?/p>
的取值范圍是
,因此自變量
可在任意范圍內(nèi)取值。記
,得到:其中
:在沒有自變量,即
全部取0,
與
發(fā)生概率之比的自然對數(shù);
:某自變量
變化時(shí),即
與
相比,
優(yōu)勢比的對數(shù)值。5.1.3
案例分析以下是一份銀行貸款違約數(shù)據(jù)(截取部分),擬使用Logistic模型預(yù)測銀行貸款違約情況;其中因變量y代表是否違約,是個(gè)二分變量,取值為1表示違約,0表示不違約。自變量分別為:x1表示貸款人年齡;x2表示教育水平;x3表示工齡;x4表示貸款人地址;x5表示收入;x6表示負(fù)債率;x7表示信用卡負(fù)債;x8表示其他負(fù)債。5.1.3 案例分析1.準(zhǔn)備工作首先引入所需要的包:導(dǎo)入數(shù)據(jù):將數(shù)據(jù)集隨機(jī)劃分為訓(xùn)練集合測試集,其中訓(xùn)練集用于模型的訓(xùn)練,測試集用于檢驗(yàn)?zāi)P停航Y(jié)果分析:
訓(xùn)練集樣本量:560測試集樣本量:140隨機(jī)抽樣設(shè)置的訓(xùn)練集與測試集樣本大致比例為8:2。importnumpyasnpimportpandasaspdimportstatsmodels.apiassmimportstatsmodels.formula.apiassmffilename=r'C:\Users\LENOVO\Desktop\example\Linear22.xlsx'data=pd.read_excel(filename)print(data.head())train=data.sample(frac=0.8,random_state=12345).copy()test=data[~data.index.isin(train.index)].copy()print('訓(xùn)練集樣本量:%i\n測試集樣本量:%i'%(len(train),len(test)))5.1.3 案例分析2.
單變量Logistic回歸我們首先使用單自變量建立一元Logistic模型,代碼如下:結(jié)果分析:可以看到,當(dāng)僅使用x6進(jìn)行Logistic回歸時(shí),使用summary可以查看模型的基本信息、參數(shù)估計(jì)及檢驗(yàn)??梢钥吹絰6的系數(shù)為0.1310,P值顯著?;貧w方程為:其中x6代表負(fù)債率,代表違約概率。(2)式除以(1)式,
即,負(fù)債率越高,每增加一個(gè)單位后的違約發(fā)生比是原違約發(fā)生比的1.14倍。其他的單變量也可以類似分析。GeneralizedLinearModelRegressionResults==================================================Dep.Variable:yNo.Observations:560Model:GLMDfResiduals:558ModelFamily:BinomialDfModel:1LinkFunction:logitScale:1.0000Method:IRLSLog-Likelihood:-282.51Date:Wed,30Jun2021Deviance:565.03Time:21:57:20Pearsonchi2:555.No.Iterations:4CovarianceType:nonrobust==================================================coefstderrzP>|z|[0.0250.975]------------------------------------------------------------------------------Intercept-2.50850.216-11.6030.000-2.932-2.085x60.13100.0168.3450.0000.1000.162==================================================formula='''y~x6'''lg=smf.glm(formula=formula,data=train,family=sm.families.Binomial(sm.families.links.logit)).fit()print(lg.summary())5.1.3 案例分析3.
多變量Logistic回歸接下來考慮引入全部自變量的多元Logistic回歸:結(jié)果分析:可以看到,x3,x4,x6,x7比較顯著,而其他變量不顯著??梢詣h除不顯著的變量。也可以使用變量篩選方法:向前法、向后法或逐步法。篩選的原則一般選擇AIC、BIC或者P值。GeneralizedLinearModelRegressionResults==================================================Dep.Variable:yNo.Observations:560Model:GLMDfResiduals:551ModelFamily:BinomialDfModel:8LinkFunction:logitScale:1.0000Method:IRLSLog-Likelihood:-227.13Date:Thu,01Jul2021Deviance:454.27Time:15:25:37Pearsonchi2:559.No.Iterations:6CovarianceType:nonrobust==================================================coefstderrzP>|z|[0.0250.975]------------------------------------------------------------------------------Intercept-1.25290.686-1.8260.068-2.5970.092x10.01380.0200.7010.483-0.0250.053x20.14420.1341.0740.283-0.1190.407x3-0.22870.035-6.4530.000-0.298-0.159x4-0.08780.025-3.4530.001-0.138-0.038x5-0.00650.008-0.8070.420-0.0220.009x60.07260.0322.2480.0250.0090.136x70.55070.1174.7110.0000.3220.780x80.05340.0790.6790.497-0.1010.207==================================================formula='''y~x1+x2+x3+x4+x5+x6+x7+x8'''lg_m=smf.glm(formula=formula,data=train,family=sm.families.Binomial(sm.families.links.logit)).fit()print(lg_m.summary())5.1.3 案例分析4.
逐步回歸下面使用向前法進(jìn)行逐步回歸,代碼如右:defforward_select(data,response):remaining=set(data.columns)remaining.remove(response)selected=[]current_score,best_new_score=float('inf'),float('inf')whileremaining:aic_with_candidates=[]forcandidateinremaining:formula="{}~{}".format(response,'+'.join(selected+[candidate]))aic=smf.glm(formula=formula,data=data,family=sm.families.Binomial(sm.families.links.logit)).fit().aicaic_with_candidates.append((aic,candidate))aic_with_candidates.sort(reverse=True)best_new_score,best_candidate=aic_with_candidates.pop()ifcurrent_score>best_new_score:remaining.remove(best_candidate)selected.append(best_candidate)current_score=best_new_scoreprint('aicis{},continuing!'.format(current_score))else:print('forwardselectionover!')breakformula="{}~{}".format(response,'+'.join(selected))print('finalformulais{}'.format(formula))model=smf.glm(formula=formula,data=data,family=sm.families.Binomial(sm.families.links.logit)).fit()return(model)candidates=['y',"x1",'x2','x3','x4','x5','x6','x7','x8']data_for_select=train[candidates]lg_m1=forward_select(data=data_for_select,response='y')print(lg_m1.summary())5.1.3 案例分析4.
逐步回歸結(jié)果分析:aicis569.0270696141556,continuing!aicis520.5990422729102,continuing!aicis478.56644475676023,continuing!aicis466.5141907846284,continuing!forwardselectionover!finalformulaisy~x6+x3+x7+x4可以看到,不顯著的變量已經(jīng)被自動刪除了。變量篩選有時(shí)候還需要結(jié)合對業(yè)務(wù)的理解。對于回歸方程及系數(shù)的解釋,類似于一元Logistic回歸。GeneralizedLinearModelRegressionResults===========================================Dep.Variable:yNo.Observations:560Model:GLMDfResiduals:555ModelFamily:BinomialDfModel:4LinkFunction:logitScale:1.0000Method:IRLSLog-Likelihood:228.26Date:Thu,01Jul2021Deviance:456.51Time:15:22:15Pearsonchi2:536.No.Iterations:6CovarianceType:nonrobust===========================================coefstderrzP>|z|[0.0250.975]-------------------------------------------------------------------------Intercept-0.84710.275-3.0820.002-1.386-0.308x60.08840.0204.3330.0000.0480.128x3-0.22700.031-7.3820.000-0.287-0.167x70.52500.0915.7520.0000.3460.704x4-0.07690.021-3.5790.000-0.119-0.035-------------------------------------------------------------------------5.1.3 案例分析5.
模型判斷接下來,可以預(yù)測,輸出違約概率:結(jié)果分析:50.221121230.114302290.496134320.282920340.079916Name:proba,dtype:float64。train['proba']=lg_m1.predict(train)test['proba']=lg_m1.predict(test)print(test['proba'].head())計(jì)算模型的準(zhǔn)確性如下:test['prediction']=(test['proba']>0.5).astype('int')acc=sum(test['prediction']==test['y'])/np.float(len(test))print('Theaccurancyis%.2f'%acc)結(jié)果如下:Theaccurancyis0.83。02PARTTWO5.2 決策樹決策樹屬于經(jīng)典的十大數(shù)據(jù)挖掘算法之一,利用像樹一樣的圖形或決策模型來輔助決策,可以用于數(shù)值型因變量的預(yù)測和離散型因變量的分類,在分類、預(yù)測、規(guī)則提取等領(lǐng)域有廣泛應(yīng)用。決策樹是一樹狀結(jié)構(gòu),它的每一個(gè)葉節(jié)點(diǎn)對應(yīng)著一個(gè)分類,非葉節(jié)點(diǎn)對應(yīng)著在某個(gè)屬性上的劃分,根據(jù)樣本在該屬性上的不同取值將其劃分成若干個(gè)子集。對于非純的葉節(jié)點(diǎn),多數(shù)類的標(biāo)號給出到達(dá)這個(gè)節(jié)點(diǎn)的樣本所屬的類。常用的有兩類決策樹:Quinlan系列決策樹和CART決策樹。前者涉及ID3算法及C4.5算法。步驟總體概括為建樹和剪樹。建樹的關(guān)鍵是選擇最有解釋力度的變量,對每個(gè)變量選擇最優(yōu)的分割點(diǎn)。可以使用信息增益、信息增益率和基尼指數(shù)來挑選。剪樹用于控制樹的生成規(guī)模。020304055.2 決策樹5.2.2 信息增益率5.2.3 基尼指數(shù)5.2.4 決策樹的剪枝5.2.5 案例分析015.2.1 信息增益5.2.1 信息增益熵的概念:熵用來表示信息量的大小。信息量越大(分類越不“純凈”),對應(yīng)的熵值就越大。信息熵的計(jì)算公式如下:
,
表示隨機(jī)變量
中的水平個(gè)數(shù),
表示隨機(jī)變量
的水平
的概率。信息熵反映的是某個(gè)事件所有可能值的熵和,可以衡量其純凈程度。
的水平較少、混亂程度較低時(shí),信息熵較??;反之則較大。在實(shí)際應(yīng)用中,會將概率
的值用經(jīng)驗(yàn)概率替換,所以經(jīng)驗(yàn)信息熵可以表示為:其中,
表示事件中的所有樣本點(diǎn),
表示事件的第k個(gè)可能值出現(xiàn)的次數(shù),所以商值
表示第k個(gè)可能值出現(xiàn)的頻率。5.2.1 信息增益如果需要基于其他事件計(jì)算某個(gè)事件的熵,就稱為條件熵。
J表示變量A的某個(gè)水平,m表示A的水平個(gè)數(shù),
表示D被A的j水平所分割的觀測數(shù);D表示隨機(jī)變量D的觀測總數(shù)。
表示隨機(jī)變量D在A的j水平分割下的信息熵。則信息增益定義為:對于已知的事件A來說,事件D的信息增益就是D的信息熵與A事件下D的條件熵之差,事件A對事件D的影響越大,條件熵H(D|A)就會越?。ㄔ谑录嗀的影響下,事件D被劃分得越“純凈”),在根節(jié)點(diǎn)或中間節(jié)點(diǎn)的變量選擇過程中,就是挑選出各自變量下因變量的信息增益最大的。5.2.2 信息增益率決策樹中的ID3算法使用信息增益指標(biāo)實(shí)現(xiàn)根節(jié)點(diǎn)或中間節(jié)點(diǎn)的字段選擇,但是該指標(biāo)存在一個(gè)非常明顯的缺點(diǎn),即信息增益會偏向于取值較多的字段,且輸入變量必須是分類變量(連續(xù)變量必須離散化)。C4.5算法對這兩個(gè)缺點(diǎn)進(jìn)行了改進(jìn),將信息增益改為信息增益率,且對連續(xù)變量進(jìn)行自動離散化。信息增益率在信息增益的基礎(chǔ)上進(jìn)行相應(yīng)的懲罰。公式為:其中
為事件A的信息熵。事件A的取值越多,
可能越大,但同時(shí)
也會越大,這樣以商的形式就實(shí)現(xiàn)了
的懲罰。如果用于分類的數(shù)據(jù)集中各離散型自變量的取值個(gè)數(shù)沒有太大差異,那么信息增益指標(biāo)與信息增益率指標(biāo)在選擇變量過程中并沒有太大的差異。5.2.3基尼指數(shù)ID3算法與C4.5算法都只能針對離散型因變量進(jìn)行分類,對于連續(xù)型的因變量就顯得束手無策了。為了能夠讓決策樹預(yù)測連續(xù)型的因變量,Breiman等人在1984年提出了CART算法,該算法也稱為分類回歸樹,它所使用的字段選擇指標(biāo)是基尼指數(shù)。公式為:其中,
表示某事件第k個(gè)可能值的發(fā)生概率,該概率可以使用經(jīng)驗(yàn)概率表示,即:
表示頻率。5.2.3基尼指數(shù)在引入某個(gè)用于分割的待選自變量后(假設(shè)分割后的樣本量分別為S1和S2),則分割后的基尼系數(shù)為:S1和S2表示劃分成兩類的樣本量,
和
表示劃分成兩類各自的基尼系數(shù)值。CART算法采用基尼系數(shù)的減少測度異質(zhì)性下降的程度,在所有分割中基尼系數(shù)減少最多的用于構(gòu)建當(dāng)前分割。ID3和C4.5都屬于多分支的決策樹,CART則是二分支的決策樹,在樹生長完成后,最終根據(jù)葉節(jié)點(diǎn)中的樣本數(shù)據(jù)決定預(yù)測結(jié)果。對于離散型的分類問題而言,葉節(jié)點(diǎn)中哪一類樣本量最多,則該葉節(jié)點(diǎn)就代表了哪一類;對于數(shù)值型的預(yù)測問題,則將葉節(jié)點(diǎn)中的樣本均值作為該節(jié)點(diǎn)的預(yù)測值。CART運(yùn)行效率優(yōu)于C4.5算法。Python中的sklearn模塊選擇了一個(gè)較優(yōu)的決策樹算法,即CART算法,它既可以處理離散型的分類問題(分類決策樹),也可解決連續(xù)型的預(yù)測問題(回歸決策樹)。這兩種樹分別對應(yīng)DecisionTreeClassifier類和DecisionTreeRegressor類。5.2.4決策樹的剪枝決策樹的剪枝通常有兩類方法,一類是預(yù)剪枝,另一類是后剪枝。預(yù)剪枝很好理解,就是在樹的生長過程中就對其進(jìn)行必要的剪枝,例如控制決策樹生長的最大深度,即決策樹的層數(shù);控制決策樹中父節(jié)點(diǎn)和子節(jié)點(diǎn)的最少樣本量或比例;后剪枝相對來說要復(fù)雜很多,它是指決策樹在得到充分生長的前提下再對其返工修剪。常用的方法有計(jì)算結(jié)點(diǎn)中目標(biāo)變量預(yù)測精度或誤差;綜合考慮誤差與復(fù)雜度進(jìn)行剪樹。5.2.5 案例分析同樣使用上一節(jié)的銀行貸款違約數(shù)據(jù),解釋同上。我們擬采用決策樹建模,首先引入所需要的包:讀取數(shù)據(jù)并輸出:輸出結(jié)果如下(部分?jǐn)?shù)據(jù)):
yx1x2x3x4x5x6x7x80141317121769.311.365.01102711063117.31.364.00204011514555.50.862.173041115141202.92.660.8241242202817.31.793.06importnumpyasnpimportpandasaspdimportstatsmodels.apiassmimportmatplotlib.pyplotaspltfilename=r'C:\Users\LENOVO\Desktop\example\Linear22.xlsx'data1=pd.read_excel(filename)print(data1.head())其中因變量y代表是否違約,是個(gè)二分變量,取值為1表示違約,0表示不違約。自變量分別為:x1表示貸款人年齡;x2表示教育水平;x3表示工齡;x4表示貸款人地址;x5表示收入;x6表示負(fù)債率;x7表示信用卡負(fù)債;x8表示其他負(fù)債。5.2.5 案例分析從數(shù)據(jù)集提取自變量和因變量:使用scikit-learn將數(shù)據(jù)集劃分為訓(xùn)練集和測試集:接下來,我們建立一個(gè)決策樹,使用訓(xùn)練集進(jìn)行訓(xùn)練:data1.columns=['y','x1','x2','x3','x4','x5','x6','x7','x8']target=data1['y']#生成因變量data=sm.add_constant(data1.iloc[:,1:])#生成自變量fromsklearn.model_selectionimporttrain_test_splittrain_data,test_data,train_target,test_target=train_test_split(data,target,test_size=0.2,train_size=0.8,random_state=1234)fromsklearn.treeimportDecisionTreeClassifierclf=DecisionTreeClassifier(criterion='gini',max_depth=3,class_weight=None,random_state=1234)clf.fit(train_data,train_target)其中criterion=’gini’表示采用基尼系數(shù)作為樹生長的判斷依據(jù);max_depth表示樹的最大深度為3;class_weight=None表示每一類標(biāo)簽的權(quán)重是相等的;random_state表示隨機(jī)數(shù)種子,可以設(shè)置為任意正整數(shù)。設(shè)定后,隨機(jī)數(shù)也確定了,可以重現(xiàn)每次結(jié)果,避免因?yàn)殡S機(jī)數(shù)不同而產(chǎn)生不同的模型結(jié)果。5.2.5 案例分析用測試集進(jìn)行評估,輸出評估報(bào)告:結(jié)果如下:
precisionrecallf1-scoresupport0
0.83
0.930.881071
0.65
0.390.4933accuracy
0.81
140macroavg0.74
0.660.69140weightedavg0.79
0.810.79140可以看到模型的f1-score當(dāng)因變量為1(違約)時(shí)為0.49,,為0(不違約)時(shí)為0.88,平均為0.69。靈敏度recall分別為0.39、0.93、0.66,模型識別能力還可以。importsklearn.metricsasmetricsprint(metrics.classification_report(test_target,clf.predict(test_data)))clf.set_params(**{'class_weight':{0:1,1:3}})clf.fit(train_data,train_target)print(metrics.classification_report(test_target,clf.predict(test_data)))如果對因變量標(biāo)簽設(shè)置不同的權(quán)重,結(jié)果會有所改變。權(quán)重相等時(shí)違約的預(yù)測準(zhǔn)確率較低,考慮到違約用戶帶來的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度私人土地租賃合同:文化創(chuàng)意產(chǎn)業(yè)園租賃合同
- 二零二五年度智慧城市建設(shè)代理合同終止條件及城市治理
- 二零二五年度電子產(chǎn)品企業(yè)財(cái)務(wù)代理記帳服務(wù)合同
- 二零二五年度股權(quán)質(zhì)押借款協(xié)議書:人工智能與智慧城市融合項(xiàng)目股權(quán)質(zhì)押借款合同
- 2025年度籃球運(yùn)動員與俱樂部合同續(xù)約談判記錄合同
- 2025年度美容行業(yè)美容培訓(xùn)講師勞動合同
- 2025年度二零二五年度私下房屋買賣及產(chǎn)權(quán)過戶手續(xù)代理合同
- 二零二五年度船舶船員勞動合同及職業(yè)健康檢查協(xié)議
- 2025年度高端別墅裝修貸款服務(wù)合同
- 二零二五年度文化節(jié)特邀表演嘉賓合同
- 2025開工大吉蛇年大吉開門紅模板
- 鍋爐、壓力容器制造質(zhì)量手冊含程序文件-符合TSG07-2019《許可規(guī)則》
- 邏輯思維訓(xùn)練500題(帶答案)
- 2025年日歷表(A4版含農(nóng)歷可編輯)
- 人工智能大模型
- 極簡統(tǒng)計(jì)學(xué)(中文版)
- 2024年資格考試-對外漢語教師資格證筆試參考題庫含答案
- 2024年4月自考02382管理信息系統(tǒng)答案及評分參考
- (蘇版)初三化學(xué)上冊:第2單元課題1空氣
- 2023年12月廣東珠海市軌道交通局公開招聘工作人員1人筆試近6年高頻考題難、易錯(cuò)點(diǎn)薈萃答案帶詳解附后
- 腹腔鏡腎上腺腫瘤切除術(shù)查房護(hù)理課件
評論
0/150
提交評論