es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es normal que glmer no devuelva varianza de la intersección?

Estoy tratando de ejecutar un modelo multinivel para tener en cuenta el hecho de que los votos para las elecciones presidenciales de un país pueden estar anidados dentro de grupos (dependiendo de la lengua materna de los votantes, lugares de residencia, etc.). Para hacerlo, utilizo la función glmer del paquete lme4.

m1<-glmer(voto_DPP ~ 1 + (1 | ciudad_condado),
          family = binomial(link="logit"), data = d3)

Aquí, mi variable voto es binaria, representa si las personas votan por un determinado partido (1) o no (0). Como creo que los resultados pueden cambiar dependiendo del estado de residencia de las personas, quiero permitir que las intercepciones varíen en los estados. Sin embargo, no veo ninguna variación de la intercepción cuando ejecuto mi código.

Modelo mixto lineal generalizado ajustado mediante la máxima verosimilitud (Aproximación de Laplace) ['glmerMod']
 Familia: binomial (logit)
 Fórmula: voto_DPP ~ 1 + (1 | ciudad_condado)
   Datos: d3
      AIC       BIC    logLik  deviance  df.resid 
1746.7918 1757.2001 -871.3959 1742.7918      1343 
Efectos aleatorios:
 Grupos         Nombre        Desv.Est.
 ciudad_condado (Intercepto) 0.2559  
Número de observaciones: 1345, grupos:  ciudad_condado, 17
Efectos fijos:
(Intercepto)  
     0.5937

Lo que me confunde aquí es la ausencia completa de la columna de varianza. He visto otros foros en la web con respecto a problemas con varianza = 0, pero no puedo encontrar nada sobre la desaparición completa de esta columna (lo que me hace pensar que probablemente sea algo muy simple que pasé por alto). Es la primera vez que publico aquí y soy bastante principiante en R y Estadística, así que cualquier ayuda sería apreciada 🙂

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Según la salida proporcionada, parece que solo se ha especificado un efecto aleatorio en el modelo ((1 | county_city)). Esto significa que solo hay un factor de agrupamiento (county_city) y, por lo tanto, no hay variación que estimar.

    Para investigar más a fondo, podrías intentar verificar los valores únicos de county_city en tus datos y asegurarte de que existan suficientes niveles para estimar los efectos aleatorios. También podría ser útil verificar el tipo de datos de la variable county_city para asegurarse de que se trate como un factor de agrupamiento en lugar de una variable continua.

    Alternativamente, podrías intentar especificar efectos aleatorios adicionales para ver si esto cambia los resultados. Por ejemplo, podrías agregar una pendiente aleatoria para una variable predictora que creas que puede variar entre grupos, como age. Esto se vería algo así:

    m1 <- glmer(vote_DPP ~ 1 + age + (1 + age | county_city),
                family = binomial(link="logit"), data = d3)
    

    Esto permitiría que la intersección y la pendiente de age varíen según county_city.

    ¡Espero que esto te sea útil!

Comments are closed.