Если бы я взял весь набор данных и поделил общее количество шаров, из которых вышел игрок с битой, на общее количество шаров, то я мог видеть, что у меня будет средняя вероятность того, что котелок получит игрока с битой - это будет около 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)]/C−−√h(m):=Eb[f(b,m)]/C−−√so 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(b2,m1)⋮f(bN,m1)f(b1,m2)f(b2,m2)⋮f(bN,m2)……⋱…f(b1,mM)f(b2,mM)⋮f(bN,mM)⎤⎦⎥⎥⎥⎥⎥F=⎡⎣⎢⎢g(b1)⋮g(bN)⎤⎦⎥⎥G⎡⎣⎢⎢h(m1)⋮h(mM)⎤⎦⎥⎥THT
где вы разбили матрицу на один и один ,
N×MFN×rGM×rH
Конечно, вы не можете наблюдать за напрямую. Обычная модель состоит в том, что вы можете наблюдать за шумными записями случайно; в вашем случае, вы получите наблюдать ничью из биномиального распределения со случайным числом испытаний для каждой записи .FFF
Вы можете построить вероятностную модель как, скажем:
Gik∼N(0,σ2G)Hjk∼N(0,σ2H)Fij=GTiHjRij∼Binomial(nij,Fij)
где наблюдаются и , и вы, вероятно, поместите некоторые гиперприоры поверх / и сделаете вывод, например, в
Stan .
nijRijσGσH
Это не идеальная модель: с одной стороны, она игнорирует, что коррелирует с оценками (как я уже упоминал в первом разделе), и, что более важно, она не ограничивает быть в (вы, вероятно, использовали бы логистическую сигмоидальную или подобную для достижения этой цели). Связанная статья с более сложными априорами для и (но в которой не используется биномиальная вероятность): Салахутдинов и Мних, Байесовская вероятностная матричная факторизация с использованием цепочки Маркова Монте-Карло , ICML 2008. ( doi / author's pdf )nFij[0,1]GH