In den meisten Situationen beschäftigen wir uns nur mit einer Ergebnis- / Antwortvariablen wie . In einigen Szenarien, insbesondere in den klinischen Daten, können die Ergebnisvariablen jedoch hochdimensional / multivariat sein. Beispiel: , wobei die , und enthält und diese Ergebnisse alle korreliert sind. Wenn die Behandlung darstellt (Ja / Nein), wie kann ich diese Art von Daten in R simulieren?Y = β x + ϵ Y Y 1 Y 2 Y 3 x
Als Beispiel aus dem wirklichen Leben erhält jeder Patient eine von zwei Arten von Bypass-Operationen, und die Forscher messen jeden Patienten nach der Bypass-Operation auf Schmerzen, Schwellungen, Müdigkeit usw. (jedes Symptom liegt zwischen 0 und 10). Ich gehe davon aus, dass die Ergebnisse (Symptomschweregrade) multivariat normal sind. Hoffe, dieses echte Beispiel kann meine Frage klären. Vielen Dank im Voraus.
quelle
Antworten:
Simulieren Sie multivariate Normalwerte mit
mvtnorm::rmvnorm
. Es scheint nicht ganz so zu funktionieren wie die univariaten Zufallszahlengeneratoren, mit denen Sie Vektoren von Parametern angeben können, aber diese Einschränkung ist einfach zu umgehen.Betrachten Sie zum Beispiel das Modell
Dabei hat eine multivariate Normalverteilung und , und . Geben wir diese Kovarianzmatrix in R an:y Var ( yich) = 1 Cov ( y1, y2) = Cov ( y2, y3) = 0,5 Cov ( y1, y3) = 0
Lassen Sie uns zum Experimentieren einige Daten für dieses Modell generieren, indem Sie von bis variieren lassen , wobei jedes Mal drei Replikationen durchgeführt werden. Wir müssen auch konstante Begriffe einbeziehen:x 1 10
Das Modell bestimmt die Mittelwerte:
Die Problemumgehung zum Generieren mehrerer multivariater Ergebnisse besteht darin, Folgendes zu verwenden
apply
:quelle
Bayesianische Netzwerke (BNs) werden häufig in dem von Ihnen beschriebenen Kontext verwendet. Als generatives Modell würde ein BN es Ihnen ermöglichen, die statistischen Abhängigkeiten zwischen Ihren Domänenvariablen darzustellen, die in Ihrem Fall in 1) Vorbehandlungs-, 2) Behandlungs- und 3) Nachbehandlungsvariablen unterteilt werden können. Sie können Ihr Modell auf Ihre vorhandenen Patientendaten trainieren und dann Nachweise (beobachtete Werte eingeben) für einen bestimmten Patienten eingeben, um zu untersuchen, wie sich die beobachteten Werte auf andere Variablen auswirken (einschließlich derjenigen, die Sie als Ergebnis gekennzeichnet haben, dh nach der Behandlung).
Ein guter Trick ist, dass Sie tatsächlich die Auswirkung verschiedener Behandlungstypen auf Ihre Ergebnisvariablen bewerten können. Dies wird als Intervention bezeichnet . Bei Interesse haben wir einen entsprechenden Papier hier .
quelle