Od exp (współczynników) do ilorazu szans i ich interpretacji w regresji logistycznej z czynnikami

14

Przeprowadziłem liniową regresję akceptacji na studia w porównaniu z wynikami SAT i pochodzeniem rodzinnym / etnicznym. Dane są fikcyjne. Jest to kontynuacja wcześniejszego pytania, na które już udzielono odpowiedzi. Pytanie skupia się na zbieraniu i interpretacji ilorazów szans, gdy pomija się wyniki SAT dla uproszczenia.

Zmienne to Accepted(0 lub 1) i Background(„czerwony” lub „niebieski”). Skonfigurowałem dane, aby osoby z „czerwonym” pochodzeniem miały większe szanse na wejście:

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

Pytania:

  1. Czy 0,7 jest nieparzysty w stosunku do osoby o „niebieskim” tle? Proszę o to, ponieważ dostaję 0.7 za „ Backgroundblue”, jeśli zamiast tego uruchomię następujący kod:

    fit <- glm(Accepted~Background-1, data=dat, family="binomial")
    exp(cbind(OR=coef(fit), confint(fit)))
  2. ZAdodomiptmire/Rmire:ZAdodomiptmire/blumiOreresblumi=1/OreresRmire

Antoni Parellada
źródło
1
To, co Rwyraźnie nazywa współczynniki (za pomocą funkcji coef), nazywa się „ilorazem szans” na wyjściu. To sugeruje, że warto zrewidować różnicę między nimi.
whuber
Przeczytałem post na twoim hiperlinku.
Antoni Parellada,
Współczynniki są wykładnicze: exp (coef (fit)).
Antoni Parellada,
Tak: i jak wyjaśniono w mojej odpowiedzi w tym wątku, potęgowanie przechwytywania daje szanse na przypadek referencyjny.
whuber

Odpowiedzi:

13

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:

Oreres ZAdodomipt jafa RmireOreres ZAdododomipt jafa blumi=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
Antoni Parellada
źródło
Gratulacje, dobrze się spisałeś.
Gung - Przywróć Monikę