Como sacar la varianza
Varianza de la pendiente aleatoria
En su libro seminal «Semiparametric Regression», Ruppert, Wand y Carroll abogan por la simulación de Montecarlo de los valores críticos del estadístico de razón de verosimilitudes cuando se utiliza el procedimiento de razón de verosimilitudes para la comprobación de hipótesis en el marco de los modelos mixtos (véase 4.8.2 páginas 105-7 para más detalles). Como dicen los autores, «La idea es establecer los valores de todos los efectos fijos y los parámetros de los componentes de la varianza [valores $\epsilon$ y efectos aleatorios] iguales a sus estimaciones bajo la distribución nula y luego simular la distribución de la prueba de razón de verosimilitud bajo el modelo nulo en los parámetros y con las covariables iguales a sus valores observados.»
Supongamos que tenemos unos datos del curso temporal compuestos por 39 observaciones recogidas en 5 puntos temporales (0, 3, 7, 14 y 21 días) de 39 pacientes que están separados en dos grupos (A y B). Supongamos además que queremos ajustar splines de suavizado cúbico a estos datos utilizando mgcv::gam y realizar una prueba de razón de verosimilitud para determinar si las tendencias temporales son diferentes entre los dos grupos:
Extraer efectos aleatorios lmer
He realizado una regresión múltiple en la que el modelo en su conjunto es significativo y explica aproximadamente el 13% de la varianza. Sin embargo, necesito encontrar la cantidad de varianza explicada por cada predictor significativo. ¿Cómo puedo hacerlo con R?
Esta pregunta se ha respondido aquí, pero la respuesta aceptada sólo se refiere a los predictores no correlacionados, y aunque hay una respuesta adicional que se refiere a los predictores correlacionados, sólo proporciona una pista general, no una solución específica. Me gustaría saber qué hacer si mis predictores están correlacionados.
Si se especifica un orden particular, se puede calcular esto trivialmente en R (por ejemplo, a través de las funciones update y anova, véase más adelante), pero un orden de entrada diferente produciría respuestas potencialmente muy diferentes.
Demostré que el porcentaje de la variación explicada por un predictor dado en una regresión lineal múltiple es el producto del coeficiente de la pendiente y la correlación del predictor con los valores ajustados de la variable dependiente (suponiendo que todas las variables han sido estandarizadas para tener una media cero y una varianza uno; lo cual es sin pérdida de generalidad). Encuéntrelo aquí:
Análisis de componentes de la varianza en r
Algunas de las otras respuestas son factibles, pero afirmo que la mejor respuesta es usar el método accesorio que está diseñado para esto — VarCorr (es el mismo que en el predecesor de lme4, el paquete nlme).
Actualizado en las versiones recientes de lme4 (versión 1.1-7, pero todo lo que sigue es probablemente aplicable a las versiones >= 1.0), VarCorr es más flexible que antes, y debería hacer todo lo que usted desea sin tener que recurrir a la pesca dentro del objeto modelo ajustado.
Para una mayor flexibilidad, puede utilizar el método as.data.frame para convertir el objeto VarCorr, que proporciona la variable de agrupación, la(s) variable(s) de efecto, y la varianza/covarianza o la desviación estándar/correlaciones:
Por último, la forma bruta del objeto VarCorr (con la que probablemente no debería meterse si no es necesario) es una lista de matrices de varianza-covarianza con información adicional (redundante) que codifica las desviaciones estándar y las correlaciones, así como atributos («sc») que dan la desviación estándar residual y especifican si el modelo tiene un parámetro de escala estimado («useSc»).
Extraer componentes de varianza de lme
Soy ecologista y a menudo realizo experimentos de medidas repetidas en animales para observar las diferencias individuales en el comportamiento y el metabolismo. Me gustaría empezar a utilizar rstanarm para calcular las estimaciones de repetibilidad (coeficientes de correlación intraclase) y las correlaciones de pendiente-intercepto para varios rasgos que observo. Sin embargo, me resulta difícil averiguar cómo extraer los componentes de la varianza de los objetos de rstanarm. He pegado ejemplos de cómo lo hago con MCMCglmm (script completo y datos aquí: https://bit.ly/2LTCGBi) pero agradecería mucho que me aconsejaran sobre cómo hacer lo mismo con rstanarm. Sé que print() devuelve el coeficiente de correlación de intercepción de pendiente de los efectos aleatorios, pero no hay estimaciones de SD ni intervalos de credibilidad del 95% asociados a él.
En general, es mejor mostrar un gráfico de todo el margen de la distribución posterior que es de interés, pero si se va a centrar en un número, normalmente debería ser la media o la mediana. La moda posterior no es útil.