Génération de R-carré conditionnel et marginal pour les modèles mixtesJ'exécute une série de modèles mixtes dans JMP 16 (un effet aléatoire, plusieurs effets fixes).
Je souhaite générer des estimations de :
- R^2 marginal (R^2m) : la proportion de variance expliquée par la effets fixes par rapport au écart global
- Conditionnel R^2 (R^2c) : la proportion de variance expliquée par effets fixes et aléatoires par rapport au écart global
Existe-t-il un script facilement disponible ?
De plus, comment JMP calcule-t-il R^2 et R^2 ajusté dans l'onglet "Résumé de l'ajustement" du rapport Ajuster le modèle pour un modèle mixte ?
Remarque concernant le R^2 conditionnel et marginal : La méthode proposée par Nakagawa & Schielzeth (2013) s'applique aux modèles d'interception aléatoire. Johnson (2014) a proposé une extension pour les modèles qui incluent des pentes aléatoires (voir aussi Nakagawa, Schielzeth et Johnson 2017).
Johnson, CP D. 2014. Extension du R2GLMM de Nakagawa & Schielzeth aux modèles à pentes aléatoires. Méthodes en écologie et évolution 5 : 944–46. doi : 10.1111/2041-210X.12225.
Nakagawa, S., & H Schielzeth. 2013. Une méthode générale et simple pour obtenir R2 à partir de modèles linéaires généralisés à effets mixtes. Méthodes en écologie et évolution 4 (2): 133–42. doi :10.1111/j.2041-210x.2012.00261.x.
Nakagawa, S., H Schielzeth et PCD Johnson. 2017. Le coefficient de détermination R2 et le coefficient de corrélation intra-classe des modèles linéaires généralisés à effets mixtes revisités et élargis. Journal de la Royal Society Interface 14(134). doi:10.1098/rsif.2017.0213.
Modélisation statistique avancéeles fenêtresRe : Génération de R-carré conditionnel et marginal pour les modèles mixtesBon je vois que je ne suis pas assez remonté dans le fil.Merci pour votre patience!
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesMerci beaucoup pour votre réponse! J'ai vu votre réponse dans le fil, mais je pensais que cela correspondait à Rsquare conditionnel dans R.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesCe qui suit a été copié d'une de mes premières réponses dans ce fil. Le calcul est le même que ce qui doit être fait dans ANOVA, mais faites juste attention à la valeur prédite que vous devez utiliser. De plus, je pense qu'il est préférable d'ouvrir un autre post pour poser la question, et vous pouvez vous référer à ce fil s'il est lié. Cela devrait être mieux que d'enterrer la question dans un long fil. Et vous obtenez une meilleure chance d'être aidé.
Pour répondre comment JMP obtient R^2. Exécutez le script intégré dans la table de données pour afficher le rapport. Et allez dans le menu de la plate-forme et utilisez "Enregistrer les colonnes" -> "Valeurs Pred conditionnelles" pour enregistrer les prédictions. Maintenant, vous obtenez R ^ 2 de la même manière que vous en obtenez un à partir d'un modèle linéaire des moindres carrés. La formule est ici Résumé de l'ajustement . Par exemple, vous avez besoin de réponses et de prédictions pour obtenir des résidus et calculer la somme des carrés des erreurs SSE ; vous avez besoin des réponses et de leur moyenne pour calculer la somme des carrés de la SST totale. Alors R^2 est (SST - SSE)/SST. Et voici ma preuve de calcul :

Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesJ'ai une question liée à ce sujet, existe-t-il un lien pour montrer comment JMP calcule le RSquare signalé avec REML ?Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesMerveilleux, merci. Cela correspond à la valeur du tableau 2. Très apprécié.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesUtilisez simplement la valeur Prédite (pas la valeur Cond Pred) et calculez la variance :

Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesMerci, mais malheureusement, je n'utilise pas R (qui a des scripts pour produire directement le R^2 marginal et conditionnel).
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesJMP ne produit pas la quantité.
Après l'avoir regardé à nouveau, je pense que je l'ai compris pour vous. Le lien http://samcarcagno.altervista.org/stat_notes/r2_lmm_jags/r_squared_lmm.html que vous avez fourni a l'indice.
Tout se passe après le premier appel. Ensuite, vous devriez voir ceci :

