計算邏輯回歸的置信區間
我正在使用二項式邏輯回歸來確定是否接觸
has_x
或has_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。預測誤差。
- 我只需要使用? 還是我需要轉換 使用此處描述的方法?
- 如果我想了解這兩個變量的標準誤差,我將如何考慮?
與這個問題不同,我有興趣了解錯誤的上限和下限以百分比表示。例如,我的預測顯示了 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 章*
否則,這裡有一些在線資源:
- 繪製邏輯回歸預測概率的置信區間
- https://stackoverflow.com/questions/47414842/confidence-interval-of-probability-prediction-from-logistic-regression-statsmode
編輯 2021 年 10 月 - 新鏈接