Generación de R-cuadrado condicional y marginal para modelos mixtosEstoy ejecutando una serie de modelos mixtos en JMP 16 (un efecto aleatorio, múltiples efectos fijos).
Me gustaría generar estimaciones de:
- Marginal R^2 (R^2m): la proporción de la varianza explicada por el efectos fijos relativo a la varianza general
- Condicional R^2 (R^2c): la proporción de la varianza explicada por efectos fijos y aleatorios relativo a la varianza general
¿Hay un guión disponible?
Además, ¿cómo calcula JMP la R^2 y ajustado R^2 en la pestaña "Resumen de ajuste" en el informe Modelo de ajuste para un modelo mixto?
Nota sobre R ^ 2 condicional y marginal: El método propuesto por Nakagawa & Schielzeth (2013) se aplica a los modelos de intercepción aleatoria. Johnson (2014) propuso una extensión para modelos que incluyen pendientes aleatorias (ver también Nakagawa, Schielzeth y Johnson 2017).
Johnson, ordenador personal D. 2014. Extensión del R2GLMM de Nakagawa & Schielzeth a modelos de pendientes aleatorias. Métodos en ecología y evolución 5: 944–46. doi:10.1111/2041-210X.12225.
Nakagawa, S., & H. Schielzeth. 2013. Un método general y simple para obtener R2 a partir de modelos lineales generalizados de efectos mixtos. Métodos en ecología y evolución 4 (2): 133–42. doi:10.1111/j.2041-210x.2012.00261.x.
Nakagawa, S., h Schielzeth y PCD Johnson. 2017. El coeficiente de determinación R2 y el coeficiente de correlación intraclase de los modelos lineales generalizados de efectos mixtos revisados y ampliados. Revista de la Royal Society Interface 14(134). doi:10.1098/rsif.2017.0213.
Modelado Estadístico AvanzadoventanasRe: Generando R-cuadrado condicional y marginal para modelos mixtosOk, ahora veo que no retrocedí lo suficiente en el hilo.¡Gracias por su paciencia!
Re: Generando R-cuadrado condicional y marginal para modelos mixtos¡Muchas gracias por la respuesta! Vi tu respuesta en el hilo, pero pensé que era para hacer coincidir Rsquare Condicional en R.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosLo siguiente fue copiado de una de mis primeras respuestas en este hilo. El cálculo es el mismo que se debe hacer en ANOVA, pero solo preste atención al valor predicho que debe usar. Además, creo que es mejor abrir una publicación diferente para hacer la pregunta, y puede consultar este hilo si está relacionado. De esa manera debería ser mejor que enterrar la pregunta en un hilo largo. Y usted tiene una mejor oportunidad de ser ayudado.
Para responder cómo JMP obtiene R^2. Ejecute el script incrustado en la tabla de datos para que aparezca el informe. Y vaya al menú de la plataforma y use "Guardar columnas" -> "Valores de predicción condicionales" para guardar las predicciones. Ahora obtienes R ^ 2 de la misma manera que obtienes uno de un modelo lineal de mínimos cuadrados. La fórmula está aquí Resumen de ajuste . Por ejemplo, necesita respuestas y predicciones para obtener residuos y calcular la suma de los cuadrados de los errores SSE; necesita respuestas y su media para calcular la suma de cuadrados de SST total. Entonces R^2 es (SST - SSE)/SST. Y aquí está mi prueba de cálculo:

Re: Generando R-cuadrado condicional y marginal para modelos mixtosTengo una pregunta relacionada con este tema, ¿hay un enlace que muestre cómo calcula JMP el RSquare informado con REML?Re: Generando R-cuadrado condicional y marginal para modelos mixtosMaravilloso, gracias. Eso coincide con el valor en la Tabla 2. Muy apreciado.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosSimplemente use el valor Predicho (no el valor Cond Pred) y calcule la varianza:

Re: Generando R-cuadrado condicional y marginal para modelos mixtosGracias, pero desafortunadamente, no uso R (que tiene scripts para producir R^2 marginal y condicional directamente).
Re: Generando R-cuadrado condicional y marginal para modelos mixtosJMP no produce la cantidad.
Después de mirarlo de nuevo, creo que lo he descubierto para ti. El enlace http://samcarcagno.altervista.org/stat_notes/r2_lmm_jags/r_squared_lmm.html que usted proporcionó tiene la pista.
Todo sucede después de la llamada de lmer. Entonces deberías ver esto:

