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 Backgroundred
powró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
R
wyraźnie nazywa współczynniki (za pomocą funkcjicoef
), nazywa się „ilorazem szans” na wyjściu. To sugeruje, że warto zrewidować różnicę między nimi.