Detección de anomalías mediante la inteligencia artificial para la optimización de los datos

Publicado el 27 Oct 2021

Tabla de datos de individuos

A menudo, cuando nos enfrentamos con un problema en el mundo de la ciencia de los datos, tendemos a buscar el modelo que mejor se adapte a nuestro caso. Sin embargo, no debemos olvidar que el alimento de nuestros modelos, y por tanto el principal responsable del resultado, son los datos con los que los entrenamos.

No siempre los datos de los cuales dispone el científico son aptos para solucionar el problema propuesto y en la mayoría de los casos, no están listos para ser utilizados en la fase de entrenamiento y validación del modelo. En este sentido el preprocesado de los datos, concretamente en la detección de anomalías, es la capa fundamental en la fase de limpieza de los datos.

1. Tipología e anomalías

Hay distintas maneras de clasificar las anomalías pero a la hora de detectarlas nos podemos encontrar en dos situaciones distintas:

Imaginemos que tenemos un conjunto de datos de individuos donde se recoge la altura y el peso de cada persona

Ilustración 1: Tabla datos de individuos

El primer caso posible es que encontremos un valor anómalo como el graficado en rojo en la Ilustración 2:

Ilustración 2: Representación gráfica de peso y altura de los individuos

Representación gráfica de peso y altura de los individuos
Representación gráfica de peso y altura de los individuos

En este caso la técnica para detectar los datos anómalos es sencilla, ya que es suficiente con un análisis univariado, por ejemplo utilizando el diagrama a bigotes, como se puede ver en la Ilustración 3:

Ilustración 3: Diagrama de bigotes con outlier

Diagrama de bigotes con outlier
Diagrama de bigotes con outlier

El segundo caso con el cual nos podemos enfrentar, queda representado en la Ilustración 4

Ilustración 4: Representación gráfica de valor anómalo II

Representación gráfica de valor anómalo II
Representación gráfica de valor anómalo II

En este caso el ejemplo, el dato anómalo, no puede ser detectado a través de un análisis univariado, ya que mirando el rango de cada una de las variables (altura y peso) por separado en el ejemplo que estamos tratando, el valor anómalo se encuentra dentro el rango de valores aceptables, por lo que hace falta de un análisis multivariado. En otras palabras, en esta situación no son los valores de los componentes individuales los que son anómalos, sino su combinación.

En un caso como este, donde la dimensionalidad del conjunto de datos es 2, es fácil detectar estos valores anómalos visualmente; pero ¿Cómo lo hacemos cuando nos encontramos con un conjunto de datos cuya dimensionalidad es mucho más elevada?

2. Técnicas de detección de anomalías

Hay muchas técnicas para utilizar en estos casos, por ejemplo, la distancia de Mahalanobis o algoritmos de aprendizaje no supervisado. Aquí ponemos el foco en dos técnicas:

  • PCA (Principal component analysis)
  • GMM (Gaussian mixture models)

La primera es una técnica de reducción de dimensionalidad muy utilizada en la ciencia de datos, sobre todo en el campo de reconocimiento de imágenes y en general en casos de conjuntos de datos con elevada dimensionalidad; por otro lado, la segunda opción es un algoritmo de aprendizaje no supervisado.

Con el PCA, una vez normalizados los datos, calcula los autovalores y autovectores de la matriz de covarianza y eligiendo los N autovectores correspondientes a los N autovalores mas grandes, para construir la matriz de proyección y finalmente poder transformar el conjunto inicial de dimensionalidad K en el nuevo conjunto de datos de dimensionalidad N con N<k.

</k.

Claramente, una vez construida esta matriz de proyección, la trasformación puede ser hecha en ambas direcciones, es decir, se puede pasar de K a N dimensiones, pero también desde N a K dimensiones. El conjunto de datos iniciales y el conjunto de datos reconstruidos partiendo desde el conjunto de datos de dimensionalidad reducida, desde luego presentan diferencias, ya que a la hora de reducir la dimensionalidad se da una pérdida de información.

A la hora de volver atrás en dimensionalidad, los datos no serán iguales. El error que se asume, volviendo a la dimensión inicial es proporcional a la anomalía del valor inicial.

A mayor error de reconstrucción corresponde mayor anomalía en el valor de los datos iniciales.

Aplicando esta técnica sobre el conjunto de datos mostrados se obtiene el siguiente resultado:

Ilustración 5: Resultados tras aplicación técnica PCA

Resultados tras aplicación técnica PCA
Resultados tras aplicación técnica PCA

Donde se puede ver que el caso con más error de reconstrucción es el que esperábamos, y además la diferencia es bastante marcada con respecto a los demás casos.

Ilustración 6: Distribución de los errores de reconstrucción (PCA)

Distribución de los errores de reconstrucción (PCA)
Distribución de los errores de reconstrucción (PCA)

Por otra parte la técnica de GMM es una función de densidad de probabilidad paramétrica, representada como una suma ponderada de densidades de componentes gaussianos. Una vez establecido un número N de distribuciones normales a calcular, el algoritmo establecerá los parámetros óptimos para que las gaussianas sean representativas de los datos.

Llegados a este punto, podemos calcular la probabilidad de cada caso de nuestro conjunto y en este los casos considerados como anómalos serán los casos con menor probabilidad.

El resultado se muestra en la Ilustración 7

Ilustración 7: Tabla de individuos II

Tabla de individuos II
Tabla de individuos II

Ambas técnicas son válidas, y en este caso sencillo dieron el mismo resultado, pero obviamente tienen sus pros y sus contras. En cuanto al PCA, lo bueno es la consistencia del proceso, es decir, para un mismo conjunto de datos los componentes principales serán siempre los mismos, en cambio en presencia de muchos valores atípicos, el cálculo de los componentes principales puede verse afectado. Por otro lado, la técnica GMM es más versátil, aunque no se garantiza la unicidad de la solución, por lo que es una buena práctica evaluar si un caso es anómalo o no utilizando diferentes técnicas.

¿Qué te ha parecido este artículo?

Tu opinión es importante para nosotros.

B
Giovanni Bonaventura

Artículos relacionados