Mit diesem Add-In können Sie das generalisierte lineare gemischte Modell in JMP ausführen. Die Standardparametereinstellungen sind größtenteils dieselben wie beim SAS %GLIMMIX-Makro.
Die Bereich "Spalten auswählen" zeigt alle Variablen im aktuellen Datensatz an.
Die Bereich „Rollenvariablen auswählen“ ermöglicht Ihnen anzugeben:
- Y: die Antwortvariable.
- Gewicht: eine Gewichtungsvariable für die Analyse.
- Offset: die Offset-Variable. Der Standardwert ist kein Offset.
- By: Mit der Variable by können Sie Modelle für Untergruppen gleichzeitig anpassen.
Die Modelleffekte konstruieren Panel beinhaltet:
- Feste Effekte
- Zufällige Effekte
Die Optionsfeld beinhaltet:
- Verteilung : die Verteilung der Antwortvariablen. Der Standardwert ist Binomial.
- Verknüpfung : die Link-Funktion, die verwendet werden soll, um die Antwortvariable in Pseudo-Scores umzuwandeln, bevor das gemischte Modell verwendet wird. Die Canonical Link-Funktionen werden bereitgestellt.
- Max. Iteration : die maximale Anzahl von Iterationen für die Konvergenz des Algorithmus. Der Standardwert ist 30.
- Konvergenzkriterium : Wenn der RMSE kleiner als der Wert des Konvergenzkriteriums ist, wird die Iteration beendet. Der Standardwert ist 1E-8.
- Korrekturfaktor : eine Konstante, die der Antwortvariablen beim anfänglichen Transformationsschritt hinzugefügt wird, um Singularitäten zu vermeiden. Der Standardwert ist 0,5.
- Nach Gruppenberichtslimit : Bei Angabe einer By-Variablen wird die Berichtsausgabe unterdrückt, wenn die Anzahl der Untergruppen diesen Grenzwert überschreitet. Stattdessen werden eine Übersichtstabelle und eine Graph Builder-Schnittstelle bereitgestellt.
Wir werden die Details des Add-Ins anhand von Beispielen veranschaulichen, die online verfügbar sind (Website mit %GLIMMIX-Makroergebnissen: https://support.sas.com/techsup/notes/v8/25/030.html oder die PROC GLIMMIX-Website: https://go.documentation.sas.com/?docsetId=statug&docsetVersion=15.1&docsetTarget=statug_glimmix_examples.htm&locale=de ). Um Vergleichsergebnisse mit dem SAS-Makro abzuleiten, setzen Sie die Option 'DDFM=KR' in der MODEL-Anweisung und auch die Option 'NOBOUND' in der PROC MIXED-Anweisung.
Demo-Videos sind auch online verfügbar:
Beispiel 6 – Langformat für Salamander-Daten: https://youtu.be/6gCqufudFV4
Beispiel 7 – RNA-Seq-Daten: https://youtu.be/o4LeTmVzzVE
Beispiel 1 – Poisson-Verteilung (ship_demo.jmp):
Das Folgende ist ein kleiner Einblick in die Schiffsdaten (ursprünglich von McCullagh und Nelder (1989), Abschnitt 6.3.).
Die Antwortvariable ist „N“, die der Poisson-Verteilung folgt. Der feste Effekt im Generalized Linear Mixed Model ist „Typ“; und die zufälligen Effekte sind „Jahr, Periode, Jahr*Periode“. Die Offset-Variable ist „Service“.
Die Standardlinkfunktion für die Poisson-Verteilung ist der 'log'-Link. Beachten Sie, dass wir das Linkfeld einfach leer lassen können, wenn wir die kanonischen (Standard-)Links für eine ausgewählte Distribution verwenden möchten.
Interaktionsbegriffe können hinzugefügt werden, indem Sie zwei oder mehr Variablen auswählen und im Bedienfeld „Feste Effekte“ oder „Zufällige Effekte“ auf die Schaltfläche „Kreuz“ klicken.
Klicken Sie auf die Schaltfläche "Ausführen", nachdem Sie alle Modellparameter angegeben haben. Nach 28 Iterationen konvergierte der Algorithmus. Die Ergebnisausgabe hat das Mixed Model-Format in JMP. Beachten Sie, dass wir beim Vergleich mit den %GLIMMIX SAS-Makroergebnissen aufgrund des Unterschieds in der Designmatrixcodierung empfehlen, die F-Testergebnisse, die LS-Mittelwerte oder die Varianzkomponentenschätzungen anstelle der Parameterschätzungen mit festen Effekten zu vergleichen.
Beispiel 2 – Binärverteilung (sal1.jmp):
Das Folgende ist ein kurzer Einblick in die Salamander-Daten (ursprünglich von McCullagh und Nelder (1989), Abschnitt 14.5). Beachten Sie, dass Sie vor dem Ausführen der Analyse den richtigen Modellierungstyp für die interessierenden Variablen definieren. Im folgenden Beispiel sind die Variablen „fnum, mnum“ fortlaufende Zahlen. Wenn wir sie jedoch als kategoriale Variablen verwenden möchten, können wir mit der rechten Maustaste auf den Variablennamen > Spalteninformationen klicken und dann den Modellierungstyp in nominal ändern.
Modellspezifikation: Antwortvariable: ybin. Verteilung: Binomial. Linkfunktion: logit.
Fester Effekt: fpop, mpop, fpop*mpop. Zufälliger Effekt: fpop*fnum, mpop*mnum.
Der Algorithmus konvergiert nach 10 Iterationen.
Beispiel 3 – Binomialverteilung (blotch.jmp)
Datenquelle: https://go.documentation.sas.com/?docsetId=statug&docsetTarget=statug_code_gmxex04.htm&docsetVersion=15.1&locale=de
Die Antwortvariable „prop“ zeigt die Vorfall . „Site“ und „Varietät“ sind die beiden festen Effekte. Wir wählen die „Binomial“-Verteilung und die Standard-Link-Funktion ist „Logit“. (Wir spezifizieren in diesem Beispiel keinen zufälligen Effekt.)
Die LS-Mittel von „Sorte“ und „Standort“ stimmen mit denen aus dem %GLIMMIX-Makro und PROC GLIMMIX überein. Die F-Testergebnisse zeigten jedoch Diskrepanzen.
Beispiel 4 – Binomialverteilung (rcb_binomial.jmp)
Nach 6 Iterationen leiten wir das folgende Ergebnis ab. Dieses Ergebnis stimmt mit dem Ergebnis des %GLIMMIX-Makros überein, unterscheidet sich jedoch geringfügig vom Ergebnis von PROC GLIMMIX.
Beispiel 5 – Binomialverteilung (hessianfly.jmp)
Datenquelle: https://go.documentation.sas.com/?docsetId=statug&docsetTarget=statug_code_gmxex01.htm&docsetVersion=15.1&locale=de
Die Antwort ist „j/n“ und hat die Form „ Veranstaltungen/Studien " oder " Erfolge/Gesamtversuche “. Bei der Angabe der Antwortvariablen Y müssen wir zuerst die Variable „events“ auswählen, in diesem Fall „y“, und danach die Variable „trials“. Daher wird „n“ nach „y“ ausgewählt. Stellen Sie „Entry“ als festen Effekt und „Block“ als zufälligen Effekt ein. Wählen Sie „Binomial“-Verteilung und verwenden Sie die standardmäßige „Logit“-Link-Funktion.
Nach 6 Iterationen leiten wir die Ergebnisse wie folgt ab:
Die Ergebnisse der obigen Beispiele können mit dem SAS PROC GLIMMIX und dem %GLIMMIX-Makro überprüft werden, siehe SAS-Code: SAS_Example_macro_proc_verification.sas .
Beispiel 6 – Binärverteilung (sal1_long.jmp):
Wenn die Daten aus Teilmengen bestehen und Sie jede Gruppe/Teilmenge unabhängig modellieren möchten, können Sie die Gruppen-/Teilmengen-Indikatorvariable im Feld „Nach“ angeben.
In diesem Beispiel ist sal1_long.jmp die gestapelte Version der Salamander-Daten (ursprünglich von McCullagh und Nelder (1989), Abschnitt 14.5). Hier werden die Antwortvariablen „y1, y2, y3“ in die Variable „ystack“ gestapelt. Die Variable „ycat“ gibt die ursprüngliche Antwortkategorie an.
Geben Sie hier „ystack“ als Antwortvariable und „ycat“ als By-Variable an. Ähnlich wie bei den Einstellungen in Beispiel 2 können wir die Verteilung, fester Effekt, zufälliger Effekt festlegen.
Die GLMM-Prozedur wird für jede Gruppe/Untermenge ausgeführt, die im Feld Nach angegeben ist. Der Abschlussbericht ist wie folgt. Die Ergebnisse werden für jede Gruppe/Untergruppe aufgelistet – Antwort y1_pseudo, Antwort y2_pseudo und Antwort y3_pseudo.
Beispiel 7 – RNA-Seq-Daten
Da Genomdaten in der Regel eine hohe Dimension aufweisen, bei denen die Anzahl der Gene / SNPs normalerweise mehr als 10.000 beträgt, kann die Durchführung der integrierten Analyse rechnerisch eine Herausforderung darstellen. Für zukünftiges Interesse an der Verwendung dieses Add-Ins zur Analyse der RNA-Seq-Daten testen wir die Leistung, wenn die Anzahl der im BY-Feld angegebenen Gene erhöht wird. Dieser Abschnitt dient als Teil des Stresstests, da die BY-Funktion nicht in Multithreading geschrieben ist.
Die hier verwendeten Beispieldaten sind online öffentlich, aus dem Paket: https://bioconductor.org/packages/release/bioc/vignettes/variancePartition/inst/doc/dream.html
- varPartDEdata_count.jmp ist die ursprüngliche Zählmatrix
- varPartDEdata_metadata.jmp sind die Metadaten für die 24 Samples
- varPartDEdata_stack10.jmp sind die verarbeiteten Daten, in denen die Genexpression der ersten 10 Gene zusammen mit anderen Metadatenvariablen gestapelt wird.
- varPartDEdata_stack100.jmp sind die verarbeiteten Daten, in denen die Genexpression der ersten 100 Gene zusammen mit anderen Metadatenvariablen gestapelt werden.
Aus dem Online-Beispiel können wir für jedes Gen das Modell wie folgt anpassen:
Y ~ KrankheitSubtyp + Geschlecht + (1|Individuum)
, wobei „DiseaseSubtype“ und „Sex“ feste Effekte sind und „Individual“ der zufällige Effekt ist. Hier ist die Antwortvariable Y
hängt von der Wahl der Verteilung ab. Eine Möglichkeit der Verteilung ist die „Poisson“-Verteilung, und in diesem Fall verwenden wir den „Ausdruck“ der Rohzahl als Antwortvariable. Eine alternative Möglichkeit, die RNA-seq-Daten zu modellieren, besteht darin, zuerst die logarithmische Transformation der Zählungen vorzunehmen und „logexprs“ als Antwortvariable zu verwenden, während die „Normal“-Verteilung angegeben wird.
Verwendung der Beispieldaten varPartDEdata_stack10.jmp , können wir die Ergebnisse für jedes der zehn Gene separat ableiten:
Unter Verwendung von „logexprs“ als Antwortvariable sind die Ergebnisse von Analysieren>Modell anpassen>Gemischtes Modell und unserem GLMM-Add-In identisch. Bei Verwendung des „Ausdrucks“ der Rohwerte als Antwort und Angabe der „Poisson“-Verteilung ist die Laufzeit länger und es könnte Modelle mit Konvergenzproblemen geben.
Anzahl der Untergruppen (Gene) in der BY-Variablen
|
Poisson-Laufzeit (HH:MM:SS)
|
Normale Laufzeit (HH:MM:SS)
|
Gemischtes Modell mit log(count) Laufzeit (HH:MM:SS)
|
10
|
00:01:15
|
00:00:06
|
|
100
|
00:06:00
|
00:00:43
|
00:00:01
|
1000
|
01:25:19
|
00:09:05
|
00:01:41
|
10000
|
11:11:05
|
01:31:58
|
|
……
|
|
|
|
Wenn die im BY-Feld angegebene Anzahl von Genen/Untergruppen ist größer als das Berichtslimit nach Gruppe=10 , zum Beispiel mit varPartDEdata_stack100.jmp , werden wir den Bericht nicht mehr anzeigen. Stattdessen wird eine JMP-Tabelle „GLMM-Ergebnis“ zusammen mit einem Vulkandiagramm bereitgestellt. Die Tabelle „GLMM-Ergebnis“ enthält einen Teil der F-Testergebnisse (DFDen_, F Ratio_, Prob > F_), die kleinsten Quadrate (LSMeans:) sowie einen Teil der Parameterschätzungen (Estimate:, -log10(Prob >|t|):).
Durch Angabe von „logexprs“ als Y und Angabe von „Normal“-Verteilung können wir den folgenden Datensatz ableiten. (Erhältlich als GLMM result.jmp )
Das Standard-Vulkandiagramm wird für den ersten angegebenen festen Effekt generiert. Sie können die Spalten wechseln, um im Vulkandiagramm nach anderen interessanten Variablen zu suchen.
(100 Gene, Logexprs)
(10000 Gene, Logexprs)
(10000 Gene, Expression, Poisson)