Venciendo corredores de apuestas con Machine Learning

0
Beating the Bookies with Machine Learning

Por Richard Bartels científico de datos en Vantage AI .

“El comerciante siempre gana” es un dicho típico en el juego. Refleja el hecho de que en la mayoría de los juegos de azar la casa (por ejemplo, el casino o la casa de apuestas) tiene una ventaja estadística. En otras palabras, asumiendo que la cantidad apostada es 1, la casa tiene un rendimiento esperado mayor que 1, en contraste con el jugador que tiene un rendimiento esperado menor que 1. Por lo tanto, si visita el casino, lo más probable es que obtenga una ganancia neta. pérdida a largo plazo.

Las apuestas deportivas no son diferentes. Tanto el apostador como el corredor de apuestas pueden ser igualmente hábiles para predecir el resultado de un partido, sin embargo, el corredor de apuestas establece las reglas de la apuesta y, por lo tanto, se garantiza una ganancia a largo plazo. La forma en que lo hacen es mediante el control de lo que se llama el pago.

Aquí hay un ejemplo rápido. Tomemos dos jugadores de dardos que tienen la misma habilidad y, por lo tanto, objetivamente, ambos tendrían un 50% de posibilidades de ganar un juego de cabeza a cabeza. El corredor de apuestas puede establecer las probabilidades, que definiremos como O₁ y O₂ para los jugadores 1 y 2, respectivamente. Para este juego en particular, O₁ = O₂ = 1.90 sería una probabilidad razonable. Lo que significa que por cada apuesta de $ 1 usted recibe $ 1.90 si gana. Pero, ¿cuál es el valor esperado de su devolución, X? Bueno, si apuesta $ 1 en una victoria para el jugador 1, su rendimiento esperado para este juego es (recuerde que la probabilidad de ganar para cada jugador es del 50%):

Entonces, a la larga, cada dólar Pasó los resultados en 95 centavos de retorno, ¡y perderá! Es decir. el “pago” que el corredor de apuestas establece para este juego es del 95%, lo que significa que el corredor de apuestas esperará obtener un beneficio del 5% sobre todas las apuestas, asumiendo que evaluaron las probabilidades de ganar correctamente. Así que vemos que las probabilidades del conjunto de la casa de apuestas no son justas, las probabilidades justas habrían sido O₁ = O₂ = 2.0. Tenga en cuenta que estas probabilidades también corresponden a probabilites ganadores iguales para cada jugador, es decir, P₁ = O₂ / (O₁ + O₂) = 0.5 y P₂ = O₁ / (O₁ + O₂) = 0.5.

En el resto de esta publicación del blog se centrará en el juego específico de dardos, donde los juegos son directos y los resultados dependen en gran medida de las habilidades de los jugadores. Sin embargo, la discusión también se generaliza a otros deportes.

Crédito de imagen: http://www.1zoom.me/en/wallpaper/517285/z7641.3/ .

Cómo ganarle a la casa de apuestas

Lo que hemos visto anteriormente es que las casas de apuestas obtienen ganancias al controlar el pago. Para ello tienen que establecer las probabilidades en consecuencia. Para esto, necesitan conocer las probabilidades. Un corredor de apuestas omnisciente que obtiene todas las probabilidades en el punto no puede ser derrotado (a largo plazo). Pero los corredores de apuestas no son omniscientes y, por lo tanto, hay dos maneras de vencerlos, simplemente basándose en estimar mejor las probabilidades.

  1. Si evalúa las probabilidades con mayor probabilidad que el corredor de apuestas, por un margen tal que compense el margen de maniobra que han incorporado en el pago.
  2. Si solo apuestas en los juegos en los que sabes que el corredor de apuestas cometió un error y las probabilidades son ‘justas’.

De hecho, la estrategia 1 es solo una versión específica de la estrategia 2 Sin embargo, incluso si logras predecir cada juego con mayor precisión que los corredores de apuestas, es poco probable que obtengas ganancias, ya que los corredores de apuestas están muy cerca de acertar en las probabilidades. Esto se puede ver en la Fig. 1, que muestra que los corredores de apuestas hacen un buen trabajo al estimar correctamente las probabilidades para los dardos.

