LINUX.ORG.RU

Преобразование случайных величин


0

0

Доброй ээ.. ночи.

Вопрос довольно тупой. Есть вектор равномерных случайных величин. Надо его преобразовать в вектор случайных величин с распределением p(x). Как это делается?

Хотя б ключевые слова дайте.


>>Хотя б ключевые слова дайте.

Функции от случайных величин, первый курс инста, ниасиляторство, эвтаназия на дому.

mclaudt
()

надо взять функцию распределения F(x1,...,xn), соответствующую p(x), взять ее обратную функцию F^{-1}(y1,...,yn), и подставить вместо y1,...,yn ваши равномерные случайные величины

lenis
()
Ответ на: комментарий от ant

1. Эта обратная функция называется квантиль. В большинстве математических либ/программ есть квантили основных распределений. Если распределение нестандартное — тогда честно считаешь
F(x) = \int_0^x p(t) dt
и затем для каждого значения y решаешь уравнение
F(x) = y
относительно x.
2. Так как область определения квантиля [0;1], не забудь пронормировать исходные значения:
z_i = (y_i - min(y))/(max(y) - min(y))

nnz ★★★★
()

Моделирование случайных велечин

dimon555 ★★★★★
()

Можно делать так:

1). есть распределение f(x)

2). берётся 2 случайных числа {a1,a2} (первое в необходимых тебе границах, второе от 0 до 1)

3). далее если a2<f(a1) , a1 берём в список случайных величин, нет, то идём на пункт 2.

плюс) не все фунцкии распределения нормально интегрируемы. А тут есть результат для всех функций распределения

минус) нужно генерировать минимум в 2 раза больше чисел, особенно это плохо когда функция распределения во многих местах близка к 0

qnikst ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.