原文鏈接:http://tecdat.cn/?p=6295
並非所有結果/因變量都可以使用線性回歸進行合理建模。也許第二種最常見的回歸模型是邏輯回歸,它適用於二元結果數據。如何計算邏輯回歸模型的R平方?
麥克法登R平方
在R中,glm(廣義線性模型)命令是用於擬合邏輯回歸的標准命令。據我所知,擬合的glm對象並沒有直接給你任何偽R平方值,但可以很容易地計算出McFadden的度量。為此,我們首先擬合我們感興趣的模型,然后是僅包含截距的null模型。然后我們可以使用擬合模型對數似然值計算McFadden的R平方:
為了了解預測器需要獲得某個McFadden的R平方值的強度,我們將使用單個二進制預測器X來模擬數據, 我們首先嘗試P(Y = 1 | X = 0)= 0.3和P(Y = 1 | X = 1)= 0.7:
因此,即使X對Y = 1的概率有相當強烈的影響,McFadden的R2也只有0.13。要增加它,我們必須使P(Y = 1 | X = 0)和P(Y = 1 | X = 1)更加不同:
即使X將P(Y = 1)從0.1變為0.9,McFadden的R平方僅為0.55。最后我們將嘗試0.01和0.99的值 - 我稱之為非常強大的效果!
現在我們有一個更接近1的值。
分組二項數據與單個數據
data < - data.frame(s = c(700,300),f = c(300,700),x = c(0,1)) SFX 1 700 300 0 2 300 700 1
為了使邏輯回歸模型適合R中的數據,我們可以將響應傳遞給glm函數, :
我們現在將分組的二項式數據轉換為 伯努利 數據,並適合相同的邏輯回歸模型。
正如所料,我們從分組數據框中獲得相同的參數估計和推論。
我們看到分組數據模型的R平方為0.96,而單個數據模型的R平方僅為0.12。