• Notifications
  • Fork

/MineriaDeDatos

Hito 3

anibalfuentesjara edited this page Dec 5, 2017 · 34 revisions

Proyecto de Minería de Datos en educación superior

Resumen

El presente proyecto del curso CC5206 - Introducción a la Minería de Datos tiene por objetivo el análisis y estudio de datos de la Educación Superior en Chile, esto incluye datos tanto de Universidades, como Centros de Formación Técnica e Institutos profesionales.

Para ello se analizan datos del Ministerio de Educación correspondientes al año 2017, extraídos del sitio mifuturo.cl, analizando dos datasets. El primero corresponde a uno de carreras e instituciones, con datos de las distintas carreras ofrecidas en Chile junto a la institución que los dicta y diversos datos de la carrera, tal como total de matriculados y egresados, área del conocimiento, arancel, etc; el otro dataset corresponde al dataset de empleabilidad e ingresos, con datos de las carreras y la empleabilidad e ingresos al cuarto año asociados a estas.

Como parte de los objetivos se proponen analizar la incidencia de distintas variables de las carreras tanto en la empleabilidad como en los ingresos que se esperan que estas obtengan. Además se propone realizar un análisis de Clusters en los datos para presentar un mejor entendimiento de los mismos, pudiendo agrupar de mejor manera las carreras de educación superior en Chile. Para esto se propone el uso de distintas técnicas de minería de datos, tales como técnicas de clustering y de clasificación, las cuales se irán mencionando a lo largo de la experiencia.

Datos: bases de datos y preprocesamiento

Bases de Datos

Se utilizaron las bases de datos de "Carreras e instituciones 2017" y "Empleabilidad e ingresos 2017", ambas extraídas del sitio mifuturo.cl y adjuntas en https://github.com/diegobano/MineriaDeDatos/tree/master/superior/Bases%20de%20datos

La base de datos carrera e instituciones 2017 tiene aproximadamente 10000 filas y 36 columnas que presentan información de las distintas carreras dictadas en Chile, especificando la región en la cual se dictan las distintas carreras y las sedes de las Universidades, separadas entre si. Además, la base de datos presenta información relevante de las distintas instituciones, así como el área de la carrera que se imparte, el arancel anual de la carrera, la duración formal en semestres, la matrícula total femenina y masculina, junto a el porcentaje de alumnos provenientes de los distintos establecimientos. En las siguientes figuras se presentan ejemplos de los distintos items presentes en la base de datos de carreras e instituciones:

Por otro lado, la base de datos de empleabilidad e ingresos 2017 presenta información de las carreras dictadas en Chile por las distintas instituciones, sin embargo no hace distinción entre las regiones en las cuales se dicta la carrera o la sede en la cual es dictada, es decir, agrupa las carreras por nombre de la institución y nombre de la carrera. Además, presenta información como la cantidad de años de acreditación de las carreras, la duración real de las carreras (en semestres), la empleabilidad al primer año, el arancel anual al año 2016 y más importante para nuestros objetivos, el ingreso promedio al cuarto año de titulación y la empleabilidad al primer año de titulación. Es por esto que estos datos nos serán útiles para tener información del ingreso promedio de las carreras y la empleabilidad y así poder ver que factores son más importantes al determinar el ingreso y la empleabilidad.

Limpieza y preprocesamiento de los datos

Debido a que información faltantes dentro de las bases de datos, columnas que no aportan información para nuestros propósitos, columnas redundantes y debido a que hay que unir ambas bases de datos a través de un merge, se hizo necesario el realizar una limpieza y un preprocesamiento a los datos.

En primer lugar, se eliminaron todas las columnas que fueran redundantes a través de los dos sets de datos, dejando así las siguientes columnas en el set de datos final:

Tipo de institución Área Acreditación de la institución (datos al 5 de diciembre de 2016)
Porcentaje de alumnos de establecimientos subvencionados Retención 1er ano Duración real (semestres)
Empleabilidad al 1er año Promedio NEM 2016 de matrícula 2016 Nombre carrera genérica
Ingreso promedio al 4° año Arancel anual 2017 Costo de titulación
Duración formal Nivel carrera Matricula 1er año femenina 2016
Matricula 1er año masculina 2016 Matricula 1er año 2016 Municipal
Particular subvencionado Particular pagado Titulación femenina 2015
Titulación masculina 2015 Titulación total 2015 Promedio PSU 2016 de matricula 1er año 2016

Aquellas columnas que no se repetían entre los dos conjuntos de datos pero que fueron eliminadas de todas maneras se consideró que no entregaban información útil para el análisis que se quería realizar (como el código de la carrera) o que entregaban información redundante o innecesaria (como los matriculados totales en vez de solo los de primer año).

Una vez que se eliminaron las columnas que no iban a ser utilizadas se procedió a hacer una limpieza de los datos. Para esto, primero se transformaron todos los valores del tipo "s/i" o "N/A" a el valor numérico 0, ya que en las columnas que poseían este tipo de valores, como Matriculados, Municipal, Particular pagado y Particular Subvencionado, hacía sentido tener valores 0 para las observaciones sin información.

Con los valores inválidos ya transformados, se borraron todas las observaciones de carreras cuya cantidad de matriculados total fuera de 0 personas, debido a que estas representaban carreras "fantasma" o que no tenían ningún alumno en ellas y se consideró que su información podía inducir errores al clasificar u obtener información más compleja en el futuro. Posterior a esto, también se eliminaron las observaciones que no tuvieran información acerca del ingreso al cuarto año de titulación, ya que esta era la variable objetivo que se quería analizar y los elementos que no tuvieran este dato no se podían clasificar ni analizar correctamente.

Por último, se transformaron las columnas de valores no numéricos a clases numéricas con valores entre 0 y la cantidad de posibilidades menos 1 a excepción de la columna acreditación, la cual simplemente se dejó con sus años de acreditación como la clase. Junto con lo anterior, se dividió la columna de ingresos al cuarto año en 8 rangos equidistantes entre $350000 y $2600000 para así poder clasificar en clases un poco más grandes y evitar tener pocos datos para cada uno de los valores que habían anteriormente.

Lo anterior, entonces, daba por terminada la limpieza y preprocesamiento de datos, sin embargo, aun hacía falta unir ambos conjuntos de información. Con esto en mente, se observó que la tabla de datos de empleabilidad era mucho más reducida que la de carreras -1600 vs 10000 observaciones aproximadamente-, ya que los datos de empleabilidad consideraban una sola observación por cada par nombre carrera/institución, mientras que en la tabla de carreras, estas podían estar además divididos entre distintas sedes y jornadas de estudio.

Para solucionar este problema, se agruparon los datos del conjunto de datos de carreras según nombre de la carrera y nombre de la institución y se calculó el valor de cada una de las columnas restantes con las operaciones descritas a continuación:

Variable Función aplicada
'arancel_anual_2017' np.mean
'costo_de_titulacion' np.mean
'duracion_formal' np.mean
'matricula_1er_ano__femenina_2016' np.sum
'matricula_1er_ano_masculina_2016' np.sum
'matricula_1er_ano_2016' np.sum
'titulacion_femenina_2015' np.sum
'titulacion_masculina_2015' np.sum
'titulacion_total_2015' np.sum
'municipal' np.mean
'particular_subvencionado' np.mean
'particular_pagado' np.mean
'promedio_psu_2016_de_matricula_1er_ano_2016' np.mean
'promedio_nem_2016_de_matricula_2016' np.mean
'nivel_carrera' np.mean

Luego de hacer la unión de ambos conjuntos de datos como un inner join entre nombre de carrera y nombre de institución (columnas en común entre las dos tablas), dejando al rededor de 800 observaciones finales, se pudo seguir con la exploración de los datos de una manera más profunda a lo realizado anteriormente y a los primeros intentos de clasificación y agrupamiento de los mismos.

El código utilizado para realizar todo esto se puede ver en el siguiente link

Experimentación y minería de datos

La sección de experimentación y minería de datos será dividida en dos subsecciones, la primera se enfocará a verificar la importancia de los distintos atributos de las carreras en la empleabilidad e ingresos de las mismas, mientras que la segunda se enfocará al clustering de los datos junto a las distintas técnicas utilizadas para el mismo.

Importancia de las características en la empleabilidad e ingresos

Como se mencionó con anterioridad, uno de los objetivos del proyecto es analizar como influyen las distintas características de las instituciones a la hora de determinar la empleabilidad y los ingresos de las mismas. Para esto se analizaran dos métodos, el primero es analizando la importancia de las características mediante un clasificador Random Forest y el segundo es analizando la información mutua existente entre las distintas características y la variable objetivo. Para ello es importante primero revisar estos conceptos.

Random forest es un método de clasificación o regresión basado en árboles de decisión. El método consiste en entrenar distintos árboles de decisión en paralelo para predecir la variable objetivo, pero utilizando en cada árbol un subconjunto aleatorio con reemplazo de las muestras del dataset y un subconjunto del vector de características, lo cual obliga a que existan diferencias entre cada uno de los árboles; la decisión finalmente se toma por votación en caso de problemas de clasificación y por promediación en caso de regresión. Los árboles de decisión son clasificadores que toman las decisiones de manera de disminuir la incertidumbre de la variable objetivo al tomar la decisión, es decir, son clasificadores basados en la entropía. Es así como el método random forest, al entrenar muchos de estos árboles en paralelo es capaz de analizar el impacto de las distintas características en la variable objetivo basado en las apariciones de las características en los distintos árboles entrenados.

El criterio de información mutua es similar a random forest, ya que indica que tan determinada esta una característica cuando tenemos el conocimiento de otra, esto a través de criterios de entropía. Es así como se puede analizar para cada una de las características, que tan determinada se encuentra la variable objetivo cuando tenemos el conocimiento de la característica. El problema de este criterio es que nos sirve para variables discretas, por lo que solo se utiliza para la determinación del sueldo promedio al cuarto año, ya que esta variable se encuentra agrupada.

Una vez aplicados los métodos se obtienen los siguientes resultados:

En la imagen a continuación se muestra el como influyen las distintas variables a la hora de determinar el ingreso promedio por carrera, determinado mediante el método de random forest. De arriba hacia abajo disminuye la importancia de la variable en la determinación de los ingresos. Se destaca que el color de cada barra representa la indicencia de la misma variable pero en la determinación de la empleabilidad; de modo de realizar una comparativa y observar en un mismo gráfico como afectan las características en ingresos y empleabilidad.

El siguiente gráfico nos muestra la importancia de las variables en la determinación de los ingresos pero extraídas mediante el método de mutual information. Se destaca que los colores corresponden también a la importancia en la determinación de los ingresos pero extraída mediante random forest (lo cual corresponde al gráfico anterior); así, se observa que hay una tendencia de las variables de más arriba a ser rojas (alta importancia) y al bajar las variables en su mayoría son amarillas (poca importancia)

Por último, en el siguiente gráfico se observa la importancia de las variables en la empleabilidad de las carreras, extraída mediante el método de random forest regression. El color representa la importancia en los ingresos extraída también mediante random forest (primer gráfico).

Clustering de los datos

El segundo objetivo del proyecto corresponde a caracterizar y agrupar los datos de una mejor manera, para presentar un mejor entendimiento de los mismos; para esto se propone realizar clustering de los datos mediante dos técnicas, la primera corresponde a la clásica técnica de clustering k-means, mientras que la segunda corresponde al método de clustering jerárquico aglomerativo.

K-Means

