65
Trabajo Final de Grado Grado en Ingeniería en Tecnologías Industriales Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB MEMORIA Autor: Antonio Sánchez Peláez Director: Luis José Talavera Méndez Convocatoria: Enero 2021 Escola Tècnica Superior d’Enginyeria Industrial de Barcelona

Aplicación de modelos de regresión en la predicción de

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aplicación de modelos de regresión en la predicción de

Trabajo Final de Grado

Grado en Ingeniería en Tecnologías Industriales

Aplicación de modelos de regresión en la predicción de

calificaciones de estudiantes de la ETSEIB

MEMORIA

Autor: Antonio Sánchez Peláez Director: Luis José Talavera Méndez Convocatoria: Enero 2021

Escola Tècnica Superior d’Enginyeria Industrial de Barcelona

Page 2: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 2

Page 3: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 3

Resumen

El presente documento trata sobre el estudio de técnicas de regresión para la predicción de las

calificaciones del tercer cuatrimestre de los alumnos del Grado en Ingeniería en Tecnologías

Industrias de la Escuela Técnica Superior de Ingeniería Industrial de Barcelona.

La minería de datos, conocida en inglés como data mining, es el proceso de búsqueda de

información en grandes bases de datos por tal de identificar información o patrones que resulten

útiles por tal de realizar predicciones futuras.

Durante todo el proceso se ha seguido la metodología CRISP-DM, la cual comprende las etapas

necesarias para la realización de un estudio de data mining. Se han utilizado diferentes herramientas

de software que trabajan con el lenguaje Python, como las librerías Pandas y Scikit Learn, y el IDE

Spyder.

Las técnicas de regresión utilizadas han sido la regresión lineal, la regresión de cresta o ridge y el

algoritmo K-Nearest Neighbors.

Las principales conclusiones que se extraen del estudio son que los resultados de las predicciones

son muy pobres y que no existe una mejora sustancial de los resultados entre los diferentes

algoritmos. Esto puede deberse a que la calidad de los datos no sea suficiente para modelarlos

mediante regresión y poder hacer predicciones numéricas precisas. Finalmente, se proponen

diferentes alternativas de trabajo para el futuro con la finalidad de continuar con el estudio.

Page 4: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 4

Page 5: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 5

Índice

ÍNDICE ______________________________________________________ 5

1. GLOSARIO _______________________________________________ 7

2. INTRODUCCIÓN __________________________________________ 8

2.1. Objetivos del proyecto .................................................................................. 11

2.2. Alcance del proyecto .................................................................................... 11

2.3. Herramientas de trabajo ............................................................................... 12

3. COMPRENSIÓN Y PREPARACIÓN DE LOS DATOS ____________ 15

3.1. Comprensión de los datos ............................................................................ 15

3.2. Preparación de los datos .............................................................................. 16

3.2.1. Depuración ...................................................................................................... 17

3.2.2. Transformación ................................................................................................ 18

3.2.2.1. Obtención de los DataFrame ............................................................... 19

4. TÉCNICAS DE MODELAJE Y VALIDACIÓN ___________________ 23

4.1. Técnicas del aprendizaje automático ........................................................... 23

4.2. Selección de modelos ................................................................................... 25

4.3. Validación ..................................................................................................... 30

4.4. Métricas de rendimiento ............................................................................... 31

4.5. Selección de hiperparámetros ...................................................................... 33

4.6. Análisis de los resultados ............................................................................. 35

4.6.1. Regresión Lineal .............................................................................................. 35

4.6.2. Regresión Ridge .............................................................................................. 38

4.6.3. K-Nearest Neighbors ....................................................................................... 43

4.7. Análisis de las predicciones .......................................................................... 48

4.7.1. Informática ....................................................................................................... 50

4.7.2. Ecuaciones diferenciales ................................................................................. 51

4.7.3. Electromagnetismo .......................................................................................... 52

4.7.4. Materiales ........................................................................................................ 53

4.7.5. Mecánica ......................................................................................................... 54

4.7.6. Métodos numéricos ......................................................................................... 54

4.7.7. Conclusiones del apartado .............................................................................. 55

4.8. Discusión de los modelos seleccionados ..................................................... 56

5. PROGRAMACIÓN TEMPORAL ______________________________ 58

6. COSTOS ________________________________________________ 59

Page 6: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 6

7. IMPACTO AMBIENTAL ____________________________________ 61

8. CONCLUSIONES _________________________________________ 62

BIBLIOGRAFÍA_______________________________________________ 65

Page 7: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 7

1. Glosario

A continuación se definen algunos términos que se utilizarán recurrentemente en el presente

documento.

Data mining: Proceso de búsqueda de identificación de información en los datos con tal de encontrar

patrones en estos para predecir situaciones futuras.

Machine learning: Disciplina del campo de la inteligencia artificial (IA) que, a través de algoritmos,

dota a los ordenadores de la capacidad para realizar predicciones.

DataFrame: Estructura de datos en forma de tabla con la que trabaja la librería Pandas.

‘NaN’: Del inglés ‘not a number’. Formato que toman las celdas que no tienen ningún valor asociado

cuando se programa con Python.

Python: Lenguaje de programación utilizado.

Pandas: Liberia de Python de la cual se utilizan las herramientas para realizar el tratado de datos

durante el proyecto.

Scikit Learn: Librería de Anaconda que contiene los modelos de regresión utilizados para la

realización del estudio.

Overfitting: Fenómeno que se produce cuando el algoritmo de estudio se ajusta demasiado a los

datos de entrenamiento.

Page 8: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 8

2. Introducción

Gracias a los grandes y constantes avances durante las últimas décadas, la tecnología se ha

instaurado como una parte vital e imprescindible de la sociedad actual. La digitalización y

automatización de muchos procesos, ha permitido facilitarnos el día a día en multitud de aspectos.

Sin embargo, en los últimos años, el gran interés que suscitan las tecnologías acostumbra a

involucrar aquello que los usuarios pueden tocar o sentir. Es decir: redes sociales, mobile apps,

realidad virtual, dispositivos wearables, etc.

Lo curioso de todos estos procesos o dispositivos, es que cuentan con una parte común, que aunque

normalmente es desconocida para la mayoría de las personas, es de igual o mayor importancia que

los propios. Se trata del conjunto de tecnologías de recogida masiva de datos, normalmente

relacionadas con la experiencia de los usuarios, las cuales se conocen como ‘Big Data’.

Como consecuencia de esta recogida de datos nace lo que hoy en día se conoce como data mining

(minería de datos en español). Esta consiste en la aplicación de técnicas y tecnologías que permiten

explorar, de manera automática o semiautomática, grandes bases de datos. Una de sus grandes

virtudes es la de detectar patrones de conducta y/o tendencias sobre algunos procesos, lo que

permite predecir situaciones futuras, optimizarlos, aumentar su eficacia y reducir costes. Esta rama

de la ingeniería computacional se combina con diferentes especialidades de la ciencia, como son la

estadística, el aprendizaje automático o la inteligencia artificial.

Hoy en día, podemos encontrar data mining en muchísimos ámbitos distintos, como en banca,

marketing, televisión, radio, etc. Uno de los casos de aplicación de data mining más significativos hoy

en día, es el de la empresa Transport for London (TFL), la cual es el organismo del gobierno de

Londres responsable de la mayoría de los aspectos de transporte. Transport for London opera

millones de autobuses, taxis, metros, tarjetas de transporte, carreteras y sistemas semafóricos que

proporcionan transporte a un gran número de londinenses, recopilando así una gran cantidad de

datos. El análisis en profundidad de estos, permite a la empresa ver qué pasajeros viajan localmente

y cuales realizan rutas largas, que carreteras y puentes están más concurridos y que rutas de

transporte público tienen un tráfico más pesado. La aplicación diaria de estos datos permite

implementar estrategias de transporte con tal de minimizar los tiempos de desplazamiento, mejorar el

flujo de tráfico, ajustar el ciclo de los semáforos en carreteras muy ocupadas y evitar atascos de

tráfico.

También es muy importante en el ámbito de la medicina, ya que facilita la realización de diagnósticos

más precisos para los pacientes. El hecho de contar con la información del historial médico del

paciente, ayuda a recetar tratamientos médicos más efectivos. También ayuda a realizar una gestión

más eficaz, eficiente y económica de los recursos sanitarios, ya que se permiten predecir riesgos,

enfermedades en ciertos grupos de la población o la duración del ingreso hospitalario.

Page 9: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 9

A modo de resumen, podemos decir que la minería de datos ha resultado ser una herramienta

extremadamente efectiva en la detección de patrones, anomalías y relaciones entre factores. La cual

nos permite aprender cosas sobre el entorno en el que nos encontremos y poder actuar sobre él

directamente para optimízalo, aumentar su eficacia, reducir costes u obtener beneficios.

En la actualidad existen diversas metodologías a seguir para poder llevar a cabo un proyecto de data

mining de forma satisfactoria. Una de las más famosas y utilizadas es la CRISP-DM.

Metodología CRISP-DM

Desarrollada en 1999 como consorcio de tres empresas (Dailmer-Benz, ISL y NCR) y financiada por

la Comisión Europea, CRISP-DM (CRoss-Industry Standard Process for Data Mining) facilita una

descripción normalizada del ciclo de vida de un proyecto de análisis de datos.

Como podemos observar en la ilustración 1, se trata de un proceso cíclico comprendido por seis

fases distintas. Mientras que las flechas entre fases indican las conexiones más usuales entre ellas,

el circulo exterior referencia la ciclicidad del proceso de extracción y tratado de datos. Aun así, no se

trata de un proceso rígido, y cualquiera puede definir, en la medida de lo justo, las orientaciones de

sus flechas y el alcance de cada fase según sus necesidades.

Ilustración 1: Fases del ciclo de la metodología CRISP-DM

1. Comprensión del problema

La fase principal del proceso consiste en la comprensión del proyecto a realizar y los

objetivos iniciales, con el objetivo de poder hacer una descripción más técnica de este.

Esta fase constituye la base de cualquier proyecto de minería de datos, y permite realizar

las fases de comprensión y preparación de los datos de forma más sencilla.

Page 10: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 10

2. Comprensión de los datos

El cometido inicial en esta fase, trata de la recolección de los datos que se tratarán

posteriormente. Una vez obtenidos, la idea es realizar diferentes actividades por tal de

familiarizarse con ellos, inspeccionar la calidad de estos, descubrir un conocimiento

preliminar en estos y/o descubrir subconjuntos interesantes a tener en cuenta.

3. Preparación de los datos

La fase de preparación comprende todas las actividades necesarias para transformar los

datos de partida en el conjunto final, sobre el cual se realizará el modelado. Algunas de las

actividades de este periodo son la selección de datos, la depuración de estos, la

generación de nuevas variables, etc. Puede resultar un proceso bastante largo y complejo,

que en algunos casos llega a significar más de la mitad de un proyecto de data mining.

4. Modelaje

Durante la etapa de modelaje se aplican modelos y algoritmos de machine learning sobre

el conjunto de datos obtenido anteriormente. Las diferentes técnicas de modelado

escogidas, se perfeccionan mediante la optimización de sus inputs, con la finalidad de

conseguir un modelo final óptimo. Muchas de las técnicas más comunes dentro del

machine learning necesitan estructuras de datos determinadas, como por ejemplo que

estos estén normalizados. Por este motivo, durante esta etapa, es bastante frecuente

volver a la fase de preparación de los datos.

5. Validación

Una vez obtenidos los modelos finales anteriormente, el siguiente paso es validarlos.

Durante esta etapa se evalúan estos utilizando las métricas de verificación necesarias, con

tal de determinar si son factibles para satisfacer los objetivos del proyecto.

6. Implementación

Esta etapa del proceso, consiste en la implementación del modelo final obtenido, con la

finalidad de explotarlo dentro del entorno para el cual ha sido diseñado. Como se comentó

anteriormente, esta metodología consiste en un proceso cíclico. De esta forma, la

implementación no tiene por qué ser necesariamente la etapa final del proyecto, ya que los

datos o las tendencias pueden cambiar con el tiempo, y puede ser necesario comenzar de

nuevo.

La utilización de esta metodología en proyectos de Big Data, no solo agiliza el proceso de obtención

del resultado final, sino que además nos asegura la calidad de los datos con los que se trabaja y de

los datos obtenidos.

En el presente documento, se describirá el proceso seguido para realizar un proyecto de data mining

siguiendo la metodología anteriormente descrita, por tal de encontrar modelos que predigan las notas

del Q3 de los estudiantes de ingeniería industrial en la ETSEIB.

Page 11: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 11

2.1. Objetivos del proyecto

El objetivo principal de este proyecto es la realización de un estudio de rendimiento de diferentes

técnicas de regresión, para la predicción de calificaciones de resultados académicos del tercer

cuatrimestre de los estudiantes del grado de ingeniería en tecnologías industriales de la ETSEIB.

Este objetivo está bastante generalizado a la realización del proyecto entero, pero para poder llegar

al resultado final de forma satisfactoria surgen diferentes subobjetivos que se intentarán cumplir

también:

• Realización de un proyecto de data mining siguiendo una metodología de trabajo

Anteriormente se ha comentado la importancia de seguir una metodología, con la finalidad

de poder llegar a los mejores resultados finales posibles. De esta forma, se adaptará el

desarrollo del estudio a la estructura de CRSP-DM.

• Estudio de diferentes variables en los modelos

Se prepararán diferentes conjuntos de datos con la información de partida. Gracias a esto

podremos observar la sensibilidad de los modelos, y ver si estos mejoran o empeoran con

la adición de nuevas variables en los conjuntos de estudio.

• Familiarización con el entorno y las herramientas de trabajo

Todo el proceso de obtención del código se realizará con la plataforma de software

Anaconda, la cual comprende todas las herramientas necesarias para realizar el estudio.

Dentro de este paquete encontramos las dos herramientas principales que serán

utilizadas, como son Pandas y Scikit Learn. La primera se trata de una librería de Python,

la cual nos permitirá realizar todo tipo de operaciones y transformaciones sobre nuestros

datos. La segunda contiene los modelos estadísticos y las métricas de validación que

serán necesarias.

El proceso de codificación se realizará mediante el editor Spyder. Será de vital importancia

familiarizarse con todas estas herramientas para poder cumplir, de la mejor forma posible,

con las diferentes etapas del proceso.

2.2. Alcance del proyecto

Como ya se ha comentado con anterioridad, este proyecto seguirá la metodología CRISP-DM, la cual

se introdujo en la introducción. Como ya se comentó en ese mismo apartado, el proceso de

aplicación de esta no es rígido, y puede variar según las necesidades de cada uno. De esta forma,

para definir el alcance de este estudio, se definirán las actividades que se llevarán a cabo en cada

una de las diferentes fases.

Page 12: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 12

La etapa de comprensión del problema corresponderá con la identificación de los objetivos

principales y secundarios que se quieren adquirir. No se profundiza más en esta ya que, al ser

estudiante de la escuela, se da por hecho que se conoce el ámbito sobre el que se está trabajando.

Durante las etapas de comprensión y preparación de los datos, el objetivo final será obtener los

diferentes conjuntos sobre los cuales se realizará el modelaje. Inicialmente se realizará una pequeña

descripción de estos, pero no se profundizará demasiado en ellos, ya que su disposición es

relativamente sencilla, y no son difíciles de interpretar. Una vez hecho esto, se depurarán y

transformarán los datos según lo necesario, y se definirá la estructura final que presentaran. Además

de los conjuntos, al final de esta fase se dispondrá de un código Python que realizará el proceso de

forma automática.

Durante el modelaje se utilizarán lo conjuntos obtenidos anteriormente para mejorar los

‘hiperparámetros’ de los modelos de Scikit Learn, por tal de conseguir el mayor rendimiento posible.

Esta librería de Pandas contiene más de veinte modelos distintos para realizar estudios de regresión.

Realizar el proceso de modelaje para todos y cada uno de estos es una tarea sumamente difícil con

tan poco tiempo disponible, de esta manera se ha decidido utilizar únicamente los modelos de ‘Linear

Regression’, ‘Ridge’ (ambos siguen la hipótesis de modelo lineal) y ‘K-Nearest-Neighbors’ (Modelo no

lineal).

En la validación se tomarán las métricas de interés necesarias para determinar la calidad de los

ajustes obtenidos para cada modelo. Este proceso se realizará para cada asignatura del tercer

