回归分析中类别变量的表示法

时间:2018-09-24 08:34:41

标签: r statistics regression logistic-regression

在使用carret的mdrr数据研究逻辑回归的过程中,出现了问题。 我使用总共19个变量创建了一个完整的模型,并且对分类变量的符号表示疑问。

在我的回归模型中,分类变量为:

  • nDB:0或1或2

  • nR05:0或1

  • nR10:1或2

我使用glm创建了一个完整的模型,但是我不知道为什么分类变量的名称具有类别中的数字之一。

----------------------------------------------------- --------------------------------

glm(formula = mdrrClass ~ ., family = binomial, data = train)

#Coefficients:
#(Intercept)         nDB1         nDB2           nX        nR051        nR101        nBnz2  
  #5.792e+00    5.287e-01   -3.103e-01   -2.532e-01   -9.291e-02    9.259e-01   -2.108e+00  
        #SPI          BLI          PW4         PJI2          Lop         BIC2         VRA1  
  #3.222e-05   -1.201e+01   -3.754e+01   -5.467e-01    1.010e+00   -5.712e+00   -2.424e-04  
       # PCR          H3D          FDI         PJI3        DISPm        DISPe      G.N..N.  
# -6.397e-02   -4.360e-04    3.458e+01   -6.579e+00   -5.690e-02    2.056e-01   -7.610e-03  

#Degrees of Freedom: 263 Total (i.e. Null);  243 Residual
#Null Deviance:     359.3 
#Residual Deviance: 232.6   AIC: 274.6

----------------------------------------------------- --------------------------------

以上结果表明nDB已编号,nR05和nR10与类别相关。 我想知道为什么还要附加数字。

3 个答案:

答案 0 :(得分:0)

分类变量总是如此,尤其是当它们不是二进制的时候(例如您的nDB)。这样您就知道您拥有哪个值的系数。对于nDB变量,模型创建了两个新变量:nDB_1,如果nDB = 1,则等于1,如果nDB = 0或nDB = 2,则等于0。

答案 1 :(得分:0)

要根据定量解释变量分析二进制变量(其值为TRUE / FALSE,0/1或YES / NO),可以使用逻辑回归。

例如,请考虑以下数据,其中x是40岁的年龄,y是表示他们是否在最近5年内购买过死亡金属专辑的变量(如果为“是”,则为1;如果“否”,则为0) 从图形上我们可以看到,老年人越有可能购买死亡金属。

enter image description here

逻辑回归是广义线性模型(GLM)的特例。 对于经典的线性回归模型,我们考虑以下模型:

Y =αX+β

因此,对Y的期望如下:

E(Y)=αX+β

在这里,由于Y的二元分布,上述关系不适用。因此,为了“概括”线性模型,我们认为

g(E(Y))=αX+β

其中g是链接函数。 在这种情况下,对于逻辑回归,链接函数对应于logit函数:

logit(p)=日志(p /(1-p))

请注意,此logit函数将介于0和1之间的值(p)转换为-∞和+∞之间的值。 这是在R下进行逻辑回归的方法:

myreg=glm(y~x, family=binomial(link=logit))
summary(myreg)

glm(formula = y ~ x, family = binomial(link = logit))
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.8686  -0.7764   0.3801   0.8814   2.0253  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)   
## (Intercept)   5.9462     1.9599   3.034  0.00241 **
## x            -0.1156     0.0397  -2.912  0.00360 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 52.925  on 39  degrees of freedom
## Residual deviance: 39.617  on 38  degrees of freedom
## AIC: 43.617
## 
## Number of Fisher Scoring iterations: 5

我们获得以下模型:

logit(E(Y))=-0.12X + 5.95

我们注意到,年龄对购买死亡金属相册的(负面)影响在5%的水平上很显着(p(> [Z | ----> <5%)。

因此,逻辑回归通常用于得出危险因素(例如年龄,还有BMI,性别等)

答案 2 :(得分:0)

在任何回归模型中都有分类预测变量时,您需要创建虚拟变量。 R为您做到这一点,您看到的输出就是对比度

您的变量nDB具有3个级别:0、1、2

需要选择其中一个作为参考水平(在这种情况下,R被选择为0,但是也可以手动指定)。然后创建虚拟变量,以将其他每个级别与您的参考级别进行比较:0对1和0对2

R为这些伪变量nDB1nDB2命名。 nDB1用于0与1的对比度,nDB2用于0与2的对比度。变量名称后面的数字仅表示您正在查看的对比度

系数值被解释为0和1组(nDB1)之间的y(结果)值的差异,而0和2组(nDB2)之间的系数值分别被解释为。换句话说,当您从一组转移到另一组时,您期望结果如何变化?

您的其他类别变量有2个级别,只是上述情况的简单情况

例如,nR05仅具有0和1作为值。选择0作为参考,并且由于这里只有1种可能的对比,因此将创建一个比较0与1的虚拟变量。在输出中,该虚拟变量称为nR051