SPSS—回歸—二元Logistic回歸案例分析


 數據分析真不是一門省油的燈,搞的人暈頭轉向,而且涉及到很多復雜的計算,還是書讀少了,小學畢業的我,真是死了不少腦細胞,

   學習二元Logistic回歸有一段時間了,今天跟大家分享一下學習心得,希望多指教!

   二元Logistic,從字面上其實就可以理解大概是什么意思,Logistic中文意思為“邏輯”但是這里,並不是邏輯的意思,而是通過logit變換來命名的,二元一般指“兩種可能性”就好比邏輯中的“是”或者“否”一樣,

Logistic 回歸模型的假設檢驗——常用的檢驗方法有似然比檢驗(likelihood ratio test) 和 Wald檢驗)
似然比檢驗的具體步驟如下:

1:先擬合不包含待檢驗因素的Logistic模型,求對數似然函數值INL0         

2:再擬合包含待檢驗因素的Logistic模型,求新的對數似然函數值InL1

3:最后比較兩個對數似然函數值的差異,若兩個模型分別包含l個自變量和P個自變量,記似然比統計量G的計算公式為 G=2(InLP - InLl). 在零假設成立的條件下,當樣本含量n較大時,G統計量近似服從自由度為 V = P-l 的 x平方分布,如果只是對一個回歸系數(或一個自變量)進行檢驗,則 v=1.

wald 檢驗,用u檢驗或者X平方檢驗,推斷各參數βj是否為0,其中u= bj / Sbj,  X的平方=(bj / Sbj),  Sbj 為回歸系數的標准誤

   這里的“二元”主要針對“因變量”所以跟“曲線估計”里面的Logistic曲線模型不一樣,二元logistic回歸是指因變量為二分類變量是的回歸分析,對於這種回歸模型,目標概率的取值會在(0-1),但是回歸方程的因變量取值卻落在實數集當中,這個是不能夠接受的,所以,可以先將目標概率做Logit變換,這樣它的取值區間變成了整個實數集,再做回歸分析就不會有問題了,采用這種處理方法的回歸分析,就是Logistic回歸

設因變量為y, 其中“1” 代表事件發生, “0”代表事件未發生,影響y的 n個自變量分別為 x1,  x2 ,x3 xn等等

記事件發生的條件概率為 P

那么P=   事件未發生的概理為 1-P

 

事件發生跟”未發生的概率比 為( p / 1-p ) 事件發生比,記住Odds

將Odds做對數轉換,即可得到Logistic回歸模型的線性模型:

     還是以教程“blankloan.sav"數據為例,研究銀行客戶貸款是否違約(拖欠)的問題,數據如下所示:

 

上面的數據是大約700個申請貸款的客戶,我們需要進行隨機抽樣,來進行二元Logistic回歸分析,上圖中的“0”表示沒有拖欠貸款,“1”表示拖欠貸款,接下來,步驟如下:

   1:設置隨機抽樣的隨機種子,如下圖所示:

 

選擇“設置起點”選擇“固定值”即可,本人感覺200萬的容量已經足夠了,就采用的默認值,點擊確定,返回原界面、

 2:進行“轉換”—計算變量“生成一個變量(validate),進入如下界面:

 

在數字表達式中,輸入公式:rv.bernoulli(0.7),這個表達式的意思為:返回概率為0.7的bernoulli分布隨機值

如果在0.7的概率下能夠成功,那么就為1,失敗的話,就為"0"

  為了保持數據分析的有效性,對於樣本中“違約”變量取缺失值的部分,validate變量也取缺失值,所以,需要設置一個“選擇條件”

  點擊“如果”按鈕,進入如下界面:

 

如果“違約”變量中,確實存在缺失值,那么當使用"missing”函數的時候,它的返回值應該為“1”或者 為“true", 為了剔除”缺失值“所以,結果必須等於“0“  也就是不存在缺失值的現象 

點擊 ”繼續“按鈕,返回原界面,如下所示:



   將是“是否曾經違約”作為“因變量”拖入因變量選框,分別將其他8個變量拖入“協變量”選框內, 在方法中,選擇:forward.LR方法

將生成的新變量“validate" 拖入"選擇變量“框內,並點擊”規則“設置相應的規則內容,如下所示:

設置validate 值為1,此處我們只將取值為1的記錄納入模型建立過程,其它值(例如:0)將用來做結論的驗證或者預測分析,當然你可以反推,采用0作為取值記錄

點擊繼續,返回,再點擊“分類”按鈕,進入如下頁面

 

在所有的8個自變量中,只有“教育水平”這個變量能夠作為“分類協變量” 因為其它變量都沒有做分類,本例中,教育水平分為:初中,高中,大專,本科,研究生等等,  參考類別選擇:“最后一個”   在對比中選擇“指示符”  點擊繼續按鈕,返回

