逻辑回归和误差项

机器算法验证 物流 残差
2022-03-22 14:07:44

在逻辑回归中,如果我们考虑残差,它们是否只能取值数据点本身只取Logistic 曲线可以取之间的任何值。残差的分布会是什么样子?011001

2个回答

残差有很多种这适用于线性回归(例如,原始的、学生化的、标准化的等),但更适用于逻辑回归。R 具有可用于从逻辑回归拟合中检索 5 种不同类型的残差的选项(请参阅?residuals.glm : type = c("deviance", "pearson", "working", "response", "partial")。

你是对的,逻辑回归中的响应变量只能取,并且逻辑回归的预测值内的任何实际值但是,这意味着原始残差也将在区间内采用实数值。此外,它们可以采用许多不同的值,除非值仅限于几个离散水平和/或响应与完全无关,不仅在总体中,而且在您的样本中。 01Y^(0,1)y^iyi(0,1)XX

但是,这些事实与原始残差有关,基本上没有人使用。
在逻辑回归中检查的最常见残差是偏差残差。他们的计算很难理解(它在@whuber 给出的链接中列出),但它们可以大致呈正态分布,并且在中有足够的可变性。下面,我在 R 中做了一个简单的演示,以显示来自两组实验情况和均匀分布的观察情况的偏差残差。 XX

lo.2.p = function(lo){              # this function will convert log odds to 
  o = exp(lo)                       #   probabilities
  p = o/(o+1)
  return(p)
}

set.seed(9044)                      # this makes the example exactly reproducible
x.e = rep(c(0, 20), each=20)        # in the experimental case, there are 2 groups
x.o = runif(40, min=-20, max=20)    # for observational, X is uniform
p.e = lo.2.p(-.2 + .3*x.e)          # on the log odds scale, the intercept is -.2,
p.o = lo.2.p(-.2 + .3*x.o)          #   & the slope is .3
y.e = rbinom(40, size=1, prob=p.e)  # this generates the response data
y.o = rbinom(40, size=1, prob=p.o)

mod.e = glm(y.e~x.e)                # here I fit the 2 models
mod.o = glm(y.o~x.o)

在此处输入图像描述

逻辑回归中没有误差项。在我看来,唯一有用的残差是部分残差,可用于检查与假设的回归效应形状的偏差。但即使是这样,也可以首先使用回归样条更直接地处理。该模型没有内在残差。