15 votos

¿Debo utilizar una compensación para mi MLG de Poisson?

Estoy llevando a cabo una investigación para observar las diferencias en la densidad de peces y la riqueza de especies de peces cuando se utilizan dos métodos diferentes de censo visual bajo el agua. Mis datos eran originalmente datos de recuento, pero luego se cambian por densidad de peces, pero aún así he decidido utilizar un GLM de Poisson, que espero sea correcto.

model1 <- glm(g_den ~ method + site + depth, poisson)

Mis 3 variables predictoras son el método, el sitio y la profundidad, que ordené como factores cuando los introduje.

Mis variables de respuesta son la riqueza de especies de meros, la densidad de meros y lo mismo para otros grupos de peces. Soy consciente de que la densidad no es un número entero y que son datos numéricos, por ejemplo, 1,34849. Sin embargo, ahora me aparece este error:

In dpois(y, mu, log = TRUE) : non-integer x = 0.037500

He estado leyendo y mucha gente sugiere usar un offset, ¿es esto lo más recomendable?

3 votos

Esto no es realmente sobre cómo usar R. Es una pregunta estadística básica disfrazada de pregunta de R. Debería estar en el tema aquí.

15voto

Sean Hanley Puntos 2428

Hay varias cuestiones aquí:

  1. Debe utilizar los recuentos observados como variable de respuesta. No debe utilizar las densidades ( g_den ).

  2. Si los recuentos observados proceden de zonas diferentes, hay que tomar el logaritmo de esas zonas como una nueva variable:

    larea = log(area)
  3. Puede controlar las diferentes áreas de las observaciones de dos maneras diferentes:

    • Utilizando larea como compensación. Esto hará que su respuesta sea en realidad un tasa (aunque lo que aparece en el lado izquierdo de su modelo es un contar ).
    • Utilizando larea como covariable. Esto controlará las diferentes áreas, pero no hará que su respuesta sea equivalente a una tasa. Este es un enfoque más flexible que le permitirá evaluar si los aumentos de larea tienen un efecto creciente o decreciente en el recuento (es decir, si la pendiente es menor o mayor que 1).

Hay más información sobre estos temas en los siguientes hilos de CV:

8voto

mdewey Puntos 579

Si vas a modelar usando el Poisson tienes que tener valores enteros para tu variable de respuesta. Entonces tiene dos opciones

  • Utiliza el área o algún otro denominador adecuado como compensación. Por lo general, esto tendría que ser registrado primero
  • Incluir el área o el etc. como variable de predicción. De nuevo, esto se incluiría normalmente como un logaritmo porque se están modelando los recuentos logarítmicos.

Si utilizas el enfoque de desplazamiento estás diciendo que si duplico el área esperaría obtener el doble de recuento. Si utilizas el enfoque del predictor, estás diciendo que sabes que si multiplicas el área, multiplicas los recuentos, pero no necesariamente por el mismo factor.

Es tu decisión.

7voto

user129051 Puntos 6

Parece que has dividido los recuentos de peces por el volumen (o quizás la superficie) del agua estudiada. En ese caso, sí que es apropiado un desplazamiento, debería utilizar el logaritmo de lo que haya dividido. Quizás

model1 <- glm(g_den ~ method + site + depth + offset(log(area)), poisson)

(editado a partir de una versión anterior incorrecta, falta el registro)

El motivo del mensaje de error es que la distribución de Poisson tiene normalmente valores enteros, pero la respuesta no era un número entero. Esto cambia una vez que hay un desplazamiento; (respuesta/desplazamiento) debe ser un entero (que por supuesto lo es, asumiendo que los recuentos originales eran enteros).

2 votos

Mencionas que deberías usar la transformación logarítmica del área (ya que el modelo de Poisson usa el enlace logarítmico) en tu respuesta pero tu código no hace la transformación. No creo que offset aplica la transformación por defecto pero hace tiempo que no uso offset .

3 votos

Tenga en cuenta que offset() n'est pas aplica la transformación por defecto; simplemente obliga a que el coeficiente sea 1. Véase, por ejemplo aquí .

0 votos

Buen punto. Voy a editar para incluir el registro.

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