Jump to content
Korean Random
SoprachevAK

[WOT STAT] Мод для анализа подкруток

Recommended Posts

Мод по сбору внутриигровой статистики
Версия 1.0

Сервис который собирает события боя и сохраняет их в базу данных.

Любой бой будет начинаться с события загрузки боя, заканчиваться его результатом.

 

Сайт со всей информацией: wotstat.info, там же актуальная версия мода. Просмотр инфографики. 

 

Что собирается

  • Событие входа в бой. Время в очереди, в загрузке
  • Выстрел и его результат. Откуда, куда, как полетел трассер, какой результат у выстрела (это урон, куда и в кого попал, поджог ли кого то)
  • Результаты боя. Подробная информация о результатах боя с результатами каждого игрока, его командой


Интересная инфографика

  • Распределение выстрелов для серверного и клиентского прицела. 67% снарядов попадает в первую половину сведения. 
  • Анализ времени боя по картам, в среднем бои на 8-10 уровнях длятся 7 минут
  • В среднем в ожидании боя (очередь + загрузка + таймер) игроки тратят 36 секунд, что целых 9% от времени игры
  • Анализ урона. Распределение, как будто бы, нормальное, в отличии от выстрелов
    • урон по шотным танкам проходит так же нормально, без подкруток в пользу засейвить шотного. В любом случае на больших дистанциях
    • танки с 1хп остаются так же часто как и с 2хп, так и с 3хп.
  • При победах, топ1 по фрагам делает в среднем 3.5 фрага
  • Турбобои (я определил как бой быстрее 5 минут с разницей во фрагах более 10) случаются, бывает что 4 боя из 10, но в среднем 1 бой из 10
  • Можно посмотреть лично для себя разбивку по картам, сколько времени вы на них выживаете, сколько урона/фрагов/света делаете
  • Анализ "стримснайперов" даже обычным игрокам довольно часто в бои попадаются одни и те-же люди, но больше полезно конечно стримерам.  

 

Исходные данные

База данных со всеми актуальными исходными данными открыта на чтение, так что кому интересно, можно прямо на SQL писать любые запросы. 
А интересных графиков из этих данных можно ещё много построить
Подробнее про подключение на сайте, а поиграться можно тут: db.wotstat.info/play?user=public 

 

 

Немного скриншотов графиков

 

 


image.png.2d64a019c07d75ef93467611a5a03fd2.png

image.thumb.png.884526ff20545b485b52d309ada1e7ff.png

 

image.thumb.png.4aed2d5fcb97c337c8ae4943100f631e.png

image.thumb.png.9a2cca7fb8d8526dec560c092ee5499e.png

 

image.thumb.png.0220255a3a202e68ec4f2b637e9bd510.png

 

image.thumb.png.9085151b6b30323c5b4696ad06f3d7a2.png

 

 

 

 

Микросервисная архитектура полностью в опенсорс.

 

Чтоб не потерялось

  • Пересечение трассера и разброса url url url
  • Связь выстрела и попадания url
  • Механика отрисовки сведения url

 

 

Edited by SoprachevAK
  • Upvote 11

Share this post


Link to post

Short link
Share on other sites

Было бы круто если бы вы покидали сюда функций для хукания (как ссылку на исходный код) которые могли бы быть интересны, на основе их параметров соберу таблицы

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

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites
11 часов назад, SoprachevAK сказал:

Сегодня я релизнул мод в опенсорс

А где? Не нашёл репозиторий.

 

11 часов назад, SoprachevAK сказал:

Посмотреть

 

image.thumb.png.ba5274b185bf8e8aa8a1049c575b67b5.png

 

Как понимать вот эти выстрелы за пределы круга?

 

11 часов назад, SoprachevAK сказал:

я не молодел

Мы все не молодеем :sad:

Share this post


Link to post

Short link
Share on other sites
18 minutes ago, vivikar701 said:

Как понимать вот эти выстрелы за пределы круга

 

