¿Es importante el análisis de datos exploratorios al realizar modelos puramente predictivos?

23

Al construir un modelo predictivo utilizando técnicas de aprendizaje automático, ¿cuál es el punto de hacer un análisis exploratorio de datos (EDA)? ¿Está bien saltar directamente a la generación de características y construir su (s) modelo (s)? ¿Cómo son importantes las estadísticas descriptivas utilizadas en EDA?

blast00
fuente
66
Usted pregunta sobre el "análisis exploratorio de datos", pero también incluye la [descriptive-statistics]etiqueta y su pregunta final es si las estadísticas descriptivas son importantes. En este contexto, ¿te refieres a calcular varias estadísticas descriptivas cuando mencionas EDA, o preguntas sobre estadísticas descriptivas y EDA? Pregunto porque muchas personas (incluyéndome a mí) piensan en EDA como algo más que estadísticas descriptivas.
gung - Restablece a Monica
¿Qué es exactamente la "generación de características"? ¿No es un proceso exploratorio?
Einar
55
Últimamente, 37 personas me han dado 224 observaciones. Había planeado investigar, entre otros, la influencia del género / sexo, cuando el análisis descriptivo me dijo que había 36 mujeres y 1 hombre. Debido a esta estadística descriptiva, omití todos los análisis relacionados con el género / sexo. Fue importante para mí, porque los descriptivos influyeron en mi proceso de construcción de modelos. Más información sobre esos datos aquí stats.stackexchange.com/questions/352015/…
Bernhard

Respuestas:

47

No hace mucho, tuve una tarea de entrevista para un puesto de ciencia de datos. Me dieron un conjunto de datos y me pidieron que construyera un modelo predictivo para predecir una determinada variable binaria dados los demás, con un límite de tiempo de unas pocas horas.

Revisé cada una de las variables por turno, las graficé, calculé estadísticas de resumen, etc. También calculé las correlaciones entre las variables numéricas.

Entre las cosas que encontré estaban:

  • Una variable categórica coincidía casi perfectamente con el objetivo.
  • Faltaban más de la mitad de sus valores en dos o tres variables.
  • Un par de variables tenían valores extremos extremos.
  • Dos de las variables numéricas estaban perfectamente correlacionadas.
  • etc.

Mi punto es que estas fueron cosas que se pusieron deliberadamente para ver si las personas las notarían antes de intentar construir un modelo. La compañía los puso porque son el tipo de cosas que pueden suceder en la vida real y afectan drásticamente el rendimiento del modelo.

Entonces sí, ¡EDA es importante cuando se hace aprendizaje automático!

Flounderer
fuente
8
Cuando doy tareas a los estudiantes, a menudo también lo hago ;-).
gung - Restablece a Monica
14

Obviamente, sí.

El análisis de datos podría llevarlo a muchos puntos que dañarían su modelo predictivo:

Datos incompletos

Suponiendo que estamos hablando de datos cuantitativos, tendrá que decidir si desea ignorar la columna (si faltan demasiados datos) o averiguar cuál será su valor "predeterminado" (media, modo, etc.). No puede hacer esto sin explorar primero sus datos.

Datos anormales

Digamos que tiene datos que están bastante correlacionados, pero hay un 2% de sus datos que está muy lejos de esta correlación. Es posible que desee eliminar estos datos por completo para ayudar a su modelo predictivo

Eliminar columnas con demasiada correlación

Ok, esto contradice un poco mi punto anterior, pero el inglés no es mi idioma principal, así que espero que lo entiendas.

Tomaré un ejemplo tonto, digamos que analiza el conjunto de datos de un estadio de fútbol y tiene Width, Length, Areacomo parámetros. Bueno, podemos imaginar fácilmente que estos tres parámetros estarán fuertemente correlacionados. Tener demasiada correlación entre su columna lleva al modelo predictivo en una dirección incorrecta. Puede decidir eliminar uno o más de los parámetros.

Encuentra nuevas funciones

Tomaré el ejemplo de la pequeña "Competencia" de Titanic Kaggle . Al mirar los nombres de las personas, puede darse cuenta de que puede extraer una característica que es la Titlede la persona. Esta característica resulta ser muy importante cuando se trata de modelar, pero te la habrías perdido si no analizaras tus datos primero.

Puede decidir agrupar sus datos continuos porque se siente más apropiado o convertir una característica continua en una categórica.

Encuentra qué tipo de algoritmo usar

No puedo dibujar tramas en este momento, pero hagamos de esto un ejemplo simple.

Imagine que tiene un modelo pequeño con una columna de características y una columna de "resultado" binario (solo 0 o 1). Desea crear un modelo de clasificación predictivo para este conjunto de datos.

