J'utilise une régression logistique binomiale pour identifier si l'exposition à has_x
ou has_y
affecte la probabilité qu'un utilisateur clique sur quelque chose. Mon modèle est le suivant:
fit = glm(formula = has_clicked ~ has_x + has_y,
data=df,
family = binomial())
Voici la sortie de mon modèle:
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
Comme chaque coefficient est significatif, en utilisant ce modèle, je peux dire quelle est la valeur de l'une de ces combinaisons en utilisant l'approche suivante:
predict(fit, data.frame(has_x = T, has_y=T), type = "response")
Je ne comprends pas comment je peux faire rapport sur le Std. Erreur de prédiction.
Dois-je simplement utiliser ? Ou dois-je convertir le utilisant une approche décrite ici ?
Si je veux comprendre l'erreur standard pour les deux variables, comment puis-je considérer cela?
Contrairement à cette question , je suis intéressé à comprendre quelles sont les limites supérieure et inférieure de l'erreur en pourcentage. Par exemple, ma prédiction montre une valeur de 37% car True,True
puis-je calculer que c'est pour un 95 % C I ? (0,3% choisi pour illustrer mon propos)
la source
Réponses:
Votre question peut provenir du fait que vous traitez avec les rapports de cotes et les probabilités, ce qui prête à confusion au début. Puisque le modèle logistique est une transformation non linéaire de calculant les intervalles de confiance ne sont pas aussi simples.βTx
Contexte
Rappelons que pour le modèle de régression logistique
Probabilité de : p = e α + β 1 x 1 + β 2 x 2(Y=1) p=eα+β1x1+β2x21+eα+β1x1+β2x2
Chances de : ( p(Y=1) (p1−p)=eα+β1x1+β2x2
Log Odds of : log ( p(Y=1) log(p1−p)=α+β1x1+β2x2
Considérons le cas où vous avez une augmentation d'une unité dans la variable , c'est-à-dire x 1 + 1 , alors les nouvelles cotes sontx1 x1+1
Log Odds Ratio =β1
Risque relatif ou (rapport de probabilité) =eα+β1x1+β1+β2x21+eα+β1x1+β1+β2x2eα+β1x1+β2x21+eα+β1x1+β2x2
Interprétation des coefficients
Comment interpréteriez-vous la valeur du coefficientβj ? En supposant que tout le reste reste fixe:
Intervalles de confiance pour un seul paramètreβj
Étant donné que le paramètre est estimé à l'aide de l'estimation du maximum de vraisemblance, la théorie MLE nous dit qu'il est asymptotiquement normal et que nous pouvons donc utiliser l' intervalle de confiance Wald à grand échantillon pour obtenir l'habituelβj
Ce qui donne un intervalle de confiance sur le log-odds ratio. L'utilisation de la propriété d'invariance du MLE permet d'exponentier pour obtenir
qui est un intervalle de confiance sur le rapport de cotes. Notez que ces intervalles ne concernent qu'un seul paramètre.
Si vous incluez plusieurs paramètres, vous pouvez utiliser la procédure de Bonferroni, sinon pour tous les paramètres, vous pouvez utiliser l'intervalle de confiance pour les estimations de probabilité
Procédure de Bonferroni pour plusieurs paramètres
Intervalles de confiance pour les estimations de probabilité
The logistic model outputs an estimation of the probability of observing a one and we aim to construct a frequentist interval around the true probabilityp such that Pr(pL≤p≤pU)=.95
One approach called endpoint transformation does the following:
SincePr(xTβ)=F(xTβ) is a monotonic transformation of xTβ
Concretely this means computingβTx±z∗SE(βTx) and then applying the logit transform to the result to get the lower and upper bounds:
The estimated approximate variance ofxTβ can be calculated using the covariance matrix of the regression coefficients using
The advantage of this method is that the bounds cannot be outside the range(0,1)
There are several other approaches as well, using the delta method, bootstrapping etc.. which each have their own assumptions, advantages and limits.
Sources and info
My favorite book on this topic is "Applied Linear Statistical Models" by Kutner, Neter, Li, Chapter 14
Otherwise here are a few online sources:
la source
To get the 95% confidence interval of the prediction you can calculate on the logit scale and then convert those back to the probability scale 0-1. Here is an example using the titanic dataset.
The mean and low/high 95% CI.
And the output from just using
type='response'
, which only gives the meanla source
predict(fit, data.frame(Sex='male', Pclass='First'), type='response', se.fit=TRUE)
will work.