Таких выстрелов по всей бд 4%, из них 2.3% с дистанции < 50м, и 0.6% с дистанции < 10м, выстрелы полетевшие вне круга исключены из аналитических графиков. 
Причин их появления может быть 5

  1. Не совсем корректная формула расчёта точки попадания, сейчас круг параллелен плоскости монитора в снайперском прицеле, а надо немного не так
  2. Пулемётные танки, когда на одно нажатие ЛКМ вылетает более 1 снаряда, причём первый летит правильно, а остальные хрен знает как, и прицел можно отвести, и сидение может поменяться 
  3. Рассинхрон между сервером и клиентом, сейчас я записываю трассер снаряда и току в которую человек целился в момент нажатия ЛКМ, если мод записал снаряд непонятно куда, значит человек на клиенте увидел, что он летит непонятно куда, и как говорил Панков "Это нормально" (когда играл часто замечал, что такое случается при стрельбе в упор, круг сведения не совпадает с местом куда смотрит пушка, и не совпадает с тем, куда попадает выстрел)
  4. Выстрелы со старой версии мода на серверном прицеле (был баг с его записью, из за этого распределение арты отличается от верного, тк большинство боёв на арте сделано на старой версии)
  5. Неверная отрисовка трассера, в новой версии буду считать по точке попадания
    Quote

     Трассер это примерная визуализация и рисуется он условно и часто приближенно (тык)

     

 

19 minutes ago, vivikar701 said:

А где? Не нашёл репозиторий.

 

 

Забыл добавить, обновил. https://github.com/SoprachevAK/wot-stat

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

 Не доказательство подкрутки

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

Сейчас мод умеет записывать траекторию трассера, и считать точку пересечение трассера с маркером прицела на момент перед выстрелом. Точка попадания считается в том месте, где её видит человек из снайперского прицела (разброс -- круг в плоскости параллельной монитору), такой способ не совсем правильный с точки зрения механики разброса, однако близок к нему, и отображает то, что видит человек на мониторе. Хранятся точки в полярных координатах, далее оценивается относительное расстояние (0 означает что снаряд попал ровно в центр прицела, 1 -- снаряд попал ровно на границу сведения). Дальнейшие вычисления проводятся на выборке с 01.06.2021 по 18.08.2021, выстрелы артиллерии исключены (старая версия мода записывала их с багом), режим боя: стандартный

 

1. Гистограмма распределения: 

Отображает распределение снарядов внутри круга разброса, на горизонтальной оси -- секции прицела (как на стрелковых мишенях), на вертикальной -- относительное количество выстрелов, попавших в эту секцию (чем выше левые столбики, тем чаще снаряды летели в центр)

Я выбрал игрока JlOnATKA, у него 3294 выстрела, построил график распределения и сравнил его со среднесерверным распределением на (58773 выстрелов)

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

image.thumb.png.3fd76ba68c3553a2527bcee47a453741.png

2. Скользящее среднее по подряд идущим выстрелам одного аккаунта

Можно предположить, что выстрелы сначала "откручивают", а потом "подкручивают", согласно общему представлению патента кислого "чем лучше играешь, тем хуже летит, чем хуже играешь, тем летит лучше". В среднем будет всё верно, однако должны быть серии подряд идущих "неудач", для этих целей есть график скользящего среднего. Он выбирает N выстрелов, берёт расстояние от центра до точки попадания, и строит среднее по W элементам (точка, стоящая на X месте будет равна среднему от промежутка [X-W, X]. На графике индекс означает сколько выстрелов назад случился текущей выстрел, то есть самый последний выстрел был 0 выстрелов назад, находится справа)

Всё по тому же игроку image.thumb.png.3e5a0cd5360051e772c634ea62f0a19f.png
При окне усреднения = 30 уже винды некоторе пики и падения. Что если увеличить окно усреднения:
image.thumb.png.c4c7e5973ee9a6059094023287c1c8a0.png

Уже больше похоже на подкрутку,  с 715 по 623 выстрел летело "плохо", в среднем в 43% разброса, зато с 577 по 508 выстрел летело "хорошо" в среднем в 36% разброса 

Постоянная ссылка на группу этих графиков 

 

На этом мои познания в мат статистике закончились, и я не нашел ничего лучшего, чем сгенерить выстрелы вручную и посмотреть чё там у заведомо честного генератора. И у него всё примерно так же, для окна в 100 элементов значения прыгают от 0.31 до 0.48, значит этот промежуток можно считать пределами  нормы.
image.thumb.png.45758bf3e25efe54802d05d7cdbd50f6.png

Синим танки, красным моё. Окно = 100

 

3. Анализ генератора псевдослучайных чисел.

Прошлый способ даёт визуально понять подкрутку по времени путём выявления пиков, выходящих за пределы допустимой зоны, однако если пики внутри допустимой зоны, и частота пиков вверх чаще "нормы", это тоже является подкруткой. Для таких случаев разработаны различные способы анализа качества генераторов случайных чисел, к сожалению, кроме того что они разработаны, я о них не знаю ничего.

 

 

 

PS. Я вот писал всё это, и хотел в качестве примера взять аккаунт, на котором настреляно максимум выстрелов, однако топ2 игрока по количеству выстрелов в моём моде это игроки с NA и EU клиентов игры. И вот у них чёртова подкрутка есть даже на распределение. Вот график. И я не знаю, как это объяснить. Сравнить распределение серверов я не могу, тк слишком мало пока что играет не на RU

image.thumb.png.d7e347b58beca860fe281515346b487a.png

 

PS2. Прикладываю два csv файла. Full (189к строк) полные данные о выстрелах, Filtered (98к строк) выстрелы за 7 версию мода (исправлены баги), без арты с которой есть погрешность и с убранными выстрелами когда снаряд полетел за пределы круга сведения, для анализа советую использовать именно эту.

wot-stat-filtered.csvwot-stat-Full.csv

Edited by SoprachevAK
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites
8 часов назад, SoprachevAK сказал:

общему представлению патента кислого "чем лучше играешь, тем хуже летит, чем хуже играешь, тем летит лучше"

 

В патенте ничего такого нет, ты зря это пишешь.

 

8 часов назад, SoprachevAK сказал:

PS. Научите меня делать сворачиваемые спойлеры, и я дополню пост алгоритмом генерации чисел с распределением танков. 

 

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

[SPOILER]

[/SPOILER]

 

8 часов назад, SoprachevAK сказал:

И я не знаю, как это объяснить.

 

Красные кривые для EU, NA, RU разные наверно.

 

8 часов назад, SoprachevAK сказал:

Можно предположить, что выстрелы сначала "откручивают", а потом "подкручивают"

 

Надо корреляции искать. Например между разбросом и % побед за сессию. 

 

8 часов назад, SoprachevAK сказал:

Уже больше похоже на подкрутку,  с 715 по 623 выстрел летело "плохо", в среднем в 43% разброса, зато с 577 по 508 выстрел летело "хорошо" в среднем в 0.36% разброса

 

Если даже исключить все посторонние факторы, то все равно будет также, т.к. неравномерность в графике - это и есть проявление случайности. Что и было доказано тобой путем симуляции. А вот если бы её не было или в графике прослеживалась бы четкая зависимость, то это как раз указывало бы на предопределенность, т.е. не случайные подкрутки - запрограммированные зависимости.

Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites
10 hours ago, StranikS_Scan said:

В патенте ничего такого нет, ты зря это пишешь.

Знаю. Читал его, по этому и написал согласно общему представлению, а в общем представление патент виноват во всех бедах жизни

 

10 hours ago, StranikS_Scan said:

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

Понял. Спасибо. Мне конечно уже рассказали что спойлеры лучше не юзать, они вредны для SEO, но пригодится

 

10 hours ago, StranikS_Scan said:

Красные кривые для EU, NA, RU разные наверно.

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

 

11 hours ago, StranikS_Scan said:

Надо корреляции искать. Например между разбросом и % побед за сессию. 

В новой версии опять таки будет можно, а ещё можно искать корреляции между разбросом, уроном и пробитием. 

 

Если предположить, что все выстрелы всегда летят без учёта рандома, всегда в 0.395 от сведения, то для отклонения выборки из 100 выстрелов до 0.43 понадобится 5 выстрелов в самый край, ровно как и для отклонения до 0.36 понадобится 5 выстрелов ровно в центр. Весьма периодичные перепады графика от 0.36 до 0.43, означают разницу в 10 выстрелов полетевших вместо идеального центра в идеальный край. Понятное дело что на самом деле разница будет не в 10 выстрелах центр/край, а в 20+ выстрелах полетевших почти в центр/почти в край
Возможно именно это и вызывает ощущение "подкрутки", когда  есть серия в которой много выстрелов летят почти в центр, а потом серия, в которой много выстрелов летит в край. 

Лично для меня всё ещё странно, что бегущее среднее по рандому получись не прямой с шумом, а пилообразным графиком с шумом (я пытался найти ответ, и даже спрашивал знающих людей, но так и не понял)
image.thumb.png.12a8320e15cd9623185abf2108521700.png
10к выстрелов -> бегущее среднее по 100 -> фильтр нижних частот И синусоида, так что пики и впадины весьма периодичны

Share this post


Link to post

Short link
Share on other sites

 Генератор случайных чисел как в танках

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

 

Шаг 1. Берём много выстрелов, можем от сюда и строим по ним гистограмму распределения, пусть на N = 100 столбцов

data = readtable("./server.csv", opts);
data = data{:,[1,2,3]};

N = 100;
h = hist(data(:,3), N);

Шаг 2. Находим аппроксимацию полученной гистограммы, экспериментальным путём лучше всего описывается с помощью функции вида a*exp(b*x) + c*exp(d*x)

fitResult = fit(linspace(0, 1, N)', h', 'exp2');
[a, b, c, d] = deal(fitResult.a, fitResult.b, fitResult.c, fitResult.d)
  
vpa([a, b, c, d], 30)
F = @(x) (a*exp(b*x) + c*exp(d*x));
 

 


fitResult.thumb.png.8c7193d937b6d876fce31293c309518f.png
 

 


Шаг 3. Нормируем получившуюся плотность. Интеграл плотности от 0 до 1 = 1, для этого делим функцию на интеграл

PDF = @(x) (a*exp(b*x) + c*exp(d*x)) / integral(F, 0, 1);

Шаг 4. Находим функцию распределения как интеграл от плотности. В качестве константы при интегрирование вычитаем значение интеграла в 0, чтоб распределение имело значения от 0 до 1

CDF = matlabFunction(int(sym(PDF)));
CDF = matlabFunction(sym(CDF) - CDF(0));

Шаг 5. Находим функцию обратную данной, аналитически не вышло, делаем численно. 

xx = linspace(0, 1, 100);
yy = CDF(xx);
revCDF = @(x) interp1(yy, xx, x);

Шаг 6. Аппроксимируем обратную функцию. Тут хоть сколько нибудь адекватной аппроксимацией получился полином 9 степени (p1*x^9 + p2*x^8 + p3*x^7 + p4*x^6 + p5*x^5 + p6*x^4 + p7*x^3 + p8*x^2 + p9*x + p10)

X = linspace(0, 1, N);
revCDF = fit(X', revCDF(X)', 'poly9', 'Robust', 'Lar');

[p1, p2, p3, p4, p5, p6, p7, p8, p9, p10] = deal(revCDF.p1, revCDF.p2, revCDF.p3, revCDF.p4, revCDF.p5, revCDF.p6, revCDF.p7, revCDF.p8, revCDF.p9, revCDF.p10)
revCDF = matlabFunction(p1*x^9 + p2*x^8 + p3*x^7 + p4*x^6 + p5*x^5 + p6*x^4 + p7*x^3 + p8*x^2 + p9*x + p10);
 

 


invCDF.thumb.png.a8d4dd991f6f217607a5bff5461b92d1.png
 

 

 

Шаг 7. Готово. Теперь для получение случайных чисел достаточно вызвать revCDF(Rand()), где Rand() генерирует случайное число равномерно распределённое от 0 до 1.

