与R中的逻辑回归中的参考水平相混淆

时间:2016-04-15 02:52:30

标签: r logistic-regression

我对答案感到困惑 Logistic regression - defining reference level in R

它说如果你想预测“是”的概率,你设置为relevel(auth$class, ref = "YES")。但是,在我的实验中,如果我们有一个“0”和“1”的二进制响应变量。当我们设置relevel(factor(y),ref="0")时,我们只得到概率为“1”的估计。

n <- 200
x <- rnorm(n)
sumx <- 5 + 3*x
exp1 <- exp(sumx)/(1+exp(sumx))
y <- rbinom(n,1,exp1) #probability here is for 1
model1 <- glm(y~x,family = "binomial")
summary(model1)$coefficients
            Estimate Std. Error  z value     Pr(>|z|)
(Intercept) 5.324099  1.0610921 5.017565 5.233039e-07
x           2.767035  0.7206103 3.839849 1.231100e-04
model2 <- glm(relevel(factor(y),ref="0")~x,family = "binomial")
summary(model2)$coefficients
            Estimate Std. Error  z value     Pr(>|z|)
(Intercept) 5.324099  1.0610921 5.017565 5.233039e-07
x           2.767035  0.7206103 3.839849 1.231100e-04

那我的错是什么?实际上,如果我们使用“0”和“1”以外的响应,那么glm()默认预测是什么?

1 个答案:

答案 0 :(得分:2)

如果P(0)的概率为0且P(1)概率为1,则P(0) = 1 - P(1)。因此,您始终可以计算参考水平的概率,无论您将哪个水平设置为参考水平。

例如,predict(model1, type="response")为您提供非参考水平的概率。 1 - predict(model1, type="response")为您提供参考水平的概率。

如果我们使用&#39; 0&#39;以外的响应,您还会问,&#34;默认情况下glm()预测是什么?和&#39; 1&#39;。&#34;对于(二项式)逻辑回归是合适的,您的结果需要是具有两个类别的分类变量。您可以随意调用它们,0/1,黑/白,因为/否则,Mal / Serenity等。一个将是参考级别 - 无论您喜欢哪个 - 并且模型将为您提供另一个的概率水平。参考水平的概率仅为1减去另一水平的概率。

如果您的结果有两个以上的类别,您可以使用multinomial logistic regression模型,但原则类似。