Análisis de datos play by play de la NBA
El baloncesto es un deporte muy dinámico, las estrategias de los equipos consisten en evitar que el contrincante consiga anotar puntos, pero también lograr conseguir puntos dentro de un tiempo reglamentario, en la NBA este tiempo es de 24 segundos. Al igual que el fútbol, el balón debe ser conducido hasta lograr alcanzar la meta (atravesar una canasta a 3,05m de altura y obtener puntos). Ganará el equipo que en 48 minutos (dividido en 4 partes iguales) alcance la mayor cantidad de puntos. Entre una acción defensiva y la ofensiva se gestan eventos que son registrados en el momento que ocurre cada uno de ellos, este registro dentro de la era moderna de la data de la NBA, recibe el nombre de play by play. Este trabajo consiste en recuperar datos de muchos encuentros de la NBA para así evaluar algunos aspectos ofensivos del juego como lo es la dinámica previa a cada canasta, condicionado a: i) la pérdida (o recuperación) de un balón y ii) lograr un rebote defensivo. Del mismo modo, se evaluará la evolución de la diferencia de puntos en los encuentros; con ello analizar un modelo estocástico que describa su dinámica. Una API nos permitirá extraer los datos play by play de cada juego en varias temporadas para luego procesarlos y analizarlos.
https://www.sciencedirect.com/science/article/abs/pii/S0378437120308426
https://github.com/swar/nba_api/blob/master/docs/examples/PlayByPlay.ipynb
https://jman4190.medium.com/how-to-accessing-live-nba-play-by-play-data-f24e02b0a976
Objetivos:
Analizar el tiempo de transición hasta lograr una canasta, tomando como inicio: i)el robo de un balón, ii) el bloqueo y iii) el rebote ofensivo.
METODOLOGÍA:
- Recuperar la data de las acciones pbp.
- Identificar las acciones de interés, o acción disparadora: i)robo (steal, turnover-badpass),ii) bloqueo y iii) rebote defensivo)
- Generar un nuevo dataframe con cabeceras:
- game_id,
- tiempo _de_transición,
- acción_disparadora,
- sección temporal del juego (cuarto),
- clock,
- equipo_ofensivo,
- equipo_defensivo,
- diferencia_de_puntos
- Repetir para todos los juegos de la temporada.
- Realizar estadístico descriptivo (de la temporada) del tiempo_de_transición para el juego completo y los distintos cuartos del juego:
- obtener media, max, min, 1er Cuartil, 2do Quartil, 3er Cuartil
- Evaluar los factores:
- acción_disparadora,
- cuarto,
- equipo_ofensivo,
- equipo_defensivo,
- diferencia_de_puntos
Analizar los empates y cambios de liderazgo en el juego.
METODOLOGÍA
- Recuperar la data de las acciones pbp
- Identificar: i) los cambios de liderazgo y ii) los empates
- Generar un nuevo dataframe con las cabeceras:
- game_id
- cuarto,
- clock,
- equipo ofensivo
- equipo defensivo
- cambio (S/N)
- empate (S/N)
- diferencia de puntos
- Repetir para todos lo juego de la temporada.
- Realizar el análisis para obtener las proporciones de juegos según el números de cambios de liderazgo que ocurre en él (gráficar) (ver figura 2 de este trabajo , ver figura 2 de este otro). Evaluar el factor cuarto de juego
- Realizar el análisis para obtener la gráfica Nro de empates en las distintas instancias del juego (ver figura 2 de este trabajo)
Notas finales:
- El interesado debe tener capacidad de extraer y analizar alto volúmenes de datos con lenguajes especializados (de preferencia python). Están invitados estudiantes de ciencias (física o matemáticas) o estudiantes de ingeniería.
- El cronograma y otros aspectos metodológicos se discutirán en entrevista personal.