虚拟变量作为自变量,放在回归方程中在教科书里面讲的都很多,笔者以前在学习的时候觉得虚拟变量较之方差分析,还有更多惊喜。谢宇老师的《回归分析》书中对虚拟变量做了高度的总结与归纳。
之后在文章末提到一个应用:
应用一:使用dummy包设置哑变量
虚拟变量回归只能做其他类和参照类的比较。
同时,虚拟变量+交互项,效果更是惊人,关于交互项可以参考:
笔记︱横截面回归模型中的两大方向(交互效应+随机性)
——————————————————————————————————————————
1、虚拟变量的设置
虚拟变量(哑变量)是一种对名义变量进行分类、并重编码。
比如性别 x1=1/0,1就代表为男生,0为女生。
如何把虚拟变量放入方程中,可是一门大学问。
如果是名义变量转化过来的要注意截距项的有无、共线性问题:
名义变量转化的一个例子就是大学四年级。那么把四个年级分为四个虚拟变量,多了四个变量:
D1=1,是大一,否则为0; D2=1,是大二,否则为0;
D3=1,是大三,否则为0; D4=1,是大三,否则为0。
如果四个都放进去+截距项=完全多重共线性;正确的做法是:
放三个变量(D1D2D3)+截距项,Y~b0+b1D1+b2D2+b3D3;
或者四个变量+不加截距项,Y~b1D1+b2D2+b3D3+b4D4。
——————————————————————————————————————————
2、虚拟变量回归中的参照组的选择与截距项的含义——差异量化
Y~b0+b1D1+b2D2+b3D3 这个中D4就作为参照组,如果是大学四年就是其他变量跟四年级比较。
若Y代表收入,
截距项b0代表D4,四年级的平均人均收入,如果案例是100个学生,就代表四年级每个人的平均收入;
b1就代表D1-D4的平均收入,代表一年级与四年级的人均平均收入的差值,bo+b1代表一年级同学平均收入状况。
b1将两个年级的差异进行量化。
同时b1的T检验,代表着,D1-D4,一年级与四年级平均值差异的显著性。跟方差分析差不多。
——————————————————————————————————————————
3、虚拟变量*连续变量结合——更多惊喜
sex代表性别,senior代表高中与否,exp代表工作年限,y变量为收入。
可以综合来看,不同类别下的工作年限的现状。
如果有交互项,交互项的系数与显著性会更有趣。反映了连续变量某状态差别的显著性。
——————————————————————————————————————————
以下是一张虚拟变量回归对比方差分析的区别图:
——————————————————————————————————
应用一:使用dummy包设置哑变量
install.packages("dummies")
library(dummies)
students <- read.csv("data-conversion.csv")
students.new <- dummy.data.frame(students, sep = ".")
names(students.new)
dummy(students$State, sep = ".")
students.new1 <- dummy.data.frame(students,
names = c("State","Gender") , sep = ".")