12 votos

Modelo mixto con 1 observación por nivel

Yo soy el ajuste de un modelo de efectos aleatorios con glmer a algunos datos de negocio. El objetivo es analizar el rendimiento de ventas por distribuidor, teniendo en cuenta la variación regional. Tengo las siguientes variables:

  • distcode: ID de distribuidor, con alrededor de 800 niveles
  • region: de nivel superior geográfico ID (norte, sur, este, oeste)
  • zone: nivel medio de geografía anidada dentro de region, alrededor de 30 niveles y en todos los
  • territory: bajo nivel geografía anidada dentro de zone, alrededor de 150 niveles

Cada distribuidor opera sólo en un territorio. La parte difícil es que esto es un resumen de los datos, con un punto de datos por el distribuidor. Así que tengo 800 puntos de datos y estoy tratando de ajuste (por lo menos) 800 parámetros aunque en la regularización de la moda.

He ajustado un modelo como el siguiente:

glmer(ninv ~ 1 + (1|region/zone/territory) + (1|distcode), family=poisson)

Este se ejecuta sin problema, aunque sí la impresión de una nota:

Número de niveles de una agrupación para el factor de efectos aleatorios es igual a n, el número de observaciones

Es esta una cosa sensata que hacer? Puedo obtener finito estimaciones de todos los coeficientes, y el AIC también no es irrazonable. Si trato de poisson GLMM con la identidad de enlace, la AIC es mucho peor para el registro de enlace es al menos un buen punto de partida.

Si me graficar los valores ajustados vs la respuesta, me pongo lo que es esencialmente un ajuste perfecto, que supongo que es porque tengo un punto de datos por el distribuidor. Es que razonable, o estoy haciendo algo completamente tonta?

Este es el uso de datos para un mes. Me pueden obtener datos para varios meses y obtener algunos de replicación de esa manera, pero me gustaría tener la adición de nuevos términos por mes-a-mes, variación y las posibles interacciones medicamentosas, ¿correcto?


ETA: me encontré con el modelo anterior de nuevo, pero sin un family argumento (por lo que sólo una gaussiana LMM en lugar de un GLMM). Ahora lmer me dio el siguiente error:

Error en (function (fr, FL, inicio, REML, detallado) : Número de niveles de una agrupación para el factor de efectos aleatorios debe ser menor que el número de observaciones

Así que supongo que no estoy haciendo algo razonable, como el cambio de la familia no debería tener un efecto. Pero ahora la pregunta es, ¿por qué el trabajo en el primer lugar?

8voto

Bou Puntos 1859

Un nivel por observación puede ser muy útil si usted tiene overdispersed recuento de los datos como variable de respuesta. Es equivalente a decir que espera que su recuento de los datos provienen de una distribución de Poisson-distribución logarítmico-normal, es decir que su distribución de Poisson de parámetro lambda no está totalmente determinado por las variables predictoras en el modelo y que las posibilidades son lognormally distribuido.

Ben Bolker, uno de los desarrolladores para lme4, ha hecho dos tutorial-como ejemplos de esto. La primera de ellas, con datos sintéticos, entra en un poco más de detalle. Usted puede encontrar un pdf aquí. También ha caminado a través de un análisis exploratorio de datos con datos reales que involucran a los búhos (pdf y R código disponible a partir de aquí).

4voto

usεr11852 Puntos 5514

Creo firmemente en desacuerdo con la práctica de la instalación de un modelo mixto, donde usted tiene el mismo número de grupos de observaciones sobre bases conceptuales, no son "grupos", y también en el jardín, como su modelo debe tener identificable temas - en el caso de un LMM al menos. (Yo trabajo con LMM exclusivamente puede ser un poco sesgada. :) )

La parte computacional: Supongamos, por ejemplo, el estándar de la LME modelo donde $y \sim N(X\beta, ZDZ^T + \sigma^2 I)$. Suponiendo ahora que usted tiene un número igual de observaciones y grupos (digamos que en virtud de una "simple" de la agrupación, no se cruzaron o efectos anidados etc.) entonces, todos sus varianza de la muestra sería trasladado en las $D$ matriz, y $\sigma^2$ debe ser igual a cero. (Creo que se convenció a sí mismo de esta ya) Es casi el equivalente de tener tantos parámetros como datos en un forro modelo. Usted tiene una parametrización del modelo. Por lo tanto, la regresión es un poco absurdo.

(No entiendo lo que quieres decir por "razonable" de la AIC. AIC debe ser computable, en el sentido de que a pesar de que más de ajuste de los datos todavía computing "algo".)

Por otro lado, con glmer (digamos que usted ha especificado la familia a ser de Poisson) tiene una función de enlace que explica como su $y$ depende de $X\beta$ (en el caso de una distribución de Poisson, que es un simple registro - porque $X\beta> 0$). En tales casos, usted fijar parámetro de escala, de modo que usted puede tener en cuenta la sobre-dispersión y por lo tanto no tiene identificabilidad (y es por eso que mientras glmer se quejó, lo hizo le dio resultados); esta es la forma de "conseguir" el problema de tener tantos grupos como observaciones.

La parte conceptual: Creo que este un poco más "subjetiva", pero un poco más sencillo también. Se utiliza una combinación de la Eff. modelos porque esencialmente reconocido que hay algunos relacionados con el grupo de estructura en su error. Ahora, si usted tiene tantos grupos como los datos de los puntos, no hay estructura para ser visto. Cualquier desviación en su LM estructura de error que podría ser atribuido a una "agrupación" ahora se atribuye a la específica del punto de observación (y, como tal, usted termina con un modelo ajustado).

En general, una sola observación de los grupos tienden a ser un poco desordenado; citar a D. Bates de la r-sig-mixto-modelos de lista de correo:

Creo que usted encontrará que hay muy poca diferencia en el el modelo se ajusta si se incluyen o excluyen la sola observación grupos. Pruébalo y verás.

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