Prediciendo los salarios de la NBA con Aprendizaje Automático

Predicción salarios NBA con Aprendizaje Automático

Construyendo un modelo de aprendizaje automático con Python para predecir los salarios de la NBA y analizar las variables más impactantes

(Foto de Emanuel Ekström en Unsplash)

La NBA se destaca como una de las ligas más lucrativas y competitivas en el deporte. En los últimos años, los salarios de los jugadores de la NBA han seguido una tendencia ascendente, pero detrás de cada impresionante clavada y tiro de tres puntos se encuentra una compleja red de factores que determinan estos salarios.

Desde el rendimiento del jugador y el éxito del equipo hasta la demanda del mercado y los contratos de patrocinio, numerosas variables entran en juego. ¿Quién no se ha preguntado por qué su equipo gastó tanto en un jugador que no rindió, o se ha maravillado ante la estrategia detrás de un acuerdo especialmente exitoso?

En este artículo, utilizamos las capacidades del aprendizaje automático con Python para predecir los salarios de la NBA y descubrir los factores cruciales con mayor impacto en las ganancias de los jugadores.

Todo el código y los datos utilizados están disponibles en GitHub.

Comprendiendo el problema

Antes de adentrarnos en el problema, es esencial comprender los fundamentos del sistema salarial de la liga. Cuando un jugador está disponible en el mercado para firmar un contrato con cualquier equipo, se le conoce como agente libre (FA), un término que se utilizará mucho en este proyecto.

La NBA opera bajo un conjunto complejo de reglas y regulaciones que buscan mantener un equilibrio competitivo entre los equipos. Dos conceptos clave están en el centro de este sistema: el tope salarial y el impuesto de lujo.

El tope salarial sirve como límite de gasto, restringiendo cuánto puede gastar un equipo en salarios de jugadores en una temporada determinada. El tope salarial está determinado por los ingresos de la liga, y se actualiza cada año para garantizar que los equipos operen dentro de un marco financiero razonable. También tiene la intención de evitar que los equipos de mercados grandes gasten significativamente más que los equipos de mercados más pequeños, promoviendo la paridad entre las franquicias.

La distribución del tope salarial entre los jugadores puede variar, con salarios máximos para jugadores de primer nivel y salarios mínimos para novatos y veteranos.

Sin embargo, no es raro exceder el tope salarial, especialmente para equipos que buscan construir rosters contendientes al campeonato. Cuando un equipo supera el tope salarial, entra en el ámbito del impuesto de lujo. El impuesto de lujo impone una penalización a los equipos que gastan por encima de un umbral determinado, desalentando el gasto excesivo de los equipos y proporcionando ingresos adicionales para la liga.

Existen muchas otras reglas que actúan como excepciones, como la excepción de nivel medio (MLE) y la excepción de intercambio que permiten a los equipos hacer movimientos estratégicos en su plantilla, pero para este proyecto el conocimiento del tope salarial y el impuesto de lujo es suficiente.

Evolución del Tope Salarial de la NBA desde 1984 hasta 2023 (Imagen del Autor)

Debido a este continuo crecimiento del tope salarial, el enfoque seleccionado será utilizar el porcentaje del tope salarial como objetivo en lugar del monto del salario en sí. Esta decisión tiene como objetivo incorporar la naturaleza cambiante del tope salarial, asegurando que el resultado no se vea afectado por cambios temporales y siga siendo aplicable incluso al evaluar temporadas históricas. Sin embargo, cabe destacar que esto no es perfecto y solo es una aproximación.

Datos

Para este proyecto, el objetivo es predecir los salarios de los jugadores que firmarán un nuevo contrato la próxima temporada utilizando datos solo de la temporada anterior.

Las estadísticas individuales utilizadas fueron:

  • Estadísticas promedio por partido
  • Estadísticas totales
  • Estadísticas avanzadas
  • Variables individuales: edad, posición
  • Variables relacionadas con el salario: salario de la temporada anterior, tope salarial máximo de la temporada anterior y actual, y el % del tope salarial de ese salario.
Distribución salarial para la temporada 2022-23 (Imagen por el autor)

Dado que no conocemos el equipo para el que el jugador firmará, solo se incluyeron características individuales.

En total, este estudio tenía 78 características para cada jugador, además del objetivo.

La mayor parte de los datos se obtuvieron utilizando BRScraper, un reciente paquete de Python creado por mí que permite el web scraping y fácil acceso a datos de baloncesto de Basketball Reference, incluyendo la NBA, la G League y otras ligas internacionales. Se siguieron todas las pautas relacionadas con evitar causar daño al sitio web o impedir su rendimiento.

