虚拟变量(哑变量)

  • 1、理论说明

    如果数据为定类数据,比如专业(共分为‘理科类’,‘工科类’和‘文科类’,并且使用数字1,2,3分别表示);此时数字仅代表类别,数字大小并没有比较意义(比如数字越大身高越高);此类数据,如果在进行回归分析时,可考虑将其处理成虚拟变量,然后再进行回归分析。

  • 2、虚拟变量原理

    上述中专业为定类数据,如果进行回归分析,此时可考虑进行虚拟变量设置。虚拟变量,也称为哑变量。是指数据仅用数字0和1表示,比如‘理科类’虚拟变量时1表示理科类,0代表非理科类。‘工科类’虚拟变量时1表示工科类,0代表非工科类。‘文科类’虚拟变量时1表示文科类,0代表非文科类。类似下表格的设置:

    专业 理科类 文科类 工科类
    1 1 0 0
    2 0 1 0
    3 0 0 1
    2 0 1 0
    1 1 0 0
    2 0 1 0
    1 1 0 0
    2 0 1 0
    2 0 1 0
    3 0 0 1
    3 0 0 1
    2 0 1 0
    1 1 0 0

    专业分为三类,因而需要设置3个虚拟变量(3列),分别代表专业的3个类别。 至于为什么需要这样设置?原因即在于定类数据,其中的数字仅仅代表类别,而不能有越如何,越如何这样的意义。但是在比如回归分析中,研究影响关系,即只能得到比如“越满意,越愿意再次购买”这样的结论。所以进行虚拟变量设置后,定类数据的回归分析才有意义,即比如得到这样的结论:“相对于非理科类专业(数字0);理科类专业(1)越愿意再次购买”这样的结论。

  • 3、SPSSAU进行虚拟变量设置

    • 理解虚拟变量的原理后,即可在SPSSAU中进行设置。SPSSAU中的‘生成变量’功能可实现虚拟变量设置。类似如下图:

      SPSSAU会默认生成标题,设置完成后可进行‘标题修改’。
  • 4、特别注意事项

    • 专业为3类;那么放入回归中,只能放2个虚拟变量(一定不能是3个,因为需要有1个作为参照项)原因在于:

    • 虚拟变量是数字0和1;0是对比参考项(比如‘相对其它专业即非理科类专业,理科类专业如何如何’)。所以3个类别都放入了,具体就没有参考类别了。

    • 并且从数学角度来讲,如果专业对应的3个虚拟变量都放入模型,一定会出现‘多重共线性问题’。

    • 一定要找好参考对照项,然后少放入1个虚拟变量。

    • 通常情况下,回归分析,逐步回归,分层回归,二元Logit回归,多分类Logit回归分析这类影响关系研究的方法时,才可能涉及到虚拟变量设置。其它分析方法并不会涉及。

    • 如果虚拟变量为2个,比如性别分男和女;这种特殊情况也是类似的处理即可。

    • 定类数据可以自动哑变量分析吗?
    • SPSSAU系统中,在计量研究模块-》OLS回归时,其支持直接放入定类项,然后系统自动进行哑变量处理后得到分析结果。如果是其它回归分析方法需要哑变量处理,则需要使用生成变量-》虚拟(哑)变量进行设置得到哑变量项,放入哑变量项进行分析,二者原理完全一致。需要特别说明的是,SPSSAU中提供的线性回归(通用方法模块)和OLS回归(计量研究模块),二者原理是完全一致,因而如果是线性回归时需要对定类数据哑变量处理,此时可使用OLS回归即可(但OLS回归提供更多参数选项等,请注意选择使用)。