Modélisation de quilleurs de cricket pour sortir les batteurs

9

J'ai un ensemble de données détaillant un grand nombre de jeux de cricket (quelques milliers). Dans le cricket, les "quilleurs" lancent à plusieurs reprises une balle sur une succession de "batteurs". Le lanceur essaie de faire sortir le batteur. À cet égard, il est assez similaire aux lanceurs et frappeurs de baseball.

Si je prenais l'ensemble de données et divisais le nombre total de balles qui ont fait sortir un batteur par le nombre total de balles lancées, je peux voir que j'aurais la probabilité moyenne qu'un melon fasse sortir un batteur - ce sera autour de 0,03 ( j'espère que je ne me suis pas déjà trompé?)

Ce qui m'intéresse, c'est ce que je peux faire pour essayer de calculer la probabilité qu'un batteur spécifique soit renversé par un lanceur spécifique sur la balle suivante.

L'ensemble de données est suffisamment grand pour qu'un quilleur donné ait lancé des milliers de balles à un large éventail de batteurs. Je pense donc que je pourrais simplement diviser le nombre de retraits réalisés par un lanceur par le nombre de balles qu'il a lancées pour calculer une nouvelle probabilité pour ce joueur spécifique de sortir de la balle suivante.

Mon problème est que le jeu de données n'est pas assez grand pour garantir qu'un melon donné a lancé un nombre statistiquement significatif de balles sur un batteur donné. Donc, si je suis intéressé par le calcul de la probabilité d'une sortie pour un melon spécifique face à un batteur spécifique, je ne pense pas que cela ne puisse pas être fait de la même manière simpliste.

Ma question est de savoir si l'approche suivante est valable:

  • Sur l'ensemble des données, la probabilité qu'une balle sorte est de 0,03.

  • Si je calcule qu'en moyenne le melon A a une probabilité de sortir de 0,06 (c'est-à-dire deux fois plus probable qu'un melon moyen),

  • et en moyenne le batteur B avait une probabilité d'être hors de 0,01 (un tiers aussi probable qu'un batteur moyen),

  • est-il alors valable de dire que la probabilité que ce batteur spécifique soit sorti sur la prochaine balle de ce lanceur spécifique sera de 0,06 * (0,01 / 0,03) = 0,02?

Ravi
la source
Si le lanceur choisissait de lancer le ballon à plusieurs reprises , il se trouverait rapidement retiré de la possibilité de jouer à nouveau dans le jeu.
Glen_b -Reinstate Monica

Réponses:

2