Чтоб убедиться строим гистограмму от 10 миллионов случайных чисел и сравниваем с исходной гистограммой

histogram(data(:,3), 50,'Normalization','probability');
hold on
histogram(revCDF(rand(10e6, 1)), 50,'Normalization','probability');

Результат:
resultHist.thumb.png.12f08c062b9c065b4e4f637b2a3261c0.png

 

Коэффициенты формул:


PDF:
a = 170303.75999096324085
b = -3.9596481004599288767

c = -169770.0697609304043

d = -4.0490033841995565211

a*exp(b*x) + c*exp(d*x)


invCDF: 
p1 = 60.643177737472981903
p2 = -268.4866364087093870
p3 = 511.04790264076154926
p4 = -545.3738964542347957
p5 = 358.28863739253199583
p6 = -150.0669928063029487
p7 = 40.683377765003896798
p8 = -7.116679640521884842
p9 = 1.3780439852440364845
p10 = 0.0024099699685065862

p1*x^9 + p2*x^8 + p3*x^7 + p4*x^6 + p5*x^5 + p6*x^4 + p7*x^3 + p8*x^2 + p9*x + p10

 

 

PDF = 171.67590541705826929*exp(-3.9596481004599288767*x) - 171.13791521967221624*exp(-4.0490033841995565211*x)

CDF = 42.266676261003986781*exp(-4.0490033841995574093*x) - 43.356354166199118083*exp(-3.9596481004599288767*x) + 1.0896779051951310802

revCDF = 60.643177737472981903*x^9 - 268.48663640870938707*x^8 + 511.04790264076149242*x^7 - 545.37389645423479578*x^6 + 358.28863739253199583*x^5 - 150.06699280630289195*x^4 + 40.683377765003896798*x^3 - 7.116679640521884842*x^2 + 1.3780439852440360404*x + 0.0024099699685065862145

 

Полный код в матлаб:

clear 
clc
close all

syms x

opts = delimitedTextImportOptions("NumVariables", 4);
opts.DataLines = [1, Inf];
opts.Delimiter = ",";
opts.VariableNames = ["VarName1", "VarName2", "VarName3", "VarName4"];
opts.VariableTypes = ["double", "double", "double", "datetime"];
opts.ExtraColumnsRule = "ignore";
opts.EmptyLineRule = "read";
opts = setvaropts(opts, "VarName4", "InputFormat", "yyyy-MM-dd HH:mm:ss.SSS");

data = readtable("./wot-stat-filtered.csv", opts);
data = data{:,[1,2,3]};

N = 100;
h = hist(data(:,3), N);
fitResult = fit(linspace(0, 1, N)', h', 'exp2');


%Исходная аппроксимация 
[a, b, c, d] = deal(fitResult.a, fitResult.b, fitResult.c, fitResult.d)

vpa([a, b, c, d], 30)
F = @(x) (a*exp(b*x) + c*exp(d*x));


%Нормируем
PDF = @(x) (a*exp(b*x) + c*exp(d*x)) / integral(F, 0, 1);


%CDF = integral(PDF)
CDF = matlabFunction(int(sym(PDF)));
CDF = matlabFunction(sym(CDF) - CDF(0));


%Находим численно обратную
xx = linspace(0, 1, 100);
yy = CDF(xx);
revCDF = @(x) interp1(yy, xx, x);


%Аппроксимируем обратную
X = linspace(0, 1, N);
revCDF = fit(X', revCDF(X)', 'poly9', 'Robust', 'Lar');

[p1, p2, p3, p4, p5, p6, p7, p8, p9, p10] = deal(revCDF.p1, revCDF.p2, revCDF.p3, revCDF.p4, revCDF.p5, revCDF.p6, revCDF.p7, revCDF.p8, revCDF.p9, revCDF.p10)
revCDF = matlabFunction(p1*x^9 + p2*x^8 + p3*x^7 + p4*x^6 + p5*x^5 + p6*x^4 + p7*x^3 + p8*x^2 + p9*x + p10);


%Рисуем хистограмму для сравнения
histogram(data(:,3), 50,'Normalization','probability');
hold on
histogram(revCDF(rand(10e6, 1)), 50,'Normalization','probability');