Fig. 1: Probabilidad de ganancia derivada de las probabilidades del corredor de apuestas en comparación con la proporción de ganancias observada (línea azul) para casi 3700 juegos de dardos. La línea negra discontinua corresponde a ser capaz de predecir las probabilidades perfectamente para un número infinito de juegos. Las bandas de color gris oscuro (claro) son los intervalos del 68% (95%) del ruido intrínseco debido al tamaño limitado de la muestra. Dado que la línea azul se mantiene bastante bien dentro de las bandas grises. Parece que los corredores de apuestas saben lo que están haciendo.

Fig. Ilustro que las casas de apuestas evalúan las probabilidades en una gran muestra de juegos. Pero todavía podrían estar equivocados en una serie de juegos individuales. La estrategia 2, como se describe anteriormente, se basa en identificar dónde los corredores de apuestas juzgan mal la probabilidad real. Por ejemplo, en el evento poco realista donde el corredor de apuestas ofrecería probabilidades iguales, por ejemplo. O₁ = O₂ = 1.90, en un partido entre el actual campeón del mundo Michael van Gerwen contra el número 94 del mundo, nuestra intuición ya nos dice que probablemente podamos obtener un beneficio apostando por van Gerwen. El objetivo es identificar todos estos juegos. Sin embargo, como la mayoría de las veces no es fácil saber cuándo están equivocados los corredores de apuestas, podemos intentar que un algoritmo de aprendizaje automático (ML) haga esto por nosotros.

Apostando en dardos con la ayuda de ML [19659009] Para el propósito de este proyecto, utilizamos estadísticas de dardos, que incluyen características como promedios, porcentajes de pago, número de 180 (puntaje máximo con 3 dardos) y estadísticas de cabeza a cabeza. Además, utilizamos las probabilidades históricas para evaluar si este modelo podría haber obtenido ganancias.

Primero, para motivar aún más nuestras tácticas de apostar solo en una selección de juegos, consideremos las precisiones de referencia. Si siempre apostáramos al jugador con la mayor posibilidad de ganar, según las casas de apuestas, lograremos una precisión del 70%. La construcción de una calificación de habilidad basada únicamente en los resultados de los partidos alcanza el 69% de precisión en los mismos datos. Al entrenar un modelo de aprendizaje automático, como un bosque aleatorio, un árbol reforzado o una red neuronal totalmente conectada con características cuidadosamente construidas y optimizadas en una función de pérdida de entropía de cruce binario, también obtuvimos una precisión del 70%. Claramente, no estamos superando a los corredores de apuestas, por lo que hay pocas posibilidades de obtener ganancias.

Una función de pérdida personalizada

La función de pérdida de entropía de cruce binario optimiza nuestra capacidad de predecir el resultado de los juegos correctamente, es decir, optimiza el Precisión con la que predecimos los juegos. Sin embargo, ese no es nuestro objetivo. Lo que queremos es identificar los juegos en los que el corredor de apuestas juzga mal la probabilidad real y, por lo tanto, ofrece probabilidades favorables. Es decir. Queremos optimizar nuestro retorno de la inversión. A continuación se muestra una función de pérdida construida para hacer exactamente esto.

La función de pérdida personalizada contiene dos elementos, los términos entre corchetes son los retornos si apostamos $ 1, – en el jugador 1 o 2, respectivamente. Tenga en cuenta que esto depende del resultado del juego (yᵢ), si nos equivocamos, perderemos nuestro dinero. La función ReLu contiene nuestra estrategia de apuestas. Tiene la propiedad de que Relu (x) = 0 cuando x ≤ 0 y Relu (x) = x de lo contrario. El argumento es nuestro rendimiento esperado: las probabilidades multiplicadas por nuestra probabilidad de ganancia estimada menos 1. Dadas las propiedades de la función ReLu, esto significa que solo es mayor que 0 si creemos que las probabilidades son favorables para nosotros. En otras palabras, si nuestro modelo cree que las probabilidades son injustas, no apostará ningún dinero. Por otro lado, cuanto más favorables aparezcan las probabilidades, mayor será la cantidad que apostará el modelo.

