El Científico de Datos

January 17, 2015

Se espera de un científico de datos que sea capaz de desvelar información que permanecía oculta o desconocida. Esta información puede apuntar a nuevos flujos de ingresos, o permitir a una compañía racionalizar su negocio para ahorrar costos. La ciencia de datos busca correlaciones útiles y no está tan preocupada por asociar causas y efectos. Su objetivo es desplegar modelos efectivos para ayudar con la toma de decisiones en un entorno de producción.

La ciencia de datos usa estadística inductiva y conceptos de sistemas no lineales para inferir leyes (regresiones, relaciones no lineales, correlaciones) y para hacer predicciones sobre resultados y comportamientos. Se diferencia de la BI (Bussiness Intelligence), o inteligencia empresarial, en que ésta última usa estadística descriptiva solo para medir o detectar tendencias.

Quizás el componente clave para que la revolución de los datos alcance todo su potencial sea la estadística, pero no funciona de forma aislada, sino que necesita la colaboración de otras disciplinas relacionadas: análisis, generación de informes, visualización, sistemas expertos, aprendizaje automático, inteligencia empresarial, bases de datos, minería de datos, macrodatos1, etc.

Las habilidades

A pesar de su nombre, la ciencia de datos requiere una buena combinación de arte y ciencia. La parte científica es evidente: matemáticas, estadística, programación, etc. Pero la de arte es igualmente importante: creatividad, comprensión profunda de un contexto de negocio, etc. Y ambas partes, en conjunto, consiguen resultados excelentes. Además, los científicos de datos deben estar preparados para contar historias convincentes sobre el negocio a través de la visualización de datos.

En el proceso de convertir datos brutos en conocimiento factual, el científico de datos debe:

  • Obtener y limpiar datos: asegurando la recuperación de datos desde una variedad de fuentes de origen estructurado, semi-estructurado y no-estructurado. Hay una necesidad de explorar nuevos métodos para separar la señal del ruido2, capturar procesos dinámicos3 e integrar datos heterogéneos.
  • Realizar análisis exploratorio de datos: aplicar principios gráficos a diferentes tipos de conjuntos de datos para construir resúmenes exploratorios en apoyo a cuestiones concretas, e.d. para eliminar o afinar hipótesis potenciales, y crear visualizaciones de datos multidimiensionales. Estas técnicas se suelen aplicar antes de comenzar el modelado formal y pueden ayudar en la formulación de modelos estadísticos más complejos.
  • Hacer investigaciones reproducibles: la necesidad de reproductibilidad se incrementa dramáticamente a medida que los análisis se vuelven más complejos, involucrando conjuntos de datos mayores y computaciones más sofisticadas. Hay herramientas que permiten publicar los análisis en un único documento para que otros científicos sean capaces de ejecutar los mismos análisis y obtener los mismos resultados.
  • Realizar inferencias estadísticas: hay muchos modos de inferencia, incluyendo: modelado estadístico, estrategias orientadas a datos y uso explícito de diseños y aleatorización en los análisis. Más aun, hay diversas teorías –frecuentista, bayesiana, de probabilidad, basadas en diseño, etc– y complejidades –datos faltantes, confusión observada y no-observada, sesgos, etc– al aplicar la inferencia.
  • Crear modelos de regresión: los modelos de regresión4, que son un subconjunto de los modelos lineales, son una de las más importantes herramientas de análisis estadístico en el repertorio de un científico de datos. Esta tarea requiere: ajustar los modelos de regresión, interpretar los coeficientes e investigar los residuos y la variabilidad para seleccionar los modelos más apropiados.
  • Usar el aprendizaje automático: incluyendo la creación de algoritmos y la aplicación de herramientas para construir y evaluar predictores sobre datos reales. Estas tareas son muy comunes para un científicos de datos, quien tiene que dominar conceptos fundamentales como: entrenamiento, conjuntos de tests, sobreajuste y tasas de error.
  • Comunicar y desarrollar productos de datos: automatizando complejas tareas de análisis para expandir la utilidad de un modelo informado de datos, un algoritmo o una inferencia. El científico de datos debe comunicar sus conclusiones poniendo énfasis en la incertidumbre de los resultados estadísticos.

Estado del arte