rng(0)
window = 100;
smooth = smoothdata(data(:,3), 'movmean', window);
smoothCorrect = smoothdata(revCDF(rand(length(data(:,3)), 1)), 'movmean', window);
figure
plot(data(:,1), smooth)
hold on
plot(data(:,1), smoothCorrect)

PDFCDF.m

 

fitResult.png

Edited by SoprachevAK
  • Upvote 4

Share this post


Link to post

Short link
Share on other sites

3797089_.thumb.jpg.58e0a71211d590c8e31caebbb28f170a.jpg

Лично мне кажется, что для арты распределение вполне правдоподобно

Причина малых отклонений - вырождение круга разброса в эллипс и далее в линию при предельных дистанциях стрельбы

Т.е. практически разброс только по одной координате

Слева - все выстрелы за 10 боёв

Справа - бой с самым сжатым по У распределением снарядов

----------------------------------------------------------------------------------

А вместо 9-й степени Рэлей со смещением от нуля тоже не подходит?

Edited by KPOT2338

Share this post


Link to post

Short link
Share on other sites
5 hours ago, KPOT2338 said:

3797089_.thumb.jpg.58e0a71211d590c8e31caebbb28f170a.jpg

Лично мне кажется, что для арты распределение вполне правдоподобно

Причина малых отклонений - вырождение круга разброса в эллипс и далее в линию при предельных дистанциях стрельбы

Т.е. практически разброс только по одной координате

Слева - все выстрелы за 10 боёв

Справа - бой с самым сжатым по У распределением снарядов

----------------------------------------------------------------------------------

А вместо 9-й степени Рэлей со смещением от нуля тоже не подходит?

Да, сейчас у меня считается круг разброса как будто это снайперский прицел обычного танка, а надо считать так, тогда и с артой всё будет хорошо 
Вот подогнанный Рэлей с возможностью масштабироваться и двигаться во всех направлениях
image.thumb.png.5f5e59ef56ddf4981aa29b720d377a9b.png

 

 

General model:
     f(x) = h*((x-w)/r^2 * exp(-(x-w)^2/(2*r^2)))+t
Coefficients (with 95% confidence bounds):
       h =    0.006437303073  (0.006011, 0.006864)
       r =      0.3088765974  (0.295, 0.3227)
       t =    0.003736078162  (0.003328, 0.004144)
       w =    -0.05779067884  (-0.07109, -0.04454)

 

Тоже так себе. Сейчас такое распределение стало, что и экспонентой плохо аппроксимируется, но когда я начинал тот пост писать, экспонентой было норм
Наверное аппроксимацию гистограммы надо вообще просто сплайном искать да и всё. Такое падение на 0.05-0.1 тяжело чем то адекватным описать

Edited by SoprachevAK

Share this post


Link to post

Short link
Share on other sites

Вопрос

А игроки по серверам разделены или функция общая для всех?

А то на картинке с NA и EU графики гладкие, без резких скачков, но явно разные

Возможно когда экспонента подходила все игроки были с одного сервера

Share this post


Link to post

Short link
Share on other sites
12 minutes ago, KPOT2338 said:

А игроки по серверам разделены или функция общая для всех?

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

15 minutes ago, KPOT2338 said:

то на картинке с NA и EU графики гладкие

Они гладкие пока в них всего 10 секций, если секуции увеличивать появляется сильный шум, и к тому же, это графики не NA и EU сервера, а одного игрока с NA и однго игрока с EU
 

Share this post


Link to post

Short link
Share on other sites
23 часа назад, SoprachevAK сказал:

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

Странно. Средний разброс отличается для разных танков

Например ЕБР-90 44,72% (при 42,16% на РУ и 48,55% на НА) (всего 275 выстрелов (165+110))

А Удес-03 34,64% (при 37,82% на РУ и 32,17% на ЕУ) (всего 370 выстрелов (162+208))

При среднем 39,64% (всего 98703 выстрела)

 

Как погрешность посчитать?

 

