¿Cuáles son las razones teóricas para no tratar los valores perdidos? Las máquinas de refuerzo de gradiente y los árboles de regresión manejan los valores perdidos. ¿Por qué no lo hace Random Forest?
Vamos a continuar esta discusión en el chat .
¿Cuáles son las razones teóricas para no tratar los valores perdidos? Las máquinas de refuerzo de gradiente y los árboles de regresión manejan los valores perdidos. ¿Por qué no lo hace Random Forest?
Gradient Boosting Trees utiliza árboles CART (en una configuración estándar, como fue propuesto por sus autores). Los árboles CART también se utilizan en los bosques aleatorios. Lo que dijo @user777 es cierto, que los árboles RF manejan los valores perdidos ya sea por imputación con promedio, ya sea por promedio/modo aproximado, ya sea por un promedio/modo basado en proximidades. Estos métodos fueron propuestos por Breiman y Cutler y se utilizan para la RF. Esta es una referencia de los autores Valores perdidos en el conjunto de entrenamiento .
Sin embargo, se puede construir un GBM o RF con otro tipo de árboles de decisión. El sustituto habitual de CART es C4.5, propuesto por Quinlan. En C4.5 los valores perdidos no se sustituyen en el conjunto de datos. En su lugar, la función de impureza calculada tiene en cuenta los valores perdidos penalizando la puntuación de impureza con la proporción de valores perdidos. En el conjunto de pruebas la evaluación en un nodo que tiene una prueba con valor perdido, la predicción se construye para cada nodo hijo y se agrega posteriormente (por ponderación).
Actualmente, en muchas implementaciones se utiliza C4.5 en lugar de CART. La razón principal es evitar un cálculo costoso (CART tiene enfoques estadísticos más rigurosos, que requieren más cálculo), los resultados parecen ser similares, los árboles resultantes son a menudo más pequeños (ya que CART es binario y C4.5 no). Sé que Weka utiliza este enfoque. No conozco otras bibliotecas, pero espero que no sea una situación singular. Si ese es el caso de su implementación de GBM, entonces esta sería una respuesta.
"¿Cuáles son las razones teóricas [para que la RF] no maneje los valores perdidos? Las máquinas de refuerzo de gradiente y los árboles de regresión manejan los valores perdidos. ¿Por qué no lo hace Random Forest?"
RF hace manejan los valores perdidos, pero no de la misma manera que CART y otros algoritmos de árboles de decisión similares. El usuario777 describe correctamente los dos métodos utilizados por RF para tratar los datos perdidos (imputación de la mediana y/o medida basada en la proximidad), mientras que Frank Harrell describe correctamente cómo se tratan los valores perdidos en CART (divisiones sustitutivas). Para más información, consulte los enlaces sobre el tratamiento de los datos perdidos para CART (o su primo FOSS: RPART ) y RF .
Una respuesta a su pregunta real se trata claramente, en mi opinión, en el artículo de Ishwaran et al. de 2008 titulado Bosques aleatorios de supervivencia . Proporcionan la siguiente explicación plausible de por qué la RF no maneja los datos que faltan de la misma manera que CART o clasificadores similares de árbol de decisión simple:
"Aunque la división por sustitución funciona bien para los árboles, el método puede no sea adecuado para los bosques. La velocidad es un problema. La búsqueda de una división de la división sustituta es intensivo desde el punto de vista computacional y puede ser inviable cuando cuando se cultiva un gran número de árboles, especialmente en el caso de los árboles totalmente saturados utilizados por los bosques. Además, las divisiones sustitutas pueden no tener sentido en un paradigma forestal. La RF selecciona aleatoriamente las variables al dividir un de un nodo y, como tal, las variables dentro de un nodo pueden no estar correlacionadas, y una una división sustituta razonable. Otra preocupación es que la división de sustitutos altera la interpretación de una variable, lo que afecta a medidas como la [Importancia de la variable].
Por estas razones, se requiere una estrategia diferente para la RF".
Esto es un aparte, pero para mí, esto pone en duda a los que afirman que la RF utiliza un conjunto de modelos CART. He visto esta afirmación en muchos artículos, pero nunca he visto que tales afirmaciones se basen en ningún texto autorizado sobre la RF. Por un lado, los árboles de una RF se cultivan sin poda que no suele ser el enfoque estándar cuando se construye un modelo CART. Otra razón sería la que usted alude en su pregunta: CART y otros conjuntos de árboles de decisión manejan los valores perdidos, mientras que la RF [original] no lo hace, al menos no internamente como lo hace CART.
Teniendo en cuenta estas advertencias, creo que se puede decir que la RF utiliza un conjunto de CART-like árboles de decisión (es decir, un montón de árboles sin podar, crecidos al máximo, sin la capacidad de manejar los datos que faltan mediante la división de sustitutos). Tal vez se trate de una de esas puntillosas diferencias semánticas, pero creo que merece la pena destacarla.
EDITAR : En mi comentario, que no está relacionado con la pregunta real, afirmé que "nunca he visto que esas afirmaciones se refieran a ningún texto autorizado sobre la RF". Resulta que Breiman DID indican específicamente que los árboles de decisión CART se utilizan en el algoritmo original de RF:
"El bosque aleatorio más sencillo con características aleatorias se forma seleccionando al azar, en cada nodo, un pequeño grupo de variables de entrada para dividir. Se hace crecer el árbol utilizando Metodología CART al tamaño máximo y no podar". [Énfasis mío]
Fuente: p.9 de Bosques aleatorios. Breiman (2001)
Sin embargo, todavía me mantengo (aunque de forma más precaria) en la idea de que son CART-like en el sentido de que crecen sin poda, mientras que un CART normalmente nunca se ejecuta en esta configuración, ya que es casi seguro que se ajustará demasiado a los datos (de ahí la poda en primer lugar).
El bosque aleatorio maneja los datos que faltan y hay dos formas distintas de hacerlo de hacerlo:
1) Sin imputación de los datos que faltan, pero proporcionando la inferencia. 2) Imputando los datos. Los datos imputados se utilizan para la inferencia.
Ambos métodos están implementados en mi paquete R randomForestSRC (coescrito con Udaya Kogalur). En primer lugar, es importante recordar que como los bosques aleatorios emplean la selección aleatoria de características los métodos tradicionales de datos perdidos utilizados por los árboles simples (CART y similares) no se aplican. y similares) no se aplican. Esta cuestión se planteó en Ishwaran et al. (2008), "Random Survival Forests", Anales de Estadística Aplicada , 2 , 3 y muy bien articulado por uno de los comentaristas.
El método (1) es un método de "imputación sobre la marcha" (OTFI). Antes de de dividir un nodo, los datos que faltan para una variable se imputan aleatoriamente los valores de los datos que no faltan en la bolsa. El objetivo de estos El propósito de estos datos imputados es hacer posible la asignación de casos a los nodos hijos en caso de que el nodo se divida en una variable con datos perdidos. Sin embargo, los datos imputados no se utilizan para calcular el estadístico de división que sólo utiliza los datos no ausentes. Tras una división de nodos, los datos imputados datos imputados se restablecen como datos ausentes y el proceso se repite hasta que se alcancen los nodos hasta que se alcancen los nodos terminales. OTFI preserva la integridad de los datos fuera de bolsa y, por lo tanto, los valores de rendimiento, como la importancia variable (VIMP) permanecen insesgados. El algoritmo OTFI se describió en Ishwaran et al (2008) y se implementó en el paquete retirado randomSurvivalForest y ahora se ha ampliado a randomForestSRC para aplicarlo a todas las familias (es decir, no sólo la de supervivencia).
El método (2) se implementa utilizando la función "impute" en randomForestSRC. Métodos de imputación no supervisados, aleatorios y multivariantes para la imputación de datos. Por ejemplo, la división multivariante generaliza el exitoso método de imputación missForest ( Stekhoven & Bühlmann (2012), "MissForest-non-parametric missing value imputation for mixed-type data", Bioinformática , 28 , 1 ). La llamada a la función de imputación con los datos que faltan devolverá un marco de datos imputado que puede ajustarse utilizando la función de bosque primario "rfsrc".
Una comparación detallada de los diferentes algoritmos de datos perdidos del bosque implementados mediante "imputación" se describió en un artículo reciente con Fei Tang "Algoritmos de datos perdidos del bosque aleatorio", 2017 . Recomiendo consultar los archivos de ayuda de "rfsrc" e "impute" de randomForestSRC para más detalles sobre la imputación y el OTFI.
¡Bienvenido a nuestro sitio! Ten en cuenta que tu nombre de usuario, identificador y un enlace a tu página de usuario se añaden automáticamente a cada mensaje que hagas, por lo que no es necesario que firmes tus mensajes. De hecho, preferimos que no lo hagas.
La partición recursiva utiliza divisiones sustitutivas basadas en predictores no ausentes que están correlacionados con el predictor que posee el valor ausente para una observación. Parece posible, en teoría, que se implementen bosques aleatorios que utilicen la misma idea. No sé si algún software de bosques aleatorios lo ha hecho.
El bosque aleatorio tiene dos métodos para tratar los valores perdidos, según Leo Breiman y Adele Cutler, que lo inventaron.
La primera es rápida y sucia: sólo rellena el valor de la mediana para las variables continuas, o el valor más común que no falta por clase .
El segundo método rellena los valores que faltan, luego ejecuta la RF y, para los valores continuos que faltan, la RF calcula la media ponderada por proximidad de los valores que faltan. Este proceso se repite varias veces. A continuación, el modelo se entrena una última vez utilizando el conjunto de datos calculados por RF.
Gracias por su respuesta. Pero, ambos métodos están reemplazando los valores que faltan. Pero en GBM o en los árboles de regresión los valores perdidos no reemplazan para nada. ¿Cuál es la diferencia teórica entre, por ejemplo, GBM y RF en este sentido?
No soy un experto en GBM, pero el manejo de los valores perdidos por parte de la RF parece estar arraigado en la idea de la imputación, es.wikipedia.org/wiki/Imputación_(estadística) En los casos en los que los valores que faltan no son aleatorios, los resultados pueden estar sesgados debido a la ausencia de valores. La imputación intenta recuperar estos valores perdidos y reducir el sesgo.
I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.
4 votos
Se manejan en el
party
Paquete R. Un artículo del blog aquí: exegetic.biz/blog/2013/05/