Estoy ajustando un modelo de efectos aleatorios con glmer
algunos datos comerciales. El objetivo es analizar el desempeño de ventas por distribuidor, teniendo en cuenta la variación regional. Tengo las siguientes variables:
distcode
: ID de distribuidor, con aproximadamente 800 nivelesregion
: ID geográfica de nivel superior (norte, sur, este, oeste)zone
: geografía de nivel medio anidada dentroregion
, alrededor de 30 niveles en totalterritory
: geografía de bajo nivel anidada dentro dezone
unos 150 niveles
Cada distribuidor opera en un solo territorio. La parte difícil es que se trata de datos resumidos, con un punto de datos por distribuidor. Así que tengo 800 puntos de datos y estoy tratando de ajustar (al menos) 800 parámetros, aunque de manera regular.
He ajustado un modelo de la siguiente manera:
glmer(ninv ~ 1 + (1|region/zone/territory) + (1|distcode), family=poisson)
Esto se ejecuta sin problemas, aunque imprime una nota:
El número de niveles de un factor de agrupación para los efectos aleatorios es igual a n, el número de observaciones
¿Es esto algo sensato? Obtengo estimaciones finitas de todos los coeficientes, y el AIC tampoco es irrazonable. Si pruebo un poisson GLMM con el enlace de identidad, el AIC es mucho peor, por lo que el enlace de registro es al menos un buen punto de partida.
Si trazo los valores ajustados frente a la respuesta, obtengo lo que es esencialmente un ajuste perfecto, lo que supongo es porque tengo un punto de datos por distribuidor. ¿Es razonable o estoy haciendo algo completamente tonto?
Esto está utilizando datos de un mes. Puedo obtener datos para varios meses y obtener alguna replicación de esa manera, pero tendría que agregar nuevos términos para la variación de mes a mes y las posibles interacciones, ¿correcto?
ETA: volví a ejecutar el modelo anterior, pero sin una family
discusión (por lo tanto, solo un LMM gaussiano en lugar de un GLMM). Ahora lmer
me dio el siguiente error:
Error en (función (fr, FL, inicio, REML, detallado): el número de niveles de un factor de agrupación para los efectos aleatorios debe ser menor que el número de observaciones
Entonces supongo que no estoy haciendo algo sensato, ya que cambiar la familia no debería tener un efecto. Pero la pregunta ahora es, ¿por qué funcionó en primer lugar?