cuatrimestre de cada uno de los conjuntos de datos obtenidos. Es necesario comentar también que el

estudio va a dedicarse mayoritariamente a los aspectos de machine learning para construir modelos,

de esta forma no se entrará en gran detalle de conceptos, terminología y estudios estadísticos para la

validación de los modelos.

Finalmente, la etapa de implementación no se realizará ya que se sale de los límites establecidos

para este proyecto. De esta forma, una vez acabada la fase de validación habremos acabado con

este primer proyecto y podremos interpretar los resultados obtenidos a modo de conclusiones.

2.3. Herramientas de trabajo

Al tratarse de un proyecto de minería de datos, las herramientas que involucran su desarrollo son

informáticas. A continuación, se describen los diferentes recursos que se utilizarán para la realización

de este.

Page 13: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 13

Python

Python es un lenguaje de programación ideado por Guido van Rossum a finales de los 80, y que

comenzó a implementarse en las navidades de 1989.

Se trata de un lenguaje interpretado, multiparadigma y multiplataforma, que se utiliza principalmente

para proyectos de ciencia de datos, inteligencia artificial y desarrollo web.

Que sea interpretado hace referencia a que el lenguaje traduce y ejecuta al mismo tiempo el código

del programador. Multiparadigma significa que el lenguaje admite la utilización de diversos

paradigmas de programación, por lo que los programadores no están obligados a utilizar un estilo

único de programación. De esta forma, Python permite la programación enfocada a objetos, la

imperativa y la funcional. El hecho de ser multiplataforma da la posibilidad al usuario de ejecutar su

código con diferentes sistemas operativos, como por ejemplo Windows, Linux, macOS, etc. Además,

a parte de las características descritas anteriormente, el lenguaje está desarrollado bajo la licencia de

código abierto, lo que quiere decir que es de libre uso y distribución.

De esta forma, podríamos decir que se trata de un lenguaje sencillo, intuitivo y de alto nivel. En el

caso particular de este proyecto, se ha decidido escoger este lenguaje debido a la familiarización

previa con este, ya que es el que se enseña en la escuela durante las asignaturas de fundamentos

de informática e informática.

Pandas

Pandas es una librería de Python creada como extensión de NumPy, destinada a la manipulación y

el análisis de datos de gran volumen, proporcionando estructuras flexibles de datos que permiten

trabajar con ellos de forma muy eficiente.

Esta ofrece recursos al usuario que permiten realizar diferentes funciones, como la lectura y escritura

de datos en diferentes formatos (bases SQL, Excel, CSV, etc.), seleccionar y filtrar tablas de manera

sencilla, fusionar y unir datos, aplicar funciones personalizadas para la transformación de los datos,

manipular series temporales y realizar gráficos.

Pandas nos permite trabajar con diferentes estructuras de datos, en función de la dimensionalidad

que queramos trabajar, pero la más común es la conocida como DataFrame. Esta se corresponde a

una tabla con indexación de filas integrada, que sigue una estructura de datos en dos dimensiones.

De esta forma, la utilización de esta herramienta será de vital importancia para las fases de

depuración, manipulación y transformación de los datos de partida, ya que nos permitirá obtener los

conjuntos finales de forma más rápida y eficiente. Además, al poseer muchas funciones integradas,

nos permitirá reducir la longitud del código final.

Page 14: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 14

Anaconda

Anaconda es una suite de código abierto de Python que abarca una serie de aplicaciones, librerías y

conceptos para el desarrollo de proyectos de ciencia de datos. Su función básica es la gestión del

entorno y de paquetes.

Mediante la instalación de esta herramienta, se obtienen una gran cantidad de paquetes, los cuales

se agrupan en cuatro sectores o soluciones tecnológicas: Anaconda Navigator, Anaconda Project,

librerías de ciencia de datos y Conda.

Dentro de estos paquetes, se encuentran dos que nos serán de gran utilidad, como son el editor

Spyder y la librería Scikit Learn.

• Spyder (Scientific Python Development Environment)

Spyder es un IDE (Entorno de Desarrollo Integrado) de Python, multiplataforma y de

código abierto, orientado a la programación científica utilizando el propio lenguaje. Una de

las razones de su éxito, y por la cual se utilizará en este proyecto, es que cuenta con una

interfaz interactiva y muy potente que facilita su uso por parte del programador.

En la ilustración 2, podemos observar las diferentes partes de la interfaz. A la izquierda nos

encontramos con un editor de código multilenguaje, que posee diferentes herramientas

para mejorar la experiencia del programador. Algunas de estas son la revisión de código

en tiempo real (nos notifica de errores en nuestro código sin necesidad de ejecutarlo) y la

exploración de funciones y clases (por tal de poder consultar sus definiciones y

características). En la parte superior derecha nos encontramos un explorador de objetos,

este nos permite realizar diferentes funciones, como la exploración de variables, la

visualización de gráficos y la exploración de archivos. Finalmente, en la parte inferior

derecha nos encontramos con la consola, con la que podemos ver si existe algún error en

el código o visualizar figuras de Matplotlib, por ejemplo.

Ilustración 2: Interfaz del IDE Spyder.

Page 15: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 15

• Scikit Learn

La segunda herramienta de Anaconda más útil para nuestro proyecto, será la librería Scikit

Learn de Python. La gran cantidad de algoritmos con los que cuenta la convierten en la

herramienta principal para el análisis de datos y el modelado estadístico. El hecho de

disponer de tantos algoritmos ayuda mucho al programador, ya que le permite ahorrar

tiempo de codificación, pudiendo poner más énfasis en otros aspectos, como, por ejemplo,

la optimización del modelo. Algunas de las funcionalidades que incluye esta librería son la

regresión, la clasificación, el clustering, la optimización y la selección de modelos.

3. Comprensión y preparación de los datos

3.1. Comprensión de los datos

La comprensión de los datos es una parte primordial a la hora de realizar cualquier tipo de proyecto

de data mining, ya que nos sirve para tener una primera toma de contacto con estos, y poder

visualizar de forma preliminar como deberemos tratarlos en la etapa de preparación.

En nuestro caso en particular, inicialmente partimos de tres documentos Excel distintos:

‘dadespersnomespreins.xlsx’, ‘qfaseini.xlsx’ y ‘qfasenoini.xlsx’. Estos contienen los datos académicos

de los estudiantes de la escuela, desde la implantación del nuevo plan de estudio, es decir 2010,

hasta 2017.

El primero de los ficheros nombrados, contiene la información relacionada con los datos de

preinscripción de los alumnos. Las diferentes variables que podemos encontrar en este son:

• CODI_EXPEDIENT: Código de expediente del alumno.

• SEXE: Indica si el alumno es hombre (H) o mujer (D).

• CP_FAMILIAR: Código postal de la residencia del alumno.

• ANY_ACCES: Año de acceso a la escuela.

• TIPUS_ACCES: Tipo de acceso. (Toma 1 como único valor)

• NOTA_ACCES: Nota obtenida en selectividad.

• CP_CENTRE_SEC: Código postal del centro donde el alumno cursó los estudios.

CODI_EXPEDIENT SEXE CP_FAMILIAR ANY_ACCES TIPUS_ACCES NOTA_ACCES CP_CENTRE_SEC

274511 H 08640 2013 1 12,99 08640

275156 H 43002 2013 1 13,018 43002

259794 D 08006 2012 1 12,65 08021

262031 D 08017 2012 1 10,74 08017

261879 D 08504 2012 1 11,696 08500

258115 H 08907 2012 1 10,346 08907

Tabla 1: Ejemplo de la distribución de los datos en el fichero ‘dadespersnomespreins.xlsx’

Page 16: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 16

Los otros dos ficheros, contienen los datos de los alumnos relacionados con sus calificaciones en la

escuela. El primero de ellos contiene la información referente a las asignaturas de la fase inicial

mientras que el segundo contiene la del resto de asignaturas del grado. Las variables que contienen

son:

• CODI_PROGRAMA: Código identificador de la titulación cursada.

• CODI_EXPEDIENT: Código de expediente del alumno.

• CODI_UPD_UD: Código de la asignatura.

• CREDITS: Número de créditos de la asignatura cursada.

• CURS: Año en el que se matricula la asignatura.

• QUAD: Cuatrimestre en el que se cursa la asignatura.

• SUPERA: Indica si el alumno aprueba (S) o suspende (N).

• NOTA_PROF: Nota final asignada por el profesor.

• NOTA_NUM_AVAL: Nota asignada tras evaluación curricular.

• NOTA_NUM_DEF: Nota final definitiva.

• GRUP_CLASSE: Grupo donde se matriculó el alumno.

CODI_PROGRAMA CODI_EXPEDIENT CODI_UPC_UD CREDITS CURS QUAD SUPERA NOTA_PROF NOTA_NUM_AVAL NOTA_NUM_DEF GRUP_CLASSE

753 232121 240214 6 2010 1 S CONV

752 232295 240014 6 2010 1 S 6,5 6,5 6,5 CONV

752 239833 240025 7,5 2010 2 N 1,4 1,4 1,4 52

752 239834 240025 7,5 2010 2 S 6,5 6,5 6,5 52

Tabla 2: Ejemplo de la distribución de los datos en los ficheros ‘qfaseini.xlsx’ y ‘qfasenoini.xlsx’.

3.2. Preparación de los datos

Una vez analizados los ficheros y sus variables, estamos listos para prepararlos. La etapa de

preparación, cubre todas aquellas actividades necesarias para construir lo conjuntos finales de datos.

Como ya se comentó anteriormente, Pandas trabaja con una estructura de datos llamada

DataFrame. Por este motivo, los ficheros iniciales se transforman a este elemento, con tal de trabajar

con ellos.

El objetivo final de este apartado, es obtener tres DataFrame distintos, los cuales se utilizarán para la

fase de modelado. Así pues, durante esta etapa se describirá el proceso seguido para transformar los

ficheros iniciales en los conjuntos finales. El apartado se dividirá en dos secciones, una de

depuración y otra de transformación.

Page 17: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 17

3.2.1. Depuración

El propósito de realizar una depuración de los datos, es la de eliminar registros contenidos en los

datos iniciales, por tal que la información necesaria pueda ser accesible más fácilmente a la hora de

manipular y transformar estos.

En el caso que nos ocupa, tras analizar los distintos valores contenidos en las variables iniciales de

cada fichero, vemos que es necesario eliminar algunos, ya que no aportan ningún tipo de información

necesaria según los objetivos planteados.

En primer lugar, como únicamente se consideran aquellos alumnos que cursen el grado de ingeniería

en tecnologías industriales, se eliminarán el resto de alumnos. Esta información se encuentra

contenida en la variable CODI_PROGRAMA, y el identificador para los alumnos del GETI es el ‘752’.

De esta forma, se eliminarán aquellos alumnos que cursen otras titulaciones.

Seguidamente, encontramos que la variable QUAD toma el valor 0 en algunos casos, lo cual es

extraño. El cuatrimestre cero (también conocido como curso introductorio), es un curso que ofrecen

algunas universidades, en el cual se realiza un pequeño repaso de conceptos académicos de

materias básicas, con la finalidad de facilitar a los alumnos la adaptación a sus futuros estudios. Los

datos de este cuatrimestre nos resultan innecesarios, ya que no aportan ningún tipo de información

útil para el proyecto. De esta forma, todos los registros correspondientes a este cuatrimestre serán

eliminados.

Por otra parte, existen alumnos que convalidan algunas asignaturas, ya que han cursado la misma o

alguna similar en contenidos fuera de la escuela. Estos casos los podemos encontrar fácilmente, ya

que en las variables NOTA_NUM_DEF o GRUP_CLASE aparecen como ‘Conv’. Es importante

eliminar estos registros por dos motivos: por una parte, no podemos asumir el grado de conocimiento

real del alumno, y por la otra, no se puede realizar el estudio a los alumnos que tienen ‘Conv’ como

nota final, ya que no es un valor de tipo numérico.

También, sabemos que el fichero ‘qfasenoini’ contiene la información académica correspondiente a

las asignaturas de la fase no inicial, es decir, del cuatrimestre tres en adelante. Como el objetivo de

nuestro proyecto, es realizar un estudio de regresión para predecir las calificaciones de los alumnos

en el tercer cuatrimestre, se eliminarán aquellos registros correspondientes a asignaturas que no

pertenezcan a este. Esto se consigue eliminando las filas del fichero que tengan como

‘CODI_UPC_UD’ alguna asignatura que no nos interese.

En último lugar, tras analizar los datos una vez depurados, se ha observado que, para el segundo

cuatrimestre del año 2017, tenemos únicamente los registros correspondientes a 35 alumnos. Este

número dista mucho de los 2500 alumnos de media que tenemos para cada cuatrimestre. Esto

puede deberse a un error al extraer los datos, o que aún no se hubieran introducido los datos cuando

se generó el fichero. Esto puede resultar un problema más adelante, ya que el número de muestras

para ese cuatrimestre no es consistente, así que se ha decidido eliminar esos registros.

Finalmente, es importante comentar que, una vez acabado el proceso, aún contaremos con variables

que no serán necesarias. Aun así, las herramientas que nos proporcionas Pandas, nos permiten

transformar los datos sin necesidad de tenerlas en cuenta, con lo cual se obviarán de ahora en

adelante.

Page 18: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 18

3.2.2. Transformación

Una vez eliminados los registros incensarios de nuestros datos, estamos listos para transformarlos.

Entramos de esta forma en la etapa final del ‘data preparation’. Esta fase cubre todas las actividades

necesarias para construir los conjuntos de datos finales que se utilizarán en la etapa de modelaje.

En el caso de nuestro proyecto, se ha decidido crear tres conjuntos de datos a partir de los datos de

partida. La idea es crear un DataFrame inicial, y a partir de este, crear otros dos añadiendo

información adicional, contenida en los datos iniciales. Se ha decidido optar por esta estrategia, ya

que los datos iniciales contienen mucha información que puede ser analizada. De esta forma, una

vez realizado todo el estudio, seremos capaces de ver si los modelos son sensibles a la adición de

nuevas variables, y como afectan estas a los resultados finales.

La estructura de los tres será común, y corresponderá a un DataFrame, donde cada fila representa la

información asociada con un único alumno, y en las columnas se encontrarán las diferentes variables

consideradas.

El primer DataFrame, contendrá únicamente la información relacionada con la nota final y la nota

media de cada alumno para cada asignatura de la fase inicial, y la primera nota obtenida en cada

asignatura del Q3.

Codigo Expediente ALG M-ALG FONINFO M-FONINFO … MEC EDOS

Alumno 1 5 4,3 7 7 … 2 6

Alumno 2 9 9 6 5 … 5 5

Alumno 3 6,3 4,8 5,1 5,1 … 0 4,7

Tabla 3: Ejemplo de la estructura del DataFrame 1

El segundo, contendrá también la información asociada al número de convocatorias realizadas de

cada asignatura de la fase inicial antes de superarla.

Codigo Expediente ALG M-ALG C-ALG FONINFO M-FONINFO C-INFO … MEC EDOS

Alumno 1 5 4,3 2 7 7 1 … 2 6

Alumno 2 9 9 1 6 5 2 … 5 5

Alumno 3 6,3 4,8 3 5,1 5,1 1 … 0 4,7

Tabla 4: Ejemplo de la estructura del DataFrame 2

Finalmente el último DataFrame contará, además, con la nota de selectividad obtenida por el alumno.

Codigo Expediente Selectividad ALG M-ALG C-ALG FONINFO M-FONINFO C-INFO … MEC EDOS

Alumno 1 10,73 5 4,3 2 7 7 1 … 2 6

Alumno 2 9,85 9 9 1 6 5 2 … 5 5

Alumno 3 12,45 6,3 4,8 3 5,1 5,1 1 … 0 4,7

Tabla 5: Ejemplo de la estructura del DataFrame 3

Page 19: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 19

3.2.2.1. Obtención de los DataFrame

Cálculo de nuevas características

Para realizar el estudio de regresión de las asignaturas del Q3, nos interesan únicamente aquellos

alumnos que hayan superado toda la fase inicial, y hayan cursado alguna de las asignaturas del

tercer cuatrimestre.

De esta forma se define la función ‘nota’, la cual devuelve la nota final si esta es superior a cinco, y

‘NaN’ en caso contrario. Una vez definida la función, se aplica esta sobre la variable

NOTA_NUM_DEF, y se almacenan los resultados en una nueva columna llamada ‘NotaFinaFI’.

