Моделирование игроков в крикет, получающих игроков с битой


9

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

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

Что меня интересует, так это то, что я могу сделать, чтобы попытаться вычислить вероятность того, что конкретный игрок с битой будет выбит конкретным боулером на следующем шаре.

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

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

Мой вопрос заключается в том, действителен ли следующий подход:

  • По всему набору данных вероятность выхода мяча равна 0,03.

  • Если я посчитаю, что в среднем котелок А имеет вероятность подняться на 0,06 (то есть в два раза чаще, чем средний котелок),

  • и в среднем игрок с битой B имел вероятность быть 0,01 (на треть меньше, чем средний игрок с битой),

  • тогда правильно ли говорить, что вероятность того, что конкретный игрок с битой будет на следующем шаре с этим конкретным котелком, будет 0,06 * (0,01 / 0,03) = 0,02?


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

Ответы:


2

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

К сожалению, это, возможно, уже не совсем то, что вы ищете.

Предположим, у нас есть один котелок и два игрока с битой: Дон Брэдман и я. (Я очень мало знаю о крикете, поэтому, если я делаю что-то далеко отсюда, дайте мне знать.) Игры идут примерно так:

  • Дон идет на летучую мышь, и выходит на 99-й чаше.
  • Я иду на летучую мышь, и сразу же ухожу.
  • Дон идет на летучую мышь, и выходит на 99-й чаше.
  • Я иду на летучую мышь, и сразу же ухожу.

В этом случае есть четыре аута из 200 мисок, поэтому предельная вероятность того, что котелок вытащит игрока с битой, оценивается как 4/200 = 2%. Но на самом деле вероятность того, что Дон уйдет, больше 1%, а у меня - 100%. Так что, если вы выбираете игрока с битой и котелка наугад, вероятность того, что этот игрок выгонит этого игрока с битой на этот раз, будет больше похожа (вероятность 50%, что вы выбрали Дона) * (вероятность 1%, он выберется) + (вероятность 50%, которую вы выбрали я) * (100% вероятность того, что я выйду) = 50,05%. Но если вы выберете поле наугад, то вероятность того, что он выйдет, составляет 2%. Поэтому вам нужно тщательно продумать, о какой из этих моделей выборки вы думаете.


Во всяком случае, ваше предложение не сумасшедшее. Более символично: пусть будет котелком, а игроком с битой; пусть будет вероятностью того, что выберет . Тогда вы говорите:bmf(b,m)bm

f(b,m)=Em[f(b,m)]Eb[f(b,m)]Eb,m[f(b,m)].

Это имеет желаемое свойство: это аналогично, если вы принимаете средства только через или .

Eb,m[f(b,m)]=Eb,m[f(b,m)]Eb,m[f(b,m)]Eb,m[f(b,m)]=Eb,m[f(b,m)];
мbm

Обратите внимание, что в этом случае мы можем назначить предполагаете, что вы можете достаточно хорошо наблюдать и по данным. Если (а) у вас достаточно игр [которые вы делаете] и (б) все игроки играют друг с другом с достаточно похожими частотами, то это нормально.г(б)ч(м)

C:=Eb,m[f(b,m)]g(b):=Em[f(b,m)]/Ch(m):=Eb[f(b,m)]/Cso that f(b,m)=g(b)h(m).
g(b)h(m)

Чтобы немного подробнее остановиться на (b): представьте, что у вас есть данные из нескольких профессиональных игр и из моих игр, в которые я играю со своими друзьями. Если нет совпадений, возможно, я выгляжу очень хорошо по сравнению с моими друзьями, так что, возможно, вы думаете, что я намного лучше, чем худший профессиональный игрок. Это, очевидно, неверно, но у вас нет данных, чтобы это опровергнуть. Если у вас есть небольшое совпадение, когда я однажды играл против профессионального игрока и был уничтожен, тогда данные подтверждают, что я и мои друзья оцениваемся как худшие, чем профи, но ваш метод этого не учитывает. Технически, проблема здесь в том, что вы предполагаете, что у вас есть хороший пример, например, , но ваше распределение смещено.Eb[f(b,m)]b

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


Вы можете попробовать обойти это с другим подходом. Предложенная модель для на самом деле является примером моделей матричной факторизации низкого ранга, общих для совместной фильтрации , как в проблеме Netflix . Там вы выбираете функции и для измерения и представляете . Вы можете интерпретировать как сложность вашей модели от единичной оценки «качества» до оценки по нескольким измерениям: возможно, некоторые боулеры лучше справляются с определенными типами игроков с битой. (Это было сделано, например, для игр NBA .)fg(b)h(m)rf(b,m)=g(b)Th(m)r>1

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

[f(b1,m1)f(b1,m2)f(b1,mM)f(b2,m1)f(b2,m2)f(b2,mM)f(bN,m1)f(bN,m2)f(bN,mM)]F=[g(b1)g(bN)]G[h(m1)h(mM)]THT
где вы разбили матрицу на один и один ,N×MFN×rGM×rH

Конечно, вы не можете наблюдать за напрямую. Обычная модель состоит в том, что вы можете наблюдать за шумными записями случайно; в вашем случае, вы получите наблюдать ничью из биномиального распределения со случайным числом испытаний для каждой записи .FFF

Вы можете построить вероятностную модель как, скажем:

GikN(0,σG2)HjkN(0,σH2)Fij=GiTHjRijBinomial(nij,Fij)
где наблюдаются и , и вы, вероятно, поместите некоторые гиперприоры поверх / и сделаете вывод, например, в Stan .nijRijσGσH

Это не идеальная модель: с одной стороны, она игнорирует, что коррелирует с оценками (как я уже упоминал в первом разделе), и, что более важно, она не ограничивает быть в (вы, вероятно, использовали бы логистическую сигмоидальную или подобную для достижения этой цели). Связанная статья с более сложными априорами для и (но в которой не используется биномиальная вероятность): Салахутдинов и Мних, Байесовская вероятностная матричная факторизация с использованием цепочки Маркова Монте-Карло , ICML 2008. ( doi / author's pdf )nFij[0,1]GH


1
@Ravi Это было долго, возможно, не совсем понятно, и я не знаю, как вы разбираетесь в подобных проблемах. Но не стесняйтесь задавать вопросы о любых неясных частях. Кроме того, поскольку ваши данные один на один, вы также можете использовать, например, Elo .
Дугал

Спасибо, что нашли время написать этот очень качественный ответ. По общему признанию, я только знаю основную статистику прямо сейчас, так что многое из этого является новым для меня. Тем не менее, это очень ясно показывает мне, что нужно читать, чтобы правильно понять эту проблему, а это именно то, что я хотел. Надеюсь, через несколько дней (или лет!) Обучения я смогу лучше понять ваш ответ.
Рави

Спасибо. У меня был вопрос об Эло. Поскольку это довольно долго, я открыл новый вопрос [здесь] :( stats.stackexchange.com/questions/230518/… )
Рави

0

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


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

2
@whuber Согласен - я думаю, что это будет примерно так же верно в отношении крикета, как почти любое другое конкурентное взаимодействие. Cricket не что разные.
Glen_b
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.