Cómo hacer que sus modelos de aprendizaje automático sean robustos para los valores atípicos

“Tan inesperado fue el agujero que durante varios años las computadoras que analizaban los datos de ozono habían descartado sistemáticamente las lecturas que deberían haber indicado su crecimiento”. New Scientist 31 de marzo de 1988

Según Wikipedia, un atípico es un punto de observación que está distante de otras observaciones. Esta definición es vaga porque no cuantifica la palabra “distante”. En este blog, trataremos de entender las diferentes interpretaciones de esta noción “distante”. También veremos las técnicas de detección y tratamiento de valores atípicos mientras vemos su impacto en diferentes tipos de modelos de aprendizaje automático.
Los valores atípicos surgen debido a cambios en el comportamiento del sistema, comportamiento fraudulento, error humano, error del instrumento o simplemente a través de desviaciones naturales poblaciones. Una muestra puede haberse contaminado con elementos externos a la población que se está examinando.

Muchos modelos de aprendizaje automático, como la regresión lineal y logística, se ven fácilmente afectados por los valores atípicos en los datos de entrenamiento. Los modelos como AdaBoost aumentan el peso de los puntos erróneamente clasificados en cada iteración y, por lo tanto, pueden poner pesos altos en estos valores atípicos, ya que suelen clasificarse erróneamente. Esto puede convertirse en un problema si ese valor atípico es un error de algún tipo, o si queremos que nuestro modelo se generalice bien y no se preocupe por valores extremos.

Para solucionar este problema, podemos cambiar el modelo o la métrica, o puede hacer algunos cambios en los datos y usar los mismos modelos. Para el análisis, veremos Precios de viviendas Kaggle Data . Todos los códigos para las parcelas y la implementación se pueden encontrar en este Github Repository .

¿Qué queremos decir con valores atípicos?

Los valores extremos pueden estar presentes en variables dependientes e independientes, en el caso de los métodos de aprendizaje supervisado.

Estos valores extremos no necesariamente tienen un impacto en el rendimiento del modelo o precisión, pero cuando lo hacen se llaman “Influencial” puntos.

Valores extremos en variables independientes

Estos se llaman puntos de “alto apalancamiento ] “. Con un solo predictor, un valor extremo es simplemente uno que es particularmente alto o bajo. Con predictores múltiples, los valores extremos pueden ser particularmente altos o bajos para uno o más predictores (análisis univariado – análisis de una variable a la vez) o pueden ser combinaciones “inusuales” de valores predictivos (multivariante analysis)

En la siguiente figura, todos los puntos en el lado derecho de la línea naranja son puntos de apalancamiento.

Valores extremos en las variables objetivo

Regresión: estos valores extremos se denominan “valores atípicos” . Pueden o no ser puntos influyentes, que veremos más adelante. En la siguiente figura, todos los puntos sobre la línea naranja se pueden clasificar como valores atípicos.

Clasificación: Aquí tenemos dos tipos de valores extremos:

1. Valores atípicos: Por ejemplo, en un problema de clasificación de imágenes en el que intentamos identificar perros / gatos, una de las imágenes en el conjunto de entrenamiento tiene un gorila (o cualquier otra categoría que no forma parte del objetivo del problema) por error. Aquí, la imagen del gorila es claramente ruido. La detección de valores atípicos aquí no tiene sentido porque ya sabemos en qué categorías queremos enfocarnos y cuáles descartar

2. Novedades: Muchas veces estamos lidiando con novedades, y el problema a menudo se llama detección de anomalías supervisadas . En este caso, el objetivo no es eliminar valores atípicos o reducir su impacto, sino que estamos interesados ​​en detectar anomalías en nuevas observaciones. Por lo tanto, no vamos a discutirlo en esta publicación. Se usa especialmente para detectar fraudes en transacciones con tarjetas de crédito, llamadas falsas, etc.

Todos los puntos que hemos discutido anteriormente, incluidos los puntos influyentes, serán muy claros una vez que visualicemos la siguiente figura.

Inferencia

– Puntos en Q1: Valores atípicos
– Puntos en Q3: Puntos de apalancamiento
– Puntos en Q2: Ambos valores atípicos y apalancamiento pero no puntos influyentes
– Puntos en círculo: ejemplo de puntos influyentes. Puede haber más, pero estos son los más destacados

Nuestro principal enfoque serán los valores extremos (valores extremos en variable objetivo para mayor investigación y tratamiento). Veremos el impacto de estos valores extremos en el rendimiento del modelo.