De acuerdo a las proyecciones de Gartner (2003), los oficinistas gastan entre un 30 y un 40 por ciento de su tiempo buscando datos y valorando su utilidad. Debido a esta dificultad, las organizaciones pueden no disponer de esta vasta reserva de información, que podría influenciar decisiones, tareas o proyectos particulares. Esto puede llevar en último término a una toma de decisiones pobremente informada.

Además de los datos formalmente modelados, p.ej. tablas de clientes, productos, empleados, etc, –datos estructurados– los negocios crean una cantidad enorme de información valiosa en la forma de emails, memorias, notas, noticias, grupos de usuarios, chats, informes, páginas web, presentaciones, imágenes, vídeos y material de marketing –datos no-estructurados. En los datos estructurados, cada registro tiene unos campos fijos y puede haber relaciones formales entre unos registros y otros. Los datos no-estructurados, como su nombre indica, carecen de estructura o su estructura es variable/aleatoria.

Los datos no estructurados aun pueden incluir el conocimiento que los usuarios de un negocio tienen acerca de las tendencias futuras del negocio. Esta predicción se alinea naturalmente con los datos porque los usuarios piensan en el negocio en términos agregados. Capturar este conocimiento, que puede residir solo en las mentes de los usuarios, puede proporcionar algunos de los más importantes datos para la toma de decisiones. Sin embargo, los métodos automáticos para detectar y dar formato a los datos no estructurados pueden descartar información o introducir sesgos.

En el contexto de los sistemas de bases de datos relacionales, los datos sin estructura no pueden ser almacenados en registros con campos predecibles. En estos sistemas, suele estar disponible el Objeto Binario Grande o BLOB (Binary Large OBject), un cajón desastre para datos sin estructura. La carencia de estructura también pueden referirse a patrones irregulares o aleatorios de campos, que varían de un registro a otro dentro de cada fichero o documento. Alternativamente, se emplean cada vez más bases de datos no solo estructurados o noSQL (not only SQL).

Un subconjunto de los datos no estructurados puede incluir metadatos, como autor y fecha de creación, y suelen denominarse datos semi-estructurados, aunque no hay un consenso acerca de esto. A diferencia de los datos estructurados, los datos no-estructurados no son fáciles de procesar, pero contienen gran cantidad de información necesaria para el análisis y la toma de decisiones. La gestión de datos no-estructurados es reconocida como uno de los principales problemas no resueltos de la industria informática.

Herramientas y entornos

R se ha convertido en una de las herramientas principales para los científicos de datos. R es a la vez un lenguaje de programación y un entorno de software para la computación y generación de gráficos estadísticos, muy empleado en el análisis y en la minería de datos. Las capacidades de R se extienden mediante paquetes de usuario, que proporcionan técnicas estadísticas especializadas, dispositivos gráficos (ggplot2), funciones de exportación/importación, herramientas de generación de informes (knitr, Sweave), etc. Algunas alternativas a R son SAS, SPSS y Stata. Para la visualización se puede recurrir a otras herramientas de propósito específico, como Tableau.

Los nuevos enfoques –en particular el entorno de código abierto llamado Hadoop, las bases de datos noSQL como Cassandra y Accumulo, y las bases de datos analíticas de procesamiento masívamente paralelizado (MPP DBs), como las de EMC Greenplum, HP Vertica y Teradata Aster Data– abordan de forma radicalmente diferente el procesamiento, análisis y aplicación de los datos, al de las herramientas y tecnologías tradicionales.

Hadoop sobresale procesando y analizando grandes volúmenes de datos distribuidos y no estructurados en lotes para análisis histórico. Las bases de datos noSQL versan sobre almacenar y servir datos semi-estructurados en tiempo real. Las bases de datos analíticas de procesamiento masivamente paralelizado ofrecen el mejor rendimiento para análisis en tiempo real de grandes volúmenes de datos mayormente estructurados. Hadoop, noSQL y las bases de datos MPP no son mutuamente exclusivas. De hecho, los tres enfoques se complementan entre sí y pueden y deben coexistir en muchos despliegues.

Hadoop es un entorno –programas, herramientas, conexiones, etc.– que permite desarrollar aplicaciones de computación intensiva sobre grandes volúmenes de datos, dividiéndo y distribuyendolos sobre un conjunto de máquinas donde se pueden procesar en paralelo. Está diseñado para escalar desde un único servidor hasta miles de máquinas, cada una ofreciendo capacidad de computación y almacenamiento local.

