Задать вопрос

Рейтинг исходя из средней оценки и числа голосов?

Есть сайт, на нем пользователи ставят разным компаниям рейтинг.


Есть K — число голосов, N — средняя оценка, входящяя в интервал [1, 5].


Нужен некий показатель T(K, N), который является функцией от средней оценки компании и числа голосов.

По этому показателю компании будут сортироваться.


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


Пока придумал только такую формулу:

N = K+(K-3)*(N-1)*k/Nmax, где Nmax — максимальное число голосов, k — некий коэффициент, подбираемый из здравого смысла, смотря на реальные данные.


Может я изобретаю велосипед и есть какие то математически обоснованные и жизненно проверенные формулы для подобных вещей?
  • Вопрос задан
  • 7553 просмотра
Подписаться 8 Оценить Комментировать
Решения вопроса 1
azproduction
@azproduction
Есть готовые и работающие ныне алгоритмы, к примеру рейтинг IMDB, который основан на теореме Байеса. Формула очень хорошо расписана тут: www.wowwebdesigns.com/formula.php

WR = (v / (v+m)) * R + (m / (v+m)) * C
R = средний рейтинг данного объекта
v = количество голосов за данный объект
m = (опционально) минимальное число голосов, необходимых для отображения в топ 25
C = средний рейтинг всех объектов

Ещё для ознакомления есть старенькая статья по Collective Choice: www.lifewithalacrity.com/2005/12/collective_choi.html Тут расписны все популярные системы ранжирования.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
akalend
@akalend
программирую
я бы использовал что-то типа:
средневзвешанной оценки по данному критерию * к-энт достоверности.
к-энт достоверности = средневзвешанное число всех оценок по каждому критерию приведенное к 1.
т.е — если по вашему критерию проголосовало больше чем средневзвешанное кол-во голосов, то вес этой оценки увеличивается.

смысл — чем больше оценок — тем больше вес результата.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы