Logistic 回歸模型的參數估計為什麼不能採用最小二乘法?


這個問題下面太多胡扯的答案了。

先反對:

@郝智恆 不知為何說OLS需要X滿秩。這句話當然是對的,但是這是句屁話,因為Logistic 回歸也需要滿秩。這個問題跟是不是full rank完全沒有關係。

@Jack Diamond 說對了一半,關鍵在於Y的不同,但是另外一半並不恰當,OLS的BLUE等優良性質並不需要正態分布,從正態分布和Logistic 分布來說這個問題,也是說歪了。

其他的胡扯不一一反駁。

回答問題:其實是可以用最小二乘的。

首先,的確可以使用「普通最小二乘」,也就是OLS做Y為0/1的回歸。但是我們一般不用,為什麼呢?因為一般我們的Y為0/1的時候,我們想得到的是Y=1的概率,而概率是不能小於0,不能大於1的,而用OLS則很容易出現小於0或者大於1的概率預測值。這是第一個原因。

第二個原因,從稍微計量一點的角度來講,OLS的關鍵假設是誤差項u與x不相關,但是當Y=0/1的時候,可以想像這個假設是不成立的。

第三個原因,不僅僅u與x相關了,而且u的方差也與x相關了 ,所以u 存在著異方差,又違背了BLUE的假設。

第四個原因,從線性投影的角度來看OLS,要求Y等向量在一個向量空間裡面,但是只能取0/1的Y必然不可能和連續的X一樣存在一個N維的向量空間裡面。

所以如果Y只能取0/1兩個值,問題就跳出了線性模型的範圍,變成了一個非線性模型。當然由於這個模型比較簡單,仍然在「廣義線性模型」的框架以內。

此外,儘管OLS是不恰當的,但是並不是說「最小二乘」就不能用。因為「最小二乘」廣義上來說可不止包含普通最小二乘(OLS),還包括非線性最小二乘(NLS)、加權最小二乘(WLS)等。

