1.5 Análisis e interpretación de los modelos

El análisis e interpretación de modelos es un campo muy activo en AE/ML, para el que recientemente se ha acuñado el término de interpretable machine learning (IML). A continuación, se resumen brevemente algunas de las principales ideas; para más detalles ver por ejemplo Molnar (2023).

Como ya se comentó, a medida que aumenta la complejidad de los modelos generalmente disminuye su interpretabilidad, por lo que normalmente interesa encontrar el modelo más simple posible que resulte de utilidad para los objetivos propuestos. Aunque el objetivo principal sea la predicción, una vez obtenido el modelo final suele interesar medir la importancia de cada predictor en el modelo y, si es posible, cómo influye en la predicción de la respuesta, es decir, estudiar el efecto de las variables explicativas. Esto puede presentar serias dificultades, especialmente en modelos complejos en los que hay interacciones entre los predictores (el efecto de una variable explicativa depende de los valores de otras).

La mayoría de los métodos de aprendizaje supervisado permiten obtener medidas de la importancia de las variables explicativas en la predicción (ver por ejemplo la ayuda de la función caret::varImp(); en algunos casos, como los métodos basados en árboles, incluso de las variables no incluidas en el modelo final). Muchos de los métodos de clasificación, en lugar de proporcionar medidas globales, calculan medidas para cada categoría. Alternativamente, también se pueden obtener medidas de la importancia de las variables mediante procedimientos generales, en el sentido de que se pueden aplicar a cualquier modelo, pero suelen requerir de mucho más tiempo de computación (ver Molnar, 2023, Capítulo 5).

En algunos de los métodos se modelan explícitamente los efectos de los distintos predictores y estos se pueden analizar con (más o menos) facilidad. Hay que tener en cuenta que, al margen de las interacciones, la colinealidad/concurvidad dificulta notablemente el estudio de los efectos de las variables explicativas. Otros métodos son más del tipo “caja negra” (black box) y precisan de aproximaciones más generales, como los gráficos PDP (Partial Dependence Plots, Friedman y Popescu, 2008; ver también B. M. Greenwell, 2017), o las curvas ICE (Individual Conditional Expectation, p. ej. Goldstein et al., 2015). Estos métodos tratan de estimar el efecto marginal de las variables explicativas y son similares a los gráficos parciales de residuos, habitualmente empleados en los modelos lineales o aditivos (ver las funciones termplot(), car::crPlots() o car::avPlots(), Sección 6.4, y mgcv::plot.gam(), Sección 7.3), que muestran la variación en la predicción a medida que varía una variable explicativa manteniendo constantes el resto (algo que tiene sentido si asumimos que los predictores son independientes); pero en este caso se admite que el resto de los predictores también pueden variar.

En el caso de los gráficos PDP, se tiene en cuenta el efecto marginal de los demás predictores del modelo. Suponiendo que estamos interesados en un conjunto \(\mathbf X^S\) de predictores, de forma que \(\mathbf X = [\mathbf X^S, \mathbf X^C]\) y \(f_{\mathbf X^C}(\mathbf x^C) = \int f(\mathbf x) d\mathbf x^S\) es la densidad marginal de \(\mathbf X^C\), se trata de aproximar: \[\hat Y_S(\mathbf x^S) = E_{\mathbf X^C}\left[\hat{Y}(\mathbf x^S,\mathbf X^C)\right]=\int\hat{Y}(\mathbf x^S,\mathbf x^C)f_{\mathbf X^C}(\mathbf x^C)d\mathbf x^C\] mediante: \[\hat{y}_{\mathbf x^S}(\mathbf x^S)=\frac{1}{n}\sum_{i=1}^n\hat{y}(\mathbf x^S, \mathbf x^C_i)\] donde \(n\) en el tamaño de la muestra de entrenamiento y \(\mathbf x^C_i\) son los valores observados de las variables explicativas en las que no estamos interesados. La principal diferencia con los gráficos ICE es que, en lugar de mostrar una única curva promedio de la respuesta, estos muestran una curva para cada observación (ver p. ej. Molnar, 2023, pp. Sección 9.1). En la Sección 4.3.2 se incluyen algunos ejemplos.

La teoría de juegos cooperativos y las técnicas de optimización de investigación operativa también se están utilizando, en problemas de clasificación, para evaluar la importancia de las variables predictoras y determinar las más influyentes. Por citar algunos, Strumbelj y Kononenko (2010) proponen un procedimiento general basado en el valor de Shapley de juegos cooperativos (ver p. ej. Molnar, 2023, pp. Sección 9.5, o ?iml::Shapley()), y en Agor y Özaltın (2019) se propone el uso de algoritmos genéticos para determinar los predictores más influyentes.

Entre los paquetes de R que incorporan herramientas de este tipo podríamos destacar:

También pueden ser de utilidad las funciones caret::varImp() y h2o::h2o.partialPplot(). En los siguientes capítulos se mostrarán ejemplos empleando algunas de estas herramientas.

Bibliografía

Agor, J., y Özaltın, O. Y. (2019). Feature selection for classification models via bilevel optimization. Computers and Operations Research, 106, 156-168. https://doi.org/10.1016/j.cor.2018.05.005
Biecek, P. (2018). DALEX: Explainers for Complex Predictive Models in R. Journal of Machine Learning Research, 19(84), 1-5. https://jmlr.org/papers/v19/18-416.html
Friedman, J., y Popescu, B. E. (2008). Predictive learning via rule ensembles. The Annals of Applied Statistics, 2(3), 916-954. https://doi.org/10.1214/07-aoas148
Goldstein, A., Kapelner, A., Bleich, J., y Pitkin, E. (2015). Peeking Inside the Black Box: Visualizing Statistical Learning With Plots of Individual Conditional Expectation. Journal of Computational and Graphical Statistics, 24(1), 44-65. https://doi.org/10.1080/10618600.2014.907095
Greenwell, B. M. (2017). pdp: An R Package for Constructing Partial Dependence Plots. The R Journal, 9(1), 421-436. https://doi.org/10.32614/RJ-2017-016
Greenwell, B. M. (2022). pdp: Partial Dependence Plots. https://cran.r-project.org/package=pdp
Greenwell, B. M., y Boehmke, B. C. (2020). Variable Importance Plots–An Introduction to the vip Package. The R Journal, 12(1), 343-366. https://doi.org/10.32614/RJ-2020-013
Hvitfeldt, E., Pedersen, T. L., y Benesty, M. (2022). lime: Local Interpretable Model-Agnostic Explanations. https://CRAN.R-project.org/package=lime
Inglis, A., Parnell, A., y Hurley, C. (2023). vivid: Variable Importance and Variable Interaction Displays. https://cran.r-project.org/package=vivid
Milborrow, S. (2022). plotmo: Plot a Model’s Residuals, Response, and Partial Dependence Plots. https://cran.r-project.org/package=plotmo
Molnar, C. (2023). Interpretable Machine Learning: A Guide for Making Black Box Models Explainable. Lulu.com. https://christophm.github.io/interpretable-ml-book. https://christophm.github.io/interpretable-ml-book
Molnar, C., Bischl, B., y Casalicchio, G. (2018). iml: An R package for Interpretable Machine Learning. Journal of Open Source Software, 3(26), 786. https://doi.org/10.21105/joss.00786
Paluszynska, A., Biecek, P., y Jiang, Y. (2017). randomForestExplainer: Explaining and visualizing random forests in terms of variable importance. R package version 0.9.
Strumbelj, E., y Kononenko, I. (2010). An efficient explanation of individual classifications using game theory. The Journal of Machine Learning Research, 11, 1-18.