Un dato atípico, llamado outlier en inglés, es un valor de una de las variables que se observan en un conjunto de datos, que se diferencia de forma notable de los valores que toma dicha variable. También podemos considerar que los datos atípicos son observaciones cuyo comportamiento es distinto del comportamiento medio del resto de observaciones.
El problema de los datos atípicos es que distorsionan de forma importante los análisis en los que interviene la variable que contiene dichos datos.
Es muy importante no confundir un dato atípico con un dato erróneo. Por ejemplo una persona que mida 2.1 metros, aunque poco frecuente, no tiene porque tratarse de valor erróneo, pues se trata de un valor válido, y será un dato atípico si se compara con otros individuos de menor altura, pero no si forma parte de un conjunto de datos de jugadores de baloncesto. Es importante tratar primero los errores y luego los datos atípicos, como estamos viendo en esta asignatura.
Ejemplo
En un grupo de 10 personas, se observan para cada una de ellas las siguientes variables:
Tiempo: tiempo que tarda en recorrer 1.5 millas (en minutos)
Oxigeno: cantidad de oxígeno que absorve por minuto (en ml. por Kg de peso)
Ajustamos una recta de regresión a estos datos
Y lo representamos gráficamente
Supongamos que en algún momento se ha producido un error y que en la observacion 10, el Tiempo = 18:
Y volvemos a ajustar una recta de regresión y la volvemos a dibujar
Los cambios producidos por una única observación son catastróficos. Para evitar estas situaciones, necesitamos estudiar la causa de estos valores y realizar un tratamiento de los mismos.
Vamos a realizar los siguientes ejercicios:
EjerciciosLo primero que nos preguntamos es ¿Qué clase de dato atípico tenemos?
Tipos | Soluciones |
---|---|
Datos que son errores en la toma de datos o en la codificación de los mismos | Subsanar el error y si no es posible eliminar el dato y considerarlo “missing” |
Datos causados por acontecimientos extraordinarios, pero su presencia está justificada | Mantenerlos salvo que su relevancia sea anecdótica |
Observaciones extrañas para las que no nos sirve ningún tipo de justificación | Elimirlos cuando no es posible encontrar una explicación |
Datos con valores extremos | El investigador decidirá si debe eliminarse o considerarlo representativo de una parte minoritaria. Si se elimina, debe quedar constancia y ser informada |
Como criterio general, la decisión de los atípicos a eliminar, debe ser en función de sus características y de los objetivos del análisis a realizar.
A veces se analizan los datos con los atípicos y sin los atípicos para ver dicha influencia (Análisis de Sensibilidad). Si los resultados son similares entonces se convierte en una decisión intranscendente lo que se haga con los atípicos. Pero si no los son, unos pocos valores atípicos no eliminados de un análisis pueden provocar que el resto de los datos resulten inútiles para llegar a conclusiones correctas.
Los datos atípicos los estudiaremos dentro del contexto de todas las variables. A veces, un valor extremo no es significativo dentro de un conjunto de variables. Por lo tanto, podemos abordar el problema desde el punto de vista univariante y multivariante.
Para una variable continua, un dato atípico se determina por aquellas observaciones que caigan fuera de 1.5*IQR y un dato extremo para los que esta distancia sea superior a 3 veces el IQR, siendo IQR el Rango Intercuartílico que es la diferencia entre el cuartil tercero y el cuartil primero.
Es decir, aquellos puntos que están fuera de los bigotes de un diagrama de cajas
Vamos a utilizar la base de datos ozone
de R para ilustrar el tema
Lo primero sería ver el tipo de datos y que no haya errores e incongruencia como hemos visto en el Tema 1.
Los meses y días de la semana podríamos pensar en convertirlos en variables categóricas, pero también las podemos dejar como numéricas. Siempre dependera de cómo queramos trabajar con ellas y sobre todo, representarlas.
Para el resto de variables, no tenemos NAs ni parece que haya errores.
Vamos a ver los outliers:
Vamos a estudiar la variable Pressure_height
obteniendo los datos atípicos y extremos:
La decisión de que hacer es más compleja, no siempre hay que borrar los datos atípicos o extremos, a veces basta con que seamos conscientes y en el posterior análisis tengamos en cuenta la influencia de los mismos. Otras veces dependerá del contexto del estudio y lo que queramos hacer después.
Además tenemos que tener en cuenta la proporción de datos atípicos o extremos en la muestra, es decir, si los datos representan menos de un 2-5% de la muestra, podríamos considerar borrarlos, si son más entonces los consideramos datos "típicos"
En este ejemplo nos salen que los datos atípicos de la variable pressure height corresponden a un 2.5% de los datos, por tanto ya que son sólo atípicos y no extremos y están por encima del 2% vamos a dejarlos sin borrar pero siendo conscientes en futuros análisis de su existencia.
El caso bivariado, nos permite representar una variable en función de otra. Por ejemplo, en el caso de una variable continua en función de una variable categórica, volvemos a hacer uso del diagrama de cajas.
Ahora vamos a ver si la variable Pressure_height
toma valores atípicos de la misma forma que antes al representarla por meses (Month
) y días de la semana (Day_of_week
):
En el gráfico primero, donde se representa la variable Pressure_height
por la variable Month
, sólo 3 atípicos son detectados que no son los mismos que se detectaban en la variable en cuestión, y en el caso de la representación por la variable Day_of_week
, se detectan unos cuantos más, aquí si coincidiendo con la variable en cuestión. El problema aquí es que además de los datos atípicos que nos muestran los diagramas de cajas, tenemos que ver si existe relación entre dichas variables. En este caso, parece que la variable Pressure_heigth
tiene relación con la variable Month
, siendo los meses de invierno los que toman valores más bajos y los de verano más altos y por tanto ya no queda claro si realmente los datos atípicos de la variable Pressure_heigt
eran realmente atípicos o simplemente son parte de la asociación observada con Month
.
Cuando tenemos dos variables continuas, lo que podemos hacer es dibujar un diagrama de dispersión y ver como veíamos en el ejemplo ilustrativo si dichas variables podrían tener datos atípicos
Para este caso vamos a ver Pressure_height
con Ozone_reading
Aquí volvemos a ver los posibles outliers de la variable Pressure_height
, pero también vemos como esta variable se asocia con la de Ozone_reading
siendo que los valores que se veían como atípicos en el diagrama de cajas primero, se relacionan con niveles muy bajitos de la variable Ozone reading
, por tanto, ¿Son datos realmente atípicos?
Considerando lo ya visto en el caso univariante y esto, vamos a dejar estos datos sin tocar, pero si en futuros análisis nos dan problemas o detectamos cosas "raras" recordaremos que estos datos podrían ser atípicos.
Representar el diagrama de cajas de la variable en cuestión y calcular los valores atípicos y extremos como valores que se alejan de 1.5*IQR (atípico) y de 3*IQR (extremo).
Para poder ser considerados datos atípicos o extremos deben representar entre el 2-5% del conjunto de datos porque sino se trataría de datos "típicos".
Se puede realizar un estudio bivariado para ver si esos datos atípicos son parte de una asociación estadística o no. Si lo son, no los consideraremos atípicos.
Al igual que tenemos métodos más sofisticados de machine learning para analizar nuestros datos, los tenemos también para la detección de datos atípicos, pero hay que tener cuidado porque la mayoría de veces el propio modelado hace que no podamos detectarlos.
LOF es un algoritmo de detección de valores atípicos basado en densidad. Evalúa la densidad local de los puntos de datos para identificar valores atípicos. A diferencia de algoritmos de agrupación como k-Nearest Neighbors (KNN), LOF se centra en encontrar observaciones que se desvíen del patrón de densidad local.
Comparación con k-Nearest Neighbors (KNN):
Similitud en KNN: En KNN, el enfoque se centra en encontrar observaciones que compartan características similares. Identifica vecinos según la proximidad, y los puntos con muchos vecinos cercanos se consideran similares.
Diferencia en LOF: LOF, por otro lado, busca observaciones que no sean similares. Evalúa la densidad local alrededor de cada punto e identifica observaciones que se desvíen del patrón de densidad esperado. Los valores atípicos en LOF pueden tener menos vecinos cercanos o una densidad local significativamente diferente.
Resumen del Algoritmo: Aquí tienes un esquema básico del algoritmo LOF:
Para cada punto de datos:
Calcula la distancia a sus k vecinos más cercanos.
Evalúa la densidad local en función de la distancia promedio a los vecinos.
Compara la densidad local del punto con las densidades locales de sus vecinos.
Calcula el Local Outlier Factor (LOF) como la relación entre la densidad del punto y la densidad promedio de sus vecinos.
Interpretación:
LOF > 1: Un valor LOF mayor que 1 indica que el punto tiene una densidad local significativamente menor que la de sus vecinos. En otras palabras, el punto se encuentra en una región donde la densidad de puntos es menor de lo esperado en comparación con su entorno local. Esto sugiere que el punto podría ser un valor atípico.
LOF ≈ 1: Un valor LOF cercano a 1 indica que el punto tiene una densidad local similar a la de sus vecinos. En este caso, el punto se encuentra en una región donde la densidad de puntos es consistente con su entorno local. No se considera un valor atípico según LOF.
LOF < 1: Un valor LOF menor que 1 indica que el punto tiene una densidad local más alta que la de sus vecinos. Esto puede suceder en regiones de alta densidad donde el punto está más densamente rodeado que la media de sus vecinos. En este caso, el punto puede considerarse menos atípico que sus vecinos.
Puedes establecer un umbral para definir qué puntuaciones LOF se considerarán valores atípicos. Un umbral típico podría ser 1.5, donde puntos con LOF superior a este valor se considerarían atípicos.
Ejemplo con la base de datos de R iris
El conjunto de datos Iris consta de 150 observaciones de iris, con 50 observaciones de cada una de las tres especies de iris: setosa, versicolor y virginica. Para cada observación, se miden cuatro características: longitud del sépalo, ancho del sépalo, longitud del pétalo y ancho del pétalo. Es conocido por su utilidad en la demostración de técnicas de clasificación y análisis estadístico.