Logistic回歸雖然名字叫”回歸” ,但卻是一種分類學習方法。使用場景大概有兩個:第一用來預(yù)測,第二尋找因變量的影響因素。邏輯回歸(Logistic Regression, LR)又稱為邏輯回歸分析,是分類和預(yù)測算法中的一種。通過歷史數(shù)據(jù)的表現(xiàn)對未來結(jié)果發(fā)生的概率進行預(yù)測。例如,我們可以將購買的概率設(shè)置為因變量,將用戶的特征屬性,例如性別,年齡,注冊時間等設(shè)置為自變量。根據(jù)特征屬性預(yù)測購買的概率。邏輯回歸與回歸分析有很多相似之處,在開始介紹邏輯回歸之前我們先來看下回歸分析。
回歸分析用來描述自變量x和因變量Y之間的關(guān)系,或者說自變量X對因變量Y的影響程度,并對因變量Y進行預(yù)測。其中因變量是我們希望獲得的結(jié)果,自變量是影響結(jié)果的潛在因素,自變量可以有一個,也可以有多個。一個自變量的叫做一元回歸分析,超過一個自變量的叫做多元回歸分析。
下面是一組廣告費用和曝光次數(shù)的數(shù)據(jù),費用和曝光次數(shù)一一對應(yīng)。其中曝光次數(shù)是我們希望知道的結(jié)果,費用是影響曝光次數(shù)的因素,我們將費用設(shè)置為自變量X,將曝光次數(shù)設(shè)置為因變量Y,通過一元線性回歸方程和判定系數(shù)可以發(fā)現(xiàn)費用(X)對曝光次數(shù)(Y)的影響。
以下為一元回歸線性方式,其中y是因變量,X是自變量,我們只需求出截距b0和斜率b1就可以獲得費用和曝光次數(shù)之間的關(guān)系,并對曝光次數(shù)進行預(yù)測。這里我們使用最小二乘法來計算截距b0和斜率b1。最小二乘法通過最小化誤差的平方和尋找數(shù)據(jù)的最佳函數(shù)匹配。
下表中是使用最小二乘法計算回歸方程的一些必要的計算過程。在表中最左側(cè)的兩列分別為自變量X和因變量Y,我們首先計算出自變量和因變量的均值,然后計算每一個觀測值與均值的差,以及用于計算回歸方程斜率b1所需的數(shù)據(jù)。
根據(jù)表中的數(shù)據(jù)按公式計算出了回歸方程的斜率b1,計算過程如下。斜率表示了自變量和因變量間的關(guān)系,斜率為正表示自變量和因變量正相關(guān),斜率為負表示自變量和因變量負相關(guān),斜率為0表示自變量和因變量不相關(guān)。
求得斜率b1后,按下面的公式可以求出Y軸的截距b0。
將斜率b1和截距b0代入到回歸方程中,通過這個方程我們可以獲得自變量和因變量的關(guān)系,費用每增加1元,曝光次數(shù)會增長7437次。以下為回歸方程和圖示。
在回歸方程的圖示中,還有一個R^2,這個值叫做判定系數(shù),用來衡量回歸方程是否很好的擬合了樣本的數(shù)據(jù)。判定系數(shù)在0-1之間,值越大說明擬合的越好,換句話說就是自變量對因變量的解釋度越高。判定系數(shù)的計算公式為SST=SSR+SSE,其中SST是總平方和,SSR是回歸平方和,SSE是誤差平方和。下表為計算判定系數(shù)所需三個指標的一些必要的計算過程。
根據(jù)前面求得的回歸平方和(SSR)和總平方和(SST)求得判定系數(shù)為0.94344。
以上為回歸方程的計算過程,在根據(jù)費用預(yù)測曝光數(shù)量的場景下,我們可以通過回歸方程在已知費用的情況下計算出曝光數(shù)量。邏輯回歸與回歸方程相比在線性回歸的基礎(chǔ)上增加了一個邏輯函數(shù)。例如通過用戶的屬性和特征來判斷用戶最終是否會進行購買。其中購買的概率是因變量Y,用戶的屬性和特征是自變量X。Y值越大說明用戶購買的概率越大。這里我們使用事件發(fā)生的可能性(odds)來表示購買與未購買的比值。
使用E作為購買事件,P(E)是購買的概率,P(E’)是未購買的概率,Odds(E)是事件E(購買)發(fā)生的可能性。
Odds是一個從0到無窮的數(shù)字,Odds的值越大,表明事件發(fā)生的可能性越大。下面我們要將Odds轉(zhuǎn)化為0-1之間的概率函數(shù)。首先對Odds取自然對數(shù),得到logit方程,logit是一個范圍在負無窮到正無窮的值。
基于上面的logit方程,獲得以下公式:
其中使用π替換了公式中的P(E),π=P(E)。根據(jù)指數(shù)函數(shù)和對數(shù)規(guī)則獲得以下公式:
并最終獲得邏輯回歸方程:
下面根據(jù)邏輯回歸方程來計算用戶購買的概率,下表是用戶注冊天數(shù)和是否購買的數(shù)據(jù),其中注冊天數(shù)是自變量X,是否購買是自變量Y。我們將購買標記為1,將未購買標記為0。
接下來我們將在Excel中通過8個步驟計算出邏輯回歸方程的斜率和截距。并通過方程預(yù)測新用戶是否會購買。
Excel將自動求出邏輯回歸方程中斜率和截距的最優(yōu)解,結(jié)果如下圖所示。
求得邏輯回歸方程的斜率和截距以后,我們可以將值代入方程,獲得一個注冊天數(shù)與購買概率的預(yù)測模型,通過這個模型我們可以對不同注冊天數(shù)(X)用戶的購買概率(Y)進行預(yù)測。以下為計算過程。
注冊天數(shù)為50天的用戶購買的概率約為17.60%。
我們將所有注冊天數(shù)的值代入到購買概率預(yù)測模型中,獲得了一條注冊天數(shù)對購買概率影響的曲線。從曲線中可以發(fā)現(xiàn),注冊天數(shù)在較低和較高天數(shù)的用戶購買概率較為平穩(wěn)。中間天數(shù)用戶的購買概率變化較大。
我們繼續(xù)在上面的計算結(jié)果中增加新的自變量“年齡”。以下是原始數(shù)據(jù)的截圖。現(xiàn)在有年齡和注冊天數(shù)兩個自變量和一個因變量。
依照前面的方法計算斜率和截距的最優(yōu)解,并獲得邏輯回歸方程,將不同的年齡和注冊天數(shù)代入到方程中,獲得了用戶年齡和注冊天數(shù)對購買的預(yù)測模型。我們通過Excel的三維圖表來繪制年齡和注冊天數(shù)對購買概率的影響。
從圖中可以看出,購買概率隨著注冊天數(shù)的增加而增長,并且在相同的注冊天數(shù)下,年齡較小的用戶購買概率相對較高。
轉(zhuǎn)載于: http://bluewhale.cc/2016-05-18/logistic-regression.html#ixzz4RbUh8R3T
一 從線性回歸到Logistic回歸
線性回歸和Logistic回歸都是廣義線性模型的特例。
假設(shè)有一個因變量y和一組自變量x1, x2, x3, ... , xn,其中y為連續(xù)變量,我們可以擬合一個線性方程:
y =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn
并通過最小二乘法估計各個β系數(shù)的值。
如果y為二分類變量,只能取值0或1,那么線性回歸方程就會遇到困難: 方程右側(cè)是一個連續(xù)的值,取值為負無窮到正無窮,而左側(cè)只能取值[0,1],無法對應(yīng)。為了繼續(xù)使用線性回歸的思想,統(tǒng)計學家想到了一個變換方法,就是將方程右邊的取值變換為[0,1]。最后選中了Logistic函數(shù):
y = 1 / (1+e-x)
這是一個S型函數(shù),值域為(0,1),能將任何數(shù)值映射到(0,1),且具有無限階可導(dǎo)等優(yōu)良數(shù)學性質(zhì)。
我們將線性回歸方程改寫為:
y = 1 / (1+e-z),
其中,z =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn
此時方程兩邊的取值都在0和1之間。
進一步數(shù)學變換,可以寫為:
Ln(y/(1-y)) =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn
Ln(y/(1-y))稱為Logit變換。我們再將y視為y取值為1的概率p(y=1),因此,1-y就是y取值為0的概率p(y=0),所以上式改寫為:
p(y=1) = ez/(1+ez),
p(y=0) = 1/(1+ez),
其中,z =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn.
接下來就可以使用”最大似然法”估計出各個系數(shù)β。
二 odds與OR復(fù)習
odds: 稱為幾率、比值、比數(shù),是指某事件發(fā)生的可能性(概率)與不發(fā)生的可能性(概率)之比。用p表示事件發(fā)生的概率,則:odds = p/(1-p)。
OR:比值比,為實驗組的事件發(fā)生幾率(odds1)/對照組的事件發(fā)生幾率(odds2)。
三 Logistic回歸結(jié)果的解讀
我們用一個例子來說明,這個例子中包含200名學生數(shù)據(jù),包括1個自變量和4個自變量:
因變量: hon,表示學生是否在榮譽班(honors class),1表示是,0表示否;
自變量:
female :性別,分類變量,1=女,0=男
read: 閱讀成績,為連續(xù)變量
write: 寫作成績,為連續(xù)變量
math:數(shù)學成績,為連續(xù)變量
1、不包含任何變量的Logistic回歸
首先擬合一個不包含任何變量的Logistic回歸,
模型為 ln(p/(1-p) =β0
回歸結(jié)果如下(結(jié)果經(jīng)過編輯):
hon | 系數(shù)β | 標準誤 | P |
截距 | -1.12546 | 0.164 | 0.000 |
這里的系數(shù)β就是模型中的β0 = -1.12546,
我們用p表示學生在榮譽班的概率,所以有l(wèi)n(p/(1-p) =β0 = -1.12546,
解方程得:p = 0.245。
odds = p/1-p = 0.3245
這里的p是什么意思呢?p就是所有數(shù)據(jù)中hon=1的概率。
我們來統(tǒng)計一下整個hon的數(shù)據(jù):
hon | 例數(shù) | 百分比 |
0 | 151 | 75.5% |
1 | 49 | 24.5% |
hon取值為1的概率p為49/(151+49) = 24.5% = 0.245,我們可以手動計算出ln(p/(1-p) = -1.12546,等于系數(shù)β0??梢缘贸鲫P(guān)系:
β0=ln(odds)。
2、包含一個二分類因變量的模型
擬合一個包含二分類因變量female的Logistic回歸,
模型為 ln(p/(1-p) =β0 +β1* female.
回歸結(jié)果如下(結(jié)果經(jīng)過編輯):
hon | 系數(shù)β | 標準誤 | P |
female | 0.593 | .3414294 | 0.083 |
截距 | -1.47 | .2689555 | 0.000 |
在解讀這個結(jié)果之前,先看一下hon和female的交叉表:
hon | female | Total | |
Male | Female | ||
0 | 74 | 77 | 151 |
1 | 17 | 32 | 49 |
Total | 91 | 109 |
|
根據(jù)這個交叉表,對于男性(Male),其處在榮譽班級的概率為17/91,處在非榮譽班級的概率為74/91,所以其處在榮譽班級的幾率odds1=(17/91)/(74/91) = 17/74 = 0.23;相應(yīng)的,女性處于榮譽班級的幾率odds2 = (32/109)/(77/109)=32/77 = 0.42。女性對男性的幾率之比OR = odds2/odds1 = 0.42/0.23 = 1.809。我們可以說,女性比男性在榮譽班的幾率高80.9%。
回到Logistic回歸結(jié)果。截距的系數(shù)-1.47是男性odds的對數(shù)(因為男性用female=0表示,是對照組),ln(0.23) = -1.47。變量female的系數(shù)為0.593,是女性對男性的OR值的對數(shù),ln(1.809) = 0.593。所以我們可以得出關(guān)系: OR = exp(β),或者β= ln(OR)(exp(x)函數(shù)為指數(shù)函數(shù),代表e的x次方)。
3、包含一個連續(xù)變量的模型
擬合一個包含連續(xù)變量math的Logistic回歸,
模型為 ln(p/(1-p) =β0 +β1* math.
回歸結(jié)果如下(結(jié)果經(jīng)過編輯):
hon | 系數(shù)β | 標準誤 | P |
math | .1563404 | .0256095 | 0.000 |
截距 | -9.793942 | 1.481745 | 0.000 |
這里截距系數(shù)的含義是在榮譽班中math成績?yōu)?的odds的對數(shù)。我們計算出odds = exp(-9.793942) = .00005579,是非常小的。因為在我們的數(shù)據(jù)中,沒有math成績?yōu)?的學生,所以這是一個外推出來的假想值。
怎么解釋math的系數(shù)呢?根據(jù)擬合的模型,有:
ln(p/(1-p)) = - 9.793942 + .1563404*math
我們先假設(shè)math=54,有:
ln(p/(1-p))(math=54) = - 9.793942 + .1563404 *54
然后我們把math提高提高一個單位,令math=55,有:
ln(p/(1-p))(math=55) = - 9.793942 + .1563404 *55
兩者之差:
ln(p/(1-p))(math=55) - ln(p/1-p))(math = 54) = 0.1563404.
正好是變量math的系數(shù)。
由此我們可以說,math每提高1個單位,odds(即p/(1-p),也即處于榮譽班的幾率)的對數(shù)增加0.1563404。
那么odds增加多少呢?根據(jù)對數(shù)公式:
ln(p/(1-p))(math=55) - ln(p/1-p))(math = 54) = ln((p/(1-p)(math=55)/ (p/(1-p)(math=54))) = ln(odds(math=55)/ odds(math=54)) = 0.1563404.
所以:
odds(math=55)/ odds(math=54) = exp(0.1563404) = 1.169.
因此我們可以說,math每升高一個單位,odds增加16.9%。且與math的所處的絕對值無關(guān)。
聰明的讀者肯定發(fā)現(xiàn),odds(math=55)/ odds(math=54)不就是OR嘛!
4、包含多個變量的模型(無交互效應(yīng))
擬合一個包含female、math、read的Logistic回歸,
模型為 ln(p/(1-p) = β0 +β1* math+β2* female+β3* read.
回歸結(jié)果如下(結(jié)果經(jīng)過編輯):
hon | 系數(shù)β | 標準誤 | P |
math | .1229589 | 略 | 0.000 |
female | 0.979948 | 略 | 0.020 |
read | .0590632 | 略 | 0.026 |
截距 | -11.77025 | 略 | 0.000 |
該結(jié)果說明:
(1) 性別:在math和read成績都相同的條件下,女性(female=1)進入榮譽班的幾率(odds)是男性(female=0)的exp(0.979948) = 2.66倍,或者說,女性的幾率比男性高166%。
(2) math成績:在female和read都相同的條件下,math成績每提高1,進入榮譽班的幾率提高13%(因為exp(0.1229589) = 1.13)。
(3)read的解讀類似math。
5、包含交互相應(yīng)的模型
擬合一個包含female、math和兩者交互相應(yīng)的Logistic回歸,
模型為 ln(p/(1-p) =β0 +β1* female+β2* math+β3* female *math.
所謂交互效應(yīng),是指一個變量對結(jié)果的影響因另一個變量取值的不同而不同。
回歸結(jié)果如下(結(jié)果經(jīng)過編輯):
hon | 系數(shù)β | 標準誤 | P |
female | -2.899863 | 略 | 0.349 |
math | .1293781 | 略 | 0.000 |
female*math | .0669951 | 略 | 0.210 |
截距 | -8.745841 | 略 | 0.000 |
注意:female*math項的P為0.21,可以認為沒有交互相應(yīng)。但這里我們?yōu)榱酥v解交互效應(yīng),暫時忽略P值,姑且認為他們是存在交互效應(yīng)的。
由于交互效應(yīng)的存在,我們就不能說在保持math和female*math不變的情況下,female的影響如何如何,因為math和female*math是不可能保持不變的!
對于這種簡單的情況,我們可以分別擬合兩個方程,
對于男性(female=0):
log(p/(1-p))= β0 + β2*math.
對于女性(female=1):
log(p/(1-p))= (β0 + β1) + (β2 + β3 )*math.
然后分別解釋。
分類變量(啞變量)的處理及解讀
一、啞變量的設(shè)置方法
年齡 | 變量1 | 變量2 |
青年 | 1 | 0 |
中年 | 0 | 1 |
老年 | 0 | 0 |