Возможно вот у этих разброс лежит за пределом погрешности - у красных хуже, у зелёных лучше

1221432764_.jpg.aa61e75f3825362f7eb1dcc9a9fa7a79.jpg

Edited by KPOT2338

Share this post


Link to post

Short link
Share on other sites
10 hours ago, KPOT2338 said:

Странно. Средний разброс отличается для разных танков

Например ЕБР-90 44,72% (при 42,16% на РУ и 48,55% на НА) (всего 275 выстрелов (165+110))

А Удес-03 34,64% (при 37,82% на РУ и 32,17% на ЕУ) (всего 370 выстрелов (162+208))

При среднем 39,64% (всего 98703 выстрела)

 

Как погрешность посчитать?

 

Возможно вот у этих разброс лежит за пределом погрешности - у красных хуже, у зелёных лучше

1221432764_.jpg.aa61e75f3825362f7eb1dcc9a9fa7a79.jpg

Думаю тут всё ещё мало выстрелов, как показали мои эксперименты, среднее для 100 выстрелов может колебаться от 0.36 до 0.43 (погрешность = 7%)

для 1000 не пробовал, но допустим в 10 раз меньше, стало быть 0.7% и тогда внутри РУ сервера вроде бы никто сильно и не выбивается 

Тут есть нюанс доверительного интервала, тк я эти 7% получил на глаз, и хрен знает какова вероятность такой погрешности, так что небольшие отклонения в редких случаях допустимы 

 

В принципе методика оценки интересная, надо будет подумать в каком виде её можно внедрить на сайт, но это КТТС, в первую очередь разработка новой версии мода, как только зарелижу, постараюсь договориться с разрабами модпаков, чтоб они добавили.

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

Share this post


Link to post

Short link
Share on other sites
23.08.2021 в 03:06, SoprachevAK сказал:

Думаю тут всё ещё мало выстрелов, как показали мои эксперименты, среднее для 100 выстрелов может колебаться от 0.36 до 0.43 (погрешность = 7%)

для 1000 не пробовал, но допустим в 10 раз меньше, стало быть 0.7% и тогда внутри РУ сервера вроде бы никто сильно и не выбивается 

Тут есть нюанс доверительного интервала, тк я эти 7% получил на глаз, и хрен знает какова вероятность такой погрешности, так что небольшие отклонения в редких случаях допустимы

(0,43+0,36)/2=0,395

0,36/0,395=0,9114

1-0,9114=0,0886=8,86%

Т.е. формула для 95% (2 сигмы) вполне подходит: 1/N^0.5

для 100:  1/100^0.5=10%

для 1000:   1/1000^0.5=3.2%

-----------------------------------------------------------------------------------

А картинка точно ступенчатая

286506337_.jpg.6e531dfc3e23290829085a6b2bd1952f.jpg

Edited by KPOT2338

Share this post


Link to post

Short link
Share on other sites
13 hours ago, KPOT2338 said:

А картинка точно ступенчатая

286506337_.jpg.6e531dfc3e23290829085a6b2bd1952f.jpg

Выглядит как будто бы да
Вообще с увеличением количества выстрелов распределение становится весьма странной формы. 

 

Share this post


Link to post

Short link
Share on other sites

Обновил шапку темы, релизнул на гитхаб основу новой версии.

Можете глянуть на общую архитектуру и покритиковать её. 
 

А можете добавить новые события, по идеи это должно быть изи ту юз.

Share this post


Link to post

Short link
Share on other sites

А ещё там на WGMods предложили поколлаборировать с другими модниками, так что какие есть предложения по этому поводу? 

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

Например можно будет посмотреть с какой дистанции стреляют игроки с тегом "JOVEMODPACK" и сравнить со среднесервеным. На какую нибудь битву блоггеров было бы интересно кто сколько и как играет. 

Share this post


Link to post

Short link
Share on other sites
6 часов назад, SoprachevAK сказал:

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

 

Гугл аналитик у них и там у всех подключен. Не думаю, что раскрывать свою статистику кто-то будет. Иначе бы давно её публиковали бы.

 

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

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...