Je suis actuellement en train de valeurs Simuler d'une variable aléatoire de dimension qui a une distribution normale à plusieurs variables avec le vecteur moyen et covariance matrice .μ = ( μ 1 , . . . , Μ N ) T S
J'espère que d'utiliser une procédure similaire à la méthode CDF inverse, ce qui signifie que je veux d' abord générer une variable aléatoire de dimension uniforme puis branchez que dans le CDF inverse de cette distribution, afin de générer une valeur X .U X
J'ai des problèmes car la procédure n'est pas bien documentée et il y a de légères différences entre la fonction mvnrnd dans MATLAB et une description que j'ai trouvée sur Wikipedia .
Dans mon cas, je choisis également les paramètres de la distribution au hasard. En particulier, je génère chacun des moyens, , à partir d'une distribution uniforme U (20,40) . Je construis ensuite la matrice de covariance S en utilisant la procédure suivante: U ( 20 , 40 ) S
Créer une matrice triangulaire inférieure où pour et pour
Laissez où désigne la transposition de .
Cette procédure me permet de m'assurer que est symétrique et défini positif. Il fournit également une matrice triangulaire inférieure sorte que , qui je crois est nécessaire pour générer des valeurs à partir de la distribution.
En utilisant les directives de Wikipedia, je devrais être capable de générer des valeurs de utilisant un uniforme dimensionnel comme suit:
Cependant, selon la fonction MATLAB, cela se fait généralement comme suit:
Où est l'inverse d'un CDF répartition de dimension, dissociable, normal, et la seule différence entre les deux méthodes est simplement de savoir si l'utilisation ou . N L L T
MATLAB ou Wikipedia est-il la voie à suivre? Ou ont-ils tous les deux tort?