Cálculo da razão de risco usando o odds ratio do coeficiente de regressão logística


8

Eu tenho uma regressão logística binária com apenas um preditor de fator fixo binário. A razão de eu não fazer isso como um quadrado de Chi ou o teste exato de Fisher é que também tenho vários fatores aleatórios (existem vários pontos de dados por indivíduo e os indivíduos estão em grupos, embora não me importe com coeficientes ou significados para essas variáveis ​​aleatórias). Eu faço isso com R. glmer.

Eu gostaria de poder expressar o coeficiente e o intervalo de confiança associado ao preditor como uma taxa de risco, e não uma taxa de chances. Isso ocorre porque (talvez não para você, mas para o meu público-alvo) a taxa de risco é muito mais fácil de entender. A taxa de risco aqui é o aumento relativo da chance de o resultado ser 1 em vez de 0 se o preditor for 1 em vez de 0.

O odds ratio é trivial para obter o coeficiente e o IC associado usando exp (). Para converter uma taxa de chances em uma taxa de risco, você pode usar "RR = OR / (1 - p + (px OR)), onde p é o risco no grupo de controle" (fonte: http: //www.r- bloggers.com/how-to-convert-odds-ratios-to-relative-risks/) Mas, você precisa do risco no grupo de controle, o que, no meu caso, significa a chance de o resultado ser 1 se o preditor for 0. Acredito que o coeficiente de interceptação do modelo seja, de fato, as chances dessa chance, para que eu possa usar prob = odds / (odds + 1) para conseguir isso. Eu estou muito bem até aqui, tanto quanto a estimativa central para a taxa de risco. Mas o que me preocupa é o intervalo de confiança associado, porque o coeficiente de interceptação também tem seu próprio IC associado. Devo usar a estimativa central da interceptação ou, para ser conservador, devo usar quaisquer limites do IC de interceptação para aumentar meu IC de risco relativo? Ou estou latindo totalmente na árvore errada?



Isso não é de forma alguma uma duplicata dessa pergunta. Não tenho problemas em obter índices de chances, é sobre os riscos que me pergunto. Eles não são mencionados nessa pergunta.
Amorphia

Respostas:


5

Zhang 1998 apresentou originalmente um método para calcular ICs para razões de risco, sugerindo que você pudesse usar os limites inferior e superior do IC para a razão de chances.

Esse método não funciona, é tendencioso e geralmente produz estimativas anticonservadoras (muito rígidas) da razão de risco IC95%. Isso ocorre devido à correlação entre o termo de interceptação e o termo de inclinação, conforme você alude corretamente. Se o odds ratio tender para seu valor mais baixo no IC, o termo de interceptação aumenta para explicar uma prevalência geral mais alta naqueles com um nível de exposição 0 e, inversamente, para um valor mais alto no IC. Cada um deles leva, respectivamente, a limites mais baixos e mais altos para o IC.

Para responder sua pergunta diretamente, você precisa conhecer a prevalência de linha de base do resultado para obter intervalos de confiança corretos. Os dados dos estudos de controle de caso dependeriam de outros dados para informar isso.

Como alternativa, você pode usar o método delta se tiver a estrutura de covariância completa para as estimativas de parâmetros. Uma parametrização equivalente para a transformação OR em RR (com exposição binária e um único preditor) é:

RR=1+exp(β0)1+exp(β0β1)

E usando o método delta multivariado e o teorema do limite central que afirma que , você pode obter a variação da distribuição normal aproximada do .n([β^0,β^1][β0,β1])DN(0,I1(β))RR

Observe que, notavelmente, isso só funciona para exposição binária e regressão logística univariada. Existem alguns truques R simples que usam o método delta e a padronização marginal para covariáveis ​​contínuas e outras variáveis ​​de ajuste. Mas, por uma questão de brevidade, não discutirei isso aqui.

No entanto, existem várias maneiras de calcular riscos relativos e seu erro padrão diretamente dos modelos em R. Dois exemplos disso abaixo:

x <- sample(0:1, 100, replace=T)
y <- rbinom(100, 1, x*.2+.2)
glm(y ~ x, family=binomial(link=log))
library(survival)
coxph(Surv(time=rep(1,100), event=y) ~ x)

http://research.labiomed.org/Biostat/Education/Case%20Studies%202005/Session4/ZhangYu.pdf


0

AdamO (ou alguém!), Você poderia me ajudar? Eu criei este exemplo reproduzível com base no código do AdamO:

 set.seed(12345)
 group <- sample(0:1, 100, replace=T)

 set.seed(9485735)
 y <- rbinom(100, 1, x*.2+.2)

 group[group == 0] <- "A"
 group[group == 1] <- "B"

 table(y, group)
   group
y    A  B
  0 31 38
  1 17 14

 (14/38) / (17/31)           # Odds ratio (group B relative to A)
[1] 0.6718266



 lr <- glm(y ~ group, family=binomial(link=logit)) 
 exp(lr$coefficients)
(Intercept)      groupB 
  0.5483871   0.6718266 

Este exemplo mostra que o odds ratio calculado a partir de uma regressão logística corresponde ao odds ratio calculado manualmente. No entanto, o risco relativo calculado pelo modelo de Cox não corresponde ao risco relativo calculado manualmente.

      (14/(14+38)) / (17/(17+31)) # Relative risk (group B relative to A)
[1] 0.760181

library(survival)
 coxph(Surv(time=rep(1,100), event=y) ~ group)

Call:
coxph(formula = Surv(time = rep(1, 100), event = y) ~ group)

         coef exp(coef) se(coef)    z    p
groupB -0.326     0.722    0.361 -0.9 0.37

Likelihood ratio test=0.82  on 1 df, p=0.364
n= 100, number of events= 31 

Perdi alguma coisa?


Você está fazendo uma pergunta mais do que responder uma.
Michael R. Chernick

Você está certo, Michael. O problema é que o campo de comentário não permite postar uma postagem estruturada como esta.
Luc
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.