Estoy usando una regresión logística binomial para identificar si la exposición has_x
o has_y
impacto tiene la probabilidad de que un usuario haga clic en algo. Mi modelo es el siguiente:
fit = glm(formula = has_clicked ~ has_x + has_y,
data=df,
family = binomial())
Este es el resultado de mi modelo:
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
Como cada coeficiente es significativo, usando este modelo puedo decir cuál es el valor de cualquiera de estas combinaciones usando el siguiente enfoque:
predict(fit, data.frame(has_x = T, has_y=T), type = "response")
No entiendo cómo puedo informar sobre el estándar. Error de la predicción.
¿Solo necesito usar ? ¿O necesito convertir el usando un enfoque descrito aquí ?
Si quiero entender el error estándar para ambas variables, ¿cómo lo consideraría?
A diferencia de esta pregunta , estoy interesado en comprender cuáles son los límites superior e inferior del error en un porcentaje. Por ejemplo, de mi predicción muestra un valor de 37% para True,True
¿puedo calcular que esto es para un ? (0.3% elegido para ilustrar mi punto)
fuente
Respuestas:
Su pregunta puede provenir del hecho de que se trata de Odds Ratios y Probabilidades, lo cual es confuso al principio. Dado que el modelo logístico es una transformación no lineal de la computación , los intervalos de confianza no son tan sencillos.βTx
Antecedentes
Recordemos que para el modelo de regresión logística
Probabilidad de : p = e α + β 1 x 1 + β 2 x 2(Y=1) p = eα+β1x1+β2x21+eα+β1x1+β2x2
Probabilidades de : ( p(Y=1) (p1−p)=eα+β1x1+β2x2
Log Odds of : log ( p(Y=1) log(p1−p)=α+β1x1+β2x2
Considere el caso en el que tiene un aumento de una unidad en la variable , es decir, x 1 + 1 , entonces las nuevas probabilidades sonx1 x1+1
Log Odds Ratio =β1
Riesgo relativo o (razón de probabilidad) =eα+β1x1+β1+β2x21+eα+β1x1+β1+β2x2eα+β1x1+β2x21+eα+β1x1+β2x2
Coeficientes de interpretación
¿Cómo interpretaría el valor del coeficiente ? Suponiendo que todo lo demás permanece fijo:βj
Confidence intervals for a single parameterβj
Since the parameterβj is estimated using Maxiumum Likelihood Estimation, MLE theory tells us that it is asymptotically normal and hence we can use the large sample Wald confidence interval to get the usual
Which gives a confidence interval on the log-odds ratio. Using the invariance property of the MLE allows us to exponentiate to get
which is a confidence interval on the odds ratio. Note that these intervals are for a single parameter only.
If you include several parameters you can use the Bonferroni procedure, otherwise for all parameters you can use the confidence interval for probability estimates
Bonferroni procedure for several parameters
Ifg parameters are to be estimated with family confidence coefficient of approximately 1−α , the joint Bonferroni confidence limits are
Confidence intervals for probability estimates
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:
fuente
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 meanfuente
predict(fit, data.frame(Sex='male', Pclass='First'), type='response', se.fit=TRUE)
will work.