Pesos beta estandarizados para una regresión multinivel

11

¿Cómo se pueden obtener pesos de regresión estandarizados (efecto fijo) a partir de una regresión multinivel?

Y, como un "complemento": ¿Cuál es la forma más fácil de obtener estos pesos estandarizados de un objeto mer(de la lmerfunción del lme4paquete R)?

Felix S
fuente
¿Específicamente mer o está pidiendo algún coeficiente de modelo lineal?
Robert Kubrick
En realidad, estoy más interesado en cómo hacerlo en general (estandarizaría todas las variables de antemano, como en los modelos lineales regulares, pero no estoy seguro de si ese enfoque es válido en MLM). Arriba, me gustaría ver cómo se hace con los objetos lme4. ¡Reformé la pregunta en consecuencia!
Felix S
1
Puede que le interese este artículo de Andrew Gelman e Iain Pardoe (2007) Comparación predictiva promedio para modelos con componentes de no linealidad, interacciones y varianza .
Andy W

Respuestas:

9

Simplemente escale sus variables explicativas para tener una media de cero y una varianza de una antes de ponerlas en el modelo. Entonces los coeficientes serán todos comparables. La naturaleza de efectos mixtos del modelo no tiene impacto en este tema.

La mejor manera de hacerlo, y es menos probable que salga mal, es usar scale () antes de ajustar el modelo.

Peter Ellis
fuente
Gracias, eso es lo que quería saber: reescalar a la gran media (ignorando la estructura del grupo ...).
Felix S
3

Para obtener una forma rápida de obtener los coeficientes beta estandarizados directamente desde cualquier modelo lm (o glm) en R, intente usar lm.beta(model)desde el paquete QuantPsyc. Por ejemplo:

library("MASS")
glmModel = glm(dependentResponseVar ~ predictor1 + predictor2, data=myData)
summary(glmModel)

library(QuantPsyc)
lm.beta(glmModel)
CJH
fuente
1
En este correo electrónico, Ben Bolker tradujo esta función a "lmer-land".
crsh
Pero el código vinculado que proporciona Ben no es realmente funcional como está escrito en ese correo electrónico, no parece. Incluye palabras / pseudocódigo .... Editar: La respuesta a esta pregunta proporcionará el código de trabajo: stats.stackexchange.com/questions/123366/…
Bajcz
2

Para los modelos lineales estándar regresados ​​con lm () puede escalar () los datos de sus predictores o simplemente usar esta fórmula simple:

lm.results = lm(mydata$Y ~ mydata$x1)

sd.y = sd(mydata$Y)
sd.x1 = sd(mydata$x1)
x1.Beta = coef(lm.results)["mydata$x1"] * (sd.x1 / sd.y)
Robert Kubrick
fuente
1

Suponiendo que haya configurado la salida de su lmermodelo lmer.results, fixef(lmer.results)devolverá los coeficientes generales de efectos fijos.

Michelle
fuente
2
Sin embargo, no serán "estandarizados", ¿verdad? Leí la pregunta como queriendo saber el tamaño de los efectos fijos si todas las variables explicativas estuvieran en la misma escala.
Peter Ellis
No sé si es posible obtener los coeficientes estandarizados de un merobjeto; no aparecen en el resumen, por lo que supongo que los lme4métodos no los crean. fixef()devolverá toda la información de efectos fijos disponible de un merobjeto.
Michelle
1
Como Peter ya comentó: el foco de la pregunta era sobre los coeficientes 'estandarizados' ...
Felix S