查看原文
其他

SPSS教程:手把手教你设置哑变量以及解读结果

2017-10-21 龚志忠 医咖会

在上一期内容中,我们带大家认识了回归模型中的哑变量,介绍了什么是哑变量,什么情况下需要转化哑变量,以及如何选择哑变量的参照等内容。详情请点击:回归模型中的哑变量是个啥?何时需要设置哑变量?


今天我们将结合SPSS软件,向大家介绍在回归模型中何如实现哑变量的设置,并对引入哑变量后的模型结果进行解读

Logistic /Cox回归

在SPSS中,Logistic回归和Cox回归设置哑变量的方式是一致的,因此本文以Logistic回归为例进行说明。


一、研究实例


某研究人员拟探讨不同种族人群中某疾病发病风险有无差异,收集了4种不同种族人群的相关数据资料(1=Black美国黑人,2=White美国白人,3=Indian美国印第安人,4=Asian亚裔美国人)。


根据数据类型判断,种族为无序多分类资料,需要将种族转化为哑变量后,进行Logistic回归。


二、SPSS操作


1. Analyze → Regression → Binary Logistic,进入到Logistic回归模块

 


2. 将Event选入Dependent框中,将Gender、Age、Race选入Covariates框中



3. 点击Categorical进入定义分类变量的对话框,将需要转化的变量Race选入Categorical Covariates框中,点击Contrast旁的下拉框选择Indicator,Reference Category设置为First,即设定第一个分类为参照。


在本次研究中,Race=1为黑人,即我们选择黑人作为参照。最后再点击Change确认更改为Race(Indicator(first))。




在选择哑变量编码方式时,Contrast下拉选项一共提供了7种编码方式:


(1) Indicator(指示对比):用于指定某一分类为参照,指定的参照取决于Reference Category中选择Last还是First,即只能以该变量的第一类或者最后一类作为参照。Indicator为默认方法,也是我们最常用的设置参照类的方法


(2) Simple(简单对比): Simple和Indicator两个方法虽然参数编码不同,但其实质是一样的,均为各分类分别与参照进行相比。


(3) Difference(差异对比):即该分类变量的某个分类,与前面所有分类的平均值进行比较,此法与Helmert法相反,因此也叫做反Helmert法。此选项常用于有序分类变量。


(4) Helmert(赫尔默特对比):即该分类变量的某个分类,与其后面所有分类的平均值进行比较,同样也适用于有序分类变量。


(5) Repeated(重复对比):即该分类变量的各个分类,均与前面相邻的一个分类进行比较,此时前一分类为参照。


(6) Polynomial(多项式对比):它假设各个分类间隔是等距的,只能用于数值型的变量。(注意:如果此时原始变量为字符型,例如A、B、C、D,在SPSS中使用该方法时它会提示Polynomial contrasts may not be specified for string variables。而对于其他6种方法是允许原始变量是字符型,SPSS可以将其自动转化为0或1形式的哑变量。)


(7) Deviation(偏差对比):即除参照外,其余每一个分类都与总体水平相比,此时每个分类的回归系数都是相 37 27793 37 10425 0 0 3580 0 0:00:07 0:00:02 0:00:05 3580于总体水平而言的改变量。


4. 点击Continue回到主对话框,再点击OK完成操作。


三、结果解读



1. 结果显示, SPSS将 Race自动转化为3个哑变量,分别为Race(1) (2) (3),代表白人、印第安人和亚裔人,参照为黑人。在α=0.05的检验水准下,Race(1) (2) (3) 回归系数检验P值均<0.05,提示白人、印第安人和亚裔种族某疾病的发生风险均与黑人种族之间存在统计学差异。


2. 白人、印第安人和亚裔相对于黑人种族,其OR值和95% CI分别为0.247(0.102, 0.598)、0.181(0.070, 0.466)、0.132(0.049, 0.357),提示白人、印第安人和亚裔人中该疾病的发生风险均显著低于黑人种族。

多重线性回归

针对多重线性回归,SPSS并没有直接的选项来帮助我们设置哑变量,我们需要通过重新编码的方式,手动将其转换为哑变量。


