Перепрыгнеть в содержание


- - - - -

Data Mining для прогнозирования результатов в теннисе.


67 ответов в эту тему

#21 OFFLINE   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 22 June 2013 - 11:33

Ситуация осложняется вот ещё чем—когда мы имеем параметры игроков например для подачи, то мы формально определяем их для какого-то абстрактного среднего игрока
из кучи но на самом деле противоположный игрок может обладать более качественными показателями игры на приёме подачи и надо вводить некоторые поправочные коэффициенты учитывающие эти обстоятельства.
Причём наиболее оптимальным с теоретической точки зрения будет смотреть и подсчитывать показатели следующим образом—
Для А надо окружить игрока Б близкими по классу игроками и смотреть игры А с этой кучей, а для Б наоборот—окружать А. При этом естественно если кучи представительны то игрок в самой куче занимает какое-то место и не факт что точно среднее.
Когда вообще смотрится по общей массе то там тем более эти факты существенны и надо знать средние показатели самой это массы—иначе просто построить невозможно ни чего вразумительного (хотя и с общей массой тут ещё надо подумать как вводить правильно поправки).

#22 OFFLINE   Credo

    Специалист


  • Участник II
  • ПипПипПип
  • 190 сообщения
49

Добавлено 22 June 2013 - 11:46

СообщенияBambuk, on 22 June 2013 - 11:11, сказал:

Credo, если можно внесите ясность в вопрос когда "поровну" в гейме. 3-3 допустим какие дальше расклады и до какой максимальной точки брать.
Я не пойму--кто там подаёт--кто подавал или идёт смена подачи при каком-то условии.
Потом как я понял из беглого обзнакомления с правилами--идёт два варианта игры с тайбрейком и нет. Какая схема сейчас применяется?
Там расклады ведь будут разные и расчёт совершенно иначе идёт--надо делать два варианта модели тогда или чего-либо ещё.
Я например не уверен что одна из схем не ставит какого-то игрока в лучшее положение.
Исторически сложилось, что счет в гейме ведется от подающего и подающий подает до тех пор, пока не выиграет или проиграет гейм. В идеале выигрыш гейма - это выигрыш 4-х своих подач. Обозначение счета странное:
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   Credo

    Специалист


  • Участник II
  • ПипПипПип
  • 190 сообщения
49

Добавлено 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   Credo

    Специалист


  • Участник II
  • ПипПипПип
  • 190 сообщения
49

Добавлено 22 June 2013 - 13:42

Возникает логичный вопрос - где брать статистику. Наилучшим вариантом является OnCourt. Не стоит смотреть на непрезентабельность сайта. Программа столь популярна в мире (не побоюсь этого слова), в том числе у буков, что создатели давно забили на сайт. В OnCourt есть все для анализа матчей. Но нас интересует именно их база данных. База в формате mdb. Т.е. чтобы тащить оттуда то, что необходимо именно нам, нужен специалист по MS Office, точнее по Access.
Может кто на форуме изъявит желание применить свои знания для общего дела. Если есть, то нужно скачать и установить программу. Свежайшей БД я обеспечу. Сегодняшнее обновление загрузил сюда 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   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 22 June 2013 - 14:27

Для простейшей модели основанной на подаче нам по сути нужна характеристика Pwin гейма на своей подаче для каждого игрока пары А-Б
но эта характеристика трудно вычисляема через кучу так как у нас нет аналитических зависимостей для пересчёта .
Мы по сути для каждого игрока имеем характеристики с кучей (их там много судя по приведённым данным) но для простоты рассмотрим хоть связанные с подачей--
Р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   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 22 June 2013 - 15:34

Credo, что-то я немного подзапутался и по ходу всех подзапутал. у нас параметров нужных нет. Мы-то гейм должны сами смоделировать а это значит что нам надо вычислить не то что в посте выше написано, а вычислить параметры *надо определиться какие) а через них найти вероятность Выигрыша на своей подаче для каждого игрока , а не гейма...хотя можно походу всё параллельно делать..
Цифр так много уже плыву.............
Что-то не совсем понял с брейкпоинтом--это когда мяч принял соперник например и он остался в игре и дальше рубятся?
Надо наверно идентифицировать данные модели с ентими иностранными загагулинами. Там судя по всему данных избыточно в статистике и надо определиться что куда относится вообще-то. Иначе не ясно какие параметры подавать на сеть например или через регрессию пользовать.
Если я правильно понял--процент удержания подачи это как раз наша
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   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 22 June 2013 - 17:35

Прочесал интернет по ходу сами половина не понимает..вообщем понял так--- допустим брейкпоинт на подаче типа счёт 4-3 а на приёме типа 3-4 и если очко взял (в хорошем смысле)
то и гей....м твой.

Отредактировано Bambuk, 22 June 2013 - 17:35.


#28 OFFLINE   Credo

    Специалист


  • Участник II
  • ПипПипПип
  • 190 сообщения
49

Добавлено 22 June 2013 - 18:22

СообщенияBambuk, on 22 June 2013 - 17:35, сказал:

Прочесал интернет по ходу сами половина не понимает..вообщем понял так--- допустим брейкпоинт на подаче типа счёт 4-3 а на приёме типа 3-4 и если очко взял (в хорошем смысле)
то и гей....м твой.
Чуть не так.
Если я подаю и счет 4-3, то следующая выигранная мной подача - выигрыш гейма. Если я проиграл, то счет снова 3-3(40-40, ровно). Я подаю снова и проигрываю подачу. Счет 3-4(меньше). Проигрываю следующую - проигрыш гейма (брейк соперника, соперник сделал брейк). Если выигрываю, то снова 3-3. И так до бесконечности, пока я после счета 3-3(40-40) не проиграю или не выиграю две подачи подряд.

#29 OFFLINE   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 22 June 2013 - 19:05

СообщенияCredo, on 22 June 2013 - 18:22, сказал:

Чуть не так.
Если я подаю и счет 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   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 22 June 2013 - 21:46

Странная вещь-посмотрел правила, но не нашёл --считается ли ошибкой подачи если при первой подаче мяч ушёл в аут перелетев через сетку. В волейболе например это проигранное очко.

#31 OFFLINE   chepicov

    Специалист


  • Участник II
  • ПипПипПип
  • 354 сообщения
23

Добавлено 22 June 2013 - 22:18

Да. Аут или сетка (мяч зацепил сетку и ушел в аут или остался на половине подающего) = вторая подача

Отредактировано chepicov, 22 June 2013 - 22:25.


#32 OFFLINE   Credo

    Специалист


  • Участник II
  • ПипПипПип
  • 190 сообщения
49

Добавлено 23 June 2013 - 05:42

СообщенияBambuk, on 22 June 2013 - 21:46, сказал:

Странная вещь-посмотрел правила, но не нашёл --считается ли ошибкой подачи если при первой подаче мяч ушёл в аут перелетев через сетку. В волейболе например это проигранное очко.
Если под ошибкой подразумевается проигрыш очка, то нет. В теннисе для ввода мяча в игру дается две попытки. Если, и вторая неудачна - проигрыш очка. (двойная ошибка).

#33 OFFLINE   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 23 June 2013 - 08:19

СообщенияCredo, on 23 June 2013 - 05:42, сказал:

Если под ошибкой подразумевается проигрыш очка, то нет. В теннисе для ввода мяча в игру дается две попытки. Если, и вторая неудачна - проигрыш очка. (двойная ошибка).
Credo, тогда чтоб дальше двигаться давайте уточним данные и идентифицируем что есть что. Нам надо или получить компонеты входящие в
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   chepicov

    Специалист


  • Участник II
  • ПипПипПип
  • 354 сообщения
23

Добавлено 23 June 2013 - 09:50

Pwin=вероятность подать с первой подачи*вероятность выиграть на первой подаче+(1-вероятность подать с первой подачи)*вероятность выиграть на второй

#35 OFFLINE   Credo

    Специалист


  • Участник II
  • ПипПипПип
  • 190 сообщения
49

Добавлено 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   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 23 June 2013 - 12:08

СообщенияCredo, on 23 June 2013 - 10:26, сказал:

Р1.2 - выигрыш в розыгрыше. Если выигранные/все = 126/(126+132). Если, выигранные свои/все свои = (57+18)/(85+40)
Р1.3 - вторая подача. 40/125 - всего вторых/всего своих. 18/125 - выигранных своих/ всего своих
Я тупой. Объясните поконкретнее.
Тут надо во первых исходить из следующей кострукции модели---Мы столбимся на подаче конкретного игрока например А и для него находим все характеристики, а потом делаем такой же расчёт для Б и тогда просто меняем переодически подачи и получается вот например что--гейм рассматриваем для А а потом рассмаатриваем следующую подачу и гейм для Б (нам нет разницы как определять проигрыш Б если подача А для первого примера так как вероятности связаны тупо через 1)
тогда сет получается из геймов Га+Гб+Га+.......... из которых мы потом будем цепочки всевозможные мастерить но нам пока надо найти вероятности выигрыша гейма который формально состоит из "подач" сколько подач мы не знаем поэтому в модели надо ввести ограничения до какого варианта смотрим. например до 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   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 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   chepicov

    Специалист


  • Участник II
  • ПипПипПип
  • 354 сообщения
23

Добавлено 23 June 2013 - 15:21

Откуда эти цифры?

Смотрите на Service PtsW%. Там уже все посчитано по приведенной мной формуле. (60,2*74,9+39,8*53,1)/100=66,22%
Вот только посчитано там на всех кортах и за все время. С этим, допустим, проблем нет - поменяли фильтры и вперед. Однако есть проблема с классом соперника. OnCourt считает в общем, без привязки к чему-либо (например к тому же кэфу)

#39 OFFLINE   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 23 June 2013 - 16:30

Сообщенияchepicov, on 23 June 2013 - 15:21, сказал:

Откуда эти цифры?

Смотрите на Service PtsW%. Там уже все посчитано по приведенной мной формуле. (60,2*74,9+39,8*53,1)/100=66,22%
Вот только посчитано там на всех кортах и за все время. С этим, допустим, проблем нет - поменяли фильтры и вперед. Однако есть проблема с классом соперника. OnCourt считает в общем, без привязки к чему-либо (например к тому же кэфу)
Смотрите сюда haas tursunov
Но вообще-то я не об этом
Получены странные данные
Для 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   chepicov

    Специалист


  • Участник II
  • ПипПипПип
  • 354 сообщения
23

Добавлено 23 June 2013 - 16:44

должно быть:
0,5-0,5
0,52-0,55
0,56-0,65

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