我对决策树还很陌生。当我在二进制、分类变量和家庭规模之间进行卡方检验时,我使用 R 中“fifer”包中的 Bonferroni 控制方法从事后分析中得到以下 p 值和随后的成对 p 值,其中使用 Fisher 检验:
X-squared = 29.546, df = 4, p-value = 6.055e-06
comparison raw.p adj.p
1 0 vs. 1 0.0000 0.0000
2 0 vs. 2 0.2254 0.3220
3 0 vs. 3 0.5956 0.6618
4 0 vs. 4 0.1354 0.2707
5 1 vs. 2 0.5475 0.6618
6 1 vs. 3 0.0367 0.1223
7 1 vs. 4 0.0028 0.0140
8 2 vs. 3 0.2076 0.3220
9 2 vs. 4 0.0579 0.1448
10 3 vs. 4 0.6815 0.6815
然而,当我基于相同的数据创建决策树时,使用'method = “class”',并在 R 的 rpart 包中使用 cp = .01 的 gini 分割标准,树以家庭大小 1 分割(因为我会根据上表预期),然后是 3(不是我根据上表所期望的),然后是 2。我曾预计树分裂与卡方表对齐,这意味着它会分裂重要性顺序,即在 1 处拆分然后在 4 处拆分。这是不正确的思路吗?如果是这样,为什么?我的印象是这两种方法都使用相同的测试来确定重要性,并且决策树会相应地拆分,但这似乎不正确。
我已经在 Stackoverflow 以及其他在线地方进行了研究。我遇到了这篇文章,这似乎证实了我的想法,但我仍然不确定为什么我会得到不同的结果。