статистический / взвешенный / вероятностный отбор случайного элемента - PullRequest
0 голосов
/ 07 декабря 2010

Я создаю набор элементов, и для каждого из них я считаю количество вхождений в выборке. Позже я хочу выбрать элемент случайным образом, но хочу, чтобы вероятность выбора любого конкретного элемента равнялась количеству случаев в сравнении с суммой всех случаев всех элементов.

Мне кажется, я нашел хорошее решение, но мне интересно, что такое стандартный термин для этой концепции и каковы стандартные методы его достижения.

1 Ответ

1 голос
/ 07 декабря 2010

У этого имени нет названия, но это важный шаг в обновлении ваших убеждений, основанный на доказательствах во время ФИЛЬТРАЦИЯ ЧАСТИЦ , что, вероятно, является искомым термином.

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

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

...