Algunos componentes y modelos íntimamente relacionados con Hadoop facilitan ciertas tareas:

  • Pig: proporciona un lenguage de alto nivel que permite realizar operaciones de ETL (Extract, Transform and Load) o extraer, transformar, cargar, además de realizar algunos análisis básicos sobre datos aplicando el modelo MapReduce.
  • MapReduce: modelo de Google para computación distribuida, inspirado en los métodos map y reduce de la programación funcional, definido para datos con estructura de tupla tipo [clave, valor].
  • Hive: infraestructura de almacén de datos con soporte para obtención de resúmenes y consulta de datos en un lenguaje similar al popular SQL.
  • HBase: base de datos distribuida y no-relacional que se ejecuta sobre Hadoop, cuya salida es apta para tareas de MapReduce.
  • Lambda: arquitectura que establece los principios para procesamiento en lote o en tiempo real/en línea, a la vez que asegura la inmutabilidad y recomputación del sistema.
  • Gigraph: sistema de procesamiento iterativo de grafos altamente escalable. GraphLab es otro sistema similar.

Recientemente, han aparecido alternativas a Hadoop, como las bases de datos alojadas en memoria. Incluso hay tecnologías implementadas directamente en chip, como la de SiSense, que afirma alcanzar velocidades 10 veces superiores a las de bases de datos alojadas en memoria.

Como caso especial para un sistema de macrodatos (Big Data), la siguiente es una estructura que sirve de ejemplo: Ubuntu, Hadoop Distributed File System (HDFS), MapReduce, Cassandra o HBase, Hive, Flume, JDBC y ODBC drivers, Hue, Pig, Oozie, Avro y Zookeeper. La lista crece y del mismo modo ocurre con la complejidad. Por eso, apoyándose en las anteriores tecnologías, algunas compañías han comenzado a ofrecer distribuciones comerciales y plataformas de procesamiento como Hortonworks, Cloudera, MapR y WatsonAnalytics.

Conclusión

La transición hacia una cultura donde los datos son considerados un activo5 no será fácil para la mayoría de las empresas, pero aquellas que la abracen como fundamento de sus prácticas analíticas, estarán en una posición significativamente ventajosa sobre sus rivales más tímidos. Los datos proporcionarán percepciones sin precedentes del comportamiento de los consumidores y de las condiciones volátiles del mercado, permitiendo tomar decisiones más rápida y efectivamente que la competencia.

En esta era de rápidos avances tecnológicos, donde unos lenguajes quedan obsoletos dando paso a otros nuevos que ganan en popularidad, parece más importante para un científico de datos aprender rápido que especializarse en un lenguaje concreto, es decir, las habilidades genéricas de programación son el bien en alza.

Los retos actuales requieren, entre otros, optimizar la eficiencia computacional, integrar datos heterogéneos, extender los fundamentos teóricos a cuestiones cada vez más complejas y, quizás lo más importante, formar una nueva generación de científicos capaces de llevarlo a cabo.


  1. Aunque la ciencia de datos no está restringida a los llamados macrodatos, de los que hablé en Big Data, sí que tiene como aspecto importante la habilidad de enfrentarse a ellos. 

  2. Los últimos avances en métodos estadísticos orientados a distinguir la señal del ruido todavía no han calado en los análisis rutinarios de datos. Nuzzo (2014) considera que, al observar un valor p de 0.01 para una hipótesis con diecinueve probabilidades contra una de no ser cierta, la probabilidad de que se trate de un falso positivo es del 0.89, muy superior a diecinueve contra uno. Por tanto, las posibilidades de falsos positivos se disparan. 

  3. P.ej., Google Flue Trend usa los datos de búsqueda para detectar epidemias de gripe: los cambios en el algoritmo del buscador alteran el proceso de generación de datos y por consiguiente modifican la relación con el resultado que se intenta predecir. Esta incertidumbre se conoce como sistema dinámico y requiere técnicas especiales poder reflejar la incertidumbre de manera fidedigna. 

  4. El ajuste con variables comodín y el ajuste multivariable y los procedimientos ANOVA y ANCOVA son algunos casos especiales comunes de los modelos de regresión. Asímismo, las regresiones logísticas y de Poisson son extensiones de modelos lineales generalizados que se usan con frecuencia. 

  5. El Foro Económico Mundial de 2012 declaró los datos como un nuevo tipo de activo económico comparable a la moneda o al oro (Foro Económico Mundial, 2012) 

Archivos