Métodos comunes para detectar valores atípicos

Al detectar valores atípicos, estamos haciendo un análisis univariado o un análisis multivariado. Cuando su modelo lineal tiene un único predictor, puede usar el análisis univariado. Sin embargo, puede dar resultados engañosos si lo usa para predictores múltiples. Una forma común de realizar la detección de valores atípicos es para suponer que los datos regulares provienen de una distribución conocida (por ejemplo, los datos están distribuidos por Gauss). Esta suposición se discute en la sección del método Z-Score a continuación.

Box-Plot

La manera más rápida y fácil de identificar valores atípicos es visualizándolos usando gráficos. Si su conjunto de datos no es enorme (aproximadamente 10k observaciones y 100 características), le recomiendo que construya gráficos de dispersión y gráficos de cajas de variables. Si no hay valores atípicos, definitivamente obtendrá algunos otros puntos de vista como las correlaciones, la variabilidad o factores externos como el impacto de la guerra mundial / recesión en los factores económicos. Sin embargo, este método no se recomienda para datos de alta dimensión donde el poder de visualización falla.

El diagrama de caja usa un rango intercuartílico para detectar valores atípicos. Aquí, primero determinamos los cuartiles Q 1 y Q 3.

El rango intercuartílico está dado por, IQR = Q3 – Q1

Límite superior = Q3 + 1.5 * IQR

Límite inferior = Q1-1.5 * IQR

Cualquier cosa por debajo del límite inferior y por encima del límite superior se considera un valor atípico

Cook’s Distance

Este es un enfoque multivariado para encontrar influyentes puntos. Estos puntos pueden o no ser atípicos, como se explicó anteriormente, pero tienen el poder de influir en el modelo de regresión. Veremos su impacto en la parte posterior del blog.

Este método se usa solo para la regresión lineal y, por lo tanto, tiene una aplicación limitada. La distancia de Cook mide el efecto de eliminar una observación determinada. Representa la suma de todos los cambios en el modelo de regresión cuando se quita la observación “i” .

Aquí, p es el número de predictores y s² es la media error cuadrático del modelo de regresión. Existen diferentes puntos de vista con respecto a los valores de corte que se utilizan para detectar puntos altamente influyentes. Una regla empírica es que D (i)> 4 / n, puede cortarse bien para puntos influyentes.

R tiene el paquete automóvil (Companion to Applied Regression) donde puede encontrar directamente valores atípicos. usando la distancia de Cook. La implementación se proporciona en este R-Tutorial . Otro enfoque similar es DFFITS que puede ver detalles de aquí .

Z-Score

Este método supone que la variable tiene un gaussiano distribución. Representa el número de desviaciones estándar que una observación está lejos de la media:

Aquí, normalmente se definen valores atípicos como puntos cuyo módulo de z-score es mayor que un valor de umbral. Este valor de umbral suele ser mayor que 2 (3 es un valor común).


Referencia: http://slideplayer.com/slide/6394283/
Todos los métodos anteriores son buenos para el análisis inicial de datos , pero no tienen mucho valor en configuraciones multivariantes o con datos de alta dimensión. Para tales conjuntos de datos, tenemos que usar métodos avanzados como PCA, LOF (factor de valor atípico local) y HiCS: subespacios de alto contraste para el ranking de valores atípicos basados ​​en densidad .

No discutiremos estos métodos en este blog, ya que están más allá de su alcance. Nuestro enfoque aquí es ver cómo varias técnicas de tratamiento atípicas afectan el rendimiento de los modelos.

Impacto y tratamiento de valores atípicos

El impacto de los valores atípicos se puede ver no solo en modelos predictivos sino también en pruebas estadísticas donde reduce el poder de las pruebas. La mayoría de las estadísticas paramétricas, como los medios, las desviaciones estándar y las correlaciones, y todas las estadísticas basadas en ellas, son muy sensibles a los valores atípicos. Pero en esta publicación, nos centramos solo en el impacto de los valores atípicos en el modelado predictivo.

Dejar caer o no dejar caer

Creo que eliminar los datos es siempre un paso duro y solo debe tomarse en condiciones extremas cuando estamos seguros de que el valor atípico es un error de medición que generalmente no conocemos. El proceso de recopilación de datos rara vez se proporciona. Cuando eliminamos datos, perdemos información en términos de la variabilidad en los datos. Cuando tenemos demasiadas observaciones y valores atípicos son pocos entonces podemos pensar en descartar estas observaciones.