Tratamiento de datos

Un aspecto interesante a considerar es la selección de jugadores para el entrenamiento de los modelos. Inicialmente, seleccioné todos los jugadores disponibles, sin embargo, la mayoría de ellos ya estarían bajo contrato y, en este caso, el valor del salario no cambia drásticamente.

Por ejemplo, imagina si un jugador firma por $20M por 4 años. Recibe aproximadamente $5M por año (muy raramente todos los años tienen el mismo valor exacto, generalmente hay una cierta progresión en el salario alrededor de $5M). Sin embargo, cuando un agente libre firma un nuevo contrato, el valor puede cambiar mucho más drásticamente.

Esto significa que entrenar un modelo con todos los jugadores disponibles puede resultar en un mejor rendimiento en general (¡después de todo, la mayoría de los jugadores tendrían un salario muy cercano al último!), pero al evaluar solo agentes libres, el rendimiento sería significativamente peor.

Dado que el objetivo es predecir el salario de un jugador que firma un nuevo contrato, solo este tipo de jugador debe estar en los datos, para que el modelo pueda entender mejor cuáles son los patrones entre estos jugadores.

La temporada de interés es la temporada 2023-24 que se avecina, pero se utilizarán datos desde 2020-21 en adelante para aumentar el número de muestras, lo cual es posible debido a la elección del objetivo. No se utilizaron temporadas antiguas debido a la falta de datos de los agentes libres.

Esto deja 426 jugadores en las tres temporadas seleccionadas, siendo 84 agentes libres de 2023-24.

Modelado

La división de entrenamiento-prueba se diseñó de manera que todos los agentes libres de 2023-24 se incluyeran exclusivamente en el conjunto de prueba, manteniendo una división aproximada de 70/30.

Inicialmente, se utilizaron varios modelos de regresión:

  • Máquinas de Vectores de Soporte (SVM)
  • Elastic Net
  • Random Forest
  • AdaBoost
  • Gradient Boosting
  • Light Gradient Boosting Machine (LGBM)

El rendimiento de cada uno de ellos se evaluó utilizando el error cuadrático medio (RMSE) y el coeficiente de determinación ().

Puedes encontrar la fórmula y explicación de cada métrica en mi artículo anterior, Predicción del MVP de la NBA con Aprendizaje Automático.

Predicción del MVP de la NBA con Aprendizaje Automático

Construcción de un modelo de aprendizaje automático para predecir el MVP de la NBA y analizar las variables más impactantes.

towardsdatascience.com

Resultados

Al observar el conjunto de datos completo con todas las temporadas, se obtuvieron los siguientes resultados:

Valores de RMSE y R² obtenidos entre los diferentes modelos (Imagen por el autor)

Los modelos tuvieron un buen rendimiento en general, con Random Forest y Gradient Boosting obteniendo el RMSE más bajo y el R² más alto, mientras que AdaBoost tuvo las métricas más bajas entre los modelos utilizados.

Análisis de Variables

Un enfoque efectivo para visualizar las variables clave que influyen en las predicciones del modelo es a través de Valores SHAP, una técnica que proporciona una explicación razonable de cómo cada característica afecta las predicciones del modelo.

Nuevamente, se puede encontrar una explicación más profunda sobre SHAP y cómo interpretar su gráfico en Prediciendo al MVP de la NBA con Aprendizaje Automático.

Gráfico SHAP relacionado con el modelo Random Forest (Imagen del autor)

Podemos sacar algunas conclusiones importantes de este gráfico:

  • Minutos por juego (MP) y puntos (PTS) por juego y en total son las tres características más impactantes.
  • Salario de la temporada anterior (Salario S-1) y % del Tope Salarial de ese salario (% Tope S-1) también son muy impactantes, ocupando el 4º y 5º lugar respectivamente.
  • Estadísticas avanzadas no son predominantes entre las características más importantes, solo aparecen dos en la lista, WS (Ganancias de Victorias) y VORP (Valor sobre el Jugador de Reemplazo).

Este es un resultado muy sorprendente, ya que a diferencia del proyecto MVP, donde las estadísticas avanzadas dominaban el resultado final de SHAP, los salarios de los jugadores parecen estar mucho más relacionados con estadísticas comunes como minutos, puntos y partidos jugados.

Esto es sorprendente porque la mayoría de las estadísticas avanzadas fueron diseñadas precisamente con el objetivo de evaluar mejor el rendimiento de un jugador. La ausencia de PER (Índice de Eficiencia del Jugador) entre los primeros 20 (aparece en el puesto 43) es particularmente llamativa.

