在进行数据建模和分析时,连续变量可以以原始数据的形式输入到模型中,例如身高和体重,它们的回归系数代表自变量增加一个单位时因变量的平均变化。
而在处理分类变量时,我们都会看到像这样的表述:无序多分类要进入模型前,一定要进行哑变量处理。
那么,我们要怎么理解哑变量?又应该如何使用呢?
哑变量定义
哑变量(Dummy Variable),也叫虚拟变量,引入哑变量的目的是,将不能够定量处理的变量量化,在线性回归分析中引入哑变量的目的是,可以考察定性因素对因变量的影响,
它是人为虚设的变量,通常取值为0或1,来反映某个变量的不同属性。
对于有n个分类属性的自变量,通常需要选取1个分类作为参照,因此可以产生n-1个哑变量。
如职业、性别对收入的影响,病毒、金融危机对GDP的影响,季节对某些产品(如火锅)销售的影响等等。
这种“量化”通常是通过引入“哑变量”来完成的。根据这些因素的属性类型,构造只取“0”或“1”的人工变量,通常称为哑变量,记为D。
什么是哑变量?
从哑变量的定义中可以发现,它实质上是将一个多分类变量转换为多个二分类变量,生成二分类变量的就是哑变量。但仅此而已吗?
在继续深入之前,需要插入一点前提知识。
仔细想来,在对分类变量进行解释的时候,其实隐含着一个对比。比如:当我们说“白天天气更热 ”的时候,其实隐含了“白天比黑夜 ”这一对比,也就是“白天黑夜天气更热 ”。而在这个情况下的“黑夜 ”,便是参照。而如果不存在参照,高低、大小、影响强弱等都失去了意义。
在了解参照存在的重要性之后,我们就可以继续讨论对哑变量的理解。
为了方便理解,我们还是用具体的例子——季节——进行说明。
季节(春、夏、秋、冬)是无序多分类变量,如果我们用1、2、3、4对应进行赋值并引入回归模型,那么计算出的回归模型系数应该怎样理解?“季节每增加一个单位,因变量的平均改变量”吗?
这时候大家应该多多少少察觉出不对劲的地方了,从春到夏、从夏到秋,因变量的平均改变量会是相同的吗?都等于回归系数?尽管这种情况有可能会存在,
但更多的情况是:季节改变带来的因变量平均改变量是不同的,也就是,影响程度不同。在这种情况下,将类别数值(1、2、3、4)作为连续变量投入模型,得到的回归系数无法反应出类别和因变量之间的实际关联。而这便是为何需要对季节,这类无序多分类变量,需要进行哑变量处理的原因。
但另一方面来说,如果多分类变量与因变量是线性关系,则无需使用哑变量,使用线性模型即可。
如何使用哑变量
如何确定哑变量个数
在最初的定义中我们提到,对于有n个分类的自变量,需要产生n-1个哑变量。
为何如此?同样,我们用一个例子——职业——来帮助理解。
我们可以将“职业因素 ”,分为“学生、农民、工人、公务员、其他 ”这5类,相应可以产生4(5-1)个哑变量,具体的赋值情况便是:
具体来说,对于有5类的职业因素变量,我们对其设置了4个哑变量:
D1哑变量(1代表学生/0代表学生);
D2哑变量(1代表农民/0代表非农民);
D3哑变量(1代表工人/0代表工人);
D4哑变量(1代表公务员/0代表非公务员)。
这时候就不用再设置一个新变量了,因为总共只有5个分类,如果非学生、非农民、非工人、非公务员,那就是其他了,所以,其他(D1=0,D2=0,D3=0,D4=0)。
什么是哑变量的参照组
在最初的定义中我们提到,对于有n个分类的自变量,需要产生n-1个哑变量。而当所有n-1个哑变量取值都为0的时候,这就是该变量的第n类属性,这便是参照。
例如上面提到的以“职业因素 ”为例,共分为“学生、农民、工人、公务员、其他 ”共5个分类,设定了4哑变量,其中职业因素中“其它 ”这个属性,每个哑变量的赋值均为0,此时我们就将“其它 ”这个属性作为参照。
最后,在解释模型时,所有类别哑变量的回归系数显示,相应哑变量与参照相比,对因变量的影响。
如何选择哑变量的参照
1.可以选择有特定意义的,或者有一定顺序水平的类别作为参照
例如,学历,分为小学、中学、大学、研究生 等类别,存在着一定的顺序,可以将“小学 ”作为参照,以便于回归系数更容易解释;又或者像我们之前的例子,将职业因素 当中的“其他 ”作为参照。
2. 可以选择临床正常水平作为参照
例如,BMI按照临床诊断标准分为体重过低、正常体重、超重、肥胖 等类别,此时可以选择“正常体重 ”作为参照,其他分类都与正常体重进行比较,更具有临床实际意义。
3. 可以将研究者所关注的重点类别作为参照
例如,血型,分为A、B、O、AB 四个类型,研究者更关注O 型血的人,因此可以将O 型作为参照,来分析其他血型与O 型相比后对于结局产生影响的差异。
转自:“云导师学术辅导平台”微信公众号
如有侵权,请联系本站删除!