Logistic Regression--邏輯迴歸演算法彙總
1.1邏輯迴歸模型
考慮具有p個獨立變數的向量,設條件概率為根據觀測量相對於某事件發生的概率。邏輯迴歸模型可表示為
(1.1)
上式右側形式的函式稱為稱為邏輯函式。下圖給出其函式圖象形式。
其中。如果含有名義變數,則將其變為dummy變數。一個具有k個取值的名義變數,將變為k-1個dummy變數。這樣,有
(1.2)
定義不發生事件的條件概率為
(1.3)
那麼,事件發生與事件不發生的概率之比為
(1.4)
這個比值稱為事件的發生比(the odds of experiencing an event),簡稱為odds。因為0<p<1,故odds>0。對odds取對數,即得到線性函式
(1.5),
1.2極大似然函式
假設有n個觀測樣本,觀測值分別為設為給定條件下得到yi=1(原文)的概率。在同樣條件下得到yi=0()的條件概率為。於是,得到一個觀測值的概率為
(1.6) —–此公式實際上是綜合前兩個等式得出,並無特別之處
因為各項觀測獨立,所以它們的聯合分佈可以表示為各邊際分佈的乘積。
上式稱為n個觀測的似然函式。我們的目標是能夠求出使這一似然函式的值最大的引數估計。於是,最大似然估計的關鍵就是求出引數
對上述函式求對數
(1.8)
上式稱為對數似然函式。為了估計能使取得最大的引數的值。
對此函式求導,得到p+1個似然方程。
(1.9)
,j=1,2,..,p.—–p為獨立向量個數
上式稱為似然方程。為了解上述非線性方程,應用牛頓-拉斐森(Newton-Raphson)方法進行迭代求解。
1.3 牛頓-拉斐森迭代法
對求二階偏導數,即Hessian矩陣為
(1.10)
如果寫成矩陣形式,以H表示Hessian矩陣,X表示
(1.11)
令
(1.12)
則。再令(注:前一個矩陣需轉置),即似然方程的矩陣形式。
得牛頓迭代法的形式為
(1.13)
注意到上式中矩陣H為對稱正定的,求解即為求解線性方程HX=U中的矩陣X。對H進行cholesky分解。
最大似然估計的漸近方差(asymptotic variance)和協方差(covariance)可以由資訊矩陣(information matrix)的逆矩陣估計出來。而資訊矩陣實際上是二階導數的負值,表示為。估計值的方差和協方差表示為,也就是說,估計值的方差為矩陣I的逆矩陣的對角線上的值,而估計值和的協方差(和的協方差等於?不解。。。)為除了對角線以外的值。然而在多數情況,我們將使用估計值的標準方差,表示為
,for j=0,1,2,…,p (1.14)
———————————————————————————————————————————————–
2.顯著性檢驗
下面討論在邏輯迴歸模型中自變數是否與反應變數顯著相關的顯著性檢驗。零假設:=0(表示自變數對事件發生可能性無影響作用)。如果零假設被拒絕,說明事件發生可能性依賴於的變化。
2.1 Wald test
對迴歸係數進行顯著性檢驗時,通常使用Wald檢驗,其公式為
(2.1)
其中, 為的標準誤差。這個單變數Wald統計量服從自由度等於1的分佈。
如果需要檢驗假設:=0,計算統計量
(2.2)
其中,為去掉所在的行和列的估計值,相應地,為去掉所在的行和列的標準誤差。這裡,Wald統計量服從自由度等於p的分佈。如果將上式寫成矩陣形式,有
(2.3)
矩陣Q是第一列為零的一常數矩陣。例如,如果檢驗,則。
然而當迴歸係數的絕對值很大時,這一系數的估計標準誤就會膨脹,於是會導致Wald統計值變得很小,以致第二類錯誤的概率增加。也就是說,在實際上會導致應該拒絕零假設時卻未能拒絕。所以當發現迴歸係數的絕對值很大時,就不再用Wald統計值來檢驗零假設,而應該使用似然比檢驗來代替。
2.2 似然比(Likelihood ratio test)檢驗
在一個模型裡面,含有變數與不含變數的對數似然值乘以-2的結果之差,服從分佈。這一檢驗統計量稱為似然比(likelihood ratio),用式子表示為
(2.4)
計算似然值採用公式(1.8)。
倘若需要檢驗假設:=0,計算統計量
(2.5)
式中,表示=0的觀測值的個數,而表示=1的觀測值的個數,那麼n就表示所有觀測值的個數了。實際上,上式的右端的右半部分表示只含有的似然值。統計量G服從自由度為p的分佈
2.3 Score檢驗
在零假設:=0下,設引數的估計值為,即對應的=0。計算Score統計量的公式為
(2.6)
上式中,表示在=0下的對數似然函式(1.9)的一價偏導數值,而表示在=0下的對數似然函式(1.9)的二價偏導數值。Score統計量服從自由度等於1的分佈。
2.4 模型擬合資訊
模型建立後,考慮和比較模型的擬合程度。有三個度量值可作為擬合的判斷根據。
(1)-2LogLikelihood
(2.7)
(2) Akaike資訊準則(Akaike Information Criterion,簡寫為AIC)
(2.8)
其中K為模型中自變數的數目,S為反應變數類別總數減1,對於邏輯迴歸有S=2-1=1。-2LogL的值域為0至,其值越小說明擬合越好。當模型中的引數數量越大時,似然值也就越大,-2LogL就變小。因此,將2(K+S)加到AIC公式中以抵銷引數數量產生的影響。在其它條件不變的情況下,較小的AIC值表示擬合模型較好。
(3)Schwarz準則
這一指標根據自變數數目和觀測數量對-2LogL值進行另外一種調整。SC指標的定義為
(2.9)
其中ln(n)是觀測數量的自然對數。這一指標只能用於比較對同一資料所設的不同模型。在其它條件相同時,一個模型的AIC或SC值越小說明模型擬合越好。
3.迴歸係數解釋
3.1發生比
odds=[p/(1-p)],即事件發生的概率與不發生的概率之比。而發生比率(odds ration),即
(1)連續自變數。對於自變數,每增加一個單位,odds ration為
(3.1)
(2)二分類自變數的發生比率。變數的取值只能為0或1,稱為dummy variable。當取值為1,對於取值為0的發生比率為
(3.2)
亦即對應係數的冪。
(3)分類自變數的發生比率。
如果一個分類變數包括m個類別,需要建立的dummy variable的個數為m-1,所省略的那個類別稱作參照類(reference category)。設dummy variable為,其係數為,對於參照類,其發生比率為。
3.2 邏輯迴歸係數的置信區間
對於置信度1-,引數的100%(1-)的置信區間為
(3.3)
上式中,為與正態曲線下的臨界Z值(critical value), 為係數估計的標準誤差,和兩值便分別是置信區間的下限和上限。當樣本較大時,=0.05水平的係數的95%置信區間為
(3.4)
———————————————————————————————————————————————–
4.變數選擇
4.1前向選擇(forward selection):在截距模型的基礎上,將符合所定顯著水平的自變數一次一個地加入模型。
具體選擇程式如下
(1) 常數(即截距)進入模型。
(2) 根據公式(2.6)計算待進入模型變數的Score檢驗值,並得到相應的P值。
(3) 找出最小的p值,如果此p值小於顯著性水平,則此變數進入模型。如果此變數是某個名義變數的單面化(dummy)變數,則此名義變數的其它單面化變理同時也進入模型。不然,表明沒有變數可被選入模型。選擇過程終止。
(4) 回到(2)繼續下一次選擇。
4.2 後向選擇(backward selection):在模型包括所有候選變數的基礎上,將不符合保留要求顯著水平的自變數一次一個地刪除。
具體選擇程式如下
(1) 所有變數進入模型。
(2) 根據公式(2.1)計算所有變數的Wald檢驗值,並得到相應的p值。
(3) 找出其中最大的p值,如果此P值大於顯著性水平,則此變數被剔除。對於某個名義變數的單面化變數,其最小p值大於顯著性水平,則此名義變數的其它單面化變數也被刪除。不然,表明沒有變數可被剔除,選擇過程終止。
(4) 回到(2)進行下一輪剔除。
4.3逐步迴歸(stepwise selection)
(1)基本思想:逐個引入自變數。每次引入對Y影響最顯著的自變數,並對方程中的老變數逐個進行檢驗,把變為不顯著的變數逐個從方程中剔除掉,最終得到的方程中既不漏掉對Y影響顯著的變數,又不包含對Y影響不顯著的變數。
(2)篩選的步驟:首先給出引入變數的顯著性水平和剔除變數的顯著性水平,然後按下圖篩選變數。
(3)逐步篩選法的基本步驟
逐步篩選變數的過程主要包括兩個基本步驟:一是從不在方程中的變數考慮引入新變數的步驟;二是從迴歸方程中考慮剔除不顯著變數的步驟。
假設有p個需要考慮引入迴歸方程的自變數.
① 設僅有截距項的最大似然估計值為。對p個自變數每個分別計算Score檢驗值,
設有最小p值的變數為,且有,對於單面化(dummy)變數,也如此。若,則此變數進入模型,不然停止。如果此變數是名義變數單面化(dummy)的變數,則此名義變數的其它單面化變數也進入模型。其中為引入變數的顯著性水平。
② 為了確定當變數在模型中時其它p-1個變數也是否重要,將分別與進行擬合。對p-1個變數分別計算Score檢驗值,其p值設為。設有最小p值的變數為,且有.若,則進入下一步,不然停止。對於單面化變數,其方式如同上步。
③ 此步開始於模型中已含有變數與。注意到有可能在變數被引入後,變數不再重要。本步包括向後刪除。根據(2.1)計算變數與的Wald檢驗值,和相應的p值。設為具有最大p值的變數,即=max(),.如果此p值大於,則此變數從模型中被刪除,不然停止。對於名義變數,如果某個單面化變數的最小p值大於,則此名義變數從模型中被刪除。
④ 如此進行下去,每當向前選擇一個變數進入後,都進行向後刪除的檢查。迴圈終止的條件是:所有的p個變數都進入模型中或者模型中的變數的p值小於,不包含在模型中的變數的p值大於。或者某個變數進入模型後,在下一步又被刪除,形成迴圈。