Esto plantea la posibilidad de que durante las negociaciones salariales, los gerentes generales puedan adherirse a un enfoque relativamente más simple, pasando por alto el amplio espectro de métricas de evaluación de rendimiento.

¡Quizás el problema no sea tan complejo después de todo! ¡Simplificando, el jugador que juega más minutos y anota más puntos gana más!

Resultados Adicionales

Centrándonos en los agentes libres de este año y comparando sus predicciones con el salario real:

Principales resultados del modelo Random Forest para la temporada 2023-24 (valores en millones) (Imagen del autor)

En la parte superior tenemos a los cinco jugadores que parecen estar subvaluados (recibiendo menos de lo que deberían), en el medio cinco jugadores valuados correctamente y en la parte inferior los cinco jugadores que están sobrevaluados (recibiendo más de lo que deberían). Es importante tener en cuenta que estas evaluaciones se basan únicamente en las salidas del modelo.

Comenzando desde la parte superior, el ex MVP Russell Westbrook es el jugador subvaluado más según el modelo, lo cual, en mi opinión, es un hecho, ya que firmó un contrato de ~$4M/año con los Clippers. Eric Gordon, Mason Plumlee y Malik Beasley también se encuentran en una situación similar, ganando contratos muy pequeños con buen rendimiento. D’Angelo Russell también aparece en este top cinco a pesar de ganar un salario de $17M/año, lo que indica que debería ganar aún más.

Es interesante destacar que todos estos jugadores firmaron con equipos contendientes (Clippers, Suns, Bucks y Lakers). Este es un comportamiento conocido donde los jugadores eligen ganar menos para tener la oportunidad de jugar en un equipo que pueda ganar el título.

En el medio, Taurean Prince, Orlando Robinson, Kevin Knox y Derrick Rose todos ganan salarios pequeños que parecen ser adecuados. Caris LeVert gana $15M/año, pero también parece valer exactamente eso.

En la parte inferior, Fred VanVleet fue designado como el jugador más sobrevalorado. Los Rockets, que operan como un equipo en reconstrucción, hicieron un movimiento notable con su nuevo contrato de tres años valorado en $128.5M. También ficharon a Dillon Brooks por un valor más alto de lo esperado.

Khris Middleton firmó una gran extensión este verano. A pesar de ser un equipo contendiente, los Bucks pertenecen a un mercado no principal y no pueden permitirse perder a uno de sus mejores jugadores. Draymond Green y Cameron Johnson tienen situaciones similares en sus respectivos equipos.

Conclusiones

Predecir resultados en deportes siempre es desafiante. Desde la elección del objetivo hasta la selección de jugadores, este proyecto resultó ser más complejo de lo esperado. Sin embargo, el resultado resultó ser bastante simple y los resultados obtenidos fueron muy satisfactorios.

Ciertamente, hay múltiples formas en las que se pueden mejorar, una de ellas es el uso de técnicas de selección de características o reducción de dimensionalidad para reducir el espacio de características y, por lo tanto, la varianza.

Además, tener acceso a los agentes libres de temporadas anteriores también permitiría aumentar el número de muestras. Sin embargo, esos datos no parecen estar públicamente accesibles en este momento.

Muchas otras variables externas también tienen influencia en este asunto. Por ejemplo, no hay duda de que si de alguna manera se conociera el equipo, variables como la posición del año pasado, el resultado de los playoffs y el porcentaje de salario ya utilizado podrían ser realmente informativas. Sin embargo, mantener el enfoque que refleja las circunstancias de un escenario real de agente libre donde el equipo es desconocido puede potencialmente producir un resultado que se alinee más estrechamente con el “valor real” del jugador, independientemente del contexto del equipo que lo contrata.

Una de las principales premisas de este proyecto fue el uso solo de datos de la temporada anterior para predecir el próximo salario. La incorporación de estadísticas de temporadas anteriores podría, de hecho, producir resultados mejorados, dado que el rendimiento histórico de un jugador puede ofrecer ideas valiosas. Sin embargo, la naturaleza expansiva de dichos datos requeriría una cuidadosa selección de características para manejar la complejidad y alta dimensionalidad.

Nuevamente, todo el código y los datos utilizados están disponibles en GitHub.

(Foto de Marius Christensen en Unsplash)

Siempre estoy disponible en mis canales (LinkedIn y GitHub).

¡Gracias por su atención!👏

Gabriel Speranza Pastorello