Si j'ai pris l'ensemble de données et divisé le nombre total de balles qui ont fait sortir un batteur par le nombre total de balles lancées, je peux voir que j'aurais la probabilité moyenne qu'un melon fasse sortir un batteur - ce sera environ 0,03 (j'espère Je ne me suis pas déjà trompé?)

Malheureusement, ce n'est peut-être déjà pas exactement ce que vous recherchez.

Supposons que nous ayons un seul melon et deux batteurs: Don Bradman et moi. (Je sais très peu de choses sur le cricket, donc si je fais quelque chose ici, faites le moi savoir.) Les jeux vont quelque chose comme:

  • Don va au bâton et sort sur le 99e bol.
  • Je vais au bâton et je sors immédiatement.
  • Don va au bâton et sort sur le 99e bol.
  • Je vais au bâton et je sors immédiatement.

Dans ce cas, il y a quatre outs sur 200 bols, donc la probabilité marginale pour un joueur de bowling de sortir un batteur est estimée à 4/200 = 2%. Mais vraiment, la probabilité que Don soit absent est plus proche de 1%, alors que la mienne est de 100%. Donc, si vous choisissez un batteur et un melon au hasard, la probabilité que ce melon sorte ce batteur cette fois-ci est plus comme (50% de chances que vous avez choisi Don) * (1% de chances qu'il sorte) + (50% de chances que vous avez choisi moi) * (100% de chance de sortir) = 50,05%. Mais si vous choisissez un terrain au hasard, il y a 2% de chances qu'il sorte. Vous devez donc bien réfléchir au modèle auquel vous pensez.


Quoi qu'il en soit, votre proposition n'est pas folle. Plus symboliquement, soit le lanceur et le batteur; laisser la probabilité que obtient out. Vous dites alors:bmf(b,m)bm

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

Cela a la propriété souhaitée: il est tout aussi cohérent si vous prenez des moyens sur seulement ou .

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

Notez que dans ce cas, nous pouvons affecter Votre hypothèse est que vous pouvez observer et assez bien à partir des données. Tant que (a) vous avez suffisamment de jeux [ce que vous faites] et (b) que les joueurs se jouent tous avec des fréquences raisonnablement similaires, alors c'est très bien.

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)

Pour élaborer un peu sur (b): imaginez que vous avez des données provenant d'un tas de jeux professionnels et d'un tas de jeux de moi jouant avec mes amis. S'il n'y a pas de chevauchement, peut-être que j'ai l'air vraiment bien par rapport à mes amis, alors peut-être que vous pensez que je suis bien meilleur que le pire joueur professionnel. C'est évidemment faux, mais vous n'avez aucune donnée pour réfuter cela. Si vous avez un petit chevauchement, où j'ai joué contre un joueur professionnel une fois et que j'ai été détruit, les données permettent de me classer, mes amis et moi, bien pire que les pros, mais votre méthode ne l'expliquerait pas. Techniquement, le problème ici est que vous supposez que vous avez un bon échantillon pour par exemple , mais votre distribution est biaisée.Eb[f(b,m)]b

Bien sûr, vos données ne seront pas si mauvaises, mais selon la structure de la ligue ou autre, cela pourrait avoir certains éléments de ce problème.


Vous pouvez essayer de le contourner avec une approche différente. Le modèle proposé pour est en fait une instance de modèles de factorisation matricielle de bas rang communs dans le filtrage collaboratif , comme dans le problème Netflix . Là, vous choisissez la fonction et comme étant de dimension , et vous représentez . Vous pouvez interpréter comme complexifiant votre modèle d'un score de «qualité» unique à des scores selon plusieurs dimensions: peut-être que certains quilleurs réussissent mieux contre certains types de batteurs. (Cela a été fait par exemple pour les matchs de la NBA .)fg(b)h(m)rf(b,m)=g(b)Th(m)r>1

La raison pour laquelle ils sont appelés factorisation matricielle est que si vous créez une matrice avec autant de lignes que de quilleurs et autant de colonnes que de batteurs, vous pouvez l'écrire commeF

[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
où vous avez factorisé une matrice en une one et une one .N×MFN×rGM×rH

Bien sûr, vous ne pouvez pas observer directementLe modèle habituel consiste à observer au hasard des entrées bruyantes de ; dans votre cas, vous obtenez d'observer un tirage au sort d'une distribution binomiale avec un nombre aléatoire d'essais pour chaque entrée de .FFF

Vous pouvez construire un modèle de probabilité comme, par exemple:

GikN(0,σG2)HjkN(0,σH2)Fij=GiTHjRijBinomial(nij,Fij)
où les et sont observés, et vous mettriez probablement des hyperpriors sur / et feriez une inférence par exemple dans Stan .nijRijσGσH

Ce n'est pas un modèle parfait: d'une part, il ignore que est corrélé aux scores (comme je l'ai mentionné dans la première section), et plus important encore, il ne contraint pas à être dans (vous utiliseriez probablement un sigmoïde logistique ou similaire pour y parvenir). Un article connexe, avec des a priori plus complexes pour et (mais qui n'utilise pas la vraisemblance binomiale) est: Salakhutdinov et Mnih, factorisation de la matrice probabiliste bayésienne utilisant la chaîne de Markov Monte Carlo , ICML 2008. ( doi / pdf de l'auteur )F i j [ 0 , 1 ] G HnFij[0,1]GH

Dougal
la source
1
@Ravi Cela a été long, probablement pas clairement expliqué, et je ne connais pas votre niveau d'expérience avec ce genre de problèmes. Mais n'hésitez pas à poser des questions sur les parties qui ne sont pas claires. De plus, comme vos données sont individuelles, vous pouvez également envisager d'utiliser disons Elo .
Dougal
Merci d'avoir pris le temps d'écrire cette réponse de très haute qualité. Certes, je ne connais que les statistiques de base en ce moment, donc beaucoup de ces informations sont nouvelles pour moi. Cependant, cela me montre très clairement sur quoi lire pour comprendre ce problème correctement, ce qui est exactement ce que je voulais. J'espère qu'après quelques jours (ou années!) D'étude, je pourrai mieux comprendre votre réponse.
Ravi
Je vous remercie. J'avais une question à propos d'Elo. Comme c'est assez long, j'ai ouvert une nouvelle question [ici] :( stats.stackexchange.com/questions/230518/… )
Ravi
0

Vous ne pouvez pas déduire la probabilité correcte que B sera absent étant donné que A est le lanceur si A et B ne se sont jamais rencontrés sur le terrain uniquement en fonction de leurs moyennes avec les autres joueurs.

oW_
la source
3
Bien que vous ayez peut-être raison sur le cricket, la capacité des systèmes de notation dans d'autres jeux d'adresse comme les échecs de prédire les résultats des matchs entre des personnes qui n'ont jamais participé suggère le contraire.
whuber
2
@whuber Agreed - Je pense que ce sera à peu près aussi vrai pour le cricket que presque toute autre interaction compétitive. Le cricket n'est pas si différent.
Glen_b -Reinstate Monica