再點擊—“保存”按鈕,進入界面:

 在“預測值"中選擇”概率, 在“影響”中選擇“Cook距離” 在“殘差”中選擇“學生化”

點擊繼續,返回,再點擊“選項”按鈕,進入如下界面:

分析結果如下:


1:在“案例處理匯總”中可以看出:選定的案例489個,未選定的案例361個,這個結果是根據設定的validate = 1得到的,在“因變量編碼”中可以看出“違約”的兩種結果“是”或者“否” 分別用值“1“和“0”代替, 在“分類變量編碼”中教育水平分為5類, 如果選中“為完成高中,高中,大專,大學等,其中的任何一個,那么就取值為 1,未選中的為0,如果四個都未被選中,那么就是”研究生“ 頻率分別代表了處在某個教育水平的個數,總和應該為 489個

 

1:在“分類表”中可以看出: 預測有360個是“否”(未違約) 有129個是“是”(違約)

2:在“方程中的變量”表中可以看出:最初是對“常數項”記性賦值,B為-1.026, 標准誤差為:0.103

那么wald =( B/S.E)²=(-1.026/0.103)² = 99.2248, 跟表中的“100.029幾乎接近,是因為我對數據進行的向下舍入的關系,所以數據會稍微偏小,

B和Exp(B) 是對數關系,將B進行對數抓換后,可以得到:Exp(B) = e^-1.026 = 0.358,  其中自由度為1, sig為0.000,非常顯著

1:從“不在方程中的變量”可以看出,最初模型,只有“常數項”被納入了模型,其它變量都不在最初模型內

表中分別給出了,得分,df ,  Sig三個值, 而其中得分(Score)計算公式如下:

 (公式中 (Xi- X¯) 少了一個平方)


下面來舉例說明這個計算過程:(“年齡”自變量的得分為例)

   從“分類表”中可以看出:有129人違約,違約記為“1”   則 違約總和為 129, 選定案例總和為489

那么: y­­­¯ = 129/489 = 0.2638036809816

            x­¯ = 16951 / 489 = 34.664621676892

所以:∑(Xi-x­¯)² = 30074.9979

          y¯(1-y¯)=0.2638036809816  *(1-0.2638036809816 )=0.19421129888216

則:y¯(1-y¯)*  ∑(Xi-x­¯)² =0.19421129888216 * 30074.9979 = 5 840.9044060372

則:[∑Xi(yi - y¯)]^2 = 43570.8

 所以:

=43570.8 / 5 840.9044060372 = 7.4595982010876 = 7.46 (四舍五入)

 

計算過程采用的是在 EXCEL 里面計算出來的,截圖如下所示:

 

從“不在方程的變量中”可以看出,年齡的“得分”為7.46,剛好跟計算結果吻合!!答案得到驗證~!!!!

 

1:從“塊1” 中可以看出:采用的是:向前步進 的方法, 在“模型系數的綜合檢驗”表中可以看出: 所有的SIG 幾乎都為“0”   而且隨着模型的逐漸步進,卡方值越來越大,說明模型越來越顯著,在第4步后,終止,

  根據設定的顯著性值 和  自由度,可以算出 卡方臨界值, 公式為:=CHIINV(顯著性值,自由度)  ,放入excel就可以得到結果

2:在“模型匯總“中可以看出:Cox&SnellR方  和 Nagelkerke R方 擬合效果都不太理想,最終理想模型也才:0.305 和 0.446,

最大似然平方的對數值 都比較大,明顯是顯著的

似然數對數計算公式為:

計算過程太費時間了,我就不舉例說明 計算過程了

Cox&SnellR方的計算值 是根據:

1:先擬合不包含待檢驗因素的Logistic模型,求對數似然函數值INL0        (指只包含“常數項”的檢驗)

2:再擬合包含待檢驗因素的Logistic模型,求新的對數似然函數值InLB      (包含自變量的檢驗)

 

再根據公式:        即可算出:Cox&SnellR方的值!

 

 

提示: 將Hosmer 和 Lemeshow 檢驗 和“隨機性表” 結合一起來分析

1:從 Hosmer 和 Lemeshow 檢驗表中,可以看出:經過4次迭代后,最終的卡方統計量為:11.919, 而臨界值為:CHINV(0.05,8) = 15.507

卡方統計量< 臨界值,從SIG 角度來看: 0.155 > 0.05 , 說明模型能夠很好的擬合整體,不存在顯著的差異。

2:從Hosmer 和 Lemeshow 檢驗隨即表中可以看出: ”觀測值“和”期望值“幾乎是接近的,不存在很大差異,說明模型擬合效果比較理想,印證了“Hosmer 和 Lemeshow 檢驗”中的結果

