什么是哑变量


什么是哑变量


什么是哑变量
哑变量
哑变量(Dummy Variable),又称为虚拟变量、虚设变量或名义变量,从名称上看就知道,它是人为虚设的变量,通常取值为0或1,来反映某个变量的不同属性 。对于有n个分类属性的自变量,通常需要选取1个分类作为参照,因此可以产生n-1个哑变量 。
在构建回归模型时,如果自变量X为连续性变量,回归系数β可以解释为:在其他自变量不变的条件下 , X每改变一个单位,所引起的因变量Y的平均变化量;如果自变量X为二分类变量,例如是否饮酒(1=是,0=否),则回归系数β可以解释为:其他自变量不变的条件下 , X=1(饮酒者)与X=0(不饮酒者)相比 , 所引起的因变量Y的平均变化量 。
但是,当自变量X为多分类变量时 , 例如职业、学历、血型、疾病严重程度等等,此时仅用一个回归系数来解释多分类变量之间的变化关系,及其对因变量的影响,就显得太不理想 。
此时 , 我们通常会将原始的多分类变量转化为哑变量,每个哑变量只代表某两个级别或若干个级别间的差异,通过构建回归模型,每一个哑变量都能得出一个估计的回归系数,从而使得回归的结果更易于解释,更具有实际意义 。
将哑变量引入回归模型 , 虽然使模型变得较为复杂,但可以更直观地反映出该自变量的不同属性对于因变量的影响,提高了模型的精度和准确度 。
举一个例子,如职业因素,假设分为学生、农民、工人、公务员、其他共5个分类 , 其中以“其他职业”作为参照,此时需要设定4哑变量X1-X4 , 如下所示:
X1=1,学生;X1=0,非学生;
X2=1,农民;X2=0,非农民;
X3=1 , 工人;X3=0,非工人;
X4=1,公务员;X4=0,非公务员;
那么对于每一种职业分类,其赋值就可以转化为以下形式:
什么情况下需要设置哑变量
1. 对于无序多分类变量,引入模型时需要转化为哑变量
举一个例子,如血型,一般分为A、B、O、AB四个类型,为无序多分类变量 , 通常情况下在录入数据的时候,为了使数据量化,我们常会将其赋值为1、2、3、4 。
从数字的角度来看,赋值为1、2、3、4后,它们是具有从小到大一定的顺序关系的 , 而实际上,四种血型之间并没有这种大小关系存在,它们之间应该是相互平等独立的关系 。如果按照1、2、3、4赋值并带入到回归模型中是不合理的 , 此时我们就需要将其转化为哑变量 。
2. 对于有序多分类变量,引入模型时需要酌情考虑
例如疾病的严重程度,一般分为轻、中、重度,可认为是有序多分类变量,通常情况下我们也常会将其赋值为1、2、3(等距)或1、2、4(等比)等形式,通过由小到大的数字关系,来体现疾病严重程度之间一定的等级关系 。
但需要注意的是,一旦赋值为上述等距或等比的数值形式,这在某种程度上是认为疾病的严重程度也呈现类似的等距或等比的关系 。而事实上由于疾病在临床上的复杂性,不同的严重程度之间并非是严格的等距或等比关系 , 因此再赋值为上述形式就显得不太合理,此时可以将其转化为哑变量进行量化 。
3. 对于连续性变量,进行变量转化时可以考虑设定为哑变量
对于连续性变量,很多人认为可以直接将其带入到回归模型中即可 , 但有时我们还需要结合实际的临床意义,对连续性变量作适当的转换 。例如年龄,以连续性变量带入模型时,其解释为年龄每增加一岁时对于因变量的影响 。但往往年龄增加一岁 , 其效应是很微弱的,并没有太大的实际意义 。

推荐阅读