За последние 24 часа нас посетил 17561 программист и 1589 роботов. Сейчас ищут 1392 программиста ...

Формула для вычисления ТОП

Тема в разделе "Решения, алгоритмы", создана пользователем RomanCasper, 27 фев 2015.

  1. RomanCasper

    RomanCasper Новичок

    С нами с:
    17 дек 2014
    Сообщения:
    46
    Симпатии:
    1
    Всем привет.
    Сначала расскажу о сайте. На сайте пользователи делают свои прогнозы на победу той, или иной команды. Если угадал то +1 к победам, если нет , то +1 к поражениям, все очень просто.

    Теперь я хочу прикрутить ТОП прогнозеров. Но тут загвоздка, как мне рассчитать лучшего, ведь должно как-то количество общих прогнозов, количество побед и поражений влиять на это.

    Ответ наверняка что-то элементарное из курса математики, но я не математик =)
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а просто поделить кол-во успехов на кол-во попыток?
     
  3. RomanCasper

    RomanCasper Новичок

    С нами с:
    17 дек 2014
    Сообщения:
    46
    Симпатии:
    1
    Если так, то:
    Первый: 100/1 (100/101=0,99)
    Второй: 5/0 (5/5 = 1)
    Следуя этой логике второй будет в топе выше первого, хотя сделал намного меньше прогнозов.
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    как может быть кол-во успехов больше кол-ва попыток?

    первый угадал раз из ста. 1 / 100 = 0,01
    второй угадал ноль из пяти. 0 / 5 = 0
    третий угадал 4 из 5 = 0,80
    четвертый 400 из 500 что по сути те же 4 из 5 = 0.80

    сортировка (3+4)-1-2

    с "намного меньше" - тут поле для фантазии. какие критерии? срок регистрации на сайте? последняя активность? донат?
     
  5. RomanCasper

    RomanCasper Новичок

    С нами с:
    17 дек 2014
    Сообщения:
    46
    Симпатии:
    1
    Я думаю меня устроит этот способ вычисления лучших. Только добавлю обязательным критерием прогноз хотя бы 1 раз в неделю.
    Спасибо за помощь! =))
     
  6. nguseff31

    nguseff31 Новичок

    С нами с:
    12 фев 2015
    Сообщения:
    8
    Симпатии:
    0
    Тебе нужна нормировочная функция, чтобы учитывать общее количество прогнозов. 4/5 совсем не то же самое, что и 400/500 и система рейтинга, которая их поровняет, как по мне, не выполняет свою задачу)
    Нормировочная функция должна изменяться от 0 до 1 в зависимости от общего числа прогнозов пользователя. Например, можно такую функцию взять:
    f(total) = 1 / (1 + exp (-total/t0) ). Возьмем t0 = 100. (total - общее число оценок).
    4/5 * f(5) = 4/5 * 1 / (1 + exp (-0.05)) = 0.409
    400/500 * f(500) = 400/500 * 1 / (1 + exp(-4)) = 0.78561103203.
    Вот так - другое дело, уже больше на правду похоже(по крайне мере для составления топа это больше подходит).
    Можно взять другие t0 или нормировочную функцию, но тут можно экспериментировать.

    Добавлено спустя 18 минут 20 секунд:
    Можно сделать, f(total) = 1, если total > tmax. Тогда после tmax оценок будет учитываться только вероятность без учета общего количества.
    рейтинг у 4/5 будет тогда 0.409.
    200/250 - 0.8.
    400/500 - тоже 0.8