Aprenda todo lo que necesita saber sobre el análisis exploratorio de datos, un proceso crítico utilizado para descubrir tendencias y patrones y resumir conjuntos de datos con la ayuda de resúmenes estadísticos y representaciones gráficas.

Como cualquier proyecto, un proyecto de ciencia de datos es un proceso largo que requiere tiempo, una buena organización y el respeto escrupuloso de varios pasos. El análisis exploratorio de datos (AED) es uno de los pasos más importantes de este proceso.

Por ello, en este artículo, examinaremos brevemente qué es el análisis exploratorio de datos y cómo puede realizarlo con R

¿Qué es el análisis exploratorio de datos?

El análisis exploratorio de datos examina y estudia las características de un conjunto de datos antes de someterlo a una aplicación, ya sea exclusivamente empresarial, estadística o de aprendizaje automático.

Exploratory-Data-Analysis

Este resumen de la naturaleza de la información y sus principales particularidades suele realizarse mediante métodos visuales, como representaciones gráficas y tablas. Esta práctica se realiza de antemano precisamente para evaluar el potencial de estos datos, que recibirán un tratamiento más complejo en el futuro.

El AED permite, por tanto

  • Formular hipótesis para el uso de esta información;
  • Explorar detalles ocultos en la estructura de los datos;
  • Identificar valores perdidos, valores atípicos o comportamientos anómalos;
  • Descubrir tendencias y variables relevantes en su conjunto;
  • Descartar variables irrelevantes o correlacionadas con otras;
  • Determinar la modelización formal que se utilizará.

¿Cuál es la diferencia entre el análisis de datos descriptivo y el exploratorio?

Existen dos tipos de análisis de datos, el análisis descriptivo y el análisis exploratorio de datos, que van de la mano, a pesar de tener objetivos diferentes.

Mientras que el primero se centra en describir el comportamiento de las variables, por ejemplo, la media, la mediana, la moda, etc.

El análisis exploratorio pretende identificar las relaciones entre variables, extraer ideas preliminares y dirigir el modelado hacia los paradigmas de aprendizaje automático más comunes: clasificación, regresión y agrupación.

En común, ambos pueden ocuparse de la representación gráfica; sin embargo, sólo el análisis exploratorio pretende aportar insights procesables, es decir, insights que provoquen la acción por parte del responsable de la toma de decisiones.

Por último, mientras que el análisis exploratorio de datos busca resolver problemas y aportar soluciones que guíen los pasos del modelado, el análisis descriptivo, como su nombre indica, sólo pretende producir una descripción detallada del conjunto de datos en cuestión.

Análisis descriptivoAnálisis exploratorio de datos
Analiza el comportamientoAnaliza el comportamiento y la relación
Proporciona un resumen Conduce a especificaciones y acciones
Organiza los datos en tablas y gráficosOrganiza los datos en tablas y gráficos
No tiene un poder explicativo significativoTiene un poder explicativo significativo

Algunos usos prácticos Casos de EDA

#1. Marketing digital

El marketing digital ha pasado de ser un proceso creativo a ser un proceso basado en datos. Las organizaciones de marketing utilizan el análisis exploratorio de datos para determinar los resultados de las campañas o los esfuerzos y para orientar las decisiones de inversión y de orientación al consumidor.

Los estudios demográficos, la segmentación de clientes y otras técnicas permiten a los profesionales del marketing utilizar grandes cantidades de datos de compras, encuestas y paneles de consumidores para comprender y comunicar la estrategia de marketing.

La analítica exploratoria web permite a los profesionales del marketing recopilar información a nivel de sesión sobre las interacciones en un sitio web. Google Analytics es un ejemplo de herramienta de análisis gratuita y popular que los profesionales del marketing utilizan con este fin.

Las técnicas exploratorias utilizadas con frecuencia en marketing incluyen el modelado de la mezcla de marketing, los análisis de precios y promociones, la optimización de ventas y el análisis exploratorio de clientes, por ejemplo, la segmentación.

#2. Análisis exploratorio de carteras

Una aplicación común del análisis exploratorio de datos es el análisis exploratorio de cartera. Un banco o una agencia de préstamos tiene una colección de cuentas de valor y riesgo variables.

Las cuentas pueden diferir en función del estatus social del titular (rico, clase media, pobre, etc.), la ubicación geográfica, el patrimonio neto y muchos otros factores. El prestamista debe equilibrar la rentabilidad del préstamo con el riesgo de impago de cada préstamo. La cuestión se convierte entonces en cómo valorar la cartera en su conjunto.

El préstamo de menor riesgo puede ser para personas muy ricas, pero hay un número muy limitado de personas ricas. Por otro lado, muchas personas pobres pueden conceder préstamos, pero con un riesgo mayor.

La solución de análisis exploratorio de datos puede combinar el análisis de series temporales con muchos otros problemas para decidir cuándo prestar dinero a estos diferentes segmentos de prestatarios o el tipo de préstamo. Los intereses se cobran a los miembros de un segmento de la cartera para cubrir las pérdidas entre los miembros de ese segmento.

#3. Análisis exploratorio de riesgos

Los modelos predictivos en banca se están desarrollando para proporcionar certeza sobre las puntuaciones de riesgo de los clientes individuales. Las puntuaciones de crédito están diseñadas para predecir el comportamiento moroso de un individuo y se utilizan ampliamente para evaluar la solvencia de cada solicitante.

