全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
3630 0
2017-06-14
如何对分类变量进行量化,这个在回归建模或求距离的时候经常遇见。在此,我把这个问题分解成三个子问题,如下:
(1)对有序分类变量的量化。
(2)对逻辑变量的量化。
(3)对无序分类变量的量化。
    首先,对有序分类变量的量化,这个比较简单,常用顺序编号代替具体的分类来量化。比如一次比赛有三个名次。小明得了第一名,小强得了第三名,小方得了第二名。对于这种情况,小明、小强、小方的名次可以用一个向量来表示A=(第一名,第三名,第二名)。为A编号得到向量B=(1,3,2)。在进行分析时,我们直接使用B就可以了。这是针对有序分类变量量化的一种处理思路。
     其次,对于逻辑变量的量化,我们直接将逻辑值分别用0或1表示即可。但是需要注意到具体属性的业务含义,以免弄错。比如,属性‘是否男生’,对于值(男,女,男)这样的值,可以得到量化后的值(1,0,1)。同样的序列,如果针对属性‘是否女生’,则它的量化结果为(0,1,0)。这两个量化结果是完全不一样的。马上就会有人提出这样的问题,”如果属性不是逻辑判断,而是<性别>,那该怎么量化呢“,这其实是接着下面要讨论的量化方法。
     最后,这里简单介绍一种针对无序分类变量的量化方法。就拿上一段落的一个问题来说,男和女表示性别,然后对这样的一个序列(男,女,男,男)该如何量化呢?我们可以这样考虑:这里性别为男的出现3次,性别为女的出现1次,男女出现次数之比为3:1。也就是说对性别这个属性而言,男的权重比女的权重要大。我们可以尝试将(男,女,男,男)序列,量化为(3,1,3,3),而通过求秩变为(2,1,2,2),等等。

思考:
Q1:请问Logistic回归时,类型较多的分类自变量一定要转为虚拟变量吗?如“教育水平”,如题,因为类别太多设虚拟变量就要增加好多自变量,那么这种类别比较多的变量该如何解决呢?如,“教育水平:文盲,小学,初中,高中,大专,大学及以上”,这些一定要设5个虚拟变量吗?可以用一个变量的1,2,3,4,5,6代替吗?
     答:(1)如果分类变量“教育水平”有6个分类:“文盲”、“小学”、“初中”、“高中”、“大专”、“大学及以上”,显然需要(6-1)=5个虚拟变量。
(2)如果你嫌虚拟变量太多的话,可以合并分类。例如把“文盲”,“小学”合并为一个分类“小学及以下”,“初中”、“高中”、“大专”合并为一类“初中-大专”,这样合并以后就只剩下3类了,只需设置2个虚拟变量。当然合并分类需要根据问题的实际情况进行适当合并。
(3)不可以用一个变量的1,2,3,4,5,6代替!这样相当于把“教育水平”当做Interval变量,而不是当做Ordinal变量来处理。也就是加上了假设条件:“大学及以上”-“大专”=“大专”-“高中”=“高中”-“初中”=“初中”-“小学”=“小学”-“文盲”!按常识的话,这种限制条件显然很难成立。当然,在实际问题中,你可以对这个假设条件进行检验!

Q2:做Logit回归时,可能的因素比较多(包括很多虚拟变量),如何对这些变量进行合理筛选呢?
     答:(1)如果建模数据集变量个数大于50的话,可以先筛选掉那些对目标变量影响不大的自变量。例如,可以对每个自变量做Logistic回归,然后计算相应的卡方值和p值。自己确定一个阈值(0.3等),删除掉卡方值很小的变量。
(2)如果某自变量缺失值的比例超过一定的值,也可删除掉。
(3)如果变量之间存在共线性,可用主成分分析来减少变量个数,同时处理掉复共线性。
(4)合并分类在实践中还可以用聚类分析来解决的。
(5)经过以上4种初步筛选处理,得到的建模数据集变量个数一般会少很多。在Logistic模型中,同样有很多类似于多元线性回归的变量筛选方法,如向前回归法,向后回归法,逐步回归法,全模型法等。而且,这些方法用统计软件很容易实现。一般采用逐步回归法或者全模型法建模。

以上资料摘自网络,仅用于学习交流,谢谢!




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群