De exp (coeficientes) a Odds Ratio e sua interpretação em Regressão Logística com fatores

14

Fiz uma regressão linear de aceitação na faculdade contra as pontuações do SAT e a família / origem étnica. Os dados são fictícios. Este é um acompanhamento de uma pergunta anterior, já respondida. A questão se concentra na coleta e interpretação de odds ratio ao deixar as pontuações do SAT de lado por simplicidade.

As variáveis ​​são Accepted(0 ou 1) e Background("vermelho" ou "azul"). Configurei os dados para que as pessoas de fundo "vermelho" tivessem mais probabilidade de entrar:

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

Questões:

  1. 0,7 é a proporção ímpar de uma pessoa de fundo "azul" sendo aceita? Estou perguntando isso porque também recebo 0,7 para " Backgroundblue" se, em vez disso, executar o seguinte código:

    fit <- glm(Accepted~Background-1, data=dat, family="binomial")
    exp(cbind(OR=coef(fit), confint(fit)))
  2. Caso não o odds ratio de "vermelho" a ser aceites ( ) apenas a recíproca: ( S d d s B l u e = 1 / O d d s R e d )?UMAccepted/Red:UMAccepted/BeuvocêeOddsBeuvocêe=1/OddsRed

Antoni Parellada
fonte
1
O que Rchama explicitamente os coeficientes (através da função coef) que você está chamando de "odds ratio" em sua saída. Isso sugere que você pode revisar a distinção entre os dois.
whuber
Eu li o post no seu hiperlink.
Antoni Parellada
Os coeficientes são exponenciados: exp (coef (fit)).
Antoni Parellada
Sim: e como explicado na minha resposta nesse tópico, a exponenciação da interceptação fornece as chances do caso de referência.
whuber

Respostas:

13

Eu tenho trabalhado para responder minha pergunta calculando manualmente as probabilidades e os índices de chances:

Acceptance   blue            red            Grand Total
0            158             102                260
1            112             177                289
Total        270             279                549

Portanto, a razão de chances de entrar na escola de vermelho sobre azul é:

Odds UMAccept Euf RedOdds UMAcccept Euf Beuvocêe=177/102112/158=1.73530,7089=2.448

E este é o Backgroundredretorno 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

(Intercept)112/158=0,7089

Se, em vez disso, eu 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

Os retornos são precisamente as chances de ser 'azul': Backgroundblue(0,7089) e as chances de ser aceito como 'vermelho': Backgroundred(1,7353). Não há Odds Ratio lá. Portanto, não se espera que os dois valores de retorno sejam recíprocos.

Finalmente, como ler os resultados se houver três fatores no regressor categórico?

Mesmo cálculo manual versus [R]:

Criei um conjunto de dados fictícios diferente com a mesma premissa, mas desta vez havia três origens étnicas: "vermelho", "azul" e "laranja" e executei a mesma sequência:

Primeiro, a tabela de contingência:

Acceptance  blue    orange  red   Total
0             86        65  130     281
1             64        42  162     268
Total        150       107  292     549

E calculou as chances de entrar para cada grupo étnico:

  • As probabilidades aceitam se vermelho = 1,246154;
  • As probabilidades aceitam se azul = 0,744186;
  • As probabilidades aceitam se laranja = 0.646154

Bem como os diferentes Odds Ratios :

  • OR vermelho v azul = 1,674519;
  • OR vermelho v laranja = 1,928571;
  • OR azul v vermelho = 0,597186;
  • OR azul v laranja = 1,151717;
  • OR laranja v vermelho = 0,518519; e
  • OR laranja v azul = 0,868269

E prosseguiu com a regressão logística agora rotineira seguida pela exponenciação dos coeficientes:

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

Obtendo as chances de entrar para "blues" como o (Intercept), e as Odds Ratios de Orange versus Blue in Backgroundorange, e o OR de Red v Blue in Backgroundred.

Por outro lado, a regressão sem interceptação retornou previsivelmente apenas as três probabilidades independentes :

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
fonte
Parabéns, você fez um bom trabalho ao descobrir isso.
gung - Restabelece Monica