在多元逻辑回归中,协变量在什么水平上保持不变?

机器算法验证 回归 物流 多重回归 解释 控制变量
2022-03-25 02:48:04

我正在运行具有多个连续和分类协变量的多元逻辑回归。我想知道如果其他协变量保持不变,如何解释每个协变量的结果。连续控制变量保持在什么水平?他们是按他们的意思举行的吗?

我相信对于分类控制变量,参考类别是它所持有的水平。如果我想将它保持到另一个级别,例如一个编码、1 或 2,该怎么办?

2个回答

这主要是在多元回归中“其他一切都相等”是什么意思? 也就是说,它们可以在协变量的任何值或水平上保持不变。从某种意义上说,最容易将它们解释(或设想它们)为其他连续变量和其他分类变量的参考水平的平均值,但可以使用任何值或水平。此外,这假设您的协变量之间的模型中没有交互项,否则通常不可能保持所有其他条件相同(这也在链接线程中进行了解释)。

在逻辑回归上下文(或链接不是恒等函数的任何广义线性模型)中唯一增加的复杂性是这与线性预测器有关。例如,在逻辑回归中,结果Xβ^是一组对数赔率。然而,人们往往更喜欢看p^i, 反而。这当然很好,但它涉及非线性变换。结果,由于Jensen 不等式,您将获得的 sigmoid 曲线X1Y会根据是否X2保持不变X¯2或者X¯2+sX¯2. 这意味着在转换后的空间中实际上并没有“其他一切都相等”这样的东西,只有在线性预测器的空间中。

如果有助于澄清这些想法,请考虑这个简单的模拟(用 R 编码):

set.seed(6666)                              # makes the example exactly reproducible
lo2p = function(lo){ exp(lo)/(1+exp(lo)) }  # we'll need this function

x1 = runif(500, min=0, max=10)     # generating X data
x2 = rbinom(500, size=1, prob=.5)
lo = -2.2 + 1.1*x2 + .44*x1        # the true data generating process
p  = lo2p(lo)
y  = rbinom(500, size=1, prob=p)   # generating Y data

m  = glm(y~x1+x2, family=binomial) # fitting the model & viewing the coefficients
summary(m)$coefficients
#               Estimate Std. Error   z value     Pr(>|z|)
# (Intercept) -2.0395304 0.25907518 -7.872350 3.480415e-15
# x1           0.4220811 0.04409752  9.571538 1.053267e-21
# x2           1.2582332 0.22653761  5.554191 2.789001e-08

x.seq   = seq(from=0, to=10, by=.1)  # this is a sequence of X values for the plot
x2.0.lo = predict(m, newdata=data.frame(x1=x.seq, x2=0), type="link") # predicted
x2.1.lo = predict(m, newdata=data.frame(x1=x.seq, x2=1), type="link") # log odds
x2.0.p  = lo2p(x2.0.lo)  # converted to probabilities
x2.1.p  = lo2p(x2.1.lo)

windows()
  layout(matrix(1:2, nrow=2))
  plot(x.seq,  x2.0.lo, type="l", ylim=c(-2,3.5), ylab="log odds", xlab="x1",
       cex.axis=.9, main="Linear predictor")
  lines(x.seq, x2.1.lo, col="red")
  legend("topleft", legend=c("when x2=1", "when x2=0"), lty=1, col=2:1)

  plot(x.seq,  x2.0.p, type="l", ylim=c(0,1), yaxp=c(0,1,4), cex.axis=.8, las=1,
       xlab="x1", ylab="probability", main="Transformed")
  lines(x.seq, x2.1.p, col="red")

在此处输入图像描述

在线性预测变量(即对数赔率)的尺度上,斜率X11.26你是否持有X20或者1. 那是因为线是平行的。另一方面,在转换后的空间中,线条并不平行。变化率p^(Y=1)与一个相关联1-单位变化X1取决于是否X2=0或者X2=1. (这也取决于什么值X1你从开始。)

编码真的无关紧要,因为归根结底,回归系数总是基于斜率,即Δy/Δx. 分类因素总是分解为k1每个虚拟指标k-level 因子(角点编码,level-1'sΔy/Δx进入常数项)或k虚拟指标变量(总和为零约束,无常数项)。

回归的基础也是一个概念,即x-预测变量不是随机变量,因此,每个x-variable 应该是实验控制的值,实际上可以通过例如变量计来设置。例如,如果年龄是一个预测变量,那么模型将假设在每个年龄18,19,,85+您注册了实验对象y被测量了。毕竟,这是针对分类因子的每个级别所做的。

关于假设的推理测试,一旦你克服了编码问题,就会有一系列的部分F-tests,可用于解决您的特定问题。

在学习回归时,有一个警告要告诉学生,例如血清血浆蛋白表达或矿物质(元素)浓度,这是,而不是考虑改变y对于一个单位的变化x,或浓度,对于显着的正斜率,临床解释是受试者具有更大的y-值有更大x-价值观。