2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Случайные равномерно распределенные точки на сфере
Сообщение19.05.2008, 00:54 
Коллеги, помогите сгенерировать равномерно распределенный n-мерный случайный вектор единичной длины. Предполагается, что равномерную на отрезке одномерную случайную величину я моделировать умею.

 
 
 
 
Сообщение19.05.2008, 01:40 
Каковы по порядку величины значения $n$?
Такой пойдет: $(x/|x|) [|x|\le1]$, где $x\in [-1,1]^n$ - равн. расп. в кубе, а $[|x|\le1]$ - характеристическая функция шара $|x|\le 1$? Имеется в виду, что нулевые вектора, т.е. точки с $|x|>1$, отбрасываются.

 
 
 
 
Сообщение19.05.2008, 08:19 
Gafield

Спасибо. Я о таком варианте думал и на худой конец запрограммирую его. Недостаток тут в том, что размерность велика (в районе сотни), так что вне шара, хотя и внутри куба оказывается довольно большой объем. Захотелось как-то поаналитичнее.

В любом случае, спасибо за участие.

 
 
 
 
Сообщение19.05.2008, 09:42 
Аватара пользователя
А "поаналитичней" можно вроде так. Моделируем не координаты, а равномерно распределенные углы. В двумерном случае очевидно - моделируем равномерно угол $\varphi$ на отрезке $[0,2\pi]$, а потом переходим к $(x,y)$, получаем точку, равномерно распределенную на окружности. В случае $n-1$ координат должно получится тоже с импользованием формул сферической замены.

 
 
 
 
Сообщение19.05.2008, 09:55 
Аватара пользователя
См. книгу Devroye L. — Generation of non-uniform random variates

Там есть специальный раздел, посвященный как раз генерации равномерного распределения на единичной сфере (стр. 225 и далее). Рассматриваются свойства этого распределения и несколько алгоритмов. В частности, написано, что если генерить вектор из независимых нормальных компонент и нормировать его, то получим как раз то, что требуется.

 
 
 
 
Сообщение19.05.2008, 09:59 
Аватара пользователя
Еще вариант пришел в голову. Моделируем равномерное распреджеление на кубе. Затем применяем к каждой координате одну и ту же функцию, обратную гауссовскому распределению с маленькой дисперсией (берем квадратичное отклонений $1/3$). Получим гауссовкий вектор с большой (около 99%) вероятностью лежащий внутри шара единичного радиуса. Ну а затем "аномальные" точки вырезаем так же, как и в способе Gafield'а. Плюс в том, что их будет очень мало (около 1%).

Добавлено спустя 1 минуту 50 секунд:

Пока писал, PAV указал способ получше. Да, что-то не то написал. Вырезать ничего не надо.

 
 
 
 
Сообщение19.05.2008, 10:00 
Аватара пользователя
Есть там еще хитрый алгоритм, использующий равномерное распределение на отрезке, сортировку и хитрую нормировку.

Вариант с углами тоже приведен, но только для двумерной сферы. Как я понимаю, в случаях большей размерности он слишком сложен.

 
 
 
 
Сообщение19.05.2008, 10:54 
Henrylee

Если генерировать равномерно распределенные сферические координаты по формулам, содержащимся, к примеру здесь (http://dxdy.ru/viewtopic.php?t=12204&view=previous) то распределение равномерным не будет. Легко видеть, почему.

PAV

Благодарю за наводку, читаю книжку.

 
 
 
 
Сообщение19.05.2008, 11:07 
Аватара пользователя
Воспользуйтесь http://www.poiskknig.ru/

 
 
 
 
Сообщение19.05.2008, 11:13 
Аватара пользователя
Gnuonus писал(а):
Henrylee

Если генерировать равномерно распределенные сферические координаты по формулам, содержащимся, к примеру здесь (http://dxdy.ru/viewtopic.php?t=12204&view=previous) то распределение равномерным не будет. Легко видеть, почему.

Возможно.
Варианты продолжения аналогии на $n$-мерный случай не проверял. Выдал просто как идею.
Кстати, кроме нормального распределения можно генерить (имхо) любое сферически-симетричное с независимыми компонентами. Затем берем от каждой компоненты (из [0,1]) обратную ф.р. и нормируем.

 
 
 
 
Сообщение19.05.2008, 11:23 
Henrylee

Henrylee писал(а):
Варианты продолжения аналогии на $n$-мерный случай не проверял. Выдал просто как идею.


Это даже в трехмерном случае не работает.

 
 
 
 
Сообщение19.05.2008, 12:05 
Аватара пользователя
Gnuonus писал(а):
Henrylee

Henrylee писал(а):
Варианты продолжения аналогии на $n$-мерный случай не проверял. Выдал просто как идею.


Это даже в трехмерном случае не работает.

Да, сферическая замена здесь не катит.

Добавлено спустя 2 минуты 37 секунд:

Про сферически-симметричные распределения я тоже слегка загнул. Придумать их (наряду с нормальным) можно много, только вот компоненты у них зависимыми будут.

 
 
 [ Сообщений: 12 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group