虚拟变量(哑变量)

  • 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)越愿意再次购买”这样的结论。

    • 在SPSSAU中,很多回归分析方法均支持自主设置X为定类项,比如包括下述分析方法:
    • OLS回归、二元Logit、二元Probit、有序Logit、多分类Logit、条件Logit回归、Cox回归、逐步回归、Poisson回归、负二项回归、零膨胀Poisson回归、零膨胀负二项回归、进阶调节作用、亚组分析、单因素与多因素回归分析、基准回归、异质性检验等,上述支持设置X为定类项时,默认将第1项作为参照项;

    • 需要注意的是:线性回归这一常见的回归并不单独支持设置X为定类,如果需要使用,可使用计量研究模块里面的OLS回归即可,其二者原理一致,但OLS回归支持更多参数设置,比如稳健标准误;

    • 如果个别研究方法时,研究人员需要设置X为定类项,但SPSSAU并没有单独提供,此处研究者可以自行先设置虚拟(哑)变量数据,使用生成变量功能,然后再将哑变量纳入为X进行分析即可(注意参照项不能纳入到X中);

    • 逐步回归和二元Logit回归(且选择向前/向后/逐步法时),SPSSAU针对定类的X提供联合显著性检验,比如学历分为理科、文科、工科,并且以理科为参照项,那么文科和工科在在模型中可能会出二者都显著或者都不显著或者仅其中1个显著,其是以具体哑变量项作为单元检验显著性,而联合显著性则以‘定类X’这一整体作为检验显著性,如果其显著则意味着‘专业’呈现出显著性,反之意味着整体上‘专业’并不会呈现出显著性;

    • 如果设置为定类项,SPSSAU会自动进行检查是否真的定类数据,其排查规则包括2项分别是选项个数和每个选项的频数,其标准默认是:类别个数不能大于10且每个类别的频数至少为2;比如专业分为理科、文科、工科,理科有20人/文科为30人/工科为50人,那么类别仅3个<10且3个类别的频数均大于2,符合标准;如果出现比如工科仅1人,那此时则不能通过(此情况意味着某个类别样本数量太少,建议此情况进行数据编码处理将工科合并到其它类别上去),SPSSAU会提示:“某项分类数过多或类别样本数量过少,请检查!”。

  • 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回归提供更多参数选项等,请注意选择使用)。