Observe que lmeFit@pp$X es la matriz de diseño del efecto fijo junto con la intersección. fixef(lmeFit) devuelve las estimaciones de efectos fijos.
Entonces, la primera línea de código está calculando las predicciones (excluyendo la intercepción) para cada fila en los datos usando las estimaciones.
Luego, la segunda línea de código calcula la varianza de la muestra de lo que viene de arriba. Y este es su sigma_f^2. Así que no es lo que pensé que era después de todo.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosHola de nuevo. Un seguimiento de nuestra conversación reciente. Comparé los componentes de varianza (VC) en la columna 2 de la Tabla 2 del artículo de Nakagawa con los de JMP según el conjunto de datos de prueba (ejecutando un modelo mixto o un modelo SLS con REML). En la salida de JMP, puedo encontrar todos los componentes de varianza necesarios para producir los valores marginales y condicionales de R^2 de Nakagawa, excepto la varianza asociada con los efectos fijos (igual a 1,809 en la columna 2 de la Tabla 2). ¿Puede el LMM o SLS de JMP producir esa estimación de varianza para los efectos fijos?
Gracias.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosSi uno se ve obligado a usar un modelo mixto debido a la presencia de un efecto aleatorio (p. ej., una parcela completa en un diseño experimental de parcelas divididas), pero uno está interesado principalmente en los efectos fijos (tratamientos experimentales), la R "marginal" ^2 proporcionaría una medida de la variación explicada por los efectos fijos.
Gracias por tus comentarios.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosEl R ^ 2 calculado utilizando valores predichos es la contraparte del R ^ 2 marginal en el documento. JMP no produce esa versión de R^2. No puedo pensar por qué debería usarlo en el contexto de modelos mixtos.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosEstoy de acuerdo con tus preocupaciones. Sin embargo, la literatura sugiere que un R^2 generado a partir de un modelo mixto es inherentemente problemático. Dicho esto, es útil alguna medida de la variación explicada por los términos del modelo (y bastante diferente de usar AIC para seleccionar entre modelos candidatos).
Tengo entendido que R ^ 2 y adj. Los R^2 producidos por JMP pretenden representar la variación explicada por la combinación de efectos fijos y aleatorios, es decir, el modelo en su totalidad (similar al R^2 condicional).
¿Cómo describiría el R^2 obtenido al hacer una regresión sin procesar contra los valores pronosticados, como sugirió anteriormente?
Gracias por la discusión continua sobre este tema.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosOpiniones, sugerencias, conclusiones provisionales...
- Los R^2 condicionales y marginales propuestos son conceptualmente similares a lo que el R^2 tradicional de JMP quiere resumir. El R^2 tradicional de JMP no tiene ninguno de los problemas que los autores quieren abordar en la primera parte de su artículo.
- El cálculo de R ^ 2 condicional y marginal propuesto no me queda claro. Usando la información disponible del ajuste del modelo, no puedo reproducir sus resultados. Hay información importante que no me queda clara.
- Si puede reproducir sus resultados, entonces puede usarlos.
- Si no puede reproducir sus resultados, no diga que los R^2 tradicionales de JMP son aproximaciones a los suyos. Eso es desconocido. Dudas:
- Si el R ^ 2 tradicional de JMP siempre está cerca del suyo, ¿por qué preferir un cálculo complejo a un cálculo simple?
- Si el R^2 tradicional de JMP y sus versiones son diferentes de vez en cuando, entonces se necesita una mejor comprensión, comenzando con la reproducción de sus resultados.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosSí, quise decir si usar el R ^ 2 de JMP o el R ^ 2 ajustado de JMP (ambos se desvían ligeramente del R ^ 2 condicional en el ejemplo)
No he visto referencias a un R^2 condicional "ajustado" en la literatura.
Re: Generando R-cuadrado condicional y marginal para modelos mixtos"Lo siento, otra pregunta relacionada. Si uno fuera a aproximar el R ^ 2 condicional de la salida del modelo completo en JMP, ¿sugeriría usar R ^ 2 o R ^ 2 ajustado?"
¿Quiere decir si usa el R ^ 2 de JMP o el R ^ 2 ajustado de JMP para aproximar el R ^ 2 condicional en el documento? Si es así, no estoy seguro. ¿Existe una versión "ajustada" para el R^2 condicional?
Re: Generando R-cuadrado condicional y marginal para modelos mixtos"Observación adicional: el valor de intercepción de JMP también difirió del informado en el documento para el modelo completo, pero la intercepción fue la misma que la informada para el modelo nulo. Otra pequeña diferencia en los resultados. "
Eso se espera. La codificación en JMP hará que la intersección con el terreno signifique en este caso. Cómo hacer coincidir las intersecciones bajo el modelo completo, vea mi publicación anterior.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosEsta captura de pantalla muestra cómo se comparan las intersecciones bajo diferentes esquemas de codificación. Y sí, esos términos extra no me quedan claros. Además, los autores mencionaron no utilizar la corrección del grado de libertad para calcular las varianzas. Todos esos son detalles importantes pero no claros para mí.

