Logistic
邏輯回歸:如何獲得飽和模型
我剛剛閱讀了關於邏輯回歸的偏差度量。但是,我不清楚稱為飽和模型的部分。
我進行了廣泛的谷歌搜索,但沒有一個結果回答了我的問題。到目前為止,我發現飽和模型對每個觀察都有一個參數,因此可以完美擬合。這對我來說很清楚。但是:進一步擬合值(飽和模型的)等於觀察值。
因為據我所知,邏輯回歸用於分類給定的觀察數據是帶有附加標籤的協變量. 但是,偏差度量使用概率而不是實際標籤。一種應用邏輯回歸的計算預測概率與觀察概率。但是,由於只給出了標籤而不是概率,我很困惑如何從這些標籤構建一個飽和模型?
對於每個,飽和模型的擬合概率將與,零或一。正如這裡所解釋的,飽和模型的可能性是. 因此,這種模型的偏差將是, 在df。以下是 R 中的一個示例:
y = c(1,1,1,0,0,0) a <- factor(1:length(y)) fit <- glm(y~a,family=binomial) summary(fit) Deviance Residuals: 0 0 0 0 0 0 Null deviance: 8.3178e+00 on 5 degrees of freedom Residual deviance: 2.5720e-10 on 0 degrees of freedom
飽和模型總是有參數是樣本量。這就是為什麼零偏差總是在df,因為空模型只有截距。例如,如果我為六個因子水平中的每一個添加一個重複,我將得到以下結果:
> k2 [1] 1 2 3 4 5 6 1 2 3 4 5 6 Levels: 1 2 3 4 5 6 > y2 [1] 1 1 1 0 0 0 1 1 1 0 0 0 > fit3 = glm(y2 ~ k2, family = binomial) > summary(fit3) Null deviance: 1.6636e+01 on 11 degrees of freedom Residual deviance: 5.1440e-10 on 6 degrees of freedom
實際上,在 R 中,即使數據完全相同,飽和模型是什麼也取決於輸入的形式,這不是很好。特別是,在上面的示例中,有 12 個觀測值和 6 個因子水平,因此飽和模型應該有 6 個參數,而不是 12 個。通常,飽和模型定義為參數數量等於參數數量的模型。不同的協變量模式。我不知道為什麼 R 代碼“承認”因子 k2 有 6 個不同的級別,而飽和模型卻配備了 12 個參數。
現在,如果我們以“二項式”形式使用完全相同的數據,我們將得到正確答案:
y_yes = 2 * c(1,1,1,0,0,0) y_no = 2 * c(0,0,0,1,1,1) x = factor(c(1:6)) > x [1] 1 2 3 4 5 6 Levels: 1 2 3 4 5 6 > y_yes [1] 2 2 2 0 0 0 > y_no [1] 0 0 0 2 2 2 modelBinomialForm = glm(cbind(y_yes, y_no) ~ x, family=binomial) Deviance Residuals: [1] 0 0 0 0 0 0 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 2.490e+01 1.096e+05 0 1 x2 1.375e-08 1.550e+05 0 1 x3 1.355e-08 1.550e+05 0 1 x4 -4.980e+01 1.550e+05 0 1 x5 -4.980e+01 1.550e+05 0 1 x6 -4.980e+01 1.550e+05 0 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 1.6636e+01 on 5 degrees of freedom Residual deviance: 3.6749e-10 on 0 degrees of freedom
現在我們看到飽和模型有 6 個參數,並且與擬合模型一致。因此,零偏差在 (6 - 1) = 5 df 上,剩餘偏差在 (6-6) = 0 df 上。