Esta nueva variable, nos facilitará la identificación de estos alumnos en las próximas fases, siendo

más fácil eliminarlos.

Pivotar datos

Los ficheros de las fases inicial y no inicial, vienen en un formato donde cada fila, corresponde a una

convocatoria de un alumno para una determinada asignatura. Este formato puede resultar muy

complicado de comprender, ya que es muy poco intuitivo a la hora de trabajar con él.

Así pues, se desea transformar esta configuración de nuestro marco de datos a una más simple que

permita facilitar el proceso de manipulación de estos. Se ha decidido utilizar una estructura donde

cada fila corresponda únicamente a los datos de un alumno. El proceso de pasar de la estructura

inicial descrita a la final se conoce como pivotar.

Cuando hablamos de pivotar, nos referimos al hecho de convertir los valores únicos de una columna

en los datos de partida a columnas en el marco final. En la ilustración 3 se ejemplifica cómo será la

acción de pivotar una tabla en el contexto de este proyecto.

Ilustración 3: Ejemplo de pivote de asignaturas a los datos de la fase inicial.

Pandas cuenta con la función pandas.pivot_table, excelente para realizar este tipo de operaciones.

Pivot Table es una de las herramientas más populares dentro de la librería Pandas, ya que esta nos

permite realizar agrupaciones de datos como la de la figura anterior. Además, también nos permite

realizar operaciones matemáticas sobre las columnas que ocuparán las celdas, como sumatorios,

contajes, medias, etc.

Page 20: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 20

Pivot Table dispone de múltiples argumentos, pero los más importantes para este estudio son los siguientes:

• Data: DataFrame de entrada que se utilizará para pivotar.

• Values: Columna de valores que se añadirán a las celdas de la tabla.

• Index: Columna del DataFrame original que se utilizará como índice.

• Columnas: Columna del DataFrame original cuyos valores se utilizarán como columnas.

• Aggfunc: Parámetro opcional. Sirve para aplicar funciones matemáticas a la columna

aplicada en el parámetro Values.

Para la obtención del primer DataFrame, necesitaremos obtener dos tablas distintas, una que

contenga las notas finales en las celdas, y otra que contenga las notas medias. Para obtener ambas,

pivotaremos la columna ‘CODI_UPC_UD’ de los datos de la fase inicial, manteniendo

‘CODI_EXPEDIENT’ como índice. Para obtener la tabla de notas finales, en las celdas

introduciremos la nota máxima de la columna ‘NotaFinalFI’ calculada previamente, esta tabla se

guarda en la variable Taula1. Para obtener la tabla de notas medias, en las celdas introduciremos la

nota media del alumno para cada asignatura, esta tabla se guarda en la variable Taula2.

El segundo DataFrame, contiene además el número de convocatorias de cada alumno para cada

asignatura. Así pues, necesitamos obtener una nueva tabla que contenga esta información. Esto se

consigue pivotando la columna ‘CODI_UPC_UD’ de los datos de la fase inicial, manteniendo

‘CODI_EXPEDIENT’ como índice, y se cuentan cuantas notas tiene el alumno para cada asignatura.

Esta tabla se guarda en la variable Taula3.

Finalmente, nos queda solo obtener la tabla de las asignaturas de Q3, la cual es común para los tres

DataFrame. Para las asignaturas de este cuatrimestre, nos interesa saber la primera nota obtenida

por cada alumno. De esta forma, pivotamos la columna ‘CODI_UPC_UD’ de los datos de la fase no

inicial, manteniendo ‘CODI_EXPEDIENT’ como índice, y en las celdas introduciremos la primera nota

obtenida por el alumno. Esta tabla se guarda en la variable Data_FaseNoIni.

Eliminación de ‘NaN’

El término ‘NaN’ viene del inglés ‘not a number’, en Python nos referimos a este cuando nos

encontramos con ‘missing values’, los cuales son interpretados como vacíos. Cuando se realizan las

uniones entre ficheros, es probable que tengamos registros de alumnos que tienen algún valor ‘NaN’

en alguna celda. En nuestro caso, nos interesa ver estos en la Taula1, ya que como se comentó

anteriormente, cuando un alumno no supera una asignatura, se le asigna el valor ‘NaN’ a su celda

correspondiente en ‘NotaFinalFI’. De esta forma, si algún alumno no supera nunca una asignatura, en

la celda correspondiente de la tabla nos encontraremos un ‘NaN’. Es importante eliminar estos

valores, ya que los modelos de la librería Scikit Learn con los que trabajaremos posteriormente no los

admiten.

Page 21: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 21

Unión de tablas

El siguiente paso, es unir las tablas obtenidas anteriormente en un único conjunto de datos. La

función de Pandas que nos permite realizar esto se conoce como pandas.Dataframe.merge.

En el caso del primer DataFrame, se unen Taula 1 y Taula2 y se guarda esta variable como

Data1_FaseIni. Para el segundo, se une Data1_FaseIni con Taula3 formando Data2_FaseIni.

Finalmente, para el tercer DataFrame se une Data2_FaseIni con la columna ‘NOTA_ACCES’ del

fichero de datos de preinscripción, esto añadirá una nueva columna con la nota de selectividad de

cada alumno.

Para acabar Data1_FaseIni, Data2_FaseIni y Data3_FaseIni se unen por separado con

Data_FaseNoIni. De esta manera ya tenemos los tres conjuntos de datos construidos.

Cambio de escalas

Para realizar el posterior modelaje, nos interesa que todas las variables explicativas de los

DataFrame se encuentren en la misma escala. Esto se debe a que puede suceder que una variable

resulte estadísticamente significativamente debido a estar configurada en una escala distinta (lo que

puede hacer que tenga una varianza muy distinta en comparación con el resto de variables

explicativas), en vez de que esté realmente relacionada con la respuesta.

En nuestro caso, tenemos las variables correspondientes al número de convocatorias las cuales van

entre 1 y 4, las notas de selectividad que van de 0 a 14, y las notas de las asignaturas que se

encuentran en el rango 0-10. Así pues, se ha decidido estandarizar los datos para que todas las

variables se encuentren en la misma escala.

Cambio de nomenclatura

Para acabar con la fase de preparación, lo último que se hace es renombrar el nombre de las

columnas de las asignaturas. Inicialmente, las asignaturas vienen dadas con el código que tienen

asignado por la escuela, lo cual dificulta el estudio ya que se trata de un formato menos visual y es

difícil aprenderse todos los códigos de memoria.

En la tabla 6 se muestra la relación entre los códigos de las asignaturas, sus nombres, y la

nomenclatura que se les ha asignado para trabajar con ellas en los DataFrame.

Page 22: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 22

CODI_UPC_UD Nombre

Asignatura Nombre asignado

240011 Àlgebra Lineal ALG

240015 Fonaments

d'Informàtica FONINFO

240014 Química I QUIM1

240012 Càlcul I CALC1

240013 Mecànica

Fonamental MEC

240025 Expressió Gràfica EXPRE

240023 Termodinàmica

Fonamental TERMO

240024 Química II QUIM2

240022 Càlcul II CALC2

240021 Geometria GEO

240132 Informàtica INFO

240133 Mecànica MEC

240131 Equacions

Diferencials EDOS

240033 Materials MATERIALS

240031 Electromagnetisme ELECTRO

240032 Mètodes Numèrics MÈTODES

Tabla 6: Relación código-nombre asignaturas.

Finalmente hay que comentar que, para los casos de las variables asociadas a la nota media y el

número de repeticiones de una asignatura, lo que se ha hecho es añadir los prefijos ‘M’ y ‘C’,

respectivamente, a sus nombres asignados.

Page 23: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 23

4. Técnicas de modelaje y validación

Una vez hemos obtenidos los conjuntos finales de datos entramos en la etapa de modelaje, también

conocida como análisis predictivo.

El análisis predictivo es un área de la minería de datos que aplica diferentes técnicas analíticas,

estadísticas y de aprendizaje automático (ya existentes y ampliamente conocidas) sobre un conjunto

histórico de datos, con el objetivo de predecir eventos futuros.

4.1. Técnicas del aprendizaje automático

Dentro del análisis predictivo existen una gran cantidad de técnicas de modelaje que pueden

aplicarse. En función del tipo de salida que produce el estudio y la forma en la que se tratan los

datos, los diferentes algoritmos pueden clasificarse principalmente en dos aprendizajes: los

supervisados y los no supervisados. De esta forma, antes de escoger los algoritmos de estudio es

imprescindible conocer estos y saber qué tipo de estudio queremos realizar.

Aprendizajes supervisados

Se conoce como aprendizaje supervisado a aquellas técnicas que permiten predecir valores futuros a

partir de un conjunto de datos. Estos basan su aprendizaje en un conjunto de datos que ha sido

previamente etiquetado. Esto quiere decir que para cada combinación disponible de las variables

explicativas conocemos el valor de la variable respuesta, es decir, conocemos su etiqueta. Este

hecho permite al algoritmo establecer una relación entre las variables de entrada y la salida, la cual

permite realizar predicciones cuando se introducen nuevos datos de entrada.

En estas técnicas, el algoritmo inicial se alimenta con una parte del conjunto de datos (training set),

gracias a los cuales se realiza el aprendizaje y se obtiene el modelo final. Una vez obtenido el

modelo, este se alimenta con el resto de datos (test set) y se comparan los valores respuesta

obtenidos con los valores objetivo. De esta forma podemos obtener las métricas de rendimiento, las

cuales nos indican cuan bueno es el modelo obtenido. La ilustración 4 muestra un ejemplo de

proceso de aprendizaje supervisado.

Cuando hablamos de este tipo de aprendizajes, encontramos dos grandes familias de algoritmos:

Los de regresión y los de clasificación. Los algoritmos de regresión son útiles cuando queremos

predecir valores continuos de la respuesta en función de los valores de unas entradas determinadas.

Los algoritmos de clasificación se utilizan cuando se quiere predecir valores discretos sobre los datos

de partida, es decir, para una combinación de datos de entrada la respuesta se asigna dentro de una

determinada categoría.

Page 24: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 24

Ilustración 4: Ejemplo visual de las técnicas de aprendizaje supervisadas.

Aprendizajes no supervisados

En el caso de los aprendizajes no supervisados, los modelos solo ajustan un modelo predictivo a

través de los datos de partida, sin tener en cuenta la respuesta. Es decir, los datos de entrada no se

encuentran etiquetados, con lo cual no se conocen las respuestas. De esta forma, solo podemos

inferir modelos por tal de extraer información o patrones de comportamiento de las variables iniciales.

En función del tipo de predicciones que se desee realizar, este aprendizaje se divide en dos

categorías principales: El Clustering y la reducción de dimensionalidad. El clustering tiene como

objetivo clasificar los registros iniciales en diferentes grupos, donde el comportamiento de estos sea

similar. La reducción de dimensionalidad se utiliza para reducir el número de variables a tener en

cuenta durante el análisis, de esta manera podemos reducir conjuntos de datos en n dimensiones, a

conjuntos más simples con únicamente dos o tres dimensiones, lo cual facilita su análisis.

Ilustración 5: Ejemplo visual de las técnicas de aprendizaje no supervisadas.

Page 25: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 25

La ilustración 6 muestra un pequeño esquema-resumen de toda la información descrita

anteriormente.

Ilustración 6: Esquema de los diferentes aprendizajes de machine learning.

El objetivo para este proyecto es realizar la predicción de la calificación de los alumnos del tercer

cuatrimestre en función de un conjunto de variables explicativas. De esta forma queda de manifiesto

que se trata de un estudio de aprendizaje supervisado, donde se utilizarán técnicas de regresión para

obtener los resultados finales.

4.2. Selección de modelos

Una vez hemos identificado el tipo de estudio necesario para nuestro proyecto, procedemos a

seleccionar los modelos sobre los que se realizarán las predicciones. Para esta fase trabajaremos

con los modelos de la librería Scikit Learn de Pandas. Esta posee los algoritmos ya preparados,

pudiendo de esta forma centrarnos únicamente en aplicarlos.

Scikit Learn contiene más de veinte modelos distintos para realizar un estudio de regresión. Esto es

un problema ya que no se dispone del tiempo necesario para trabajar con todos ellos. De esta

manera se ha decidido seleccionar únicamente tres de estos.

Inicialmente se ha decidido escoger el modelo de regresión lineal ya que es un modelo muy utilizado,

relativamente simple y rápido de ejecutar, además este se utiliza mucho durante el grado con lo cual

ya estamos familiarizados en él. El segundo modelo escogido ha sido el Ridge. Ridge es una variante

del modelo de regresión lineal, y se ha escogido este para ver si aporta mejoras significativas sobre

los resultados finales. Finalmente, se ha decidido utilizar un modelo que no siga la hipótesis de que

exista una relación lineal entre las variables independientes y la respuesta, para comprobar si los

datos se ajustan mejor sin seguir esta hipótesis. El modelo no lineal seleccionado ha sido K-Nearest

Neighbors.

Page 26: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 26

Regresión lineal

La regresión lineal es una de las técnicas más utilizadas de Machine Learning, debido a su simpleza

y la facilidad para ser interpretada. El objetivo principal de este algoritmo es predecir los valores de

una variable cuantitativa en función de un conjunto de variables explicativas también cuantitativas,

mediante una línea recta. En nuestro caso, sabemos que contamos con múltiples variables de

entrada, así que el modelo seguirá la siguiente ecuación:

Ecuación 1: Ecuación genérica de la regresión lineal

Donde β0 es la ordenada al origen, es decir, el valor de la respuesta cuando todas las variables

explicativas son nulas. El parámetro βi hace referencia al efecto que tiene el incremento de una

unidad de Xi sobre la respuesta, manteniéndose el resto constantes. Finalmente el término ϵ es el

residuo o error, es decir, la diferencia entre el valor observado y el estimado por el modelo, este

debería seguir una distribución normal N(0,σ2).

En la vida real, cuando dispongamos de un dataset y queramos ajustar una nube de puntos a una

línea recta, nunca conseguiremos que todos pasen por ella, es decir, el ajuste nunca será perfecto.

De esta forma, siempre tendremos un error de predicción. Así pues, la ecuación ideal sería aquella

que minimice este error.

En regresión lineal, la forma de minimizar el error es escoger el valor adecuado de cada parámetro βi.

Así pues, el algoritmo trata de buscar esta combinación de valores resolviendo un problema de la

forma:

Para encontrar la función lineal con el error mínimo se deriva el error en función de las β’s,

obteniendo la siguiente expresión:

De donde encontramos la siguiente expresión con la cual podemos calcular el valor final de los

coeficientes:

Page 27: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 27

Así pues, lo que hace el algoritmo es aplicar la última ecuación vista para obtener los coeficientes.

Una vez los obtiene, construye el modelo predictor que utilizará para realizar predicciones futuras

cuando se introduzcan nuevos datos.

Es necesario comentar que la regresión lineal es una técnica paramétrica, eso quiere decir que hace

ciertas suposiciones sobre los datos de partida. Algunas de estas son:

• Linealidad: La variable dependiente debe relacionarse linealmente con las variables

independientes y los residuos.

• Multicolinealidad: Las variables independientes deben ser linealmente independientes entre

si.

• Independencia de los residuos: Los residuos son independientes entre si, es decir, estos se

comportan como una variable aleatoria.

• Homocedasticidad de los residuos: Los residuos deben tener varianza constante.

• Normalidad de los residuos: Para cada valor o combinaciones de valores de las variables

independientes, los residuos se distribuyen siguiendo una normal de media cero.

Los supuestos de linealidad, independencia de los residuos, homocedasticidad de los residuos y

normalidad de los residuos se podrá ver si se cumplen con los resultados finales de los modelos. En

cuanto a la posible aparición de multicolinealidad, en estudios predictivos, dado que no resulta de

gran importancia el análisis de los coeficientes obtenidos, podemos tolerar mucho más la aparición

de este hecho. De esta forma, este supuesto no se comprobará para la realización de este proyecto,

pero se utilizarán algoritmos alternativos por tal de evitar la posible aparición de este fenómeno, por

tal de ver si mejoran los resultados finales.

Regresión Ridge

Uno de los supuestos básicos del modelo de Regresión Lineal, es que el rango de la matriz de

entrada X sea máximo. En caso contrario esta sería singular ya que las columnas són linealmente

dependientes, de esta forma el sistema de ecuaciones para las β’s tendría infinitas soluciones. Esto

se da en problemas donde existe colinealidad entre las variables o el número de registros es igual o

menor al número de variables.

Una de las soluciones a este problema es la Regresión Ridge, también conocida como regresión de

cresta, la cual penaliza la suma de los coeficientes elevados al cuadrado. A esta penalización se la

conoce como l2,y tiene el efecto de reducir de forma proporcional todos los coeficientes de modelo,

sin dejar que estos lleguena cero.

Page 28: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 28

Lo que hace el algoritmo es resolver un problema de la forma:

Donde α es elparámetro de regularización, el cual debe ser mayor o igual a cero. Cuando hacemos α

igual a 0, el modelo se comporta como una regresión lineal, y a medida que aumentamos el valor de

este, añadimos una mayor penalización a las β’s. Lo que hace el algoritmo, es resolver el siguiente

problema matricial:

Sin embargo, hay que tener cuidado a la hora de penalizar el modelo, ya que como se puede ver en

a continuación cuanto mayor es el valor de α, la suma de cuadrados aumenta de forma progresiva,

así pues este es un aspecto a tener en cuenta. Queda patente de esta forna, que la elección del

parámetro α es de vital importancia a la hora de trabajar con este modelo.

Se ha decidido trabajar con este algoritmo como alternativa al de regresión lineal por tal de ver si el

hecho de que que pueda existir colinealidad entre las las variables afecta a los resultados. Así pues

será interesante ver si aplicando este modelo podemos obtener mejores resultados finales.

K-Nearest Neighbors

K-Nearest Neighbors (KNN) es un algoritmo de Machine Learning que pertenece al aprendizaje

supervisado y que se puede aplicar tanto para clasificación como para regresión. Es muy sencillo de

utilizar y muy potente.

El principio de funcionamiento se basa en almacenar todos los datos del conjunto de entrenamiento y

asigna un valor al punto que se quiere predecir según la similitud entre características. Así pues, se

puede decir que se trata de un algoritmo de aprendizaje ‘vago’, ya que durante la fase de

entrenamiento almacena todos los registros disponibles, en vez de construir un modelo aplicable.

Esto supone un gran problema cuando se quiere trabajar con conjuntos de datos con muchos

registros y variables, ya que consume mucha memoria y se ralentiza mucho el proceso. De esta

forma, es preferible utilizarlo para datasets de pocas dimensiones. Se trata también de un algoritmo

no paramétrico, lo cual quiere decir que no hace ningún tipo de suposición sobre la distribución de las

variables.

Para comprender mejor el funcionamiento, ilustramos un pequeño ejemplo aplicado a la regresión.

Imaginemos que queremos aplicar KNN para predecir el peso de una persona en función de su edad

y altura. Como podemos ver en la ilustración 7 inicialmente contamos con los datos completos de

diez personas, y queremos predecir el peso de la undécima.

Page 29: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 29

Ilustración 7: Tabla de datos de altura, edad y peso.

Para visualizar mejor los datos, en la ilustración 8 se observa su representación en un espacio de dos

dimensiones, donde el eje de las abscisas corresponde a la edad, y el eje de las ordenadas a la

altura de cada persona.

Ilustración 8: Representación de los puntos de la tabla en un espacio de dos dimensiones.

Inicialmente, el algoritmo calcula las distancias entre el punto sobre que queremos realizar la

predicción y el resto de puntos del conjunto de entrenamiento.

Ilustración 9: Distancias entre el punto 11 y el resto de puntos.

Page 30: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 30

Luego se seleccionan los K puntos más cercanos a este, siendo K un parámetro definido

previamente. En este caso se ha decidido explorar el conjunto de los tres vecinos más cercanos.

Ilustración 10: Área que incluye los k vecinos más próximos.

Finalmente, el algoritmo promedia el valor de la respuesta de los tres puntos y le asigna este valor al

punto de estudio. De esta forma el peso del usuario número once sería (77+72+60) /3 = 69.66kg.

Antes de acabar con este apartado, es importante comentar que el algoritmo de sklearn cuenta con

una gran cantidad de inputs, pero a la hora de realizar el estudio, hay un parámetro que resulta de

gran interés:

• N_neighbors: Número de vecinos que se utilizarán para realizar las predicciones.

4.3. Validación

El objetivo final de un modelo, es predecir valores futuros de la respuesta cuando este sea

alimentado con información que este no haya aprendido anteriormente. Así pues, es necesario pasar

por una etapa final de validación en la cual se utilizará todo el conjunto de datos y podremos obtener

la precisión final de este. De esta manera podremos comprobar cuan buenos son los modelos

construidos, y podremos extraer unas conclusiones de estos.

En machine learning existen multitud de estrategias para realizar el proceso de validación, pero las

más populares son ‘hold-out’ y ‘k-Fold cross validation’:

• Hold-out: Se trata del método más sencillo de validación cruzada. Este consiste en separar el

conjunto de datos en dos subconjuntos, uno para entrenar el modelo y otro para realizar la

validación. De esta forma se crea un único modelo a partir de los datos de entrenamiento.

Una vez obtenido este, se generan las respuestas alimentándolo con el conjunto de variables

independientes del subconjunto de prueba, y estas se comparan con los valores de la

variable respuesta del mismo subconjunto. Los valores estadísticos obtenidos de esta

comparación son los que nos dan una idea verdadera de como predice nuestro modelo.

Page 31: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 31

• K-Fold Cross Validation: En este método el conjunto inicial de datos se divide en k

secciones iguales. Una de las secciones se utiliza para la validación, y el resto para la

construcción del modelo. Una vez el método está construido, este opera de la misma forma

que Hold-out. La diferencia es que este proceso se repite k veces hasta que todas las

secciones han sido utilizadas para la construcción del modelo y su validación. Finalmente, las

métricas que se obtienen son una media de los valores obtenidos en cada etapa del proceso.

Se trata de una estrategia realmente útil cuando tenemos conjuntos de datos pequeños.

Para trabajar con estas estrategias los datos se dividen en dos conjuntos, los cuales son bastante

representativos de las fases de construcción y validación del modelo:

• Training set: Es el subconjunto de datos que se utiliza para la etapa de construcción del

modelo. Gracias a este los algoritmos establecen relaciones entre las variables

independientes y dependiente, obteniendo un modelo predictivo. Es la partición más grande

de los datos, ya que nos interesa tener una gran cantidad de datos de entrenamiento para

que el algoritmo aprenda el máximo posible.

• Test set: Subconjunto de los datos que se utiliza para la etapa de validación. Las variables

independientes de este conjunto se introducen en el modelo previamente obtenido,

obteniendo la predicción de la respuesta. Gracias a este se obtienen estimaciones de cuan

bueno es el modelo obtenido.

Para este proyecto se ha decidido utilizar el método de Hold-out ya que los diferentes DataFrame

tienen bastantes observaciones, siendo de esta forma más robustos, con lo cual el hecho de que una

observación cayera en un conjunto u otro no resultaría un gran cambio en el resultado final. No

existen unas reglas fijas a la hora de realizar la división de los datos, pero se ha decidido hacer una

partición del 67% para el training set y un 33% para el test set.

Finalmente, es necesario comentar que estos cortes pueden realizarse definiendo que datos

incluiremos en cada conjunto o pueden ser mezclados aleatoriamente antes del corte. Para este

estudio se ha optado por mezclar estos de forma aleatoria tres veces, construyendo y evaluando el

modelo para cada una de estas, y finalmente se promedian los resultados.

4.4. Métricas de rendimiento

Las métricas de rendimiento nos permiten evaluar la bondad del ajuste de nuestro modelo,

comparando los valores de las predicciones realizadas por este con los valores objetivo. A

continuación se definen diferentes métricas utilizadas para validar un modelo de regresión, y se

adjunta junto a estas definiciones una imagen donde se muestra cómo se calculan.

Page 32: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 32

• Coeficiente de determinación (R2)

Refleja la proporción de varianza total de la variable respuesta explicada por el modelo de

regresión. Este coeficiente toma valores entre 0 y 1. Cuando este se acerca a 0 quiere decir

que el modelo no explica la variabilidad de los datos entorno a la media. El caso contrario

ocurre cuando este se acerca a 1.

Ilustración 11: Fórmula de cálculo de R2.

• Coeficiente de determinación ajustado (R2-adj.)

Este identifica también la cantidad de variabilidad explicada por el modelo de regresión, pero

teniendo en consideración las variables de entrada. Es decir, tiene en cuenta el número de

variables incluidas en el modelo. R2 tiende a aumentar en porcentaje con la adición de nuevas

variables, mientras que R2-adj no tiene por qué hacerlo. Únicamente aumenta si la adición de

estas hace que el modelo predictivo mejore. Así pues, se trata de una métrica interesante

para determinar el efecto real de las variables.

Ilustración 12: Fórmula de cálculo de R2-ajustado.

• Error cuadrático medio (MSE)

Mide el error cuadrado promedio de las predicciones realizadas por el modelo. Se trata de

una métrica muy sensible a la existencia de outlets o valores atípicos que el modelo no capta

correctamente porque se alejan de la hipótesis de este.

Ilustración 13: Fórmula de cálculo de MSE.

Page 33: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 33

• Raíz cuadrada del error cuadrático medio (RMSE)

Se trata de la raíz cuadrada del MSE. Esta se introduce para hacer que la escala de los

errores calculados sea igual que la escala de la variable objetivo. Igual que el MSE, se trata

de una métrica muy sensible a outliers o valores atípicos que el modelo no capta

correctamente porque se alejan de la hipótesis de este.

Ilustración 14: Fórmula de cálculo de RMSE.

• Error medio absoluto (MAE)

Mide la media de las desviaciones de cada error de predicción. Se entiende que el modelo es

mejor contra más cerca de 0 se encuentre.

Ilustración 15: Fórmula de cálculo de MAE.

4.5. Selección de hiperparámetros

En Machine Learning, cuando hablamos de hiperparámetros nos referimos a aquellos parámetros del

modelo que no es posible aprender a partir de los datos de entrenamiento, sino que deben ser

definidos por el programador. Los resultados finales de un modelo, dependen en gran parte del valor

que tomen estos.

La selección de hiperparámetros, es el proceso de ajustar estos por tal de ver para que configuración

de valores, o características, el modelo se ajusta mejor a los datos, ofreciendo así un mejor

rendimiento.

Es muy difícil saber de antemano que valores deben tomar estos parámetros. De esta forma, el

proceso para encontrar los valores óptimos consiste en ir probando diferentes posibilidades.

La librería Scikit Learn proporciona dos herramientas genéricas por tal de realizar este tipo de

estudios: grid search y random search.

Page 34: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 34

• Grid Search: Consiste en definir un conjunto de valores para cada parámetro y evaluar el

modelo para todas las posibles combinaciones de estos. Se trata de una estrategia muy

simple y potente, pero puede resultar muy costosa cuando tenemos muchos hiperparámetros.

• Random Search: Consiste en evaluar de forma aleatoria una cierta cantidad de valores de

los parámetros, definidos dentro de una distribución dada y unos límites establecidos. Muy útil

cuando tenemos muchos hiperparámetros a considerar.

Como se ha visto en el apartado de modelaje, los modelos Ridge y K-Nearest-Neighbors contienen

cada uno un parámetro que nos interesa optimizar. Así pues, se realizará una selección de

hiperparámetros sobre estos modelos y parámetros, utilizando la estrategia de grid search.

Para realizar este proceso, inicialmente se divide el conjunto de datos en training set y test set, y se

realiza un proceso de K-Fold cross validation sobre los datos de entrenamiento. Así pues, una vez

acaba este proceso, se obtienen los valores óptimos de los hiperparámetros junto a los k valores

obtenidos de la métrica de estudio deseada para cada fase del K-Fold y a el valor medio de todas

estas.

La función de Scikit Learn que nos permite realizar todo este proceso, se conoce como

sklearn.model_selection.GridSearchCV. Para utilizar esta, debemos definir los siguientes inputs:

• Estimator: Algoritmo sobre el cual queremos realizar la optimización.

• Paran_grid: Diccionario con nombres de parámetros como claves y lista de valores de

parámetros a probar como valores.

• Scoring: Métrica que se intentará optimizar. Normalmente para problemas de regresión se

utiliza root mean squared error (RMSE).

• CV: Número de pliegues para la realización de la validación cruzada.

Ilustración 16: Ejemplo de funcionamiento de K-Fold cross validation para la selección de hiperparámetros.

Page 35: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 35

Una vez acabado el proceso, esta función incluye diferentes atributos para observar los resultados

finales, como por ejemplo:

• cv_results: Devuelve un diccionario resumen del proceso para cada combinación de

parámetros. Este puede pasarse a formato DataFrame para visualizarse de forma más

sencilla.

• best_estimator: Devuelve el mejor valor obtenido para la métrica definida.

• best_params: Devuelve la combinación de valores de los hiperparámetros que obtiene el

mejor estimador.

4.6. Análisis de los resultados

Una vez hemos seleccionado los modelos y teniendo en cuenta los diferentes aspectos a considerar

durante la etapa de validación, estamos listos para construir los modelos y analizar los resultados

finales obtenidos.

4.6.1. Regresión Lineal

El modelo de regresión lineal no cuenta con parámetros que el modelo no puede aprender en la fase

de entrenamiento. De esta manera no hace falta pasar por la etapa de selección de hiperparámetros,

así que se ha podido construir el modelo directamente. A continuación, se muestran los resultados de

las predicciones realizadas por este algoritmo para cada asignatura.

Informática

MODELAJE VALIDACIÓN

DataFrame RMSE R2 R2-ADJ RMSE MAE

DataFrame1 1,7275 0,3147 0,298 1,8309 1,4

DataFrame2 1,7186 0,3163 0,291 1,8288 1,3992

DataFrame3 1,7382 0,3147 0,2859 1,7887 1,3833

Tabla 7: Resultados del algoritmo de regresión lineal para informática.

Como podemos observar, los resultados de RMSE durante la fase de entrenamiento son levemente

mejores que los de la validación para todos los DataFrame.

En cuanto a la validación vemos que no existe mucha diferencia entre los tres DataFrame. Si nos

fijamos en el valor de R2 ajustado, vemos que el hecho de añadir variables al modelo no resulta

determinante. En términos de error vemos que obtenemos valores de RMSE y MAE algo elevados,

alrededor de 1.8 y 1.39 puntos, respectivamente. Aun así, vemos que el DataFrame3 se comporta

ligeramente mejor en términos de error.

Page 36: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 36

Ecuaciones diferenciales

MODELAJE VALIDACIÓN

DataFrame RMSE R2 R2-ADJ RMSE MAE

DataFrame1 1,4788 0,3109 0,2942 1,4174 1,037

DataFrame2 1,459 0,315 0,2898 1,4127 1,0336

DataFrame3 1,4174 0,2679 0,2374 1,4533 1,0591

Tabla 8: Resultados del algoritmo de regresión lineal para ecuaciones diferenciales.

Se observa como el error obtenido durante el modelaje es mayor para los DataFrame 1 y 2, mientras

que es inferior para el tercero. Esto nos indica que se comete un poco de overfitting en los dos

primeros casos.

En la validación podemos ver como los dos primeros DataFrame muestran un comportamiento

bastante similar, con valores de R2 ajustado entorno al 29%, un RMSE alrededor de 1.4 puntos y un

MAE de 1 punto de media. El tercer DataFrame muestra los peores valores para todas las métricas,

lo que deja de manifiesto que para esta asignatura, el hecho de añadir la información de la

selectividad empeora el modelo.

Electromagnetismo

MODELAJE VALIDACIÓN

DataFrame RMSE R2 R2-ADJ RMSE MAE

DataFrame1 1,4161 0,3384 0,322 1,4261 1,0913

DataFrame2 1,4091 0,3362 0,3112 1,4285 1,091

DataFrame3 1,394 0,3441 0,3161 1,4131 1,0887

Tabla 9: Resultados del algoritmo de regresión lineal para electromagnetismo.

Para electromagnetismo se puede observar como, para todos los conjuntos, los errores de la fase de

entrenamiento son mejores que los de la validación, con lo cual sufrimos un poco de overfitting.

En la validación vemos un comportamiento similar entre los tres DataFrame. En términos de ajuste

vemos que el hecho de añadir variables al modelo no afecta en el resultado. En términos del error

vemos que el tercer conjunto se comporta levemente mejor que el resto.

Materiales

MODELAJE VALIDACIÓN

DataFrame RMSE R2 R2-ADJ RMSE MAE

DataFrame1 1,3789 0,2744 0,2569 1,4184 1,0936

DataFrame2 1,3706 0,2707 0,2439 1,4221 1,0939

DataFrame3 1,3859 0,2741 0,244 1,3908 1,0756

Tabla 10: Resultados del algoritmo de regresión lineal para materiales.

Page 37: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 37

Vemos como se está cometiendo algo de overfitting en los modelos, ya que los RMSE obtenido

durante el modelaje son sensiblemente mejores que los obtenidos durante la validación.

En cuanto a la validación, los resultados del primer DataFrame son levemente mejores que los del

resto en cuanto al coeficiente de determinación ajustado, lo que implica que el hecho de añadir

nuevas variables al modelo no es un factor determinante. Aun así, en términos de error el tercer

DataFrame se comporta mejor.

Mecánica

MODELAJE VALIDACIÓN

DataFrame RMSE R2 R2-ADJ RMSE MAE

DataFrame1 1,6522 0,3557 0,3398 1,6251 1,2849

DataFrame2 1,6385 0,3563 0,3322 1,6243 1,2781

DataFrame3 1,6081 0,3302 0,3017 1,6332 1,3036

Tabla 11: Resultados del algoritmo de regresión lineal para mecánica.

Para mecánica vemos como para los dos primeros DataFrame el error de la validación es más bajo

que el obtenido durante el entrenamiento. El tercer DataFrame, al contrario, obtiene mejores errores

durante el modelaje, lo cual indica que para este caso se comete overfitting.

En la validación, se ve como las predicciones del parámetro R2 ajustado son mejores que para el

resto de asignaturas vistas, aún y que continúan siendo bastante pobres. Los dos primeros

DataFrame muestran valores muy similares entre ellos, tanto en ajuste como en error. Se observa

fácilmente que el tercero es el peor de los tres.

Métodos numéricos

MODELAJE VALIDACIÓN

DataFrame RMSE R2 R2-ADJ RMSE MAE

DataFrame1 1,4887 0,2205 0,2016 1,5417 1,1349

DataFrame2 1,4804 0,2188 0,19 1,5435 1,1348

DataFrame3 1,4106 0,2076 0,1746 1,4525 1,0742

Tabla 12: Resultados del algoritmo de regresión lineal para métodos numéricos.

Para los modelos construidos para cada DataFrame vemos que se está cometiendo overfitting. En

cuanto a la validación, vemos que los valores de R2 para métodos son los más bajos en comparación

con el resto de asignaturas. Vemos que el primer DataFrame se comporta mejor que el resto en

términos de ajuste, y que cuando vamos añadiendo variables al modelo este empeora

progresivamente. En cuanto al error, vemos un comportamiento muy similar entre los diferentes

conjuntos, pero el tercero mejora sensiblemente los resultados.

Page 38: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 38

Conclusiones del modelo

De los resultados obtenidos para el algoritmo de regresión lineal, se ha podido observar que hay

asignaturas como informática, electromagnetismo, materiales y métodos numéricos donde en los

modelos obtenidos para cada DataFrame se ha producido algo de overfitting, ya que en todos estos,

los resultados de error arrojados durante la fase de entrenamiento han sido levemente mejores a los

obtenidos en la validación final. En ecuaciones diferenciales y mecánica observamos que los

modelos para el tercer DataFrame sufren overfitting, pero para los dos primeros esto no sucede ya

que los resultados de la validación han resultado sensiblemente mejores que los de entrenamiento.

En cuanto a los resultados obtenidos durante la fase de validación, vemos que no son muy

prometedores. Ya que como se ha ido observando, los modelos presentan ajustes muy bajos y

errores demasiado altos para lo que podríamos estar dispuestos a asumir.

Las asignaturas Electromagnetismo y Mecánica, son las que presentan valores más altos para el

coeficiente de determinación ajustado, quedando de manifiesto que para estas asignaturas el modelo

explica la varianza total existente, siendo la segunda de estas la que mejor ajusta esta métrica. El

resto de asignaturas presentan ajustes más bajos, y en el caso de Métodos Numéricos vemos que

obtenemos el peor de todos.

También podemos ver que para todas las asignaturas hemos obtenido valores de RMSE bastante

elevados, los cuales oscilan entre 1.4 y 1.8 puntos de media. Esto nos indica que los modelos están

sufriendo por la existencia de outliers o valores extremos que no se ajustan a la hipótesis lineal del

modelo.

4.6.2. Regresión Ridge

En el caso de Ridge, anteriormente se ha comentado la importancia de determinar el valor correcto

del parámetro α para obtener el mejor rendimiento del modelo construido.

El algoritmo de Scikit Learn que realiza este tipo de regresión se conoce como

sklearn.linear_model.Ridge. Este cuenta con el input ‘alpha’, que hace referencia a este

hiperparámetro y toma valor 1.0 por defecto. Se trata de un parámetro importante, ya que a medida

que aumentamos este se limitan los valores de las β, lo cual reduce la varianza total, diluye los

efectos de correlación entre variables y minimiza el riesgo de sufrir ‘overfitting’. Cuando ‘alpha’ se

establece en 0, el modelo se comporta como el de regresión lineal. Para encontrar el valor óptimo de

este se han considerado todos los valores enteros de ‘alpha’ entre 1 y 800, con el objetivo de

minimizar la raíz cuadrada del error cuadrático medio (RMSE).

A continuación, se muestran los resultados obtenidos durante la selección del hiperparámetro, la fase

de entrenamiento y la de validación para cada asignatura y DataFrame.

Page 39: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 39

Informática

DataFrame1 DataFrame2 DataFrame3

Informática α 194 363 392

RMSE 1,7475 1,7456 1,7746

Tabla 13: Resultados del proceso de selección de α para informática.

HIPERPARÁMETRO MODELAJE VALIDACIÓN

DataFrame α RMSE R2 R2-ADJ RMSE MAE

DataFrame1 194 1,7301 0,3182 0,3016 1,8262 1,3933

DataFrame2 363 1,7244 0,321 0,2959 1,8224 1,391

DataFrame3 392 1,7467 0,3255 0,2971 1,7746 1,3699

Tabla 14: Resultados del algoritmo Ridge para informática.

En informática podemos ver como a medida que aumentamos el número de variables el parámetro α

aumenta, dejando de manifiesto que para obtenerlos mejores resultados es necesario penalizar cada

vez más el modelo. Aun así, si comparamos los resultados de error obtenidos durante la selección

del hiperparámetro y los obtenidos durante la validación, podemos ver que estos son bastante

similares, lo que nos indica que estos son correctos.

Observando los errores obtenidos durante la fase de entrenamiento y validación, vemos que se

produce overfitting en los modelos finales obtenidos para cada DataFrame.

El primer DataFrame capta mejor la varianza de los datos, pero también obtiene los peores valores

de error. Mientras que el tercer DataFrame es sensiblemente mejor en términos de error. Aun así,

vemos que los tres están muy parejos entre sí. Los ajustes se encuentran alrededor del 30% y los

valores de error son considerables, teniendo un RMSE de 1.8 puntos de media.

Ecuaciones diferenciales

DataFrame1 DataFrame2 DataFrame3

EDOS α 277 133 248

RMSE 1,4982 1,4915 1,4513

Tabla 15: Resultados del proceso de selección de α para ecuaciones diferenciales.

HIPERPARÁMETRO MODELAJE VALIDACIÓN

DataFrame α RMSE R2 R2-ADJ RMSE MAE

DataFrame1 277 1,4828 0,3125 0,2958 1,4157 1,0324

DataFrame2 133 1,4639 0,3151 0,2899 1,4127 1,0338

DataFrame3 248 1,4252 0,2743 0,2441 1,447 1,055

Tabla 16: Resultados del algoritmo Ridge para ecuaciones diferenciales.

Page 40: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 40

Para la selección de α vemos como el DataFrame 2 es el que necesita una penalización más baja

para obtener los mejores resultados, mientras que el primero y el tercero obtienen un valor más alto

de este y bastante similar entre ellos, siendo el del DataFrame 1 el mayor. Se observa también que

los valores obtenidos de RMSE de la validación son muy similares a los obtenidos durante la

selección del hiperparámetro, de esta forma podemos ver que estos son correctos.

Los modelos finales para los DataFrame 1 y 2 muestran valores de error más bajos durante el

modelaje que en la validación, con lo que se ha producido overfitting. En el modelo del tercer

conjunto de datos ocurre lo contrario.

En los resultados de validación de Ecuaciones Diferenciales, podemos ver como a medida que

aumentamos el número de variables el ajuste va bajando. Los dos primeros conjuntos muestran

valores muy similares, con ajustes alrededor del 29% y un RMSE de 1.41 puntos de media. El tercer

DataFrame obtiene los peores resultados con diferencia respecto a los otros dos, en este caso el

ajuste baja hasta un 24% y el RMSE está alrededor de 1.45 puntos.

Así pues, podemos ver que el hecho de añadir la información relacionada con la nota de acceso de

los alumnos, empeora el modelo.

Electromagnetismo

DataFrame1 DataFrame2 DataFrame3

Electro α 248 560 470

RMSE 1,4327 1,4333 1,4192

Tabla 17: Resultados del proceso de selección de α para electromagnetismo.

HIPERPARÁMETRO MODELAJE VALIDACIÓN

DataFrame α RMSE R2 R2-ADJ RMSE MAE

DataFrame1 248 1,4192 0,339 0,3227 1,4254 1,0921

DataFrame2 560 1,4155 0,3399 0,3151 1,4244 1,0855

DataFrame3 470 1,4007 0,354 0,3265 1,4023 1,0805

Tabla 18: Resultados del algoritmo Ridge para electromagnetismo

Para Electromagnetismo, vemos que se obtienen también penalizaciones muy altas por tal de

obtener los mejores resultados de los modelos, donde el DataFrame 2 tiene el valor más elevado.

También se observa como los errores obtenidos durante la selección de α y la validación son muy

similares, con lo cual los valores de ‘alpha’ seleccionados son correctos.

En cuanto a la fase de entrenamiento, vemos que en los tres modelos los errores son menores que

en la validación, con lo cual se ha producido overfitting en todo ellos.

Page 41: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 41

Analizando los resultados del proceso de validación, en términos de ajuste vemos como el tercer

conjunto de datos es el mejor, aún y que los tres obtienen valores muy parejos. Respecto al error

podemos observar también que el tercero es el que otorga mejores resultados, con lo cual para esta

asignatura el tercer DataFrame es sensiblemente mejor al resto, obteniendo un ajuste del 32% y un

RMSE de 1.4 puntos de media.

Materiales

DataFrame1 DataFrame2 DataFrame3

Materiales α 169 556 650

RMSE 1,3971 1,3936 1,413

Tabla 19: Resultados del proceso de selección de α para materiales.

HIPERPARÁMETRO MODELAJE VALIDACIÓN

DataFrame α RMSE R2 R2-ADJ RMSE MAE

DataFrame1 169 1,3811 0,2789 0,2615 1,4141 1,0894

DataFrame2 556 1,3767 0,2818 0,2554 1,4112 1,0844

DataFrame3 650 1,3926 0,2832 0,2535 1,3821 1,0709

Tabla 20: Resultados del algoritmo Ridge para materiales.

Con la inclusión de nuevas variables en el conjunto de partida, es necesario realizar una penalización

más restrictiva del modelo, pasando de 169 para el DataFrame1 a 556 y 650 para los DataFrame 2 y

3, respectivamente. Para los dos primeros conjuntos, el RMSE del modelo empeora respecto a la

selección del hiperparámetro, y para el tercer conjunto ocurre lo contrario. Aun así, estas diferencias

son muy pequeñas, así que podemos validar los valores obtenidos para ‘alpha’.

En cuanto al modelaje se observa que, al igual que durante la selección de α, los valores de RMSE

de los dos primeros conjuntos son peores que los del modelo, mientras que en el tercer caso ocurre

lo contrario.

Los resultados de la validación para materiales dejan de manifiesto que el algoritmo capta mejor la

varianza total para el DataFrame1 con un 26%, aún y que el valor obtenido no dista mucho de los

obtenidos para los otros dos conjuntos. Los valores de RMSE también son muy similares entre los

conjuntos, aunque son sensiblemente mejores para el tercero, con un valor de 1.38 puntos.

Mecánica

DataFrame1 DataFrame2 DataFrame3

Mecánica α 379 582 344

RMSE 1,6764 1,6735 1,6508

Tabla 21: Resultados del proceso de selección de α para mecánica.

Page 42: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 42

HIPERPARÁMETRO MODELAJE VALIDACIÓN

DataFrame α RMSE R2 R2-ADJ RMSE MAE

DataFrame1 379 1,6571 0,3567 0,3409 1,6237 1,2863

DataFrame2 582 1,6506 0,3619 0,3381 1,6171 1,278

DataFrame3 344 1,6192 0,3405 0,3125 1,6206 1,2979

Tabla 22: Resultados del algoritmo Ridge para mecánica.

La regularización aumenta mucho para el DataFrame2, donde el parámetro ‘alpha’ es igual a 582,

mientras que para los DataFrame 1 y 3 es de 379 y 244, respectivamente. Los valores de RMSE

obtenidos durante la selección de ‘alpha’ y los obtenidos en la validación son muy similares, con lo

cual no vemos ningún indicio de que estos valores no sean correctos.

Observando los resultados de RMSE del modelaje y la validación, vemos que para los dos primeros

conjuntos el modelo final sufre overfitting.

En cuanto a la validación, nos encontramos con un caso parecido al de Ecuaciones Diferenciales, ya

que a nivel de ajuste se ve como los dos primeros conjuntos obtienen resultados similares, alrededor

del 34%. Mientras que para el tercero estos empeoran, pasando a un 31% de ajuste. En cuanto al

error del modelo vemos que obtenemos un error medio de 1.3 puntos aproximadamente, y un RMSE

de 1.6 puntos.

Métodos numéricos

DataFrame1 DataFrame2 DataFrame3

Métodos α 233 745 541

RMSE 1,5075 1,5034 1,4352

Tabla 23: Resultados del proceso de selección de α para métodos numéricos.

HIPERPARÁMETRO MODELAJE VALIDACIÓN

DataFrame α RMSE R2 R2-ADJ RMSE MAE

DataFrame1 233 1,4919 0,2267 0,208 1,5357 1,1252

DataFrame2 718 1,4877 0,2281 0,1997 1,5346 1,1263

DataFrame3 541 1,419 0,2244 0,1922 1,4374 1,0619

Tabla 24: Resultados del algoritmo Ridge para métodos numéricos.

Los valores de la regularización son bastante altos, siendo el primer conjunto el menos penalizado y

el tercero el más penalizado, con una ‘alpha’ de 718. El valor más alto obtenido durante todo el

estudio del algoritmo Ridge. Los valores del error durante la selección del parámetro y la validación

son muy parecidos, con lo cual no hay ninguna evidencia de que los valores de α seleccionados sean

erróneos.

Page 43: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 43

Los resultados obtenidos durante la construcción del modelo dejan de manifiesto que para los

DataFrame 1 y 2 se ha cometido overfitting en los modelos obtenidos. En la validación se observa

que tanto el R2 ajustado como el RMSE disminuyen a medida que añadimos datos al conjunto inicial.

De esta forma, aunque el tercer DataFrame obtiene el ajuste más bajo, es el mejor en términos de

error.

Conclusiones del modelo

Como se comentó anteriormente, una de las ventajas que tiene el hecho de aplicar la regresión de

cresta, es la posibilidad de evitar la aparición de overfitting. Después de haber analizado los

resultados vemos que, por lo general, esto no ha sido posible. En comparación con la regresión

lineal, vemos que de todos los modelos que sufrían overfitting con esta, Ridge solo ha conseguido

evitar la aparición de este fenómeno en el modelo del DataFrame 3 de la asignatura materiales.

En cuanto a la selección del parámetro α, se ha podido ver que los valores obtenidos para este son

valores muy elevados, con lo cual el algoritmo necesita realizar penalizaciones importantes de los

modelos para obtener los mejores resultados.

Si nos fijamos en los resultados obtenidos de los modelos durante la validación para el coeficiente de

determinación ajustado, vemos que obtenemos unos valores muy pobres de este. Las asignaturas

que muestran un mejor comportamiento de este son Electromagnetismo y Mecánica, mientras que

Métodos obtiene los peores resultados, presentando unos valores mucho peores que el resto de

asignaturas. En términos de error seguimos teniendo valores muy altos y prácticamente idénticos a

los de Regresión Lineal.

Finalmente, otro de los aspectos que se comentó cuando se definió el algoritmo Ridge, es que

cuanto más se penaliza un modelo, más tiende a aumentar el error cometido. En nuestro caso vemos

que tenemos valores de error altos, pero estos son muy similares a los obtenidos en regresión lineal.

4.6.3. K-Nearest Neighbors

Para el caso de K-Nearest Neighbors, se ha comentado que es importante determinar el número de

vecinos cercanos a considerar para construir el mejor modelo.

El algoritmo de Scikit Learn que realiza este tipo de regresión se conoce como

sklearn.neighbors.KNeighborsRegressor. Este cual cuenta con el parámetro ‘n_neighbors’, que toma

5 como valor predeterminado. Se trata de un parámetro que controla el número k de puntos que se

tendrán en cuenta a la hora de realizar las predicciones. Un valor de k bajo, puede conducirnos a un

modelo donde el ruido tendrá un efecto grande sobre el resultado, mientras que un valor de k muy

elevado incluirá un costo computacional muy elevado, lo cual tampoco nos interesa. De esta forma,

en tanto que no interesan valores muy altos del parámetro, hay que definir un límite para este. Existe

una regla que indica que el valor óptimo de k es aproximadamente igual a la raíz cuadrada el número

de observaciones. Así pues, se considerarán todos los valores enteros de k entre 1 y dos veces la

raíz cuadrada del número de observaciones, para dar un pequeño margen.

Page 44: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 44

A continuación, se muestran los resultados obtenidos durante la selección del hiperparámetro y la

fase de validación para cada asignatura y DataFrame.

Informática

HIPERPARÁMETRO MODELAJE VALIDACIÓN

DataFrame k RMSE R2 R2-ADJ RMSE MAE

DataFrame1 45 1,7264 0,3078 0,291 1,84 1,4023

DataFrame2 43 1,7356 0,3069 0,2813 1,8413 1,3963

DataFrame3 38 1,7562 0,3077 0,2786 1,7978 1,3649

Tabla 26: Resultados del algoritmo K-Nearest Neighbors para informática.

Vemos que a medida que aumentamos el número de variables, son necesarios menos vecinos para

obtener las mejores predicciones. Los errores obtenidos en la etapa de entrenamiento son muy

similares a los obtenidos durante la validación, con lo cual podemos ver que los valores de k son

buenos.

Los resultados obtenidos para RMSE durante la construcción de los modelos son mejores que los

obtenidos durante la validación en todos los DataFrame, con lo cual vemos que sufrimos overfitting

en todos ellos.

Podemos ver que cuando añadimos variables al modelo, tanto el ajuste como el error medio y el

RMSE bajan. Aun así, los dos primeros DataFrame se comportan de forma muy similar. Sin

embargo, vemos que tenemos predicciones muy bajas, alrededor del 28%, y errores muy altos, con

valores de 1.8 para RMSE y 1.39 para el MAE.

Ecuaciones diferenciales

HIPERPARÁMETRO MODELAJE VALIDACIÓN

DataFrame k RMSE R2 R2-ADJ RMSE MAE

DataFrame1 43 1,4792 0,2994 0,2824 1,4291 1,0434

DataFrame2 56 1,4946 0,2992 0,2734 1,4294 1,0207

DataFrame3 58 1,4576 0,2663 0,2357 1,4558 1,047

Tabla 28: Resultados del algoritmo K-Nearest Neighbors para ecuaciones diferenciales.

DataFrame1 DataFrame2 DataFrame3

Informática k 45 43 38

RMSE 1,7655 1,7793 1,8031

Tabla 25: Resultados del proceso de selección de k para informática.

DataFrame1 DataFrame2 DataFrame3

EDOS k 43 56 58

RMSE 1,5131 1,523 1,4829

Tabla 27: Resultados del proceso de selección de k para ecuaciones diferenciales.

Page 45: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 45

Se observa que a medida que aumentamos el número de variables, necesitamos consultar más

vecinos cercanos por tal de obtener los mejores modelos.

Mirando los resultados obtenidos durante la fase de entrenamiento, vemos que estos son siempre

peores que los de la fase de validación, así pues, se puede observar que no se ha cometido

overfitting.

Los DataFrame 1 y 2 tienen un comportamiento muy similar, ya que no observamos diferencias muy

significativas entre sus resultados. Estos realizan un ajuste alrededor de un 28%, con un error medio

de 1 punto y un RMSE de 1.4 puntos. Aun así, el primero obtiene las mejores puntuaciones. En el

tercer DataFrame empeora en un 4% el ajuste del modelo, mientras que el error de predicción es

sensiblemente peor que en los otros dos.

Electromagnetismo

HIPERPARÁMETRO MODELAJE VALIDACIÓN

DataFrame k RMSE R2 R2-ADJ RMSE MAE

DataFrame1 32 1,4105 0,3176 0,3007 1,4483 1,1084

DataFrame2 46 1,4268 0,3156 0,2899 1,4503 1,1043

DataFrame3 43 1,4052 0,3259 0,2971 1,4326 1,1023

Tabla 30: Resultados del algoritmo K-Nearest Neighbors para electromagnetismo.

En primer lugar, en cuanto al hiperparámetro k, vemos que el segundo conjunto es el que necesita

consultar más vecinos para obtener la mejor estimación, y aun así obtiene los peores resultados.

Los resultados obtenidos durante el modelaje son sensiblemente mejores que los de la validación,

con lo cual se está produciendo overfitting en los modelos finales para cada DataFrame.

Finalmente, analizando los resultados de la validación, vemos como el conjunto de partida es el que

explica más varianza total del modelo. Cuando añadimos la información de las convocatorias, este

ajuste baja sensiblemente, y finalmente cuando añadimos las notas de selectividad este vuelve a

subir, con un valor muy cercano al del DataFrame1, lo que indica que la nota de selectividad ha

resultado una variable influyente en el modelo. Para los tres conjuntos vemos que obtenemos errores

muy similares, siendo 1.4 puntos para RMSE y 1.1 puntos para MAE. En términos de error el mejor

DataFrame es el tercero.

DataFrame1 DataFrame2 DataFrame3

Electro k 32 46 43

RMSE 1,4514 1,4582 1,4405

Tabla 29: Resultados del proceso de selección de k para electromagnetismo.

Page 46: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 46

Materiales

HIPERPARÁMETRO MODELAJE VALIDACIÓN

DataFrame k RMSE R2 R2-ADJ RMSE MAE

DataFrame1 36 1,3731 0,2608 0,2429 1,4317 1,0884

DataFrame2 58 1,3893 0,2568 0,2295 1,4356 1,0845

DataFrame3 52 1,4027 0,2645 0,234 1,4 1,0725

Tabla 32: Resultados del algoritmo K-Nearest Neighbors para materiales.

Al igual que en Electromagnetismo, el segundo conjunto de datos necesita mirar más vecinos que el

resto. Y aun así no consigue mejorar las puntuaciones de los otros. Los errores de la selección del

hiperparámetro y prueba son similares, con lo cual podemos ver que los valores de k son correctos.

Los resultados del training dejan de manifiesto que los modelos obtenidos para los dos primeros

DataFrame sufren overfitting.

En Materiales nos encontramos en un caso similar al de Electromagnetismo, donde el primer

DataFrame es el mejor, y el tercero mejora respecto al segundo, por el hecho de añadir la variable de

la nota de acceso al grado. Para esta asignatura vemos ajustes que oscilan entre 22-24%, valores de

error medio de 1 punto (lo cual tampoco es excesivamente alto si lo comparamos con el resto de

asignaturas), y valores de RMSE de 1.4 puntos.

Mecánica

HIPERPARÁMETRO MODELAJE VALIDACIÓN

DataFrame k RMSE R2 R2-ADJ RMSE MAE

DataFrame1 33 1,6452 0,3324 0,316 1,6543 1,3012

DataFrame2 34 1,6456 0,3255 0,3003 1,6628 1,306

DataFrame3 43 1,6297 0,3217 0,2928 1,6436 1,3078

Tabla 34: Resultados del algoritmo K-Nearest Neighbors para mecánica.

DataFrame1 DataFrame2 DataFrame3

Materiales k 36 58 52

RMSE 1,4136 1,4132 1,4273

Tabla 31: Resultados del proceso de selección de k para materiales.

DataFrame1 DataFrame2 DataFrame3

Mecánica k 33 34 43

RMSE 1,6973 1,6973 1,6739

Tabla 33: Resultados del proceso de selección de k para mecánica.

Page 47: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 47

Vemos que a medida que añadimos datos al conjunto inicial, el algoritmo necesita consultar más

vecinos por tal de obtener los mejores resultados.

Para los modelos construidos para cada conjunto de datos, vemos que los errores de la fase de

entrenamiento son peores que los de validación.

En cuanto a los resultados de la validación, vemos que a medida que añadimos variables, el modelo

ajusta ligeramente peor la varianza total al mismo tiempo que el RMSE se reduce también. Las

predicciones se encuentran alrededor del 30%, el error medio se sitúa en 1.3 puntos y el RMSE toma

valores de 1.6 puntos.

Métodos numéricos

HIPERPARÁMETRO MODELAJE VALIDACIÓN

DataFrame k RMSE R2 R2-ADJ RMSE MAE

DataFrame1 50 1,483 0,2157 0,1967 1,5473 1,1244

DataFrame2 47 1,481 0,231 0,2026 1,5322 1,1105

DataFrame3 35 1,4127 0,2248 0,1926 1,4374 1,0493

Tabla 36: Resultados del algoritmo K-Nearest Neighbors para métodos numéricos.

Se puede ver como el número de vecinos a consultar disminuye a medida que añadimos información

al conjunto inicial.

Los modelos finales construidos para cada DataFrame obtienen valores de RMSE peores durante la

validación en comparación con los obtenidos durante la fase de entrenamiento. De esta forma queda

de manifiesto que los tres modelos sufren overfitting.

En Métodos vemos que añadir información de las convocatorias ayuda a captar mejor la varianza del

modelo, pero cuando se añade también las notas de selectividad esta empeora. Vemos predicciones

muy bajas, que no superan el 20%, y el error es similar al de las asignaturas vistas anteriormente,

obteniendo un MAE de 1.1 puntos de media y un RMSE de 1.5 puntos de media.

Conclusiones del modelo

De los resultados del modelo, podemos observar como el modelo de K-Nearest Neighbors no es muy

satisfactorio a nivel explicativo, ya que los resultados obtenidos son muy pobres.

DataFrame1 DataFrame2 DataFrame3

Métodos k 50 47 35

RMSE 1,517 1,5147 1,4485

Tabla 35: Resultados del proceso de selección de k para métodos numéricos.

Page 48: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 48

Se ha observado que para las asignaturas de informática, electromagnetismo, mecánica y métodos

numéricos en los modelos finales construidos para cada DataFrame ha aparecido overfitting. Por otra

parte, en la asignatura materiales se ha cometido overfitting en los modelos de los dos primeros

DataFrame, mientras que en ecuaciones diferenciales no ha aparecido este fenómeno para ninguno

de los tres conjuntos de datos.

En cuanto al ajuste, podemos identificar como hay dos asignaturas que destacan, Mecánica y

Métodos. La primera obtiene los valores de R2 más elevados, mientras que la segunda presenta la

peor puntuación de este estimador. Aun así, vemos que la diferencia es únicamente del 10%.

En cuanto al error, vemos que obtenemos valores bastante elevados, tanto de RMSE como de MSE.

Los valores más elevados los encontramos en Informática y Mecánica, mientras que los menores son

los de Ecuaciones Diferenciales y Materiales. La diferencia entre los valores más altos y los más

bajos es de prácticamente medio punto (hablando del MAE), lo cual es bastante preocupante cuando

estamos intentando predecir la nota de los alumnos.

Para la elección de los parámetros k óptimos, vemos como aproximadamente se cumple la regla que

introdujimos a la hora de describir el hiperparámetro, y es que el valor óptimo de esta acostumbra a

encontrarse alrededor de la raíz cuadrada del número de observaciones.

No encontramos evidencias de que haya errores en estos valores, ya que en todas las asignaturas

podemos ver como el error cometido durante la selección del valor óptimo de este parámetro es muy

similar al de validación, lo cual pone de manifiesto que estos han sido calculados correctamente.

Un motivo por el cual podemos estar obteniendo estos resultados tan pobres con K-Nearest

Neighbors, es el hecho de que este algoritmo es muy sensible cuando se trabaja con conjuntos de

datos con una dimensión elevada. Cuando se aumenta la dimensionalidad del espacio, los datos

tienden a estar más disperso, lo cual provoca que el modelo necesite consultas más datos de

entrenamiento para obtener resultados fiables. Esto puede provocar que los modelos obtenidos se

acaben ajustando a particularidades de los datos de entrenamiento.

4.7. Análisis de las predicciones

En el apartado anterior hemos podido ver que los modelos construidos se ajustan de forma muy

pobre a nuestros datos, obteniendo errores muy altos. Así pues, podemos ver que a nivel explicativo

no están funcionando correctamente.

Aun así, sería interesante ver si aún y que los resultados sean poco prometedores, podríamos llegar

a utilizar el modelo para poder predecir el rendimiento de determinados alumnos de interés, por

ejemplo, aquellos que aprueben justo o se encuentren cerca del aprobado, y aquellos que obtengan

las mejores notas. A los primeros sería interesante ofrecerles más apoyo o ayuda por tal de que

aprueben sin problemas, y a los segundos por tal de ofrecerles herramientas para poder potencias

más aún sus conocimientos.

Page 49: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 49

Para ello, caracterizaremos a los alumnos en diferentes categorías según las notas obtenidas:

• Categoría 0: En esta se encontrarán los alumnos que obtienen muy malos resultados y se

encuentran lejos del aprobado. Contendrá los alumnos con notas entre 0 y4.

• Categoría 1: Estará formada por aquellos alumnos que se encuentren cerca del aprobado.

Contendrá los alumnos que hayan obtenido notas entre 4 y 6.

• Categoría 2: La forman los alumnos que aprueban de forma cómoda. Se encuentran los

alumnos con calificaciones entre 6 y 8.

• Categoría 3: En esta encontraremos a los mejores alumnos, es decir, los que obtienen las

mejores calificaciones. En esta categoría introduciremos los alumnos que hayan obtenido

calificaciones entre 8 y 10.

Esto lo llevaremos a cabo discretizando los valores de la variable respuesta y de las predicciones

conseguidas. Para cada una de estas, asignaremos los valores obtenidos a una categoría según la

nota obtenida, y finalmente se mostrarán los resultados en forma de matriz de confusión.

La matriz de confusión es una herramienta que se utiliza para visualizar el desempeño de algoritmos

de clasificación, describiendo como se distribuyen los valores reales y sus predicciones. La ilustración

17 muestra como interpretar esta en el caso de un problema donde solo tenemos dos posibles

valores de la salida, positivo y negativo.

Ilustración 17: Ejemplo de interpretación de una matriz de confusión.

Para nuestro estudio, realizaremos la matriz de confusión de los resultados después de haber sido

codificados, y además se añadirá información de las métricas de regresión para cada categoría. De

esta forma profundizaremos más sobre los modelos obtenidos y podremos ver que está ocurriendo

en ellos.

Se ha realizado este estudio para cada asignatura y DataFrame (los resultados se pueden ver en el

Anexo 2), pero solo se mostrarán los resultados del mejor DataFrame para cada asignatura en cada

uno de los algoritmos.

Page 50: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 50

4.7.1. Informática

Regresión Lineal

DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 23 86 21 0 2,9383 2,6162 2,3387 4,9234

4-6 21 165 79 3 1,0913 0,8611 5,2911 5,5

6-8 5 100 132 15 1,3698 1,0821 6,9671 6,2174

8-10 1 14 73 31 2,1473 1,8567 9,0542 7,2391

Tabla 37: Matriz de confusión y métricas por tramos para informática con regresión lineal.

Regresión Ridge

DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 20 90 19 0 2,9532 2,6482 2,3387 4,9671

4-6 15 174 78 2 1,0175 0,8091 5,2911 5,5142

6-8 4 103 135 11 1,3255 1,0543 6,9671 6,2088

