Técnicas de Aprendizaje Automático Aplicadas al Procesamiento de Información Demográfica
Texto completo
(2) Instituto Universitario de Investigación en Informática Escuela Politécnica Superior. Técnicas de Aprendizaje Automático Aplicadas al Procesamiento de Información Demográfica Zoila Ruiz Chávez. Tesis presentada para aspirar al grado de DOCTOR POR LA UNIVERSIDAD DE ALICANTE. DOCTORADO EN INFORMÁTICA. Dirigida por:. Dr. José García Rodríguez.
(3)
(4) Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning. Albert Einstein.
(5)
(6) Agradecimientos Agradezco en primer lugar a Dios por todas las bendiciones recibidas a lo largo de mi vida, a mis padres quienes son mis cimientos y mi guía, gracias por su inmenso amor y paciencia, a mi esposo por su apoyo incondicional y su inmenso amor, a mis hijos Dylan, Deyanira y Dustin que son el motor de mi vida y por quienes me supero cada día, a mis hermanos por su cariño y apoyo. De manera especial agradezco a mi hermana Verónica quien me ha apoyado incondicionalmente en este proceso. Un agradecimiento y reconocimiento especial a mi Tutor José García, quien ha sido una guía durante estos años. Gracias por compartir de forma espontánea todos tus conocimientos y experiencias que facilitaron este proceso, pero sobre todo gracias por tu amistad. Hago extensivo un agradecimiento a la Universidad Central del Ecuador que me ha formado como profesional y a sus autoridades por el apoyo otorgado para realizar mis estudios de doctorado.. Quito, 6 de mayo de 2019 Zoila Ruiz Chávez.
(7)
(8) Resumen En la actualidad, el recurso más valioso en el campo profesional y de investigación es sin duda la información. La velocidad de generación de datos crece de forma exponencial, por ello debemos utilizar todos los recursos tecnológicos disponibles para analizar estos datos con la misma velocidad con la que aparecen. Este es el verdadero reto para quienes de alguna manera están directamente involucrados con la extracción de conocimiento. Los grandes volúmenes de datos incluyen de forma implícita problemas asociadas a la dimensionalidad, tipos de datos y ausencia de datos, en especial los datos provenientes de censos o encuestas. El procesamiento de datos se realiza mediante dos enfoques: los basados en técnicas estadísticas y los basados en técnicas de aprendizaje automático. El principal problema en el procesamiento de datos reside en la selección de técnicas adecuadas para la selección y clasificación de variables. La técnica escogida depende del tipo de información analizada, escoger de forma adecuada una técnica permite obtener información de mayor calidad, reducir el coste computacional y mejorar tiempos de proceso. En este trabajo, se presenta una metodología orientada a procesar datos provenientes de censos o encuestas. La metodología propuesta se basa en las características de los grandes volúmenes de datos y la relevancia que tiene la información que se obtiene de censos o encuestas. El método propuesto aborda el problema de imputación de datos perdidos o ausentes que son muy frecuentes en censos o encuestas. Previo al proceso de imputación, la información necesita ser procesada para extraer un subconjunto de información completa necesaria para entrenar modelos de aprendizaje automático con la finalidad de predecir los valores ausentes..
(9) Para conseguir este dataset se utilizaron varias técnicas tradicionales tales como Pairwise Deletion y Listwise Deletion con la finalidad de eliminar observaciones que presentan valores perdidos. Como siguiente paso en la metodología, se plantea la generación de grupos de información a través de técnicas de aprendizaje automático no supervisado y a través de redes neuronales artificiales. Estos grupos de información que comparten características comunes sirven como datos o fuente de entrada en el proceso de imputación de datos perdidos o ausentes. Los resultados obtenidos en la fase experimental muestran que la generación de grupos (de forma manual o automática) permiten mejorar la clasificación de la variable de prueba, sin embargo también se debe considerar la etapa previa a la generación de grupos. Finalmente, como caso de estudio para validar la propuesta se plantea la imputación de datos para calcular la tasa de mortalidad infantil con brechas educativas para lo cual se seleccionó un dataset de pruebas de una región geográfica específica..
(10) Abstract Nowadays, the most valuable resource in the professional and research field is undoubtedly information. The speed of data generation grows exponentially, so we have to use all available technological resources to analyze this data with the same speed with which they appear. This is the real challenge for those who are in some way directly involved with the extraction of knowledge. Large volumes of data implicitly include problems associated with dimensionality, data types, and lack of data, especially data that came from censuses or surveys. Data processing is done through two approaches: those based on statistical techniques and those based on machine learning techniques. The main problem in data processing lies in the selection of appropriate techniques for the selection and classification of variables. The chosen technique depends on the type of information analyzed, choosing an appropriate technique allows to obtain higher quality information, reduce the computational cost and improve processing times. This thesis presents a methodology for processing census or survey data. The proposed methodology is based on the characteristics of the large volumes of data and the relevance of the information obtained from censuses or surveys. The proposed method addresses the problem of lost or missing data imputation that are very frequent in censuses or surveys. Prior to the imputation process, information needs to be processed to extract a subset of complete information needed to train machine learning models in order to predict missing values. In order to get the dataset, several traditional techniques such as Pairwise Deletion and Listwise Deletion were used to.
(11) eliminate observations that present missing values. The next step in the methodology is the generation of information groups through unsupervised machine learning techniques and through artificial neural networks. These groups of information that share common characteristics serve as data or input source in the process of imputation of lost or absent data. The results obtained in the experimental phase show that the generation of groups (manually or automatically) allow to improve the classification of the test variable, however, the stage prior to the generation of groups should also be considered. Finally, as a case study to validate the proposal, the imputation of data to calculate the infant mortality rate with educational gaps is proposed, for which a test dataset from a specific geographic region was selected..
(12) Índice general. Índice de figuras. XVII. Índice de tablas. XXI. 1. Introducción. 1. 1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.3. Revisión del Estado del Arte . . . . . . . . . . . . . . . . .. 4. 1.3.1. Grandes volúmenes de datos. . . . . . . . . . . . . .. 5. 1.3.1.1. Conjunto de datos (datasets) . . . . . . . .. 7. 1.3.2. Técnicas de Clasificación . . . . . . . . . . . . . . . .. 9. 1.3.3. Algoritmos de Aprendizaje Automático . . . . . . .. 10. 1.3.3.1. K-Media (K-Means) . . . . . . . . . . . . .. 10. 1.3.3.2. K-Medoides . . . . . . . . . . . . . . . . . .. 11. 1.3.3.3. Máquinas de Soporte Vectorial (SVM) . . .. 12. 1.3.3.4. k-Vecinos más cercanos (KNN) . . . . . . .. 15. 1.3.3.5. Esperanza–Maximización(EM) . . . . . . .. 16. 1.3.3.6. Mapas Auto Organizados (SOM) . . . . . .. 18. 1.3.3.7. DBSCAN . . . . . . . . . . . . . . . . . . .. 19. 1.3.3.8. Árboles de Decisión (DT) . . . . . . . . . .. 21. 1.3.4. Revisión de estrategias híbridas de procesamiento de datos. . . . . . . . . . . . . . . . . . . . . . . . . . .. 22. 1.3.5. Consideraciones en la elección de algoritmos de Aprendizaje Automático . . . . . . . . . . . . . . . . . . .. 25. 1.3.5.1. Tipo de datos a ser procesados . . . . . . .. 26.
(13) 1.3.5.2. Limitaciones y Parámetros de los Algoritmos 26 1.3.6. Consideraciones generales . . . . . . . . . . . . . . .. 27. 1.4. Definición del Problema . . . . . . . . . . . . . . . . . . . .. 28. 1.5. Propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 28. 1.6. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 29. 1.7. Estructura de la tesis . . . . . . . . . . . . . . . . . . . . . .. 30. 2. Aprendizaje automático aplicado a datos censales. 31. 2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . .. 31. 2.1.1. Modelo de clasificación de datos . . . . . . . . . . .. 32. 2.2. Revisión del Estado del Arte . . . . . . . . . . . . . . . . .. 34. 2.2.1. Datos de Censos y Encuestas . . . . . . . . . . . . .. 36. 2.2.1.1. Datos de Censos . . . . . . . . . . . . . . .. 37. 2.2.1.2. Datos de Encuestas . . . . . . . . . . . . .. 38. 2.3. Procesamiento de datos censales . . . . . . . . . . . . . . .. 38. 2.3.1. Variable con dos categorías . . . . . . . . . . . . . .. 44. 2.3.2. Variable con más de dos categorías . . . . . . . . . .. 46. 2.4. Propuesta de metodología basada en aprendizaje automático para procesar datos Censales. . . . . . . . . . . . . . . .. 49. 2.4.1. Selección de variables a utilizar (Feature Selection) .. 52. 2.4.2. Imputación de datos (Data Imputation) . . . . . . .. 53. 2.4.3. Extracción de información . . . . . . . . . . . . . . .. 53. 2.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . .. 54. 3. Imputación de datos. 55. 3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . .. 55. 3.2. Trabajos relacionado . . . . . . . . . . . . . . . . . . . . . .. 57. 3.3. Selección de variables representativas . . . . . . . . . . . . .. 59. 3.3.1. Prueba ji-cuadrado. (χ2 ). . . . . . . . . . . . . . . . .. 60. 3.3.2. Análisis de Componentes Principales (PCA) . . . . .. 61. 3.3.3. Bosques Aleatorios (Random Forest, RF) . . . . . .. 61. 3.4. Imputación de valores perdidos . . . . . . . . . . . . . . . .. 62. 3.4.1. Métodos de Eliminación . . . . . . . . . . . . . . . .. 63. 3.4.2. Métodos de Imputación . . . . . . . . . . . . . . . .. 64. 3.4.2.1. Métodos estadísticos . . . . . . . . . . . . .. 66.
(14) 3.4.2.2. Métodos basados en algoritmos de inteligencia artificial . . . . . . . . . . . . . . . .. 67. 3.5. Imputación de datos basada en técnicas de Inteligencia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 68. 3.5.1. Modelo para imputar datos . . . . . . . . . . . . . .. 69. 3.6. Experimentación . . . . . . . . . . . . . . . . . . . . . . . .. 69. 3.6.1. Plataforma de Prueba . . . . . . . . . . . . . . . . .. 72. 3.6.2. Selección de atributos . . . . . . . . . . . . . . . . .. 73. 3.6.2.1. Random Forest . . . . . . . . . . . . . . . .. 73. 3.6.3. Imputación con métodos estadísticos . . . . . . . . .. 75. 3.6.3.1. Imputación dataset completo . . . . . . . .. 77. 3.6.3.2. Imputación por clusters . . . . . . . . . . .. 78. 3.6.4. Imputación con métodos de aprendizaje automático. 80. 3.6.4.1. Imputación dataset completo . . . . . . . .. 80. 3.6.4.2. Imputación por clusters. . . . . . . . . . .. 81. 3.7. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . .. 82. 4. Procesamiento inteligente de datos socio-demográficos. 83. 4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . .. 83. 4.2. Análisis de datos . . . . . . . . . . . . . . . . . . . . . . . .. 84. 4.2.1. Pre-procesamiento . . . . . . . . . . . . . . . . . . .. 86. 4.2.1.1. Integración . . . . . . . . . . . . . . . . . .. 87. 4.2.1.2. Limpieza . . . . . . . . . . . . . . . . . . .. 87. 4.2.1.3. Reducción . . . . . . . . . . . . . . . . . .. 88. 4.2.1.4. Transformación. . . . . . . . . . . . . . . .. 89. 4.3. Random Forest . . . . . . . . . . . . . . . . . . . . . . . . .. 89. 4.3.1. Ranking . . . . . . . . . . . . . . . . . . . . . . . . .. 90. 4.3.2. Clasificación. . . . . . . . . . . . . . . . . . . . . . .. 91. 4.3.3. Random Forest mediante H2O . . . . . . . . . . . .. 92. 4.4. Generación de clusters mediante SOM-Cluster Jerárquico .. 95. 4.4.1. Modelos auto-organizativas (SOM) . . . . . . . . . .. 96. 4.4.1.1. Proceso de entrenamiento (Training progress) 97 4.4.1.2. Mapa de calor (Heat map) . . . . . . . . .. 98. 4.4.2. Mapa de distancias . . . . . . . . . . . . . . . . . . .. 98.
(15) 4.4.2.1. SOM Clustering . . . . . . . . . . . . . . .. 99. 4.4.2.2. Clustering en base al mapeo de datos (codebook) . . . . . . . . . . . . . . . . . . . . 101 4.5. Generación de clusters mediante Gases Neuronales Crecientes103 4.5.1. GNG Clustering . . . . . . . . . . . . . . . . . . . . 105 4.5.1.1. Distribución en el cluster . . . . . . . . . . 105 4.5.2. Clustering en base a los nodos . . . . . . . . . . . . 106 4.6. Caracterización de los clusters . . . . . . . . . . . . . . . . . 108 4.6.1. Tiene discapacidad permanente por más de un año . 109 4.6.2. Cuál es el nivel de instrucción más alto al que asiste o asistió . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.6.3. Cuál es el grado, curso o año más alto que aprobó . 110 4.6.4. Cómo se identifica según su cultura y costumbres . . 111 4.6.5. Discusión . . . . . . . . . . . . . . . . . . . . . . . . 111 4.7. Imputación por cada cluster . . . . . . . . . . . . . . . . . . 112 4.7.1. Técnicas estadísticas . . . . . . . . . . . . . . . . . . 112 4.7.2. Técnicas de aprendizaje automático . . . . . . . . . 114 4.8. Representación espacial . . . . . . . . . . . . . . . . . . . . 116 4.8.1. Cálculo de Mortalidad Infantil . . . . . . . . . . . . 117 4.9. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5. Conclusiones. 121. 5.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5.2. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.3. Publicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.4. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . 126 Anexos. 129. A. Detalle clusters creados manualmente. 131. A.1. Cluster 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 A.2. Cluster 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 A.3. Cluster 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 A.4. Cluster 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 A.5. Cluster 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136.
(16) A.6. Cluster 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 B. Detalle clusters SOM-Cluster Jerárquico. 139. B.1. Cluster 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 B.2. Cluster 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 B.3. Cluster 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 B.4. Cluster 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 B.5. Cluster 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 B.6. Cluster 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 B.7. Cluster 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Bibliografía. 147. Lista de Acrónimos. 163.
(17)
(18) Índice de figuras 1.1. Características de Grandes Volúmenes de Datos . . . . . . .. 7. 1.2. Clasificación de Grandes Volúmenes de Datos . . . . . . . .. 8. 1.3. Ejemplo K-medias . . . . . . . . . . . . . . . . . . . . . . .. 11. 1.4. Ejemplo K-Medoids . . . . . . . . . . . . . . . . . . . . . .. 12. 1.5. SVM, hiperplanos en. R2. y en. R3. . . . . . . . . . . . . . . .. 13. 1.6. Ejemplo KNN . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 1.7. Ejemplo EM . . . . . . . . . . . . . . . . . . . . . . . . . . .. 17. 1.8. Ejemplo SOM . . . . . . . . . . . . . . . . . . . . . . . . . .. 19. 1.9. Ejemplo DBSCAN . . . . . . . . . . . . . . . . . . . . . . .. 19. 1.10. Ejemplo DT . . . . . . . . . . . . . . . . . . . . . . . . . . .. 22. 2.1. Modelo básico para procesar información . . . . . . . . . . .. 44. 2.2. Resultado de Naïves Bayes con 10 variables (clasificación) .. 48. 2.3. Resultado de Naïves Bayes con 19 variables (clasificación) .. 49. 2.4. Modelo propuesto para procesar información demográfica .. 51. 3.1. Ejemplo de selección de variables con RF . . . . . . . . . .. 62. 3.2. Aplicación del método pairwise. . . . . . . . . . . . . . . . .. 63. 3.3. Aplicación del método listwise. . . . . . . . . . . . . . . . .. 64. 3.4. Modelo básico para procesar información . . . . . . . . . . .. 68. 3.5. Modelo básico para procesar información por clusters . . . .. 70. 3.6. Random Forest - Error vs. número de árboles . . . . . . . .. 74. 3.7. Random Forest - Error vs. número de árboles (variables representativas) . . . . . . . . . . . . . . . . . . . . . . . . . .. 76. 3.8. Detalle variable graesc . . . . . . . . . . . . . . . . . . . . .. 77.
(19) 4.1. Procesamiento de datos . . . . . . . . . . . . . . . . . . . .. 85. 4.2. Muestra del dataset original . . . . . . . . . . . . . . . . . .. 90. 4.3. Ranking de variables . . . . . . . . . . . . . . . . . . . . . .. 91. 4.4. Ranking de variables - clasificación . . . . . . . . . . . . . .. 92. 4.5. Historial de entrenamiento . . . . . . . . . . . . . . . . . . .. 95. 4.6. SOM - Distribución por celda . . . . . . . . . . . . . . . . .. 97. 4.7. SOM - Entrenamiento . . . . . . . . . . . . . . . . . . . . .. 97. 4.8. SOM - Mapa de conteo . . . . . . . . . . . . . . . . . . . . .. 98. 4.9. SOM - Mapa de distancias . . . . . . . . . . . . . . . . . . .. 99. 4.10. SOM - Mapa de conteo y distribución por cluster . . . . . . 100 4.11. SOM - Mapa de calor variable URP . . . . . . . . . . . . . 100 4.12. WCSS - Cluster Jerárquico . . . . . . . . . . . . . . . . . . 102 4.13. Cluster Jerárquico - Distribución de los clusters . . . . . . . 102 4.14. Distribución por cada cluster . . . . . . . . . . . . . . . . . 103 4.15. GNG - Grafo de red con 5 y 50 nodos . . . . . . . . . . . . 105 4.16. Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.17. GNG - WCSS . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.18. GNG - Distribución de los clusters . . . . . . . . . . . . . . 107 4.19. Ranking de variables - cluster1 . . . . . . . . . . . . . . . . 108 4.20. Tiene discapacidad permanente por más de un año . . . . . 109 4.21. Cuál es el nivel de instrucción más alto al que asiste o asistió 110 4.22. Cuál es el grado, curso o año más alto que aprobó . . . . . 110 4.23. Cómo se identifica según su cultura y costumbres . . . . . . 111 4.24. Distribución clusters por cantón . . . . . . . . . . . . . . . . 117 4.25. Mapa temático cluster 01 . . . . . . . . . . . . . . . . . . . 118 A.1. Cluster 1 - Detalle variable graesc. . . . . . . . . . . . . . . 132. A.2. Cluster 2 - Detalle variable graesc. . . . . . . . . . . . . . . 133. A.3. Cluster 3 - Detalle variable graesc. . . . . . . . . . . . . . . 134. A.4. Cluster 4 - Detalle variable graesc. . . . . . . . . . . . . . . 135. A.5. Cluster 5 - Detalle variable graesc. . . . . . . . . . . . . . . 136. A.6. Cluster 6 - Detalle variable graesc. . . . . . . . . . . . . . . 137. B.1. SOM Cluster 1 - Detalle variable graesc . . . . . . . . . . . 140 B.2. SOM Cluster 2 - Detalle variable graesc . . . . . . . . . . . 141.
(20) B.3. SOM Cluster 3 - Detalle variable graesc . . . . . . . . . . . 142 B.4. SOM Cluster 4 - Detalle variable graesc . . . . . . . . . . . 143 B.5. SOM Cluster 5 - Detalle variable graesc . . . . . . . . . . . 144 B.6. SOM Cluster 6 - Detalle variable graesc . . . . . . . . . . . 145 B.7. SOM Cluster 7 - Detalle variable graesc . . . . . . . . . . . 146.
(21)
(22) Índice de tablas 1.1. Características presentes en los conjuntos de datos . . . . .. 8. 1.2. Combinación de algoritmos . . . . . . . . . . . . . . . . . .. 23. 1.3. Técnicas y estrategias híbridas . . . . . . . . . . . . . . . .. 24. 2.1. Descripción Matriz de Confusión . . . . . . . . . . . . . . .. 33. 2.2. Descripción Censo Ecuador 2010 . . . . . . . . . . . . . . .. 39. 2.3. Dataset públicos . . . . . . . . . . . . . . . . . . . . . . . .. 40. 2.4. Algoritmos de clasificación aplicados a datasets públicos . .. 40. 2.5. Datasets de censos . . . . . . . . . . . . . . . . . . . . . . .. 41. 2.6. Algoritmos de clasificación aplicados a datasets provenientes del censo . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 42. 2.7. Resultados de clasificación para muestras de variable graEsc recategorizada (a). . . . . . . . . . . . . . . . . . . . . . . .. 43. 2.8. Resultados de clasificación para muestras de variable graEsc recategorizada (b) . . . . . . . . . . . . . . . . . . . . . . .. 43. 2.9. Reducción de dimensionalidad . . . . . . . . . . . . . . . . .. 45. 2.10. Variables predictoras . . . . . . . . . . . . . . . . . . . . . .. 45. 2.11. Precisión de los algoritmos . . . . . . . . . . . . . . . . . . .. 46. 2.12. Reducción de dimensionalidad de Estado Civil . . . . . . .. 47. 2.13. Variables predictoras de Estado Civil . . . . . . . . . . . . .. 47. 2.14. Precisión de los algoritmos . . . . . . . . . . . . . . . . . . .. 48. 2.15. Técnicas utilizadas para imputación de datos . . . . . . . .. 53. 3.1. Atributos con valores perdidos . . . . . . . . . . . . . . . .. 71. 3.2. Dataset de pruebas . . . . . . . . . . . . . . . . . . . . . . .. 71.
(23) 3.3. Porcentaje de valores perdidos por atributo . . . . . . . . .. 72. 3.4. Random Forest - Importancia relativa de variables (a) . . .. 75. 3.5. Random Forest - Importancia relativa de variables (b) . . .. 75. 3.6. Métodos estadísticos - Imputación dataset completo . . . .. 77. 3.7. Clusters generados manualmente . . . . . . . . . . . . . . .. 78. 3.8. Métodos estadísticos - Imputación por clusters . . . . . . .. 79. 3.9. Métodos ML - Imputación dataset completo . . . . . . . . .. 80. 3.10. Clusters generados manualmente . . . . . . . . . . . . . . .. 81. 3.11. knn–Imputación de cada cluster . . . . . . . . . . . . . . . .. 81. 3.12. Métodos ML - Imputación por clusters . . . . . . . . . . . .. 82. 4.1. Random Forest - Importancia relativa de variables (c) . . .. 93. 4.2. Variables a considerar . . . . . . . . . . . . . . . . . . . . .. 94. 4.3. SOM - Elementos por cluster . . . . . . . . . . . . . . . . .. 96. 4.4. GNG - Tiempo de ejecución para variaciones del número de nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 4.5. GNG - Tiempo de ejecución para variaciones de max.edge.age104 4.6. Elementos por cluster con GNG. . . . . . . . . . . . . . . . 107. 4.7. Elementos por cluster (dataset original) . . . . . . . . . . . 108 4.8. Imputación con Mediana . . . . . . . . . . . . . . . . . . . . 112 4.9. Imputación con Moda . . . . . . . . . . . . . . . . . . . . . 113 4.10. Imputación con hot–deck . . . . . . . . . . . . . . . . . . . 113 4.11. Imputación por clusters manual vs clusters SOM-Jerárquico 114 4.12. Imputación con KNN . . . . . . . . . . . . . . . . . . . . . . 114 4.13. Imputación con DT . . . . . . . . . . . . . . . . . . . . . . . 115 4.14. Imputación con Random Forest . . . . . . . . . . . . . . . . 115 4.15. Resumen Imputación dataset completo . . . . . . . . . . . . 116 4.16. División político administrativa por cantones . . . . . . . . 116 4.17. Mortalidad Infantil por rango de edades . . . . . . . . . . . 118 4.18. Datos según rango edad y nivel educación . . . . . . . . . . 119 A.1. Detalle clusters generados manualmente . . . . . . . . . . . 131 A.2. Cluster 1 - Imputación . . . . . . . . . . . . . . . . . . . . . 132 A.3. Cluster 2 - Imputación . . . . . . . . . . . . . . . . . . . . . 133 A.4. Cluster 3 - Imputación . . . . . . . . . . . . . . . . . . . . . 134.
(24) A.5. Cluster 4 - Imputación . . . . . . . . . . . . . . . . . . . . . 135 A.6. Cluster 5 - Imputación . . . . . . . . . . . . . . . . . . . . . 136 A.7. Cluster 6 - Imputación . . . . . . . . . . . . . . . . . . . . . 137 B.1. SOM - Detalle distribución por cluster . . . . . . . . . . . . 139 B.2. SOM Cluster 1 - Imputación . . . . . . . . . . . . . . . . . 140 B.3. SOM Cluster 2 - Imputación . . . . . . . . . . . . . . . . . 141 B.4. SOM Cluster 3 - Imputación . . . . . . . . . . . . . . . . . 142 B.5. SOM Cluster 4 - Imputación . . . . . . . . . . . . . . . . . 143 B.6. SOM Cluster 5 - Imputación . . . . . . . . . . . . . . . . . 144 B.7. SOM Cluster 6 - Imputación . . . . . . . . . . . . . . . . . 145 B.8. SOM Cluster 7 - Imputación . . . . . . . . . . . . . . . . . 146.
(25)
(26) Índice de algoritmos 1.. Algoritmo k-Media . . . . . . . . . . . . . . . . . . . . . . . .. 10. 2.. Algoritmo K-Medoids . . . . . . . . . . . . . . . . . . . . . .. 12. 3.. Algoritmo kNN. . . . . . . . . . . . . . . . . . . . . . . . . .. 15. 4.. Algoritmo Esperanza-Maximización . . . . . . . . . . . . . .. 17. 5.. Algoritmo SOM . . . . . . . . . . . . . . . . . . . . . . . . .. 18. 6.. Algoritmo DBSCAN . . . . . . . . . . . . . . . . . . . . . . .. 20. 7.. Algoritmo DT . . . . . . . . . . . . . . . . . . . . . . . . . .. 21. 8.. Algoritmo propuesto para procesar información demográfica. 50.
(27)
(28) Capítulo 1. Introducción Este capítulo introductorio realiza un recorrido que sumariza el trabajo doctoral realizado. El capítulo está organizado en las siguientes secciones: la sección 1.1 presenta una breve introducción de la propuesta realizada en este trabajo, la sección 1.2 presenta la motivación que llevó a la realización de este trabajo, la sección 1.3 revisa el estado del arte en temas relacionados con los objetivos de este trabajo, la sección 1.4 define el principal problema encontrado en el procesamiento de grandes volúmenes de datos, la sección 1.5 describe la propuesta para el procesamiento de datos provenientes de censos o encuestas, la sección 1.6 resume los principales objetivos de este trabajo y, finalmente, la sección 1.7 describe la estructura de este documento.. 1.1.. Introducción. La información es actualmente uno de los recursos más valiosos dentro de cualquier campo. La generación de datos y por tanto de información valiosa ha crecido de forma exponencial en los últimos años. Este crecimiento se debe en gran medida a la democratización en el acceso a Internet y la aparición de redes sociales, estos datos e información son complejos y requieren de grandes recursos tecnológicos para ser analizados con el fin de extraer información relevante que responda a determinados problemas. Los datos, la información y el conocimiento forman parte importante en el desarrollo de las sociedades, a medida que la tecnología avanza, tam-.
(29) 1.1. Introducción. bién lo hace la complejidad de la información a ser analizada, es así que actualmente los datos han pasado de representarse de una forma simple como números y cadenas de texto, a formas complejas como por ejemplo: imágenes, vídeos o en el campo médico cadenas de ADN. En la actualidad existen estudios en diferentes campos orientados a extraer información relevante sobre tendencias, desafíos y oportunidades a partir de los datos, todos estos estudios tienen algo en común, trabajan con grandes volúmenes de datos o Big Data. El uso de grandes volúmenes de datos es cada vez más evidente, pero estos conjuntos de datos, en su mayoría, son complejos y provienen de diversas fuentes siendo estos estructurados o no estructurados, algunos autores mencionan la combinación de características de estos dos tipos como datos semi-estructurados. Por ello, es necesario buscar mecanismos que permitan clasificarlos y, de cierta manera, organizarlos para facilitar a los usuarios la extracción de información relevante. Existen diferentes mecanismos para el procesamiento y análisis de datos, entre ellas podemos mencionar las técnicas estadísticas, estocásticas y las basadas en Aprendizaje Automático o Machine Learning (ML por sus siglas en inglés). Estas últimas pertenecen a una rama de la Inteligencia Artificial que se basa en técnicas que permiten a las computadoras aprender y modificar su comportamiento en función de su experiencia o conocimiento adquirido de manera autónoma [81]. El Aprendizaje Automático agrupa una amplia gama de técnicas enfocadas a resolver diversos problemas, como son: selección de características, clasificación, agrupación o imputación de datos entre otras. El principal problema encontrado en los diferentes estudios orientados al procesamiento de los grandes volúmenes de datos reside en la selección de técnicas adecuadas para la selección y clasificación de variables. La técnica escogida depende del tipo de información analizada, esto permite obtener información de mayor calidad, reducir el coste computacional y mejorar tiempos de proceso. Entre los criterios más empleados se encuentran: la dimensionalidad de los datos, las características relevantes [33] y la veracidad de la información obtenida. Con estas consideraciones podemos seleccionar las técnicas 2.
(30) Capítulo 1. Introducción. más adecuadas de Aprendizaje Automático que nos permitan optimizar los resultados obtenidos.. 1.2.. Motivación. La principal motivación para la realización de este proyecto aparece por la inquietud en encontrar nuevas relaciones entre datos provenientes de censos o encuestas y la manera de analizarlos para ayudar en la resolución y toma de decisiones relativas a diversos problemas sociales y de salud pública. Como parte del programa de DOCTORADO en Informática que he cursado gracias al convenio que existe entre la Universidad Central del Ecuador y la Universidad de Alicante, fue posible realizar la investigación en este tema y producto de la misma se obtiene el siguiente documento. La Universidad Central del Ecuador, mediante el convenio firmado con la Universidad de Alicante, apoya el desarrollo de programas de Doctorado y las investigaciones que se desarrollan en proyectos en las áreas científica y tecnológica, orientados a crear conocimiento o profundizar el ya existente. En el Ecuador, dentro de la constitución. 1. se establecen una serie de. propuestas, requerimientos y lineas de actuación, para el fortalecimiento de la investigación en campos que son prioridad para el estado. El Art. 80 garantiza la investigación científica y tecnológica en Universidades, Escuelas Politécnicas y centros de investigación científica. A través de los diferentes objetivos establecidos en el Plan del Buen Vivir (actualmente Toda una Vida) 2 , se establecen dichos campos de investigación, que permiten encontrar financiamiento para realizar diferentes proyectos de investigación que contribuyan al cumplimiento de cada objetivo o bien aporten información que permita formular políticas públicas. Dentro de los objetivos se plantea la financiación de las propuestas de Investigación, Desarrollo e Innovación, I+D+i, que es el marco en que se desarrolla este proyecto. Por otro lado, consideremos que en los países se realizan periódicamente los censos de población y vivienda, para poder generar políticas en 1 2. http://pdba.georgetown.edu/Parties/Ecuador/Leyes/constitucion.pdf http://www.planificacion.gob.ec/. 3.
(31) 1.3. Revisión del Estado del Arte. base a los indicadores que se obtienen y calcular proyecciones que se van ajustando en el tiempo gracias a las encuestas que se realizan en períodos de tiempo más cortos. Estas proyecciones permiten a los Gobiernos locales y nacionales conocer de forma anticipada las necesidades sociales básicas relativas a la educación, salud, vivienda, empleo, movilidad y seguridad, permitiendo así encaminar sus decisiones de asignación de recursos e implementar políticas para mejorar la calidad de vida de toda una sociedad. En cada país, existen instituciones encargadas de generar informes que contiene estimaciones, proyecciones e indicadores derivados de fuentes de información como son, los censos y encuestas que se realizan en períodos de tiempo establecidos. Se realiza el cálculo de proyecciones de población bajo el método de componentes principales [12][67] y la mayoría de los indicadores resultantes se los puede contrastar con información de estadísticas vitales. Siendo los recursos técnicos más empleados, aquellos que se basan en estimaciones estadísticas. Actualmente se está apostando por nuevas metodologías para el análisis de este tipo de datos, de manera que la obtención de patrones que describan subconjuntos representativos de los datos recopilados se convierte en el principal objetivo y enfoque de nuestro trabajo. De esta manera, obtener estas agrupaciones relevantes en base a la información proveniente de censos o encuestas, permite de cierta manera dar un significado al comportamiento de cada grupo obtenido y poder extraer información no trivial y convertirla en información potencialmente útil para describir algún fenómeno.. 1.3.. Revisión del Estado del Arte. En los últimos años se ha observado un acelerado crecimiento en el volumen de información disponible en la red. Así mismo, han aparecido diversas alternativas para el procesamiento de estos grandes volúmenes de datos (Big Data) y su almacenamiento [54]. Debido a esto, se han generado muchos estudios que se orientan al procesamiento de grandes volúmenes de datos y extracción de información relevante que permita generar conocimiento [53]. 4.
(32) Capítulo 1. Introducción. Las diferentes técnicas de Aprendizaje Automático permiten conseguir este propósito, por ello, varios estudios se han inclinado por reemplazar el análisis estadístico por el uso de estas técnicas de ML. Para esto es necesario conocer las características principales de los datos, como son: heterogeneidad, autonomía, complejidad y evolución [119]. Presentar alternativas en el procesamiento de grandes volúmenes de datos, es sin duda alguna el objetivo principal de muchos trabajos o proyectos en la actualidad [97]. La capacidad de procesar información con ahorro en costos computacionales maximizando la relevancia y fiabilidad de la información obtenida es un verdadero reto [3]. Por las razones expuestas, las técnicas de Aprendizaje Automático son una buena alternativa para resolver problemas relacionados con grandes volúmenes de datos. A continuación revisamos algunos algoritmos, combinación de técnicas o propuestas de técnicas híbridas empleadas con éxito en el procesamiento de datos provenientes de diferentes fuentes.. 1.3.1.. Grandes volúmenes de datos. Grandes volúmenes de datos, o su término en inglés Big Data, hace referencia a enormes conjuntos de datos que provienen de diversas fuentes, con diferentes formatos y que poseen características especiales. Su naturaleza es compleja, esto hace que su procesamiento también lo sea [88]. Big Data, como se lo conoce más comúnmente, está presente en todos las áreas y sectores a nivel mundial, siendo tal su impacto social y económico que se considera una área de investigación [124]. Sin embargo, su complejidad supera la capacidad de procesamiento de las herramientas tradicionales. Debido a esto, se requiere de plataformas de computación de alto rendimiento que permitan explotar toda su potencialidad [106]. Estos requerimientos se han convertido sin duda en un verdadero desafío. Muchos estudios se centran en la búsqueda de metodologías que permitan bajar costos computacionales con incremento en la relevancia de la información extraída. La necesidad de extraer conocimiento útil ha exigido a los investigadores aplicar diferentes técnicas de Aprendizaje Automático, comparar los resultados obtenidos y analizarlos de acuerdo a las características propias 5.
(33) 1.3. Revisión del Estado del Arte. de los grandes volúmenes de datos (volumen, velocidad, veracidad y variabilidad, conocidas como las 4V’s) [82]. Estas características varían, unos autores añaden más V’s [41], como Visión, Valor, Verificación, entre otras, incluso le añaden la Complejidad e Inmutabilidad [32]. Volumen: Se refiere a grandes colecciones de datos de diversas fuentes, diferentes usos y propósitos. Velocidad: Se refiere a la velocidad con la que aparecen nuevos datos. Variedad: Complejidad de múltiples fuentes y formatos de datos. Veracidad: Analizar los datos y determinar su fiabilidad. Las empresas actualmente tienen que lidiar con el problema del procesamiento de grandes volúmenes de datos, considerando la diversidad y heterogeneidad de los datos. Se han modificado tanto el almacenamiento tradicional como la visualización de los resultados, mediante la utilización del almacenamiento en la nube, mejorando el poder de computación y visualización con indexación eficiente [117]. Para conseguir este propósito, se han mejorado los métodos orientándolos a trabajar con un Volumen inmenso de datos, combinando diversas fuentes de datos (Variedad), modificando la forma tradicional de procesar los datos, que permita un procesamiento eficiente en tiempo real (Velocidad), todo enfocado a obtener información con Valor yVeracidad. En la mayoría de los estudios analizados se pudo notar que los resultados obtenidos depende en gran parte de los datos que se utilicen, dependiendo de sus características se debe escoger las técnicas a utilizar. Pese a que existen diversas técnicas que permiten optimizar los algoritmos utilizados, en su mayoría depende más de cómo se han tratado los datos en la etapa de pre-procesamiento. Actualmente existen millones de datos disponibles en la nube, estamos viviendo la era del Big Data, los datos se generan, recopilan y analizan a velocidades sin precedentes [31]. Las grandes empresas almacenan grandes volúmenes de datos, que posteriormente son analizados para la toma de decisiones, más aún si los datos provenientes de diversas fuentes pueden 6.
(34) Capítulo 1. Introducción. Figura 1.1: Características de Grandes Volúmenes de Datos. ser fusionados para potenciar el valor de los resultados obtenidos gracias a su procesamiento y análisis. Estos datos se pueden clasificar en datos estructurados y no estructurados. En ambos casos, su complejidad supera la capacidad de procesamiento de las herramientas tradicionales. Existen técnicas que permiten un rápido acceso a datos, sean estructurados, semi–estructurados o no estructurados [14], así como plataformas [25] orientadas a procesar, analizar y visualizar estos datos. Datos estructurados: son datos que tienen bien definido su longitud y formato. Datos no estructurados: carecen de un formato específico.. 1.3.1.1.. Conjunto de datos (datasets). Con el crecimiento del tamaño de los datos, es esencial considerar técnicas que permitan encontrar relaciones complejas entre muestras y modelos considerando siempre la evolución de los datos en el tiempo [116]. De esta forma, podemos construir sistemas cuyo diseño permita que los datos no estructurados puedan ser vinculados a través de relaciones. Esto permitirá obtener patrones válidos mediante los cuales se puedan predecir tendencias o comprender de mejor manera un fenómeno. 7.
(35) 1.3. Revisión del Estado del Arte. Figura 1.2: Clasificación de Grandes Volúmenes de Datos. La Tabla 1.1 propone un clasificación con criterios de velocidad, volumen y variabilidad de algunos tipos de conjuntos de datos populares para validar diferentes métodos que suelen utilizarse en el procesamiento con grandes volúmenes de datos.. Tabla 1.1: Características presentes en los conjuntos de datos. Conjunto de datos Repositorio de base de datos de ML [50] Informática social [82] Conjunto de datos sintéticos [20] Datos socio-demográficos [75] Datos reales [28]. Características Velocidad Volumen Variabilidad X X X X X X X X X X X X. Como vemos en la tabla anterior, existen conjuntos de datos que se pueden utilizar para la comprobación, validación, comparación y entrenamiento previo de los algoritmos para procesar los datos. Muchos de estos algoritmos requieren de entrenamiento para procesar de forma adecuada los datos. Cada conjunto de datos tiene características [92] que permiten escoger los que se ajusten mejor a los datos reales. 8.
(36) Capítulo 1. Introducción. 1.3.2.. Técnicas de Clasificación. En esta sección introducimos los algoritmos más relevantes para clasificación y su relación con plataformas para grandes volúmenes de datos. En primer lugar, se presenta una clasificación de las técnicas de aprendizaje automático en base al tipo de aprendizaje, para posteriormente describir algunos algoritmos relevantes de clasificación. Los algoritmos de clasificación se dividen según el tipo de aprendizaje en: Supervisados. La principal tarea es determinar a qué clase pertenece cada nuevo dato. Esto se consigue en base al entrenamiento al que se somete al sistema con la ayuda de conjuntos de muestra. Estas técnicas solo se pueden utilizar si se conoce a priori el número de clases. Ejemplos de estos algoritmos son los Basados en Vecindad, Árboles de Decisión (DT) y Máquinas de Soporte Vectorial (SVM). No supervisados. Se utilizan cuando no se dispone de conjuntos de entrenamiento. Por lo tanto, utilizan algoritmos de agrupamiento para poder construir grupos, de manera que los datos pertenecientes al grupo tengan un alto nivel de semejanza entre sí, estas semejanzas no suelen ser perceptibles a simple vista. Entre los algoritmos más utilizados podemos encontrar K-Media, SOM, Agrupamiento Secuencial, ISODATA o Método adaptativo. El principal problema encontrado en los diferentes estudios orientados al procesamiento de grandes volúmenes de datos, reside en la selección de técnicas adecuadas para la selección y clasificación de variables. La técnica escogida depende del tipo de información analizada, esto permite obtener información de mayor calidad, reducir el coste computacional y mejorar tiempos de proceso. Entre los criterios más empleados se encuentran: la dimensionalidad de los datos, las características relevantes [33] y la veracidad de la información obtenida. Con estas consideraciones podemos seleccionar las técnicas más adecuadas de Aprendizaje Automático que nos permitan optimizar los resultados obtenidos. 9.
(37) 1.3. Revisión del Estado del Arte. 1.3.3.. Algoritmos de Aprendizaje Automático. A continuación se presentan algunos de los algoritmos de aprendizaje automático más relevantes:. 1.3.3.1.. K-Media (K-Means). Es un método sencillo y eficiente, necesita un solo parámetro inicial (k) y sus resultados dependerán de la selección inicial de los centroides de los clusters [1]. Este algoritmo, propuesto por MacQueen en 1968, se basa en la optimización del error cuadrático total, divide un conjunto de datos dado en k-grupos fijados a priori, de tal forma que la similitud intra-cluster es alta en contraposición de la inter-cluster que debe ser baja. Dicha similitud se basa en la distancia Euclidiana [127]. El algoritmo 1. 3. muestra el detalle del método descrito anteriormente.. Datos: dataset Resultado: datos clasificados 1. seleccionar k centros aleatorios. 2. mientras se pueda reasignar centros hacer asignar datos al ki más cercano; calcular el centroide de los datos para cada grupo; fin. 3 4. Algoritmo 1: Algoritmo k-Media. La Figura 1.3. 4. muestra un ejemplo de agrupación de documentos de. texto utilizando k-means. En esta imagen podemos distinguir claramente los centroides y cómo se han asignado los puntos a cada grupo.. 3 4. 10. https://www.unioviedo.es/compnum/laboratorios_py/kmeans/kmeans.html https://scikit-learn.org/stable.
(38) Capítulo 1. Introducción. Figura 1.3: Ejemplo K-medias. 1.3.3.2.. K-Medoides. Se considera una variación de k-means. Su objetivo es determinar el mejor representante del centro de cada cluster (medoide) [91]. Trabaja con una métrica arbitraria de distancias entre puntos (observaciones), minimiza la suma de diferencias entre los puntos etiquetados para estar en un grupo y el punto designado como el centro. Es más robusto ante la presencia de ruido que k-means, por la minimización de suma de disimilaridades en lugar de la suma de distancias Euclidianas cuadradas [125]. El algoritmo 2 5 muestra el detalle del método descrito anteriormente. La Figura 1.4. 6. muestra un ejemplo de aplicar el algoritmo K-medoids. y los grupos obtenidos al aplicar este método. 5 6. http://bibdigital.epn.edu.ec/bitstream/15000/19398/1/CD-8788.pdf https://stats.stackexchange.com/questions/156210. 11.
(39) 1.3. Revisión del Estado del Arte. Datos: dataset Resultado: datos clasificados 1. Seleccionar k objetos aleatoriamente. 2. Calcular Cij : coste Oi , Kh. 3. Se asocia cada Oi al Kh medoide más cercano. 4. Se determina coste total (CT): suma de la distancia de los puntos a sus medoides. 5. mientras Coste configuración disminuye hacer Para cada Kh , para cada Oi : Intercambiar Kh y Oi , recalcular costo Si costo aumento, deshacer intercambio fin. 6 7 8 9. Algoritmo 2: Algoritmo K-Medoids. Figura 1.4: Ejemplo K-Medoids. 1.3.3.3.. Máquinas de Soporte Vectorial (SVM). Sus siglas provienen del inglés (Support Vector Machine), es un algoritmo que dado un conjunto de entrenamiento con etiquetas de clase 12.
(40) Capítulo 1. Introducción. (mediante entrenamiento), puede construir un modelo que prediga la clase de una nueva muestra [29]. Es una técnica orientada a resolver problemas de clasificación de grandes volúmenes de datos, en la que se construye un hiperplano o conjuntos de hiperplanos en un espacio bidimencional muy alto, busca el hiperplano que tenga la máxima distancia (margen) con los puntos que estén más cerca de él mismo, de tal forma que los puntos etiquetados con una categoría estén a un lado del hiperplano y los de otra categoría al otro lado del hiperplano [94]. La Figura 1.5 7 muestra cómo es un hiperplano en conjuntos de dimensión 2 y 3.. Figura 1.5: SVM, hiperplanos en R2 y en R3. Aquí podemos encontrar que los datos suelen ser de dos tipos, se suele decir linealmente separables y los no linealmente separables [40]. En los datos linealmente separables se utiliza el margen (γ) como el hiperplano para separar las clases, y lo definimos a partir del supuesto que para el conjunto de entrenamiento (xi , yi ), i = 1, ..., m, con xi ∈ R e yi ∈ {−1, 1}, existe un hiperplano que separa los datos, de la forma: f (x) = x · w + b. (1.1). El margen sería entonces, las distancias de los puntos más cercanos al hiperplano y el principal objetivo a conseguir es maximizar el margen que 7 https://stats.stackexchange.com/questions/378672/image-classification-andmachine-learning-not-deep-learning-algorithms?rq=1. 13.
(41) 1.3. Revisión del Estado del Arte. se define de la siguiente manera: 1 w w γ= ( · x+ − · x− ) 2 kwk2 kwk2. (1.2). Para los datos no linealmente separables , que son la mayoría de los casos en los que trabajamos con datos reales, encontrar un hiperplano óptimo que separa de forma adecuada los datos no es tarea fácil. En este problema se introduce un condicionante que permite tener un modelo menos rígido, permitiendo que exista un error aceptable al momento de clasificar los datos. Este error lo denotamos con ε ≥ 0, siendo ahora el supuesto de la forma: yi (w · xi + b) − 1 + εi ≥ 0, ∀i. (1.3). Y el problema de optimización de la forma: l X 1 mínw,b kwk2 + C εi 2 i=1. (1.4). En espacios de datos no linealmente separables , podemos necesitar hiperplanos de mayor dimensión que permitan convertir al problema de datos no separables mediante una proyección a datos linealmente separables. Esto es posible utilizando las funciones de kernel, que permiten proyectar la información a un espacio de características de mayor dimensión, podemos mencionar algunas funciones de Kernel ampliamente utilizadas : Polinomial-homogénea: K(Xi , Xj ) = (Xi · Xj )n Perceptron: K(Xi , Xj ) = ||Xi − Xj || Función de base radial Gaussiana: K(Xi , Xj ) = exp 14. −(X − X )2 i j. 2 ∗ sigma2.
(42) Capítulo 1. Introducción. Sigmoid: K(Xi , Xj ) = tanh(Xi · Xj − θ). 1.3.3.4.. k-Vecinos más cercanos (KNN). El algoritmo KNN por sus siglas en inglés (k-Nearest Neighbour), es sencillo y local. Se necesita especificar una métrica adecuada para medir la proximidad. Es sensible al ruido y a la dimensionalidad. Se basa en un entrenamiento mediante ejemplos cercanos al espacio de los elementos, es un tipo de algoritmo Lazy Learning [13], donde la función se aproxima solo localmente y todo el cómputo es diferido a la clasificación, es decir un nuevo caso se va a clasificar en la clase más frecuente a la que pertenecen sus vecinos más cercanos. El algoritmo 3. 8. muestra el detalle del método descrito anteriormente.. Datos: dataset test T, dataset D Resultado: datos clasificados. 4. para todo objeto xi ∈ T hacer Calcular di = d(xi , x) fin Ordenar ascendente di (i = 1, ..., N ). 5. Escoger los K casos Dxk ya clasificados más cercanos a x. 6. Asignamos x a la clase más frecuente en Dxk. 1 2 3. Algoritmo 3: Algoritmo kNN. La Figura 1.6. 9. muestra un ejemplo de clasificación utilizando KNN.. Esta imagen es el resultado de aplicar el algoritmo con valor del parámetro K = 7, y utiliza el valor del parámetro weights = unif orm que significa, que el algoritmo asigna pesos uniformes a cada vecino.. 8 9. http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t9knn.pdf https://scikit-learn.org/stable/modules/neighbors.html. 15.
(43) 1.3. Revisión del Estado del Arte. Figura 1.6: Ejemplo KNN. 1.3.3.5.. Esperanza–Maximización(EM). El algoritmo EM por sus siglas en inglés (Expectation-Maximization) [59], proporciona una solución iterativa de máxima verosimilitud. Converge a un máximo local y es sensible a la elección de los valores iniciales. El algoritmo 4 10 muestra el detalle del método descrito anteriormente, donde: π es la probabilidad de pertenecer a un cluster. C cluster. X puntos del dataset. µ media de los puntos del cluster. σ desviación típica de los puntos del cluster. 10. 16. https://jarroba.com/expectation-maximization-python-scikit-learn-ejemplos/.
(44) Capítulo 1. Introducción. Figura 1.7: Ejemplo EM. Datos: dataset Resultado: datos clasificados 1. Inicializamos parámetros:. 2. π = [ k1 , ∀i ∈ [1, k]]; caso contrario π = 0. 3. µ = [random(object), ∀i ∈ [1, k]]; caso contrario µ = 0. 4. σ = [1, ∀i ∈ [1, k]]; caso contrario σ = 0. 5. mientras no converja hacer para i en el rango(dataset) hacer. 6. Ck := argmax πk. 7. e −1 2 (. fin para j en el rango(k) hacer. 8 9 10. πj :=. objetosenelcluster T otalobjetos. 11. µj :=. 1 N. PN. q. 1 n−1. σj :=. 12. Xi Pn. i=1. ·. n=1 (Xi. − µj ) 2. fin. 13 14. x−µk 2 σk ). σk. fin Algoritmo 4: Algoritmo Esperanza-Maximización. La Figura 1.7 11. 11. muestra un ejemplo de los resultados obtenidos al. https://jarroba.com/expectation-maximization-python-scikit-learn-ejemplos/. 17.
(45) 1.3. Revisión del Estado del Arte. aplicar el algoritmo EM a un archivo de datos tipo texto con 999 puntos, el algoritmo devuelve 3 grupos como se muestra en la imagen. Con valores iniciales: σ = 1, π =. 1.3.3.6.. 1 3. y escogemos 3 puntos al lazar para µ.. Mapas Auto Organizados (SOM). Este algoritmo neuronal, en inglés Self–Organizing Map (SOM) [66], agrupa datos del conjunto de entrada atendiendo a diferentes criterios a partir de un proceso de entrenamiento. Se puede observar una descripción intuitiva de la similitud entre los datos a través de un mapa. Usan una función de vecindad para preservar las propiedades topológicas del espacio de entrada, mediante aprendizaje competitivo en el que se define una vecindad espacial para cada unidad de salida, SOM construye modelos de tal forma que mientras más similares sean las unidades o neuronas, se ubican más cerca y mientras menos similares sean se ubicarán gradualmente más lejos en el espacio bi-dimensional. El algoritmo 5 muestra el detalle del método descrito anteriormente. Datos: dataset Resultado: datos agrupados 1. Inicializamos los pesos: wij. 2. Introducir: Ek = (e1 , ....., eN ), ei valores continuos.. 3. mientras t ≤ 500 hacer para todo objeto ei ∈ Ek hacer para j ∈ [1, M ] hacer PN Calcular dj = i=1 (ei − wji ) fin Encontramos neurona vencedora j∗. 4 5 6 7 8. Actualizamos pesos de zonaj. 9. 1 t. 10. Calculamos β(t) =. 11. Calculamos: wji (t + 1) = wji (t) + β(t)[ei. (k). fin Incrementar t. 12 13 14. fin Algoritmo 5: Algoritmo SOM. 18. − wj∗i (t)].
(46) Capítulo 1. Introducción. La Figura 1.8. 12. muestra un ejemplo de aplicar el algoritmos SOM,. y muestra cómo de un espacio multidimensional de entrada se genera un espacio de salida de menor dimensión, las conexiones muestran los pesos, y se conserva la topología, es decir los objetos cercanos en el espacio de entrada se encontrarán cerca en el espacio de salida.. Figura 1.8: Ejemplo SOM. 1.3.3.7.. DBSCAN. Este algoritmo determina de manera automática el número ideal de clusters o agrupaciones en los que se organizan los datos de entrada. Sin embargo, zonas del espacio de entrada con baja densidad se clasifican como ruido y son omitidos, por ello no se produce un clustering completo.. Figura 1.9: Ejemplo DBSCAN 12. https://ciberconta.unizar.es/leccion/visual/620.HTM. 19.
(47) 1.3. Revisión del Estado del Arte. El algoritmo DBSCAN (Density Based Spatial Clustering of Aplications with Noise) puede identificar clusters en grandes conjuntos de datos espaciales observando la densidad local de elementos base y utilizando sólo un parámetro de entrada [10]. La Figura 1.9. 13. muestra los grupos formados por el algoritmo DBS-. CAN, cada grupo está representado con un color y los puntos con poco densidad que son considerados ruidos los representan de color negro. También se puede diferenciar que los puntos centrales son más grandes que los puntos frontera. El algoritmo 6 muestra el detalle del método descrito anteriormente. Datos: dataset D Resultado: datos agrupados 1. Definimos minPoits, epsilon, C = 0. 2. Etiquetamos los puntos como Central, frontera o ruido. 3. para cada punto pi ∈ D hacer Etiquetamos a pi como visitado. 4 5. Verificamos sí:. 6. pi es punto central: ∃minP oints en un radio ≤ epsilon. 7. pi es punto frontera: sí la d(pcentral , pi ) = epsilon. 8. pi es punto ruido: d(pcentral , pi ) > epsilon. 9 10 11 12. fin para cada punto central pi ∈ D hacer para puntos pj ∈ D hacer Sí di (pj − pi ≤ epsilon) entonces. 13. pj pertenece al clusteri. 14. Sino. 15. C = nextcluster fin. 16 17. fin Algoritmo 6: Algoritmo DBSCAN. 13. 20. https://scikit-learn.org/stable/modules/clustering.html.
(48) Capítulo 1. Introducción. 1.3.3.8.. Árboles de Decisión (DT). El algoritmo DT por sus siglas en ingles (Decision Tree), se construye recursivamente siguiendo una estrategia descendente. Un árbol de decisión es un clasificador que conduce a la partición recursiva sobre el espacio de la instancia, está compuesto por nodos internos, bordes y nodos hoja que son los nodos terminales del árbol que contiene la etiqueta de la clase [27]. El algoritmo 7 14 muestra el detalle del método descrito anteriormente. Datos: D conjunto de N patrones etiquetados, X1,..N variables predictoras, C variable de clase Resultado: Dataset clasificado en el árbol 1 2 3 4 5. si todos los patrones D pertenecen a la misma clase c entonces nodo hoja etiquetado como c fin en otro caso Seleccionar variable más informativa Xr con valores x1r , ..., xnr r. 6. Particionar D de acorde con los nr valores de Xr en D1 , ..., Dnr. 7. Construir nr subárboles T1 , ..., Tnr con los valores x1r , ..., xnr r. 8. fin. 9. Escoger los K casos Dxk ya clasificados más cercanos a x. 10. Asignamos x a la clase más frecuente en Dxk Algoritmo 7: Algoritmo DT. La Figura 1.10. 15. muestra el árbol de entrenamiento del algoritmo con. el dataset iris. Muestra el nombre de la variable y la clase.. 14 15. http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t10arboles.pdf https://scikit-learn.org/stable/modules/tree.html. 21.
(49) 1.3. Revisión del Estado del Arte. Figura 1.10: Ejemplo DT. 1.3.4.. Revisión de estrategias híbridas de procesamiento de datos. Aunque los algoritmos revisados anteriormente han sido ampliamente usados, tienen ciertas limitaciones en su aplicación práctica por diferentes motivos. Es por ello, que plantean variaciones y mejoras sobre estos algoritmos originales para tratar de paliar las mencionadas limitaciones. Estas variaciones permiten, de cierta manera, eliminar o minimizar las limitaciones presentes en cada uno de ellos. En ocasiones dependen directamente del conjunto de datos utilizado en la etapa de experimentación o de los parámetros de inicialización propios de cada algoritmo, entre otros. En otros casos se opta por la opción de proponer una técnica [121] o estrategia híbrida para el procesamiento de grandes volúmenes de datos. 22.
(50) Capítulo 1. Introducción. Tabla 1.2: Combinación de algoritmos. Algoritmos. EM. Fuzzy. PSO1. Bisección. GA2. KNN. K-Media [26] [118][17] [15]. X. X. X. X. X. X. X. X. X. X. K-Medoides [105] [78] [129]. X. X. SVM [128] [69] [113]. X. X. X. KNN [30] [77] [68]. X. X. X. X. SOM [61] [22][122]. X. X. X. X. X. X. X. X. X. X. X. X. X. DBSCAN [35] [108] [104] DT [112] [126][19]. X. X. 1. Optimización del enjambre de partículas (Particle Swarm Optimization ). 2. Algoritmos Genéticos (Genetic Algorithm). En la Tabla 1.2 se resumen las diferentes combinaciones que se han encontrado en distintos estudios que proponen la combinación de algoritmos, métricas o pre-procesamiento de los datos mediante otro algoritmo. Esto contribuye en la mejora del procesamiento de la información (minimizando costos computacionales y maximizando la relevancia de información extraída). Se hace referencia de algunos ejemplos de estas propuestas, como el algoritmo K-media en Cai X el al. de 2013 que combina K-media con Fuzzy para clasificación de imágenes de alta resolución o en el estudio de Cui X. and Potok T. en 2008 que utiliza k-media con PSO para generar grupos de un conjunto de datos de documentos de texto. Es decir, se hace referencia a distintas combinaciones presentes en estudios orientados al procesamiento de información y se lee de la siguiente manera: K-medias ha sido combinado con EM, K-meadia & EM, con Fuzzy K-media & Fuzzy, K-media & PSO, entre otras combinaciones encontradas en la bibliografía revisada. Por otro lado, algunos investigadores optan también por generar nuevos algoritmos realizando modificaciones internas al algoritmo o a estrategias de combinación. En la Tabla 1.3 se presentan algunas técnicas o estrategias híbridas, que utilizan métodos diferentes a los habituales para el cálculo de similaridad o similitud entre patrones o combinan diferentes técnicas de Aprendizaje con algún nivel de modificación para crear métodos de clasificación más eficientes. 23.
(51) 1.3. Revisión del Estado del Arte. Tabla 1.3: Técnicas y estrategias híbridas. Técnicas. Técnicas Híbridas. Estrategias Híbridas. Bisección Híbrida K-Media [83]. X. X. HOPACH1. X. DHG2. X. KHM3. X. K-Media - GA [4]. X. HcGA4. X. K-Media y. X. X. HFS5. X. MAM - SOM. X. K-ICA[86]. X. GKA6. X. NKMC7. X. HSRS8 HC-HOSVD9. X X. 1. Particionado ordenado jerárquicamente y colapsado híbrido [114]. 2. Gaussiano jerárquico basado en la densidad [28]. 3. K-Media armónica [56]. 4. Algoritmo Genético celular híbrido [9]. 5. Esquema de selección de características híbridas [123]. 6. Algoritmo Genético K-Media [98]. 7. Naïve multi-visión K-media [16]. 8. Búsquedas Híbridas ordenadas secuencialmente [103]. 9. Clusterización Híbrida a través de la descomposición de valores singulares de orden superior [73] En los trabajos revisados se observaron dos grupos de alternativas para. implementar técnicas o estrategias híbridas. El primer enfoque se basa en introducir en el propio algoritmo alguna técnica diferente a la utilizada habitualmente para el cálculo interno de algún parámetro. En el segundo enfoque, se fortalece determinada limitación de una técnica en la etapa de pre–procesamiento. Por ejemplo, en el caso de no ser adecuado para procesar grandes volúmenes de datos, primero se particiona los datos con 24.
(52) Capítulo 1. Introducción. una técnica apropiada y luego a cada partición resultantes se le aplica la técnica seleccionada. Entre los estudios más destacados podemos mencionar el de Mishra y Raghavan[80], comparación de algoritmos de optimización, Al-Sultan y Khan [5], sobre los algoritmos K-Media, SA16 , TS17 y GA, Xiaowei y Ester [120], entre otros. De dichos trabajos se pueden extraer tres conclusiones principales: Ningún método supera en un margen significativo en el rendimiento al resto. Soluciones encontradas por TS, GA y SA superan a las de K-Media, pero este es mucho más rápido. GA es el más rápido en encontrar la mejor solución, mientras SA es el más rápido en converger. El problema con estos algoritmos es que no funcionan adecuadamente para grandes volúmenes de datos, sólo K-Media y Mapas de Kohonen (SOM) han sido aplicados exitosamente para grandes conjuntos de datos.. 1.3.5.. Consideraciones en la elección de algoritmos de Aprendizaje Automático. En esta sección se analizan los criterios habituales tomados en cuenta en la selección un algoritmo de Aprendizaje Automático para procesar la información de manera eficiente. Esto permite maximizar la relevancia de los datos extraídos. El establecimiento de mejoras y combinaciones en los métodos de clasificación permite abrir nuevas líneas de investigación. Considerar métricas diferentes para establecer similaridad entre grupos o combinar técnicas para el ajuste de parámetros, permiten mejorar los resultados obtenidos al aplicar directamente una técnica. Las consideraciones a precisar antes de seleccionar una técnica de clasificación concreta son: Tipo de Datos a ser procesados. 16 17. Simulated Annealing Tabu search. 25.
(53) 1.3. Revisión del Estado del Arte. Limitaciones y parámetros propios de cada algoritmo. 1.3.5.1.. Tipo de datos a ser procesados. Uno de los problemas que se debe tomar en cuenta al trabajar con grandes volúmenes de datos es la alta dimensionalidad. Se considera la reducción de la dimensionalidad de los datos, para lo cual la selección de características es muy importante y se suelen aplicar algoritmos de selección y extracción de características. Otra consideración válida es la estructura y característica de los datos. Como se mencionó en la sección 1.3.1, depende del tipo de datos, estructurados o no estructurados, de las V’s que posean los datos, si son numéricos o categóricos. Cada uno de estas características hace que una dataset sea más o menos complejo y por lo tanto los algoritmos escogidos deben ser capaces de soportar dicha complejidad. 1.3.5.2.. Limitaciones y Parámetros de los Algoritmos. Algunos algoritmos son más adecuados para procesar grandes volúmenes de datos pero no necesariamente son más rápidos para encontrar la mejor solución con un coste reducido, sin embargo analizando los diferentes algoritmos se puede obtener consideraciones importantes y proponer mejoras que superen las limitaciones propias de cada algoritmo. Por ejemplo, sustituir la búsqueda secuencial de la unidad ganadora por una búsqueda más rápida y eficiente (MAM-SOM) [74]. Con este análisis previo se pre–seleccionan técnicas que pueden ser las más adecuadas para procesar nuestros datos. Sin embargo, dependiendo de las características de los datos y los objetivos planteados, en la mayoría de los casos se requiere de combinación de técnicas, pre–procesamiento de los datos, modificación en los cálculos internos de los algoritmos o plantear estrategias híbridas para poder conseguir resultados óptimos. Para verificar su comportamiento, rendimiento y parámetros favorables para un óptimo desempeño, se requiere evaluar cada algoritmo y comparar los resultados mediante la experimentación. Lo más aconsejable es utilizar diferentes tipos de conjuntos de datos, considerando que existen algoritmos 26.
(54) Capítulo 1. Introducción. que funcionan mejor con datos categóricos y otros con datos cuantitativos, pero muy pocos manejan datos que poseen las dos características simultáneamente. Debemos evaluar la validez, estabilidad y escalabilidad en los resultados obtenidos en cada algoritmos. Validez: determinar la precisión de un algoritmo para agrupar los datos. Estabilidad: la variación de los resultados obtenidos en las distintas ejecuciones de un algoritmo deben ser similares. Escalabilidad: la capacidad de agrupar grandes volúmenes de datos de manera eficiente.. 1.3.6.. Consideraciones generales. En la parte introductoria, una vez analizadas las características de los datos y de los algoritmos, podemos concluir que todos los algoritmos de Aprendizaje Automático tienen una serie de ventajas e inconvenientes que se ven reflejadas en tiempos de ejecución, requerimientos computacionales, capacidad de convergencia, niveles de complejidad, en su implementación o en ajuste de parámetros entre otros. Por ello en muchos estudios se ha optado por realizar combinaciones de algoritmos para solucionar problemas al procesar grandes volúmenes de datos, dependiendo de sus características y los objetivos planteados. Es posible aprovechar las características propias de dos o más técnicas, al mismo tiempo, para lograr brindar herramientas versátiles en el procesamiento de grandes volúmenes de datos. Pese a la existencia de un gran número de técnicas de Aprendizaje Automático, en su mayoría presentan diferentes limitaciones. Problemas como el solapamiento entre grupos, presencia de ruido o estructuras irregulares que suelen ser tratados mediante técnicas o estrategias híbridas. Poder reemplazar un cálculo interno por otra técnica de ML permite superar las limitaciones propias de los algoritmos. 27.
(55) 1.4. Definición del Problema. En estas propuestas es importante probar la escalabilidad, el coste computacional y el tiempo de respuesta de las diferentes técnicas.. 1.4.. Definición del Problema. El principal problema encontrado en el procesamiento de grandes volúmenes de datos es sin duda el coste computacional inherente a la complejidad en el procesamiento de los datos y en los algoritmos para que sean capaces de procesar de forma eficaz y óptima datos provenientes, en nuestro caso de estudio, de censos o encuestas. Problemas que surgen en cada etapa necesaria para procesar estos datos y convertirlos en información relevante, tales como: la ausencia de algunos de los atributos que conforman los registros de información, la compleja estructura o la ausencia de esta, el cálculo de distancias entre elementos que permite encontrar semejanzas en los datos, o el bajo rendimiento temporal de las técnicas usadas hasta el momento, entre muchos otros.. 1.5.. Propuesta. Una vez concluida la revisión de trabajos relacionados con el procesamiento de grandes volúmenes de datos mediante técnicas de aprendizaje automático, se han podido describir los problemas relacionados con el tamaño de los datos, el tipo de datos a ser procesados y los requerimientos de hardware necesarios. Por ello, se ha podido recalcar la necesidad de encontrar una alternativa que permita optimizar la precisión, reducir el coste computacional en el procesamiento de grandes volúmenes de datos provenientes de censos o encuestas, mediante técnicas de aprendizaje automático. En la actualidad, es extremadamente sencillo el acceso a datos asociados a censos o encuestas de diferentes países, sin embargo estos datos presentan un gran número de valores atípicos o valores faltantes (valores perdidos) lo que limita su uso. La extracción de información relevante de datos provenientes de censos o encuestas, se ha realizado tradicionalmente mediante métodos estadísticos o estocásticos, y se limitan a obtener 28.
(56) Capítulo 1. Introducción. indicadores en base a las fichas técnicas. Debido a aspectos de confidencialidad, la información proveniente de los censos o encuestas está disponible para análisis solo en una versión agregada. El nivel más bajo de detalle en este tipo de información corresponde al nivel de persona (en el caso de información socio–demográfica) esta es agregada en niveles geográficos dependiendo de la división político– administrativa del país (por ejemplo, en Ecuador el nivel geográfico corresponde a provincia, cantón, parroquia, zona y sector). En este trabajo se propone una metodología para la imputación de información perdida o faltante. Algunos de los trabajos en el área proponen completar la información con técnicas estadísticas o técnicas de aprendizaje automático. La metodología propuesta describe los pasos para, de manera no supervisada, crear clusters (agrupaciones de datos relacionados) como paso previo a la clasificación, en cada cluster se aplica un modelo de clasificación para predecir el valor faltante de la variable de prueba (imputación).. 1.6.. Objetivos. El objetivo principal de esta investigación es proponer una metodología basada en algoritmos de aprendizaje automático que permita predecir los valores omitidos dentro de una encuesta o censo, a estos valores se los denomina valores perdidos (NA). La metodología propuesta incorpora técnicas de clasificación supervisada y no supervisada para la predicción de los valores faltantes, fuera de rango o perdidos. Como objetivos derivados y previos que permitan conseguir el objetivo principal, se propone una metodología que consta de un paso previo de preprocesamiento o limpieza de datos, un paso de selección o ranking de atributos más representativos para clasificar los datos, esto con la finalidad de reducir el coste computacional relacionado con el almacenamiento (memoria) y la necesidad de obtener una alta velocidad de procesamiento. La validez y eficiencia de la metodología propuesta será verificada mediante casos de uso con datos socio–demográficos provenientes del Censo 29.
Outline
Documento similar
You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you
Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information
The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the
In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal
Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in
Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in
This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)
Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)