我对答案感到困惑 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()默认预测是什么?
答案 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模型,但原则类似。