В настоящее время я пытаюсь моделировать значений - мерной случайной величины , который имеет многомерное нормальное распределение со средним вектором и ковариационной матрицей .
Я надеюсь использовать методику , аналогичную методу обратной CDF, а это означает , что я хочу , чтобы сначала создать - мерный равномерная случайная величина U , а затем подключить , что в обратной КОР этого распределения, так , чтобы генерировать значение X .
У меня возникли проблемы, потому что процедура плохо документирована, и есть небольшие различия между функцией mvnrnd в MATLAB и описанием, которое я нашел в Википедии .
В моем случае я также выбираю параметры распределения случайным образом. В частности, я генерирую каждое из средств из равномерного распределения U ( 20 , 40 ) . Затем я строю ковариационную матрицу S, используя следующую процедуру:
Создайте нижнюю треугольную матрицу где L ( i , i ) = 1 для i = 1 .. N и L ( i , j ) = U ( - 1 , 1 ) для i < j
Пусть , где L Т обозначает транспонирование L .
Эта процедура позволяет мне гарантировать, что является симметричным и положительно определенным. Он также предоставляет нижнюю треугольную матрицу L, так что S = L L T , что, я считаю, необходимо для генерации значений из распределения.
Используя рекомендации по Википедии, я должен быть в состоянии генерировать значения используя N- мерную форму следующим образом:
Однако в соответствии с функцией MATLAB это обычно делается следующим образом:
Там , где является обратным ВПР из N - мерного, разъемные, нормального распределения, и единственное различие между обоими методами, просто использовать ли L или L T .
MATLAB или Wikipedia - это путь? Или оба не правы?