Cómo interpretar la disminución media de precisión y la disminución media de GINI en modelos de bosque aleatorio

34

Tengo algunas dificultades para comprender cómo interpretar la salida de importancia variable del paquete Random Forest. La disminución media en la precisión generalmente se describe como "la disminución en la precisión del modelo al permutar los valores en cada característica".

¿Es esta una declaración sobre la característica en su conjunto o sobre valores específicos dentro de la característica? En cualquier caso, ¿la disminución media de la precisión es el número o la proporción de observaciones que se clasifican incorrectamente al eliminar la característica (o los valores de la característica) en cuestión del modelo?

Digamos que tenemos el siguiente modelo:

require(randomForest)
data(iris)
set.seed(1)
dat <- iris
dat$Species <- factor(ifelse(dat$Species=='virginica','virginica','other'))
model.rf <- randomForest(Species~., dat, ntree=25,
importance=TRUE, nodesize=5)
model.rf
varImpPlot(model.rf)

Call:
 randomForest(formula = Species ~ ., data = dat, ntree = 25,
 proximity = TRUE, importance = TRUE, nodesize = 5)

Type of random forest: classification
Number of trees: 25
No. of variables tried at each split: 2

        OOB estimate of  error rate: 3.33%
Confusion matrix:
          other virginica class.error
other        97         3        0.03
virginica     2        48        0.04

ingrese la descripción de la imagen aquí

En este modelo, la tasa OOB es bastante baja (alrededor del 5%). Sin embargo, la disminución media en la precisión del predictor (Pétalo.Longitud) con el valor más alto en esta medida es solo alrededor de 8.

¿Significa esto que eliminar Petal.Length del modelo solo daría como resultado una clasificación errónea adicional de 8 o más observaciones en promedio?

¿Cómo podría ser la disminución media en la precisión del pétalo. Longitud tan baja, dado que es la más alta en esta medida y, por lo tanto, las otras variables tienen valores aún más bajos en esta medida?

FlacoT
fuente
pruebe dat <- iris [, c (2: 3,5)] y debería obtener valores de VI más altos
Soren Havelund Welling

Respuestas:

26

" ¿Es esta una declaración sobre la característica en su conjunto o sobre valores específicos dentro de la característica? "

  • La importancia de la variable "global" es la disminución media de la precisión en todas las predicciones cruzadas validadas, cuando una variable determinada se permuta después del entrenamiento, pero antes de la predicción. "Global" está implícito. La importancia variable local es la disminución media de la precisión por cada predicción cruzada individual fuera de bolsa validada. La importancia de la variable global es la más popular, ya que es un número único por variable, más fácil de entender y más robusto, ya que se promedia sobre todas las predicciones.

" En cualquier caso, ¿es la disminución media en la precisión el número o la proporción de observaciones que se clasifican incorrectamente al eliminar la característica (o los valores de la característica) en cuestión del modelo? "

  1. bosque del tren
  2. medir la precisión de CV fuera de bolsa → OOB_acc_base
  3. variable de permutar i
  4. medir la precisión de CV fuera de bolsa → OOB_acc_perm_i
  5. VI_i = - (OOB_acc_perm_i - OOB_acc_base)

- " ¿Esto significa que eliminar Petal.Length del modelo solo daría como resultado una clasificación errónea adicional de 8 o más observaciones en promedio? "

  • Sí. Tanto Petal.length como Petal.width solo tienen una separación lineal casi perfecta. Por lo tanto, las variables comparten información redundante y permutar solo una no obstruye el modelo.

" ¿Cómo podría ser la disminución media en la precisión del pétalo. Longitud tan baja, dado que es la más alta en esta medida y, por lo tanto, las otras variables tienen valores aún más bajos en esta medida? "

  • Cuando un modelo robusto / regularizado se entrena en variables redundantes, es bastante resistente a las permutaciones en variables individuales.

Utiliza principalmente la importancia variable principalmente para clasificar la utilidad de tus variables. Una interpretación clara de los valores absolutos de importancia variable es difícil de hacer bien.

GINI: La importancia de GINI mide la ganancia promedio de pureza por divisiones de una variable dada. Si la variable es útil, tiende a dividir los nodos etiquetados mixtos en nodos de clase única pura. La división por variables permutadas no tiende a aumentar ni disminuir la pureza de los nodos. Permutando una variable útil, tiende a dar una disminución relativamente grande en la ganancia media de gini. La importancia de GINI está estrechamente relacionada con la función de decisión local, que utiliza el bosque aleatorio para seleccionar la mejor división disponible. Por lo tanto, no toma mucho tiempo extra para calcular. Por otro lado, la ganancia media de gini en las divisiones locales no es necesariamente lo que es más útil para medir, al contrario del cambio del rendimiento general del modelo. La importancia de Gini es en general inferior a la importancia variable (basada en la permutación) ya que es relativamente más sesgada, más inestable y tiende a responder una pregunta más indirecta.