Para el método k-means se propone realizar la determinación del número óptimo de clusters mediante el método del codo, consistente en graficar la función objetivo vs el número de clusters realizados, presentando los siguientes resultados:

Como se puede observar en la imagen, el número óptimo de clusters se obtiene con 5 grupos, ya que a partir de este momento la diferencia en error con más clusters se va haciendo más pequeña.

Una vez determinado el número de clusters, se procedió a generar éstos y para poder observar de manera visual su calidad se utilizó la herramienta tSNE, que reduce mediante un método no linear a dos dimensiones el dataset, haciendo una proyección de las dimensiones originales, lo que luego fue visualizado como un scatter plot. Este método se caracteriza porque mantiene la lógica de los clusters al realizar la visualización, de modo que si los distintos grupos generados presentan diferencias notables entre sí, la visualización debiera mostrarlos claramente como grupos independientes entre sí.

Los resultados obtenidos de una de las oportunidades en que se aplicó este método se puede observar a continuación:

Clustering Jerárquico

Luego de obtener los resultados de K-Means, se utilizó el método de clustering jerárquico para intentar mejorar los resultados. Luego de probar con sus distintas variantes (avarage, complete, ward, etc), se consideró el método ward como el mejor, ya que era el que generaba una diferencia más clara entre los distintos números de clusters, y se obtuvo la siguiente visualización de los clusters al utilizarlo:

Tal como pasó con K-Means, se observa que el óptimo número de clusters son 5, dado que al aumentarlo el error asociado a dividir con más clusters no disminuye considerablemente (visible en la diferencia de altura entre la línea que separa dos clusters, con las líneas hijas de ésta que separan en dos clusters más cada una). Al igual que con el método de clustering K-Means, se procedió a realizar una visualización de scatter plot usando tSNE, etiquetando los elementos con los grupos obtenidos mediante clustering jerárquico y obteniendo el siguiente resultado:

Una vez extraídos los clusters se proceden a analizar las carreras que los conforman, obteniendo los siguientes 5 clusters y sus carreras representativas:

  1. Centros de Formación Técnica, Institutos Profesionales
  2. Carreras de Medicina y Odontología
  3. Carreras como Psicología, publicidad y periodismo.
  4. Ingenierías civiles en Universidades como UTEM, U. de la Serena, U. del Bio-Bio.
  5. Ingenierías civiles en Universidades como USACH, UTFSM, Universidad de Concepción.

Es importante destacar que si bien estas no son las únicas carreras que conforman cada cluster, son las más representativas (ya que eran las carreras más repetidas dentro de cada cluster).

Análisis

Importancia de variables

Lo primero a destacar en esta sección es que el estudio realizado determina correlaciones y la importancia de las variables a la hora de determinar tanto la empleabilidad como el ingreso promedio, sin embargo no se debe olvidar que correlación no implica causalidad, por lo que no necesariamente las relaciones vistas anteriormente significan implicancias.

Los resultados obtenidos mediante el análisis de incidencia de las variables, utilizando tanto el método de Random Forest como el de Mutual Information, indican que sí existe una relación notoria entre algunas variables y el resultado de la función objetivo, ya que la incidencia de algunas, como el arancel o el nombre de la carrera, es mucho mucho mayor sobre los ingresos al cuarto año que otras variables, como el tipo de la institución y cuántas mujeres se matricularon o titularon en la carrera.

En la empleabilidad éstos resultados fueron incluso más notorios, ya que la variable de mayor incidencia tenía cerca de un 16% de porcentaje de incidencia, seguida por una con el 10%. En comparación con la importancia de las distintas variables en el ingreso, cuya variable de mayor incidencia obtiene un resultado de 9.5% con el método de Random Forest, se puede observar que las variables que poseen gran importancia para una variable objetivo, suelen poseerlo también para la otra, aunque también algunas hay diferencias notorias, como se puede ver en el número de matrículas femeninas, la cuál tiene una incidencia considerable para empleabilidad, pero casi nula para ingresos.

Mediante el uso de Mutual Information, se consiguió dar más validez a los resultados obtenidos mediante Random Forest, ya que la mayoría de las variables que tenían gran incidencia en uno de los métodos también presentaba un nivel de incidencia importante en el otro, y lo mismo para las variables de baja incidencia.

Clustering

K-Means

Los resultados obtenidos mediante el desarrollo de clusters con el método de K-Means no fueron satisfactorios, ya que como msotró la visualización tSNE, que debiese mantener la topología de los clusters reales, mostró datos completamente mezclados, en donde no se puede discernir en las dimensiones de la proyección entre clústers.

Clustering Aglomerativo

A diferencia de los resultados de K-Means, con Clustering Jerárquico aglomerativo se pudo realizar un mejor clustering, ya que la visualización mediante tSNE mostró clusters claramente diferenciados entre ellos, pese a que éstos quedaran repartidos a lo largo de la visualización en vez de mostrarse concentrados en una sola área por cluster.

Se comprobó que existen carreras que difieren entre si en cada cluster y que existen grupos bien definidos de carrera al definir cada uno de los 5 clusters.

Conclusiones

Se realizó un trabajo completo de minería de datos, el cual va desde limpieza y selección de datos, preprocesamiento, unión de bases de datos, pasando por etapas de machine learning que incluyen el uso de técnicas de clasificación, técnicas de selección de características y de clustering.

Con base en el trabajo realizado se puede concluir que efectivamente existen variables de las instituciones que son más decisivas que otras a la hora de determinar el ingreso y la empleabilidad que tendrá una carrera, lo cual se pueden notar claramente en los tres gráficos de barras mostrados en los resultados. Algunas de estas variables que son importantes a la hora de determinar los ingresos de las carreras son por ejemplo el área del conocimiento, el Arancel anual de las carreras, el porcentaje de alumnos provenientes de alumnos subvencionados, el promedio PSU de los alumnos matriculados, entre otras. Dentro de las variables importantes a la hora de determinar la empleabilidad de las carreras destacan la duración formal de la carrera, el nivel formativo, el área del conocimiento, entre otras.

Se destaca que este estudio presenta importancias y correlaciones, sin embargo se debe destacar que correlación no implica causalidad, aunque la sugiere, es así como el estudio realizado puede servir como referencia a un experto en áreas de la educación para realizar un estudio más exhaustivo de estos temas.

Por otro lado, respecto a los métodos de clustering, es posible aseverar que existen grupos medianamente bien definidos dentro de los datos utilizados, pero que no están tan claramente separados como se pensó en un principio y no sirve cualquier método de clustering para obtener los resultados deseados. Se destaca sin embargo que mediante los métodos de clustering se pudieron encontrar grupos de carrera similares entre si y que difieren del resto, como son el caso de carreras de CFT e IP's, carreras como medicina y odontología, ingenierías y carreras humanistas.

De forma más general, se puede concluir que nuestra hipótesis inicial era correcta, y que efectivamente existen sesgos de distintas variables a la hora de determinar los ingresos o la empleabilidad, pero muchas veces estos no son los esperados como dicta la cultura general o algunas variables que se esperan tengan un impacto mayor no lo tienen.

Trabajo futuro

Como trabajo futuro se propone realizar un análisis comparativo cronológico, contrastando datos y resultados actuales con datos de años anteriores y de esta manera verificar el cambio de los resultados respecto al tiempo. También se propone la comparación con datos de otros países, contrastando con países más desarrollados y países menos desarrollados.

Se propone una mejor interpretación de los clusters formados, verificando qué características definen a estos clusters, más que solo que instituciones que formaban cada uno de estos clusters.

Por último se plantea la utilización de reglas de asociación que permitan determinar el cómo inciden las variables y que variables tienden a aparecer juntas, como por ejemplos altos sueldos junto a altos aranceles, etc.