En el siguiente ejemplo, podemos ver que la pendiente de la línea de regresión cambia mucho en presencia de los valores extremos en la parte superior. Por lo tanto, es razonable descartarlos y obtener una solución más adecuada y más general.


Fuente: https://www.r-bloggers.com/outlier-detection-and-treatment-with-r/
Otros métodos basados ​​en datos

  • Winsorizing: Este método implica establecer los valores extremos de un atributo en un valor especificado. Por ejemplo, para una Winsorization del 90%, el 5% inferior de los valores se establece igual al valor mínimo en el percentil 5, mientras que el 5% superior de los valores se establece igual al valor máximo en el percentil 95. Esto es más avanzado que el recorte donde simplemente excluimos los valores extremos.
  • Transformación Log-Scale: Este método se usa a menudo para reducir la variabilidad de los datos, incluida la observación periférica. Aquí, el valor y se cambia a log (y). A menudo se prefiere cuando la variable de respuesta sigue a distribución exponencial o está sesgada a la derecha .
  • Sin embargo, es un paso polémico y no necesariamente reduce la varianza. Por ejemplo, esta respuesta captura maravillosamente todos esos casos.
  • Pobre ejemplo de transformación –


Una distribución sesgada inicialmente izquierda se vuelve más sesgada después de la transformación logarítmica

  • Binning: Esto se refiere a dividir una lista de variables continuas en grupos. Hacemos esto para descubrir conjuntos de patrones en variables continuas, que de otro modo son difíciles de analizar. Pero, también conduce a pérdida de información y pérdida de poder.

Métodos basados ​​en modelos

  • Use un modelo diferente: en lugar de modelos lineales, podemos usar métodos basados ​​en árboles como Bosques aleatorios y Técnicas de aumento de gradiente, que se ven menos afectados por valores atípicos. Esta respuesta explica claramente por qué los métodos basados ​​en árboles son robustos para los valores atípicos.
  • Métricas: use MAE en lugar de RMSE como función de pérdida. También podemos usar pérdida truncada:

 


Fuente: https://eranraviv.com/outliers-and-loss-functions/
Comparación del estudio de caso

Para esta comparación, elegí solo cuatro predictores importantes ( Calidad general, MSubClass, área de sótano total, área de vida en el suelo) de un total de 80 predictores e intentó predecir el precio de venta utilizando estos predictores. La idea es ver cómo los valores atípicos afectan los métodos lineales y basados ​​en árboles.

 

Notas finales

  • Dado que solo hay 1400 observaciones totales en el conjunto de datos, el impacto de los valores atípicos es considerable en un modelo de regresión lineal, como podemos ver en los puntajes RMSE de “ con valores atípicos ” (0,93) y “ Sin valores atípicos ” (0,18), una caída significativa.
  • Para este conjunto de datos, la variable objetivo está sesgada a la derecha. Debido a esto, la transformación de registro funciona mejor que la eliminación de valores atípicos. Por lo tanto, siempre debemos intentar transformar los datos primero en lugar de eliminarlos. Sin embargo, winsorizing no es tan efectivo en comparación con la eliminación de valores atípicos. Puede ser porque, mediante el reemplazo duro, de alguna manera estamos introduciendo imprecisiones en los datos.
  • Claramente, Random Forest no se ve afectado por valores atípicos porque después de eliminar los valores atípicos, RMSE aumentó. Esta podría ser la razón por la cual cambiar los criterios de MSE a MAE no ayudó mucho (de 0.188 a 0.186). Incluso en este caso, log-transformation resultó ser el ganador: la razón es la naturaleza sesgada de la variable objetivo. Después de la transformación, los datos se están volviendo uniformes y la división es cada vez mejor en el Bosque Aleatorio.

A partir de los resultados anteriores, podemos concluir que las técnicas de transformación generalmente funcionan mejor que dejar caer para mejorar la precisión predictiva de los modelos lineales y basados ​​en árboles. Es muy importante tratar los valores atípicos cayéndolos o transformándolos si está usando un modelo de regresión lineal.

Si me perdí algunas técnicas importantes para el tratamiento de atípicos, me encantaría escuchar sobre ellos en los comentarios. Gracias por leer.

Referencias bibliográficas:

  1. Los métodos de tratamiento han sido enseñados por Yannet Interian en USF
  2. Github Repo para códigos
  3. Datos para el análisis del precio de la vivienda

Dejá un comentario