Soren Havelund Welling
fuente
Para una interpretación de importancia variable más allá de la clasificación simple, consulte: "Selección de variables bivariadas para problemas de clasificación" -Vivian W. Ng y Leo Breiman digitalassets.lib.berkeley.edu/sdtr/ucb/text/692.pdf
Soren Havelund Welling
¡Muchas gracias por su respuesta! He visto algunos lugares describir la disminución media en la precisión como el aumento en la tasa de error OOB (por lo tanto, un porcentaje). La fórmula que publicó también parece sugerir una tasa de error: (OOB_acc_perm_i - OOB_acc_base). ¿Pero está seguro de que la disminución media de la precisión se refiere al número de observaciones clasificadas incorrectamente?
FlacoT
1
Recuerde el signo menos al frente, ya que la importancia variable es una disminución. No era demasiado específico con las unidades, estas podrían expresarse en% o proporciones / proporciones puras, no importa. Pero sí, como precisión = 1-error_rate, VI_i = error_rate_perm_i - error_rate_base. Para la regresión, la importancia de la unidad de permutación variable es típicamente la disminución del% de varianza explicada y la unidad de importancia de Gini es la disminución media de la ganancia media_error_square_error. "¿Pero está seguro de que la disminución media de la precisión se refiere al número de observaciones clasificadas incorrectamente? " -No, la precisión es una fracción, no un recuento.
Soren Havelund Welling
10

Aquí está la descripción de la disminución media en la precisión (MDA) del manual de ayuda de randomForest:

La primera medida se calcula a partir de datos OOB permutantes: para cada árbol, se registra el error de predicción en la porción de la bolsa de datos (tasa de error para clasificación, MSE para regresión). Luego, se hace lo mismo después de permutar cada variable predictiva. La diferencia entre los dos se promedia sobre todos los árboles y se normaliza por la desviación estándar de las diferencias. Si la desviación estándar de las diferencias es igual a 0 para una variable, la división no se realiza (pero el promedio es casi siempre igual a 0 en ese caso).

Según la descripción, la "precisión" en MDA en realidad se refiere a la precisión de los modelos de árboles individuales , independientemente del hecho de que estamos más preocupados por la tasa de error del bosque . Asi que,

"¿Esto significa que eliminar Petal.Length del modelo solo daría como resultado una clasificación errónea adicional de 8 o más observaciones en promedio?"

  • Media (disminución de la precisión de los árboles)Desviación estándar (disminución de la precisión de los árboles)
  • Media (disminución de la precisión de los árboles)

H0 0:Nodos construidos por predictor yo es inútil en un solo árbol
H1:Nodos construidos por predictor yo es útil

Como observación, el procedimiento MDA descrito por Soren es diferente de la implementación del paquete randomForest. Está más cerca de lo que deseamos de una MDA: la disminución de la precisión de todo el modelo forestal. Sin embargo, el modelo probablemente se ajustará de manera diferente sin Pétalo. Longitud y dependerá más de otros predictores. Por lo tanto, la MDA de Soren sería demasiado pesimista.

Jianyu
fuente
Dos preguntas de seguimiento: 1. ¿Alguna idea de si otros paquetes usan el MDA más intuitivo descrito por @Soren? 2. Si la interpretación de MDA en RandomForest es como una estadística de prueba, ¿hay algo así como una regla general sobre qué estadística de prueba suficientemente grande es rechazar H0? ¿MDA sigue alguna distribución conocida?
FlacoT
1. Lo siento, no probé ningún otro paquete. 2. Es simplemente una estadística de prueba. Ni la distribución es accesible (por lo que sé, pocas personas analizaron esto) ni la prueba en sí misma es significativa: no creo que la prueba concluya nada sobre el BOSQUE, que es nuestro interés real.
Jianyu
4

Una reciente (publicación de blog) [ https://explained.ai/rf-importance/index.html] de un equipo de la Universidad de San Francisco muestra que las estrategias de importancia predeterminadas en R (randomForest) y Python (scikit) no son confiables en muchos escenarios de datos. Particularmente, la disminución media en la métrica de importancia de impurezas está sesgada cuando las variables predictoras potenciales varían en su escala de medición o su número de categorías.

Los artículos y la publicación de blog demuestran cómo se prefieren las variables de cardinalidad continua y alta en la disminución de la clasificación de importancia de impurezas, incluso si son igualmente poco informativas en comparación con las variables con menos categorías. Los autores sugieren utilizar la importancia de la permutación en lugar de la predeterminada en estos casos. Si las variables predictoras en su modelo están altamente correlacionadas, se sugiere la importancia de la permutación condicional.

La impureza está sesgada ya que cada vez que se selecciona un punto de ruptura en una variable, cada nivel de la variable se prueba para encontrar el mejor punto de ruptura. Las variables de cardinalidad continua o alta tendrán muchos más puntos de división, lo que resulta en el problema de "prueba múltiple". Es decir, existe una mayor probabilidad de que, por casualidad, esa variable prediga bien el resultado, ya que las variables, donde se intentan más divisiones, aparecerán con mayor frecuencia en el árbol.

usuario4959
fuente