8-10 1 15 74 29 2,1915 1,9136 9,0542 7,1727

Tabla 38: Matriz de confusión y métricas por tramos para informática con Ridge.

K-Nearest Neighbors

DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 9 103 17 0 3,1382 2,8608 2,3387 5,1977

4-6 3 187 77 0 0,9013 0,6931 5,2911 5,6412

6-8 1 110 131 10 1,2135 0,9859 6,9671 6,2183

8-10 1 17 78 23 2,2835 2,0549 9,0542 7,005

Tabla 39: Matriz de confusión y métricas por tramos para informática con K-Nearest Neighbors.

Vemos un comportamiento prácticamente idéntico para los tres algoritmos estudiados.

Se observa que se comete un error muy considerable para aquellos alumnos que se encuentran en

el rango de 0 a 4, ya que el algoritmo tiende a predecirlos en su gran mayoría como aprobados. Esto

queda de manifiesto al observar que se comete un error medio de tres puntos prácticamente, y que la

media de las predicciones es mucho mayor que la media de los valores originales.

El rango 4-6 es el que mejor caracteriza el modelo. En este se comete el menor error de todos, y

vemos como las medias de test y predicciones son muy similares. Vemos que el 60-70% de los

alumnos que han obtenido notas dentro de este rango obtienen notas similares en las predicciones.

Para los mejores alumnos, vemos que los modelos tienden a realizar predicciones a la baja,

cometiendo un error medio de prácticamente dos puntos, lo cual hace que la mayoría de estos

acaben perteneciendo al tercer grupo.

Page 51: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 51

4.7.2. Ecuaciones diferenciales

Regresión Lineal

DataFrame 1 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 10 95 2 0 2,8829 2,513 2,2441 4,7565

4-6 8 353 48 0 0,7342 0,6012 5,265 5,1963

6-8 2 175 108 5 1,2939 1,0764 6,7996 5,8732

8-10 0 4 19 16 1,5826 1,2449 8,7881 7,5938

Tabla 40: Matriz de confusión y métricas por tramos para ecuaciones diferenciales con regresión lineal.

Regresión Ridge

DataFrame 1 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 5 100 2 0 2,9105 2,5479 2,2441 4,792

4-6 6 357 47 0 0,7041 0,5784 5,265 5,195

6-8 0 179 106 5 1,2854 1,0779 6,7996 5,8602

8-10 0 4 20 16 1,6115 1,2791 8,7881 7,5482

Tabla 41: Matriz de confusión y métricas por tramos para ecuaciones diferenciales con Ridge.

K-Nearest Neighbors

DataFrame 1 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 10 96 1 0 2,9037 2,529 2,2441 4,7731

4-6 14 360 35 0 0,7023 0,5643 5,265 5,1505

6-8 1 184 103 3 1,3052 1,0997 6,7996 5,7785

8-10 0 4 25 10 1,7796 1,5473 8,7881 7,2409

Tabla 42: Matriz de confusión y métricas por tramos para ecuaciones diferenciales con K-Nearest Neighbors.

Se observa un comportamiento muy similar entre los diferentes algoritmos.

Los modelos se ajustan muy bien para aquellos alumnos que obtienen notas dentro del rango 4-6, ya

que obtenemos aproximadamente un 85% de acierto. Podemos apreciar esto viendo que el error

medio obtenido es de unas seis décimas y las medias de test y predicciones son prácticamente

idénticas.

Sin embargo, podemos ver que el hecho de que los modelos se ajusten tan bien para estos alumnos,

está haciendo que los alumnos entre 0-4 y 6-8 acaben siendo mayoritariamente predichos dentro de

esta clase. Para los alumnos de la última clase, vemos que el modelo tiende a predecir notas

inferiores, con un error medio de 1.5 puntos, lo cual acaba haciendo que la gran mayoría de alumnos

acaben obteniendo notas entre 6 y 8.

Page 52: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 52

4.7.3. Electromagnetismo

Regresión Lineal

DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 56 141 4 0 2,0496 1,7058 2,7345 4,4019

4-6 32 263 34 0 0,8472 0,6751 5,1806 4,9968

6-8 6 118 81 4 1,3786 1,1367 6,7534 5,7745

8-10 0 0 17 2 1,3712 1,2043 8,6114 7,4155

Tabla 43: Matriz de confusión y métricas por tramos para electromagnetismo con regresión lineal.

Regresión Ridge

DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 51 146 4 0 2,0541 1,7181 2,7345 4,4265

4-6 23 273 33 0 0,8081 0,6464 5,1806 5,0017

6-8 5 119 81 3 1,3627 1,1324 6,7534 5,7523

8-10 0 0 16 2 1,441 1,295 8,6114 7,3179

Tabla 44: Matriz de confusión y métricas por tramos para electromagnetismo con Ridge.

K-Nearest Neighbors

DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 22 176 2 0 2,1688 1,8682 2,7345 4,5987

4-6 13 291 25 0 0,7244 0,5823 5,1806 5,0636

6-8 3 138 68 0 1,3555 1,1424 6,7534 5,6966

8-10 0 1 17 0 1,6754 1,5729 8,6114 7,0385

Tabla 45: Matriz de confusión y métricas por tramos para electromagnetismo con K-Nearest Neighbors.

En términos generales, vemos como los modelos se ajustan bastante bien para los alumnos que se

encuentran entre el 4 y el 6, caracterizando correctamente más o menos el 80% de para los modelos

de regresión lineal y ridge, y llegando hasta el 88% en el caso de KNN. Podemos ver que para este

intervalo el error medio es muy pequeño y prácticamente coinciden las medias de test y predicciones.

Como en el caso de Ecuaciones Diferenciales, se está viendo que los modelos se ajustan muy bien

para los alumnos entorno al cinco, lo cual provoca que las predicciones de los alumnos de la primera

y tercera clase tiendan a colocar la gran mayoría en la segunda. Esto también provoca un error para

los mejores alumnos, ya que se tienden a predecir valores más bajos, y prácticamente todos los

alumnos acaban obteniendo calificaciones entre el 6 y el 8.

Page 53: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 53

4.7.4. Materiales

Regresión Lineal

DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 58 132 2 0 2,0513 1,6898 2,6734 4,3357

4-6 53 318 30 0 0,8697 0,7075 5,1941 4,8602

6-8 4 115 59 0 1,4283 1,2106 6,7186 5,5906

8-10 0 1 7 1 1,9112 1,7269 8,6671 6,9403

Tabla 46: Matriz de confusión y métricas por tramos para materiales con regresión lineal.

Regresión Ridge

DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 54 137 1 0 2,059 1,712 2,6734 4,3628

4-6 43 332 26 0 0,8225 0,6717 5,1941 4,8686

6-8 4 122 53 0 1,4376 1,2412 6,7186 5,5413

8-10 0 1 8 0 1,9804 1,8302 8,6671 6,8369

Tabla 47: Matriz de confusión y métricas por tramos para materiales con Ridge.

K-Nearest Neighbors

DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 37 153 1 0 2,1561 1,8286 2,6734 4,4984

4-6 23 353 25 0 0,7497 0,6082 5,1941 4,9306

6-8 2 132 45 0 1,4345 1,256 6,7186 5,5015

8-10 0 1 8 0 2,1757 2,0272 8,6671 6,6399

Tabla 48: Matriz de confusión y métricas por tramos para materiales con K-Nearest Neighbors.

Los tres modelos ajustan los datos de manera muy similar. Los modelos tienden a predecir las notas

alrededor del 5, de esta manera obtenemos buenos resultados cuando intentamos caracterizar los

alumnos de la segunda categoría, con una precisión alrededor del 88%. Tal y como hemos visto en

las asignaturas de Electromagnetismo y Ecuaciones diferenciales esto provoca un error muy grande

en el resto de clases. Para los alumnos entre 0-4 y 6-8 los modelos tienden a ajustarlos como si

formarán parte de esta segunda clase.

Finalmente podemos observar que para Materiales los algoritmos obtenidos tienen muy pocos

registros de alumnos que hayan obtenido notas entre 8 y 10, y en ningún caso son capaces de

ajustar ninguno de estos correctamente.

Page 54: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 54

4.7.5. Mecánica

Regresión Lineal

DataFrame 1 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 276 92 1 0 1,8037 1,3962 2,3208 3,5503

4-6 144 178 23 0 1,2691 1,0696 5,114 4,3486

6-8 12 57 31 4 1,7045 1,3895 6,7781 5,5105

8-10 0 7 8 1 2,9753 2,6739 9,0916 6,4243

Tabla 49: Matriz de confusión y métricas por tramos para mecánica con regresión lineal.

Regresión Ridge

DataFrame 1 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 281 87 1 0 1,8112 1,401 2,3208 3,5821

4-6 145 180 19 0 1,2452 1,0583 5,114 4,334

6-8 12 57 32 2 1,7129 1,4119 6,7781 5,4696

8-10 1 6 8 1 3,0179 2,7309 9,0916 6,3657

Tabla 50: Matriz de confusión y métricas por tramos para mecánica con Ridge.

K-Nearest Neighbors

DataFrame 1 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 277 91 1 0 1,8498 1,4217 2,3208 3,5959

4-6 141 188 14 0 1,2178 1,0255 5,114 4,3223

6-8 14 59 31 0 1,7838 1,5011 6,7781 5,3268

8-10 0 7 10 0 3,2946 3,1322 9,0916 5,9594

Tabla 51: Matriz de confusión y métricas por tramos para mecánica con K-Nearest Neighbors.

En mecánica nos encontramos en el caso donde los modelos están siendo penalizados por la gran

cantidad de notas bajas. Obteniendo ajustes muy altos para los alumnos entre 0-4 pero muy pobre

para las diferentes clases. Puede que nos encontremos ante este hecho ya que encontramos a la

gran mayoría de alumnos entre las dos primeras clases, y las medias de las predicciones son muy

bajas. Los errores para las tres primeras clases son muy similares, pero el error de la cuarta obtiene

unos valores que prácticamente doblan los anteriores.

4.7.6. Métodos numéricos

Regresión Lineal

DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 3 56 15 0 3,2155 2,8522 2,4919 5,3355

4-6 4 184 115 1 0,9427 0,7606 5,3155 5,7776

6-8 0 133 204 6 1,0884 0,8728 6,9157 6,2653

8-10 0 6 43 7 1,8437 1,6355 8,6934 7,0621

Tabla 52: Matriz de confusión y métricas por tramos para métodos numéricos con regresión lineal.

Page 55: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 55

Regresión Ridge

DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 1 57 16 0 3,2178 2,882 2,4919 5,3673

4-6 1 186 115 1 0,9044 0,7273 5,3155 5,7902

6-8 0 140 201 3 1,0579 0,8588 6,9157 6,2505

8-10 0 7 44 5 1,8859 1,6924 8,6934 7,005

Tabla 53: Matriz de confusión y métricas por tramos para métodos numéricos con Ridge.

K-Nearest Neighbors

DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones

0-4 0 57 17 0 3,3601 3,0617 2,4919 5,5536

4-6 1 189 112 1 0,8532 0,6911 5,3155 5,8589

6-8 0 134 204 6 0,9934 0,8179 6,9157 6,2528

8-10 0 5 43 8 1,8972 1,7175 8,6934 6,9765

Tabla 54: Matriz de confusión y métricas por tramos para métodos numéricos con K-Nearest Neighbors.

Podemos observar como el número de suspensos entre 0 y 4 son muy bajos, y los modelos no son

capaces de adaptarse a estos, llegando al punto de K-Nearest Neighbors no es capaz de predecir

correctamente ningún alumno que se encuentra dentro de este rango.

La segunda y tercera categoría tienen prácticamente el mismo número de alumnos, y vemos como

las predicciones se reparten, aproximadamente, 50-50% entre ellas. Esto acaba haciendo que los

datos se ajusten alrededor del 6, con lo cual se cometen errores más bajos en estas.

4.7.7. Conclusiones del apartado

De este estudio hemos podido observar que el hecho de que los errores de los modelos hayan sido

tan elevados se deben a que existen distribuciones desequilibradas de las asignaturas. Así pues, los

algoritmos tienden a realizar mejores predicciones alrededor de las clases donde encontramos el

mayor número de alumnos, haciendo que los alumnos que se encuentran lejos de estos tiendan a ser

ajustados hacia estas notas. Hemos podido ver como para Mecánica e Informática los errores tan

grandes se están cometiendo debido a que hay una distribución mucho más desequilibrada de los

datos.

En mecánica, vemos como la mayoría de los alumnos se encuentran con notas entre 0 y 6, pero las

notas cercanas al 2 están teniendo mucha influencia sobre los modelos, de esta forma se tienden a

hacer predicciones muy bajas de las notas de los alumnos, lo cual acaba resultando en un error de

predicción muy elevado debido a los alumnos que tienen notas entre 6 y 10. En informática se

cometen errores tan grandes debido a que los modelos predicen medianamente bien las notas

alrededor del cinco, pero podemos observar que tenemos muchos alumnos para todas las clases, lo

cual acaba haciendo que se cometa un error muy grande ya que intenta ajustar los alumnos que

obtienen notas cercanas a 0 o al 10 hacia el cinco.

Page 56: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 56

En el resto de asignaturas vemos que ocurre como en informática, ya que los modelos construidos

ajustan muy bien a aquellos alumnos que se encuentran entorno al 5. La diferencia de error que

obtienen estas es debido a que la gran mayoría de alumnos se encuentran cerca de este valor, así

pues, el modelo se ve poco afectado por valores extremos, ya que no hay muchos.

Así pues, tampoco sería viable utilizar los modelos para tratar de predecir aquellos alumnos que

aprueban justo o los que obtienen las mejores calificaciones, ya que podemos ver que los algoritmos

simplemente se están ajustando bien para las clases donde se encuentra la mayor concentración de

registros. Queda patente de esta manera que el hecho de que haya asignaturas como EDOS,

Electromagnetismo, Métodos o Materiales, las cuales parecen ajustar mejor entorno al 5, no serían

del todo fiables ya que los resultados no se deben a un hecho real, sino que se deben a que la gran

mayoría de alumnos se encuentran entorno a esta nota.

4.8. Discusión de los modelos seleccionados

Una vez comparados y contrastados los resultados, los modelos finales seleccionados se resumen

en la Tabla 55.

Algoritmo DataFrame RMSE Test R2 Ajustado RMSE MAE

Informática Ridge 3 1,7467 0,2971 1,7746 1,3699

EDOS Ridge 1 1,4828 0,2958 1,4157 1,0324

Electro Regresión Lineal 1 1,4161 0,3161 1,4131 1,0887

Materiales Ridge 3 1,3926 0,2535 1,3821 1,0709

Mecánica Ridge 1 1,6571 0,3409 1,6237 1,2863

Métodos K-Nearest Neighbors 3 1,4127 0,1926 1,4374 1,0493

Tabla 55: Resumen de modelos finales seleccionados para cada asignatura.

En primer lugar, al tratarse de un estudio de técnicas de regresión, se ha decidido escoger para cada

asignatura el conjunto de datos que arrojaba valores de error menores. Así pues, para las

asignaturas EDOS, Materiales y Métodos se ha decidido escoger los modelos que trabajan con el

DataFrame 3, mientras que para el resto de asignaturas se ha escogido trabajar con el primero. Aun

así, hemos visto que para todas las asignaturas el comportamiento entre los DataFrame era bastante

similar, de esta forma vemos que el hecho de añadir datos al modelo no se está traduciendo, por lo

general, en una mejora de este.

En cuanto a los algoritmos, se puede ver como para informática, ecuaciones diferenciales, materiales

y mecánica el algoritmo que ha obtenido los mejores valores de RMSE ha sido Ridge. Para

electromagnetismo el algoritmo escogido ha sido Regresión Lineal y para Métodos numéricos se ha

escogido K-Nearest Neighbors. Vemos de esta manera que por lo general Ridge es el algoritmo que

obtiene los mejores resultados.

Page 57: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 57

Comparando los valores obtenidos para cada asignatura, vemos como a nivel de coeficiente de

determinación ajustado, Electromagnetismo y Mecánica son las que se ajustan mejor a la varianza

total de los datos, mientras que métodos numéricos es la asignatura para la cual el modelo explica

menos variancia. En términos de error vemos que informática y mecánica son las que obtienen

errores más altos, mientras que el resto de asignaturas se comportan de forma muy similar. Sin

