J'ai travaillé pour répondre à ma question en calculant manuellement les cotes et les rapports de cotes:
Acceptance blue red Grand Total
0 158 102 260
1 112 177 289
Total 270 279 549
Donc, le rapport de cotes pour entrer dans l'école de Red over Blue est:
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
Et c'est le Backgroundredretour 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
En même temps, le (Intercept)correspond au numérateur du rapport de cotes , qui est exactement la chance de se retrouver dans un milieu familial «bleu»:112 / 158 = 0,7089.
Si à la place, je lance:
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
Les retours sont précisément les chances d'être «bleu»: Backgroundblue(0,7089) et les chances d'être accepté «rouge»: Backgroundred(1,7353). Pas de rapport de cotes là-bas. Par conséquent, les deux valeurs de retour ne devraient pas être réciproques.
Enfin, comment lire les résultats s'il y a 3 facteurs dans le régresseur catégorique?
Même calcul manuel que [R]:
J'ai créé un ensemble de données fictives différent avec la même prémisse, mais cette fois il y avait trois origines ethniques: "rouge", "bleu" et "orange", et j'ai exécuté la même séquence:
Tout d'abord, le tableau de contingence:
Acceptance blue orange red Total
0 86 65 130 281
1 64 42 162 268
Total 150 107 292 549
Et calculé les chances d'entrer pour chaque groupe ethnique:
- Cotes acceptées si rouge = 1,246154;
- Cotes acceptées si bleu = 0,744186;
- Cotes acceptées si Orange = 0,646154
Ainsi que les différents rapports de cotes :
- OU rouge v bleu = 1,674519;
- OU rouge v orange = 1,928571;
- OU bleu v rouge = 0,597186;
- OU bleu v orange = 1,151717;
- OU orange v rouge = 0,518519; et
- OU orange v bleu = 0,868269
Et a procédé à la régression logistique désormais systématique suivie d'une exponentiation des coefficients:
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
Donner les chances d'entrer pour des "bleus" comme le (Intercept), et les rapports de cotes d'Orange contre Bleu dans Backgroundorange, et le OU de Rouge contre Bleu dans Backgroundred.
D'un autre côté, la régression sans interception n'a renvoyé, comme on pouvait le prévoir, que les trois cotes indépendantes :
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
Rqui appelle explicitement les coefficients (via la fonctioncoef), vous appelez le "rapport de cotes" dans votre sortie. Cela suggère que vous voudrez peut-être revoir la distinction entre les deux.