¿Por qué es relevante realizar una buena exploración de los datos antes de comenzar el modelamiento de algoritmos avanzado?
“La mayoría de los gerentes saben, al menos de manera anecdótica, que los datos de mala calidad hacen perder el tiempo, aumentan los costos, debilitan la toma de decisiones, hacen enfadar a los clientes y dificultan la implementación de cualquier tipo de estrategia de datos o de modelamiento. Por otra parte, diversos estudios confirman que sólo el 3 % de los datos de las empresas cumplen las normas básicas de calidad”.
La finalidad del Análisis Exploratorio de Datos (EDA por sus siglas en inglés Exploratory Data Analysis) es examinar los datos previamente a la aplicación de cualquier técnica estadística y no necesariamente sólo para el modelamiento avanzado. De esta forma el analista de datos y/o científico de datos consigue un comprensión básica de los datos y de las relaciones existentes entre las variables analizadas, por ejemplo, para la aplicación de modelos supervisados para la predicción como la regresión lineal, KNN, y/o árboles y/o para clasificación como Gradient Boosting, Random Forest, árboles, KNN, Regresión Logística. Así como modelos no supervisados como un KMeans básico, clustering jerárquico, etc.. Si un modelaje avanzado de machine learning se alimenta con dirty data, pues generará un modelo poco útil, que hará perder tiempo, dinero, clasificará o predecirá de mal manera.
“Las tareas implícitas en el EDA pueden parecer sin consecuencias a primera vista, pero son una parte esencial de cualquier análisis estadístico”
El análisis exploratorio de datos es importante antes de hacer cualquier uso de un dataset. Permite identificar errores obvios, así como comprender mejor los patrones en los datos, detectar valores atípicos o sucesos anómalos, y encontrar relaciones interesantes entre las variables.
El EDA es estructurado, es decir, consta de una serie de pasos que incluye no sólo seleccionar métodos gráficos y/o numéricos, sino también examinar las relaciones existentes, comprobar si se verifican hipótesis de interés en los datos (normalidad, linealidad, homocedasticidad), identificar casos atípicos univariantes, bivariantes y multivariantes y comprender los diferentes tipos de datos ausentes y evaluar su impacto potencial.
Python proporciona métodos sencillos (para el científico de datos….) para organizar y preparar los datos, detectar fallos en el dataset y/o que se dieron en la recopilación de datos, tratamiento y evaluación de missing value, identificación de casos atípicos y comprobación de los supuestos subyacentes en la mayor parte de las técnicas multivariantes.
Las preguntas a realizarse previo a comenzar un modelamiento con algoritmos, son:
1.¿Existe algún tipo de estructura (normalidad, multimodalidad, asimetría, curtosis, linealidad, homogeneidad entre grupos, homocedasticidad, etc.) en los datos que voy a analizar que pueda afectar mis modelos?
2.¿Existe algún sesgo en los datos capturados/recogidos?
3.¿Hay errores en la codificación de los datos o en la naturaleza de las variables?
4.¿Existen datos atípicos (outliers)? Y ¿Cómo los trataré?
5.¿Hay datos ausentes (missing)?, ¿Tienen algún patrón sistemático? ¿Cómo tratarlos?
Los efectos de no hacer una “buena” exploración de datos la explicaré con algunos ejemplos:
Ejemplo 1 (Con valores ausentes el modelo no se puede ejecutar) Identificar missing values es importante porque algunos algoritmos rechazan su uso, y utilizar un método de imputación y/o dar un tratamiento de exclusión y/o sustitución por mediana, moda o cualquier otro descriptivo en función de la variable “target, hará imposible soslayar esta ausencia de datos. En este ejemplo se quiere generar un modelo de Machine Learning, se utiliza un modelo no supervisado llamado K-means, si observas que el modelo no corrió…. es porque tiene Missing Values los cuales no le permite a K-means, hacer la clasificación en el dataset.
Ejemplo 2 (Con valores ausentes y outliers los resultados del modelo podrían incluir el sesgo del dirty data, ya que no hubo un data cleaning correcto). Estas con una base de datos de 10,000 casos, no hay missing value y pero sí hay outliers: por ejemplo, la media se ve afectada, la desviación estándar, la varianza, la asimetría, la curtosis, el rango, la amplitud y otros. En este caso, si la variable analizada es continua o discreta con un elevado número de valores distintos se tabula como una distribución de frecuencias agrupadas y se representa gráficamente mediante histogramas, diagramas de tallos y hojas y boxplots con el fin de estudiar la forma de la distribución y analizar, en particular, la posible existencia de varias modas en la misma que pongan de manifiesto la presencia de diversos grupos homogéneos en la muestra. Por último, pregúntate como afectará una data sucia la Correlación y causalidad Gawali (2021), el test de Kolmogorov-Smirnov, el contraste de Shapiro y Wilks y la toma de decisiones en las que derivará el modelaje avanzado.
Una buena exploración de los datos antes de comenzar el modelamiento avanzado no es una pérdida de tiempo, es importante y relevante, es la base del modelaje, un EDA en profundidad genera mucha información, y permite la aplicación de técnicas multivariadas que nos ayudan a confirmar impresiones iniciales a partir de un EDA.
“Los científicos de datos utilizan el análisis exploratorio para garantizar que los resultados del modelaje avanzado sean válidos y aplicables a las conclusiones y objetivos de negocio. Una vez se ha completado el EDA y se ha extraído la información útil, sus características pueden utilizarse para un análisis o modelado de datos más complejo, incluido el machine learning”.