Основные принципы
Основные предположения в WN8
WN8 делает основное предположение, отличающееся от любой предыдущей системы оценки. Мы установили ожидание для средних игроков, в зависимости от их способности влиять на исход боя. Это сложная концепция, и, конечно, открыта для обсуждения. Но в принципе, мы предположили, что есть количество показателей (урон / уничтожено / обнаружено / защита), которое влияет на исход боя (в плане ПП), и что существует порог, ниже которого эти показатели не влияют исход игры достаточно, чтобы определить зависимость. Точное значение этого порога была вычислена и затем вычтена (этап rSTATSc, ниже) для сравнения всех игроков с теоретическим (и, к сожалению реальным) игроком(ами), показатели игры которых не достаточны для влияния на их ПП и являющихся балластом для балансировщика. Преимущество этого предположения, заключается в том, что это делает рейтинг более значимым и для высоких и для низких значений. Были "свободные" очки в WN7, в основном для видимости, потому что фактически ни для каких учетных записей нельзя получить нулевую статистику, даже для худших из ботов. Но на многих учетных записях так мало статистики, что оценить влияние показателей на их ПП не представляется возможным. Регулируя такие базовые значения, мы получим лучшую дифференциацию на более низких уровнях, а также на верхних уровнях, потому что этим мы удаляем "шум". И, конечно, наилучшая дифференциация обеспечивается на средних уровнях. Мы вводим «нулевую» точку, ниже которой показатели статистики (урон / уничтожено / обнаружено / защита) не влияют на ПП каким-либо образом. Как отмечалось ранее, это предположение открыто для обсуждения. Все же для обсуждения, пожалуйста, кроме знания танков приготовьте уверенное знание статистики и оценки! Удобным оказывается превращение интервалов шкалы, используемой в Eff, PR и WN7 в псевдо-рейтинговую шкалу, которая обладает многочисленными преимуществами. Спорно, но самым важным из них является то, что после улучшения точности измерения и применив порог значений, мы можем теперь сказать, что игрок с 2400 WN8 вносит в два раза больший вклад в победу команды, чем игрок с 1200 WN8. Это не было верно для любого рейтинга до WN8.
Источники данных
Поскольку WN8 по-танковый рейтинг, мы нуждались в показателях танков, которые, как всегда, не доступны через веб-интерфейс Wargaming(c) API. Мы обратились к Phalynx из vBAddict.net, который любезно передал свои базы данных 17000 игроков в предоставивших свои dossier-файлы. Из базы данных были отфильтрованы игроки с менее 1000 боев и танки, с менее 50 боев. Из этой базы данных методом линейной регрессии мы определили статистически ожидаемые показатели игры среднего игрока для каждого танка. Для каждой комбинации танк/игрок, мы рассчитали рейтинги playerWN8alpha и tankWN8alpha. Рейтинг WN8alpha примерно соответствует WN7 в формулировке, показывающий, в основном, эффективность танка. Далее, (для каждого танка отдельно) мы отобрали из всего количества игроков игравшем на танке 50% игроков, которые играют именно на нем хорошо, не в целом. Полученная выборка хорошо сочетает игроков с высоким и низким ПП. Мы утверждаем, что отбор половины игроков с хорошей игрой на данном танке - хороший способ для сравнения танков друг с другом, так как они могут использовать танк максимально эффективно. В противном случае, используя и вторую половину игроков, при сравнении танков, использовались показатели игроков которые не знают основ механики игры, или не правильно используют данный танк. В итоге, для линейной регрессии я использую лучшие 50% игроков, потому что использование показателей топовых игроков будет предвзятым и не может распространятся на всех игроков..
Чтобы проверить, что ожидаемые показатели для каждого танка сбалансированы, мы смотрели на соотношение tankWN8/accountWN8. Мы проверили, что для лучших 10% игроков этот показатель соответствует примерно 1,15 для всех танков в игре.
Если, например, танк имел более низкий коэффициент, мы снижали ожидаемые показатели, используемые для линейной регрессии лучших 50% игроков, а затем проверяли, соотношение для лучших 10%. Это заняло несколько итераций пересчета tankWN8 и playerWN8 пока баланс не был достигнут, и tankWN8/accountWN8 было около 1.15.
Целью этого было попытаться, контролируя показатели мастерства игроков, определить такие значения ожидаемых показателей, которые нормализуют показатели урона / уничтожено / обнаружено / защита для каждого танка. Так мы находим, сколько урона игрок будет наносить на ARL V39 и M18 Hellcat, при прочих равных условиях.
Некоторые танки требуют более глубокий анализ распределения соотношения tankWN8/playerWN8, в связи с аномально малым числом топовых игроков, играющих на танке (А-20), или танков повергшихся сильным нерфам/бафам (как M41). Мы пытались прийти к усредненным показателям для танков, которые были серьезно понерфлены/бафнуты (как M48A1, AMX 50B или T110E5) ориентируясь на игроков игравших на нем в различное время, так что ожидаемые значения не отражают первоначальные показатели или текущее состояние (так, чтобы игроки игравшим на них после ребаланса не были несправедливо «оштрафованы») или игнорирует его (так, чтобы игроки, которые играли на нем когда он был очень мощным, а затем никогда больше, не получали несправедливые бонусы).
Примечание: Этот ручной процесс создания WN8 была, с научной точки зрения, самым слабым местом. Однако личная предвзятость создателей не была введена на этом этапе, т.к. команда людей, работающих на этом этапе, состояла из десятков помощников из WoTLabs, по-танковые таблицы комбинировались при сотрудничестве между игроками из регионов NA, EU, SEA и RU. Когда возможно использовались показатели "наиболее близкие" (“nearest possible match”) для танков со странным распределением историй игроков, как А-20, для которых никто не смог установить их точно (данные показывают это ...). Если вас огорчает этот ручной процесс, пожалуйста, способствуйте дальнейшему уточнению по-танковых таблиц WN8, загружая свои dossier-файлы на http://www.vbaddict.net/wot.php
Кроме того, ожидаемые показатели для по-танковых таблиц были сопоставлены с таблицами, используемыми для рейтинга PR по Noobmeter, и таблицей лучших 1% / 100 игроков по каждому танку игроков RU-региона, любезно предоставленные Seriych (подобной той, что была использована в XVM для версии 8.6 и старше). Большая часть ожидаемых показателей урона довольно близки к используемым в Noobmeter (для уровней 3-8), и, если умножить эти значения на 1,5 (чтобы получить значения для игрока с 2400 WN8), вы получите значения весьма близкие к значениям Seriych для лучших игроков RU-региона. Кроме того, использование этого подхода для низкоуровневых танков привело к значениям, очевидно, высоким для новичков, но это на самом деле не проблема, так как у обычных игроков количество боев на 1-м уровне составляет только 3% и менее от их общего количества. Это очень удобно также работает против накручивания рейтинга. Это означает, что вы можете и дальше убивать игроков 1 уровня пачками, но теперь в этом деле вы должны быть очень хороши! Теперь показатель в 1.7 уничтожено/бой в среднем (хорошей показатель для 10 уровня) на 1-м уровне уже недостаточен для хорошего рейтинга. Это не потому, что команда WN* имеет предубеждения против игроков, которые играют на низких уровнях, но лишь то, что мы хотим определить мастерство игрока независимо от уровня боев (причины - см. раздел Почему WN8?).
Напоминание: наиболее ЗНАЧИМОЙ в по-танковой таблице является взаимосвязь между ожидаемыми показателями для различных танков. Мы могли бы разделить все эти значения на 3, и это не будет иметь значения. Важным является отношение между числами, а не фактические значения. То же самое касается соотношения 1.15, используемого в балансировке танков, мы могли бы использовать любое другое число. Мы оставили их в масштабе урона "WoT" для удобства чтения и простоты работы с исходными данными!
Проверка достоверности данных
Набор данных для игроков с более чем 10 000 боев на нескольких серверах был любезно предоставлен г-ном Noobmeter (нам нужны были бои, сыгранные на каждом танке), объемом 4 Гб, с трудом открываемом в Excel! Тем не менее, мы отобрали из него игроков регионов EU и NA, количеством 115000 так, чтобы ПК Praetor77 мог с ним справиться. С помощью этой базы данных, мы определили ожидаемые показатели, rSTATS а затем rSTATSc. Используя показатели rSTATSc, мы использовали Eureqa (очень хорошая и умная программа, которая использует итерационные генетические алгоритмы для поиска математических зависимостей между набором входных данных), чтобы определить оптимальную формулу, которая сможет установить зависимость между ПП игроков и их rSTATSc.
В результате анализа данных, мы обнаружили, что у некоторых игроков были выбивающиеся некоторые показатели rSTATSc (все, за исключением rDAMAGEc, на самом деле), что привело нас к реализации "потолка" или максимальных значений для повышения полезности WN8. Для этих (выбивающихся) показателей по отдельности наблюдалась более тесная корелляция с ПП, чем с обобщенным показателем.
Потолок значений реализован так:
rFRAGcMAX = rDAMAGEc+0.2
rSPOTcMAX = rDAMAGEc+0.1
rDEFcMAX = rDAMAGEc+0.1
Мы заново ввели обработанные rSTATS в Eureqa которая выдала практически такое же решение как и до реализации «потолка», но учитывающая большую часть ранее выбивавшихся игроков. Окончательная формула:
rWINc = 0,09 + 0,613 * rDAMAGEc + 0,131 * rFRAGc * rDAMAGEc + 0,097 * rFRAGc * rSPOTc 0,047 * rFRAGc * rDEFc
После этого мы умножаем каждый член в формуле на 1600, что близко к средневзвешенному значению WN7, что приводит к среднему значению WN8 по серверу в диапазоне 900-1000.
Матрица ожидаемых показателей
Не используя Excel, вы можете просмотреть значения показателей для танков здесь: http://www.wnefficiency.net/wnexpected
Кроме того, г-н Noobmeter любезно разместил таблицу на своем сайте, наряду с его значениями PR, для вашего сведения: http://www.noobmeter.com/tankList
Расчет WN8
Шаг 1
rDAMAGE = avgDmg / expDmg
rSPOT = avgSpot / expSpot
rFRAG = avgFrag / expFrag
rDEF = avgDef / expDef
rWIN = avgWinRate / expWinRate
На 1 шаге рассчитываются показатели игры как отношение средних показателей к ожидаемым для всех танков сыгранных на аккаунте и перемножаются между собой. (Step 1 takes the counts of tanks played on account, and multiplies them by the expected stats to get the account total expected values. Then the actual account totals (your total dmg, frags, spots, def, win-rate) are divided by the total expected values to give the ratios. )
Шаг 2
rWINc = max(0, (rWIN - 0.71) / (1 - 0.71) )
rDAMAGEc = max(0, (rDAMAGE - 0.22) / (1 - 0.22) )
rFRAGc = max(0, min(rDAMAGEc + 0.2, (rFRAG - 0.12) / (1 - 0.12)))
rSPOTc = max(0, min(rDAMAGEc + 0.1, (rSPOT - 0.38) / (1 - 0.38)))
rDEFc = max(0, min(rDAMAGEc + 0.1, (rDEF - 0.10) / (1 - 0.10)))
Шаг 2 устанавливает нулевую точку для полученных показателей игры. См. раздел Предположения для получения дополнительной информации о том, почему это произошло. Функции min и max использованы для того чтобы показатели не выходили за границы применимости. Константы рассчитываются в виде
(rSTAT – constant) / (1 – constant)
для нормализации, чтобы, игрок с общим показателем rSTATSc = 1 получал 1565 WN8. Игрок со всеми rSTATS = 1 также будет иметь rSTATSc = 1, поскольку (1-с) / (1-с) = 1.
Шаг 3
WN8 = 980*rDAMAGEc + 210*rDAMAGEc*rFRAGc + 155*rFRAGc*rSPOTc + 75*rDEFc*rFRAGc + 145*MIN(1.8,rWINc)
На шаге 3 к взвешенным (на шаге 1) и нормализованным (на шаге 2) показателям игры применяются коэффициенты, определенные для окончательной формулы, о чем говорилось ранее. Полученное значение находится в пределах 0-5000, и дает относительную оценку урона и отражает взаимодействие между уничтожено*засвечено, защита*уничтожено и урон*уничтожено.
Примечание по взаимодействиям Если вы сыграли 5000 игр на Т-50, и ожидаемый показатель 4 обнаруженных за бой, и вы в среднем обнаруживали 4 танка за игру, ваш rSPOTc=1. Если вы играли только на E100, и ожидаемый показатель обнаружено 0.88 за бой , если у вас в среднем обнаружено 0.88 бой, также ваш rSPOTc=1.
Таким образом rSPOTc НЕ измеряет, сколько вы обнаружили за бой, он измеряет, сколько вы обнаружили по сравнению со средним игроком, играющем на том же танке.
Показатель rSPOTc значительно лучше кореллируется с ПП показатель засвечено/бой (см. графики):
Также, rSPOTc и rDEFc умноженные на rFRAGc в формуле WN8, хорошо коррелируют с ПП (представленным как rWINc) ...
Таким образом показатель, rSPOTс*rFRAGс, похоже, является что-то важным для победы. Это взаимодействие, кажется, правильно оценивает игроков, которые могут решать несколько задач в бою и создают условия для победы, в противовес игрокам, которые играют максимально безопасным образом и просто наносят урон (только rDMGc).
Индивидуальный анализ игрока (и Eureqa соглашается с этим) показывает, что rFRAGc*rSPOTc может много рассказать вам о том, как игрок добивается победы. Авторы верят, что её можно добиться активными действиями по созданию благоприятных условий для команды. Если вы стабильно показываете высокие результаты rSPOTSc то, значит, вы используете более рискованные позиции на карте, а если вы делаете это еще и при высоких показателях по урону, уничтоженным, защите и ПП, IMHO вы являетесь лучшим игроком, чем тот, который показывает те же показатели по урону и уничтоженным сидя в тылу и стреляя по чужому засвету. Показатели rSTATc явно поддерживают наиболее часто повторяемый совет в игре "get your gun in the game and stay alive to keep it there".
Периодические обновления
Поскольку и танки, и игроки меняются с течением времени, WN8 был разработан с возможностью периодического обновления ожидаемых показателей, для того, чтобы относительная эффективность танков, и измеряемая эффективность игроков, которые играют на них, оставалась точной.
Методика обновления была разработана спустя 6 месяцев после того как WN8 впервые был представлен, и осуществляется программой на R для того, чтобы процесс был повторяемый для более чем 95% танков, которые не требуют корректировок на основе субъективного мнения.
Извлеченные из dossier-файлов vBAddict показатели игры фильтруют, как было описано выше, и для каждого танка, и каждого показателя rSTAT (rDAMAGE/rFRAG/rDEF/rSPOT/rWIN) R наносит на график 'точку' для каждого пользователя, отражающую отношение его показателя rSTAT на этом танке, к показателю rSTAT для всех танков для всех игроков. Вот, например, пример графика для rDAMAGE для Type 59:
Линия регрессии методом наименьших квадратов (красная линия) – дает для user_rDAMAGE=1 значение rDAMAGE= 0,953. (The least squares line of best fit - the red line - crosses the user account rDAMAGE at a value of 0.953) Это и есть "поправочный коэффициент", который должен быть применен к ожидаемому значению урона для Type 59 в обновлении.Эти факторы автоматически генерируются и применяется для всех 5 показателей для всех 350 танков в Wargaming(c) API. Для горстки танков, для которых данных для получения приемлемой линий наилучшего соответствия недостаточно, применяются значения, рассчитанные для танков того же уровня и типа.
(Gryphon, июнь 2014 г./перевод на русский kt133a)
Цветная шкала
Новая цветовая шкала используемая XVM и http://wot-news.com была расчитана на основе данных о всех игроках РУ сервера. Сбор статистики проиводил Edrard, а анализ seriych
График распределения процента игроков в зависимости от рейтинга
График распределения игроков по рейтингу XVM и качеству
Формула пересчета в шкалу XVM
XWN8 = ЕСЛИ(WN8>3250; 100; МАКС(МИН(WN8*(WN8*(WN8*(WN8*(WN8*(0,0000000000000000000812*WN8 + 0,0000000000000001616) - 0,000000000006736) + 0,000000028057) - 0,00004536) + 0,06563) - 0,01; 100); 0))