Regression

計算邏輯回歸的置信區間

  • July 2, 2018

我正在使用二項式邏輯回歸來確定是否接觸has_xhas_y影響用戶點擊某物的可能性。我的模型如下:

fit = glm(formula = has_clicked ~ has_x + has_y, 
         data=df, 
         family = binomial())

這是我模型的輸出:

Call:
glm(formula = has_clicked ~ has_x + has_y, 
   family = binomial(), data = active_domains)

Deviance Residuals: 
   Min       1Q   Median       3Q      Max  
-0.9869  -0.9719  -0.9500   1.3979   1.4233  

Coefficients:
                     Estimate Std. Error z value Pr(>|z|)    
(Intercept)          -0.504737   0.008847 -57.050  < 2e-16 ***
has_xTRUE -0.056986   0.010201  -5.586 2.32e-08 ***
has_yTRUE  0.038579   0.010202   3.781 0.000156 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

   Null deviance: 217119  on 164182  degrees of freedom
Residual deviance: 217074  on 164180  degrees of freedom
AIC: 217080

Number of Fisher Scoring iterations: 4

由於每個係數都很重要,因此使用此模型,我可以使用以下方法判斷這些組合中的任何一個的值是多少:

predict(fit, data.frame(has_x = T, has_y=T), type = "response")

我不明白如何報告 Std。預測誤差。

  1. 我只需要使用? 還是我需要轉換 使用此處描述的方法?
  2. 如果我想了解這兩個變量的標準誤差,我將如何考慮?

與這個問題不同,我有興趣了解錯誤的上限和下限以百分比表示。例如,我的預測顯示了 37% 的值,True,True我可以計算出這是為一個? (選擇 0.3% 來說明我的觀點)

您的問題可能來自您正在處理的賠率和概率,這起初令人困惑。由於邏輯模型是一個非線性變換 βTx 計算置信區間並不那麼簡單。

背景

回想一下 Logistic 回歸模型

  • 概率 (Y=1)p=eα+β1x1+β2x21+eα+β1x1+β2x2
  • 賠率_ (Y=1)(p1p)=eα+β1x1+β2x2
  • 數賠率 (Y=1)log(p1p)=α+β1x1+β2x2

考慮變量增加一個單位的情況 x1 , IE x1+1 ,那麼新的賠率是

Odds(Y=1)=eα+β1(x1+1)+β2x2=eα+β1x1+β1+β2x2

  • **因此,優勢比 (OR)**是

Odds(x1+1)Odds(x1)=eα+β1(x1+1)+β2x2eα+β1x1+β2x2=eβ1

  • 對數優勢比= β1
  • 相對風險或(概率比)= eα+β1x1+β1+β2x21+eα+β1x1+β1+β2x2eα+β1x1+β2x21+eα+β1x1+β2x2

解釋係數

您如何解釋係數值 βj ? 假設其他一切都保持不變:

  • 每增加一個單位 xj 對數優勢比增加 βj .
  • 每增加一個單位 xj 優勢比增加 eβj .
  • 對於每增加一個 xjkk+Δ 優勢比增加 eβjΔ
  • 如果係數為負,則增加 xj 導致優勢比下降。

單個參數的置信區間 βj

我只需要使用 1.96SE ? 還是我需要使用此處描述的方法轉換 SE?

由於參數 βj 使用最大似然估計進行估計,MLE 理論告訴我們它是漸近正態的,因此我們可以使用大樣本Wald置信區間來獲得通常的

βj±zSE(βj)

這給出了對數優勢比的置信區間。使用 MLE 的不變性屬性允許我們取冪得到 eβj±zSE(βj)

這是優勢比的置信區間。請注意,這些間隔僅適用於單個參數。

如果我想了解這兩個變量的標準誤差,我將如何考慮?

如果包含多個參數,則可以使用 Bonferroni 過程,否則對於所有參數,您可以使用置信區間進行概率估計

幾個參數的 Bonferroni 過程

如果 g 參數估計家庭置信係數約為 1α ,聯合 Bonferroni 置信限為

βg±z(1α2g)SE(βg)

概率估計的置信區間

邏輯模型輸出觀察到一個概率的估計,我們的目標是圍繞真實概率構建一個頻率區間 p 這樣 Pr(pLppU)=.95

一種稱為端點轉換的方法執行以下操作:

  • 計算線性組合的置信區間的上限和下限 xTβ (使用 Wald CI)
  • 對端點應用單調變換 F(xTβ) 來獲得概率。

自從 Pr(xTβ)=F(xTβ) 是一個單調變換 xTβ

[Pr(xTβ)LPr(xTβ)Pr(xTβ)U]=[F(xTβ)LF(xTβ)F(xTβ)U]

具體來說,這意味著計算 βTx±zSE(βTx) 然後將 logit 變換應用於結果以獲得下限和上限:

[exTβzSE(xTβ)1+exTβzSE(xTβ),exTβ+zSE(xTβ)1+exTβ+zSE(xTβ),]

估計的近似方差 xTβ 可以使用回歸係數的協方差矩陣計算

Var(xTβ)=xTΣx

這種方法的優點是邊界不能超出範圍 (0,1)

還有其他幾種方法,使用 delta 方法、自舉等。每種方法都有自己的假設、優勢和限制。


來源和信息

我最喜歡的關於這個主題的書是Kutner、Neter、Li的*“Applied Linear Statistical Models” ,第 14 章*

否則,這裡有一些在線資源:

編輯 2021 年 10 月 - 新鏈接

引用自:https://stats.stackexchange.com/questions/354098