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

Confused with the reference level in logistic regression in R

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

上面说如果你想预测"Yes"的概率,你设置为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() 会预测什么?

如果P(0)是0的概率,P(1)是1的概率,那么P(0) = 1 - P(1)。因此,无论您将哪个级别设置为参考,您都可以始终计算出参考级别的概率。

例如predict(model1, type="response")给你非参考水平的概率。 1 - predict(model1, type="response")给你参考水平的概率。

您还问,"what is glm() to predict in default if we use response other than '0' and '1'." 为了使(二项式)逻辑回归合适,您的结果需要是具有两个类别的分类变量。您可以随心所欲地称呼它们,0/1、black/white、because/otherwise、Mal/Serenity 等。一个将是参考水平——无论您喜欢哪个——模型将给出你其他等级的概率。参考水平的概率正好是1减去其他水平的概率。

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