而“Hosmer 和 Lemeshow 檢驗”表中的“卡方”統計量,是通過“Hosmer 和 Lemeshow 檢驗隨即表”中的數據得到的(即通過“觀測值和”預測值“)得到的,計算公式如下所示:

x²(卡方統計量) =  ∑(觀測值頻率- 預測值頻率)^2 / 預測值的頻率

舉例說明一下計算過程:以計算 "步驟1的卡方統計量為例 "

1:將“Hosmer 和 Lemeshow 檢驗隨即表”中“步驟1 ”  的數據,復制到 excel 中,得到如下所示結果:

 

從“Hosmer 和 Lemeshow 檢驗”表中可以看出, 步驟1 的卡方統計量為:7.567,  在上圖中,通過excel計算得到,結果為 7.566569  ~~7.567 (四舍五入),結果是一致的,答案得到驗證!!

1:從“分類表”—“步驟1” 中可以看出: 選定的案例中,“是否曾今違約”總計:489個,其中 沒有違約的 360個,並且對360個“沒有違約”的客戶進行了預測,有 340個預測成功,20個預測失敗,預測成功率為:340 / 360 =94.4%

  其中“違約”的有189個,也對189個“違約”的客戶進行了預測,有95個預測失敗, 34個預測成功,預測成功率:34 / 129 = 26.4%

總計預測成功率:(340 + 34)/ 489 = 76.5%

  步驟1 的 總體預測成功率為:76.5%, 在步驟4終止后,總體預測成功率為:83.4,預測准確率逐漸提升 76.5%—79.8%—81.4%—83.4。 83.4的預測准確率,不能夠算太高,只能夠說還行。

從“如果移去項則建模”表中可以看出:“在-2對數似然中的更改” 中的數值是不是很眼熟???,跟在“模型系數總和檢驗”表中“卡方統計量"量的值是一樣的!!!

   將“如果移去項則建模”和 “方程中的變量”兩個表結合一起來看

1:在“方程中的變量”表中可以看出: 在步驟1中輸入的變量為“負債率”  ,在”如果移去項則建模“表中可以看出,當移去“負債率”這個變量時,引起了74.052的數值更改,此時模型中只剩下“常數項”-282.152為常數項的對數似然值

  在步驟2中,當移去“工齡”這個自變量時,引起了44.543的數值變化(簡稱:似然比統計量),在步驟2中,移去“工齡”這個自變量后,還剩下“負債率”和“常量”,此時對數似然值 變成了:-245.126,此時我們可以通過公式算出“負債率”的似然比統計量:計算過程如下:

似然比統計量 = 2(-245.126+282.152)=74.052      答案得到驗證!!!

 

2:在“如果移去項則建模”表中可以看出:不管移去那一個自變量,“更改的顯著性”都非常小,幾乎都小於0.05,所以這些自變量系數跟模型顯著相關,不能夠剔去!!

3:根據" 方程中的變量“這個表,我們可以得出 logistic 回歸模型表達式:

=   1 / 1+ e^-(a+∑βI*Xi)          我們假設 Z =   那么可以得到簡潔表達式:

P(Y) = 1 / 1+e^ (-z)

將”方程中的變量“ —步驟4中的參數代入 模型表達式中,可以得到  logistic回歸 模型 如下所示:

P(Y) = 1 / 1 + e ^ -(-0.766+0.594*信用卡負債率+0.081*負債率-0.069*地址-0.249*功齡) 

 

 

從”不在方程中的變量“表中可以看出: 年齡,教育,收入,其它負債,都沒有納入模型中,其中:sig 值都大於 0.05,所以說明這些自變量跟模型顯著不相關。

 

 

  在”觀察到的組和預測概率圖”中可以看出:

1:the Cut Value is 0.5,   此處以 0.5 為切割值,預測概率大於0.5,表示客戶“違約”的概率比較大,小於0.5表示客戶“違約”概率比較小。

2:從上圖中可以看出:預測分布的數值基本分布在“左右兩端”在大於0.5的切割值中,大部分都是“1” 表示大部分都是“違約”客戶,( 大約230個違約客戶) 預測概率比較准,而在小於0.5的切割值中,大部分都是“0” 大部分都是“未違約”的客戶,(大約500多個客戶,未違約) 預測也很准

 

在運行結束后,會自動生成多個自變量,如下所示:

 

 1:從上圖中可以看出,已經對客戶“是否違約”做出了預測,上面用顏色標記的部分-PRE_1 表示預測概率,

上面的預測概率,可以通過 前面的 Logistic 回歸模型計算出來,計算過程不演示了

2:COOK_1  和 SRE_1 的值可以跟 預測概率(PRE_1) 進行畫圖,來看 COOK_1 和 SRE_1 對預測概率的影響程度,因為COOK值跟模型擬合度有一定的關聯,發生奇異值,會影響分析結果。如果有太多奇異值,應該單獨進行深入研究!

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM