Detección De Outliers En Grandes Bases De Datos
Total Page:16
File Type:pdf, Size:1020Kb
MAESTRÍA EN TECNOLOGÍA INFORMÁTICA Y DE COMUNICACIONES DETECCIÓN DE OUTLIERS EN GRANDES BASES DE DATOS ADRIÁN ALFREDO DE ARMAS – LU 101230 COHORTE: TIC 2012/2013 Director del Trabajo Final Dr. Horacio Kuna, Facultad de Ciencias Exactas. Universidad Nacional de Misiones Mag. Ing. Bibiana D. Rossi, Universidad Argentina de la Empresa 23 de Febrero del 2015 UNIVERSIDAD ARGENTINA DE LA EMPRESA FACULTAD DE INGENIERÍA Y CIENCIAS EXACTAS Dedicado a Maria José y Aimee. DETECCIÓN DE OUTLIERS EN GRANDES BASES DE DATOS Adrián Alfredo De Armas 1. AGRADECIMIENTOS Este trabajo final no hubiese sido posible sin la colaboración de mis dos tutores Bibiana Rossi y Horacio Kuna. Fue Bibiana –una gran amiga que es una de las grandes incorporaciones de mi reciente historia- que, a instancias de Horacio, me propuso un tema tan apasionante como la detección de outliers en grandes bases de datos. Con este trabajo final pude integrar mi interés natural por la programación y la investigación de un tema apasionante, del cual no tenía conocimiento previo, como es la detección de outliers. En mis dos tutores pude encontrar interlocutores que me permitieron compartir ideas para delinear las líneas de investigación, forma de trabajo y presentación de este documento. Quiero agradecerles a ambos su acompañamiento y buena predisposición constante, este trabajo no habría sido posible sin su guía. A mis padres, hermanos y amigos que me han acompañado toda la vida durante mi formación, todos son parte, todos merecen un “Gracias” A la Universidad Argentina de la Empresa le debo las gracias porque gracias a la institución tuve una experiencia muy enriquecedora cursando la maestría TIC. El roce con mis compañeros y docentes me ha brindado amigos que hoy son parte de mi vida, así como también anécdotas y experiencias que hoy me son útiles en mi vida profesional. P á g i n a 1 | 274 DETECCIÓN DE OUTLIERS EN GRANDES BASES DE DATOS Adrián Alfredo De Armas 2. RESUMEN Este trabajo final se trata sobre la detección de outliers en grandes bases de datos. Una de las definiciones más citadas en la bibliografía respecto a lo que es un outlier es la enunciada por David Hawkins en sus monografías sobre estadística y probabilidad aplicadas del año 1980: “Un outlier es una observación que se desvía tanto de otras observaciones que despierta la sospecha de haber sido generado por un mecanismo diferente” [Hawkings, 1980]. Con el objetivo de proponer un algoritmo que permita identificar eficaz y eficientemente outliers en grandes bases de datos se seleccionó la aproximación por celdas propuesta por Edwin Knorr y Raymond NG en 1998 en el trabajo “Algorithms for Mining Distance-Based Outliers in Large Datasets” [Knorr y otros, 1998]. Este método puede procesar de forma muy eficiente hasta 4 dimensiones (5 en algunos casos) pero luego decrece su rendimiento e incluso puede imposibilitarse su ejecución. Se implementaron distintas versiones del mismo algoritmo, cada una pensada para un escenario diferente, manteniendo la eficacia del 100% de detección de outliers basados en distancia. Con el fin de aumentar la eficiencia de la implementación del algoritmo, se propone la detección probabilística de outliers basada en la aproximación por celdas que mejora la eficiencia a costa de la reducción de la eficacia manifestada por la detección de falsos positivos. Los resultados de laboratorio arrojan que el porcentaje de disminución de la eficacia del algoritmo es siempre menor que el porcentaje de aumento de la eficiencia. Los experimentos se realizaron sobre datos sintéticos y, finalmente, se probó el algoritmo con datos reales de todos los vuelos de cabotaje en USA entre los años 1998 y 2003. P á g i n a 2 | 274 DETECCIÓN DE OUTLIERS EN GRANDES BASES DE DATOS Adrián Alfredo De Armas 3. ABSTRACT This final work deals with finding outliers in large, multidimensioanal datasets. Edwin Knorr and Raymong NG back in 1998 proposed a cell based algorithm for finding outliers in “Algorithms for Mining Distance-Based Outliers in Large Datasets” [Knorr y otros, 1998]. The algorithm named FindAllOutsM showed to be by far the best for 푘 ≤ 4. Various improvements were made for different implementations of the algorithm such as virtual hypercube for cells processing, parallel processing and probabilistic outlier determination making FindAllOutsM suitable for large datasets with 푘 ≥ 4 attributes. Synthetic and real worl data were used to test the implementations of the algorithm with datasets containing from 100.000 to 30.000.000 tuples with 3 to 6 attributes showing good performance for heterogeneous domains. Dataset managed has determined which attributes were handled, however, more attributes can be included if they were available. Performance of FindAllOutsM is improved as object count increases. P á g i n a 3 | 274 DETECCIÓN DE OUTLIERS EN GRANDES BASES DE DATOS Adrián Alfredo De Armas 4. CONTENIDO 1. AGRADECIMIENTOS ..................................................................................................... 0 2. RESUMEN ...................................................................................................................... 2 3. ABSTRACT .................................................................................................................... 3 4. CONTENIDO .................................................................................................................. 4 5. INTRODUCCIÓN ............................................................................................................ 7 6. PROBLEMÁTICA ACTUAL ........................................................................................... 10 7. MARCO TEÓRICO ....................................................................................................... 11 7.1. DATA WAREHOUSE ............................................................................................. 11 7.1.1. DIFERENCIAS ENTRE SISTEMAS DE BASE DE DATOS OPERACIONALES Y DATA WAREHOUSES .............................................................................................. 12 7.2. DATA MINING ....................................................................................................... 14 7.2.1. PROCESO DE GENERACIÓN DE UN DATA MINING ................................... 16 7.2.2. FUNCIONALIDADES DEL DATA MINING ...................................................... 17 7.2.2.1. CONCEPTO/CLASE: CARACTERIZACIÓN Y DISCRIMINACIÓN ............. 18 7.2.2.2. PATRONES FRECUENTES, ASOCIACIÓN Y CORRELACIÓN ................. 19 7.2.2.3. CLASIFICACION Y PREDICCIÓN .............................................................. 19 7.2.2.4. ANÁLISIS DE CLUSTERS .......................................................................... 20 7.2.2.5. ANÁLISIS DE EVOLUCIÓN ........................................................................ 20 7.2.3. METODOLOGÍA DE DESARROLLO DE DATA MINING ................................ 21 7.2.3.1. SEMMA ....................................................................................................... 21 7.2.3.2. CRISP-DM .................................................................................................. 22 7.2.4. ALGORITMOS DE DATA MINING .................................................................. 24 7.2.5. HERRAMIENTAS DE DATA MINING ............................................................. 25 7.3. NOTACIÓN “O” GRANDE y Ω ............................................................................... 27 7.4. OUTLIERS............................................................................................................. 30 7.4.1. MODELOS BÁSICOS PARA OUTLIERS ........................................................ 31 7.4.1.1. ANÁLISIS DE VALORES EXTREMOS ....................................................... 32 7.4.1.2. ANÁLISIS DE VALORES EXTREMOS DE DATOS MULTIVARIADOS ....... 34 7.4.1.3. MODELOS ESTADÍSTICOS Y PROBABILÍSTICOS ................................... 35 7.4.1.4. MÉTODOS BASADOS EN PROFUNDIDAD ............................................... 35 7.4.1.5. MÉTODOS BASADOS EN DESVÍO............................................................ 39 7.4.1.6. MÉTODOS BASADOS EN ÁNGULOS ........................................................ 39 P á g i n a 4 | 274 DETECCIÓN DE OUTLIERS EN GRANDES BASES DE DATOS Adrián Alfredo De Armas 7.4.1.7. MÉTODOS BASADOS EN DISTANCIA ...................................................... 41 7.4.1.7.1. DETERMINACIÓN DE LOS VALORES INICIALES PARA 푝 Y 퐷 ............ 43 7.4.1.8. MODELOS LINEALES ................................................................................ 44 7.4.1.9. MODELOS BASADOS EN PROXIMIDAD ................................................... 47 7.4.1.9.1. BASADOS EN CELDAS (DISTANCIA) ................................................... 48 7.4.1.9.2. BASADOS EN ÍNDICE (DISTANCIA) ...................................................... 50 7.4.1.9.3. LOF (DENSIDAD) .................................................................................... 51 7.4.1.9.4. LOCI (DENSIDAD) .................................................................................. 54 7.4.2. OUTLIERS Y MINERÍA DE DATOS ............................................................... 56 8. ESTADO DEL ARTE .................................................................................................... 57 8.1. DETECCIÓN DE OUTLIERS BASADA EN CELDAS ............................................. 61 8.1.1. ESTRUCTURA DE CELDAS Y PROPIEDADES EN DOS DIMENSIONES .... 62 8.1.2. ALGORITMO PARA CONJUNTO DE DATOS RESIDENTES