Interacciones y selección de modelos
Desafortunadamente, el concepto de interacción, muy habitual en modelización estadística, no ha penetrado la literatura del llamado ML. Esencialmente, el concepto de interacción recoge el hecho de que un fenómeno puede tener un efecto distinto en subpoblaciones distintas que se identifican por un nivel en una variable categórica.
El modelo lineal clásico,
$$ y \sim x_1 + x_2 + \dots$$
no tiene en cuenta las interacciones (aunque extensiones suyas, sí, por supuesto).
El motivo de esta entrada es ofrecer cierta intuición sobre qué modelos son más adecuados para modelar un fenómeno en función de la importancia esperada de las interacciones. O mejor dicho, de cómo de heterogéneo es el modelo en categorías distintas de la población. Voy a establecer tres niveles:
- Nivel
lm
: Pocas interacciones y fáciles de intuir. Se introducen en el modelo a mano. (Obviamente,lm
es una etiqueta que puede extenderse a cantidad de generalizaciones suyas, de los GLMs, a los GAM, a los…). - Nivel random forest: Nivel intermedio de interacciones, imposibles de predeterminar. Los árboles son modelos que, esencialmente, detectan interacciones entre variables y funcionan mal con efectos aditivos. Todas sus extensiones entran en esta categoría.
- Nivel k-vecinos: Esencialmente, todo es interacción y para qué crear ramas usando árboles cuando cada observación define de alguna manera, la suya.
La distinción entre los dos últimos niveles es sutil y depende entre otras consideraciones, del número de niveles de las variables categóricas que definen los cortes. Además, gran parte del software para ajustar rrff hace tonterías con las variables categóricas (sí, el llamado one hot encoding es un tiro en el pie).
Y esto viene al caso de unos modelos que estoy haciendo en el que trato de combinar k-vecinos para seleccionar una submuestra relevante y lmer
para rematar la faena. A ver.