PREDICCIÓN RESULTADO DE UN PARTIDO DE FÚTBOL ANA FARRÉ, ÁLVARO GARCÍA CID, PATRICIA MEDIAVILLA, ENRIQUE RAMOS INGENIERÍA MATEMÁTICA 27/04/2022 INTRODUCCIÓN Este proyecto nace con la intención de implementar los conocimientos del grado de ingeniería matemática en un ámbito, que a priori no está relacionado con el mundo de las matemáticas, el fútbol. en concreto en este trabajo se quiere conseguir la predicción de resultados. Como referencia se han usado los datos estadísticos de la temporada pasada. A partir de la recolección de estos datos, se conseguirá el objetivo trabajando con redes neuronales, formando así un modelo predictivo. Se realizarán cuatro redes neuronales. La primera red centrada los propios partidos jugados con anterioridad y en la segunda parte tres redes neuronales basadas en los datos de los jugadores de cada equipo que se enfrentan. Con el fin de ver si es más influyente el equipo en general o los jugadores en particular a la hora de predecir un resultado, esto es una parte muy interesante de este proyecto, teniendo en cuenta la dificultad de las predicciones en el mundo del fútbol debido a que existen tres posibles resultados en un partido, a diferencia de otros deportes. OBJETIVO El objetivo de este proyecto es conseguir predecir resultados de partidos de fútbol buscando la mayor fiabilidad posible usando modelos de redes neuronales. Para este proyecto se debe tener en cuenta que los modelos predictivos a cerca del fútbol que han realizado profesionales tienen un porcentaje de fiabilidad del 40% al 45%. El objetivo es lograr la predicción con un porcentaje de acierto similar al de estos trabajos. El proyecto se dividirá en dos partes, una primera parte en la que se realizará una predicción de resultados basados en datos de los equipos y una segunda parte en la cual se realizará una predicción basada en los datos particulares de cada uno de los jugadores que formen el once inicial de los equipos. Tras la realización de ambas redes neuronales se buscará comparar ambos modelos. Otro de los objetivos es observar si las estadísticas de equipos y de jugadores sirven para realizar estas predicciones o lo mejor es hacer una combinación de todas ellas. DIFICULTADES DESARROLLO Al realizar este proyecto nos enfrentábamos a uno de los trabajos más importantes y Primero se crean varias bases de datos que serán utilizadas posteriormente para poder entrenar las redes neuronales. tras esto, se procede a la creación de redes neuronales. con más manejo de conceptos matemáticos que habíamos realizado hasta la fecha. Para realizar nuestro trabajo, la base principal que necesitamos para empezar a trabajar y a observar son los datos que íbamos a utilizar para entrenar las redes neuronales y formar los modelos predictivos. La obtención de unos datos óptimos para este trabajo ha sido una de las partes más trabajosas y complicadas, debido a la - Segunda parte: predicción mediante datos de jugadores - Primera parte: predicción mediante datos de equipos. Se realizan tres redes neuronales que devuelven un valor, ,que Se realiza una red neuronal que devuelve dos valores, los cuales pertenece a la predicción de valoración de un jugador en un Otra de las dificultades que nos hemos encontrado ha sido el poco conocimiento que pertenecen a las probabilidades de victoria del equipo local y el partido. teníamos a cerca de las redes neuronales. A la vez que recopilabamos los datos nos equipo visitante. falta de bases de datos que contuvieran los datos exactos necesitados. hemos ido informando a cerca de como funcionan estas redes, que tipo de características necesitaban los datos. Las redes neuronales las hemos realizado en Matlab, ya que consideramos que es la herramienta más óptima, gráfica e intuitiva, para realizar estos trabajos. Este procedimiento se realiza con el programa Matlab, usando la app Neural Net Fitting, Una vez se han creado la redes MÉTODOS neuronales empleando para cada una de ellas un método de El método que se ha utilizado para realizar este trabajo son las redes neuronales, con Este procedimiento se realiza con el programa Matlab, usando entrenamiento de la red distinto, se crea un script de Matlab en estas se aplica un modelo de regresión lineal. Esto quiere decir que la red neuronal la app Neural Net Fitting, Una vez se ha creado la red neuronal el cual se crean vectores que contienen los datos de los aplica unos pesos a las variables indicando así cuales considera más importantes. En la empleando Bayesiana, jugadores en diversas jornadas con el fin de obtener la seleccionado tras estudiar el error de los distintos métodos, se predicción de valoración. Una vez obtenidos los vectores para crea un script de Matlab en el cual se crean matrices que cada jugador se crean matices para cada equipo que contengan contienen los datos de los equipos en diversas jornadas con el estos vectores. fin de obtener predicciones de los partidos. De estas matrices Tras ejecutar la función de las redes neuronales se obtienen las se predicciones de valoración de cada uno de los jugadores de los primera red neuronal se trata de un modelo de regresión lineal múltiple ya que da dos valores de salida, la probabilidad de que gane el primer equipo introducido y la probabilidad de que gane el segundo equipo introducido, y las redes neuronales pertenecientes a la segunda parte usa un método de regresión lineal simple ya que solo da un resultado que es el rating estimado del jugador. Dentro de las redes neuronales los métodos que se han utilizado para entrenar estas obtienen el los método de vectores regularización necesarios para obtener las probabilidades de victoria. redes son: Levenberg-Marquardt, Bayesian regularization y Scaled conjugate gradient. equipos, con el fin de obtener el promedio de estas. Una vez se tenga el promedio de valoraciones de ambos En la primera predicción se ha utilizado el método de Bayesian regularization y en la segunda parte se han usado tres modelos, uno con cada método con el fin de hacer Tras ejecutar la función de la red neuronal se obtienen las dos equipos, se pasan por otra función que medirá cual de las dos una comparativa de los resultados obtenidos. variables que contienen las probabilidades y pasan por otra variables es mayor y si la diferencia de probabilidades es función que medirá cual de las dos variables es mayor y si la suficientemente pequeña, es decir, menor que 0,075 en caso diferencia de probabilidades es suficientemente pequeña, es de que el equipo con mayor valoración sea el local, mientras decir, menor que 10, para establecer como resultado el empate que esta diferencia debe ser menor que 0,175 en el caso de que o suficientemente grande para determinar al equipo con una la mayor valoración pertenezca al visitante, para establecer mayor probabilidad de victoria como ganador como resultado el empate o suficientemente grande para MÉTODO LEVENBERG-MARQUARDT El primero que cabe mencionar es uno de los más conocidos cuando se hace uso de una red neuronal. Esta calcula el jacobiano de la función que se quiere minimizar mediante diferencias finitas centradas para, de esta manera, obtener los mínimos locales. determinar al equipo con una mayor probabilidad de victoria como ganador MÉTODO BAYESIAN REGULARIZATION Este método consiste en eliminar el factor aleatorio para adaptar la función. Aparecen una serie de pesos de elevado valor que, mediante la regularización, estos se penalizan. Por tanto, se eligen los pesos que maximicen la probabilidad y así, junto con la probabilidad de los pesos, se consigue que se minimice la función objetivo. ANÁLISIS - Primera parte: predicción mediante datos de equipos. - Segunda parte: predicción mediante datos de jugadores MÉTODO SCALED CONJUGATE GRADIENT Este algoritmo tiene la finalidad de, por medio del uso del gradiente de la función, ahorrar tiempo y computo, de manera que va actualizando los pesos en función del método del gradiente conjugado escalado. Fiabilidad de los modelos predictivos usando los diferentes tipos de entrenamiento TRABAJO FUTURO El modelo predictivo de la primera parte tiene una fiabilidad del 52% para el estudio de datos realizado, mientras que el modelo predictivo de la segunda En cuanto al trabajo a futuro, lo principal sería añadir más variables al entorno, tanto a la base de datos de equipos como la de jugadores. Además, también añadir más datos a estas. Esto se debe a que la precisión de un modelo de red neuronal aumenta de forma directamente proporcional a la cantidad de datos que se tienen para la fase de entrenamiento. No obstante, al igual que con las variables incluidas en el trabajo, habría que valorar también si tienen una importancia/peso significativo en el resultado, dado que, puede ser que la variable no suponga un cambio notable, pero si aumente el coste de computación. Por otra parte, también nos gustaría indagar en formas de entrelazar diferentes redes neuronales. Esto es con el fin de, a partir de las dos que hemos diseñado en el proyecto, poder generar un output que tenga ambas partes en cuenta, ya sea añadiendo como variable el output de una red neuronal a la otra o creando una red neuronal que trabaje con ambos resultados de las redes ya creadas. Por último, también sería de interés, a parte de la obtención de más datos que analizar y añadir a los .csv, normalizar estos datos. Y es que, diferentes estudios demuestran que mediante la normalización de los datos utilizados para el entrenamiento de una red neuronal los resultados obtenidos son más exactos. Esto ha sido “demostrado” de forma experimental y realmente no tiene ningún fundamento teórico. parte tiene una fiabilidad del 37,78%. CONCLUSIÓN Tras haber completado el trabajo concluimos que los modelos predictivos de ambas partes del trabajo tienen un porcentaje de fiabilidad superior a la probabilidad de acierto del resultado de un partido seleccionando el resultado de éste de manera azarosa. Aunque ambos modelos son útiles para el objetivo del proyecto, queda claro que el modelo con el cual se obtiene un mayor grado de precisión es el modelo basado en la colección de datos generales de los equipos, mientras que el modelo basado en los datos de cada uno de los jugadores tiene un porcentaje de acierto, similar al azar, por lo que no es tan eficiente. De este modo se puede concluir que los datos de los jugadores por si solos no sirven para realizar una buena predicción. A pesar de esto, estos datos se podrían incorporar a la red neuronal de los datos de equipos con el fin de obtener un índice de acierto aún mayor en esta, como comentamos en el trabajo a futuro. Por último, hemos comparado el índice de fiabilidad del mejor modelo predictivo de este trabajo con el de otros trabajos que usan los mismos métodos que este y se puede concluir que es un buen modelo predictivo, ya que la media de fiabilidad de estos modelos se encuentra entre un 40% y un 45%, encontrándose este por encima de esta media, siendo nuestro porcentaje de fiabilidad es del 52%.