1. 哑变量设置时,参照的选择
最近在用spss做一个肿瘤预后的cox多因素回归,自变量里有二分类变量,也有多分类变量(多分类变量我已用spss设置哑变量)。问题是普通的二分类变量的筛选方法常用“向前:LR法”,而哑变量的筛选方法听说需要用“输入”法,而如果选择同一个区块的话,只能选择一种方法。将二分类变量和哑变量分别选择不同区块的话,结果又不太会看。求大神指教,困扰好几天。
Ps:自变量里只有肿瘤大小是多分类变量(已设置成哑变量),其他都是二分类。
2. 哑变量可以参与计算,所以哑变量是定量变量
亦称哑变量。
指不是真的数值变量,而是通过某种方法所定的伪数值变量。伪变量取值为数值,没有单位。如在变量转化中,把定性指标转化为定量指标的取值(0,1)的两分变量X,把等级指标转化为定量指标的取值0,1,2,…(或1,2,3,…)的离散变量X。
又如在多变量分析中,多元回归方程中其常数项设X0=1的X0,还有判别函数、主成分、公因子、典型变量等。
3. 哑变量怎么设置
1、数据录入SPSS。
2、选择Analyze→Regression→Binary Logistic。
3、主对话框设置:将因变量cancer送入Dependent框中,将纳入模型的自变量sex, age, BMI和COPD变量Covariates中。本研究中,纳入age变量仅仅是为了调整该变量带来的混杂(不关心该变量的OR值),因此将age直接将改变量纳入Logistic回归模型。
4、Categorical设置:该选项可将多分类变量(包括有序多分类和无序多分类)变换成哑变量,指定某一分类为参照。本研究中,COPD是多分类变量,我们指定“无COPD病史”的研究对象为参照组,分别比较“轻/中度”和“重度”组相对于参照组患肺癌的风险变化。
5、点击Categorical→将左侧Covariates中的COPD变量送入右侧Categorical Covariates中。
6、Hosmer-Lemeshow goodness-of-fit:检验模型的拟合优度; CI for exp(B):结果给出OR值的95%可信区间; Display→At last step:仅展示变量筛选的最后一步结果。 →Continue→回到主界面→OK。
4. 为什么设置哑变量
虚拟变量 虚拟变量又称虚设变量、名义变量或哑变量,用以反映质的属性的一个人工变量,是量化了的质变量,通常取值为0或1。
引入哑变量可使线形回归模型变得更复杂,但对问题描述更简明,一个方程能达到俩个方程的作用,而且接近现实。
例如,反映文程度的虚拟变量可取为:
1:本科学历;
0:非本科学历 一般地,在虚拟变量的设置中:基础类型、肯定类型取值为1;比较类型,否定类型取值为0。 模型中引入虚拟变量的作用 1、分离异常因素的影响,例如分析我国GDP的时间序列,必须考虑“文革”因素对国民经济的破坏性影响,剔除不可比的“文革”因素。
2、检验不同属性类型对因变量的作用,例如工资模型中的文化程度、季节对销售额的影响。
3、提高模型的精度,相当与将不同属性的样本合并,扩大了样本容量(增加了误差自由度,从而降低了误差方差) [编辑]虚拟变量设置的原则 在模型中引入多个虚拟变量时,虚拟变量的个数应按下列原则确定: 如果有m种互斥的属性类型,在模型中引入(m-1)个虚拟变量。
例如,性别有2个互斥的属性,引用2-1=1个虚拟变量;再如,文化程度分小学、初中、高中、大学、研究生5类,引用4个虚拟变量。
5. 哑变量如何设置
1、数据录入SPSS。
2、选择Analyze→Regression→Binary Logistic。
3、主对话框设置:将因变量cancer送入Dependent框中,将纳入模型的自变量sex, age, BMI和COPD变量Covariates中。本研究中,纳入age变量仅仅是为了调整该变量带来的混杂(不关心该变量的OR值),因此将age直接将改变量纳入Logistic回归模型。
4、Categorical设置:该选项可将多分类变量(包括有序多分类和无序多分类)变换成哑变量,指定某一分类为参照。本研究中,COPD是多分类变量,我们指定“无COPD病史”的研究对象为参照组,分别比较“轻/中度”和“重度”组相对于参照组患肺癌的风险变化。
5、点击Categorical→将左侧Covariates中的COPD变量送入右侧Categorical Covariates中。
6、Hosmer-Lemeshow goodness-of-fit:检验模型的拟合优度; CI for exp(B):结果给出OR值的95%可信区间; Display→At last step:仅展示变量筛选的最后一步结果。 →Continue→回到主界面→OK
6. 调节变量是哑变量如何交互
在进行回归分析时,是研究X对于Y的影响关系,如果X是定类数据,此里就需要进行哑变量设置,哑变量也叫虚拟变量。这个设置过程在网页在线版本的SPSS里面,直接点生成变量里面直接就可以进行设置,点一下完成得到结果。
同时进行回归分析时,还会提供完全智能化的文字分析结果,SPSSAU里面都有提供,拖拽点一下就得到结果。
7. 怎么设置哑变量
Logistic回归主要分为三类,一种是因变量为二分类得logistic回归,这种回归叫做二项logistic回归,一种是因变量为无序多分类得logistic回归,比如倾向于选择哪种产品,这种回归叫做多项logistic回归。还有一种是因变量为有序多分类的logistic回归,比如病重的程度是高,中,低呀等等,这种回归也叫累积logistic回归,或者序次logistic回归。 二值logistic回归: 选择分析——回归——二元logistic,打开主面板,因变量勾选你的二分类变量,这个没有什么疑问,然后看下边写着一个协变量。有没有很奇怪什么叫做协变量?在二元logistic回归里边可以认为协变量类似于自变量,或者就是自变量。把你的自变量选到协变量的框框里边。 细心的朋友会发现,在指向协变量的那个箭头下边,还有一个小小的按钮,标着a*b,这个按钮的作用是用来选择交互项的。我们知道,有时候两个变量合在一起会产生新的效应,比如年龄和结婚次数综合在一起,会对健康程度有一个新的影响,这时候,我们就认为两者有交互效应。那么我们为了模型的准确,就把这个交互效应也选到模型里去。我们在右边的那个框框里选择变量a,按住ctrl,在选择变量b,那么我们就同时选住这两个变量了,然后点那个a*b的按钮,这样,一个新的名字很长的变量就出现在协变量的框框里了,就是我们的交互作用的变量。 然后在下边有一个方法的下拉菜单。默认的是进入,就是强迫所有选择的变量都进入到模型里边。除去进入法以外,还有三种向前法,三种向后法。一般默认进入就可以了,如果做出来的模型有变量的p值不合格,就用其他方法在做。再下边的选择变量则是用来选择你的个案的。一般也不用管它。 选好主面板以后,单击分类(右上角),打开分类对话框。在这个对话框里边,左边的协变量的框框里边有你选好的自变量,右边写着分类协变量的框框则是空白的。你要把协变量里边的字符型变量和分类变量选到分类协变量里边去(系统会自动生成哑变量来方便分析,什么事哑变量具体参照前文)。这里的字符型变量指的是用值标签标注过得变量,不然光文字,系统也没法给你分析啊。选好以后,分类协变量下边还有一个更改对比的框框,我们知道,对于分类变量,spss需要有一个参照,每个分类都通过和这个参照进行比较来得到结果,更改对比这个框框就是用来选择参照的。默认的对比是指示符,也就是每个分类都和总体进行比较,除了指示符以外还有简单,差值等。这个框框不是很重要,默认就可以了。 点击继续。然后打开保存对话框,勾选概率,组成员,包含协方差矩阵。点击继续,打开选项对话框,勾选分类图,估计值的相关性,迭代历史,exp(B)的CI,在模型中包含常数,输出——在每个步骤中。如果你的协变量有连续型的,或者小样本,那还要勾选Hosmer-Lemeshow拟合度,这个拟合度表现的会较好一些。 继续,确定。 然后,就会输出结果了。主要会输出六个表。 第一个表是模型系数综合检验表,要看他模型的p值是不是小于0.05,判断我们这个logistic回归方程有没有意义。 第二个表示模型汇总表。这个表里有两个R^2,叫做广义决定系数,也叫伪R^2,作用类似于线性回归里的决定系数,也是表示这个方程能够解释模型的百分之多少。由于计算方法不同,这两个广义决定系数的值往往不一样,但是出入并不会很大。 在下边的分类表则表述了模型的稳定性。这个表最后一行百分比校正下边的三个数据列出来在实际值为0或者1时,模型预测正确的百分比,以及模型总的预测正确率。一般认为预测正确概率达到百分之五十就是良好(标准真够低的),当然正确率越高越好。 在然后就是最重要的表了,方程中的变量表。第一行那个B下边是每个变量的系数。第五行的p值会告诉你每个变量是否适合留在方程里。如果有某个变量不适合,那就要从新去掉这个变量做回归。根据这个表就可以写出logistic方程了:P=Exp(常量+a1*变量1+a2*变量2.。。。)/(1+Exp(常量+a1*变量1+a2*变量2.。。。))。如果大家学过一点统计,那就应该对这个形式的方程不陌生。提供变量,它最后算出来会是一个介于0和1的数,也就是你的模型里设定的值比较大的情况发生的概率,比如你想推算会不会治愈,你设0治愈,1为没有治愈。那你的模型算出来就是没有治愈的概率。如果你想直接计算治愈的概率,那就需要更改一下设定,用1去代表治愈。 此外倒数后两列有一个EXP(B),也就是OR值,哦,这个可不是或者的意思,OR值是优势比。在线性回归里边我们用标准化系数来对比两个自变量对于因变量的影响力的强弱,在logistic回归里边我们用优势比来比较不同的情况对于因变量的影响。举个例子。比如我想看性别对于某种病是否好转的影响,假设0代表女,1代表男,0代表不好转,1代表好转。发现这个变量的OR值为2.9,那么也就是说男人的好转的可能是女人好转的2.9倍。注意,这里都是以数值较大的那个情况为基准的。而且OR值可以直接给出这个倍数。如果是0,1,2各代表一类情况的时候,那就是2是1的2.9倍,1是0的2.9倍,以此类推。OR值对于方程没什么贡献,但是有助于直观的理解模型。在使用OR值得时候一定要结合它95%的置信区间来进行判断。 此外还有相关矩阵表和概率直方图,就不再介绍了。
8. 哑变量定义
Logistic回归主要分为三类,一种是因变量为二分类得logistic回归,这种回归叫做二项logistic回归,一种是因变量为无序多分类得logistic回归,比如倾向于选择哪种产品,这种回归叫做多项logistic回归。
还有一种是因变量为有序多分类的logistic回归,比如病重的程度是高,中,低呀等等,这种回归也叫累积logistic回归,或者序次logistic回归。 二值logistic回归: 选择分析——回归——二元logistic,打开主面板,因变量勾选你的二分类变量,这个没有什么疑问,然后看下边写着一个协变量。有没有很奇怪什么叫做协变量?在二元logistic回归里边可以认为协变量类似于自变量,或者就是自变量。把你的自变量选到协变量的框框里边。
细心的朋友会发现,在指向协变量的那个箭头下边,还有一个小小的按钮,标着a*b,这个按钮的作用是用来选择交互项的。
我们知道,有时候两个变量合在一起会产生新的效应,比如年龄和结婚次数综合在一起,会对健康程度有一个新的影响,这时候,我们就认为两者有交互效应。那么我们为了模型的准确,就把这个交互效应也选到模型里去。
我们在右边的那个框框里选择变量a,按住ctrl,在选择变量b,那么我们就同时选住这两个变量了,然后点那个a*b的按钮,这样,一个新的名字很长的变量就出现在协变量的框框里了,就是我们的交互作用的变量。
然后在下边有一个方法的下拉菜单。默认的是进入,就是强迫所有选择的变量都进入到模型里边。除去进入法以外,还有三种向前法,三种向后法。
一般默认进入就可以了,如果做出来的模型有变量的p值不合格,就用其他方法在做。
再下边的选择变量则是用来选择你的个案的。一般也不用管它。
选好主面板以后,单击分类(右上角),打开分类对话框。
在这个对话框里边,左边的协变量的框框里边有你选好的自变量,右边写着分类协变量的框框则是空白的。
你要把协变量里边的字符型变量和分类变量选到分类协变量里边去(系统会自动生成哑变量来方便分析,什么事哑变量具体参照前文)。
这里的字符型变量指的是用值标签标注过得变量,不然光文字,系统也没法给你分析啊。
选好以后,分类协变量下边还有一个更改对比的框框,我们知道,对于分类变量,spss需要有一个参照,每个分类都通过和这个参照进行比较来得到结果,更改对比这个框框就是用来选择参照的。
默认的对比是指示符,也就是每个分类都和总体进行比较,除了指示符以外还有简单,差值等。
这个框框不是很重要,默认就可以了。 点击继续。
然后打开保存对话框,勾选概率,组成员,包含协方差矩阵。点击继续,打开选项对话框,勾选分类图,估计值的相关性,迭代历史,exp(B)的CI,在模型中包含常数,输出——在每个步骤中。
如果你的协变量有连续型的,或者小样本,那还要勾选Hosmer-Lemeshow拟合度,这个拟合度表现的会较好一些。 继续,确定。
然后,就会输出结果了。主要会输出六个表。 第一个表是模型系数综合检验表,要看他模型的p值是不是小于0.05,判断我们这个logistic回归方程有没有意义。 第二个表示模型汇总表。这个表里有两个R^2,叫做广义决定系数,也叫伪R^2,作用类似于线性回归里的决定系数,也是表示这个方程能够解释模型的百分之多少。由于计算方法不同,这两个广义决定系数的值往往不一样,但是出入并不会很大。 在下边的分类表则表述了模型的稳定性。
这个表最后一行百分比校正下边的三个数据列出来在实际值为0或者1时,模型预测正确的百分比,以及模型总的预测正确率。一般认为预测正确概率达到百分之五十就是良好(标准真够低的),当然正确率越高越好。 在然后就是最重要的表了,方程中的变量表。第一行那个B下边是每个变量的系数。第五行的p值会告诉你每个变量是否适合留在方程里。如果有某个变量不适合,那就要从新去掉这个变量做回归。根据这个表就可以写出logistic方程了:P=Exp(常量+a1*变量1+a2*变量2.。。。)/(1+Exp(常量+a1*变量1+a2*变量2.。。。))。如果大家学过一点统计,那就应该对这个形式的方程不陌生。提供变量,它最后算出来会是一个介于0和1的数,也就是你的模型里设定的值比较大的情况发生的概率,比如你想推算会不会治愈,你设0治愈,1为没有治愈。那你的模型算出来就是没有治愈的概率。如果你想直接计算治愈的概率,那就需要更改一下设定,用1去代表治愈。 此外倒数后两列有一个EXP(B),也就是OR值,哦,这个可不是或者的意思,OR值是优势比。在线性回归里边我们用标准化系数来对比两个自变量对于因变量的影响力的强弱,在logistic回归里边我们用优势比来比较不同的情况对于因变量的影响。举个例子。比如我想看性别对于某种病是否好转的影响,假设0代表女,1代表男,0代表不好转,1代表好转。发现这个变量的OR值为2.9,那么也就是说男人的好转的可能是女人好转的2.9倍。注意,这里都是以数值较大的那个情况为基准的。而且OR值可以直接给出这个倍数。如果是0,1,2各代表一类情况的时候,那就是2是1的2.9倍,1是0的2.9倍,以此类推。OR值对于方程没什么贡献,但是有助于直观的理解模型。在使用OR值得时候一定要结合它95%的置信区间来进行判断。 此外还有相关矩阵表和概率直方图,就不再介绍了。 多项logistic回归: 选择分析——回归——多项logistic,打开主面板,因变量大家都知道选什么,因变量下边有一个参考类别,默认的第一类别就可以。再然后出现了两个框框,因子和协变量。很明显,这两个框框都是要你选因变量的,那么到底有什么区别呢?嘿嘿,区别就在于,因子里边放的是无序的分类变量,比如性别,职业什么的,以及连续变量(实际上做logistic回归时大部分自变量都是分类变量,连续变量是比较少的。),而协变量里边放的是等级资料,比如病情的严重程度啊,年龄啊(以十年为一个年龄段撒,一年一个的话就看成连续变量吧还是)之类的。在二项logistic回归里边,系统会自动生成哑变量,可是在多项logistic回归里边,就要自己手动设置了。参照上边的解释,不难知道设置好的哑变量要放到因子那个框框里去。 然后点开模型那个对话框,哇,好恐怖的一个对话框,都不知道是干嘛的。好,我们一点点来看。上边我们已经说过交互作用是干嘛的了,那么不难理解,主效应就是变量本身对模型的影响。明确了这一点以后,这个对话框就没有那么难选了。指定模型那一栏有三个模型,主效应指的是只做自变量和因变量的方程,就是最普通的那种。全因子指的是包含了所有主效应和所有因子和因子的交互效应的模型(我也不明白为什么只有全因子,没有全协变量。这个问题真的很难,所以别追问我啦。)第三个是设定/步进式。这个是自己手动设置交互项和主效应项的,而且还可以设置这个项是强制输入的还是逐步进入的。这个概念就不用再啰嗦了吧啊? 点击继续,打开统计量对话框,勾选个案处理摘要,伪R方,步骤摘要,模型拟合度信息,单元格可能性,分类表,拟合度,估计,似然比检验,继续。打开条件,全勾,继续,打开选项,勾选为分级强制条目和移除项目。打开保存,勾选包含协方差矩阵。确定(总算选完了)。 结果和二项logistic回归差不多,就是多了一个似然比检验,p值小于0.05认为变量有意义。然后我们直接看参数估计表。假设我们的因变量有n个类,那参数估计表会给出n-1组的截距,变量1,变量2。我们我们用Zm代表Exp(常量m+am1*变量1+am2*变量2+。。。),那么就有第m类情况发生的概率为Zn/1+Z2+Z3+……+Zn(如果我们以第一类为参考类别的话,我们就不会有关于第一类的参数,那么第一类就是默认的1,也就是说Z1为1)。 有序回归(累积logistic回归): 选择菜单分析——回归——有序,打开主面板。因变量,因子,协变量如何选取就不在重复了。选项对话框默认。打开输出对话框,勾选拟合度统计,摘要统计,参数估计,平行线检验,估计响应概率,实际类别概率,确定,位置对话框和上文的模型对话框类似,也不重复了。确定。 结果里边特有的一个表是平行线检验表。这个表的p值小于0.05则认为斜率系数对于不同的类别是不一样的。此外参数估计表得出的参数也有所不同。假设我们的因变量有四个水平,自变量有两个,那么参数估计表会给出三个阈值a1,a2,a3(也就是截距),两个自变量的参数m,n。计算方程时,首先算三个Link值,Link1=a1+m*x1+n*x2,Link2=a2+m*x1+n*x2,Link3=a3+m*x1+n*x2,(仅有截距不同)有了link值以后,p1=1/(1+exp(link1)),p1+p2=1/(1+exp(link2)),p1+p2+p3=1/(1+exp(link3)),p1+p2+p3+p4=1.. 通过上边的这几个方程就能计算出各自的概率了。 Logistic回归到这里基本就已经结束了。大家一定要记熟公式,弄混可就糟糕了。希望能对你有所帮助呦。
9. 设置哑变量的原因
Stata里的虚拟变量,也叫哑变量和离散特征编码,可用来表示分类变量、非数量因素可能产生的影响。
STATA的设置最简单,打出命令时在变量名前加"i."
如果要将新建虚拟变量,则可用xi命令。
虚拟变量 ( Dummy Variables) 又称虚设变量、名义变量或哑变量,用以反映质的属性的一个人工变量,是量化了的自变量,通常取值为0或1。
10. 什么情况下需要设置哑变量
在进行二元Logistic回归分析时,通常会涉及3个步骤,分别是数据处理、卡方分析和影响关系研究。
1.1 第一步为数据处理
例如,在研究相关因素对样本将来是否愿意购买理财产品的影响情况时,性别,专业等均为影响因素,而且明显的,性别和专业属于定类数据,因此需要进行虚拟哑变量设置,可使用【数据处理->生成变量】完成。
除此之外,二元logistic回归要求因变量只能为2项,而且数字一定是0和1,数字1表示YES,愿意,购买,患病等,数字0表示no,不愿意,不购买,不患病等。如果不是这样,那么就需要针对因变量Y进行数据编码,使用【数据处理->数据编码】即可完成。
1.2 第二步为卡方分析或方差分析
此步不是必需的步骤,通过此步可以试探性了解每个影响因素X与Y之间的影响关系情况,研究影响关系前,首先需要自变量X与Y之间有着差异关系,才可能进一步有着影响关系,也或者说差异关系是一种基础性关系,影响关系是更进一步的深层次关系。所以在进行二元logistic回归分析前,可先对X做差异分析,筛选出与Y有着差异性的X。
如果X是定类数据,那么就使用卡方分析去分析差异;如果说X是定量数据,那么可使用方差分析去研究X和Y的差异性。
分析完成X与Y的差异关系之后,筛选出有差异的X,然后再放入模型中,进行二元logistic回归;这样做的目的有两个,一是简化模型,越简单的模型越容易拟合且效果越好;二是做到心里有数,提前了解到数据之间的大致关系情况。
1.3 第三步为影响关系分析,即二元Logistic回归分析
在上一步确认了可能的影响因素之后,此步骤直接对题进行二元Logistic回归分析。二元Logistic回归分析时,首先需要看某个题是否呈现出显著性(如果P值小于0.05,则说明呈现出0.05水平的显著性;如果P值小于0.01,则说明呈现出0.01水平的显著性),如果呈现出显著性,那么说明该题对Y有影响关系。具体是正向影响还是负向影响需要结合对应的回归系数值进行说明,如果回归系数值大于0,则说明是正向影响;反之则说明是负向影响。
除此之外,二元Logistic回归分析会涉及一个术语——对数比(SPSSAU中称其为OR值)。