2015-02-12 2 views
0

Я определяю рейтинг 1000 участников в нескольких категориях. Результаты примерно такие:Подведите итоги в категориях лучших разрядов

Участник/Категория/Место (снизу лучше): A | 1 | 1. A | 2 | 1. A | 3 | 1. A | 4 | 7. B | 1 | 2. B | 2 | 2. B | 3 | 2. B | 4 | 4. [...]

Теперь я хочу подвести итоги. Стандартным методом было бы суммировать все места и разделить его на количество категорий:

Участник A: (1 + 1 + 1 + 7)/4 = 2,5 Участник B: (2 + 2 + 2 + 4)/4 = 2,5

Но я хочу отдать предпочтение участнику A, потому что он выиграл 3 из 4 категорий.

Я мог бы определить фиксированные точки для всех мест, а именно:

Место | Очки 1 | 1000 2 | 500 3 | 250 4 | 125 5 | 62,5 6 | 31,25 7 | 15,625 [...]

Участник А: 1000 + 1000 + 1000 + 15,625 = 3015,625 Участник в: 500 + 500 + 500 + 125 = 1 625

проблема теперь, т Я хочу дать каждому месту некоторые моменты, так что по-прежнему можно сортировать низкие места. И когда я продолжаю делить доступные точки на 2, максимальное количество десятичных знаков будет недостаточным (Доступные точки/2^Число мест).

Что я могу сделать?

ответ

0

Как насчет использования harmonic mean?

4/(1/1 + 1/1 + 1/1 + 1/7) = 1.272727 
4/(1/2 + 1/2 + 1/2 + 1/4) = 2.285714 
+0

Отлично, спасибо! – root66

Смежные вопросы