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 è:
O d d s A c c e p t I f R e dO d d s A c c c e p t I f B l u e=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
Rche chiama esplicitamente i coefficienti (tramite la funzionecoef) si chiama "odds ratio" nell'output. Ciò suggerisce che potresti voler rivedere la distinzione tra i due.