После продумывания, лучшее решение для этого рейтинга фильма выглядит следующим образом.
Обязательные данные:
- Количество голосов, взятых по каждой паре фильмов.
- А также отсортированная версия этих данных, сгруппированных как в сортировке по основанию
- Сколько раз за каждый фильм проголосовали в каждой паре фильмов
Необязательные данные:
- Сколько раз каждый фильм участвовал в голосовании за каждого пользователя
Как выбрать голос за пользователя:
- Выберите выбор голосования из отсортированного списка в группе с самым низким использованным радиксом (случайным образом)
- Необязательно: используйте личную статистику голосования пользователя, чтобы отфильтровать фильмы, по которым им предлагалось голосовать слишком много раз, возможно, перейдя на более высокие интервалы, если нет ничего подходящего.
Как подсчитать рейтинг за фильм:
- Начните счет с 0
- Проходите друг через друга фильм в системе
- Добавить
voteswon / votestaken
против этого фильма в счет
- Если между этими двумя фильмами не было получено ни одного голоса, добавьте 0,5 вместо (Это, конечно, при условии, что вы хотите, чтобы новые фильмы начинались как средние в рейтинге)
Примечание. Дополнительный материал предназначен только для того, чтобы пользователь не заскучал, но может быть полезен и для других статистических данных, особенно если указать, сколько раз они голосовали за этот фильм за другой.
Убедиться в том, что во вновь добавленных фильмах собрана статистика как можно скорее и очень равномерно распределены голоса по всем существующим фильмам, жизненно важно для поддержания правильной статистики для остальных фильмов. Возможно, стоит ошеломить появление в системе множества новых фильмов, чтобы избежать временных сбоев в рейтингах (хотя и не немедленных и не серьезных).
=== ЭТО ОРИГИНАЛЬНЫЙ ОТВЕТ ===
Проблема на самом деле очень проста. Здесь я предполагаю, что вы хотите отдать предпочтение голосованию за фильм, то есть фильм № 1 - это фильм, который, скорее всего, будет выбран при голосовании. Если вы сделаете так, чтобы при каждом голосовании вы выбирали два фильма совершенно случайно, вы можете рассчитать это с помощью простых математических вычислений.
Во-первых, каждый выбор двух фильмов для голосования одинаково вероятен, поэтому результаты каждого голосования можно просто сложить для получения оценки (экономия умножается на 1 / nC2 для всего). И, очевидно, вероятность того, что кто-то проголосует за один конкретный фильм против другого конкретного фильма, составляет всего votesforthisfilm / numberofvotes
.
Таким образом, чтобы рассчитать балл за один фильм, вы просто суммируете votesforthisfilm / numberofvotes
за каждый фильм, с которым можно сравнить.
Здесь есть небольшая проблема, если вы добавите новый фильм, у которого не было значительного числа голосов против всех других фильмов, поэтому вы, вероятно, хотите оставить его вне рейтинга, пока не наберется количество голосов. .
=== ЧТО СЛЕДУЕТ НЕПРАВИЛЬНО, ЧТО СЛЕДУЕТ СЛЕДОВАТЬ ИСТОРИЧЕСКОМУ КОНТЕКСТУ ===
Этот метод оценки основан на цепочке Маркова вашей системы голосования, при условии, что все возможные вопросы голосования были одинаково вероятны. [Это первое предложение неверно, потому что в цепочке Маркова должны быть одинаково вероятны все вопросы для голосования, чтобы получить значимые результаты] Конечно, это не так, и на самом деле вы можете это исправить, так как Вы знаете, насколько вероятен был каждый вопрос о голосовании, это просто количество голосов, которые были сделаны по этому вопросу! [Вероятность получения конкретного вопроса для голосования на самом деле не имеет значения, так что это не помогает] Таким образом, используя тот же график, но с весами, взвешенными по голосам, сделано ...
Вероятность получения каждого фильма с учетом того, что он был включен в голосование, равна вероятности получения каждого фильма и его нахождения в голосовании, деленного на вероятность того, что он был включен в голосование. Это составляет sumoverallvotes((votesforthisfilm / numberofvotes) * numberofvotes) / totalnumberofvotes
, деленное на sumoverallvotes(numberofvotes) / totalnumberofvotes
. С большой отменой это доходит до votesforthisfilmoverallvotes / numberofvotesinvolvingthisfilm
. Что действительно просто!