Big Data Science#
Introducción a la ciencia de datos#
El NIST Big Data interoperability Framework (NBDIF) - Version 3.0 Final [CG19] define ciencia de datos (data science) como:
…la metodología para la síntesis de conocimientos útiles (obtenidos) directamente a partir de datos a través de un proceso de descubrimiento o de formulación y prueba de hipótesis.
Big Data en este contexto está estrechamente ligada a la ciencia de datos.
El análisis de grandes cantidades de datos sirve para validar hipótesis, reformularlas, o generar nuevas.
Como toda ciencia empírica, se aprende directamente de los datos adquiridos.
El proceso de resolución de problemas puede tomar dos vías:
Recolectar datos y hacer un análisis abierto sobre ellos sin hipótesis preconcebidas (discovery o data exploration).
Formular una hipótesis y recoger datos para la misma. Confirmar o refutar la hipótesis (o se determina que se necesitan más estudios).
Es importante aclarar que la ciencia de datos está en contraste con los modelos climáticos simulados (physics-based modeling and simulation - M&S).
Éstos usan datos como condición inicial para crear, siguiendo el modelo, nuevos datos. Los mismos se verificarán (o no) con la realidad en el futuro.
Por el contrario, la ciencia de datos por ejemplo, analizaría los datos para predecir el clima basándose en los patrones detectados de esos datos.
Fuente: NIST Big Data interoperability Framework (NBDIF) - Version 3.0 Final [CG19]. Pág.25.
Alcance de la ciencia de datos#
La ciencia de datos es un campo académico interdisciplinario.
Utiliza elementos de estadística, computación y sistemas científicos para obtener, analizar y presentar datos en forma de información y conocimiento.
Para ello se hace con un conjunto heterogéneo de métodos y procesos que la pueden convertir, según la Wikipedia [Wik23] en una ciencia, un paradigma de investigación, un método de investigación, una disciplina, un flujo de trabajo o una profesión.
KDD#
El proceso KDD (knowledge discovery in databases) o descubrimiento de conocimiento en bases de datos sirve para extraer conocimiento de los datos en el contexto de grandes bases de datos.
Es utilizado por los investigadores para aprendizaje automático, reconocimiento de patrones en bases de datos, estadísticas, inteligencia artificial, adquisición de conocimiento para sistemas expertos, y visualización de datos.
En este contexto, emplea métodos de minería de datos para extraer lo que se considera conocimiento mediante preprocesamiento, submuestreo y las transformaciones necesarias en los datos.
El proceso KDD puede envolver la repetición de los siguientes pasos:
Desarrollar el conocimiento del dominio de la aplicación, los conocimientos previos, y el objetivo del usuario final.
Establecer un conjunto de datos o un subconjunto de variables, o datos de ejemplo donde el descubrimiento va a ser realizado.
Limpiar outliers, gestionar campos vacíos, eliminar datos innecesarios, etc.
Utilizar métodos de reducción de dimensionalidad o transformación para reducir el número de variables o para encontrar representaciones invariantes de los datos.
Decidir la tarea de minería de daatos a realizar: clasificación, regresión, clustering, etc.
Seleccionar el algoritmo de minería de datos (modelos y parámetros, métodos).
Realizar la minería de datos buscando patrones de interés.
Interpretar los patrones obtenidos.
Consolidad el conocimiento adquirido.
Minería de datos#
La minería de datos (data mining) es un campo de la estadística y las ciencias de la computación.
Nació a finales de los años ‘90 cuando las grandes organizaciones ya contaban con una sustancial cantidad de datos y necesitaban obtener información de ellos.
Su objetivo es descubrir patrones en grandes volúmenes de conjuntos de datos (Big Data).
Se podría también definir data mining como la aplicación de algoritmos específicos para extraer patrones de los datos (NIST [CG19]. Pág.26.
La minería de datos no solamente necesita conocimientos de estadística y matemática sino además saber como los datos fueron producidos y de que manera se pueden utilizar.
En este contexto, a mediados de los 2000 nació la ciencia de datos que juntaba varias disciplinas para poder extraer información:
Conocimiento de los datos y procesos.
Minería de datos.
Estadística.
Matemática.
Machine Learning.
Algoritmos.
Sistemas analíticos.
Ingeniería de software y sistemas.
Consideraciones#
Algunas consideraciones a tener en cuenta con respecto a la ciencia de datos son:
Se requiere un muestreo cuidadoso de los datos para garantizar que La población esté siendo representada adecuadamente. En la ciencia de datos, normalmente todos los datos son procesados y analizados mediante escalamiento.
En algunos problemas se supone que en el gran volumen de datos, los pequeños errores tenderán a cancelarse, reduciendo o eliminando así la necesidad de limpiar los mismos.
En grandes conjuntos de datos a veces los algoritmos más simples pueden producir resultados aceptables. Esto ha llevado al debate sobre si más datos son superiores a mejores algoritmos.
Muchas hipótesis pueden ser difíciles de analizar, por lo que la ciencia de datos también se centra en determinar una pregunta sustituta que no aborda la hipótesis original, pero cuyo resultado analítico puede aplicarse a la misión original.
La riqueza de las fuentes de datos ha aumentado la necesidad de explorar datos para determinar qué podría ser de utilidad ya que puede conducir al descubrimiento de ideas o a la formulación de hipótesis para probar.
Fuente: NIST Big Data interoperability Framework (NBDIF) - Version 3.0 Final [CG19]. Pág.27.
Cientistas de datos#
Las/os cientistas de datos suelen resolver problemas complejos empleando conocimientos de las disciplinas de matemática, estadística, ciencias de la computación y de la materia a analizar en cuestión.
Se necesitan además habilidades de comunicación, presentación y análisis para poder gestionar la complejidad de las interacciones de los sistemas de Big Data.
Por este motivo se suele trabajar en equipos multidisciplinarios donde cada integrante aporta su perspectiva profesional.
En este caso se considera al perfil de un/a cientista de datos como generalista u horizontal (perfil T).
Quienes se especializan en una técnica particular se prodrían considerar expertos en la materia aunque estén involucrados en el proceso general de la ciencia de datos.
Un ejemplo pueden ser los expertos en machine learning, ingenieros en Big Data que gestionan bases de datos distribuidas, ingenieros de datos que los transforman (ETL, ELT) para ser analizados, o especialistas que dominan los modelos semánticos a utilizar en los metadatos.
Estos perfiles se consideran especialistas o verticales (perfil I).
La universidad de Amsterdam ha creado el proyecto EDISON Data Science Framework (EDISON) con el objetivo de definir en la educación y habilidades necesarias para la ciencia de datos.
La documentación EDISONcommunity/EDSF que ha producido es la siguiente:
Data Science Competence Framework (CF-DS)
Data Science Body of Knowledge (DS-BoK)
Data Science Model Curriculum (MC-DS)
Data Science Professional Profiles (DSPP)
Fuente: NIST Big Data interoperability Framework (NBDIF) - Version 3.0 Final [CG19]. Pág.28.
Procesos en la ciencia de datos#
La ciencia de datos se encarga del entero ciclo de vida del análisis de los datos y sus actividades.
Sus actividades incluyen:
Gobernanza.
Políticas y reglamentos.
Operaciones.
Seguridad de los datos.
Gestión y procesamiento de los datos.
Archivado y/o eliminación de los mismos.
Para el NIST Big Data interoperability Framework (NBDIF) - Version 3.0 Final [CG19] (Pág.29), el ciclo de vida del análisis de los datos se compone de cinco pasos:
Captura de los datos en su formato original.
Preparación y modelado.
Análisis de los datos.
Visualización de los datos.
Acción con el uso de los mismos.
Es importante diferenciar el análisis de datos con el proceso del ciclo de vida del análisis de datos.
El análisis de datos (data analytics) es una técnica para examinar datos en bruto y así obtener información.
Para ello se aplican algoritmos que buscan en los datos correlaciones significativas entre ellos.
Generalmente este proceso analítico incluye el descubrimiento necesario para la hipótesis inicial, el desarrollo de esa hipótesis y la aplicación para su análisis.
En Big Data la/os analistas pueden actuar de maneras que no eran posibles previamente.
Las técnicas tradicionales de análisis estadístico reducían, muestreaban o resumían los datos antes de análisis ya que en grandes conjuntos de datos el hardware no podía escalarse al tamaño de los mismos.
Los análisis en estadística y minería de datos se centran en la causalidad: ser capaces de describir por qué sucede algo. Descubrir la causa ayuda a los actores a cambiar una tendencia o un resultado.
Big Data en cambio puede determinar la correlación (y no necesariamente la causalidad) aunque hacen que sea más factible implementar análisis complejos de tipo causal para datos grandes, complejos y heterogéneos.
CRISP-DM#
Existen varias metodologías y modelos disponibles en el mercado para la recopilación, almacenamiento, consulta, visualización de datos, y su posterior acción.
Provienen del mundo de la minería de datos y de la comunidad KDD (Knowledge Discovery in Databases).
CRISP-DM (Cross Industry Standard Process for Data Mining) por ejemplo, es un modelo de procesos estandarizado e iterativo centrado en el negocio.
Fue desarrollado para ser distribuido libremente y promueve las mejores prácticas en minería de datos.
Sus seis fases son:
Comprensión del negocio.
Comprensión de los datos.
Preparación de los datos.
Fase de Modelado.
Evaluación.
Implantación.
Fuente: Shearer, C. (2000) The CRISP-DM Model: The New Blueprint for Data Mining. Journal of Data Warehousing, 5, 13-22. [She00]
SEMMA#
El modelo SEMMA (Sample,Explore, Modify, Model, Assess) fue desarrollado por la empresa SAS para tareas de datamining y consta de cinco pasos:
Sample: identifica, combina, particiona, y obtiene muestras de conjuntos de datos, entre otras tareas.
Explore: Explora los conjuntos de datos de forma estadística y gráfica; graficando los datos, onteniendo estadísticas descriptivas, identificando variables importantes y realizando análisis de asociación.
Modify: Prepara los datos para el análisis; creando variables adicionales, transformando variables existentes, identificando outliers, reemplazando valores inexistentes, desempeñando cluster analysis, y analizando datos con SOMs (self-organizing maps) o redes Kohonen.
Model: Ajusta un modelo predictivo a una variable objetivo. Entre los modelos disponibles se encuentran los árboles de decisión, redes neuronales, least angle regressions, support vector machines, regresión lineal, y regresiones logísticas.
Assess: Compara los modelos predictivos que compiten entre sí y generan gráficos que representan el porcentaje de encuestados, el porcentaje de respondents captures, el aumento y las ganancias.