[算法]CHAID/Exhaustive CHAID算法迭代步骤
(2011-05-22 21:51:20)
标签:
宋体合成类合并连续变量分裂 |
分类: 数理统计 |
Chi-squared Automatic Interaction Detector
目标指标可以是顺序变量、名义变量和连续变量
解释指标要求是顺序变量或名义变量,假如输入变量是连续型的,则自动转化为顺序型的
CHAID算法迭代过程
合并步:
对于每个解释变量X,合并非显著差异的分类。如果X被选为分裂变量,X的各个最终分类将成为子节点。在分裂步用到的调整P值也是在这一步计算。
1、
2、
3、
4、
5、
6、
7、
8、
分裂步:
每个解释变量的最优分裂值已经在合并步中确定,分裂步则要确定哪个解释变量作为分裂节点。通过比较每个解释变量的调整P值可以确定最优分裂变量,调整P值在合并步中已经计算出来。
1、
2、
注:分裂步的P值和合并步的P值不同点在于合并步只需要一对分类计算P值,分裂步需要所有分类计算P值。
穷举型CHAID算法:
合并步使用了穷举搜索过程去合并任何一对相似类,直到只剩下一对。
合并步:
1、
2、
3、
4、
5、
6、
7、
8、
9、
注:和CHAID算法不同点在于,没有用户设定的显著水平a1和a2,只需要a3.
它的基本算法是一个不断合并和拆分的过程,每一个自变量每个水平都要两两配对比较,如果两个类别相似的话就划归为一类。相似的标准就是和正常的分布比较(即认为两类的响应率是一样的)进行χ2检验,如果比较的结果是没有差别的话,就合并为一组,如果有差别就不能够划分为一组。然而当合并完成后,还要考虑到拆分问题,因为我们只涉及两两比较,而没有考虑到多项比较,可能某些类别经过多元比较之后有差别但却分在同一类。拆分反复进行,直到每一个划分的类别中两两类别之间没有差异。
对等级和连续变量和类别的变量拆分标准是不一样的。对于类别数据拆分是两两比较,对于连续变量和等级变量,需要首先分析数据的分布趋势找到一些变化大的拐点,然后根据这样一些拐点进行拆分,之后只能是相邻的类别被合并,而不是每一个一样的点都被合并。比如,年龄为10岁的和年龄为55岁的人群,如果他们对因变量的预测是一样的,但是因为他们不相邻,所以他们会被划分到不同的类别当中。由于类别变量、等级变量以及连续变量的拆分方法不同,如果我们在研究中不做区分,结果会很不准确。