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% 來說明我的觀點)

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

背景

回想一下 Logistic 回歸模型

  • 概率 $ (Y = 1) $ : $ p = \frac{e^{\alpha + \beta_1x_1 + \beta_2 x_2}}{1 + e^{ \alpha + \beta_1x_1 + \beta_2 x_2}} $
  • 賠率_ $ (Y = 1) $ : $ \left( \frac{p}{1-p}\right) = e^{\alpha + \beta_1x_1 + \beta_2 x_2} $
  • 數賠率 $ (Y = 1) $ : $ \log \left( \frac{p}{1-p}\right) = \alpha + \beta_1x_1 + \beta_2 x_2 $

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

$$ \text{Odds}(Y = 1) = e^{\alpha + \beta_1(x_1 + 1) + \beta_2x_2} = e^{\alpha + \beta_1 x_1 + \beta_1 + \beta_2x_2 } $$

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

$$ \frac{\text{Odds}(x_1 + 1)}{\text{Odds}(x_1)} = \frac{e^{\alpha + \beta_1(x_1 + 1) + \beta_2x_2} }{e^{\alpha + \beta_1 x_1 + \beta_2x_2}} = e^{\beta_1} $$

  • 對數優勢比= $ \beta_1 $
  • 相對風險或(概率比)= $ \frac{ \frac{e^{\alpha + \beta_1x_1 + \beta_1 + \beta_2 x_2}}{1 + e^{ \alpha + \beta_1x_1 + \beta_1 + \beta_2 x_2}}}{ \frac{e^{\alpha + \beta_1x_1 + \beta_2 x_2}}{1 + e^{ \alpha + \beta_1x_1 + \beta_2 x_2}}} $

解釋係數

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

  • 每增加一個單位 $ x_j $ 對數優勢比增加 $ \beta_j $ .
  • 每增加一個單位 $ x_j $ 優勢比增加 $ e^{\beta_j} $ .
  • 對於每增加一個 $ x_j $ 從 $ k $ 到 $ k + \Delta $ 優勢比增加 $ e^{\beta_j \Delta} $
  • 如果係數為負,則增加 $ x_j $ 導致優勢比下降。

單個參數的置信區間 $ \beta_j $

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

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

$$ \beta_j \pm z^* SE(\beta_j) $$

這給出了對數優勢比的置信區間。使用 MLE 的不變性屬性允許我們取冪得到 $$ e^{\beta_j \pm z^* SE(\beta_j)} $$

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

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

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

幾個參數的 Bonferroni 過程

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

$$ \beta_g \pm z_{(1 - \frac{\alpha}{2g})}SE(\beta_g) $$

概率估計的置信區間

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

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

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

自從 $ Pr(x^T\beta) = F(x^T\beta) $ 是一個單調變換 $ x^T\beta $

$$ [Pr(x^T\beta)_L \leq Pr(x^T\beta) \leq Pr(x^T\beta)_U] = [F(x^T\beta)_L \leq F(x^T\beta) \leq F(x^T\beta)_U] $$

具體來說,這意味著計算 $ \beta^Tx \pm z^* SE(\beta^Tx) $ 然後將 logit 變換應用於結果以獲得下限和上限:

$$ [\frac{e^{x^T\beta - z^* SE(x^T\beta)}}{1 + e^{x^T\beta - z^* SE(x^T\beta)}}, \frac{e^{x^T\beta + z^* SE(x^T\beta)}}{1 + e^{x^T\beta + z^* SE(x^T\beta)}},] $$

估計的近似方差 $ x^T\beta $ 可以使用回歸係數的協方差矩陣計算

$$ Var(x^T\beta) = x^T \Sigma x $$

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

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


來源和信息

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

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

編輯 2021 年 10 月 - 新鏈接

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

comments powered by Disqus