A nivel de modelo, para evaluar la contribución / importancia del predictor podemos usar:
- Técnicas específicas del modelo: por ejemplo, pureza (índice de Gini) para un modelo basado en árboles, coeficientes del modelo cuando corresponda, etc.
- Técnicas independientes del modelo, por ejemplo, importancia de la característica de permutación, dependencia parcial, etc.
Lo que esto no transmite es para una predicción particular (digamos una clasificación binaria que proporciona una probabilidad de 92% de pertenencia a la clase 1) qué predictores fueron los más "influyentes" en la producción de esa predicción.
Habiendo pensado un poco en este problema, me parece que hay algunos enfoques que podrían tomarse:
- Técnicas específicas del modelo: por ejemplo, coeficientes de modelos lineales aplicables, técnicas como las descritas aquí para decir XGBoost ( https://medium.com/applied-data-science/new-r-package-the-xgboost-explainer-51dd7d1aa211 )
- Técnicas independientes del modelo: por ejemplo, algún tipo de "método de perturbación" similar a la dependencia parcial para comprender cómo cambia la predicción cuando perturbamos el predictor y tal vez modelamos eso ?, o técnicas como LIME descritas en este documento ( https://arxiv.org/ pdf / 1602.04938.pdf y https://github.com/marcotcr/lime ), ¿una técnica modificada de importancia de permutación?
Me parece que el enfoque más valioso sería una técnica independiente del modelo dada la naturaleza algo "caja negra" de muchos algoritmos, y que proporciona la capacidad de interpretar nuevos y nuevos algoritmos y técnicas.
Un método ingenuo, descrito aquí ( http://amunategui.github.io/actionable-instights/index.html ) es tomar cada predictor, "neutralizar" su impacto, por ejemplo imputando la media de "población", y ejecutar la predicción nuevamente obteniendo una diferencia entre la predicción original y la versión neutralizada que proporciona una medida de importancia. Este parece un caso especial de un tipo de método de "perturbación" insinuado anteriormente. Un par de defectos que veo en esto son que 1) parece implicar que una predicción que tiene la "media" (o equivalente) de cada característica es necesariamente una predicción "media", y 2) que las características que son "significa" "(O equivalente) no son necesariamente impactantes?
Más generalmente, cualquier técnica debería tener en cuenta:
- Cómo manejar diferentes tipos de datos (numéricos, categóricos, etc.)
- Cómo manejar datos faltantes
- Tal vez cómo manejar la importancia condicional (es decir, que los predictores solo pueden ser importantes en pares, etc.)
- Eficiencia computacional (¿es realmente práctico hacer una predicción? tiempos donde es el número de predictores, o para un método de perturbación dónde es el número de predicciones por predictor, etc.)
Con esos pensamientos sueltos y tal vez incorrectos sobre el asunto establecidos, me pregunto qué enfoques del problema conocen, consideran, utilizan, aconsejan, etc.
fuente
Otros dos métodos que vale la pena mencionar aquí son:
1) El algoritmo SHAP de Lundberg y Lee , una extensión del enfoque teórico del juego de Štrumbelj y Kononenko que, según ellos, unifica LIME y una serie de otras medidas de importancia local; y
2) Wachter et al. Método contrafactual de , Basado en redes generativas de confrontación.
Ambos métodos tienen ventajas y desventajas. SHAP es muy rápido y viene con un fácil de usar implementación de Python . Lamentablemente, sin embargo, siempre compara los puntos con el centroide de datos, que puede no ser el contraste relevante en algunos casos. Además, al igual que LIME y una serie de otros algoritmos, asume (o impone) linealidad local, lo que puede conducir a resultados inestables o poco informativos cuando nuestro caso de interés está cerca de una región claramente no lineal del límite de decisión o superficie de regresión.
La solución de Wachter et al. Es más flexible a este respecto, una desviación refrescante de lo que Lundberg y Lee llaman el paradigma de "atribución de características aditivas". Sin embargo, no conozco ninguna implementación de código abierto. La sobrecarga adicional de la capacitación GAN también puede ser extremadamente onerosa para algunos conjuntos de datos.
fuente