¿Alguien puede explicar las diferencias principales entre los árboles de inferencia condicional ( ctree
del party
paquete en R) en comparación con los algoritmos de árbol de decisión más tradicionales (como rpart
en R)?
- ¿Qué hace que los árboles de CI sean diferentes?
- ¿Fortalezas y debilidades?
Actualización: He mirado el artículo de Horthorn et al al que Chi se refiere en los comentarios. No pude seguirlo completamente. ¿Alguien puede explicar cómo se seleccionan las variables usando permutaciones (por ejemplo, qué es una función de influencia)?
¡Gracias!
r
machine-learning
cart
B_Miner
fuente
fuente
Respuestas:
Por lo que vale:
ambos
rpart
yctree
recursivamente realizan divisiones univariadas de la variable dependiente en función de los valores en un conjunto de covariables.rpart
y los algoritmos relacionados generalmente emplean medidas de información (como el coeficiente de Gini ) para seleccionar la covariable actual.ctree
, según sus autores (ver los comentarios de chl ) evita el siguiente sesgo de selección de variablesrpart
(y métodos relacionados): Tienden a seleccionar variables que tienen muchas divisiones posibles o muchos valores faltantes. A diferencia de los demás,ctree
utiliza un procedimiento de prueba de significación para seleccionar variables en lugar de seleccionar la variable que maximiza una medida de información (por ejemplo, el coeficiente de Gini).La prueba de significación, o mejor: las pruebas de significación múltiple calculadas en cada inicio del algoritmo (seleccionar covariable - elegir división - recurrencia) son pruebas de permutación , es decir, la "distribución del estadístico de prueba bajo la hipótesis nula se obtiene calculando todos los valores posibles del estadístico de prueba bajo reordenamientos de las etiquetas en los puntos de datos observados ". (del artículo de wikipedia).
Ahora para la estadística de prueba: se calcula a partir de las transformaciones (incluida la identidad, es decir, sin transformación) de la variable dependiente y las covariables. Puede elegir cualquiera de varias transformaciones para ambas variables. Para la DV (variable dependiente), la transformación se llama la función de influencia que estaba preguntando.
Ejemplos (tomados del documento ):
Pequeño ejemplo para una prueba de permutación en
R
:Ahora suponga que tiene un conjunto de covariables, no solo uno como el anterior. Luego calcule los valores p para cada una de las covariables, como en el esquema anterior, y seleccione la que tenga el valor p más pequeño . Desea calcular los valores p en lugar de las correlaciones directamente, ya que podría tener covariables de diferentes tipos (por ejemplo, numéricas y categóricas).
Una vez que haya seleccionado una covariable, ahora explore todas las divisiones posibles (o, a menudo, un número restringido de alguna manera de todas las divisiones posibles, por ejemplo, al requerir un número mínimo de elementos del DV antes de dividir) nuevamente evaluando una prueba basada en permutación.
ctree
viene con una serie de posibles transformaciones tanto para DV como para covariables (consulte la ayudaTransformations
en elparty
paquete).así que, en general, la principal diferencia parece ser que
ctree
utiliza un esquema de selección covariable que se basa en la teoría estadística (es decir, la selección mediante pruebas de significación basadas en permutación) y, por lo tanto, evita un sesgo potencialrpart
, de lo contrario, parecen similares; por ejemplo, los árboles de inferencia condicional se pueden usar como aprendices base para los bosques aleatorios.Esto es lo más lejos que puedo llegar. Para obtener más información, realmente necesita leer los periódicos. Tenga en cuenta que le recomiendo que sepa realmente lo que está haciendo cuando desea aplicar cualquier tipo de análisis estadístico.
fuente