計算邏輯回歸的置信區間
我正在使用二項式邏輯回歸來確定是否接觸
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% 來說明我的觀點)
您的問題可能來自您正在處理的賠率和概率,這起初令人困惑。由於邏輯模型是一個非線性變換 βTx 計算置信區間並不那麼簡單。
背景
回想一下 Logistic 回歸模型
- 的概率 (Y=1) : p=eα+β1x1+β2x21+eα+β1x1+β2x2
- 賠率_ (Y=1) : (p1−p)=eα+β1x1+β2x2
- 對數賠率 (Y=1) : log(p1−p)=α+β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 .
- 對於每增加一個 xj 從 k 到 k+Δ 優勢比增加 eβjΔ
- 如果係數為負,則增加 xj 導致優勢比下降。
單個參數的置信區間 βj
我只需要使用 1.96∗SE ? 還是我需要使用此處描述的方法轉換 SE?
由於參數 βj 使用最大似然估計進行估計,MLE 理論告訴我們它是漸近正態的,因此我們可以使用大樣本Wald置信區間來獲得通常的
βj±z∗SE(βj)
這給出了對數優勢比的置信區間。使用 MLE 的不變性屬性允許我們取冪得到 eβj±z∗SE(βj)
這是優勢比的置信區間。請注意,這些間隔僅適用於單個參數。
如果我想了解這兩個變量的標準誤差,我將如何考慮?
如果包含多個參數,則可以使用 Bonferroni 過程,否則對於所有參數,您可以使用置信區間進行概率估計
幾個參數的 Bonferroni 過程
如果 g 參數估計家庭置信係數約為 1−α ,聯合 Bonferroni 置信限為
βg±z(1−α2g)SE(βg)
概率估計的置信區間
邏輯模型輸出觀察到一個概率的估計,我們的目標是圍繞真實概率構建一個頻率區間 p 這樣 Pr(pL≤p≤pU)=.95
一種稱為端點轉換的方法執行以下操作:
- 計算線性組合的置信區間的上限和下限 xTβ (使用 Wald CI)
- 對端點應用單調變換 F(xTβ) 來獲得概率。
自從 Pr(xTβ)=F(xTβ) 是一個單調變換 xTβ
[Pr(xTβ)L≤Pr(xTβ)≤Pr(xTβ)U]=[F(xTβ)L≤F(xTβ)≤F(xTβ)U]
具體來說,這意味著計算 βTx±z∗SE(βTx) 然後將 logit 變換應用於結果以獲得下限和上限:
[exTβ−z∗SE(xTβ)1+exTβ−z∗SE(xTβ),exTβ+z∗SE(xTβ)1+exTβ+z∗SE(xTβ),]
估計的近似方差 xTβ 可以使用回歸係數的協方差矩陣計算
Var(xTβ)=xTΣ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 月 - 新鏈接