Remarquez que lmeFit@pp$X est la matrice de conception de l'effet fixe avec l'interception. fixef(lmeFit) renvoie les estimations des effets fixes.
Ainsi, la première ligne de code calcule les prédictions (hors interception) pour chaque ligne des données à l'aide des estimations.
Ensuite, la deuxième ligne de code calcule la variance de l'échantillon de ce qui vient d'en haut. Et c'est leur sigma_f^2. Ce n'est donc pas ce que je pensais finalement.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesRebonjour. Une suite à notre récente conversation. J'ai comparé les composants de variance (VC) de la colonne 2 du tableau 2 de l'article de Nakagawa avec ceux de JMP basés sur l'ensemble de données de test (exécution d'un modèle mixte ou d'un modèle SLS avec REML). Dans la sortie JMP, je suis en mesure de trouver toutes les composantes de variance nécessaires pour produire les valeurs R^2 marginales et conditionnelles de Nakagawa, à l'exception de la variance associée aux effets fixes (égale à 1,809 dans la colonne 2 du tableau 2). Le LMM ou le SLS de JMP peuvent-ils produire cette estimation de variance pour les effets fixes ?
Merci.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesSi l'on est obligé d'utiliser un modèle mixte en raison de la présence d'un effet aléatoire (par exemple, une parcelle entière dans un plan expérimental en parcelles fractionnées), mais que l'on s'intéresse principalement aux effets fixes (traitements expérimentaux), le R "marginal" ^2 fournirait une mesure de la variation expliquée par les effets fixes.
Merci pour vos commentaires.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesLe R^2 calculé à l'aide des valeurs prédites est la contrepartie du R^2 marginal dans l'article. JMP ne produit pas cette version de R^2. Je ne vois pas pourquoi je devrais l'utiliser dans le contexte de modèles mixtes.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesJe suis d'accord avec vos préoccupations. Cependant, la littérature suggère qu'un R^2 généré à partir d'un modèle mixte est intrinsèquement problématique. Cela dit, une certaine mesure de la variation expliquée par les termes du modèle est utile (et assez différente de l'utilisation de l'AIC pour sélectionner parmi les modèles candidats).
Ma compréhension est que R^2 et adj. Les R^2 produits par JMP sont destinés à représenter la variation expliquée par la combinaison des effets aléatoires et fixes, c'est-à-dire le modèle au total (s'apparentant au R^2 conditionnel).
Comment décririez-vous le R^2 obtenu en régressant brut par rapport aux valeurs prédites, comme vous l'avez suggéré plus tôt ?
Merci pour la poursuite de la discussion sur ce sujet.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesAvis, suggestions, conclusions provisoires...
- Les R^2 conditionnels et marginaux proposés sont conceptuellement similaires à ce que le R^2 traditionnel de JMP veut résumer. Le R^2 traditionnel de JMP ne présente aucun des problèmes que les auteurs souhaitent aborder dans la première partie de leur article.
- Le calcul du R^2 conditionnel et marginal proposé n'est pas clair pour moi. En utilisant les informations disponibles à partir de l'ajustement du modèle, je ne peux pas reproduire leurs résultats. Il y a des informations importantes qui ne sont pas claires pour moi.
- Si vous pouvez reproduire leurs résultats, vous pouvez les utiliser.
- Si vous ne pouvez pas reproduire leurs résultats, ne dites pas que les R^2 traditionnels de JMP sont des approximations des leurs. C'est inconnu. Les doutes:
- Si le R^2 traditionnel de JMP est toujours proche du leur, pourquoi préférer un calcul complexe à un calcul simple.
- Si les R^2 traditionnels de JMP et leurs versions diffèrent de temps à autre, une meilleure compréhension est nécessaire, en commençant par reproduire leurs résultats.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesOui, je voulais dire s'il fallait utiliser le R^2 de JMP ou le R^2 ajusté de JMP (les deux s'écartent légèrement du R^2 conditionnel dans l'exemple)
Je n'ai pas vu de référence à un R^2 conditionnel "ajusté" dans la littérature.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtes"Désolé, une autre question connexe. Si l'on devait approximer le R^2 conditionnel à partir de la sortie du modèle complet dans JMP, suggéreriez-vous d'utiliser R^2 ou R^2 ajusté ?"
Voulez-vous dire si vous utilisez le R^2 de JMP ou le R^2 ajusté de JMP pour approximer le R^2 conditionnel dans le document ? Si oui, je ne suis pas sûr. Existe-t-il une version "ajustée" du R^2 conditionnel ?
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtes"Observation supplémentaire : la valeur d'interception de JMP différait également de celle rapportée dans l'article pour le modèle complet, mais l'interception était la même que celle rapportée pour le modèle nul. Une autre petite différence dans les résultats. "
C'est prévu. L'encodage dans JMP fera de l'interception la moyenne au sol dans ce cas. Comment faire correspondre les interceptions sous le modèle complet, voir mon post précédent.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesCette capture d'écran montre comment les interceptions sont mises en correspondance sous différents schémas de codage. Et oui, ces termes supplémentaires ne sont pas clairs pour moi. De plus, les auteurs ont mentionné de ne pas utiliser la correction du degré de liberté pour le calcul des variances. Ce sont tous des détails importants mais pas clairs pour moi.

Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesDésolé, une autre question connexe.Si l'on devait approximer le R^2 conditionnel à partir de la sortie complète du modèle dans JMP, suggéreriez-vous d'utiliser R^2 ou R^2 ajusté ?
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtes
Merci. Cela a du sens concernant les coefficients d'effets fixes (bien que je ne comprenne pas la différence d'interception).
Voici un site web qui explique le calcul et les composantes de R^2(m) et R^2(c)
https://jonlefcheck.net/2013/03/13/r2-for-linear-mixed-effects-models/
Il décrit les deux derniers termes du dénominateur comme suit : " ... t Les deux derniers termes additionnent la variance résiduelle et sont la composante de dispersion additive (pour les modèles non normaux) et la variance spécifique à la distribution".Je ne sais pas ce que cela signifie.
Pensez-vous que cela explique la petite différence (c'est-à-dire qu'il s'agit d'ajustements mineurs) ?
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesVous avez bien fait ! Et je suis capable de faire correspondre les résultats JMP et R. Les différences que vous voyez sont dues aux différences entre les conventions de codage de la matrice de conception.
Voici la capture d'écran des résultats côte à côte. Premièrement, les composantes de la variance correspondent parfaitement. Deuxièmement, les estimations des paramètres d'effet fixe JMP (sauf l'interception) sont exactement la moitié de celles de R. L'erreur standard est également de moitié. R utilise le codage (0, 1) pour les variables X binaires, JMP utilise le codage (-1, 1) pour les variables X binaires.

Je ne suis pas en mesure de vérifier les nombres R ^ 2 proposés dans l'article en utilisant les nombres que je vois ici, quels que soient les nombres JMP ou R. J'ai un peu perdu ce qu'ils ont fait. Je remarque que les versions GLMM de leur R^2 sont rapportées, ce qui implique sigma_d^2, dont je ne comprends pas ce que c'est, c'est dans un article séparé. C'est peut-être la pièce manquante. De plus, JMP rapporte une légère corrélation entre les effets aléatoires. Le document ne tient pas compte de la corrélation entre les effets aléatoires. C'est peut-être une deuxième pièce manquante.
Le R^2 produit par JMP et l'autre que j'ai suggéré sont conceptuellement similaires à ce qu'ils veulent réaliser. Mais je ne sais pas comment obtenir leurs numéros. Je suis content que les chiffres soient assez proches.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesObservation supplémentaire : la valeur d'interception de JMP différait également de celle rapportée dans l'article pour le modèle complet, mais l'interception était la même que celle rapportée pour le modèle nul. Une autre petite différence dans les résultats.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesRebonjour,
J'ai essayé d'exécuter les données "modèle de taille" de Nakagawa via la procédure de modélisation mixte dans JMP (via un modèle mixte ou SLS avec REML). La sortie a entraîné des composantes de variance similaires pour les effets aléatoires et des valeurs AIC, BIC similaires, mais les coefficients des effets fixes différaient de ceux de l'article de Nakagawa (voir le tableau 3 dans le pdf joint).Cela pourrait-il être dû au fait que R et JMP utilisent une condition de base différente pour les coefficients des 3 traitements catégoriels (par exemple, hommes au lieu de femmes) ?
Le R^2 de JMP (0,755) était assez similaire au R^2 conditionnel dans l'article (0,741), mais pas tout à fait le même. J'ai généré une colonne de valeurs prédites à partir du modèle JMP et les ai régressées par rapport aux données brutes (si j'ai bien compris votre suggestion). Cela a produit un R^2 (0,402) assez similaire à leur R^2 marginal (0,392), mais encore une fois, pas tout à fait le même. Avez-vous des idées sur ces différences?
J'ai joint l'article de Nakagawa et le fichier de données importé -- ce dernier avec deux colonnes supplémentaires : les valeurs prédites et conditionnelles prédites.
Si vous souhaitez explorer davantage les données, faites-le. Je serai intéressé d'en savoir plus.
Merci encore.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesMerci.Ils semblent offrir un ensemble de données dans l'annexe du manuscrit.Je vais voir si je peux le récupérer et exécuter les tests que vous suggérez.
Je vous ferai savoir ce qui se passe. Encore une fois, merci pour votre contribution.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesRétrospectivement, si le document de référence contient un ensemble de données et un modèle, et donne leurs résultats, puis-je suggérer ce qui suit ?
Utilisez leur ensemble de données et adaptez leur modèle dans JMP. Vous obtenez un JMP R^2. Comparez JMP R^2 avec leur conditionnel R^2.
Ensuite, en suivant les mêmes étapes ci-dessus pour calculer JMP R ^ 2, mais au lieu d'utiliser "Conditional Pred Values", vous utilisez "Predicted Values" dans le menu "Save Columns" et calculez un R ^ 2 différent, appelez-le R * ^ 2. Comparez R*^2 avec le R^2 marginal dans l'article.
Regardez à quel point les comparaisons sont proches. Si vous pouvez le faire, veuillez publier ce que vous avez trouvé pour en informer les lecteurs de la communauté. Merci!
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesMerci beaucoup d'avoir pris le temps de fournir une explication détaillée (et les visuels associés).
Malheureusement, je pense que les étapes d'algèbre linéaire nécessaires pour calculer le Le composant sigma_f^2 me dépasse.
Merci encore!
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesJe pense que toutes les informations sont disponibles dans le rapport du modèle mixte. Mais cela peut nécessiter des connaissances substantielles pour les identifier et les collecter. Je vais essayer. J'utilise les exemples de données JMP Animals comme exemple.
Partie 1
Pour répondre comment JMP obtient R^2. Exécutez le script intégré dans la table de données pour afficher le rapport. Et allez dans le menu de la plate-forme et utilisez "Enregistrer les colonnes" -> "Valeurs Pred conditionnelles" pour enregistrer les prédictions. Maintenant, vous obtenez R ^ 2 de la même manière que vous en obtenez un à partir d'un modèle linéaire des moindres carrés. La formule est ici Résumé de l'ajustement . Par exemple, vous avez besoin de réponses et de prédictions pour obtenir des résidus et calculer la somme des carrés des erreurs SSE ; vous avez besoin des réponses et de leur moyenne pour calculer la somme des carrés de la SST totale. Alors R^2 est (SST - SSE)/SST. Et voici ma preuve de calcul :

Partie 2
Répondez maintenant à vos questions restantes. Vous avez besoin de sigma_f^2, sigma_a^2 et sigma_e^2.
Vous pouvez trouver sigma_e dans Summary of Fit. C'est l'erreur quadratique moyenne.
Vous pouvez trouver sigma_e^2 dans REML Variance Component Estimates. C'est le composant Var associé au résiduel.
Voici la preuve de leur relation :

Vous pouvez trouver sigma_a^2 dans REML Variance Component Estimates. C'est la composante Var associée à l'effet aléatoire. Pour cet exemple, il n'y a qu'un seul composant :

Vient maintenant sigma_f^2. Cela peut nécessiter une connaissance approfondie du modèle linéaire. Vous devrez peut-être consulter certains manuels pour comprendre pourquoi dans les étapes suivantes. Voici les étapes.
Vous avez besoin de Std Error des estimations de paramètres fixes et placez-les dans une matrice diagonale appelée Matrix_S, avec ces Std Error sur la diagonale.

Vous avez besoin de la matrice de corrélation des estimations des paramètres fixes. Vous pouvez le retrouver en vous rendant dans le menu de la plateforme "Estimations" > "Corrélation des Estimations". Mais vous n'avez pas besoin de tout cela, juste la partie carrée supérieure gauche qui est associée à des paramètres fixes. Mettez cette portion de matrice dans une matrice appelée Matrix_R.

Maintenant, vous avez besoin d'algèbre linéaire pour calculer à nouveau le produit de Matrix_S, Matrix_R et Matrix_S pour obtenir une nouvelle matrice. Le résultat est la matrice de covariance des paramètres fixes, appelez-la COV. Pour ces opérations matricielles, cette page peut être utile : Conversion d'une matrice de corrélation en matrice de covariance
Maintenant, vous avez à nouveau besoin des estimations de paramètres, cette fois, la partie Estimation. Mettez-les dans un vecteur ligne, appelez-le VECTOR.

Maintenant, plus d'algèbre linéaire. vous devez calculer VECTOR * COV * transpose (VECTOR). Vous avez votre sigma_f^2.
Vous avez maintenant les trois pièces. Le reste du calcul est la partie facile. Mais cela peut nécessiter un certain effort d'écrire un script pour le faire automatiquement.
Re : Génération de R-carré conditionnel et marginal pour les modèles mixtesOui, je l'ai fait, mais je n'ai pas vu de référence au R-carré conditionnel ou marginal, et je ne vois pas non plus où je peux obtenir les termes de variance nécessaires pour calculer les deux statistiques. Par exemple, consultez cette explication pour les scripts dans R : R2 marginal et conditionnel pour les modèles mixtes linéaires dans JAGS (samcarcagno.altervista.org)
Re : Génération de R au carré conditionnel et marginal pour les modèles mixtesAs-tu jeté un oeil au manuel ?
Modèles mixtes et modèles à effets aléatoires (jmp.com)