121 97 8MB
Spanish; Castilian Pages [441] Year 2018
Ciencia de datos
Ciencia de datos. Alfaomega
Publicaciones Altaria, S.L.
Empresas del Grupo Tarragona, spa a Técnicas analíticas y aprendizaje estadístico Teléfono
Colombia © Jesús García,
José M. Molina, Antonio Berlanga, MiguelmA. Patriinfo altariaeditorial.co Alfaomega Colombiana S.A. cio, alle Álvaro L.esquina, Bustamante y Washington R. Padilla Bogotá Teléfono
© De la edición: PUBLICACIONES ALTARIA, S.L. cliente alfaomegacolom iana.com Se ha puesto el máximo interés en ofrecer al lector una información completa y precisa. No México PUBLICACIONES ALTARIA, S.L. no asume ninguna responsabilidad derivada del obstante, Alfaomega Grupo ditor .A. de . . uso, ni tampoco por cualquier violación de patentes y otros derechos de terceros que pudieran alle octor lvera , olonia octores, RFXUULUPLHQWUDVHVWHOLEURHVWpGHVWLQDGRDODXWLOL]DFLyQGHDÀFLRQDGRVRDODHQVHxDQ]D/DV elegaci n uaúhtemoc iudad de Mé ico marcas o nombres mencionados son únicamente a título informativo y son propiedad de sus .P. Teléfono registros a legales. in costo li reriapitagoras Reservados todosalfaomega.com.m los derechos.
en na
Alfaomega Grupo ditor libro Argentino .A. ser reproducida, registrada en sistema de almacenamiento Ninguna parte de este puede
Av. rdo a piso apital ederal, Buenos Aires UHSURJUiÀFR Teléfono aPDJQpWLFR R FXDOTXLHU RWUR 4XHGD WDPELpQ SURKLELGD OD GLVWULEXFLyQ DOTXLOHU ventas alfaomegaeditor.com.ar traducción o exportación sin la autorización previa y por escrito de PUBLICACIONES ALTA-
o transmitida de ninguna forma ni por cualquier procedimiento, ya sea electrónico, mecánico,
Chile
5,$6/
Alfaomega Grupo ditor .A. Av. Providencia . cina Teléfonos agechile alfaomega.cl
, an ago
www.alfaomega.com.co
ISBN: 978-84-947319-6-9 Depósito legal: B 8225-2018 Revisado por: Sonia Vives y Carlos Martínez
iencia de datos. Técnicas analíticas y aprendizaje estadístico Bogotá, mayo de Jesús García, José M. Molina, Antonio Berlanga, Miguel
Editado por: A. Patricio, Álvaro L. Bustamante y Washington R. Padilla Alfaomega olom iana .A. 38%/,&$&,21(6$/7$5,$6/ e la edici n PUBL A
LQIR#DOWDULDHGLWRULDOFRP
ALTAR A, .L.
erechos reservados. sta pu licaci n no puede ser 7HO
reproducida total ni parcialmente. o puede ser registrada
Barcelona por un sistema de recuperaci n de informaci n, en ninguna forma ni porNUESTRO ningún medio, CATÁLOGO sea mecánico, fotoquímico, CONSULTE POR INTERNET: electr nico, magné co, electro p co, fotocopia o cualquier otro, sin el previo permiso escrito de la editorial.
http://www.altariaeditorial.com
Podrá estar al corriente de todas las novedades. Revisado por onia ives y arlos Mar nez B B
dici n olom ia dici n spa a
mpreso en olom ia Printed and made in Colombia
2
Introducción
Ciencia de datos
Técnicas analíticas y aprendizaje estadístico Un enfoque práctico
Jesús García José M. Molina, Antonio Berlanga, Miguel A. Patricio, Álvaro L. Bustamante y Washington R. Padilla
3
Introducción
Prefacio La ciencia de datos es hoy en día la herramienta fundamental para la explotación de datos y la generación de conocimiento. Entre los objetivos que persigue se encuentra la búsqueda de modelos que describan patrones y comportamientos a partir de los datos con el fin de tomar decisiones o hacer predicciones. Es un área que ha experimentado un enorme crecimiento al extenderse el acceso a grandes volúmenes de datos e incluso su tratamiento en tiempo real, requiriendo de técnicas sofisticadas que puedan tratar con los problemas prácticos como escalabilidad, robustez ante errores, adaptabilidad con modelos dinámicos, etc. Abarca a numerosos grupos de investigación de diferentes áreas (computación, estadística, matemáticas, ingeniería, etc.) que trabajan en la propuesta de nuevos algoritmos, técnicas de computación e infraestructuras para la captura, almacenamiento y procesado de datos, etc. El objetivo del libro es proporcionar una visión general de las principales técnicas de la ciencia de datos y de las aplicaciones que las implementan, permitiendo comprender los conceptos fundamentales sobre los que se basan y los resultados al aplicarlas a problemas reales. Existen muchos libros que se centran en aspectos teóricos de técnicas específicas, y otros que mantienen un nivel introductorio omitiendo detalles para centrarse en las aplicaciones. Este libro busca un equilibrio entre estos extremos: se lleva a cabo una presentación que permita comprender los fundamentos de cada familia de técnicas y simultáneamente desarrolla ejemplos de datos reales y el análisis de resultados con las diferentes técnicas presentadas. Se parte de las técnicas clásicas basadas en modelos probabilísticos, su aplicación en los problemas de regresión y clasificación, para presentar después su generalización mediante la incorporación del aprendizaje automático en diferentes familias de técnicas. Los últimos capítulos presentan dos áreas de creciente interés por las particularidades de los datos cuando forman series temporales, como es el caso de sensores en la Internet de las cosas, o datos geolocalizados que permiten hacer regresión espacial. El libro presenta una estructura combinada en la que se van alternando la presentación de los fundamentos teóricos con su aplicación en un problema real utilizando la implementación en el entorno R. Existe actualmente una gran pugna entre varios lenguajes en los que implementar los algoritmos que manipularán y extraerán la información de los datos. Sin lugar a dudas, los más destacados con diferencia, son Python y R frente a alternativas como Julia, C++, Java, Scala o MATLAB. El flujo del proceso típico de análisis de datos es aplicar una técnica o algoritmo una sola vez. Esto significa que se ha creado una regla general entre los científicos de datos a la hora de decidir el lenguaje a utilizar. Para un proceso que se va a ejecutar una sola vez, ¿qué es mejor: utilizar un lenguaje que puede llevar treinta minutos en desarrollarlo y ejecutarlo en diez segundos o usar un lenguaje en el que se tarda diez minutos en desarrollar y un minuto en ejecutar? Éste es el motivo por el que lenguajes de alto rendimiento, como C++, no tienen un
5
Ciencia de datos
gran uso en este contexto de problemas. La diferencia entre Python y R es más sutil. R es un lenguaje de dominio específico, es decir, orientado a un uso específico, el análisis estadístico y, por tanto, su construcción está pensada y dirigida a ese uso. Sin embargo, Phyton es un lenguaje de propósito general, más rápido y seguro que R, y cualquier algoritmo que no sea del ámbito del análisis de datos será más fácil de desarrollar. Pero, para el análisis estadístico y de datos, R es imbatible, ningún lenguaje posee la variedad de librerías para tratar, analizar y representar datos, ni una comunidad tan activa que le permite actualizarse para ir incorporando las últimas técnicas del estado del arte en el análisis y representación de datos. Se ha intentado centrar la aplicación con un único ejemplo que se desarrolla en la mayor parte del libro, el análisis de calidad del aire en la ciudad de Madrid. Hay varias razones que han motivado esta decisión. Hemos querido ilustrar la aplicación de las diferentes técnicas sobre un conjunto de datos que nadie antes haya utilizado, debido a que se acerca a la situación real a la que el futuro científico de datos se enfrentará. Tener que realizar la exploración de cero, sin conocimiento previo de qué se va a encontrar. Enfrentarse a la tarea de preparar los datos y realizar las exploraciones estadísticas que permiten atisbar las técnicas que después han de usarse. Aplicar diferentes algoritmos, algunos no aportarán resultados, otros funcionarán y entonces habrá que ajustar sus parámetros y analizar y representar los resultados. Ésta será la rutina habitual de un científico de datos. Habrá algoritmos que, al aplicarlos a estos datos, no arrojarán buenos resultados. Esto no es un fracaso, entender por qué un algoritmo no es adecuado puede proporcionar una información muy valiosa acerca de la información que contienen y cuáles deben ser los siguientes pasos de análisis que deben seguirse. Finalmente, también se quiere poner de manifiesto la utilidad que puede suponer que se liberen datos al escrutinio público mediante iniciativas open data. Por último, el libro refleja la actividad docente e investigadora de los autores, miembros del grupo de investigación GIAA (Grupo de Inteligencia Artificial Aplicada) de la Universidad Carlos III de Madrid, en las líneas de investigación de aprendizaje automático, análisis de datos y optimización para el apoyo a la toma de decisiones en entornos complejos. Esperamos que el texto sea de utilidad para los lectores y alumnos que se acerquen a la ciencia de datos, y en particular para aquellos que tengan interés en aplicar los conocimientos teóricos en el campo de la práctica. Los autores
6
Introducción
Índice general
Prefacio ............................................................................. 5
Capítulo 1 Introducción .....................................................13
1.1 Introducción ............................................................. 13 1.2 Los datos................................................................... 19 1.3 Etapas en los procesos de big data ......................... 20 1.4 Minería de datos...................................................... 21 1.5 Estructura de un proyecto de análisis de datos .. 22 1.6 Aplicaciones ............................................................. 25 1.6.1 Marketing................................................................................25 1.6.2 Compañías de seguros.........................................................26 1.6.3 Banca ......................................................................................26 1.6.4 Telecomunicaciones .............................................................27 1.6.5 Medicina ................................................................................27 1.6.6 Industria farmacéutica .........................................................27 1.6.7 Biología ..................................................................................28 1.6.8 Minería de textos ..................................................................28 1.6.9 Minería de datos web ..........................................................29 1.6.10 Redes sociales......................................................................30
1.7 Modelos y tareas ..................................................... 31 1.7.1 Tareas descriptivas ...............................................................32
1.7.1.1 Agrupamiento ............................................................................................ 32 1.7.1.2 Correlaciones y factorizaciones ............................................................... 32 1.7.1.3 Reglas de asociación .................................................................................. 33 1.7.1.4 Dependencias funcionales ........................................................................ 33
1.7.2 Tareas predictivas .................................................................34 1.7.2.1 Clasificación................................................................................................ 34 1.7.2.2 Clasificación suave .................................................................................... 35 1.7.2.3 Categorización ........................................................................................... 35 1.7.2.4 Preferencias o priorización ....................................................................... 35 1.7.2.5 Regresión .................................................................................................... 36
1.8 Métodos y técnicas .................................................. 36 1.8.1 Técnicas algebraicas y estadísticas.....................................36 1.8.2 Técnicas bayesianas .............................................................37 1.8.3 Técnicas basadas en conteos de frecuencias y tablas de contingencia .....................................................37
7
Ciencia de datos
1.8.4 Técnicas basadas en árboles de decisión y sistemas de aprendizaje de reglas ......................................................37 1.8.5 Técnicas relacionales, declarativas y estructurales..........37 1.8.6 Técnicas basadas en redes neuronales artificiales ...........37 1.8.7 Técnicas basadas en núcleo y máquinas de soporte vectorial ...................................................................38 1.8.8 Técnicas estocásticas y difusas ...........................................38 1.8.9 Técnicas basadas en casos, en densidad o distancia .......38
Capítulo 2 Análisis estadístico de datos .........................39 2.1 Introducción ............................................................. 39 2.2 Análisis de una variable. Estadística descriptiva e inferencia............................................ 40 2.2.1 Estadísticos de variable continua .......................................41 2.2.2 Histograma ............................................................................42 2.2.3 Estadísticos de variables nominales ..................................44
2.3 Contrastes de hipótesis .......................................... 46 2.3.1 Distribuciones de probabilidad ..........................................46
2.3.1.1 Distribución normal .................................................................................. 47
2.3.2 Inferencia ...............................................................................49 2.3.3 Evaluación de hipótesis .......................................................51
2.4 Análisis de relaciones entre variables. Evaluación de hipótesis .......................................... 54
2.4.1 Relación entre variables nominales-nominales................54 2.4.2 Relaciones numéricas-nominales .......................................56 2.4.2.1 Comparación de dos medias .................................................................... 56 2.4.2.2 Análisis de la varianza .............................................................................. 58
2.4.3 Relaciones numéricas-numéricas .......................................61
Capítulo 3 Introducción al lenguaje R. Lectura, procesado y visualización de datos: data wrangling .................................................63
3.1 Carga y transformaciones de datos ...................... 63 3.1.1 Estructura básica de datos ..................................................64 3.1.2 Lectura de fichero .................................................................65
8
Introducción
3.2 Estadística descriptiva ............................................ 68 3.2.1 Variables categóricas ............................................................84 3.2.2 Correlación ............................................................................88
3.2.2.1 Visualización .............................................................................................. 88
3.2.3 Test de hipótesis ...................................................................97 3.2.4 Representación de datos....................................................100
Capítulo 4 Predicción y clasificación con técnicas numéricas........................................................117
4.1 Técnicas numéricas de predicción ...................... 117 4.1.1 Regresión lineal ..................................................................117
4.1.1.1 Regresión lineal simple ........................................................................... 118 4.1.1.2 Regresión lineal múltiple........................................................................ 119 4.1.1.3 Regresión lineal ponderada localmente ............................................... 121 4.1.1.4 Atributos nominales ................................................................................ 123
4.1.2 Evaluación del modelo de regresión ...............................124 4.1.2.1 Error de regresión y selección de variables ......................................... 126
4.1.3 Regresión no lineal .............................................................130
4.1.3.1 Transformaciones sencillas .................................................................... 131 4.1.3.2 Otras transformaciones ........................................................................... 133
4.1.4 Ejemplos de regresión lineal .............................................133
4.2 Técnicas numéricas de clasificación ................... 136 4.2.1 Clasificación mediante regresión lineal ..........................138 4.2.2 Clasificación mediante regresión logística .....................139 4.2.3 Clasificación bayesiana ......................................................141
4.2.3.1 Clasificación bayesiana de atributos numéricos ................................. 141 4.2.3.2 Clasificación bayesiana con atributos nominales ................................ 146
4.2.4 Ejemplos de clasificación bayesiana ................................147
Capítulo 5 Predicción y clasificación con R .................153
5.1 Regresión ................................................................ 153 5.1.1 Regresión lineal ..................................................................153 5.1.2 Selección de atributos ........................................................165 5.1.3 Regresión no lineal .............................................................169 5.1.4 Regresión de atributos no continuos ...............................172 5.1.5 Modelos lineales generalizados .......................................179
9
Ciencia de datos
5.2 Algoritmos de clasificación .................................. 185 5.2.1 Detección de valores atípicos............................................186 5.2.2 LDA, Linear Discriminant Analysis ....................................195 5.2.3 Clasificadores probabilísticos ...........................................200
5.2.3.1 Naive bayesiano ....................................................................................... 201 5.2.3.2 Redes bayesianas ..................................................................................... 202
Capítulo 6 Técnicas de minería de datos ......................205
6.1 Técnicas de minería de datos .............................. 205 6.2 Clustering ................................................................ 207 6.2.1 Clustering numérico (k-medias)........................................209
6.2.2 Clustering conceptual (COBWEB) .................... 210 6.2.3 Clustering probabilístico (EM) ..........................................214
6.3 Reglas de asociación ............................................. 217 6.4 Predicción numérica ............................................. 220
6.4.1 Predicción no lineal con árboles de regresión ................220 6.4.2 Estimador de núcleos.........................................................225 6.4.2.1 Aplicación a problemas multivariantes ................................................ 228 6.4.2.2 Aplicación a problemas de clasificación ............................................... 229
6.5 Clasificación ........................................................... 231 6.5.1 Tabla de decisión ................................................................231 6.5.2 Árboles de decisión ............................................................233 6.5.3 Reglas de clasificación .......................................................245 6.5.4 Clasificación bayesiana ......................................................251 6.5.5 Aprendizaje basado en ejemplares ..................................257
6.5.5.1 Algoritmo de los k-vecinos más próximos........................................... 258 6.5.5.2 Algoritmo k-estrella................................................................................. 260 6.5.5.3 Probabilidad de transformación para los atributos permitidos........ 261 6.5.5.4 Combinación de atributos ...................................................................... 262 6.5.5.5 Selección de los parámetros aleatorios ................................................. 262 6.5.5.6 Clasificación de un ejemplo ................................................................... 264
6.5.6 Máquinas de vectores de soporte (SVM) ........................265 6.5.6.1 SVM lineal................................................................................................. 266 6.5.6.2 SVM lineal de margen blando (soft margin) ......................................... 270 6.5.6.3 SVM no lineal. Funciones kernel ............................................................ 272 6.5.6.4 Clasificación multiclase .......................................................................... 276
6.5.7 Redes de neuronas .............................................................277
6.5.7.1 Estructura de las redes de neuronas ..................................................... 278 6.5.7.2 Proceso de entrenamiento (retropropagación) .................................... 279
6.5.8 Lógica borrosa (fuzzy logic) ...............................................281 6.5.9 Técnicas genéticas: algoritmos genéticos (genetic algorithms) ....................................................................282
10
Introducción
Capítulo 7 Técnicas de minería de datos en R.............285
7.1 Agrupamiento. Clustering .................................... 285
7.1.1 Agrupamiento jerárquico ..................................................286 7.1.2 Número óptimo de agrupaciones ....................................289 7.1.3 Agrupamiento por particionamiento ..............................299 7.1.4 Agrupamiento basado en modelos ..................................305 7.1.5 Agrupamiento borroso (fuzzy)..........................................312 7.1.6 Otras técnicas de agrupamiento.......................................314 7.1.7 Representación y análisis de las clases............................323 7.1.8 Validación de resultados ...................................................326
7.2 Clasificación ........................................................... 329 7.2.1 Selección de atributos ........................................................329 7.2.2 Reducción de la dimensionalidad....................................340 7.2.3 Árboles de decisión ............................................................347
7.2.3.1 RPART (Recursive Partitioning and Regression Trees)............................ 347 7.2.3.2 Árboles de inferencia condicional, CTREE .......................................... 350 7.2.3.3 C5.0 ............................................................................................................ 351
7.2.4 Metaalgoritmos ...................................................................354
7.2.4.1 AdaBoost (ADAptative BOOSTing)........................................................ 355 7.2.4.2 GBM (Gradient Boosting Machine) .......................................................... 356 7.2.4.3 Random forest ............................................................................................. 358
7.2.5 SVM, máquinas de vectores de soporte ..........................359 7.2.6 K vecinos próximos. k-NN (k-Nearest Neighbors) ...........361 7.2.7 Redes de neuronas artificiales ..........................................363
Capítulo 8 Internet de las cosas y análisis de series temporales ...........................................369
8.1 Internet de las cosas .............................................. 369 8.2 Thinger.io IoT ........................................................ 371 8.2.1 Hardware...............................................................................372 8.2.2 Configuración de la plataforma .......................................374 8.2.3 Software del dispositivo .....................................................376 8.2.4 Visualización y exportación de la información ..............379
8.3 Series temporales .................................................. 381
8.3.1 Predicción con series temporales .....................................382 8.3.1.1 Predicción lineal (autorregresión) ......................................................... 382 8.3.1.2 Error de predicción.................................................................................. 384 8.3.1.3 Predicción no lineal ................................................................................. 385
8.3.2 Análisis y descomposición de series................................386 8.3.2.1 Tendencia y estacionariedad .................................................................. 386 8.3.2.2 Modelos ARMA/ARIMA ........................................................................ 389
11
Ciencia de datos
8.4 Análisis de series con R ........................................ 390
8.4.1 Componentes de la serie temporal ..................................392 8.4.2 Modelos de predicción ......................................................400 8.4.3 Detección de anomalías .....................................................408
Capítulo 9 Análisis de datos espaciales ........................411
9.1 Introducción ........................................................... 411 9.1.1 Datos de tipo espacial ........................................................412 9.1.2 Latitud, longitud ................................................................413 9.1.3 La clase de datos Spatial en RStudio ...............................414 9.1.4 Datos ....................................................................................414
9.2 Tipos de datos........................................................ 416 9.2.1 Creación de objetos SpatialPoints ....................................416 9.2.2 Creación de objetos SpatialGrid .......................................420
9.3 Visualización de datos espaciales ....................... 421 9.4 Análisis estadístico (interpolación)..................... 423 9.4.1 Análisis exploratorio de datos ..........................................424 9.4.1.1 Crear grid Ávila-Madrid ......................................................................... 424
9.4.2 Interpolación IDW (Inverse Distance Weighted) ...............427
9.4.2.1 Presentación de resultados IDW ........................................................... 428
9.4.3 Correlación espacial (variograma) ...................................428
9.4.3.1 Selección modelo de variograma........................................................... 428 9.4.3.2 Presentación de resultados ..................................................................... 430
Bibliografía.....................................................431
12
Introducción
Introducción
1
CAPÍTULO
1.1 Introducción A finales del siglo XX, la cantidad de datos que fue almacenada en las bases de datos ya excedía la habilidad de los operadores para reducir y analizar los datos sin el uso de técnicas de análisis automatizadas. Muchas bases de datos comerciales transaccionales y científicas estaban creciendo de forma desproporcionada. A finales del siglo XX apareció por primera vez el término KDD (Knowledge Discovery in Databases), que es el proceso completo de extracción de información que se encarga además de la preparación de los datos y de la interpretación de los resultados obtenidos [PSF91]. Se trataba de interpretar grandes cantidades de datos y encontrar relaciones o patrones. Para conseguirlo harían falta técnicas de aprendizaje automático, estadísticas, bases de datos, técnicas de representación del conocimiento, razonamiento basado en casos, razonamiento aproximado, adquisición de conocimiento, redes de neuronas y visualización de datos. Tareas comunes en KDD son la inducción de reglas, los problemas de clasificación y clustering, el reconocimiento de patrones, el modelado predictivo, la detección de dependencias, etc. KDD era un campo creciente donde había muchas metodologías en desarrollo tanto genéricas como de dominio específico. En los últimos tiempos, se ha producido una eclosión en la disponibilidad de datos. Según un informe de IBM [IBM16], el 90 % de los datos disponibles actualmente en el mundo se han creado en los dos últimos años. Las nuevas posibilidades que ofrecen las infraestructuras y las redes de comunicación, unido a la amplia disponibilidad de dispositivos inteligentes (teléfonos móviles), Internet de las cosas (electrodomésticos inteligentes), metadatos, etc., generan un flujo de información que crece a un ritmo vertiginoso [Spencer16].
13
Ciencia de datos
La ingente cantidad de datos disponibles, generados de forma continua e incesante por entidades, usuarios, servicios o dispositivos, ha implicado el desarrollo de nuevos métodos científicos e ingenieriles para disponer de sistemas y procedimientos capaces de almacenar, procesar y analizar dichos datos, generando de esta manera información y conocimiento en sectores tan dispares como la industria, banca, finanzas, marketing, seguros, redes sociales, comercio electrónico, salud, gobierno electrónico, ciudades inteligentes, biología, medicina o ciencias de la tierra, por citar algunos. Big data es un término de origen inglés cuya traducción equivale a “datos masivos”. Muchas son las definiciones que entidades y organizaciones han dado para el término big data, pero todas ellas se pueden resumir en el conjunto de datos cuyo tamaño supera considerablemente la capacidad de captura, almacenado, gestión y análisis del software convencional de bases de datos. Sin embargo, el concepto no hace referencia simplemente al tamaño de la información, sino también a la variedad del contenido y a la velocidad con la que los datos se generan, almacenan y analizan. Estas dimensiones son las “3V” con las que la empresa Gartner describió big data, es decir volumen, velocidad y variedad de los datos1: •
Volumen. Como su propio nombre indica, big data corresponde al gran volumen de datos que se generan diariamente en las empresas y organizaciones de todo el mundo. Por ejemplo, la cadena de supermercados americana Walmart almacena más de un millón de transacciones comerciales cada hora identificando los productos que compran sus clientes; más de cien mil gigas de información almacena la red social Facebook diariamente, así como setenta y dos millones de descargas se realizan en la tienda online App Store.
•
Velocidad. Se trata de los flujos de datos, la creación de registros estructurados y la disponibilidad para el acceso y la entrega. Es decir, cómo de rápido se están produciendo los datos, así como la rapidez en la que se trata de satisfacer la demanda de éstos. La tecnología big data ha de ser capaz de almacenar y trabajar en tiempo real con las fuentes generadoras de información tales como sensores, redes sociales, blogs, páginas webs, etc., fuentes que generan millones de datos al segundo; y, por otro lado, capacidad de analizar dichos datos con la suficiente rapidez reduciendo los largos tiempos de procesamiento que presentaban las herramientas tradicionales de análisis.
•
Variedad. Big data ha de tener la capacidad de combinar una gran variedad de información digital en los diferentes formatos en los que se puedan presentar. Las empresas líderes en TIC siempre han tenido un problema para traducir grandes volúmenes de información transaccional en decisiones. Puesto que ahora hay más tipos de información para analizar, provenientes principalmente de los medios sociales, la complejidad aumenta. Esta variedad en los datos incluye datos
1 http://www.gartner.com/newsroom/id/1731916
14
Introducción
estructurados (bases de datos) y no estructurados, datos jerárquicos, documentos, correo electrónico, datos de medición, vídeo, imágenes fijas, audio, datos de cotizaciones, transacciones financieras, etc., entre otras clases de fuentes generadoras de diferentes tipos de información. Sin embargo, algunas organizaciones incluyen una cuarta V, ya sea para referirse a la veracidad de los datos, cuya valía exacta es vital para el negocio, o para referirse al valor de la información que proporcionan estos análisis: •
Veracidad. Big data ha de ser capaz de tratar y analizar inteligentemente este gran volumen de datos con la finalidad de obtener una información verídica y útil que nos permita mejorar la toma de decisiones basada en los datos más exactos.
•
Valor. Hace referencia a los beneficios que se desprenden del uso de big data (reducción de costes, eficiencia operativa, mejoras de negocio).
Por tanto, se define a la tecnología big data como el conjunto de arquitecturas y herramientas informáticas destinadas a la manipulación, gestión y análisis de grandes volúmenes de datos desde todo tipo de fuentes, diseñadas para extraer valor y beneficio de los mismos, con una amplia variedad en su naturaleza, mediante procesos que permitan capturar, descubrir y analizar información a alta velocidad y con un coste reducido. Comparativamente, estas nuevas tecnologías de big data no pueden ser equiparadas con las herramientas informáticas tradicionales. Actualmente las arquitecturas clásicas de tratamiento de datos no soportan el procesamiento de grandes cantidades de datos a costes asequibles para la mayoría de las empresas. Por consiguiente, el objetivo fundamental de big data es dotar de una infraestructura tecnológica a las empresas y organizaciones con la finalidad de poder almacenar, tratar y analizar de manera económica, rápida y flexible la gran cantidad de datos que se generan diariamente, para ello es necesario el desarrollo y la implantación tanto de hardware como de software específicos que gestionen esta explosión de datos con el fin de extraer valor y así obtener información útil para el negocio. La tecnología big data tiene por objetivo esta gestión de los datos e información de manera inteligente que ayude a una correcta toma de decisión. En el auge de esta era tecnológica, el sistema más utilizado en la industria para ofrecer capacidades analíticas avanzadas ha sido Hadoop, un software de código abierto cuyo desarrollo lo coordina la organización Apache Foundation. Hadoop es un framework de software que soporta aplicaciones distribuidas y facilita el almacenamiento y procesado de la información. Hadoop y su ecosistema han permitido el procesamiento de grandes cantidades de datos de manera asequible. Pero todavía no es una tecnología que se encuentre al alcance de cualquier empresa. La razón de esto es que las tecnologías big data todavía están en fase de evolución y maduración.
15
Ciencia de datos
Dentro de los entornos big data se suelen integrar herramientas de análisis de datos que permiten extraer nuevo conocimiento a partir de la ingente cantidad de datos almacenada. Actualmente hay un conjunto de herramientas comerciales que llevan a cabo procesos de análisis de datos, como son:
16
•
Weka. Es una aplicación de código abierto, disponible de forma gratuita bajo Licencia Pública General de GNU. Soporta prácticamente todas las tareas estándar de data mining. Los algoritmos pueden ser aplicados directamente sobre un conjunto de datos o llamados desde código Java. Weka también proporciona acceso a bases de datos SQL gracias a que tiene conexión JDBC (Java Database Connectivity) y puede procesar el resultado devuelto por una consulta hecha a Ia base de datos. No permite realizar minería de datos multirrelacional, pero existen aplicaciones que pueden convertir una colección de tablas relacionadas de una base de datos en una única tabla que ya puede ser procesada con Weka. Es una herramienta amigable para el usuario, provista de una interfaz gráfica que facilita a los usuarios inexpertos identificar información oculta en bases de datos y sistemas de archivos, utilizando simplemente las opciones de sus interfaces visuales.
•
Orange. Es una suite de software para aprendizaje automático y minería de datos basada en componentes, desarrollada en el Laboratorio de Bioinformática de Ia Facultad de Ciencias de Ia Computación e Informática de Ia Universidad de Liubliana, Eslovenia, junto con Ia comunidad de código abierto. Es un software libre, que puede ser redistribuido o modificado bajo los términos de Ia Licencia Pública General de GNU, y es distribuido por Orange, Data Mining Fruitful & Fun, web: http://orange.biolab.si, sin ninguna garantía. Orange incluye un amplio rango de técnicas de preproceso, modelado y exploración de datos. Está basada en componentes C++, a las que se puede acceder directamente a través de scripts Python (mejor y más fácil), o a través de objetos GUI llamados Orange Widgets.
•
RapidMiner. Anteriormente llamada YALE (Yet Another Learning Environment), es un entorno que contiene procedimientos de data mining y aprendizaje automático. El proceso de data mining puede hacerse mediante operadores arbitrariamente anidados, descritos en ficheros XML y creados con la interfaz gráfica de usuario de RapidMiner. RapidMiner está escrito en el lenguaje de programación Java. También integra esquemas de aprendizaje y evaluadores de atributos del entorno Weka y esquemas de modelización estadística de R-Project. RapidMiner puede ser utilizado para minería de texto, minería multimedia, minería de flujo de datos, desarrollo de métodos de conjunto y minería de datos distribuida.
•
Tanagra. Es un software gratuito de data mining para propósitos académicos y de investigación. Propone varios métodos de data mining, desde análisis exploratorio de datos, aprendizaje estadístico, aprendizaje automático y del área de bases de datos. Tanagra contiene algo de aprendizaje supervisado, pero también otros paradigmas como clustering, análisis factorial, estadística paramétrica y no
Introducción
paramétrica, reglas de asociación, selección de características y algoritmos de construcción. •
KNIME (Konstanz Information Miner). Es una plataforma de código abierto para Ia integración de datos, procesamiento, análisis y exploración desarrollada por Ia cátedra de Bioinformática y Minería de Información de Ia Universidad de Konstanz, Alemania, usando prácticas de ingeniería de software, y actualmente está siendo utilizada por más de seis mil profesionales en todo el mundo, tanto de Ia industria como a nivel académico. Integra todos los módulos de análisis del entorno Weka, y plugins adicionales permiten que se ejecuten R-scripts, ofreciendo acceso a una vasta librería de rutinas estadísticas.
•
Oracle Data Mining (ODM). Es una opción de sistema de gestión de base de datos relacional (RDBMS) de Oracle Database Enterprise Edition (EE). Contiene varios algoritmos de minería de datos y análisis de datos para clasificación, predicción, regresión, asociaciones, selección de características, detección de anomalías, extracción de características y análisis especializado. Estas implementaciones se integran en el núcleo de Ia base de datos Oracle, y operan de forma nativa sobre los datos almacenados en las tablas de bases de datos relacionales. El sistema está organizado en torno a unas pocas operaciones genéricas que proporcionan una interfaz unificada general de las funciones de minería de datos.
•
IBM SPSS Modeler. Originalmente llamada SPSS Clementine de SPSS Inc., después fue renombrada PASW Modeler, pero cuando en 2009 IBM adquirió SPSS Inc. fue denominada IBM SPSS Modeler. IBM SPSS Modeler es una aplicación de software de data mining de IBM. Es una herramienta de data mining y de análisis de texto, utilizada para construir modelos predictivos. Tiene una interfaz visual que permite a los usuarios utilizar algoritmos estadísticos y de data mining sin programar.
•
SAS Enterprise Miner. Es una potente herramienta de apoyo en el proceso de minería de datos con un diseño abierto y extensible con un amplio conjunto de capacidades. Dispone de una interfaz de usuario fácil de usar, que permite a los usuarios empresariales construir y valorar los mejores y más avanzados modelos predictivos y descriptivos de manera rápida y fácil, mejorando Ia precisión de las predicciones, y compartiendo información fiable para que los analistas de negocio puedan mejorar Ia calidad de sus decisiones disponiendo de conclusiones e ideas de forma rápida, autosuficiente y automatizada.
Específicamente, en España, las tecnologías big data arrancaron definitivamente en 2012, con gran aceleración del número de iniciativas, productos y servicios en 2013. Sin embargo, la casi totalidad de las aún pocas iniciativas comerciales existentes en España se basan en servicios a medida para la construcción de soluciones big data (en algún caso alineado a la representación comercial de algún producto), o en soluciones “verticales” sobre plataformas ya preimplementadas (soluciones para casos de uso
17
Ciencia de datos
específicos como los sistemas de búsqueda, minería web, procesamiento de logs, etc.). Dentro de las iniciativas creadas desde 2013 cabe resaltar: •
•
Daedalus. Creada en España en 1998, ofrece una gama de productos pensada para ofrecer soluciones avanzadas de procesamiento semántico. También merece destacar su participación en varios proyectos nacionales e internacionales de I+D. Sus productos: -
Textalytics. Ofrece, en modo SaaS, distintas API de alto nivel y aplicación específica para diversos sectores y escenarios de uso.
-
K-Site. Es una familia de módulos de tecnología lingüística, semántica y de gestión de contenido multimedia, pensada para ofrecer soluciones personalizadas.
-
Stilus. Es una herramienta para la revisión de textos multiidioma. Además de la corrección de textos ortográfica y gramaticalmente, permite realizar una revisión de estilo y recibir sugerencias y explicaciones didácticas. Este producto se ofrece a través del portal web: mystylus.com.
-
Sentimentalytics. Es un plugin para navegadores que analiza y etiqueta semánticamente los timelines que aparecen en redes y herramientas sociales.
Pragsis. Erigida en España en 2004, es actualmente el principal partner de Cloudera en España, con fuerte actuación en el campo de la formación. En 2012 Pragsis integró una amplia gama de herramientas formando su plataforma para big data basada en Hadoop: Bidoop. -
•
18
Bidoop Layer. Es una capa de componentes big data para Hadoop que integra herramientas analíticas y de visualización. La arquitectura de Bidoop Layer se divide en seis componentes principales: motor de workflow, motor de eventos en tiempo real, gestor de usuarios y accesos, Bidoop Manager, dashboards y herramientas de visualización.
Datasalt. Fundada en España en 2011, ofrece asistencia en la integración y el desarrollo de soluciones big data y cloud computing, principalmente a través de servicios de consultoría y formación. Ofrece una serie de productos verticales para sectores específicos (banca, comercio electrónico, publicidad…) basados en dos herramientas big data creadas por sus fundadores: -
Splout. Es un software libre que provee una vista SQL Big Data con latencias por debajo del segundo y alto rendimiento, integración con Hadoop, escalabilidad, flexibilidad y una interfaz REST.
-
Pangool. Es una API Java mejorada de bajo nivel para Hadoop basada en el paradigma Tuple MapReduce, gracias a su soporte nativo de los patrones de
Introducción
desarrollo más comunes: joins, ordenación secundaria y registros compuestos. •
Treelogic. Fundada en España en 1996, cuenta actualmente con SMYZER, una herramienta para la monitorización de la información contenida en redes y medios sociales en tiempo real. Treelogic no quiere faltar en el apogeo de desarrollos de plataformas tecnológicas big data, de modo que creó en 2014 una versión open source de un middleware que permitía de forma opaca para el cliente tratar datos en tiempo real en combinación con datos históricos. Comercialmente la plataforma se llamaba Lambdoop.
•
Paradigma Tecnológico. Establecida en 2007 y dedicada a tecnologías web, creó a finales de 2013 una start-up filial, Stratio. Con Stratio, Paradigma Tecnológico ha centrado sus esfuerzos en el desarrollo y comercialización de una plataforma big data a nivel internacional.
Entre las empresas y productos destacados anteriormente, todos ellos tenían en común el enfoque de abstraerse de las distintas tecnologías que componen un entorno big data principalmente a través de soluciones basadas en API, estas ofertas actuales están casi siempre limitadas a un determinado tipo de funcionalidad o a soluciones específicas. En paralelo al crecimiento del big data, del número y tamaño de los datos, de las aplicaciones, de las plataformas, ha evolucionado una nueva área de conocimiento que da respuesta a las nuevas necesidades de explotación de los mismos. Conocida globalmente como data science o ciencia de los datos, se trata de un campo interdisciplinar que combina machine learning, estadística, análisis avanzado, minería de datos, big data y programación, con el objetivo de extraer conocimiento oculto y útil a partir de los datos, mediante procesos de descubrimiento o de formulación y verificación de hipótesis ([IBM17], [NIST15]).
1.2 Los datos Los datos recogen un conjunto de hechos (una base de datos, BD) y los patrones son expresiones que describen un subconjunto de los datos (un modelo aplicable a ese subconjunto). BD involucra un proceso iterativo e interactivo de búsqueda de modelos, patrones o parámetros. Los patrones descubiertos han de ser válidos, novedosos para el sistema (para el usuario siempre que sea posible) y potencialmente útiles. Se han de definir medidas cuantitativas para los patrones obtenidos (precisión, utilidad, beneficio obtenido...). Se debe establecer alguna medida de interés que considere la validez, utilidad y simplicidad de los patrones obtenidos mediante alguna de las técnicas de minería de datos. El objetivo final de todo esto es incorporar el conocimiento obtenido en algún sistema real, tomar decisiones a partir de los resultados alcanzados o, simplemente, registrar la información conseguida y suministrársela a quien esté interesado.
19
Ciencia de datos
De forma esquemática el proceso de descubrimiento de conocimiento sigue los siguientes pasos: 1. Formular el problema. 2. Determinar la representación (atributos y clases). Esta determinación se puede realizar directamente a la vista de los datos, mediante la intervención de expertos o utilizando técnicas automáticas como son los filtros. 3. Identificar y recolectar datos de entrenamiento (bases de datos, ficheros, etc.). 4. Preparar datos para análisis. 5. Selección de modelo, construcción y entrenamiento. 6. Evaluar lo aprendido. La evaluación puede realizarse automáticamente, como por ejemplo la validación cruzada o mediante la intervención de un experto que valore los resultados obtenidos. 7. Integrar la base de conocimiento a la espera de nuevos datos tras acciones. El proceso de BD se inicia con la identificación del problema y de los datos que lo representan. Para ello hay que imaginar qué datos se necesitan, dónde se pueden encontrar y cómo conseguirlos. Una vez que se dispone de datos, se deben seleccionar aquellos que sean útiles para los objetivos propuestos. Se preparan poniéndolos en un formato adecuado. Una vez se tienen los datos adecuados se procede a la minería de datos, proceso en el que se seleccionarán las herramientas y técnicas adecuadas para lograr los objetivos pretendidos. Y tras este proceso llega el análisis de resultados, con lo que se obtiene el conocimiento pretendido.
1.3 Etapas en los procesos de big data Las etapas del trabajo en big data incluyen muchas decisiones que deben ser tomadas por el usuario estructuradas de la siguiente manera:
20
•
Comprensión del dominio de la aplicación, del conocimiento relevante y de los objetivos del usuario final.
•
Creación del conjunto de datos. Consiste en la selección del conjunto de datos, o del subconjunto de variables o muestra de datos, sobre los cuales se va a realizar el descubrimiento.
•
Limpieza y preprocesamiento de los datos. Se compone de operaciones, tales como recolección de la información necesaria sobre la cual se va a realizar el
Introducción
proceso, decidir las estrategias sobre la forma en que se van a manejar los campos de los datos no disponibles, estimación del tiempo de la información y sus posibles cambios, etc. •
Reducción de los datos y proyección. Encontrar las características más significativas para representar los datos, dependiendo del objetivo del proceso. En este paso se pueden utilizar métodos de transformación para reducir el número efectivo de variables a ser consideradas o para encontrar otras representaciones de los datos.
•
Elegir la tarea de minería de datos. Decidir si el objetivo del proceso es: regresión, clasificación, agrupamiento, etc.
•
Elección del algoritmo(s) de minería de datos. Selección del método(s) a ser utilizado para buscar los patrones en los datos. Incluye además la decisión sobre qué modelos y parámetros pueden ser los más apropiados.
•
Minería de datos. Consiste en la búsqueda de los patrones de interés en una determinada forma de representación o sobre un conjunto de representaciones, utilizando para ello métodos de clasificación, reglas o árboles, regresión, agrupación, etc.
•
Interpretación de los patrones encontrados. Dependiendo de los resultados, a veces se hace necesario regresar a uno de los pasos anteriores.
•
Consolidación del conocimiento descubierto. Consiste en la incorporación de este conocimiento al funcionamiento del sistema, o simplemente documentación e información a las partes interesadas.
El proceso de BD puede involucrar varias iteraciones y puede contener ciclos entre dos de cualquiera de los pasos. La mayoría de los trabajos que se han realizado sobre BD se centran en la etapa de minería en la búsqueda de algoritmos que extraigan relaciones y conocimiento de grandes cantidades de datos. Sin embargo, los otros pasos se consideran importantes para el éxito del proceso completo. Gran parte del esfuerzo del proceso de extraer conocimiento recae sobre la fase de preparación de los datos, fase crucial para tener éxito, como ya se comentó anteriormente.
1.4 Minería de datos Minería de datos es un término genérico que engloba resultados de investigación, técnicas y herramientas usadas para extraer información útil de grandes bases de datos. Si bien minería de datos es una parte del proceso completo de BD, en buena parte de la literatura, los términos minería de datos y BD se identifican como si fueran lo mismo. Concretamente, el término BD es usado comúnmente por los estadísticos, analistas de datos y por la comunidad de administradores de sistemas informáticos como todo
21
Ciencia de datos
el proceso de descubrimiento, mientras que el término minería de datos o machine learning es utilizado más por los especialistas en inteligencia artificial. Hasta ahora, los mayores éxitos en big data se pueden atribuir directa o indirectamente a avances en bases de datos (un campo en el que los ordenadores superan a los humanos). No obstante, muchos problemas de representación del conocimiento y de reducción de la complejidad de la búsqueda necesaria (usando conocimiento a priori) están aún por resolver. Ahí reside el interés que ha despertado el tema entre investigadores de todo el mundo. Los procesos de BD involucran diversas tecnologías: •
Bases de datos que permiten almacenar los datos de forma estructurada, tanto a nivel lógico (con la aparición en los últimos años de las bases de datos no relacionales) y a nivel de hardware (con la capacidad para el proceso en clúster).
•
Técnicas de visualización que permiten realizar representaciones gráficas de los datos que facilitan la labor del usuario a la hora de entender los datos, para filtrarlos y procesarlos.
•
Técnicas estadísticas, que permiten analizar analíticamente los datos almacenados en las bases de datos y desarrollar modelos estadísticos que los expliquen.
•
Técnicas de aprendizaje automático, que permiten desarrollar modelos conceptuales que representan los datos almacenados en la base de datos.
1.5 Estructura de un proyecto de análisis de datos En este apartado se repasan las fases de un proyecto de BD y se identifican los actores correspondientes. Por actores entendemos:
22
•
La empresa que requiere el conocimiento extraído, el cliente, en principio ese conocimiento puede ser estático, es decir, un conjunto de reglas o relaciones que les permitan interpretar lo que está ocurriendo en un momento determinado, o puede ser dinámico, es decir, un software con los algoritmos adecuados para la extracción de conocimiento que puedan ejecutar sobre los datos a medida que se van almacenando.
•
La empresa especializada en desarrollo de herramientas avanzadas, la empresa TIC, y que habitualmente ha desarrollado el sistema de información del cliente, y que desea incorporar entre las herramientas del sistema de información un núcleo de visualización y extracción de conocimiento para incrementar el valor innovador del sistema de información. Un ejemplo claro de estos sistemas son las herramientas de business intelligence, cuya idea es proporcionar la información procesada y el conocimiento extraído para que los directivos tomen las decisio-
Introducción
nes. En muchos clientes, sobre todo en las grandes empresas, esta empresa TIC es directamente su departamento TIC, que es el responsable de dar soporte y desarrollar las herramientas del sistema de información del cliente. •
Una empresa o universidad con personas expertas en el campo del machine learning, expertas en los algoritmos de extracción que pueden valorar qué tipos de algoritmos y con qué parámetros tiene sentido intentar extraer conocimiento de las bases de datos del cliente utilizando la tecnología de la empresa TIC. Estos expertos pueden formar parte de la plantilla de la empresa TIC, pero en general suelen subcontratarse sus servicios para llevar los análisis previos que permitan valorar qué algoritmos utilizar, qué parámetros e incluso si se deben desarrollar algoritmos propios para los datos de esa empresa.
Para cada fase del proceso de KDD hace falta la participación de uno o varios de estos actores, a modo de resumen: TAREA 1. Comprensión del dominio de la aplicación, del conocimiento relevante y de los objetivos del usuario final.
CLIENTE Es muy relevante que el cliente tenga claro el objetivo del proyecto, si se trata de un conocimiento estático o uno dinámico, y sobre todo, qué quiere aprender de sus propios datos. El proceso de BD no es un automatismo que les va a generar cosas insospechadas y válidas para la empresa.
2. Creación del conjunto de datos. Consiste en la selección del conjunto de datos o del subconjunto de variables o muestra de datos sobre los cuales se va a realizar el descubrimiento.
En este caso, el cliente únicamente debe facilitar la recogida de la información.
EMPRESA TIC La empresa TIC tiene que hacer una valoración de la tecnología, qué soluciones puede aportar para el almacenamiento de datos, para el procesado de grandes volúmenes de datos, qué cambios en el sistema de información, y sobre todo, si lo que requiere el cliente necesita de un experto ML o es suficiente con una adecuada captación de información y procesado de la misma. La empresa TIC debe asegurar que cuenta con las tecnologías que permitan llevar a cabo la creación de ese conjunto de datos.
EXPERTO AD Puede participar para aclarar qué no puede ser resuelto con algoritmos de ML a la luz de la información almacenada, pero no se requiere su presencia en esta primera fase si la empresa TIC tiene claras cuáles son sus capacidades.
El experto debe validar que el conjunto de datos es completo y representativo, o al menos dar las pautas para que se genere ese conjunto de datos, a menos que la empresa TIC tenga experiencia previa y asegure que la información cumple con los requisitos para poder aplicar sobre ella diferentes algoritmos.
23
Ciencia de datos
3. Limpieza y preprocesamiento de los datos. Se compone de operaciones tales como: recolección de la información necesaria sobre la cual se va a realizar el proceso, decidir las estrategias sobre la forma en que se van a manejar los campos de los datos no disponibles, estimación del tiempo de la información y sus posibles cambios, etc.
La empresa TIC desarrolla los procesos de software para llevar a cabo estas tareas. Es importante un alto grado de automatización, porque esta tarea es la más importante del proceso y se volverá a ella a medida que se descubran relaciones entre los datos, llevando a cabo limpiezas sucesivas.
El experto define cómo llevar a cabo estos procesos, cuáles son los algoritmos que deben desarrollarse para hacer esta limpieza. Estos cambios dependerán del conocimiento del experto y de los resultados de las siguientes fases.
4. Reducción de los datos y proyección. Encontrar las características más significativas para representar los datos, dependiendo del objetivo del proceso. En este paso se pueden utilizar métodos de transformación para reducir el número efectivo de variables a ser consideradas o para encontrar otras representaciones de los datos.
La empresa TIC suministra procesos de software para llevar a cabo el acceso a los datos de forma rápida y al mismo tiempo suele incorporar estas funciones como parte del sistema de información porque son útiles al cliente.
El experto ejecuta los algoritmos e interpreta la solución, en muchos casos se debe volver a la fase previa.
5. Elegir la tarea de ML. Decidir si el objetivo del proceso de BD es: regresión, clasificación, agrupamiento, etc. 6. Elección del algoritmo(s) de ML. Selección del método(s) a ser utilizado para buscar los patrones en los datos. Incluye además la decisión sobre qué modelos y parámetros pueden ser los más apropiados.
24
El cliente tiene que haber dejado definido previamente qué desea obtener.
El experto valora los algoritmos posibles y las posibilidades de aplicar qué objetivo en función de lo que desea obtener el cliente. El experto lleva a cabo diversos experimentos, que en muchos casos deben empezar desde la fase 3 de limpieza para valorar algoritmos aplicables.
Introducción
La empresa TIC implementa los algoritmos decididos sobre el sistema de información de la empresa.
7. ML. Consiste en la búsqueda de los patrones de interés en una determinada forma de representación o sobre un conjunto de representaciones, utilizando para ello métodos de clasificación, reglas o árboles, regresión, agrupación, etc. 8. Interpretación de los patrones encontrados. Dependiendo de los resultados, a veces se hace necesario regresar a uno de los pasos anteriores.
El cliente explica la validez de los resultados y su posible aplicación futura, valora el conocimiento extraído y el éxito del proyecto.
9. Consolidación del conocimiento descubierto. Consiste en la incorporación de este conocimiento al funcionamiento del sistema, o simplemente documentación e información a las partes interesadas.
El cliente incorpora el conocimiento si es estático o las funciones del sistema de información si es dinámico.
El experto lleva a cabo el proceso de minería con los algoritmos previos sobre el conjunto de datos para extraer conclusiones concretas con ese conjunto de datos.
El experto explica los resultados y su validez matemática.
La empresa TIC desarrolla las funciones específicas para el cliente en el caso de extracción de conocimiento dinámico.
Como se puede observar, las tareas de cada actor tienen una mayor influencia en cada uno de los pasos y en muchos casos deberían intervenir los tres en reuniones de seguimiento para ir analizando los resultados obtenidos.
1.6 Aplicaciones En este punto se presentan las principales áreas y sectores empresariales en los que se puede aplicar la minería de datos.
1.6.1 Marketing Actualmente, con la generación de los puntos de ventas informatizados y conectados a un ordenador central y el constante uso de las tarjetas de crédito se genera gran cantidad de información que hay que analizar. Con ello se puede emplear la minería de datos para:
25
Ciencia de datos
•
Identificar patrones de compra de los clientes. Determinar cómo compran a partir de sus principales características, conocer el grado de interés sobre tipos de productos, si compran determinados productos en determinados momentos, etc.
•
Segmentación de clientes. Consiste en la agrupación de los clientes con características similares, por ejemplo, demográficas. Es una importante herramienta en la estrategia de marketing que permite realizar ofertas acordes a diferentes tipos de comportamiento de los consumidores.
•
Predecir respuestas a campañas de mailing. Estas campañas son caras y pueden llegar a ser molestas para los clientes a los que no les interesa el tipo de producto promocionado, de modo que es importante limitarlas a los individuos con una alta probabilidad de interesarse por el producto. Está, por ello, muy relacionada con la segmentación de clientes.
•
Análisis de cestas de la compra (market-basket analysis). Consiste en descubrir relaciones entre productos, esto es, determinar qué productos suelen comprarse junto con otros, con el fin de distribuirlos adecuadamente.
1.6.7 Compañías de seguros En el sector de las compañías de seguros y la salud privada, se pueden emplear las técnicas de minería de datos, por ejemplo, para: •
Análisis de procedimientos médicos solicitados conjuntamente.
•
Predecir qué clientes compran nuevas pólizas.
•
Identificar patrones de comportamiento para clientes con riesgo.
•
Identificar comportamiento fraudulento.
1.6.8 Banca En el sector bancario la información que puede almacenarse es, además de las cuentas de los clientes, la relativa a la utilización de las tarjetas de crédito, que puede permitir conocer hábitos y patrones de comportamiento de los usuarios. Esta información puede aplicarse para:
26
•
Detectar patrones de uso fraudulento de tarjetas de crédito.
•
Identificar clientes leales. Es importante para las compañías de cualquier sector mantener los clientes. Y es que hay estudios que demuestran que es cuatro veces más caro obtener nuevos clientes que mantener los existentes.
•
Predecir clientes con probabilidad de cambiar su afiliación.
Introducción
•
Determinar el gasto en tarjetas de crédito por grupos.
•
Encontrar correlaciones entre indicadores financieros.
•
Identificar reglas del mercado de valores a partir de datos históricos.
1.6.4 Telecomunicaciones En el sector de las telecomunicaciones se puede almacenar información interesante sobre las llamadas realizadas, así como el destino, la duración, la fecha, etc. en que se realiza la llamada, por ejemplo, para: •
Detección de fraude telefónico. Mediante el agrupamiento o clustering se pueden detectar patrones en los datos que permitan detectar fraudes.
1.6.5 Medicina También en el campo médico se almacena gran cantidad de información, sobre los pacientes, tal como enfermedades pasadas, tratamientos impuestos, pruebas realizadas, evolución, etc. Se pueden emplear técnicas de minería de datos con esta información, por ejemplo, para: •
Identificación de terapias médicas satisfactorias para diferentes enfermedades.
•
Asociación de síntomas y clasificación diferencial de patologías.
•
Estudio de factores (genéticos, precedentes, de hábitos, alimenticios, etc.) de riesgo para la salud en distintas patologías.
•
Segmentación de pacientes para una atención más inteligente según su grupo.
•
Estudios epidemiológicos, análisis de rendimientos de campañas de información, prevención, sustitución de fármacos, etc.
•
Identificación de terapias médicas y tratamientos erróneos para determinadas enfermedades.
1.6.6 Industria farmacéutica En el sector químico y farmacéutico se almacenan gran cantidad de información: •
Bases de datos de dominio público conteniendo información sobre estructuras y propiedades de componentes químicos.
•
Resultados de universidades y laboratorios publicados en revistas técnicas.
27
Ciencia de datos
•
Datos generados en la realización de los experimentos.
•
Datos propios de la empresa.
Los datos son almacenados en diferentes categorías y a cada categoría se le aplica un diferente trato. Se podrían realizar, entre otras, las siguientes operaciones con la información obtenida: •
Clustering de moléculas. Consiste en el agrupamiento de moléculas que presentan un cierto nivel de similitud, con lo que se pueden descubrir importantes propiedades químicas.
•
Búsqueda de todas las moléculas que contienen un patrón específico. Se podría introducir una subestructura (un patrón), devolviendo el sistema todas las moléculas que son similares a dicha estructura.
•
Búsqueda de todas las moléculas que vinculan un camino específico hacia una molécula objetivo. Realizar una búsqueda exhaustiva puede ser impracticable, de manera que se pueden usar restricciones en el espacio de búsqueda.
•
Predicción de resultado de experimentos de una nueva molécula a partir de los datos almacenados. A través de determinadas técnicas de inteligencia artificial es posible predecir los resultados a nuevos experimentos a partir de los datos, con el consiguiente ahorro de tiempo y dinero.
1.6.6 Biología Con la finalización en los próximos años del Proyecto Genoma Humano y el almacenamiento de toda la información que está generando en bases de datos accesibles por Internet, el siguiente reto consiste en descubrir cómo funcionan nuestros genes y su influencia en la salud. Existen nuevas tecnologías (chips de ADN, proteómica, genómica funcional, variablidad genética individual) que están posibilitando el desarrollo de una “nueva biología” que permite extraer conocimiento biomédico a partir de bases de datos experimentales en el entorno de un ordenador, básicamente mediante técnicas de minería de datos y visualización. Estos trabajos forman parte de los desarrollos de la bioinformática.
1.6.7 Minería de textos La minería de textos (text mining) surge ante el problema cada vez más apremiante de extraer información automáticamente a partir de masas de textos. Se trata así de extraer información de datos no estructurados: texto plano. Existen varias aproximaciones a la representación de la información no estructurada:
28
Introducción
•
Bag of words. Cada palabra constituye una posición de un vector y el valor corresponde con el número de veces que ha aparecido.
•
N-gramas o frases. Permite tener en cuenta el orden de las palabras. Trata mejor frases negativas “... excepto...”, “... pero no...”, que tomarían en otro caso las palabras que le siguen como relevantes.
•
Representación relacional (primer orden). Permite detectar patrones más complejos (si la palabra X está a la izquierda de la palabra Y en la misma frase...).
•
Categorías de conceptos.
Casi todos se enfrentan con el vocabulary problem, ya que tienen problemas con la sinonimia, la polisemia, los lemas, etc. En cualquier caso, aunque aún no se ha avanzado mucho en el área de minería de textos, ya hay productos comerciales que emplean esta tecnología con diferentes propósitos.
1.6.9 Minería de datos web La minería de datos web (web mining) es una tecnología usada para descubrir conocimiento interesante en todos los aspectos relacionados con la web. Es uno de los mayores retos. El enorme volumen de datos en la web generado por la explosión de usuarios y el desarrollo de librerías digitales hace que la extracción de la información útil sea un gran problema. Cuando el usuario navega por la web se encuentra frecuentemente saturado por los datos. La integración de herramientas de minería de datos puede ayudar a la extracción de la información útil. La minería de datos web se puede clasificar en tres grupos distintos no disjuntos, dependiendo del tipo de información que se quiera extraer o de los objetivos: •
Minería del contenido de la web (web content mining). Extraer información del contenido de los documentos en la web. Se puede clasificar a su vez en: -
Text mining. Si los documentos son textuales (planos).
-
Hypertext mining. Si los documentos contienen enlaces a sí mismos o a otros documentos.
-
Markup mining. Si los documentos son semiestructurados (con marcas).
•
Multimedia mining. Para imágenes, audio, vídeo, etc.
•
Minería de la estructura de la web (web structure mining). Se intenta descubrir un modelo a partir de la tipología de enlaces de la red. Este modelo puede ser útil para clasificar o agrupar documentos.
29
Ciencia de datos
•
Minería del uso de la web (web usage mining). Se intenta extraer información (hábitos, preferencias, etc. de los usuarios o contenidos y relevancia de documentos) a partir de las sesiones y comportamiento de los usuarios navegantes.
1.6.10 Redes sociales Las redes sociales proporcionan una cantidad ingente de información, lo que supone una gran oportunidad para obtener conocimiento útil, como información sobre el comportamiento de los usuarios y la interacción entre ellos, lo que en el caso de las empresas puede redundar finalmente en una ventaja competitiva. La explotación de esta información no es sólo una oportunidad sino también un reto importante, ya que, a diferencia del análisis de textos tradicional, en el que se investigaba el contenido con el objetivo de obtener información para su clasificación, en este caso, la explotación se complica, tanto por la cantidad de datos de entrada como por su naturaleza. Por ejemplo, es preciso considerar nuevas variables, como los seguidores (en el argot de Twitter, los denominados followers). En el caso específico de Twitter, la información (los tweets) es generada de forma masiva y a una velocidad vertiginosa propiciando la necesidad imperiosa de un almacenamiento y procesamiento óptimos y eficientes que gestionen este aumento exponencial de información a analizar en formato de texto. Las herramientas de visualización también están cambiando para adaptarse a la información rápida y con representaciones gráficas de alto nivel de percepción que ayuden al análisis y a la toma de decisiones. Existen numerosas herramientas de análisis de los datos de redes sociales, en particular de Twitter. Generalmente, estas herramientas organizan, clasifican o filtran la información de manera que los usuarios de la misma puedan monitorizarla y extraer conocimiento que de otro modo hubiera sido muy difícil extraer del conjunto total de información. Por ejemplo, Tweet Binder2 es capaz de organizar usuarios en diferentes listas, como la de “usuarios más activos”, que ordena a los usuarios según el número de tweets que publican, o la de “usuarios que generan mayor impacto”, que cuenta el número de tweets de un usuario vistos por el resto de usuarios. Otra funcionalidad de la herramienta es filtrar sólo los tweets que contienen enlaces a otras páginas. En la misma línea, la aplicación para iPad Tweet Category3 saca estadísticos como, por ejemplo, el índice de actividad en una conferencia, que se mide por el porcentaje de usuarios que publican tweets sobre el total de los asistentes. En efecto, esta información puede ser útil para los usuarios de la herramienta, por ejemplo, las empresas, que pueden identificar personas que tienen impacto o generan interés en su área de negocio.
2 http://www.tweetbinder.com/ 3 https://itunes.apple.com/app/tweet-category/id534497714
30
Introducción
Otras herramientas buscan facilitar la tarea de los usuarios filtrando o reorganizando la información procesada mediante métodos estadísticos y de reconocimiento de patrones, extrayendo un conocimiento para el usuario. Este conocimiento no está presente en los datos crudos de entrada y sólo es posible alcanzarlo mediante este procesamiento automático (no mediante inspección de los datos ni de listas organizadas de éstos). Un ejemplo de la utilidad de este tipo de análisis y su capacidad de mejorar y complementar las soluciones existentes es la herramienta Hashtracking4, que permite extraer un gráfico de la evolución del número de tweets publicados en relación con un hashtag (por ejemplo, a lo largo de una conferencia). También saca una lista con los usuarios más activos, e imprime en pantalla el número de followers de cada uno. De esta manera, los usuarios de la aplicación pueden identificar a las personas más influyentes. Sin embargo, la labor de inteligencia se cede al usuario de la herramienta, ya que es éste quien debe decidir cómo medir esa influencia. Lo más normal es que el usuario se limite a decantarse por los usuarios con más followers, ya que a primera vista no tienen más elementos para juzgar. La realidad es que estos elementos existen, pero a menudo no son accesibles para el usuario o son demasiados y demasiado abstractos como para que el usuario pueda establecer una relación inmediata entre ellos. Por ello, las técnicas de ML tratan de transferir esa parte de inteligencia a la herramienta, que es capaz de sintetizar los datos crudos en información útil para el usuario.
1.7 Modelos y tareas Los modelos son las relaciones, reglas, patrones y resúmenes extraídos tras el análisis de los datos. Gracias a esta extracción se obtiene el conocimiento útil que se estaba buscando. Estos modelos pueden ser tanto descriptivos como predictivos: •
Modelos descriptivos. Su objetivo no es otro que hallar patrones o resumir los datos. No pretenden predecir nuevos datos a partir de la información recabada. Los datos se presentan como un conjunto, sin estar ordenados ni etiquetados de manera alguna. Técnicas tales para estos modelos son el agrupamiento, las reglas de asociación y el análisis correlacional.
•
Modelos predictivos. Tienen como principal objetivo aproximar posibles valores del futuro o desconocidos a través de los datos de los que ya se dispone. Los datos van acompañados de una salida (clase, categoría o valor numérico). La regresión y la clasificación son técnicas comúnmente usadas en este tipo de modelos.
En paralelo con los tipos de modelos se tienen las tareas, que se pueden desarrollar cuando se aborda un problema de BD.
4 https://www.hashtracking.com/
31
Ciencia de datos
1.7.1 Tareas descriptivas 1.7.1.1 Agrupamiento Conocido globalmente como clustering, aunque también puede recibir otros nombres como segmentación, aglomeración o racimamiento. Probablemente sea la tarea descriptiva más empleada de todas. El clustering consiste en formar grupos “naturales” a partir de un conjunto de datos. En contraposición a la clasificación, en vez de analizar datos etiquetados con una clase, los analiza para generar una etiqueta. Los datos se agrupan de modo que los que pertenezcan a un mismo grupo guarden muchas similitudes entre sí y los que pertenezcan a grupos distintos se diferencien lo máximo posible. Al agrupamiento o clustering también se le conoce por segmentación, como ya hemos mencionado anteriormente, ya que segmenta el conjunto de datos en diversos grupos. Al principio se desconoce cuántos grupos de clasificación existirán ni cómo serán estos grupos. Aquí se barajan dos opciones: o “forzar” el algoritmo para obtener un número determinado de grupos o dejar que la herramienta analice la naturaleza de los datos y calcule cuántos grupos sería deseable obtener. Ya que el clustering organiza la información en diferentes segmentos o grupos, tiene una gran capacidad de predicción: en cuanto aparezcan nuevos datos, podrán ser clasificados en los grupos ya existentes. Gracias a esto, sabremos que comparten una serie de características y comportamientos comunes. Además, permite la explotación a posteriori de nuevos algoritmos dentro de cada grupo creado. De este modo se estudiará la información de una manera más inteligente. El clustering es un buen aliado en el campo de las ventas. Un ejemplo de ello es la clasificación de clientes por su comportamiento ante cierto tipo de productos. De este modo se puede orientar el lanzamiento de un producto para maximizar los beneficios.
1.7.1.2 Correlaciones y factorizaciones Es una tarea descriptiva que analiza el porcentaje de similitud entre los valores de , se dos variables numéricas. Teniendo los ejemplos de un grupo puede analizar la correlación existente entre dos atributos de todos los elementos de ese grupo y . Se lleva a cabo gracias a un modelo matemático con un coeficiente de correlación r, que toma valores entre -1 y 1. En caso de que el coeficiente dé 1 o -1 significa que las variables están fuertemente correlacionadas (de modo positivo o negativo respectivamente). Si el valor obtenido es 0 las variables no guardan ninguna correlación. Esto significa que, cuando guardan correlación positiva, ambas variables crecen al mismo tiempo. Decrecen de igual modo cuando la correlación es negativa. La correlación puede ser lineal o de cualquier otro tipo. Las tareas de correlación y las
32
Introducción
factorizaciones se pueden combinar con modelos de regresión para estudiar relaciones entre atributos de causa-efecto.
1.7.1.3 Reglas de asociación Estas tareas han evolucionado conjuntamente con la minería de datos desde los años noventa. Son tareas descriptivas similares a las correlaciones y factorizaciones. Su función principal es hallar relaciones no explícitas entre atributos categóricos. Dicho en otros términos, su objetivo es el mismo que el de las correlaciones pero para variables nominales, no numéricas. Dado el conjunto de elementos definidos por un conjunto de atributos , una regla de asociación se escribirá del siguiente modo: “si…, entonces… ”. La anterior ecuación no significa otra cosa que: “si el atributo X toma el valor a entonces el atributo Y tomará el valor c”. Esto no tiene por qué significar que los atributos estén relacionados entre sí por causa-efecto. La estructura de la anterior asociación es una regla de asociación direccional, es decir, está orientada. Por este motivo, se denominan también dependencias de valor. También existen las reglas de asociación bidireccionales, donde en vez de haber una implicación, existe una “coimplicación”. Por otra parte, se pueden emplear además otro tipo de reglas de asociación como las negativas (con desigualdades), las reglas de asociación secuenciales (cuando una asociación se produce a continuación de la anterior y no al mismo tiempo) o reglas de asociación multinivel (involucran ítems con diferentes niveles de abstracción). En la actualidad, grandes cadenas de supermercados emplean este tipo de herramientas de minería de datos para conocer mejor a sus clientes. Aplicando reglas de asociación direccionales del estilo “si compra_ginebra = sí compra_tónica = sí entonces compra_hielos”, el supermercado podría aplicar descuentos especiales o incluso hacer una mejor disposición de los productos para facilitar la compra a sus consumidores. Esto no significa que si alguien compra hielos vaya a comprar ginebra, pero sí es muy probable que ocurra en el sentido inverso. Por el contrario, si ponemos en práctica una regla de asociación bidireccional del estilo “si compra_cereales = sí compra_leche”, estaríamos afirmando que una compra no se produce sin la otra. Ofertar estos productos en el mismo pack o colocarlos en estanterías muy próximas en el comercio sería una buena estrategia de negocio.
1.7.1.4 Dependencias funcionales A menudo son enmarcadas dentro del campo de las reglas de asociación. Pero cuentan con una sustancial diferencia. Las dependencias funcionales consideran todos los posibles valores expresados del siguiente modo: “dados los valores de los atributos soy capaz de determinar el valor del atributo ”. La explicación es que
33
Ciencia de datos
depende o es función de los valores del resto de atributos . Las dependencias funcionales, al igual que ocurría con las reglas de asociación, pueden ser orientadas o no orientadas. Un ejemplo típico de dependencias funcionales es discretizar grupos de gente sucesivamente (primero en edad, sexo, antecedentes familiares, etc.) para determinar si finalmente alguien podría padecer cierta enfermedad en el futuro. Directamente relacionada con los outlier, está la técnica detección de valores e instancias anómalas, la cual pretende localizar y aislar en el conjunto global de los datos aquellas instancias anómalas en uno o todos sus atributos. Después de hacer una agrupación de los ejemplos, aquellos que tengan baja probabilidad de entrar en cualquier grupo serán detectados como sucesos aislados y acabarán siendo rechazados.
1.7.2 Tareas predictivas 1.7.2.1 Clasificación También conocida como discriminación. Es, con mucha probabilidad, la tarea más popular de data mining. Cada entrada de la base de datos (a la cual llamaremos instancia) pertenece a una clase, que se indica mediante el valor de un atributo llamado la clase de la instancia. Este atributo toma diversos valores discretos, correspondiendo cada uno a una clase. La clasificación busca predecir la clase desconocida de nuevas instancias o, más concretamente, clasificar de modo más preciso las nuevas instancias. Esto lo consigue calculando el cociente entre las predicciones correctas y el total de todas las predicciones. Los ejemplos se presentan como un conjunto de duplas de elementos pertenecientes a los dos conjuntos, E y S , siendo el conjunto de valores de salida. Los ejemplos, representados por , suelen ir junto a un valor de , se les llama pues ejemplos etiquetados . En consecuencia, será el conjunto de datos etiquetado. Esta tarea busca el aprendizaje de una función llamada clasificador, C: E -> S que exponga la correspondencia presente entre los ejemplos. En otras palabras, que para cada valor de sólo tengamos un valor de . Esta no toma valores numéricos ya que es un conjunto nominal. Los valores que adquiera serán los denominados clases. Para el caso de que sólo existan dos clases se llamará clasificación binaria. Si el proceso y el algoritmo se han desarrollado correctamente, la función podrá establecer la clase de nuevos ejemplos aún no etiquetados, es decir, dará un valor de a cada valor de . Uno de los ejemplos más habituales en la actualidad es el algoritmo que emplean los clientes de correo electrónico para clasificar los mensajes nuevos entrantes como spam o no.
34
Introducción
1.7.2.2 Clasificación suave Se parte de los mismos conjuntos de la clasificación, E y S . La diferencia con la clasificación ordinaria es que aquí añadimos otra función, CS: E -> S,p , que evalúa el porcentaje de certeza de la función de clasificación . Como es evidente, es muy aconsejable acompañar cualquier clasificación de un grado de certeza para asegurar de este modo unos buenos resultados. Continuando con el ejemplo del spam expuesto en la clasificación, la clasificación suave añadiría una graduación de la posibilidad de que un correo sea basura.
1.7.2.3 Categorización Esta tarea no pretende el aprendizaje de una función, sino el de una correspondencia. Cada ejemplo de E puede pertenecer a varias categorías, por lo tanto, la función a aprender debe ser capaz de asignar varias categorías a un mismo , mientras que la clasificación sólo es capaz de asignar una. Es decir, cada ejemplo puede tener varias categorías asignadas al mismo tiempo. Un ejemplo para este tipo de tareas es la categorización de documentos asignando categorías según el tipo de cada uno de ellos.
1.7.2.4 Preferencias o priorización Se trata de, teniendo dos o más ejemplos de nuestro conjunto de datos, elaborar un orden de preferencia según las características que estemos buscando. Cada ejemplo de nuestra base de datos forma una secuencia de atributos El orden que lleve esta secuencia representará la preferencia. El modelo está representado por un conjunto de datos que se comparan por las preferencias en orden . A pesar de que la tarea es útil para ordenar un conjunto grande de ejemplos, a menudo se emplea para calcular la prioridad entro dos elementos únicos, en otras palabras, para compararlos sólo a ellos dos. Un ejemplo de este tipo de tareas se puede ver en la contratación inteligente en una empresa. El sistema evaluaría a los candidatos en función de, por ejemplo, puestos de trabajo anteriores, estudios, experiencia, etc. Más tarde elaboraría un orden entre los mismos para dar con el más propicio para la empresa. Las técnicas de preferencias o priorización también están siendo muy usadas en el campo de la biomedicina para descubrir qué genes afectan más a según qué enfermedades.
35
Ciencia de datos
1.7.2.5 Regresión También llamada en ocasiones interpolación (si el valor a predecir se encuentra dentro del rango de los valores conocidos) o estimación (cuando la tarea es de predicción pura). Debido a la sencillez del modelo con el que trabaja, es una de las tareas más fáciles de explicar. Es similar a la clasificación, ya que su fin es aprender una función real para asignar un valor real a una instancia. Es, por tanto, una tarea de predicción. Se diferencia de la clasificación en que el valor a calcular es numérico. Será prioridad reducir el error al máximo posible entre el valor predicho y el valor real, lo que se conoce como el error cuadrático medio. El conjunto de datos o ejemplos en la regresión viene representado por e,S siendo el conjunto de salida de los valores. Como sucedía en la clasificación, los ejemplos se llaman ejemplos etiquetados al ir acompañados de un valor de . El símbolo e vuelve a ser el conjunto de datos etiquetado. La función a implementar por la tarea es R:e->S , con un matiz respecto a la clasificación: aquí tomará valores numéricos y no nominales, en forma de números enteros o reales. Se emplea habitualmente para modelos de predicción de ventas de empresas o en sectores de calidad para, por ejemplo, estimar el número de unidades defectuosas de una partida.
1.8 Métodos y técnicas Los métodos suponen el modo de llevar a la práctica la resolución de las tareas mediante la aplicación de técnicas o algoritmos matemáticos. El número de métodos que se pueden hallar es muy elevado debido al ingente campo que abarca la minería de datos. De esta manera, una misma tarea se podrá resolver mediante la aplicación de variados métodos. Como era de esperar, hay un método o técnica para cada situación y su efectividad se verá recompensada con una buena elección del mismo. El conjunto de técnicas que existen es muy variado.
1.8.1 Técnicas algebraicas y estadísticas Este tipo de técnicas expresan los modelos y patrones mediante la utilización de fórmulas algebraicas, funciones lineales, funciones no lineales, distribuciones, varianzas, correlaciones, etc. Suelen extraer los patrones con la ayuda de un modelo anterior predeterminado, a partir del cual generan unos parámetros o coeficientes. Es por ello que muchas veces reciben el nombre de técnicas paramétricas. Algunas de las técnicas algebraicas y estadísticas más conocidas son las regresiones: logística, logarítmica y lineal. También se engloban dentro de esta clase los discriminantes
36
Introducción
lineales y no lineales, basados en funciones predefinidas, los llamados discriminantes paramétricos.
1.8.2 Técnicas bayesianas Utilizan el teorema de Bayes (como su nombre indica) para evaluar la probabilidad de pertenencia a una clase o grupo a través de la estimación de las probabilidades condicionales inversas o a priori. Los algoritmos más empleados de este tipo de técnicas son los métodos basados en máxima verisimilitud, el algoritmo EM y el clasificador bayesiano naive. Gracias a las técnicas bayesianas es posible representar gráficamente la interacción entre variables e interacciones probabilísticas.
1.8.3 Técnicas basadas en conteos de frecuencias y tablas de contingencia Permiten contabilizar la frecuencia con la que dos sucesos o más se producen simultáneamente. En el caso de que la base de datos a explotar sea muy grande, hay ciertos algoritmos que empiezan por pares de sucesos y van aumentando el conjunto si y sólo si las frecuencias conjuntas alcanzan un determinado umbral. El algoritmo más famoso y ampliamente empleado en este campo es el de a priori.
1.8.4 Técnicas basadas en árboles de decisión y sistemas de aprendizaje de reglas Este tipo de técnicas se representan en forma de reglas, basándose principalmente en dos tipos de algoritmos diferentes: los algoritmos del tipo “divide y vencerás” (ID3/C4.5 o CART) y los llamados “separa y vencerás” (algoritmo CN2).
1.8.5 Técnicas relacionales, declarativas y estructurales Emplean un tipo de lenguaje declarativo, esto es, declaran un conjunto de afirmaciones, proposiciones, transformaciones y ecuaciones que describen el problema detallando del mismo modo su posible solución. Dentro de este lenguaje declarativo se encuentran los lenguajes lógicos, funcionales o lógico-funcionales. Las técnicas ILP (programación lógica inductiva) constituyen un buen ejemplo de las técnicas de esta categoría. Ellas mismas han dado nombre a la minería de datos relacional.
1.8.6 Técnicas basadas en redes neuronales artificiales El aprendizaje mediante el entrenamiento es lo que caracteriza a este conjunto de técnicas. El peso de las conexiones de los nodos o neuronas, así como la topología
37
Ciencia de datos
de la propia red que los conecta, establece el patrón aprendido. Existen multitud de variantes de organización como el perceptrón simple, redes multicapa, redes de base radial, redes de Kohonen, etc. La mayoría de ellas emplean la retropropagación o backpropagation como algoritmo.
1.8.7 Técnicas basadas en núcleo y máquinas de soporte vectorial Aquellas que, mediante transformaciones basadas en la dimensionalidad, tratan de maximizar el margen de las clases y grupos formados. Las transformaciones realizadas son más conocidas como núcleos o kernels. Estas técnicas ofrecen muchas posibilidades a la hora de trabajar con los diferentes núcleos y márgenes.
1.8.8 Técnicas estocásticas y difusas Son, junto a las redes neuronales, aquellas técnicas que se enmarcan dentro de la denominada computación flexible (soft computing). La aleatoriedad en este tipo de técnicas es un componente esencial. Muestra de ello son herramientas como el simulated annealing, los métodos evolutivos y genéticos o la utilización de funciones de pertenencia difusas (fuzzy).
1.8.9 Técnicas basadas en casos, en densidad o distancia Están basadas, como indica su nombre, en estudiar la distancia entre el conjunto de elementos. Lo pueden hacer de forma directa o comparando estas distancias con los vecinos más próximos. Los nombres de los algoritmos más usados de este tipo de técnicas son two-step, COBWEB (dentro de los algoritmos jerárquicos) y k medias (algoritmo no jerárquico).
38
Introducción Análisis estadístico de datos
Análisis estadístico de datos
2
CAPÍTULO
2.1 Introducción Este capítulo tiene como objetivo ofrecer una revisión breve de los métodos clásicos de análisis de datos que permiten obtener información básica de nuestros datos aplicando técnicas estadísticas. El capítulo tiene dos partes, en la primera se revisan los métodos de estadística descriptiva para resumir las propiedades de cada una de las variables de nuestros datos, y en la segunda se resumen las técnicas de contraste de hipótesis utilizadas para evaluar las relaciones de dependencia entre variables, organizadas según la naturaleza de las variables. Tras un proceso de selección, recolección y preparación de nuestros datos que aquí no se detalla, en el caso ideal tendremos como punto de partida una tabla de datos organizada en columnas (V1,…VM) para cada variable disponible, siendo las filas (1,…n) cada una de las observaciones disponibles, también resultantes del proceso de preparación. En el caso de disponer de su evolución temporal, pueden además organizarse según una dimensión temporal tal como se muestra en la figura siguiente:
39
Ciencia Ciencia de de datos datos
Fig. 2.1. Tabla generalizada para análisis de datos.
Las variables pueden ser de distintos tipos, en el caso más general podemos distinguir los casos principales: variables nominales o categóricas (incluyendo ordinales) y variables numéricas. Las del primer tipo tienen un conjunto discreto de valores posibles, como por ejemplo sexo, nacionalidad, raza, etc., mientras que las del segundo tipo tienen un valor continuo, como altura, potencia, peso, etc. Todas las técnicas mostradas a lo largo del libro se organizan según el tipo de variable con el que trabajemos.
2.2 Análisis de una variable. Estadísti ca descripti va e inferencia Se denominan estadísticos a aquellos valores que resumen la información contenida en una muestra completa de datos. En general, una muestra la representamos como: yi; i =1…n; tomando la variable yi sus valores en un rango continuo o discreto. Los estadísticos se clasifican según el tipo de variable en las siguientes categorías: •
40
Variables continuas. -
Medidas centrales (media, moda, mediana).
-
Medidas de dispersión (rango, varianza, desviación estándar, percentiles).
-
Medidas de forma (histograma).
Introducción Análisis estadístico de datos
•
Variables nominales. -
Frecuencias relativas (probabilidades), moda.
-
Media y varianza de probabilidad estimada.
En las siguientes secciones revisamos la definición de cada tipo.
2.2.1 Estadísticos de variable continua •
Media (esperanza) muestral. Promedio de todos los valores.
Ec. 2.1
•
Moda. Valor que aparece más veces.
•
Mediana. Valor que deja el mismo número de casos a ambos lados. Ec. 2.2
El cálculo de la mediana equivale a ordenar el vector de datos y tomar el valor central, por tanto, es menos sensible que la media frente a valores extremos poco probables. •
Recorrido (rango).
max(yi)-min(yi) •
Ec. 2.3
Varianza. Promedio de desviaciones con respecto al valor medio.
Ec. 2.4
•
Desviación estándar (típica). Raíz cuadrada de la varianza. Ec. 2.5
41
Ciencia Ciencia de de datos datos
Fig. 2.2. Media y dispersión de una variable continua.
2.2.2 Histograma El histograma estima cómo se distribuye la probabilidad de una variable a lo largo de su recorrido, y se define como la frecuencia de datos que aparecen a lo largo del recorrido de valores de la variable de yi por unidad de intervalo. Por tanto, la suma total de frecuencias absolutas es el número de datos o, si trabajamos con frecuencias relativas, la suma deber ser uno. El histograma acumulado se define como la suma de frecuencias relativas de casos inferiores al valor en abscisas (acumulación de histograma normalizado):
Fig. 2.3. Histograma de variable continua.
42
Introducción Análisis estadístico de datos
De modo que el histrograma acumulado es un estimación de Prob(Y≤yi), que, por tanto, en el extremo superior debe ser uno.
Fig. 2.4. Histograma acumulado de variable continua.
A partir de la distribución estimada por el histograma es interesante obtener los valores de los cuantiles: •
Cuantil. Valores que dividen el recorrido de datos en k partes de la misma frecuencia (percentiles: cien partes, cuartiles: cuatro partes, etc.).
•
Percentil p. Valor que deja debajo al p % de los individuos, y al (100-p) % por encima: se obtienen si entramos en el eje vertical del histograma acumulado y leemos el valor correspondiente en el eje horizontal.
•
Percentil 50. Mediana (por definición).
•
Percentiles 25, 75. Cuartiles. Abarcan al 50 % de los individuos (recorrido intercuartílico).
Por ejemplo, para una distribución normal los percentiles alcanzan los valores: -
Percentiles 25, 75: [-0.674, 0.674].
-
Percentiles 2.5, 97.5: [-1.96, 1.96].
43
Ciencia Ciencia de de datos datos
Fig. 2.5. Cuartiles de un histograma.
2.2.3 Estadísti cos de variables nominales En el caso de tener una variable nominal, yi tomará valores de un conjunto discreto de valores: {v1, …, vk}. Podemos caracterizar el número de veces que en la muestra de n k datos aparece cada valor: {n1, …, nk}, cumpliéndose n = ∑ n j •
Moda. Valor que aparece más veces:
j =1
Ec. 2.6
•
Histograma. En este caso se obtendría a partir de la distribución de frecuencias de los valores en las n muestras:
Ec. 2.7
A continuación, se muestra un ejemplo que contiene una variable nominal y una numérica.
44
Introducción Análisis estadístico de datos
Fig. 2.6. Histrograma de variable discreta.
Para las frecuencias estimadas con variables nominales, es posible obtener también una estimación de la media y varianza de frecuencias estimadas. •
Cálculo de media de p. Para una categoría dada, se obtiene a partir de los m casos observados en los n datos disponibles.
p=m/n
Ec. 2.8
Este cálculo puede verse como asignar una variable binaria con cada ejemplo del conjunto de datos:
Ec. 2.9
vi=1 cada ejemplo en la categoría vi=0 en el resto
45
Ciencia de datos
•
Varianza de p. De modo análogo, podemos obtener la varianza del estimador de probabilidad p de cada categoría.
Ec. 2.10
Por tanto, puede verse que el caso de máxima varianza aparece para p=0.5 (con una variable binaria), o en general p=1/k, siendo k el número de valores que toma la variable discreta (caso de equiprobabilidad).
2.3 Contrastes de hipótesis Aquí revisamos el procedimiento utilizado para generalizar a partir de una muestra y decidir propiedades que pueden tener los elementos de la población (inferencia de la muestra a la población). Como hemos visto en la sección anterior, los estadísticos resumen la información contenida en una muestra de datos, y el procedimiento para generalizar las conclusiones consiste en la formulación de razonamientos sobre la población que genera la muestra. Los pasos son los siguientes: •
Uso de distribuciones teóricas de probabilidad para caracterizar los estimadores (hipótesis de análisis).
•
Relación de los estadísticos obtenidos (yi) con los estimadores (Yi).
•
Cuantificación de la probabilidad de los resultados si se cumplen las hipótesis (nunca se garantiza con certeza absoluta).
El procedimiento anterior podría llevarse a cabo a la inversa y deducir propiedades esperadas de la muestra a partir de la población, aunque el interés es más teórico.
2.3.1 Distribuciones de probabilidad La distribución de probabilidad es el modelo teórico que representa el comportamiento de una variable aleatoria, puede verse como la curva teórica a la que tiende un histograma con muchos datos haciendo los intervalos arbitrariamente pequeños. Se distingue la función de distribución y de densidad de distribución de probabilidad:
46
Introducción Análisis estadístico de datos
•
Función distribución de probabilidad de X: FX(x) Ec. 2.11
•
Función densidad de probabilidad de X: fX(x)
Ec. 2.12
2.3.1.1 Distribución normal Es una curva de gran interés porque explica el comportamiento de los datos en muchas situaciones. Fue aplicada por primera vez como distribución por A. Quetelet en 1830 y, en general, explica bien variables en las que la aleatoriedad se debe a múltiples efectos independientes. Ec. 2.13
Pueden destacarse estas propiedades de la distribución normal: •
Distribución simétrica: coinciden media y mediana en 0.
•
Se dispone del valor de la distribución de probabilidad: área bajo la curva de fZ(z) para cualquier valor.
Es muy habitual ti pifi car o estandarizar las variables aleatorias, tanto la distribución normal como cualquier otra. Para ello se mide el desplazamiento respecto a la media en unidades de desviación típica: Ec. 2.14
47
Ciencia Ciencia de de datos datos
Fig. 2.7. Distribución normal de probabilidad.
A partir de las tablas de la distribución se calculan los intervalos de confianza, definidos como los intervalos con respecto a la media que se corresponden con una probabilidad, destacando el de una cola (asimétrico) y el de dos colas (simétrico).
Fig. 2.8. Test de una y dos colas sobre distribución normal.
A continuación se muestra un ejemplo operativo de utilización de la distribución normal para razonar acerca de probabilidades asociadas a intervalos definidos sobre la variable aleatoria: Se conocen estos parámetros de una población con distribución normal: media: m= 115; desviación típica: s=20.
48
•
¿Probabilidad de observar valores inferiores a 70? z=(70-115)/20, F(z)=0,012.
•
¿Probabilidad de observar valores superiores a 150? z=(150-115)/20, 1-F(z)=0,04.
•
¿Probabilidad de observaciones en intervalo 90-130? F((130-115)/20)F((90-115)/20)=0,667.
•
¿Qué intervalos simétricos tienen el 80 % y 95 % de los casos (intervalos de confianza)? z=F-1(a/2); y=m±zs. -
80 %: z0.1=1,28; 115± z0.1*20=[89.3, 140.6].
-
95 %: z0.025=1,96; 115± z0.025*20=[75.8, 154.2].
Introducción Análisis estadístico de datos
2.3.2 Inferencia Finalmente, el objetivo de la inferencia es, dado unos estadísticos obtenidos a partir de una muestra sacada al azar, razonar acerca del verdadero parámetro de la población, que habitualmente es desconocido, una variable objeto de la estimación. Para ello, a partir de una muestra aleatoria (n datos) de la población: yi, i={1,…,n}, podemos obtener los estadísticos, que a su vez son variables aleatorias. Por ejemplo, para el estadístico de la media, y , podemos deducir estas propiedades:
Ec. 2.15
En cuanto a la distribución que sigue, es aplicable un resultado fundamental de enorme utilidad, el teorema del límite central: “Una muestra suficientemente grande de una población con distribución arbitraria tendrá estadístico media con distribución normal”. Como consecuencia, el intervalo de confianza de la media puede obtenerse a partir de la distribución normal (mayor “normalidad” cuanto mayor sea el tamaño de las muestras):
Ejemplo de límite central: •
Población: mil individuos, cuatrocientas mujeres, seiscientos hombres.
•
Muestras de diez individuos.
49
Ciencia de de datos datos Ciencia
•
Intervalo de confianza al 95 % (con distribución normal): -
Influye: ◊
Intervalo de confianza (z): “garantía” de no equivocarnos.
◊
Tamaño de muestra (n).
◊
Variabilidad de población (p).
Fig. 2.9. Histrograma de promedios calculados.
•
50
Si las muestras fueran de cincuenta individuos:
Análisis estadístico de datos Introducción
2.3.3 Evaluación de hipótesis La evaluación de hipótesis pretende validar o rechazar ideas preconcebidas a partir del análisis de los datos disponibles, generalizando las conclusiones. Pasos: •
Generación de hipótesis.
•
Determinar qué datos son necesarios. Recolectar y preparar.
•
Evaluación de hipótesis para aceptar o rechazar.
Contrastes de hipótesis: •
Contrastar es medir la probabilidad de que el estadístico obtenido en una muestra sea fruto del azar.
•
Formulación del modelo e hipótesis. Se conoce la distribución del estadístico bajo condiciones de hipótesis.
•
Hipótesis nula (H0). Es lo que dudamos y queremos contrastar. Ejemplo: ¿el porcentaje total es 10 %?, ¿la media de los ingresos es superior a cinco? -
Bajo H0, el estadístico sigue el modelo, y la diferencia observada es únicamente fruto del azar.
•
Hipótesis alternativas. Alternativas que permiten rechazar la hipótesis nula: probabilidad distinta de 10 %, media menor a cinco, etc.
•
Rechazar hipótesis H0: hay evidencia para negar H0.
•
No rechazable: no hay evidencia estadística para hacerlo (no implica demostrar su veracidad).
Contrastes con normal y varianza conocida: Uno de los casos más frecuentes de evaluación de hipótesis aparece con distribuciones de tipo normal. En el caso de estimación de frecuencias, el promedio puede suponerse normal si tenemos suficientes datos (n>30), y la varianza viene dada por la expresión anterior, Var=P(1-P)): •
Contraste de dos colas (bilateral): deja la mitad a cada lado, α/2.
Ejemplo: hipótesis nula H0: P=10 %.
51
Ciencia de datos
Hipótesis alternativa:
Región crítica: -1,96