Модель ранжирования пользователей

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

Я хочу, чтобы два параметра учитывались пользователем weight(количество матчей, которые он сыграл, и его выступление в этих матчах) его instantaneous skill sets, Эти два, объединенные для каждого пользователя и сравниваемые с оценкой другого пользователя, могут дать его оценку в текущем матче.

Затем, комбинируя оценку и предыдущий рейтинг, мы можем получить новый рейтинг пользователей.

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

Pos[i] and Neg[i] are the positive and negative score of the users in a match. 

Step1: Calculate the average score of n people `for i in range(1, N): sum = sum + Pos[i] Average = sum/N` do the same for negative score. 

Step2: Calculate the Standard Deviation (SD)

Step3: Calculate the weight of the user as follows say the user has played M matches, his weight W will be Mxabs((sum(POS[i])/N1 - (sum(NEG[i])/N2))

(where N1 is the number of times he has scored positive scores and N2 the number of times he scored negative result)

Step4: Current Score = (POSi - SD)xW

Step5: His New Rating = Old Rating + Current Score

Пожалуйста, предложите что-нибудь стандартное.

Спасибо!

4 ответа

Решение

Ну, это было сделано здесь, это принимает во внимание предыдущую литературу и другие вещи. Это также показывает, какие самые известные методы существуют и как они это сделали.

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

Проверьте Glicko, TrueSkill, разные подходы в шахматном рейтинге Kaggle.

http://timsalimans.com/how-i-won-the-deloittefide-chess-rating-challenge/

http://blog.kaggle.com/2012/03/20/could-world-chess-ratings-be-decided-by-the-stephenson-system/

Я поместил здесь несколько URL-адресов, прежде чем заметил, что OP был таким вопросом: http://www.reddit.com/r/statistics/comments/rsomx/how_do_i_calculate_the_rating_of_a_player_in_a/

Вы можете проверить рейтинги ELO, используемые в шахматах, как упомянуто в Running Wild. Кроме того, вы также можете взглянуть на систему оценки мощности, используемую в Age of Empires 3. В этом посте они объясняют, как она работает, и причину, по которой она заменила прежнюю систему оценки ELO, используемую в зоне MSN.

Другие вопросы по тегам