Attualmente sto cercando di valori Simula di un -dimensionale variabile casuale che ha una distribuzione normale multivariata con vettore medio e la matrice di covarianza .
Spero di utilizzare una procedura simile al metodo inversa CDF, il che significa che voglio generare un primo -dimensionale variabile aleatoria uniforme e quindi collegare quello nel CDF inversa di questa distribuzione, quindi di generare valore .U X
Sto riscontrando problemi perché la procedura non è ben documentata e ci sono lievi differenze tra la funzione mvnrnd in MATLAB e una descrizione che ho trovato su Wikipedia .
Nel mio caso, sto anche scegliendo i parametri della distribuzione in modo casuale. In particolare, generi ciascuno dei mezzi, , da una distribuzione uniforme . Quindi costruisco la matrice di covarianza usando la seguente procedura:
Crea una matrice triangolare inferiore dove per e per
Let dove indica la trasposta di .
Questa procedura mi consente di garantire che sia simmetrica e definita positiva. Fornisce anche una matrice triangolare inferiore modo che , che credo sia necessario per generare valori dalla distribuzione.
Usando le linee guida su Wikipedia, dovrei essere in grado di generare valori di usando un'uniforme dimensionale come segue:
Secondo la funzione MATLAB, tuttavia, ciò viene generalmente eseguito come:
Dove è l'inverso di un CDF N dimensionale, separabili, distribuzione normale, e l'unica differenza tra i due metodi è semplicemente se uso L o L T .
MATLAB o Wikipedia è la strada da percorrere? O sono entrambi sbagliati?