关于回归分析中哑变量赋值的问题(一)
hello,很高兴和大家见面。今天我们来谈一下回归分析中哑变量赋值的问题。
首先,我们来认识一下什么是哑变量
哑变量( Dummy Variables) 又称虚拟变量、虚设变量和名义变量,是用以反映质的属性的一个二分类人工变量,是量化了的自变量,通常取值为0或1。
那为什么要赋哑变量呢?
在回归模型中,回归系数b表示其他自变量不变,x每改变一个单位时,所预测的y的平均变化量,当x为连续性变量时这样解释没有问题,二分类变量由于只存在两个类别间的比较,也可以对系数得到很好的解释,但是当x为多分类变量时值拟合一个回归系数就不太合适了,此时需要使用哑变量方式对模型加以定义。
来,咱们先看一个例子
为了研究空气中一氧化氮(NO)的浓度与汽车流量等因素的关系,有人测定了中国北方某城市交通点在单位时间内过往的汽车数(X1)、气温(X2)、空气湿度(X3)、风速(X4)、季节(X5)以及空气中 NO 的浓度(Y),数据下表所示。
空气中NO 浓度与相关因素的监测数据
春、夏、秋、冬分别赋值为1、2、3、4,然后将数据输入spss用多重线性回归逐步回归方法进行分析。数据输入如下:
主要结果输出如下:
提示只有车流(X1)对空气中一氧化氮浓度有影响,(P<0.001)。
这个结果是否对呢?
我们来观察一下自变量的类型,车流(X1)、气温(X2)、空气湿度(X3)、风速(X4)均为定量变量,只有季节(X5)为定性变量。在以上分析中我们把春、夏、秋、冬分别赋值为1、2、3、4,但是我们知道,这仅仅是一个代码而已,并不代表这四个季节存在大小依次的关系,若按编码数值来分析,实际上就是强行规定为等距,这很显然会引入误差。这种情况下,就必须将原始的多分类变最转化为数个哑变量。每个哑变量只代表某两个级别或若干个级别间的差异,这样得到的回归结果才能有明确而合理的实际意义。
哑变量的个数等于分类变量水平数-1,于是,我们将这四个季节赋哑变量:
季节 |
V1 |
V2 |
V3 |
1春 |
0 |
0 |
0 |
2夏 |
1 |
0 |
0 |
3秋 |
0 |
1 |
0 |
4冬 |
0 |
0 |
1 |
其中V1=1代表夏季,V1=0代表非夏季;V2=1则代表秋季,V2=0代表非秋季;V3=1则代表冬季,V3=0代表非冬季。每个哑变量无法单独来用来表示所有的季节,但是三个哑变量合并起来,就可以表示四个季节了。
在SPSS中,数据变成这样:
再进行一次回归分析,这次将V1、V2和V3与其他自变量放进方程中,而X5则不放进方程,逐步回归结果如下:
我们发现除了车流(X1)对空气中一氧化氮浓度有影响外,季节这个变量也对空气中一氧化氮浓度有影响。结论是空气中一氧化氮浓度与车流(X1)及“是否为冬季有关”。b1=8.824E-005且为正,说明汽车流量越大,空气中一氧化氮浓度浓度越高。bv3=-0.061,由于是负值,说明冬季相对于其它季节空气中一氧化氮浓度较低,而春、夏、秋 3个季节的更迭不会造成空气中一氧化氮浓度有统计学意义的变化。
看,经过哑变量赋值,才能得到正确的回归结果。
本例是以多重回归分析为例的,在logistic回归、Cox回归中对分类变量的赋值方法相同
姓名:周剑丽
院校/专业: 南方医科大学/劳动卫生与环境卫生学硕士
擅长:多元线性回归、Logistic回归、Meta分析
学堂君的历史合辑:
欢迎添加:
【数据分析服务】请点击
【社群服务助手】请点击
【加入团队】请点击