Además, el análisis de riesgos se lleva a cabo en el mundo científico y en el sector de los seguros. También se utiliza mucho en instituciones financieras como las empresas de pasarelas de pago en línea para analizar si una transacción es auténtica o fraudulenta.

Para ello, utilizan el historial de transacciones del cliente. Se utiliza más comúnmente en las compras con tarjeta de crédito; cuando se produce un pico repentino en el volumen de transacciones del cliente, éste recibe una llamada de confirmación si él inició la transacción. También ayuda a reducir las pérdidas debidas a estas circunstancias.

Análisis exploratorio de datos con R

Lo primero que necesita para realizar AED con R es descargar R base y R Studio (IDE), seguido de instalar y cargar los siguientes paquetes:

#Instalación de paquetes
install.packages("dplyr")
install.packages("ggplot2")
install.packages("magrittr") 
install.packages("tsibble")
instalar.paquetes("forecast")
instalar.paquetes("skimr")

#Cargar paquetes
library(dplyr)
library(ggplot2)
library(magrittr)
biblioteca(tsibble)
biblioteca(forecast)
biblioteca(skimr)

Para este tutorial, utilizaremos un conjunto de datos de economía que viene incorporado con R y que proporciona datos anuales de indicadores económicos de la economía estadounidense, y cambiaremos su nombre a econ por simplicidad:

econ <- ggplot2::economics
dataset_econ-1

Para realizar el análisis descriptivo, utilizaremos el paquete skimr, que calcula estos estadísticos de forma sencilla y bien presentada:

#Análisis descriptivo
skimr::skim(econ)
descriptiveanalysis_sk-1

También puede utilizar la función de resumen para el análisis descriptivo:

descriptiveanalysis_summaryfunction

Aquí el análisis descriptivo muestra 547 filas y 6 columnas en el conjunto de datos. El valor mínimo corresponde a 1967-07-01 y el máximo a 2015-04-01. Del mismo modo, también muestra el valor medio y la desviación estándar.

Ahora ya tiene una idea básica de lo que contiene el conjunto de datos económicos. Vamos a trazar un histograma de la variable uempmed para ver mejor los datos:

#Histograma del desempleo
econ %>%
  ggplot2::ggplot()  
  ggplot2::aes(x = uempmed)  
  ggplot2::geom_histogram()  
  labs(x = "Desempleo", title = "Tasa mensual de desempleo en EE.UU. entre 1967 y 2015")
histo

La distribución del histograma muestra que tiene una cola alargada a la derecha; es decir, posiblemente haya algunas observaciones de esta variable con valores más «extremos». Surge la pregunta: ¿en qué periodo tuvieron lugar estos valores y cuál es la tendencia de la variable?

La forma más directa de identificar la tendencia de una variable es mediante un gráfico lineal. A continuación generamos un gráfico de líneas y añadimos una línea de suavizado:

#Gráfico lineal del desempleo
econ %>%
  ggplot2::autoplot(uempmed)  
  ggplot2::geom_smooth()
trendd

Utilizando este gráfico, podemos identificar que en el periodo más reciente, en las últimas observaciones de 2010, existe una tendencia al aumento del desempleo, superando la historia observada en décadas anteriores.

Otro punto importante, especialmente en contextos de modelización econométrica, es la estacionariedad de las series; es decir, ¿la media y la varianza son constantes a lo largo del tiempo?

Cuando estos supuestos no se cumplen en una variable, decimos que la serie tiene una raíz unitaria (no estacionaria) por lo que los choques que sufre la variable generan un efecto permanente.

Este parece haber sido el caso de la variable en cuestión, la duración del desempleo. Hemos visto que las fluctuaciones de la variable han cambiado considerablemente, lo que tiene fuertes implicaciones relacionadas con las teorías económicas que se ocupan de los ciclos. Pero, apartándonos de la teoría, ¿cómo comprobamos en la práctica si la variable es estacionaria?

El paquete de previsiones dispone de una excelente función que permite aplicar pruebas, como ADF, KPSS y otras, que ya devuelven el número de diferencias necesarias para que la serie sea estacionaria:

 #Utilización de la prueba ADF para comprobar la estacionariedad
previsión::ndiffs( 
  x = econ$uempmed,
  test = "adf")
adftest

Aquí el valor p superior a 0,05 muestra que los datos son no estacionarios.

Otra cuestión importante en las series temporales es la identificación de posibles correlaciones (la relación lineal) entre los valores retardados de las series. Los correlogramas ACF y PACF ayudan a identificarla.

Como la serie no tiene estacionalidad pero sí una cierta tendencia, las autocorrelaciones iniciales tienden a ser grandes y positivas porque las observaciones cercanas en el tiempo también lo están en valor.

Así, la función de autocorrelación (ACF) de una serie temporal con tendencia tiende a tener valores positivos que disminuyen lentamente a medida que aumentan los retardos.

#Residuales del desempleo 
checkresiduals(econ$uempmed) 
pacf(econ$uempmed)
residuals
pacf

Conclusión

Cuando tenemos en nuestras manos datos más o menos limpios, es decir, ya depurados, sentimos inmediatamente la tentación de zambullirnos en la fase de construcción del modelo para extraer los primeros resultados. Hay que resistirse a esta tentación y empezar a hacer análisis exploratorios de datos, que son sencillos pero nos ayudan a extraer ideas poderosas de los datos.

También puede explorar algunos de los mejores recursos para aprender estadística para la Ciencia de Datos.