5 votos

¿Regresión de recuento por pares en R con compensación?

Necesito realizar una regresión de recuento por pares en R.

En concreto, mis datos son los siguientes:

ID

Exposición

Ocurrencia

Área

1

0

7

50

1

1

5

55

2

0

6

70

2

1

8

74

3

0

4

45

3

1

9

62

Necesito que el resultado se base en una tasa relativa por pie cuadrado (área), por lo que quiero utilizar una compensación.

Aunque podría pensar que esto no sería demasiado difícil, me estoy topando con un muro en mi búsqueda en Google, ya que los datos emparejados se realizan con mucha frecuencia con un resultado binario.

¿Conoces un buen paquete o una forma de poder hacer esto?

7voto

Ben Bolker Puntos 8729

Debería poder hacer esto con un modelo mixto con una respuesta de recuento (por ejemplo, Poisson o binomial negativa): quiere el modelo "estándar" de recuento-GLM-con-desplazamiento con variación aleatoria en el intercepto a través de los ID:

$$ \begin{split} \eta_{ij} & = \beta_0 + b_i + \beta_1 E_{ij} + \log(A_{ij}) \\ b_i & \sim N(0, \sigma^2_b) \\ O_{ij} & \sim \textrm{Poisson}(\exp(\eta_{ij})) \end{split} $$ donde $i$ indexa las identificaciones y $j = \{1,2\}$ indexa las observaciones dentro de los ID. $\beta_0$ denota el intercepto global (a nivel de población); $b_i$ denota los efectos aleatorios, es decir, la desviación del intercepto del valor a nivel de población para cada grupo. (La mayoría de los programas informáticos de modelos mixtos le permitirán estimar los modos condicionales de la $b_i$ distribuciones, equivalentes a los BLUP (mejores predictores lineales insesgados) en el caso del modelo lineal mixto). $A_{ij}$ es el área para el $i,j$ La tercera observación (es decir, la observación $j$ dentro del grupo $i$ ), $O_{ij}$ es la ocurrencia (respuesta de recuento).

Si ha especificado que el modelo se ajuste por máxima verosimilitud restringida (lo que es posible para los GLMM en glmmTMB y posiblemente algunos otros paquetes), esta especificación es exactamente análoga a una prueba t pareada, pero con respuestas de Poisson en lugar de Gauss. Si utiliza métodos de máxima verosimilitud o bayesianos (que son más comunes), sigue siendo bastante parecido a un equivalente de "prueba t de Poisson emparejada".

Ya que preguntaste cómo hacer esto en R: en lme4 (por ejemplo) sería

glmer(observation ~ exposure + offset(log(area)) + (1|ID),
      family = poisson,
      data = ...)

A modelos similares se les pueden acoplar muchos paquetes/funciones diferentes, algunos con interfaces muy similares ( lme4::glmer , glmmTMB::glmmTMB ), algunos con interfaces diferentes ( GLMMadaptive ), algunas bayesianas ( MCMCglmm , rstanarm , brms ), etc.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X