Data Mining для прогнозирования результатов в теннисе.
#21 OFFLINE
Добавлено 22 June 2013 - 11:33
из кучи но на самом деле противоположный игрок может обладать более качественными показателями игры на приёме подачи и надо вводить некоторые поправочные коэффициенты учитывающие эти обстоятельства.
Причём наиболее оптимальным с теоретической точки зрения будет смотреть и подсчитывать показатели следующим образом—
Для А надо окружить игрока Б близкими по классу игроками и смотреть игры А с этой кучей, а для Б наоборот—окружать А. При этом естественно если кучи представительны то игрок в самой куче занимает какое-то место и не факт что точно среднее.
Когда вообще смотрится по общей массе то там тем более эти факты существенны и надо знать средние показатели самой это массы—иначе просто построить невозможно ни чего вразумительного (хотя и с общей массой тут ещё надо подумать как вводить правильно поправки).
#22 OFFLINE
Добавлено 22 June 2013 - 11:46
Bambuk, on 22 June 2013 - 11:11, said:
Я не пойму--кто там подаёт--кто подавал или идёт смена подачи при каком-то условии.
Потом как я понял из беглого обзнакомления с правилами--идёт два варианта игры с тайбрейком и нет. Какая схема сейчас применяется?
Там расклады ведь будут разные и расчёт совершенно иначе идёт--надо делать два варианта модели тогда или чего-либо ещё.
Я например не уверен что одна из схем не ставит какого-то игрока в лучшее положение.
1-0 в теннисе обозначается как 15-0
2-0 = 30-0
3-0 = 40-0
При 3-3 или 40-40 вступает в действие правило выигрыша/проигрыша 2-х подач подряд. Т. е. Выиграл одну (4-3) - гейм-пойнт, проиграл одну - брейк-пойнт у соперника.
Вспомните волейбол. Нельзя выиграть партию со счетом 25-24, а обязательно сразницей в 2 очка.
Подающий может подавать вечно, пока не выиграет/проиграет 2 подачи подряд.
Тайбрейк играется при счете 6-6 в сете. Каждый разыгрывает 2 своих подачи. Тайбрейка нет только в 5-й решающей партии на турнирах Большого Шлема. Там счет идет как в обычном сете до перевеса в два гейма. Изнер - Маю играли 2 дня. Счет пятого сета 70-68
#23 OFFLINE
Добавлено 22 June 2013 - 12:37
Предположим отберем по рейтингу на сегодняшний день 50 человек. Из них нужно вычленить "случайных". Допустим, критерий - нахождение в ТОП-50 не меньше 26 недель.Осталось, предположим 40 человек. Делим их на две группы: агрессоры и оборнцы. Явным представителем агрессора в ВТА является Шарапова, а оборонец - Возняцки.
Просто "взять и поделить" не удастся. Придется определяться со статистическими критериями деления. И мы снова начнем вязнуть в куче цифр.
Для начала нужна простая модель определения "формы" игрока. Другими словами сравнение стат показателей игрока на сегодня с его средним. Форму невозможно ни набрать ни потерять в один день. Для упрощения модели я предлагаю исследовать по "истории" % первой подачи с результатами выступлений и поискать зависимости.
Далее. Чем плох такой показатель сравнения пары, как "цена выигранного/проигранного гейма". Тупо количество выигранных/проигранных очков делим на кол-во выигр/проигр геймов. Например, те же Турсунов - Хаас. Мой плагин к ОнКорт дает такие значения
Screen_1-1.png 177.47K 3 Количество загрузок
Без разделения на выигрыш очка на своей или чужой подаче.
Также есть по личкам
Screen_1-2.png 5.69K 1 Количество загрузок
#24 OFFLINE
Добавлено 22 June 2013 - 13:42
Может кто на форуме изъявит желание применить свои знания для общего дела. Если есть, то нужно скачать и установить программу. Свежайшей БД я обеспечу. Сегодняшнее обновление загрузил сюда yadi.sk/d/5kmgNvG0641qg
Вам нужно обновить файл OnCort.mdb с заменой, который находится (если программа ставилась в директорию по умолчанию):
1. в Windows XP C:\Program Files\OnCourt\OnCourt.mdb
2. Windows 7 C:\Users\admin\AppData\Local\VirtualStore\Program Files\OnCourt\OnCourt.mdb (AppData - скрытая папка)
База запаролена. Но, Advanced Office Password Recovery легко справляется с этой задачей.
Так, есть ли желающие.
#25 OFFLINE
Добавлено 22 June 2013 - 14:27
но эта характеристика трудно вычисляема через кучу так как у нас нет аналитических зависимостей для пересчёта .
Мы по сути для каждого игрока имеем характеристики с кучей (их там много судя по приведённым данным) но для простоты рассмотрим хоть связанные с подачей--
Р1 и 1-Р1 это соответственно вероятность выигрыша гейма на своей подаче и 1-Р1 --это вероятность выигрыша кучи на подаче игрока 1
у кучи тоже есть характеристики: 1-Рпр1=РWкучи где Рпр1--это вероятность выигрыша гейма игрока 1 на подаче кучи (а РWкучи формально не указано но может вычисляться через характеристику приёма игрока1) ну и для игрока 2 также но у него будут совсем другие данные РWкучи (так как они вычисляются через игрока 2)
Теперь нам через все параметры надо найти РА и РБ для пары А-Б где РА и РБ это соотвествующие вероятности выигрыша гейма при своей подаче.
Это можно сделать только нейросетью--а именно подавать на вход параметры к куче и от неё (которые мы сочтём нужнам) игроков А и Б (можно даже подавать А всегда сильнее в одной позиции)
до игры , а обучающий выход это параметры РА и РБ которые зафиксированы в игре. Тогда сеть найдёт функцию связывающую входные данные с РА и РБ
теоретически можно конечно попробовать множественную регрессию но я не уверен что там лучше получится.
Для простоты если не брать все данные то можно вот такие функции рассматривать
PA=F(P1,P2, Рпр2....)
РБ=F(P2,P1, Рпр1....)
исходя тогда из потребностей в Р1 Рпр1 и Р2 Рпр2 (суть вероятности выигрыша гейма при своей подаче и при подаче кучи) можно попробовать на плоскость воткнуть точки
(Рk;Рпрk) k=1.2.3.4.... --номер команды (вот для всех 50 и воткнуть и посмотреть). Можно уже сделать прикид--как поделить.
#26 OFFLINE
Добавлено 22 June 2013 - 15:34
Цифр так много уже плыву.............
Что-то не совсем понял с брейкпоинтом--это когда мяч принял соперник например и он остался в игре и дальше рубятся?
Надо наверно идентифицировать данные модели с ентими иностранными загагулинами. Там судя по всему данных избыточно в статистике и надо определиться что куда относится вообще-то. Иначе не ясно какие параметры подавать на сеть например или через регрессию пользовать.
Если я правильно понял--процент удержания подачи это как раз наша
P.WIN=Р1.1+Р1.2*Рвр1+ Р1.3*( Р2.1+Р2.2*Рвр2)
Вообще не понятно как какая характеристика вычислена (ну половина точно я не врубаюсь).
У нас в модели что я набросал 8 параметров всего по идее и один производный P.WIN
и для кучи точно такие же параметры но они должны идентифицироваться через оборону игрока....надо нарисовать Джон=Вася Мери=Маша.
Отредактировано Bambuk, 22 June 2013 - 15:41.
#27 OFFLINE
Добавлено 22 June 2013 - 17:35
то и гей....м твой.
Отредактировано Bambuk, 22 June 2013 - 17:35.
#28 OFFLINE
Добавлено 22 June 2013 - 18:22
Bambuk, on 22 June 2013 - 17:35, said:
то и гей....м твой.
Если я подаю и счет 4-3, то следующая выигранная мной подача - выигрыш гейма. Если я проиграл, то счет снова 3-3(40-40, ровно). Я подаю снова и проигрываю подачу. Счет 3-4(меньше). Проигрываю следующую - проигрыш гейма (брейк соперника, соперник сделал брейк). Если выигрываю, то снова 3-3. И так до бесконечности, пока я после счета 3-3(40-40) не проиграю или не выиграю две подачи подряд.
#29 OFFLINE
Добавлено 22 June 2013 - 19:05
Credo, on 22 June 2013 - 18:22, said:
Если я подаю и счет 4-3, то следующая выигранная мной подача - выигрыш гейма. Если я проиграл, то счет снова 3-3(40-40, ровно). Я подаю снова и проигрываю подачу. Счет 3-4(меньше). Проигрываю следующую - проигрыш гейма (брейк соперника, соперник сделал брейк). Если выигрываю, то снова 3-3. И так до бесконечности, пока я после счета 3-3(40-40) не проиграю или не выиграю две подачи подряд.
BP Save% - процент отыгранных б/п
Break Pt W% - % выигр. б/п игроком
тогда получается 1-это % сколько при своей подача я вырулю из ситуации 3-4 ?
а 2- это сколько я возьму с чужой подачи при 4-3 .
Тут когда первый раз в первый класс да ещё и с английским уклоном ----ну пипец полный............
#30 OFFLINE
Добавлено 22 June 2013 - 21:46
#31 OFFLINE
Добавлено 22 June 2013 - 22:18
Отредактировано chepicov, 22 June 2013 - 22:25.
#32 OFFLINE
Добавлено 23 June 2013 - 05:42
Bambuk, on 22 June 2013 - 21:46, said:
#33 OFFLINE
Добавлено 23 June 2013 - 08:19
Credo, on 23 June 2013 - 05:42, said:
P.WIN=Р1.1+Р1.2*Рвр1+ Р1.3*( Р2.1+Р2.2*Рвр2)
либо провести вычисления P.WIN через те данные которые есть в статистике. P.WIN по сути это число подач принесших очко (неважно с айса или с игры) поделенное на общее число
попыток подачи. В связи с этим возник вопрос по Unforced Error--считаются ли эти случаи проигранными очками на подаче?..... да и по другим параметрам непонятно что на что делится и что включается или не включается в расчёт. Вот даже тупо Айсы на гейм--на сколько правомерно считать что это вероятность Р1.1( выигрыш на вылет или выигрыш при ошибке противника). потом Рвр1 я так полагаю это типа 1st Serve W% только в- % но в эти проценты можно включить и айсы и поэтому непонимая какая переменная как вычислена я не могу прийти к пониманию как либо вычислить параметры модели или непосредственно выйти на P.WIN через параметры статистики.
Даже вот вроде бы простой параметр 1st Serve% --это фактически сколько мячей попало в площадку и пошла игра там или айс...тогда получается что 100-Serve% это доля где двойные ошибки + вторые подачи (но у нас ещё какая-то Unforced Error....о которой я спрашивал) теперь если ошибки и айсы представлены в долях на гейм как там вычислять непонятно ---цифры, как я их понимаю, на двух скринах поясняющих статистику не вяжутся . допустим на первом доли айсов около 0,57 а у "Турсунова" айсов 7 а подач 125. Причём айсы есть ведь и на первой подаче и на второй...поэтому тут в статистике блуд полный в моём её восприятии.
Отредактировано Bambuk, 23 June 2013 - 08:27.
#34 OFFLINE
Добавлено 23 June 2013 - 09:50
#35 OFFLINE
Добавлено 23 June 2013 - 10:26
Для игрока Haas.
Все что относится к розыгрышам подач.(очков)
Всего сделал подач 85+40=125
из них 7 подач навылет(эйсы). На какой подаче(1-й или 2-й) был сделан эйс статы нет.
Двойные ошибки - 3
Общее число выигранных подач (своих и соперника) - 126
Unforced Error(20)|Winners(41) - это больше субъективные данные, т.к. нет строгих правил подсчета. Невынужденные ошибки подразумевают, что Хаас ошибся в розыгрыше сам (на простом мяче), а не из-за сложного для ответа удара соперника. Виннерсы - активно выигранные очки. Если, Хаас стал гонять соперника из угла в угол и тот не успел к мячу, например.
Как то непонятно мне, например Р1.2 - выигрыш в розыгрыше. Если выигранные/все = 126/(126+132). Если, выигранные свои/все свои = (57+18)/(85+40)
Р1.3 - вторая подача. 40/125 - всего вторых/всего своих. 18/125 - выигранных своих/ всего своих
Я тупой. Объясните поконкретнее.
#36 OFFLINE
Добавлено 23 June 2013 - 12:08
Credo, on 23 June 2013 - 10:26, said:
Р1.3 - вторая подача. 40/125 - всего вторых/всего своих. 18/125 - выигранных своих/ всего своих
Я тупой. Объясните поконкретнее.
тогда сет получается из геймов Га+Гб+Га+.......... из которых мы потом будем цепочки всевозможные мастерить но нам пока надо найти вероятности выигрыша гейма который формально состоит из "подач" сколько подач мы не знаем поэтому в модели надо ввести ограничения до какого варианта смотрим. например до 6-4 и 4-6 это 3 брейка
в этом случае там останется исход 5-5 в раскладе теории так вот его вероятность я предлагаю отдать пропорционально Pwin 1-Pwin игрокам А и Б соответственно.
Найти вероятность выиграть гейм можно через матрицу переходных вероятностей в цепи Маркова.
Теперь надо осмыслить вот это предложение
Pwin=вероятность подать с первой подачи*вероятность выиграть на первой подаче+(1-вероятность подать с первой подачи)*вероятность выиграть на второй
допустим вероятность подать с первой подачи*вероятность выиграть на первой подаче=1st Serve*Winning % on 1 st Serve /10000
вопрос к спецам по теннису так ли это на самом деле ибо смотрим далее
тогда по той же логике (1-вероятность подать с первой подачи)*Winning % on 2nd Serve/100 (первый член нам известен 1-1st Serve/100)
там собственно возникает вопрос с ошибками и как собственно такой вот расклад согласуется с данными например по "Турсунову" ну и вообще с другими данными по другим играм.
Отредактировано Bambuk, 23 June 2013 - 12:12.
#37 OFFLINE
Добавлено 23 June 2013 - 12:23
haas tursunov
0,68 0,57
0,67 0,72
0,45 0,46
Pwin 0,5996 0,6082
Судя по цифрам игроки практически равные...Какие хоть кефы там вкручивали БК?
Отредактировано Bambuk, 23 June 2013 - 12:26.
#38 OFFLINE
Добавлено 23 June 2013 - 15:21
Смотрите на Service PtsW%. Там уже все посчитано по приведенной мной формуле. (60,2*74,9+39,8*53,1)/100=66,22%
Вот только посчитано там на всех кортах и за все время. С этим, допустим, проблем нет - поменяли фильтры и вперед. Однако есть проблема с классом соперника. OnCourt считает в общем, без привязки к чему-либо (например к тому же кэфу)
#39 OFFLINE
Добавлено 23 June 2013 - 16:30
chepicov, on 23 June 2013 - 15:21, said:
Смотрите на Service PtsW%. Там уже все посчитано по приведенной мной формуле. (60,2*74,9+39,8*53,1)/100=66,22%
Вот только посчитано там на всех кортах и за все время. С этим, допустим, проблем нет - поменяли фильтры и вперед. Однако есть проблема с классом соперника. OnCourt считает в общем, без привязки к чему-либо (например к тому же кэфу)
Но вообще-то я не об этом
Получены странные данные
Для Pwin подачи напротив вероятности выигрыша гейма на своей подиче
Pwin-PWgeim
0,5-0,46
0,52-0,51
0,56-0,6
0,6-0,69
0,65-0,79
возможно это из-за разнесения 5-5 и можно попробовать сделать ещё одну итерацию в Цепи Маркова. По здравоме смыслу при 0,5 должно быть 0,5.
На сколько это вяжется с реалиями тенниса? При дополнительной итерации всё встаёт на места и при 0,5 получаем 0,5..... данные причведу позднее по подправленной части модели.
Отредактировано Bambuk, 23 June 2013 - 16:39.
#40 OFFLINE
Добавлено 23 June 2013 - 16:44
0,5-0,5
0,52-0,55
0,56-0,65
и т.д. Сектор где-то выкладывал свою прогу для нахождения вероятности взять гейм зная вероятность взять очко на своей подаче