Re: Generando R-cuadrado condicional y marginal para modelos mixtosLo siento, otra pregunta relacionada.Si uno fuera a aproximar el R ^ 2 condicional de la salida del modelo completo en JMP, ¿sugeriría usar R ^ 2 o R ^ 2 ajustado?
Re: Generando R-cuadrado condicional y marginal para modelos mixtos
Gracias. Eso tiene sentido con respecto a: los coeficientes de efectos fijos (aunque no entiendo la diferencia en el intercepto).
Aquí hay un sitio web que explica el cálculo y los componentes de R^2(m) y R^2(c)
https://jonlefcheck.net/2013/03/13/r2-for-linear-mixed-effects-models/
Describe los dos últimos términos en el denominador de la siguiente manera: "... t Los dos últimos términos suman la varianza residual y son el componente de dispersión aditivo (para modelos no normales) y la varianza específica de la distribución".No estoy seguro que significa esto.
¿Cree que esto explica la pequeña diferencia (es decir, son ajustes menores)?
Re: Generando R-cuadrado condicional y marginal para modelos mixtos¡Lo hiciste correctamente! Y puedo hacer coincidir los resultados de JMP y R. Las diferencias que ve se deben a las diferencias entre las convenciones de codificación de matriz de diseño.
Aquí está la captura de pantalla de los resultados uno al lado del otro. Primero, los componentes de la varianza coinciden completamente. En segundo lugar, las estimaciones de parámetros de efectos fijos de JMP (excepto la intercepción) son exactamente la mitad de las de R. El error estándar también es la mitad. R usa (0, 1) codificación para variables binarias X, JMP usa (-1, 1) codificación para variables binarias X.

No puedo verificar los números R^2 propuestos en el documento usando los números que veo aquí, independientemente de los números JMP o los números R. Estoy un poco perdido acerca de lo que han hecho. Observé que se informan las versiones GLMM de su R^2, lo que involucra a sigma_d^2, que no entiendo qué es, está en un documento separado. Quizás esa sea la pieza que falta. Además, JMP informa una ligera correlación entre los efectos aleatorios. El documento no considera la correlación entre los efectos aleatorios. Esta puede ser una segunda pieza faltante.
El R^2 que produce JMP y el otro que sugerí son conceptualmente similares a lo que quieren lograr. Pero no puedo averiguar cómo obtener sus números. Me alegro de que los números estén bastante cerca.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosObservación adicional: el valor de intercepción de JMP también difirió del informado en el documento para el modelo completo, pero la intercepción fue la misma que la informada para el modelo nulo. Otra pequeña diferencia en los resultados.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosHola de nuevo,
Intenté ejecutar los datos del "modelo de tamaño" de Nakagawa a través del procedimiento de modelado mixto en JMP (a través del modelo mixto o SLS con REML). El resultado resultó en componentes de varianza similares para los efectos aleatorios y valores AIC, BIC similares, pero los coeficientes para los efectos fijos diferían de los del artículo de Nakagawa (consulte la Tabla 3 en el pdf adjunto).¿Podría deberse a que R y JMP usan una condición base diferente para los coeficientes de los 3 tratamientos categóricos (p. ej., hombres en lugar de mujeres)?
El R^2 de JMP (0,755) fue bastante similar al R^2 condicional del artículo (0,741), pero no exactamente igual. Generé una columna de valores predichos del modelo JMP y los comparé con los datos sin procesar (si entendí su sugerencia correctamente). Esto produjo un R^2 (0.402) bastante similar a su R^2 marginal (0.392), pero de nuevo, no exactamente igual. ¿Tiene alguna idea sobre estas diferencias?
Adjunté el documento de Nakagawa y el archivo de datos importados, este último con dos columnas adicionales: los valores pronosticados y los valores pronosticados condicionales.
Si desea explorar más los datos, hágalo. Estaré interesado en aprender más.
Gracias de nuevo.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosGracias.Parecen ofrecer un conjunto de datos en el apéndice del manuscrito.Veré si puedo recuperarlo y hacer las pruebas que sugieres.
Te dejaré saber lo que sucede. Una vez más, gracias por su entrada.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosEn retrospectiva, si el documento de referencia tiene un conjunto de datos y un modelo, y brinda sus resultados, ¿puedo sugerir lo siguiente?
Use su conjunto de datos y ajuste su modelo en JMP. Obtienes un JMP R^2. Compare JMP R^2 con su condicional R^2.
Luego, siguiendo los mismos pasos anteriores para calcular JMP R^2, pero en lugar de usar "Valores predichos condicionales", usa "Valores predichos" en el menú "Guardar columnas" y calcula un R^2 diferente, llámelo R*^ 2. Compare R*^2 con el R^2 marginal del artículo.
Mira qué cerca están las comparaciones. Si puede hacerlo, publique lo que encuentre para que los lectores de la comunidad lo sepan. ¡Gracias!
Re: Generando R-cuadrado condicional y marginal para modelos mixtosMuchas gracias por tomarse el tiempo para proporcionar una explicación detallada (y las imágenes asociadas).
Desafortunadamente, creo que los pasos de álgebra lineal necesarios para calcular el El componente sigma_f^2 está más allá de mí.
¡Gracias de nuevo!
Re: Generando R-cuadrado condicional y marginal para modelos mixtosCreo que toda la información está disponible en el informe Modelo mixto. Pero puede requerir un conocimiento sustancial para identificarlos y recopilarlos. Voy a darle una oportunidad. Utilizo datos de muestra de JMP Animales como ejemplo.
Parte 1
Para responder cómo JMP obtiene R^2. Ejecute el script incrustado en la tabla de datos para que aparezca el informe. Y vaya al menú de la plataforma y use "Guardar columnas" -> "Valores de predicción condicionales" para guardar las predicciones. Ahora obtienes R ^ 2 de la misma manera que obtienes uno de un modelo lineal de mínimos cuadrados. La fórmula está aquí Resumen de ajuste . Por ejemplo, necesita respuestas y predicciones para obtener residuos y calcular la suma de los cuadrados de los errores SSE; necesita respuestas y su media para calcular la suma de cuadrados de SST total. Entonces R^2 es (SST - SSE)/SST. Y aquí está mi prueba de cálculo:

