Pracowałem nad odpowiedzią na moje pytanie, obliczając ręcznie szanse i iloraz szans:
Acceptance blue red Grand Total
0 158 102 260
1 112 177 289
Total 270 279 549
Tak więc iloraz szans dostania się do szkoły Red over Blue wynosi:
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
I to jest Backgroundredpowrót:
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
Jednocześnie (Intercept)odpowiada licznikowi ilorazu szans , który jest dokładnie szansą na uzyskanie „niebieskiego” tła rodzinnego:112 / 158 = 0,7089.
Jeśli zamiast tego uruchamiam:
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
Zwroty to dokładnie szansa na uzyskanie „niebieskiego”: Backgroundblue(0,7089) i szansa na przyjęcie bycia „czerwonym”: Backgroundred(1,7353). Nie ma tam współczynnika szans . Dlatego te dwie zwracane wartości nie powinny być wzajemne.
Wreszcie, jak odczytać wyniki, jeśli w kategorycznym regresorze występują 3 czynniki?
Takie same obliczenia ręczne w porównaniu z [R]:
Stworzyłem inny fikcyjny zestaw danych z tą samą przesłanką, ale tym razem były trzy pochodzenie etniczne: „czerwony”, „niebieski” i „pomarańczowy”, i prowadziłem tę samą sekwencję:
Po pierwsze, tabela awaryjna:
Acceptance blue orange red Total
0 86 65 130 281
1 64 42 162 268
Total 150 107 292 549
I obliczył szanse dostania się dla każdej grupy etnicznej:
- Kursy są akceptowane, jeśli czerwony = 1,246154;
- Kursy są akceptowane, jeśli niebieski = 0,744186;
- Kursy są akceptowane, jeśli Orange = 0,646154
Jak również różne iloraz szans :
- LUB czerwony v niebieski = 1,674519;
- LUB czerwony v pomarańczowy = 1,928571;
- LUB niebieski v czerwony = 0,597186;
- LUB niebieski kontra pomarańczowy = 1,151717;
- LUB pomarańczowy v czerwony = 0,518519; i
- LUB pomarańczowy v niebieski = 0,868269
Kontynuowano rutynową regresję logistyczną, a następnie potęgowanie współczynników:
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
Uzyskując szanse na dostanie się do „bluesa” jako (Intercept), oraz iloraz szans pomarańczowego w stosunku do niebieskiego w Backgroundorange, oraz iloraz szans czerwonego w niebieskiego w Backgroundred.
Z drugiej strony regresja bez przechwytywania w sposób przewidywalny zwróciła tylko trzy niezależne szanse :
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
Rwyraźnie nazywa współczynniki (za pomocą funkcjicoef), nazywa się „ilorazem szans” na wyjściu. To sugeruje, że warto zrewidować różnicę między nimi.