在使用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与类别相关。 我想知道为什么还要附加数字。
答案 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) 从图形上我们可以看到,老年人越有可能购买死亡金属。
逻辑回归是广义线性模型(GLM)的特例。 对于经典的线性回归模型,我们考虑以下模型:
因此,对Y的期望如下:
在这里,由于Y的二元分布,上述关系不适用。因此,为了“概括”线性模型,我们认为
其中g是链接函数。 在这种情况下,对于逻辑回归,链接函数对应于logit函数:
请注意,此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
我们获得以下模型:
我们注意到,年龄对购买死亡金属相册的(负面)影响在5%的水平上很显着(p(> [Z | ----> <5%)。
因此,逻辑回归通常用于得出危险因素(例如年龄,还有BMI,性别等)
答案 2 :(得分:0)
在任何回归模型中都有分类预测变量时,您需要创建虚拟变量。 R为您做到这一点,您看到的输出就是对比度
您的变量nDB
具有3个级别:0、1、2
需要选择其中一个作为参考水平(在这种情况下,R被选择为0,但是也可以手动指定)。然后创建虚拟变量,以将其他每个级别与您的参考级别进行比较:0对1和0对2
R为这些伪变量nDB1
和nDB2
命名。 nDB1
用于0与1的对比度,nDB2
用于0与2的对比度。变量名称后面的数字仅表示您正在查看的对比度
系数值被解释为0和1组(nDB1
)之间的y(结果)值的差异,而0和2组(nDB2
)之间的系数值分别被解释为。换句话说,当您从一组转移到另一组时,您期望结果如何变化?
您的其他类别变量有2个级别,只是上述情况的简单情况
例如,nR05
仅具有0和1作为值。选择0作为参考,并且由于这里只有1种可能的对比,因此将创建一个比较0与1的虚拟变量。在输出中,该虚拟变量称为nR051