在Logistic模型:y=1{x,假設u服從Logistic分布,那麼likelihood function可以寫為:

L(y,x;b)= yln F(x

F.O.C:

frac{f(x

觀察上面式子,可以知道極大似然的解與以下非線性最小二乘的解應該是漸進等價的:

min_b sum [y-F(x

當然,以上的方法不是最有效的,最有效的方法是使用加權最小二乘,得到的結果應該與MLE的結果是一樣有效的(注意不能直接最小化加權最小二乘的權重和目標,加權最小二乘的權重必須是分步回歸中第一步得到的)。

所以嚴格來說,題主的問題問錯了,最小二乘是可以用的,只不過一般不能用OLS而已。


統計狗來總結一下前面各個樓主的回答,先甩答案:

logistic回歸模型的參數估計問題,是可以用最小二乘方法的思想進行求解的,但和經典的(或者說用在經典線性回歸的參數估計問題)最小二乘法不同,是用的是「迭代重加權最小二乘法」(IRLS, Iteratively Reweighted Least Squares)。本質上不能使用經典的最小二乘法的原因在於,logistic回歸模型的參數估計問題不能「方便地」定義「誤差」或者「殘差」。

下面是對經典線性回歸問題和logistic回歸問題的一些討論。

(1)最小二乘/最小二乘法、最小二乘估計和極大似然估計的區別
最小二乘/最小二乘法可以看成是一種樸素的思想,即如果某種差異可以量化為實數,那麼我們就可以(自然地)把這些差異的平方相加,將這個和作為一種目標函數。我記得我們高代有節課專門講過「二乘」的矩陣形式,以及相關的「最小」這一優化目標的矩陣運算等等。
最二乘估計是指用最小二乘法對統計模型中的參數進行估計的估計方法。除了最小二乘估計,還有常用的極大似然估計、矩估計等參數估計的方法。對經典線性回歸模型的參數估計來說,最小二乘估計和極大似然估計的結果是等價的,換句話說,對於其他模型,這種等價性就可能不成立。對於logistic回歸模型來說,極大似然估計是沒有解析解(closed form solution)的。
最小二乘估計和極大似然估計的不同在於優化的目標函數不同。最小二乘估計因為是用的最小二乘法,目標函數就是前面提到的那種「自然地」對「誤差」或者「殘差」的處理方式(這裡「誤差」和「殘差」之所以加引號,是因為我們為了理解方便賦予了操作對象「某種差異」實際的意義);極大似然估計的目標函數是似然函數。可見,前者的目標函數依賴於我們對「誤差」的選取,而後者依賴於數據的具體概率分布。最小二乘估計有很多良好的性質,這些性質是不依賴於具體概率分布的,僅需要滿足Gauss-Markov假設即可。

(2)經典線性回歸模型和logistic回歸模型的區別

經典線性回歸模型常用的形式是

y=	extbf{X}eta+epsilon(*),

其中epsilon服從0均值sigma^2的正態分布(或者更一般的,服從Gauss-Markov假設:0均值、等方差、不相關,即不一定是正態的);

logistic回歸模型常用的形式是


m{Pr}(Y=y)=pi^y(1-pi)^{1-y}, 
m {logit}(pi)=	extbf{X}eta

(**)

如果只看這兩種表示方式,可能會覺得這兩個模型差別很大,比如說,logistic模型(**)怎麼沒有誤差項呢?y在(*)裡面是服從有2個參數的正態分布N(mu,sigma^2),在(**)裡面是服從1個參數的伯努利分布Bernoulli (p),為什麼	extbf{X}eta在(**)中模擬了全部的未知參數,而在(*)中只模擬了一個參數mu

實際上,logistic模型可以看成是	extbf{X}eta加上一個logistic 誤差項,即

y=1,	extbf{X}eta+epsilon>0y=0, 	extbf{X}eta+epsilon leq0

其中epsilon服從標準的logistic分布。這樣,logistic模型就有一個潛變數的表達形式:

z=	extbf{X}eta+epsilon, y=f(z)

這裡的潛變數連接函數f()具體說就是大於零取1,其他情況取0。這樣來說,(*)和(**)都可以寫成有誤差項的表示。

另一方面,從條件期望的表示來看,

模型(*)可以寫成:mathbb{E} (Y=y | 	extbf{X})=mu, 	extbf{X}eta=g(mu)=mu

模型(**)可以寫成:mathbb{E} (Y=y | 	extbf{X})=pi, 	extbf{X}eta=h(pi)=
m{logit}(pi)=log(frac{pi}{1-pi})

可見兩個模型分別靠一個函數g,h	extbf{X}eta和參數相連接,只是g具體來說是identity函數,h

是logit函數。這類模型都可以統一到廣義線性回歸模型GLM裡面。

最後再點一下題,經典的最小二乘法可以處理比較方便寫出「殘差」的模型的參數估計,比如(*)中的「殘差」是連續的實數,因為	extbf{X}eta是模擬的「均值」;而在(**)中的「殘差」是離散的0和1,因為	extbf{X}eta模擬的是產生這些0和1的「概率」。但是如果換成極大似然估計,這些差異都可以統一起來,用極大化似然函數的方法進行求解。


其實logistic regression最經典的解法就叫做Iteratively reweighted least squares

這是一個迭代演算法,每一步都在解一個加權的最小二乘。


曾經在畢業設計中利用最小二乘法做回歸分析,老師聽聞我的核心演算法之後,直接讓我演示結果,連演算法都懶得聽了。。。。。


Logistic跟普通OLS回歸的最大區別在於y而不是X,X仍然可以是full rank的。

OLS(最小二乘法)通常用於正態分布場合,這樣寫出likelihood function然後求其MLE,會發現參數b的最優解就是OLS:hat{b} = (X"X)^{-1} X"Y. OLS的consistency本質上依賴於Gauss-Markov假設,只是其最初是從直觀角度設計的,所以有些人學習的時候沒注意它的這種概率論解釋。

Logistic模型的likelihood function複雜一些,其MLE沒有顯式解,自然談不上OLS了。


因為出現高人指點,因此刪除兩年前的錯誤答案不再誤人子弟。學習受教了。


可以用。然而logistic回歸時用來解決二元分類問題的,可以用classification解決的問題最好不要用regression,因為不容易優化

It is important to note that the L2 loss is much harder to optimize than a more stable loss such as Softmax. Intuitively, it requires a very fragile and specific property from the network to output exactly one correct value for each input (and its augmentations)

摘自:CS231n Convolutional Neural Networks for Visual Recognition

另外logistic這個奇葩函數也不是YY出來的,主要還是假設sample服從伯努利分布,最大化log likelihood函數(對其求導)後推到出的假設函數。而mse是假設sample服從高斯分布,最大化log likelihood函數後得到的假設函數。詳情可以參見Andrew Ng的machine learning公開課Lecture notes 1,section 5

http://cs229.stanford.edu/notes/cs229-notes1.pdf


可以用啊。雖然用不了OLS,因為需要滿足線性的MLR1要求。但是可以用非線性最小二乘嘛。


可以用的。


logit的utility function假設disturbance term是extreme value dist,變成prob function後以後已經不包含disturbance,所以無法用最小二乘。


1.最小二乘估計,在數據是高斯分布時等價於極大似然估計。不過因為最小二乘估計提出得比極大似然估計早,很多人以為這是兩個東西。但我一直把它們看成一個東西。

2.Logistics回歸的最常用解法是迭代的加權最小二乘,解釋的話從廣義估計方程(GEE)來看是非常清晰的。具體可以看glmnet包的演算法論文。


logistic回歸似然函數的導函數並不是線性的,而是存在對數函數,所以在數值求解的過程中會很複雜。


可以用最小二乘回歸啊


就我覺得是因為預測的y是表示類別而不是數值?


很多答案都在扯蛋。最簡單的解釋就是:你把likelihood function寫出來不就知道了?

要做參數估計,第一件事就是找likelihood,找likelihood,找likelihood!


Loss function不同


設Y為因變數,在binary logistic回歸中,Y=0或1.

令p=P(y=1)=F(eta_i X_i),i=1,,2,...k,

假設F()為一線性函數,則

p=eta_0 + eta_1X_1 + eta_2X_2 + ... + eta_kX_k +varepsilon

p 的值一定在區間[0,1]內,
而且當 p 接近於 0 或 1 時,自變數即使有很大變化 p 的值也不可能變化很大,所以不能對上式直接用普通最小二乘法進行估計


推薦閱讀:

TAG:回歸模型 | 參數估計 |