Esta función de pérdida asegura que lo que estamos optimizando no es qué tan bien podemos predecir el resultado de un juego, sino más bien nuestras ganancias. . Tenga en cuenta que, como consecuencia de nuestra función de pérdida personalizada, las probabilidades pronosticadas no son representativas de las verdaderas probabilidades, ya que cuando el modelo cree que las casas de apuestas están fuera de juego, las probabilidades se acercarán a los extremos (0 o 1) para apostar más.

Entonces, ¿cómo funciona?

Para probar el rendimiento de nuestro modelo, construimos una red neuronal densamente conectada con dos capas ocultas. La capa final es una capa sigmoidea que predice la probabilidad de que el jugador 1 gane. Usando las probabilidades de la casa de apuestas y el resultado del juego, calculamos la pérdida con la función de pérdida personalizada descrita anteriormente. Todo esto se implementó en PyTorch .

Dado que se trata de una serie de tiempo, el modelo se entrena en datos históricos hasta un punto determinado y se aplica posteriormente a los siguientes 50 juegos. Este proceso se repite para los siguientes 50 juegos, etc. Los resultados se muestran en la Fig. 2.

Fig. 2: Ganancias acumuladas a lo largo del tiempo para dos estrategias de apuestas diferentes. Los puntos rojos son para una estrategia en la que siempre apostamos una cantidad fija al jugador con la mayor probabilidad de ganar de acuerdo con las probabilidades de la casa de apuestas. A largo plazo, esto resulta en una pérdida de ~ 5%, correspondiente al esquema de pago de la casa de apuestas. Los puntos verdes son apuestas realizadas por nuestro modelo de aprendizaje automático. Solo coloca una apuesta cuando espera obtener una ganancia. La ganancia total fluctúa alrededor de 0. Sin embargo, también hay algunas ganancias importantes, que compensan en exceso las grandes pérdidas. En este caso particular, obtuvimos una ganancia de alrededor del 10%.

Nuestro modelo logró obtener una ganancia, aunque con grandes fluctuaciones a lo largo del tiempo. Sufrió algunas pérdidas importantes, pero también obtuvo algunas ganancias importantes que compensaron las pérdidas. Al final, el retorno de la inversión fue de alrededor del 10%. Como punto de referencia, adoptamos una estrategia en la que siempre apostamos al jugador que es más probable que gane según el corredor de apuestas (que no sería muy diferente de un modelo en el que optimizamos el uso de la entropía cruzada binaria para predecir el ganador). Como las probabilidades son injustas, en el largo plazo obtenemos una pérdida de alrededor del 5%.

En resumen

  • Las casas de apuestas obtienen ganancias al controlar el pago.
  • Para los dardos, tienden a ser buenos para evaluar el Probabilidades ganadoras. Esto dificulta la obtención de beneficios al solo predecir el resultado de los juegos de dardos.
  • Un modelo de aprendizaje automático con una función de pérdida personalizada, con el objetivo de identificar deficiencias en las probabilidades de apuestas y obtener ganancias, en lugar de optimizar la precisión de predecir al ganador correctamente: puede proporcionar una estrategia de apuestas rentable.
  • El retorno de la inversión en un momento dado está sujeto a grandes fluctuaciones y las ganancias solo se pueden esperar durante largos períodos de tiempo.
  • El modelo presentado no es de ninguna manera Una máquina con fines de lucro garantizada. En su lugar, sirve como una prueba de concepto que describe cómo configurar el modelo de aprendizaje automático para vencer a la casa de apuestas.

Agradecimientos

Gracias a Guido Tournois con quien colaboré en este proyecto.

Bio : Richard Bartels es un científico de datos en Vantage AI, una consultora de ciencia de datos en los Países Bajos. Si necesita ayuda para crear modelos de aprendizaje automático para sus datos, no dude en contactarnos en info@vantage-ai.com .

Original . Publicado de nuevo con permiso.

Recursos:

Relacionados:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *