Ce complément vous permet d'exécuter le modèle mixte linéaire généralisé dans JMP. Les paramètres par défaut sont pour la plupart les mêmes que ceux de la macro SAS %GLIMMIX.
Les Panneau Sélectionner les colonnes affiche toutes les variables de l'ensemble de données actuel.
Les Panneau Choisir les variables de rôle permet de préciser :
- Y : la variable de réponse.
- Pondération : une variable de pondération pour l'analyse.
- Décalage : la variable de décalage. La valeur par défaut n'est pas de décalage.
- Par : la variable par vous permet d'ajuster des modèles pour des sous-groupes simultanément.
Les Construire des effets de modèle le panneau comprend :
- Effets fixes
- Effets aléatoires
Les Panneau d'options comprend :
- Distribution : la distribution de la variable de réponse. La valeur par défaut est Binomiale.
- Relier : la fonction de lien à utiliser pour transformer la variable de réponse en pseudo scores avant d'utiliser le modèle mixte. Les fonctions de lien canonique sont fournies.
- Itération maximale : le nombre maximum d'itérations pour que l'algorithme converge. La valeur par défaut est 30.
- Critère de convergence : si le RMSE est inférieur à la valeur du critère de convergence, alors l'itération s'arrêtera. La valeur par défaut est 1E-8.
- Facteur de correction : une constante ajoutée à la variable de réponse à l'étape de transformation initiale afin d'éviter les singularités. La valeur par défaut est 0,5.
- Limite de rapport par groupe : lors de la spécification d'une variable Par, si le nombre de sous-groupes est supérieur à ce nombre limite, la sortie du rapport sera supprimée. À la place, un tableau récapitulatif et une interface Graph Builder seront fournis.
Nous allons illustrer les détails du complément à l'aide d'exemples disponibles en ligne (site Web des résultats de macros %GLIMMIX : https://support.sas.com/techsup/notes/v8/25/030.html ou le site PROC GLIMMIX : https://go.documentation.sas.com/?docsetId=statug&docsetVersion=15.1&docsetTarget=statug_glimmix_examples.htm&locale=en ). Pour obtenir des résultats comparatifs à l'aide de la macro SAS, définissez l'option 'DDFM=KR' dans l'instruction MODEL, ainsi que l'option 'NOBOUND' dans l'instruction PROC MIXED.
Des vidéos de démonstration sont également disponibles en ligne :
Exemple 6 -- Format long des données de la salamandre : https://youtu.be/6gCqufudFV4
Exemple 7 -- Données RNA-seq : https://youtu.be/o4LeTmVzzVE
Exemple 1 – Distribution de Poisson (ship_demo.jmp) :
Ce qui suit est un aperçu des données du navire (à l'origine de McCullagh et Nelder (1989), Section 6.3.).
La variable de réponse est « N », qui suit la distribution de Poisson. L'effet fixe dans le modèle mixte linéaire généralisé est le « type » ; et les effets aléatoires sont « année, période, année*période ». La variable de décalage est « service ».
La fonction de lien par défaut pour la distribution de Poisson est le lien 'log'. Notez que, si nous voulons utiliser les liens canoniques (par défaut) pour une distribution sélectionnée, nous pouvons simplement laisser la zone de lien vide.
Les termes d'interaction peuvent être ajoutés en sélectionnant deux ou plusieurs variables et en cliquant sur le bouton « croix » dans le panneau Effets fixes ou Effets aléatoires.
Cliquez sur le bouton « Exécuter » après avoir spécifié tous les paramètres du modèle. Après 28 itérations, l'algorithme a convergé. La sortie de résultat est au format Mixed Model dans JMP. Notez que lors de la comparaison avec les résultats de la macro % GLIMMIX SAS, en raison de la différence dans le codage de la matrice de conception, nous suggérons de comparer les résultats du test F, les moyennes LS ou les estimations des composantes de la variance au lieu des estimations des paramètres à effets fixes.
Exemple 2 – Distribution binaire (sal1.jmp) :
Ce qui suit est un aperçu des données sur la salamandre (à l'origine de McCullagh et Nelder (1989), section 14.5). Notez qu'avant d'exécuter l'analyse, définissez le type de modélisation approprié pour les variables d'intérêt. Dans l'exemple ci-dessous, les variables « fnum, mnum » sont des nombres continus. Mais si nous voulons les utiliser comme variables catégorielles, nous pouvons cliquer avec le bouton droit sur le nom de la variable > informations sur la colonne, puis changer le type de modélisation en nominal.
Modèle Spécification: Variable de réponse : ybin. Répartition : binomiale. Fonction de lien : logit.
Effet fixe : fpop, mpop, fpop*mpop. Effet aléatoire : fpop*fnum, mpop*mnum.
L'algorithme converge après 10 itérations.
Exemple 3 – Distribution binomiale (blotch.jmp)
La source de données: https://go.documentation.sas.com/?docsetId=statug&docsetTarget=statug_code_gmxex04.htm&docsetVersion=15.1&locale=en
La variable de réponse « prop » indique la incidence . « site » et « variété » sont les deux effets fixes. Nous sélectionnons la distribution « Binomiale » et la fonction de lien par défaut est « Logit ». (Nous ne spécifions aucun effet aléatoire dans cet exemple.)
Les moyens LS de « variété » et « site » sont cohérents avec ceux de la macro %GLIMMIX et de la PROC GLIMMIX. Cependant, les résultats du test F ont montré des divergences.
Exemple 4 – Distribution binomiale (rcb_binomial.jmp)
Après 6 itérations, on obtient le résultat suivant. Ce résultat est cohérent avec le résultat généré par la macro %GLIMMIX, mais légèrement différent du résultat de PROC GLIMMIX.
Exemple 5 – Distribution binomiale (hessianfly.jmp)
La source de données: https://go.documentation.sas.com/?docsetId=statug&docsetTarget=statug_code_gmxex01.htm&docsetVersion=15.1&locale=en
La réponse est "o/n", qui est de la forme " événements/épreuves " ou " succès/total des essais ”. Lors de la spécification des variables de réponse Y, nous devons d'abord sélectionner la variable « événements », dans ce cas « y », puis sélectionner la variable « essais » par la suite. Par conséquent, "n" est sélectionné après "y". Définissez « entrée » comme effet fixe et « blocage » comme effet aléatoire. Choisissez la distribution « Binomiale » et utilisez la fonction de lien « Logit » par défaut.
Après 6 itérations, nous dérivons les résultats comme suit :
Les résultats des exemples ci-dessus peuvent être vérifiés par la SAS PROC GLIMMIX et la macro %GLIMMIX, voir le code SAS : SAS_Example_macro_proc_verification.sas .
Exemple 6 – Distribution binaire (sal1_long.jmp) :
Lorsque les données sont constituées de sous-ensembles et que vous souhaitez modéliser chaque groupe/sous-ensemble indépendamment, vous pouvez spécifier la variable indicatrice de groupe/sous-ensemble dans le champ « Par ».
Dans cet exemple, sal1_long.jmp est la version empilée des données Salamander (à l'origine de McCullagh et Nelder (1989), Section 14.5). Ici, les variables de réponse « y1, y2, y3 » sont empilées dans la variable « ystack ». La variable « ycat » indique la catégorie de réponse d'origine.
Ici, spécifiez « ystack » comme variable de réponse et « ycat » comme variable By. Semblable aux paramètres de l'exemple 2, nous pouvons spécifier la distribution, l'effet fixe, l'effet aléatoire.
La procédure GLMM sera exécutée pour chaque groupe/sous-ensemble spécifié dans le champ Par. Le rapport final est comme ci-dessous. Les résultats sont répertoriés pour chaque groupe/sous-ensemble – réponse y1_pseudo, réponse y2_pseudo et réponse y3_pseudo.
Exemple 7 – Données RNA-seq
Étant donné que les données génomiques sont généralement de grande dimension, où le nombre de gènes / SNP est généralement supérieur à 10 000, l'exécution de l'analyse intégrée pourrait être difficile en termes de calcul. Pour l'intérêt futur d'utiliser ce complément pour analyser les données RNA-seq, nous testons les performances lorsque nous augmentons le nombre de gènes spécifiés dans le champ BY. Cette section fera partie du test de résistance, car la fonction BY n'est pas écrite en multi-threading.
L'exemple de données utilisé ici est public en ligne, à partir du package : https://bioconductor.org/packages/release/bioc/vignettes/variancePartition/inst/doc/dream.html
- varPartDEdata_count.jmp est la matrice de comptage d'origine
- varPartDEdata_metadata.jmp est les métadonnées pour les 24 échantillons
- varPartDEdata_stack10.jmp sont les données traitées, où l'expression des gènes des 10 premiers gènes sont empilées, ainsi que d'autres variables de métadonnées.
- varPartDEdata_stack100.jmp sont les données traitées, où l'expression génique des 100 premiers gènes est empilée, ainsi que d'autres variables de métadonnées.
À partir de l'exemple en ligne, pour chaque gène, nous pouvons adapter le modèle comme suit :
Y ~ Sous-type de maladie + Sexe + (1|Individuel)
, où « Sous-type de maladie » et « Sexe » sont des effets fixes et « Individuel » est l'effet aléatoire. Ici la variable de réponse Y
dépendra du choix de la distribution. Un choix de la distribution est la distribution « Poisson », et dans ce cas, nous utilisons le nombre brut « expression » comme variable de réponse. Une autre façon de modéliser les données RNA-seq consiste à commencer par la transformation logarithmique des décomptes et à utiliser «logexprs» comme variable de réponse tout en spécifiant la distribution «normale».
Utilisation des données d'exemple varPartDEdata_stack10.jmp , nous pouvons dériver les résultats pour chacun des dix gènes séparément :
En utilisant les "logexprs" comme variable de réponse, les résultats de Analyze>Fit Model>Mixed Model et de notre complément GLMM sont les mêmes. Lorsque vous utilisez l'« expression » des comptes bruts comme réponse et spécifiez la distribution « Poisson », le temps d'exécution est plus long et il peut y avoir des modèles avec un problème de convergence.
Nombre de sous-groupes (gènes) dans la variable BY
|
Temps d'exécution de Poisson (HH:MM:SS)
|
Temps d'exécution normal (HH:MM:SS)
|
Modèle mixte utilisant le temps d'exécution du journal (compte) (HH:MM:SS)
|
dix
|
00:01:15
|
00:00:06
|
|
100
|
00:00:00
|
00:00:43
|
00:00:01
|
1000
|
01:25:19
|
00:09:05
|
00:01:41
|
10000
|
11:11:05
|
01:31:58
|
|
……
|
|
|
|
Lorsque le nombre de gènes/sous-groupes spécifié dans le champ BY est supérieur à la limite de rapport par groupe = 10 , par exemple en utilisant varPartDEdata_stack100.jmp , nous n'afficherons plus le rapport. Au lieu de cela, un tableau JMP « résultat GLMM » avec un tracé de volcan sera fourni. Le tableau « résultat GLMM » comprend une partie des résultats du test F (DFDen_, F Ratio_, Prob > F_), les moyennes des moindres carrés (LSMeans
, ainsi qu'une partie des estimations des paramètres (Estimate :, -log10(Prob >|t|):).
En spécifiant "logexprs" comme Y et en spécifiant une distribution "normale", nous pouvons dériver l'ensemble de données ci-dessous. (Disponible en tant que Résultat GLMM.jmp )
Le tracé du volcan par défaut est généré pour le premier effet fixe spécifié. Vous pouvez changer de colonne pour regarder le tracé du volcan pour d'autres variables d'intérêt.
(100 gènes, logexprs)
(10000 gènes, logexprs)
(10000 gènes, expression, Poisson)