La plupart des situations, nous ne traitons qu'avec une variable de résultat / réponse telle que . Cependant, dans certains scénarios, en particulier dans les données cliniques, les variables de résultat peuvent être de grande dimension / multivariées. Tels que , où contient les , et et ces résultats sont tous corrélés. Si représente le traitement reçu (oui / non), comment puis-je simuler ce type de données dans R?
Un exemple réel, chaque patient reçoit l'un des 2 types de chirurgies de pontage et les chercheurs mesurent chaque patient sur la douleur, l'enflure, la fatigue, etc. après la chirurgie de pontage (chaque symptôme varie de 0 à 10). Je «suppose» que les résultats (gravité des symptômes) sont normaux à plusieurs variables. J'espère que ce véritable exemple pourra clarifier ma question. Merci d'avance.
la source
Réponses:
Simulez des valeurs normales multivariées avec
mvtnorm::rmvnorm
. Il ne semble pas fonctionner tout à fait comme les générateurs de nombres aléatoires univariés, qui vous permettent de spécifier des vecteurs de paramètres, mais cette limitation est simple à contourner.Par exemple, considérons le modèle
où a une distribution normale multivariée et , , et . Précisons cette matrice de covariance dans R:y Var(yi)=1 Cov(y1,y2)=Cov(y2,y3)=0.5 Cov(y1,y3)=0
Pour expérimenter, générons des données pour ce modèle en laissant varier de à , avec trois répétitions à chaque fois. Nous devons également inclure des termes constants:x 1 10
Le modèle détermine les moyens:
La solution de contournement pour générer plusieurs résultats multivariés consiste à utiliser
apply
:la source
Les réseaux bayésiens (BN) sont couramment utilisés dans le contexte que vous décrivez. En tant que modèle génératif , un NE vous permettrait de représenter les dépendances statistiques entre vos variables de domaine, qui dans votre cas peuvent être sous-groupées en 1) prétraitement, 2) traitement et 3) post-traitement. Vous pouvez former votre modèle sur vos données patient existantes, puis saisir des preuves (remplir les valeurs observées) pour un patient spécifique afin d'étudier comment les valeurs observées affectent d'autres variables (y compris celles que vous avez étiquetées comme résultats, c'est-à-dire post-traitement).
Une astuce intéressante est que vous pouvez réellement évaluer l'effet de différents types de traitement sur vos variables de résultat. C'est ce qu'on appelle une intervention . Si vous êtes intéressé, nous avons un article pertinent ici .
la source