Ahora que hemos hablado sobre qué son los datos, sus características, su definición como un conjunto procesable computacionalmente, y su evolución a lo largo de la ejecución de un proyecto, tu entrenamiento en datos por fin te ha llevado a empezar a operar con ellos. En esta sesión veremos un componente esencial del tratamiento de datos en una fase anterior a su transformación y uso para el entrenamiento de modelos de machine learning: el análisis exploratorio de datos.
Inventario recomendado
Nociones sobre conjuntos de datos y su ciclo de vida
Matemáticas: conocimiento en estadística descriptiva e inferencial
Algún acompañamiento
Análisis Exploratorio de Datos
Hasta el momento hemos abordado qué son los conjuntos de datos y cómo obtenerlos, pero después, ¿qué sigue?
El siguiente paso es conocer los datos. Esto implica tomarlos y explorarlos a conciencia con el fin de aprender sobre sus características, alcance, limitaciones, y las modificaciones que serán necesarias para dejarlos listos como entradas para un algoritmo de machine learning. Esto se hace realizando lo que se conoce como análisis de datos exploratorio.
Un análisis de datos exploratorio (EDA, por sus siglas en inglés: Exploratory Data Analysis) es un procedimiento que consiste en obtener conocimientos sobre un conjunto de datos mediante su manipulación, análisis estadístico descriptivo e inferencial, y visualización en representaciones gráficas. Es un paso vital en el flujo de trabajo cuyo fin es el entrenamiento de algoritmos de aprendizaje automático, ya que es necesario para conocer los aspectos básicos del conjunto de datos a utilizar, y del tratamiento que debe tener antes de ser modelado.
¿Cómo se hace un análisis exploratorio de datos?
El cómo ejecutar un análisis exploratorio puede variar conforme a los tipos de datos y los objetivos particulares, pero en general se recomienda seguir un flujo compuesto por las siguientes etapas.
1. Exploración de las características generales de los datos
El primer paso es conocer lo datos de manera superficial, aún sin preocuparnos por obtener medidas estadísticas. Esto se trata sobre conocer su composición, estructura, y calidad, y se puede resumir como sigue:
- Dimensión de los datos: Conocer cuántos registros (filas) y cuántos atributos o características (columnas) tiene el conjunto de datos.
- Tipo de datos: Identificar los tipos de datos que componen al conjunto: ¿se trata de datos estructurados o no estructurados?, ¿cuáles de estos son cuantitativos o cualitativos?, ¿qué tipo de datos computacionales son? (float, int, object, etc). Conocer los tipos de datos será vital para su manipulación numérica.
- Calidad de los datos: Debemos buscar posibles inconsistencias en los datos que puedan generar conflictos en cálculos realizados sobre estos, por ejemplo: datos faltantes, datos nulos, datos duplicados, datos mal registrados.
2. Estadística descriptiva
Después de conocer los datos con un primer acercamiento, es hora de obtener algunas medidas que nos hablen sobre estos en cuanto a sus propiedades matemáticas. Para esto, utilizaremos estadística descriptiva, la cual consiste en calcular medidas que resuman algunas de sus características más elementales. Ejemplos de métricas que se suelen utilizar son las siguientes:
- Medidas de tendencia central: Media, mediana, moda.
- Medidas de dispersión: rango, varianza, desviación estándar, rango intercuartílico.
- Medidas de posición: cuartiles, percentiles.
- Medidas de forma: asimetría, curtosis.
No precisamente. Todo dependerá de los datos, tus necesidades, y lo que hayas observado en estos. Tú llevas la batuta de los componentes de tu análisis exploratorio.
3. Visualización de datos
Una parte imprescindible de la ciencia de datos es la visualización de datos utilizando gráficas. Esto facilita el conocimiento intuitivo de algunas de las propiedades de los datos, y facilita su comprensión. Es importante saber llevar los datos al dominio de las gráficas, tanto para observar propiedades como para compartir hallazgos.
Algunas gráficas recomendadas son las siguientes:
- Histogramas: Utilizados para visualizar la distribución de una variable numérica.
- Gráficos de barras: Utilizados para representar y comparar la frecuencia, cantidad o proporción de diferentes categorías o grupos.
- Diagramas de cajas y bigotes: Representan la distribución de una variable numérica resaltando los cuartiles, la mediana y los valores atípicos (outliers).
- Gráficos de dispersión: Utilizados para examinar la relación entre dos variables numéricas.
- Gráficos de densidad: Son una versión suavizada de los histogramas, utilizados para visualizar la distribución de una variable. Proporcionan una visión más continua de la densidad de los datos, sin depender de la elección de bins.
- Gráficos de pastel: Se utiliza para representar la composición o proporción de un todo. Está formada por un círculo dividido en «rebanadas» (sectores) que muestran cómo se distribuyen diferentes partes dentro de un conjunto total de datos.
- Mapas de calor: Utilizados para visualizar matrices de correlación entre múltiples variables numéricas. Facilitan la identificación de relaciones fuertes o débiles entre las variables.
- Gráficos de línea: Utilizados para visualizar datos temporales o series de tiempo. Ayudan a identificar tendencias a lo largo del tiempo, patrones estacionales y anomalías.
Estos son algunos ejemplos para darte una idea de la variedad de gráficas que puedes tener a tu disposición. Recuerda que tú decides cuáles serán o no de utilidad para tus fines.
Se considera que la primera gráfica utilizada con fines estadísticos fue publicada en 1644 por el astrónomo y cartógrafo belga Michael Florent van Langren, en su obra <<La verdadera Longitvd por Mar y Tierra>>. En esta se mostraban las diferentes estimaciones de la longitud geográfica entre las ciudades de Toledo (España) y Roma (Italia), realizadas por varios astrónomos y geógrafos de la época.
4. Análisis inferencial
El análisis inferencial, finalmente, consiste en la aplicación de técnicas estadísticas para obtener información más profunda sobre los datos; esto se hace a través de métodos que infieran propiedades de estos al operar sobre ellos. Algunos ejemplos de técnicas que podrías utilizar, son los siguientes:
- Pruebas de hipótesis.
- Medidas de covarianza y correlación.
- Detección de datos anómalos.
- Análisis de componentes principales.
- Análisis de componentes de series de tiempo.
Lo vuelvo a repetir, lo que hagas para realizar inferencias estadísticas en un análisis exploratorio dependerá de las cualidades de tus datos, y de los aspectos que hayas develado anteriormente mediante la estadística descriptiva; los mencionados aquí son meramente informativos, y no pretenden ser ni obligatorios ni únicos.
Las distintas tareas que hemos explicado aquí para la ejecución de un análisis exploratorio se resumen en la Figura 2.6.1:
Existen diferentes formas de hacerlo. Se puede realizar con cualquier plataforma o lenguaje de programación que permita la manipulación de datos y la aplicación de técnicas estadísticas. Yo personalmente sugiero que lo hagas usando la misma herramienta con la que crees y pongas en marcha tu algoritmo de machine learning. En nuestro caso, lo haremos con Python, pero esto será hasta nuestro próximo encuentro.
Así finaliza este breve cruce con una de las actividades más elementales en todo proceso que incluya la puesta en marcha de un algoritmo de aprendizaje automático. Nuestra siguiente expedición será sobre preprocesamiento de datos, una etapa del ciclo de vida de los datos que incluye el análisis aquí expuesto, y que pondremos en práctica utilizando Python.