“重新洗牌技巧”的名称(随机排列数据集以估计估计器的偏差)

机器算法验证 术语 偏见 验证 置换检验
2022-03-14 13:09:21

您是否知道以下用于调查复杂建模技术是否存在偏差的方法的参考或名称?T

  1. 应用于原始数据集。测量其性能(例如回归设置中的 R 平方)。T
  2. 随机排列响应变量以获得新的数据集。应用并测量其性能[如果观察结果是相关的,这一步会更复杂。]TP

如果与零性能有很大不同,我们得出结论是有偏差的。PT

如果资源允许,可以重复步骤 2,这将导致性能度量的排列零分布。但是在我的应用程序中,由于资源问题,我不能这样做。

我记得很清楚,有人使用这种“重新洗牌”技巧来调查留一法交叉验证的偏见(在某些情况下)。然而,我不知道他是否在我的情况下,他可以只重复整个过程一次。

R中的一个例子展示了朴素向后选择的“力量”:

# Generate random data set. Only random performance is expected.
n <- 100
p <- 30

set.seed(7567)
y <- rnorm(n)
X <- rnorm(n*p)
dim(X) <- c(n, p)
data <- data.frame(y, X)

# Modelling technique: backward selection with OLS
T <- function(data) {
  step(lm(y ~ ., data = data), trace = 0)
}

# Performance: R-squared
P <- function(fit) {
  summary(fit)$r.squared
}

# Step 1: Compute performance on original data. Happily publish high R-squared...
P(T(data)) # 0.240405

# Step 2: Your mean colleague reshuffles response and gets also R-squared far away from 0
data$y <- data$y[sample(n)]
P(T(data)) # 0.1925726

示例结论:所选择的建模技术极易过度拟合,至少在此特定设置中是这样。

一些背景

我曾经使用这种重新洗牌技巧来检查我是否正确实施了一些繁琐的建模过程的交叉验证。在随机排列下,CV 给出的 R 平方基本上为 0(如预期/期望的那样)。

2个回答

为了回答标题中的问题,AFAIK 这被称为置换测试如果这确实是您正在寻找的东西,那么它不会像问题中描述的那样工作。

(有点)简洁:置换测试确实通过改组“列”之一并执行感兴趣的测试或计算来工作。然而,诀窍是这样做很多次,每次都打乱数据。在小型数据集中,甚至可以执行所有可能的排列。在大型数据集中,您通常会执行计算机可以处理的大量排列,但这些排列足以获得感兴趣的统计数据的分布

最后,您可以使用此分布来检查,例如,在 95% 的分布中,两组之间的平均差是否 > 0。简而言之,检查分布的哪一部分高于/低于某个临界值的后一步是假设检验的“p 值”。

如果这与原始样本中的 p 值有很大不同,我不会说感兴趣的测试/统计数据有问题,而是您的样本包含特定影响测试结果的某些数据点。这可能是偏差(由于包括一些奇怪的情况而导致的选择偏差;特定情况下的测量误差等),或者可能是测试的不正确使用(例如违反假设)。

有关详细信息,请参阅https://en.wikipedia.org/wiki/Resampling_(statistics)

此外,如果您想了解更多关于如何将置换测试与变量选择相结合的信息,请参阅@amoeba对此问题的回答。

我终于在 Frank Harrell 的书“回归建模策略”[1] 第 5.2.4 节(数据拆分的改进:重采样)中找到了答案。

“随机化方法”作为一种有趣的方法被提出,通过响应的随机排列来估计乐观度,特别是结合变量选择(如 OP 中的示例)。

除其他外,他提到了 [2] 中的相关想法。

该方法非常简单:假设您的复杂建模策略涉及向前/向后(和横向)选择,并且您的数据集太小而无法进行干净的训练/验证/测试拆分。此外,您可能不完全信任交叉验证,因为它总是意味着丢弃折叠内的一定比例的数据。您如何判断您的 0.7 的 R 平方是有效的还是主要是过度拟合的结果?随机化方法的工作原理如下(这里我们讨论的是 R 平方,但它可以是任何感兴趣的性能度量)。如果您的策略是无偏的,那么如果在具有随机排列响应变量的数据集上重复,您会期望 R 平方接近 0。假设您在 20 次排列后得到的平均 R 平方为 0.6 而不是 0。所以你知道原来的 R 平方为 0。7 可能只是过拟合的结果。对“真实”R 平方的更诚实估计是 0.7-0.6 = 0.1(小)。所以你已经表明你的策略过拟合有多严重。

该方法的优点

  • 非常简单
  • 你总是使用完整的数据集

缺点包括

  • 乐观的估计似乎不是很准确
  • 与交叉验证或引导验证相比,该方法并不为人所知。

[1] Frank Harrell,“回归建模策略”,2001 年。斯普林格。

[2] R. Tibshirani 和 K. Knight。自适应模型选择的协方差膨胀标准。JRSS B,61:529-546,1999。