Obecnie próbuje symulować wartościami -wymiarowej zmiennej losowej , który ma wielowymiarowego rozkładu normalnego o średniej wektor i macierzy kowariancji .X μ = ( μ 1 , . . . , Μ N ) T S
Mam nadzieję, że do korzystania z procedury podobnej do metody odwrotność CDF, co oznacza, że chcę najpierw wygenerować wymiarowa zmienna losowa jednolity , a następnie podłączyć do CDF że odwrotnego tego rozkładu, tak aby wygenerować wartość .U X
Mam problemy, ponieważ procedura nie jest dobrze udokumentowana i istnieją niewielkie różnice między funkcją mvnrnd w MATLAB a opisem, który znalazłem na Wikipedii .
W moim przypadku losowo wybieram parametry rozkładu. W szczególności generuję każdy ze środków z jednolitego rozkładu . Następnie buduję macierz kowariancji stosując następującą procedurę: U ( 20 , 40 ) S
Utwórz dolną macierz trójkątną gdzie dla i dla i <jL ( i , i ) = 1 i = 1 .. N L ( i , j ) = U ( - 1 , 1 ) i < j
Niech , gdzie oznacza transpozycję .
Ta procedura pozwala mi upewnić się, że jest symetryczny i pozytywnie określony. Zapewnia również dolną macierz trójkątną tak że , która moim zdaniem jest wymagana do wygenerowania wartości z rozkładu.
Korzystając z wytycznych dla Wikipedii, powinienem być w stanie wygenerować wartości za pomocą wymiarowego munduru w następujący sposób:
Jednak zgodnie z funkcją MATLAB jest to zwykle wykonywane jako:
Gdzie jest odwrotnością CDF na -wymiarowej, rozdzielnego rozkładu normalnego, a jedyna różnica między obu metod jest to, czy po prostu do stosowania lub . N L L T
Czy MATLAB lub Wikipedia są najlepszym rozwiązaniem? Czy oba są w błędzie?