一、研究实例


仍然以上面的研究实例进行介绍,某研究人员拟探讨不同种族人群中BMI有无差异,收集了4种不同种族人群的相关数据资料(1=Black美国黑人,2=White美国白人,3=Indian美国印第安人,4=Asian亚裔美国人)。


根据数据类型判断,种族为无序多分类资料,需要将种族转化为哑变量后,进行多重线性回归。


二、SPSS操作


1. Transform → Recode into Different Variables



将需要转换为哑变量的Race因素选入Numeric Variable->Output Variable框中,在Name框中输入转变的第一个哑变量名字Race1,并点击Change进行命名


 

2. 点击Old and New Values进入重新编码的对话框


在Old Value中的Value框中填写1,在New Value中的Value框中填写1,并点击Add添加,得到1->1。



然后选择Old Value中的All other values,在New Value中的Value框中填写0,并点击Add添加,得到ELSE->0



上述步骤表示将原有变量Race中第1分类,在哑变量Race1中赋值为1,将其他所有分类在哑变量Race1中赋值为0。


按照同样的方法,我们可以生成Race2和Race3,共3个哑变量。如果觉得生成3个哑变量很麻烦,我们可以进入程序编辑页面,编写一条简单的程序进行重新编码赋值,如下图所示。


 

赋值完成后,我们就可以在数据视图界面看到新生成的3个哑变量。哑变量生成好后,我们就可以开始进行多重线性回归了。(具体操作步骤参照前期推送的多重线性回归的相关内容)


 

3. Analyze → Regression → Linear



将BMI选入Dependent框中,将Race1、Race2、Race3、Gender和Age一同选入Independent(s)框中,Method选择Enter法,点击OK完成操作。

 

 

三、结果解读



1. 我们通过重新编码将Race转化为3个哑变量,分别为Race1、2、3,代表黑人、白人和印第安人,此时参照为亚裔人。在α=0.05的检验水准下,Race1、2、3回归系数检验P值均<0.05,提示黑人、白人和印第安人的BMI均与亚裔人之间存在统计学差异。


2. 黑人、白人和印第安人与亚裔人相比,其β值和95% CI分别为1.543(0.163, 2.923)、2.331(0.996, 3.665)、1.585(0.208, 2.963),提示黑人、白人和印第安人的BMI要显著高于亚裔人。

设置哑变量时的注意事项

1. 原则上哑变量在模型中应同进同出,也就是说在一个模型中,如果同一个分类变量的不同哑变量,出现了有些哑变量有统计学显著性,有些无统计学显著性的情况下,为了保证所有哑变量代表含义的正确性,应当在模型中纳入所有的哑变量。


因此,我们在引入哑变量进入模型时,需选择Enter强制进入法,以保证所有哑变量都能保留在最后的模型中。


2. 上一期内容中我们介绍了如何选择参照,但需要注意的是,被选为参照的那一类分组,应该保证有一定的样本量。如果参照组样本量太少,则将会导致其他分类与参照相比时,参数估计的标准误较大,可信区间较大,精度降低,会出现估计参数极大或极小的现象。


相信通过两期内容的学习,大家对于哑变量应该有了一定的认识,如果还有什么问题,欢迎各位小伙伴来留言探讨,和小咖一起学习进步。


更多阅读

1. 回归模型中的哑变量是个啥?何时需要设置哑变量?

2. SPSS实例教程:二分类Logistic回归

3. SPSS详细操作:生存资料的Cox回归分析

4. 超详细SPSS操作:多重线性回归

医咖会微信:medieco-ykh

关注医咖会,轻松学习统计学~


有临床研究设计或统计学方面的难题?快加小咖个人微信(xys2016ykf),拉你进统计讨论群和其他小伙伴们一起交流学习;或者点击公众号下方自定义菜单的“统计咨询”,提出你遇到的统计难题。


点击左下角“阅读原文”,看看既往小伙伴们都提出了哪些问题,以及该如何去解决,也许正好能帮到你~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存