Da exp (coefficienti) a Odds Ratio e la loro interpretazione nella regressione logistica con fattori


14

Ho corso una regressione lineare dell'accettazione al college contro i punteggi SAT e la famiglia / origine etnica. I dati sono fittizi. Questo è il seguito di una domanda precedente, a cui è già stata data una risposta. La domanda si concentra sulla raccolta e l'interpretazione dei rapporti di probabilità quando si lasciano da parte i punteggi SAT per semplicità.

Le variabili sono Accepted(0 o 1) e Background("rosso" o "blu"). Ho impostato i dati in modo che le persone con sfondo "rosso" avessero maggiori probabilità di entrare:

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

Domande:

  1. È accettato il rapporto dispari di una persona con sfondo "blu"? Lo sto chiedendo perché ottengo anche 0.7 per " Backgroundblue" se invece eseguo il seguente codice:

    fit <- glm(Accepted~Background-1, data=dat, family="binomial")
    exp(cbind(OR=coef(fit), confint(fit)))
  2. Il rapporto di probabilità di "rosso" non dovrebbe essere accettato ( ) solo il reciproco: ( O d d s B l u e = 1 / O d d s R e d )?UNccepted/Red:UNccepted/BlueOddSBlue=1/OddSRed


1
Ciò Rche chiama esplicitamente i coefficienti (tramite la funzione coef) si chiama "odds ratio" nell'output. Ciò suggerisce che potresti voler rivedere la distinzione tra i due.
whuber

Ho letto il post sul tuo collegamento ipertestuale.
Antoni Parellada,

I coefficienti sono esponenziati: exp (coef (fit)).
Antoni Parellada,

Sì: e come spiegato nella mia risposta in quella discussione, l'espiazione dell'intercettazione ti dà le probabilità del caso di riferimento.
whuber

Risposte:


13

Ho lavorato per rispondere alla mia domanda calcolando manualmente i rapporti di probabilità e quota:

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

Quindi il Odds Ratio di entrare nella scuola di Red over Blue è:

OddS UNccept iof RedOddS UNcccept iof Blue=177/102112/158=1,73530,7089=2.448

E questo è il Backgroundredritorno di:

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

Allo stesso tempo, (Intercept)corrisponde al numeratore del rapporto di probabilità , che è esattamente la probabilità di avere un background familiare "blu":112/158=0,7089.

Se invece, corro:

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

I rendimenti sono precisamente le probabilità di essere "blu": Backgroundblue(0.7089) e le probabilità di essere accettati sono "rossi": Backgroundred(1.7353). Nessun rapporto di probabilità lì. Pertanto non si prevede che i due valori di ritorno siano reciproci.

Infine, come leggere i risultati se ci sono 3 fattori nel regressore categorico?

Stesso calcolo manuale contro [R]:

Ho creato un diverso set di dati fittizi con la stessa premessa, ma questa volta c'erano tre origini etniche: "rosso", "blu" e "arancione" e ho eseguito la stessa sequenza:

Innanzitutto, la tabella di contingenza:

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

E calcolato le probabilità di entrare per ogni gruppo etnico:

  • Le quote accettano se rosso = 1.246154;
  • Le quote accettano se blu = 0,744186;
  • Le probabilità accettano se arancione = 0,646154

Oltre ai diversi rapporti di probabilità :

  • O rosso v blu = 1.674519;
  • O rosso v arancione = 1.928571;
  • O blu v rosso = 0,597186;
  • OR blu v arancione = 1.151717;
  • OR arancione v rosso = 0,518519; e
  • O arancione v blu = 0,868269

E procedette con la regressione logistica ormai ordinaria seguita da esponenziazione dei coefficienti:

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

Rendere le probabilità di entrare per "blues" come (Intercept), e il Odds Odds di Orange contro Blue in Backgroundorange, e OR di Red v Blue inBackgroundred .

D'altra parte, la regressione senza intercettazione prevedibilmente ha restituito solo le tre probabilità indipendenti :

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

Congratulazioni, hai fatto un buon lavoro per capirlo.
gung - Ripristina Monica
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.