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:
pdp
(B. M. Greenwell, 2022): Partial Dependence Plots (también implementa curvas ICE y es compatible concaret
).iml
(Molnar et al., 2018): Interpretable Machine Learning.DALEX
(Biecek, 2018): moDel Agnostic Language for Exploration and eXplanation.lime
(Hvitfeldt et al., 2022): Local Interpretable Model-Agnostic Explanations.vip
(B. M. Greenwell y Boehmke, 2020): Variable Importance Plots.vivid
(Inglis et al., 2023): Variable Importance and Variable Interaction Displays.ICEbox
(Goldstein et al., 2015): Individual Conditional Expectation Plot Toolbox.plotmo
(Milborrow, 2022): Plot a Model’s Residuals, Response, and Partial Dependence Plots.randomForestExplainer
(Paluszynska et al., 2017): Explaining and Visualizing Random Forests in Terms of Variable Importance.
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.