embargo, generalmente los valores de error obtenidos son bastante elevados, lo cual es algo

preocupante cuando se quiere predecir el valor de la nota de un alumno.

Aún y los resultados tan pobres obtenidos, se ha intentado ver si podríamos utilizar los modelos para

identificar alumnos de interés, como aquellos que tuviesen más problemas a la hora de aprobar. Este

estudio no solo ha dejado de manifiesto que los modelos no pueden utilizarse tampoco con esta

finalidad, sino que además da la sensación que los algoritmos están tratando de ajustar los alumnos

alrededor de aquellas notas donde encontramos más registros. De esta forma vemos que solo se

ajustan para algunos datos.

El hecho de que los resultados obtenidos sean tan pobres, y tan similares entre los diferentes

modelos, puede sugerirnos que el problema no sea la falta de ajuste de los modelos, sino que la

calidad de los datos no es suficiente como para realizar predicciones numéricas precisas. En las

conclusiones se hablará más sobre este hecho.

Finalmente, se puede observar que, en los modelos obtenidos para informática, electromagnetismo y

métodos numéricos, se ha cometido algo de overfitting.

Page 58: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 58

5. Programación temporal

A continuación se expone de forma detallada en orden cronológico las diferentes etapas para la

realización y ejecución del proyecto:

• Inicio del proyecto

La primera fase del proyecto se basa principalmente en la familiarización general con el

mismo y con el entorno de trabajo. Inicialmente, se realiza una comprensión del problema que

queremos tratar y se definen los objetivos necesarios y el alcance del estudio. Una vez hecho

esto, necesitamos instalar las herramientas de software necesarias, debemos familiarizarnos

con la librería Pandas y al mismo tiempo refrescar conceptos básicos de programación.

• Análisis y preparación de los datos

Antes de comenzar con el trabajo es necesario conocer los datos de partida y su disposición

en los distintos ficheros, después se definen las características de interés y la estructura de

datos con la que realizaremos el estudio. Una vez hecho esto, pasamos por una etapa de

depuración donde eliminamos registros innecesarios de los datos iniciales, y con los datos

restantes los organizamos según la estructura definida.

• Modelaje y validación

Antes de comenzar con esta etapa, primeramente debemos familiarizarnos con el entorno de

Scikit Learn, y los conceptos estadísticos necesarios. Hecho esto, se seleccionan y

construyen los modelos, y finalmente se realiza una validación e interpretación de los

resultados obtenidos.

• Redacción de la memoria

Finalmente se redacta una memoria que contenga toda la toda la información del

procedimiento seguido y los resultados obtenidos.

Inicio del proyecto

Comprensión del problema

Instalación librerias

Repaso de conceptos básicos y aprendizaje de Pandas

Análisis y preparación de datos

Analisi previo de los datos

Depuración

Transformación

Modelaje y validación

Aprendizaje de Scikit Learn

Selección y construcción de modelos

Validación y discusión de los resultados

Redacción de la memoria

sep-20 oct-20 nov-20 dic-20 ene-21

Tabla 56: Diagrama de Gantt del proyecto.

Page 59: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 59

6. Costos

Los costos asociados a la realización de este proyecto pueden dividirse en costos de personal y de

infraestructura. A continuación, se desglosan los cálculos necesarios para poder determinar el costo

total del proyecto.

Personal

Los costos de personal hacen referencia al estudiante en cuestión que realiza el proyecto, y al

profesor que realiza la supervisión de este.

Para el estudiante, se ha considerado el sueldo estándar de mercado de un ingeniero junior, el cual

ronda los 20€/hora. Para calcular el número de horas de trabajo, se ha considerado la equivalencia

de los 12 créditos ECTS del peso que tiene este en la escuela. Así pues, sabiendo que un crédito

ECTS equivale a 25 horas de trabajo, se calcula que la duración total de este será de 300h. De esta

forma, el costo asociado al sueldo del ingeniero se calcula como 20€/hora*300h, resultando en un

total de 6000€.

Para la supervisión del trabajo, se considera el hecho de la tutoría realizada por el profesor, el cual se

considera como ingeniero senior. El precio medio de un ingiero senior se aproxima a 40€/h, y se

estima un tiempo total de supervisión de 40 horas. Así pues, el costo asociado al profesor se calcula

como 40€/hora*40h, resultando en un total de 1600€.

El costo total de personal se calcula como la suma del costo del alumno y el costo del profesor,

resultando en un total de 7600€.

Infraestructura

Los costos de infraestructura se componen del consumo de las herramientas de software necesarias,

el uso de un ordenador portátil, el consumo de luz e internet y el material de oficina necesario.

Las herramientas de software utilizadas como Python y Pandas son totalmente gratuitas, así que en

el costo de las herramientas se tiene únicamente en cuenta la necesidad de disponer Microsoft

Office, ya que las herramientas Word y Excel, son de vital importancia. Este tiene un precio de

69€/año. Teniendo en cuenta que la duración del proyecto se extiende a cuatro meses y medio, el

costo asociado a la adquisición de licencias se calcula de la siguiente manera:

Page 60: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 60

En cuanto al uso de ordenador, se ha utilizado un ASUS Zenbook 14, cuyo precio de mercado es de

709€. Se considera un costo de mantenimiento del 10% de su precio, para un uso medio de 1000

horas anuales. Sabiendo que el uso del ordenador es necesario en un 95% del tiempo total del

proyecto, el costo total asociado al mantenimiento del ordenador se calcula como:

Además del mantenimiento, también debemos considerar el precio de la amortización de este. Para

calcular este consideramos una esperanza de vida de 4 años, con un uso medio de 45 semanas al

año. Así pues, teniendo en cuenta que se utilizará este durante las 20 semanas de duración del

proyecto, el costo asociado con el mantenimiento se calcula como:

De esta manera, el costo total asociado al uso del ordenador es la suma de los costos de

mantenimiento y amortización, sumando un total de 99,2€.

El costo asociado al consumo de electricidad e internet, se estima que se encuentra alrededor de

unos 125€. Aun así, este costo no se ha considerado en el cálculo final.

Finalmente, el costo asociado con el material de oficina, se entiende como el costo derivado del uso

de papel, bolígrafos, etc. Durante todo el proyecto. Se calcula que el costo total de este es de 20€.

Una vez calculados todos los costos involucrados para la realización del proyecto, sumamos todos

estos para calcular el costo final. De esta forma el precio final asciende a 7745,20€.

En la tabla 57, se muestra de forma más visual el desglose de estos costos y el valor final del

proyecto.

COSTO DE PERSONAL

Concepto €/hora Horas Costo

Ingeniero junior 20 300 6.000 €

Ingeniero senior 40 40 1.600 €

COSTO DE INFRAESTRUCTURA

Concepto Costo

Microsoft Office 365 26 €

Ordenador Mantenimiento 20,20 €

Amortización 79 €

Material de oficina 20 €

COSTO TOTAL 7.745,20 €

Tabla 57: Desglose de costos para la realización del proyecto

Page 61: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 61

7. Impacto ambiental

El hecho de que se haya realizado un proyecto de data mining implica que la mayoría del proceso se

ha realizado utilizando un ordenador. De esta manera el impacto ambiental está asociado al consumo

de recursos energéticos, el consumo de recursos naturales y el impacto social generado por este.

El hecho de hacer gran uso del ordenador no causa impacto ambiental de forma directa, pero si lo

causa indirectamente debido al consumo de energía eléctrica. Para calcular las emisiones de CO2

generadas durante todo el proceso, debemos conocer el mix eléctrico de la red. El mix eléctrico es el

valor que expresa las emisiones de CO2 asociadas a la generación de electricidad que se consume.

Según la Oficina Catalana del Cambio Climático el mix eléctrico de la península en el año 2019 se

estima en 241 g CO2/kWh.

Como se ha dicho anteriormente, se considera que el durante el 95% de las 300 horas del proyecto

se utilizará el ordenador. Así pues, considerando un consumo medio de 190W, el consumo total de

energía eléctrica durante el proyecto es de 0,95·300h·190W = 54,150kWh. De esta manera se

generan un total de 54,150kWh·241 g CO2/kWh = 13.05 kg de emisiones de CO2.

En cuanto al consumo de recursos naturales, nos referimos al obligado uso de papel durante todo el

proceso. La fabricación de papel requiere un consumo importante de madera, energía y agua. Aparte

de necesitar un uso intensivo de medios de transporte que causan contaminación atmosférica a

causa del dióxido de carbono. Aun así, la cantidad total requerida de folios ha sido tan poca que no

se considera este como un impacto considerable.

El impacto social relacionado con nuestro proyecto, es el causado por los cambios que puede aportar

a la escuela la realización de este. La realización de este, podría servir como herramienta para el

profesorado para poder realizar un seguimiento más exhaustivo de aquellos alumnos que sean

necesarios, pudiendo potenciar el rendimiento escolar de estos. Además, esta herramienta podría

implementarse en un futuro por tal de ser utilizada también por los propios alumnos, de tal manera

que puedan ver una predicción de cómo puede ser su rendimiento académico y poder dedicar más

esfuerzos en aquellas asignaturas que pudiesen ir más justos.

Así pues, una vez vistos los diferentes tipos de impacto que puede causar la realización del proyecto,

podemos concluir que el impacto ambiental que genera este es positivo, ya que la cantidad de

residuos que se generan es menospreciable en comparación con la gran cantidad de beneficios y de

gente que podría verse beneficiada por este.

Page 62: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 62

8. Conclusiones

De acuerdo con los objetivos planteados, en este proyecto se ha realizado un estudio de data mining

con la finalidad de estudiar diferentes técnicas de regresión para predecir las calificaciones de los

alumnos de la ETSEIB. Durante todo el proceso, se ha seguido la metodología CRISP-DM,

adaptando sus diferentes fases según las características de nuestro estudio, garantizando de esta

forma que este estudio pueda ser replicado a partir del presente documento. Finalmente, se han

construido diferentes conjuntos de datos sobre los que aplicar los diferentes algoritmos.

Los algoritmos de regresión escogidos han sido la Regresión Lineal, la Regresión Ridge y K-Nearest

Neighbors. Para estos dos últimos, antes de poder construir los modelos finales se ha tenido que

pasar por una etapa de selección de hiperparámetros, por tal de determinar los valores óptimos de α

y k, respectivamente. Al tratarse de un estudio de regresión, se han seleccionado como valores

óptimos aquellos que hacían que minimizaban el error del modelo. Una vez obtenidos los resultados

finales, se ha observado como para Ridge es necesario realizar penalizaciones elevadas sobre los

datos, por tal de obtener los mejores resultados. Para K-Nearest Neighbors se observa que es

necesario consultar un número elevado de vecinos con tal de obtener los valores óptimos.

Para la evaluación de los resultados finales, se han utilizado diferentes técnicas de rendimiento muy

comunes en problemas de regresión, como R2 ajustado, RMSE y MAE. Estas se han estudiado tanto

para los conjuntos de datos de entrenamiento, como para los de validación. Gracias a estas métricas

se ha podido ver como generalmente los resultados obtenidos para los diferentes algoritmos han sido

muy pobres, obteniendo ajustes muy bajos y errores demasiado altos. Además, comparando los

resultados obtenidos durante el entrenamiento y la validación, se ha visto que en muchos casos se

ha producido overfitting.

En cuanto a los diferentes DataFrame construidos, se ha podido ver como generalmente no ha

habido diferencias significativas en los resultados obtenidos de unos u otros, con lo cual parece que

el hecho de añadir variables a el primer conjunto de datos definido no se traduce en una mejoría del

modelo.

La principal conclusión en cuanto a los algoritmos estudiados es Ridge ha resultado ser el mejor para

la mayoría de asignaturas, Aun así, los resultados obtenidos han sido siempre muy parejos, con lo

cual hemos visto que no existe una mejora sustancial de los resultados entre algoritmos.

De forma más específica para cada algoritmo, se ha visto que la Regresión Lineal no ha sido capaz

de modelar un hiperplano que se ajustase de forma fiel a los datos. Ridge ha sido incapaz de evitar la

aparición de overfitting todo y realizar penalizaciones bastante importantes. Así pues, la hipótesis de

modelo lineal no ha funcionado para ningún caso. K-Nearest Neighbors se implementó con la

finalidad de ver si utilizando un algoritmo que utilizase una hipótesis no lineal mejoraba los resultados,

pero se ha visto que no ha sido así. Una de las posibles causas de esto ha sido la elevada

dimensionalidad de los conjuntos de estudio.

Page 63: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 63

En vista de que los resultados obtenidos han sido muy pobres y similares entre los diferentes

algoritmos, da la impresión que el causante de este problema puede ser que la calidad de los datos

no sea suficiente para realizar predicciones numéricas precisas. Esto puede deberse a que se

dispone de datos puramente académicos.

Sin embargo, aunque los resultados del estudio no hayan sido del todo satisfactorio, podemos

concluir que se han cubierto tanto el objetivo principal como los diferentes subobjetivos planteados.

Conclusiones personales

En primer lugar, gracias a este proyecto se ha podido ver la importancia y el potencial la minería de

datos. Hoy en día esta se utiliza para muchas aplicaciones distintas, y la gran cantidad de

herramientas de las que se disponen en la actualidad la convierten en una herramienta

extremadamente útil, debido a la gran cantidad de información que puede extraer de un conjunto de

datos.

Por otro lado, se destaca el hecho de haber podido aplicar los diferentes conocimientos de

informática adquiridos durante todo el grado para poder aplicarlos en un caso práctico. Además, nos

hemos podido familiarizar con la librería Pandas, la cual contiene un gran nombre de herramientas

para hacer más sencillo el proceso de tratado de los datos, y con la librería Scikit Learn, la cual

muestra un increíble potencial para realizar estudios de machine learning.

Trabajo futuro

Debido a la extensión del trabajo final de grado, hay aspectos que no se han podido cubrir durante el

presente estudio, pero que sería importante tener en cuenta por tal de continuar con este en un

futuro. A continuación, se plantean alternativas de análisis para realizar en un futuro siguiendo la

misma metodología utilizada.

Como se comentó anteriormente, Scikit Learn cuenta con más de veinte algoritmos distintos para

realizar estudios de regresión, con lo cual sería interesante trabajar con estos y ver si existe alguno

que construya un mejor modelo para nuestros datos. Algunos ejemplos son la regresión polinómica,

la support vector machine o las redes neuronales.

Durante este proyecto se han considerado como válidos todos aquellos alumnos que cumplían con

las especificaciones de partida. Aun así, hemos visto que los modelos construidos están sufriendo

mucho por la existencia de valores extremos, los que podrían considerarse como outliers o

simplemente alumnos para los cuales los modelos no se ajustan correctamente. Así pues, sería

interesante estudiar estos caso y trabajar con ellos por tal de ver si podemos obtener mejoras

sustanciales en los resultados finales.

Page 64: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 64

Finalmente, como se ha comentado, puede que el problema de los resultados obtenidos venga ligado

con que la calidad de los datos no es suficiente para poder modelarlos con algoritmos de regresión.

De esta manera, sería interesante de cara al futuro que se pudiera almacenar más información

relacionada con los estudiantes, como por ejemplo las horas de estudio, notas de trabajos, notas de

exámenes parciales, etc.

Page 65: Aplicación de modelos de regresión en la predicción de

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 65

Bibliografía

[1] Witten, I. H., Frank, E., & Hall, M. A. (2012). Data Mining: Practical Machine Learning Tools and Techniques. (3.ª ed., p. 584). ISBN 978-0-12-381479-1

[2] Olson, D. L., & Delen, D. (2008). Advanced Data Mining Techniques (p. 39). Berlin. ISBN: 978-3-540-76916-3.

[3] Paul Allison. Prediction vs. Causation in Regression Analysis.

https://statisticalhorizons.com/prediction-vs-causation-in-regression-analysis

[4] Juan Ignacio Bagnato. Aprende Machine Learning: https://www.aprendemachinelearning.com/

[5] Varios autores. Stackoverflow: https://stackoverflow.com/

[6] Scikit-learn: Machine learning in Python (documentación Scikit-Learn):

https://scikit-learn.org/stable/

[7] Python Data Analysis Library (documentación de Pandas): https://pandas.pydata.org/

[8] Cambio climático. Factor de emisión de la energía eléctrica:

https://canviclimatic.gencat.cat/es/actua/factors_demissio_associats_a_lenergia/