Desarrollo de un sistema de información para análisis de datos de resultados de la Fórmula Uno

Este proyecto tiene como objetivo conseguir una aplicación que permita predecir con un modelo de Aprendizaje Automático basado en regresión y supervisado qué tipo de neumáticos usar en cada situación de una carrera de Formula 1, dependiendo de distintos factores que debe aportar el usuario Para conseguirlo, se ha realizado una investigación y recopilación de datos de resultados de Fórmula 1, así como un análisis del rendimiento de los neumáticos. Se llevó a cabo una revisión exhaustiva de la literatura en relación con la Fórmula 1, incluyendo artículos académicos, informes técnicos y publicaciones de la industria. Se examinó también la normativa vigente relacionada con los neumáticos y los cambios en la misma desde 2011. Esto ha determinado la acotación del estudio sobre el uso de distintos tipos neumáticos en competición, realizándose con datos desde 2011 hasta 2022, para poder trabajar bajo una misma normativa. Para la adquisición de datos, se identificaron diversas fuentes relevantes sobre la Fórmula 1 y el rendimiento de los neumáticos, como la página oficial de la Fórmula1, Motorsport Stats y RaceFans. Tras evaluar la calidad y confiabilidad de estas fuentes, se seleccionaron aquellas tablas que proporcionan información detallada y actualizada sobre resultados de carreras, tiempos de vuelta, datos de pilotos, escuderías, neumáticos y datos atmosféricos. Posteriormente, se estudiaron y aplicaron distintas técnicas de web scraping tras analizar la estructura del código HTML de páginas web, para identificar y extraer datos relevantes de las tablas de resultados disponibles en las fuentes seleccionadas. Una vez obtenidas las distintas tablas, heterogéneas, se diseñó y se llevó a cabo la consolidación de todos los datos en una única tabla, que posteriormente se depuró y preparó para poder aplicar un modelo de regresión. Tras evaluar los distintos modelos predictivos basados en regresión, se determinó que el Random Forest Regressor, resulta ser el que mejor generaliza, para poder hacer una predicción lo más ajustada a la realidad. Finalmente, se ha diseñado e implementado una interfaz web, en la que el usuario podrá introducir fácilmente los datos requeridos, y así obtener una predicción ajustada a esas características. En el desarrollo se ha usado Python, la librería BeautifulSoup, así como Selenium para la extracción de datos de páginas web y su almacenamiento en base de datos MySQL, y para el análisis de modelos y el entrenamiento, las librerías Scikit-Learn y Pandas. Finalmente se ha usado Streamlit para la puesta en producción del motor de predicción con interfaz Web. En resumen, se ha obtenido una aplicación que permite, para una prueba de Formula 1 predecir, con un alto grado de fiabilidad la duración estimada de los distintos tipos de neumáticos a partir de unas determinadas condiciones de carrera aportadas por el usuario.
ABSTRACT
The aim of this project is to achieve an application that allows predicting with a regression-based and supervised Machine Learning model which type of tyres to use in each situation of a Formula 1 race, depending on different factors to be provided by the user. To achieve this, a research and data collection of Formula 1 results as well as an analysis of tyre performance has been carried out. A comprehensive literature review was carried out in relation to Formula 1, including academic articles, technical reports and industry publications. The current tyre-related regulations and changes to them since 2011 were also examined. This has determined the narrowing of the study on the use of different tyre types in competition, with data from 2011 to 2022, in order to work under one set of regulations. For data acquisition, several relevant sources on Formula 1 and tyre performance were identified, such as the official Formula 1 website, Motorsport Stats and RaceFans. After assessing the quality and reliability of these sources, those tables that provide detailed and up-to-date information on race results, lap times, driver, team, tyre and atmospheric data were selected. Subsequently, different web scraping techniques were studied and applied after analysing the structure of the HTML code of web pages, in order to identify and extract relevant data from the results tables available in the selected sources. Once the different heterogeneous tables had been obtained, all the data was designed and consolidated into a single table, which was then cleaned and prepared for the application of a regression model. After evaluating the different predictive models based on regression, it was determined that the Random Forest Regressor is the one that best generalises, in order to make a prediction as close to reality as possible. Finally, a web interface has been designed and implemented, in which the user can easily enter the required data, and thus obtain a prediction adjusted to these characteristics. Python, the BeautifulSoup library, as well as Selenium for the extraction of data from web pages and their storage in a MySQL database, and for the analysis of models and training, the Scikit-Learn and Pandas libraries have been used in the development. Finally, Streamlit has been used for the production of the prediction engine with a Web interface. In summary, we have obtained an application that allows, for a Formula 1 race, to predict, with a high degree of reliability, the estimated duration of the different types of tyres based on certain race conditions provided by the user.

​Este proyecto tiene como objetivo conseguir una aplicación que permita predecir con un modelo de Aprendizaje Automático basado en regresión y supervisado qué tipo de neumáticos usar en cada situación de una carrera de Formula 1, dependiendo de distintos factores que debe aportar el usuario Para conseguirlo, se ha realizado una investigación y recopilación de datos de resultados de Fórmula 1, así como un análisis del rendimiento de los neumáticos. Se llevó a cabo una revisión exhaustiva de la literatura en relación con la Fórmula 1, incluyendo artículos académicos, informes técnicos y publicaciones de la industria. Se examinó también la normativa vigente relacionada con los neumáticos y los cambios en la misma desde 2011. Esto ha determinado la acotación del estudio sobre el uso de distintos tipos neumáticos en competición, realizándose con datos desde 2011 hasta 2022, para poder trabajar bajo una misma normativa. Para la adquisición de datos, se identificaron diversas fuentes relevantes sobre la Fórmula 1 y el rendimiento de los neumáticos, como la página oficial de la Fórmula1, Motorsport Stats y RaceFans. Tras evaluar la calidad y confiabilidad de estas fuentes, se seleccionaron aquellas tablas que proporcionan información detallada y actualizada sobre resultados de carreras, tiempos de vuelta, datos de pilotos, escuderías, neumáticos y datos atmosféricos. Posteriormente, se estudiaron y aplicaron distintas técnicas de web scraping tras analizar la estructura del código HTML de páginas web, para identificar y extraer datos relevantes de las tablas de resultados disponibles en las fuentes seleccionadas. Una vez obtenidas las distintas tablas, heterogéneas, se diseñó y se llevó a cabo la consolidación de todos los datos en una única tabla, que posteriormente se depuró y preparó para poder aplicar un modelo de regresión. Tras evaluar los distintos modelos predictivos basados en regresión, se determinó que el Random Forest Regressor, resulta ser el que mejor generaliza, para poder hacer una predicción lo más ajustada a la realidad. Finalmente, se ha diseñado e implementado una interfaz web, en la que el usuario podrá introducir fácilmente los datos requeridos, y así obtener una predicción ajustada a esas características. En el desarrollo se ha usado Python, la librería BeautifulSoup, así como Selenium para la extracción de datos de páginas web y su almacenamiento en base de datos MySQL, y para el análisis de modelos y el entrenamiento, las librerías Scikit-Learn y Pandas. Finalmente se ha usado Streamlit para la puesta en producción del motor de predicción con interfaz Web. En resumen, se ha obtenido una aplicación que permite, para una prueba de Formula 1 predecir, con un alto grado de fiabilidad la duración estimada de los distintos tipos de neumáticos a partir de unas determinadas condiciones de carrera aportadas por el usuario.
ABSTRACT
The aim of this project is to achieve an application that allows predicting with a regression-based and supervised Machine Learning model which type of tyres to use in each situation of a Formula 1 race, depending on different factors to be provided by the user. To achieve this, a research and data collection of Formula 1 results as well as an analysis of tyre performance has been carried out. A comprehensive literature review was carried out in relation to Formula 1, including academic articles, technical reports and industry publications. The current tyre-related regulations and changes to them since 2011 were also examined. This has determined the narrowing of the study on the use of different tyre types in competition, with data from 2011 to 2022, in order to work under one set of regulations. For data acquisition, several relevant sources on Formula 1 and tyre performance were identified, such as the official Formula 1 website, Motorsport Stats and RaceFans. After assessing the quality and reliability of these sources, those tables that provide detailed and up-to-date information on race results, lap times, driver, team, tyre and atmospheric data were selected. Subsequently, different web scraping techniques were studied and applied after analysing the structure of the HTML code of web pages, in order to identify and extract relevant data from the results tables available in the selected sources. Once the different heterogeneous tables had been obtained, all the data was designed and consolidated into a single table, which was then cleaned and prepared for the application of a regression model. After evaluating the different predictive models based on regression, it was determined that the Random Forest Regressor is the one that best generalises, in order to make a prediction as close to reality as possible. Finally, a web interface has been designed and implemented, in which the user can easily enter the required data, and thus obtain a prediction adjusted to these characteristics. Python, the BeautifulSoup library, as well as Selenium for the extraction of data from web pages and their storage in a MySQL database, and for the analysis of models and training, the Scikit-Learn and Pandas libraries have been used in the development. Finally, Streamlit has been used for the production of the prediction engine with a Web interface. In summary, we have obtained an application that allows, for a Formula 1 race, to predict, with a high degree of reliability, the estimated duration of the different types of tyres based on certain race conditions provided by the user. Read More