条件推理树与传统决策树


97

谁能解释条件推理树(ctree来自partyR中的程序包)与更传统的决策树算法(诸如rpartR中)的主要区别?

  1. 是什么使CI树与众不同?
  2. 长处和短处?

更新:我看了Chi在评论中提到的Horthorn等人的论文。我无法完全遵循它-谁能解释一下如何使用排列选择变量(例如什么是影响函数)?

谢谢!


1
您的意思是超出Hothorn论文描述范围的解释吗?我记得在IMPS2009会议上Carolin Strobl的一些精美插图;我认为她的网站上有一些讲义。
chl

该链接显示了各种形式的决策树软件包之间的比较r-bloggers.com/a-brief-tour-of-the-trees-and-forests
Archpaul

Answers:


93

物有所值:

二者rpartctree递归地执行单变量分割基于值的一组协变量的因变量的。rpart相关算法通常采用信息量度(例如基尼系数)来选择当前协变量。

ctree,根据其作者(请参阅chl的评论),避免了以下rpart(和相关方法)的变量选择偏差:他们倾向于选择具有许多可能的分割或许多缺失值的变量。与其他方法不同,ctree使用显着性检验程序来选择变量,而不是选择最大化信息量度(例如基尼系数)的变量。

显着性检验,或更好:显着性检验是在算法的每个开始时计算的(选择协变量-选择拆分-递归)是置换检验,也就是说,“零假设下检验统计量的分布是通过计算在观察到的数据点上的标签重新排列下,测试统计信息的所有可能值。” (摘自Wikipedia文章)。

现在是检验统计量:它是根据因变量和协变量的变换(包括同一性,即无变换)计算出来的。您可以为两个变量选择多种转换中的任何一种。对于DV(因变量),该转换称为您要询问的影响函数

示例(摘自本文):

  • 如果DV和协变量均为数字,则可以选择恒等变换并计算协变量和DV值的所有可能排列之间的相关性。然后,计算p从这个置换检验-值,并将它与比较p -值对其他协变量。
  • 如果DV和协变量均为名义(无序分类),则从列联表中计算出检验统计量。
  • 您可以根据此一般方案通过任何类型的转换(包括身份转换)轻松组成其他类型的测试统计信息。

排列测试的一个小例子R

require(gtools)
dv <- c(1,3,4,5,5); covariate <- c(2,2,5,4,5)
# all possible permutations of dv, length(120):
perms <- permutations(5,5,dv,set=FALSE) 
# now calculate correlations for all perms with covariate:
cors <- apply(perms, 1, function(perms_row) cor(perms_row,covariate)) 
cors <- cors[order(cors)]
# now p-value: compare cor(dv,covariate) with the 
# sorted vector of all permutation correlations
length(cors[cors>=cor(dv,covariate)])/length(cors)
# result: [1] 0.1, i.e. a p-value of .1
# note that this is a one-sided test

现在假设您有一组协变量,不仅是上面的一个。然后计算p -值对每个像在上述方案中的协变量,并选择具有最小p -值。您想要直接计算p值而不是相关性,因为您可能拥有不同种类的协变量(例如,数值和分类)。

选择协变量后,现在探索所有可能的分割(或者通常以某种方式限制所有可能的分割,例如,在分割之前需要最少数量的DV元素),再次评估基于置换的测试。

ctree附带了一些两个DV和协变量可能的变换(见的帮助Transformationsparty包)。

因此,通常的主要区别似乎是ctree使用基于统计理论的协变量选择方案(即通过基于排列的显着性检验进行选择),从而避免了的潜在偏差rpart,否则它们看起来很相似。例如,条件推理树可以用作随机森林的基础学习者。

据我所知。有关更多信息,您确实需要阅读论文。请注意,我强烈建议您真正了解要应用任何类型的统计分析时的操作。


因此,可以这样说:1.原则上,如果有显着性检验并且对于Gini而言易于计算,那么任何当前的决策树构建者都可以用这些来扩充;2.但实际上,在大多数情况下它们不可用(即,计算非常困难/效率低下);3. CI树的作者选择了一个划分标准族。这不一定是分类准确度的最佳选择,但至少因为它很容易计算出重要性。4.因此,CI树的弱点是您需要使用此特定条件吗?
SheldonCooper

1
@SheldonCooper:1.和2.可能让我有些头疼。我认为你是正确约3和4
wolf.rauch

1
(...)以及DV值的所有可能排列” DV值的所有可能排列?找到10个元素的所有可能排列需要花费130秒的时间。这将使CI树在您拥有超过20观察–由主持人添加
chl 2014年

1
对不起,DV代表什么?
mythicalprogrammer

1
@mythicalprogrammer因变量,我认为
Frikster
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.