Математический форум Math Help Planet
http://mathhelpplanet.com/

Моделирование случайного вектора по совместной плотности
http://mathhelpplanet.com/viewtopic.php?f=36&t=31847
Страница 1 из 1

Автор:  Pashka92 [ 23 мар 2014, 15:17 ]
Заголовок сообщения:  Моделирование случайного вектора по совместной плотности

Есть необходимость сгенерировать n-мерный случайный вектор [math]Y = (Y_1, ..., Y_n)^T[/math]. Известна плотность совместного распределения [math]P(X) = P(X_1, ..., X_n)[/math].

Как это делать аналитически вроде понятно :
1) [math]P(X) = P(x_1, ..., x_n) = P_1(x_1)*P_2(x_2|x_1)*...*P_n(x_n|x_1, ..., x_{n-1})[/math]
2) Далее ищем функции распределения [math]F_i (x_i | x_1, ..., x_{i-1}[/math] и т.д.
3) Решив как-нибудь систему [math]F_i (x_i) = \xi_i[/math], где [math]\xi_i[/math]- случайные числа, получим реализацию [math]X[/math]

Но как проделать все это численно (пишу программу) ? Нашел довольно много материалов по каким-то конкретным законам распределения, но у меня[math]P(x)[/math] - произвольная... Более того, я даже не знаю как она выглядит : в мою часть программы она приходит как параметр.

double* GenVariable (double * (*Density)(double* X), int N)
{
//собственно, алгоритм генерации вектора Y размера N по плотности Density (X);
}


Быть может есть какие-то идеи или материалы?

P.S. Смоделировать случайную величину по произвольному распределению - это ещё не беда. Мне гораздо важнее понять, как быть с n-мерным вектором? Как работать численно со совместной плотностью?

Автор:  Pashka92 [ 25 мар 2014, 16:19 ]
Заголовок сообщения:  Re: Моделирование случайного вектора по совместной плотности

//up

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/