Si, una vez más, como ejemplo, tuviera que trazarlo (así, analizar sus datos), podría darse cuenta de que el diagrama forma un círculo perfecto alrededor de su valor 1. En tal escenario, sería bastante obvio que podría usar un clasificador polinómico para tener un gran modelo en lugar de saltar directamente al DNN. (Obviamente, considerando que solo hay dos columnas en mi ejemplo, no es un excelente ejemplo, pero entiendes el punto)

En general, no puede esperar que un modelo predictivo funcione bien si no mira los datos primero.

IEatBagels
fuente
8

Una cosa importante hecha por EDA es encontrar errores de entrada de datos y otros puntos anómalos.

Otra es que la distribución de variables puede influir en los modelos que intenta ajustar.

Peter Flom - Restablece a Monica
fuente
8

Solíamos tener una frase en química:

" Dos semanas en el laboratorio pueden ahorrarle dos horas en Scifinder ".

Estoy seguro de que lo mismo se aplica al aprendizaje automático:

" Pasar dos semanas entrenando un neuralnet puede ahorrarle 2 horas mirando los datos de entrada ".

Estas son las cosas por las que pasaría antes de comenzar cualquier proceso de ML.

  • Trace la densidad de cada variable (continua). ¿Cómo se sesgan los números? ¿Necesito una transformación de registro para que los datos tengan sentido? ¿A qué distancia están los valores atípicos? ¿Hay algún valor que no tenga sentido físico o lógico?
  • Esté atento a las NA. Por lo general, puede descartarlos, pero si hay muchos de ellos, o si representan un aspecto crucial para el comportamiento del sistema, es posible que deba encontrar una forma de recrear los datos. Esto podría ser un proyecto en sí mismo.
  • Trace cada variable contra la variable de respuesta. ¿Qué sentido puede tener con solo mirarlo? ¿Hay curvas obvias que se puedan equipar con funciones?
  • Evaluar si necesita o no un modelo ML complicado en primer lugar. A veces, la regresión lineal es todo lo que realmente necesitas. Incluso si no lo es, proporciona un buen ajuste de referencia para que su modelo ML mejore.

Más allá de esos pasos básicos, no pasaría mucho tiempo adicional mirando los datos antes de aplicarles procesos de ML. Si ya tiene una gran cantidad de variables, las combinaciones no lineales complicadas de ellas se vuelven cada vez más difíciles no solo de encontrar, sino también de trazar y comprender. Este es el tipo de cosas que mejor maneja la computadora.

Ingolifs
fuente
6

Perspectiva estadística:

Dejando de lado los errores en la etapa de modelado, hay tres resultados probables de intentar la predicción sin primero hacer EDA:

  1. La predicción da resultados obvios sin sentido, porque sus datos de entrada violaron los supuestos de su método de predicción. Ahora debe regresar y verificar sus entradas para averiguar dónde se encuentra el problema, luego solucionar el problema y rehacer el análisis. Dependiendo de la naturaleza del problema, incluso puede que necesite cambiar sus métodos de predicción. (¿Qué quieres decir con que esta es una variable categórica ?)
  2. La predicción da resultados que son malos pero no obviamente malos, porque sus datos violaron los supuestos de una manera un poco menos obvia. O regresa y verifica esos supuestos de todos modos (en cuyo caso, vea el # 1 arriba) o acepta malos resultados.
  3. Afortunadamente, sus datos de entrada son exactamente lo que esperaba (entiendo que esto sucede ocasionalmente) y la predicción da buenos resultados ... lo cual sería genial, excepto que no puede distinguir la diferencia entre esto y # 2 arriba.

Perspectiva de gestión del proyecto:

Resolver problemas de datos puede tomar una cantidad considerable de tiempo y esfuerzo. Por ejemplo:

  • Los datos están sucios y debe dedicar tiempo a desarrollar procesos para limpiarlos. (Por ejemplo: el tiempo que tuve que codificar una autocorrección para todas las personas que siguen escribiendo el año equivocado en enero, y las personas que ingresan la fecha en el campo del año , y el sistema que analizaba las fechas como MM / DD / AAAA en lugar de DD / MM / AAAA.)
  • Debe hacer preguntas sobre el significado de los datos, y solo Joan puede responderlas. Joan se va de vacaciones por seis meses, comenzando dos semanas después de que comience su proyecto.
  • Las limitaciones de datos le impiden entregar todo lo que tenía la intención de entregar (vea el ejemplo de Bernhard de no poder producir análisis por sexo / género porque el conjunto de datos solo tenía una mujer) y usted / sus clientes deben averiguar qué hacer al respecto .

Cuanto antes pueda identificar tales problemas, mayores serán sus posibilidades de mantener su proyecto en el carril, terminar a tiempo y hacer felices a sus clientes.

Geoffrey Brent
fuente