Comparación de modelos de aprendizaje automático

¿Es el modelo A o B más preciso? Hmm …

¿Izquierda o derecha?

Se ha trabajado mucho en la construcción y ajuste de modelos ML, pero una pregunta natural que surge después de tanto trabajo es: ¿cómo podemos comparar los modelos? has construido? Si nos enfrentamos a una elección entre los modelos A y B, ¿cuál es el ganador y por qué? ¿Se podrían combinar los modelos para lograr un rendimiento óptimo?

Un enfoque muy superficial sería comparar la precisión general en el conjunto de pruebas, por ejemplo, la precisión del modelo A es del 94% en comparación con la precisión del modelo B es del 95%, y Concluyo ciegamente que B ganó la carrera. De hecho, hay mucho más que la precisión general para investigar y más datos para considerar.

En esta publicación del blog, me encantaría compartir mis hallazgos recientes sobre la comparación de modelos. Me gusta usar un lenguaje sencillo al explicar estadísticas, por lo que este post es una buena lectura para aquellos que no son tan fuertes en estadísticas, pero que les encantaría aprender un poco más.

1. “Entienda” los datos

Si es posible, es una muy buena idea elaborar algunas parcelas que puedan decirle de inmediato lo que realmente está sucediendo. Parece extraño realizar cualquier trazado en este punto, pero los gráficos pueden proporcionarle algunas ideas que los números simplemente no pueden.

En uno de mis proyectos, mi objetivo era comparar la precisión de 2 modelos ML en la misma prueba se estableció al predecir los impuestos de los usuarios en sus documentos, así que pensé que sería una buena idea agregar los datos por la identificación del usuario y calcular la proporción de impuestos predichos correctamente para cada modelo.

El conjunto de datos que tenía era grande (100 K + instancias), por lo que desglosé el análisis por región y me centré en subconjuntos de datos más pequeños: la precisión puede diferir de un subconjunto a otro. Esta es generalmente una buena idea cuando se trata de conjuntos de datos ridículamente grandes, simplemente porque es imposible digerir una gran cantidad de datos a la vez, y mucho menos llegar a conclusiones confiables (más acerca de la cuestión del tamaño de la muestra más adelante ). Una gran ventaja de un conjunto de Big Data es que no solo tienes una cantidad de información increíble, sino que también puedes ampliar los datos y explorar lo que está sucediendo en un cierto subconjunto de píxeles.

Subconjuntos:

1: puntuaciones del modelo A frente al modelo B
2: puntuaciones del modelo A frente al modelo B
2: el modelo A claramente está mejor que B … ¡mire todas esas puntas!
3: el modelo A vs puntajes del modelo B

En este punto, sospechaba que a uno de los modelos le está yendo mejor en algunos subconjuntos, mientras que están haciendo casi el mismo trabajo en otros subconjuntos de datos. Este es un gran paso adelante simplemente comparando la precisión general. Pero esta sospecha podría investigarse más a fondo con prueba de hipótesis . Las pruebas de hipótesis pueden detectar diferencias mejor que el ojo humano: tenemos una cantidad limitada de datos en el conjunto de pruebas, y podemos preguntarnos cómo cambiará la precisión si comparamos los modelos en un conjunto de pruebas diferente. Lamentablemente, no siempre es posible crear un conjunto de pruebas diferente, por lo que conocer algunas estadísticas puede ser útil para investigar la naturaleza de las precisiones del modelo.

2. Prueba de hipótesis: ¡Hagámoslo bien!

A primera vista, parece trivial, y probablemente ya lo hayas visto antes:

  1. Configura H0 y H1
  2. Presenta una estadística de prueba, y asume Normal distribución fuera del azul
  3. De alguna manera, calcule el valor de p
  4. Si p <alpha = 0.05 rechaza H0, y ta-dam, ¡todo está listo!

En la práctica, la prueba de hipótesis es un poco más complicada y sensible. Lamentablemente, la gente lo usa sin mucha cautela y malinterpreta los resultados. ¡Hagámoslo juntos paso a paso!

Paso 1. Configuramos H0: la hipótesis nula = no diferencia estadísticamente significativa 2 modelos y H1: la hipótesis alternativa = existe una diferencia estadísticamente significativa entre la precisión de los 2 modelos: usted: modelo A! = B (dos cola) o modelo A modelo B (una cola)

Paso 2. Creamos una prueba-estadística de manera tal de cuantificar, dentro de los datos observados, comportamientos que distinguirían la hipótesis nula de la alternativa. Hay muchas opciones, e incluso los mejores estadísticos podrían no tener ni idea de un número X de pruebas estadísticas, ¡y eso es totalmente correcto! Hay demasiados supuestos y hechos que considerar, por lo que una vez que conozca sus datos, puede elegir el correcto. El punto es entender cómo funcionan las pruebas de hipótesis, y la estadística de prueba real es solo una herramienta que es fácil de calcular con un software.

Tenga cuidado de que hay un montón de suposiciones que deben cumplirse antes de aplicar cualquier prueba estadística . Para cada prueba, puede buscar los supuestos requeridos; Sin embargo, la gran mayoría de los datos de la vida real no cumplirán estrictamente todas las condiciones, ¡así que siéntase libre de relajarlos un poco! Pero, ¿qué pasa si sus datos, por ejemplo, se desvían seriamente de la distribución Normal?

Hay 2 grandes familias de pruebas estadísticas: pruebas paramétricas y no paramétricas y lo recomiendo altamente leyendo un poco más sobre ellos aquí . Lo mantendré corto: la principal diferencia entre los dos es el hecho de que las pruebas paramétricas requieren ciertas suposiciones sobre la distribución de la población, mientras que las pruebas no paramétricas son un poco más sólidas ( sin parámetros, por favor! ).

En mi análisis, inicialmente quería usar la prueba t pareada de pero mis datos claramente no se distribuyeron normalmente, así que fui por la Wilcoxon prueba de rango con signo (equivalente no paramétrico de la prueba t de muestras pareadas). Depende de usted decidir qué estadística de prueba usará en su análisis, pero siempre asegúrese de que se cumplan las suposiciones .

Mis datos no se distribuyeron normalmente: (

Paso 3. Ahora el valor p. El concepto de valor p es algo abstracto, y apuesto a que muchos de ustedes han usado valores p antes, pero aclaremos lo que realmente es un valor p: un valor p es solo un número que mide la evidencia contra H0: cuanto más fuerte es la evidencia contra H0, menor es el valor p. Si su valor p es lo suficientemente pequeño, tiene suficiente crédito para rechazar H0.

Afortunadamente, el valor p se puede encontrar fácilmente en R / Python, por lo que no es necesario que te tortures y lo hagas manualmente, y aunque he estado usando Python principalmente, prefiero hacer pruebas de hipótesis en R ya que hay más opciones A continuación hay un fragmento de código. Vemos que en el subconjunto 2, de hecho obtuvimos un pequeño valor p, pero el intervalo de confianza es inútil.

> wilcox.test (datos1, datos2, conf.int = VERDADERO, alternativa = "mayor", pareado = VERDADERO, conf.nivel = .95, exacto = FALSO)
 V = 1061.5, p-valor = 0.008576 
 hipótesis alternativa: el cambio de ubicación real es menor que 0 
 intervalo de confianza del 95%: 
 -Inf -0.008297017 
 estimaciones de muestra: 
 (pseudo) mediana 
 -0.02717335

Paso 4. Paso 4. Muy directo: si p-valor <alfa preespecificado (0.05, tradicionalmente), puede rechazar H0 a favor de H1. De lo contrario, no hay pruebas suficientes para rechazar H0, ¡lo que no significa que H0 no sea cierto! De hecho, puede que aún sea cierto, pero simplemente no hubo pruebas suficientes para rechazarlo, según el datos. Si alfa es 0.05 = 5%, eso significa que solo existe un riesgo del 5% de concluir que existe una diferencia cuando en realidad no lo hace (también conocido como error de tipo 1 ). Puede que se esté preguntando: ¿por qué no podemos ir por alfa = 1% en lugar de 5%? Es porque el análisis será más conservador, por lo que será más difícil rechazar H0 (y nuestro objetivo es rechazarlo).

Los alfas más utilizados son el 5%, el 10% y el 1%. ¡Pero puedes elegir cualquier alfa que quieras! Realmente depende de cuánto riesgo esté dispuesto a tomar.

¿Puede el alfa ser 0% (es decir, sin posibilidad de error de tipo 1)? No 🙂 En realidad, siempre existe la posibilidad de cometer un error, por lo que no tiene sentido elegir el 0%. Siempre es bueno dejar espacio para errores.

Si quieres jugar y p-hack puedes aumentar tu alfa y rechazar H0, pero luego te conformas con un nivel de confianza más bajo ( a medida que aumenta el alfa, el nivel de confianza disminuye, no se puede tener todo :)).

3. Análisis post-hoc: significado estadístico versus práctico

Si obtiene un valor p ridículamente pequeño, eso significa que existe una diferencia estadísticamente significativa entre la precisión de los 2 modelos. Anteriormente, de hecho obtuve un valor p pequeño, por lo que matemáticamente hablando, los modelos difieren con seguridad, pero ser “significativo” no implica ser importante . ¿Esa diferencia realmente significa algo? ¿Es esa pequeña diferencia relevante para el problema comercial?

La significación estadística se refiere a la improbabilidad de que las diferencias medias observadas en la muestra hayan ocurrido debido a un error de muestreo. Dada una muestra lo suficientemente grande, a pesar de las diferencias de población aparentemente insignificantes, todavía se puede encontrar una significación estadística. Por otro lado, significado práctico analiza si la diferencia es lo suficientemente grande como para ser valiosa en un sentido práctico. Si bien la significación estadística está estrictamente definida, la significación práctica es más intuitiva y subjetiva.

En este punto, es posible que te hayas dado cuenta de que los valores de p no son tan poderosos como puedes pensar. Hay más por investigar. Sería genial considerar también el tamaño del efecto . El tamaño del efecto mide la magnitud de la diferencia: si hay una diferencia estadísticamente significativa, es posible que estemos interesados ​​en su magnitud . Tamaño del efecto enfatiza el tamaño de la diferencia en lugar de confundirla con el tamaño de la muestra.

> abs (qnorm (p-value)) / sqrt (n)
 0.14
 # el efecto el tamaño es pequeño

¿Qué se considera un tamaño de efecto pequeño, mediano o grande? Los cortes tradicionales son 0.1, 0.3, 0.5 respectivamente, pero nuevamente, esto realmente depende de su problema comercial.

¿Y cuál es el problema con el tamaño de la muestra? Bueno, si su muestra es demasiado pequeña, entonces sus resultados no serán confiables, pero eso es trivial. ¿Qué pasa si el tamaño de su muestra es demasiado grande? Esto parece increíble, pero en ese caso incluso las diferencias ridículamente pequeñas podrían detectarse con una prueba de hipótesis. Hay tantos datos que incluso las pequeñas desviaciones podrían percibirse como significativas. Es por eso que el tamaño del efecto se vuelve útil.

Hay más que hacer: podríamos intentar encontrar la potencia o la prueba y el tamaño de muestra óptimo. Pero estamos bien por ahora.

La prueba de hipótesis podría ser realmente útil en la comparación de modelos si se hace correctamente. Configurar H0 y H1, calcular el estadístico de prueba y encontrar el valor p es un trabajo de rutina, pero la interpretación de los resultados requiere cierta intuición, creatividad y una comprensión más profunda del problema empresarial. Recuerde que si la prueba se basa en un conjunto de pruebas muy grande, las relaciones encontradas estadísticamente significativas pueden no tener mucha importancia práctica . No confíe ciegamente en esos valores p mágicos: ¡hacer zoom en los datos y realizar un análisis post-hoc siempre es una buena idea! 🙂

No dude en comunicarse con mi correo electrónico correo electrónico o LinkedIn siempre estoy dispuesto a conversar sobre Data Science!


Comparación de modelos de aprendizaje automático: estadísticas Importancia práctica se publicó originalmente en Hacia la ciencia de datos en Medio, donde las personas continúan la conversación al resaltar y responder a esta historia.

Dejá un comentario