Free Trial

Blog

Visiones e ideas de las mentes más brillantes en el campo del análisis.

Un modelo de ML con restricciones monotónicas es un tipo de modelo de aprendizaje automático (ML) que impone restricciones de monotonicidad a las variables de entrada. Monotonicidad significa que a medida que aumenta el valor de una variable, la salida del modelo siempre aumenta o siempre disminuye, si el resto de variables no cambian.

 

Estas restricciones son importantes porque pueden ayudar a mejorar la interpretabilidad del modelo al garantizar que el modelo se comporta de forma intuitiva y explicable. Por ejemplo, en algunas aplicaciones, es importante que las predicciones de un modelo aumenten o disminuyan a medida que aumentan determinadas características de entrada, como en la modelización del riesgo de crédito, en la que la probabilidad de impago debería aumentar a medida que aumenta el ratio deuda/ingresos (o debt-to-income) de un prestatario.

 

Además, los modelos con restricciones de monotonicidad pueden ser más robustos a los cambios en las variables y menos susceptibles de sufrir de sobreajuste u overfitting. Al obligar al modelo a comportarse de una determinada manera, también se reduce el riesgo de hacer predicciones poco razonables fuera del rango de los datos de entrenamiento, por lo que el modelo generaliza mejor.

 

En general, los modelos ML con restricciones monotónicas pueden proporcionar salvaguardas adicionales y mejor interpretabilidad que pueden ser importantes en determinadas aplicaciones.

 

Los sectores bancario y de seguros son grandes usuarios de modelos de ML que pueden necesitar restricciones monotónicas, con algunos ejemplos de casos de uso:

  • Modelos de calificación crediticia: En los modelos de calificación crediticia, la probabilidad de que un prestatario deje de pagar un préstamo debería aumentar a medida que disminuye su calificación crediticia. Por lo tanto, puede ser importante imponer una restricción de monotonicidad en la variable de la puntuación de crédito para garantizar que el modelo se comporta de una manera intuitiva y explicable.
  • Modelos de pricing de seguros: Los modelos de pricing de seguros suelen utilizar una serie de factores para determinar el perfil de riesgo de un asegurado, como la edad, el sexo o el historial de conducción. En algunos casos, ciertas variables deben presentar una relación monótona con la probabilidad de presentar un siniestro. Por ejemplo, en el seguro de automóvil, la probabilidad de sufrir un accidente aumenta a medida que aumenta el número de kilómetros recorridos.
  • Modelos de detección de fraudes: Los modelos de detección de fraudes en el sector bancario suelen utilizar una serie de datos transaccionales y de comportamiento para identificar posibles casos de fraude. En algunos casos, ciertas variables pueden tener una relación monótona con la probabilidad de fraude, como por ejemplo, un aumento repentino de la frecuencia o el importe de las transacciones, que puede ser indicativo de actividad fraudulenta.

Pero, por lo general, los datos, representados gráficamente con respecto a una variable que debería tener un efecto monótono, mostrarán en realidad algo parecido a esto:

 

IgnacioVilaplana_0-1678367770099.png

 

Esto se debe a que la realidad no es perfecta. Así que, en estos casos, es necesario poder imponer el efecto monotónico para algunas variables del modelo antes de que se apruebe para su uso en negocio.

 

Aunque las restricciones de monotonicidad pueden ser beneficiosas en muchos casos, también puede haber situaciones en las que aplicar la monotonicidad puede tener consecuencias no deseadas. Un ejemplo de un caso en el que la monotonicidad puede parecer una buena idea pero no serlo es en los modelos que implican interacciones entre variables. Por ejemplo, si consideramos un modelo que predice la satisfacción del cliente con un producto basándose en dos variables como el precio y la calidad. Se podría suponer que la satisfacción del cliente aumenta monotónicamente con la calidad, lo que significa que los productos de mayor calidad siempre conducen a una mayor satisfacción. Del mismo modo, se podría suponer que la satisfacción del cliente disminuye monotónicamente con el precio, lo que significa que los productos de menor precio siempre darán lugar a una mayor satisfacción. Sin embargo, en realidad, puede haber interacciones entre estas variables que hagan que las restricciones de monotonicidad sean menos efectivas. Por ejemplo, si el precio es demasiado bajo, los clientes pueden percibir que la calidad es baja, lo que conduce a una menor satisfacción. Por otra parte, si el precio es demasiado alto, los clientes pueden tener grandes expectativas de calidad y sentirse decepcionados si la calidad no cumple sus expectativas, lo que también conduce a una menor satisfacción. En este caso, la aplicación de restricciones de monotonicidad a cualquiera de las dos características por sí sola puede no captar las complejas interacciones entre precio y calidad y dar lugar a predicciones subóptimas.

 

Por lo tanto, es importante considerar cuidadosamente las relaciones entre las variables del modelo y sus objetivos generales antes de decidir aplicar restricciones de monotonicidad, y en cualquier caso, observar los efectos de las variables en todo su espectro antes de forzar este tipo de relaciones.

 

Hemos subido a la galería la nueva macro preparada para modelos de clasificación binaria. Es posible que publiquemos macros adicionales para problemas de clasificación multiclase o de regresión si hay interés en ello.

 

Además de la macro subida a la galería, hemos incluido dos flujos de trabajo en este post como ejemplos de cómo se puede utilizar la macro. Como conjunto de datos de demostración, hemos utilizado el conjunto de datos Titanic, que permite predecir la probabilidad de supervivencia de un pasajero basándose en su información demográfica. En este dataset, los pasajeros más jóvenes tienen más probabilidades de sobrevivir, por lo que hemos marcado la edad como una restricción monotónica decreciente. Podemos ver el efecto de tener esta restricción frente a no tenerla en la siguiente figura:

 

IgnacioVilaplana_1-1678368140436.png

 

Aunque la tendencia general siga siendo la misma, con la restricción monótona siempre se da el caso de que los pasajeros más jóvenes tienen más probabilidades de sobrevivir, en igualdad de condiciones, lo que reduce el posible sobreajuste y hace que el modelo sea más fácil de explicar. Esto puede incluso dar lugar a un modelo mejor por su capacidad de generalizar mejor.

 

La segunda variable marcada como restricción es el precio que el pasajero pagó por el billete. Se da el caso de que los pasajeros de clases más altas tenían más posibilidades de sobrevivir, por lo que podemos ver el efecto de marcar el precio del billete para una restricción de monotonicidad creciente:

 

IgnacioVilaplana_2-1678368194851.png

 

Esta macro ha sido probada con diferentes versiones de la librería Scikit-learn, por lo que debería funcionar en instalaciones Designer recién instaladas, pero funcionará mejor si la versión de esta librería Python es 1.0 o superior, especialmente con algunas variables que pueden tener un gráfico de dependencia parcial ausente en versiones inferiores de esta librería.

 

Y como siempre con los modelos de aprendizaje automático, por favor asegúrate de que entiendes los datos y el modelo y que un experto haya comprobado el modelo antes de usarlo en un escenario real.

 

¡Espero que esto sea útil para sus modelos!

Comentarios
Garabujo7
Alteryx
Alteryx

Hola Nacho, otra gran contribución y en un tema interesante para mejorar los modelos, apoyados con conocimiento de negocio.

Igual que tu macro anterior que aprovecha chatGPT, muy útil para mostrar las capacidades de nuestra plataforma.

 

Gabriel

Etiquetas