Parte 2
Ahora responda las preguntas restantes. Necesita sigma_f^2, sigma_a^2 y sigma_e^2.
Puede encontrar sigma_e en Resumen de ajuste. Es el error cuadrático medio de la raíz.
Puede encontrar sigma_e^2 en Estimaciones de componentes de varianza de REML. Es el Componente Var asociado al Residual.
Aquí está la prueba de su relación:

Puede encontrar sigma_a^2 en Estimaciones de componentes de varianza de REML. Es el Componente Var asociado al efecto aleatorio. Para este ejemplo, solo hay un componente:

Ahora viene a sigma_f^2. Esto puede requerir un conocimiento sustancial del modelo lineal. Es posible que deba consultar algunos libros de texto para comprender por qué en los siguientes pasos. Aquí están los pasos.
Necesita el error estándar de las estimaciones de parámetros fijos y los coloca en una matriz diagonal llamada Matrix_S, con este error estándar en la diagonal.

Necesita la matriz de correlación de las estimaciones de parámetros fijos. Puede encontrarlo yendo al menú de la plataforma "Estimados" > "Correlación de Estimados". Pero no lo necesita todo, solo la parte cuadrada superior izquierda que está asociada con parámetros fijos. Coloque esta porción de matriz en una matriz llamada Matrix_R.

Ahora necesita álgebra lineal para calcular el producto de Matrix_S, Matrix_R y Matrix_S nuevamente para obtener una nueva matriz. El resultado es la matriz de covarianza de los parámetros fijos, llámese COV. Para estas operaciones matriciales, esta página puede ser útil: Conversión de una matriz de correlación en una matriz de covarianza
Ahora necesita estimaciones de parámetros nuevamente, esta vez, la parte de estimación. Póngalos en un vector de fila, llámelo VECTOR.

Ahora, más álgebra lineal. necesita calcular VECTOR * COV * transposición (VECTOR). Tienes tu sigma_f^2.
Ahora tienes las tres piezas. El cálculo del resto es la parte fácil. Pero puede requerir bastante esfuerzo escribir un script para hacerlo automáticamente.
Re: Generando R-cuadrado condicional y marginal para modelos mixtosSí, lo hice, pero no vi referencias a R cuadrado condicional o marginal, ni veo dónde puedo obtener los términos de varianza necesarios para calcular las dos estadísticas. Por ejemplo, vea esta explicación para secuencias de comandos en R: R2 marginal y condicional para modelos mixtos lineales en JAGS (samcarcagno.altervista.org)
Re: Generando R-cuadrado condicional y marginal para modelos mixtos¿Le echaste un vistazo al manual?
Modelos mixtos y modelos de efectos aleatorios (jmp.com)