Модель ранжирования пользователей
Я пытаюсь разработать простую игру, где группа пользователей может прийти и играть в игру. Исходя из результатов работы пользователя, они получают положительный или отрицательный балл.
Я хочу, чтобы два параметра учитывались пользователем 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.