De exp (coeficientes) a Odds Ratio y su interpretación en regresión logística con factores

14

Realicé una regresión lineal de aceptación en la universidad contra los puntajes del SAT y los antecedentes familiares / étnicos. Los datos son ficticios. Este es un seguimiento de una pregunta anterior, ya respondida. La pregunta se centra en la recopilación e interpretación de las razones de posibilidades al dejar a un lado los puntajes del SAT por simplicidad.

Las variables son Accepted(0 o 1) y Background("rojo" o "azul"). Configuré los datos para que las personas con antecedentes "rojos" tuvieran más probabilidades de ingresar:

fit <- glm(Accepted~Background, data=dat, family="binomial")
exp(cbind(Odds_Ratio_RedvBlue=coef(fit), confint(fit)))

                        Odds_Ratio_RedvBlue             2.5 %       97.5 %
(Intercept)             0.7088608                     0.5553459   0.9017961
Backgroundred           2.4480042                     1.7397640   3.4595454

Preguntas:

  1. ¿Es 0.7 la proporción impar de una persona con antecedentes "azules" aceptada? Lo pregunto porque también obtengo 0.7 para " Backgroundblue" si en su lugar ejecuto el siguiente código:

    fit <- glm(Accepted~Background-1, data=dat, family="binomial")
    exp(cbind(OR=coef(fit), confint(fit)))
  2. ¿No debería aceptarse la odds ratio de "rojo" ( ) solo el recíproco: ( O d d s B l u e = 1 / O d d s R e d )?UNCCmipagtmire/ /Rmire:UNCCmipagtmire/ /siltumiOreressiltumi=1/ /OreresRmire

Antoni Parellada
fuente
1
Lo Rque llama explícitamente los coeficientes (a través de la función coef) está llamando a la "razón de posibilidades" en su salida. Eso sugiere que es posible que desee revisar la distinción entre los dos.
whuber
Leí la publicación en tu hipervínculo.
Antoni Parellada
Los coeficientes están exponenciados: exp (coef (fit)).
Antoni Parellada
Sí: y como se explica en mi respuesta en ese hilo, la exponenciación de la intercepción le da las probabilidades del caso de referencia.
whuber

Respuestas:

13

He estado trabajando para responder mi pregunta calculando manualmente las probabilidades y las razones de probabilidades:

Acceptance   blue            red            Grand Total
0            158             102                260
1            112             177                289
Total        270             279                549

Entonces, el Odds Ratio de ingresar a la escuela de Red over Blue es:

Oreres UNCCmipagt yoF RmireOreres UNCCCmipagt yoF siltumi=177/ /102112/ /158=1.73530,7089=2.448

Y este es el Backgroundredregreso de:

fit <- glm(Accepted~Background, data=dat, family="binomial")
exp(cbind(Odds_and_OR=coef(fit), confint(fit)))

                      Odds_and_OR                         2.5 %      97.5 %
(Intercept)             0.7088608                     0.5553459   0.9017961
Backgroundred           2.4480042                     1.7397640   3.4595454

(Intercept)112/ /158=0,7089

Si en cambio, ejecuto:

fit2 <- glm(Accepted~Background-1, data=dat, family="binomial")
exp(cbind(Odds=coef(fit2), confint(fit2)))

                        Odds            2.5 %      97.5 %
Backgroundblue     0.7088608        0.5553459   0.9017961
Backgroundred      1.7352941        1.3632702   2.2206569

Los retornos son precisamente las probabilidades de ser 'azul': Backgroundblue(0.7089) y las probabilidades de ser aceptado como 'rojo': Backgroundred(1.7353). No hay odds ratio allí. Por lo tanto, no se espera que los dos valores de retorno sean recíprocos.

Finalmente, ¿cómo leer los resultados si hay 3 factores en el regresor categórico?

Mismo cálculo manual versus [R]:

Creé un conjunto de datos ficticios diferente con la misma premisa, pero esta vez había tres orígenes étnicos: "rojo", "azul" y "naranja", y ejecuté la misma secuencia:

Primero, la tabla de contingencia:

Acceptance  blue    orange  red   Total
0             86        65  130     281
1             64        42  162     268
Total        150       107  292     549

Y calculé las probabilidades de entrar para cada grupo étnico:

  • Las probabilidades aceptan si rojo = 1.246154;
  • Las probabilidades aceptan si el azul = 0.744186;
  • Las probabilidades aceptan si Naranja = 0.646154

Además de las diferentes Odds Ratios :

  • O rojo v azul = 1.674519;
  • O rojo v naranja = 1.928571;
  • O azul v rojo = 0.597186;
  • O azul v naranja = 1.151717;
  • O naranja v rojo = 0.518519; y
  • O naranja v azul = 0.868269

Y procedió con la regresión logística ahora rutinaria seguida de exponenciación de coeficientes:

fit <- glm(Accepted~Background, data=dat, family="binomial")
exp(cbind(ODDS=coef(fit), confint(fit)))

                      ODDS     2.5 %   97.5 %
(Intercept)      0.7441860 0.5367042 1.026588
Backgroundorange 0.8682692 0.5223358 1.437108
Backgroundred    1.6745192 1.1271430 2.497853

Ceder las probabilidades de obtener "blues" como (Intercept), y las Odds Ratios de Orange versus Blue in Backgroundorange, y el OR de Red v Blue in Backgroundred.

Por otro lado, la regresión sin intercepción predeciblemente devolvió solo las tres probabilidades independientes :

fit2 <- glm(Accepted~Background-1, data=dat, family="binomial")
exp(cbind(ODDS=coef(fit2), confint(fit2)))

                      ODDS     2.5 %    97.5 %
Backgroundblue   0.7441860 0.5367042 1.0265875
Backgroundorange 0.6461538 0.4354366 0.9484999
Backgroundred    1.2461538 0.9900426 1.5715814
Antoni Parellada
fuente
Felicidades, hiciste un buen trabajo resolviendo esto.
gung - Restablece a Monica