Szacowanie skorygowanych współczynników ryzyka w danych binarnych przy użyciu regresji Poissona


9

Jestem zainteresowany oszacowaniem skorygowanego współczynnika ryzyka, analogicznie do tego, jak szacuje się skorygowany iloraz szans za pomocą regresji logistycznej. Niektóre piśmiennictwo (np. To ) wskazuje, że użycie regresji Poissona ze standardowymi błędami Hubera-White'a jest metodą modelową, aby to zrobić

Nie znalazłem literatury na temat tego, jak wpływa to na ciągłe zmienne towarzyszące. Poniższa prosta symulacja pokazuje, że ten problem nie jest tak prosty:

arr <- function(BLR,RR,p,n,nr,ce)
{
   B = rep(0,nr)
   for(i in 1:nr){
   b <- runif(n)<p 
   x <- rnorm(n)
   pr <- exp( log(BLR) + log(RR)*b + ce*x)
   y <- runif(n)<pr
   model <- glm(y ~ b + x, family=poisson)
   B[i] <- coef(model)[2]
   }
   return( mean( exp(B), na.rm=TRUE )  )
}

set.seed(1234)
arr(.3, 2, .5, 200, 100, 0)
[1] 1.992103
arr(.3, 2, .5, 200, 100, .1)
[1] 1.980366
arr(.3, 2, .5, 200, 100, 1)
[1] 1.566326 

W takim przypadku rzeczywisty współczynnik ryzyka wynosi 2, który odzyskuje się niezawodnie, gdy efekt zmiennej jest niewielki. Ale gdy efekt kowariancji jest duży, zostaje on zniekształcony. Zakładam, że wynika to z faktu, że efekt kowariancji może przesunąć się w górę w stosunku do górnej granicy (1) i to zanieczyszcza oszacowanie.

Szukałem, ale nie znalazłem żadnej literatury na temat korygowania ciągłych zmiennych towarzyszących w oszacowaniu skorygowanego współczynnika ryzyka. Jestem świadomy następujących postów na tej stronie:

ale nie odpowiadają na moje pytanie. Czy są na to jakieś dokumenty? Czy są jakieś znane przestrogi, które należy zastosować?



Pomocne mogą być również pytania i odpowiedzi stats.stackexchange.com/questions/18595/...
mdewey

Odpowiedzi:


1

Nie wiem, czy nadal potrzebujesz odpowiedzi na to pytanie, ale mam podobny problem, w którym chciałbym zastosować regresję Poissona. Podczas uruchamiania kodu odkryłem, że jeśli skonfiguruję model jako

model <- glm(y ~ b + x, family=binomial(logit)

zamiast jako model regresji Poissona, pojawia się ten sam wynik: szacunkowa OR wynosi ~ 1,5 w miarę zbliżania się 1. Nie jestem więc pewien, czy twój przykład dostarcza informacji o możliwym problemie z wykorzystaniem regresji Poissona do wyników binarnych.


1
Problem z dopasowaniem modelu logit, chociaż nie prowadzi do przewidywanego ryzyka większego niż 1, polega na tym, że iloraz szans jest tendencyjnym estymatorem współczynnika ryzyka i że stronniczość dramatycznie wzrasta, gdy wynik staje się bardziej powszechny. Możesz określić, binomial(link=log)aby faktycznie pasował do modelu ryzyka względnego, ale rzadko zbiega się z powodu zbyt zawyżonego wyniku.
AdamO

1

Uważam, że zastosowanie bezpośredniego maksymalnego prawdopodobieństwa z właściwą funkcją prawdopodobieństwa znacznie poprawia oszacowanie względnego ryzyka. Możesz bezpośrednio określić funkcję obciętego ryzyka jako przewidywaną szybkość procesu.

wprowadź opis zdjęcia tutaj

Zwykle używamy Hesji do tworzenia CI dla oszacowania. Nie badałem możliwości wykorzystania tego jako matrycy „B” (mięso) w błędzie Huber White i użycia dopasowanego ryzyka, aby uzyskać matrycę „A” (chleb) ... ale podejrzewam, że to może zadziałać! Co więcej, można użyć paska startowego, aby uzyskać błędy modelu, które są odporne na źle określoną relację średniej wariancji.

## the negative log likelihood for truncated risk function
negLogLik <- function(best, X, y) { 
  pest <- pmin(1, exp(X %*% best))
  -sum(dpois(x = y, lambda = pest, log=TRUE))
}

set.seed(100)

sim <- replicate(100, {
  n <- 200
  X <- cbind(1, 'b'=rbinom(n, 1, 0.5), 'x'=rnorm(n))
  btrue <- c(log(0.3), log(2), 1)
  ptrue <- pmin(1, exp(X %*% matrix(btrue)))
  y <- rbinom(n, 1, ptrue) ## or just take y=ptrue for immediate results
  nlm(f = logLik, p = c(log(mean(y)),0,0), X=X, y=y)$estimate
})

rowMeans(exp(sim))

Daje:

> rowMeans(exp(sim))
[1] 0.3002813 2.0680780 3.0888280

Średni współczynnik daje to, czego chcesz.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.