这取决于您在统计上检查哪种差异。
如果您有两个来自同一分布的组,您应该无法可靠地区分它们。这是机器学习的一个功能,而不是错误。
如果您有两组来自具有相同均值的不同分布,您应该能够区分它们。你的表现可能不是很好,但你可以做得比随机猜测更好。例如,如果在逻辑回归中包含二次项,则可以区分和。你的表现不会令人惊叹,但它胜过随机猜测。N(0,1)N(0,2)
# install.packages('pROC') # You might need to run this.
library(pROC)
set.seed(2021)
N <- 100
x0 <- rnorm(N, 0, 1)
y0 <- rep(0, N)
x1 <- rnorm(N, 0, 2)
y1 <- rep(1, N)
x <- c(x0, x1)
y <- c(y0, y1)
L1 <- glm(y ~ x, family = binomial)
L2 <- glm(y ~ poly(x, 2), family = binomial) # I think poly is not the best way to do this, but it's what I remember right now.
my_roc_1 <- pROC::roc(y, 1/(1+exp(-predict(L1))))
my_roc_2 <- pROC::roc(y, 1/(1+exp(-predict(L2))))
par(mfrow = c(2, 1))
plot(my_roc_1, main = "No Quadratic Term")
plot(my_roc_2, main = "Quadratic Term")
par(mfrow = c(1, 1))

没有二次项,性能很糟糕,AUC 基本上是机会,在。使用二次项,性能远非惊人,但我们做得比机会好,AUC 为。(更好的方法是比较 log loss 或 Brier 分数,尽管这些指标在数据科学中似乎不如在统计学中流行。)0.54260.6847
如果你绘制两组的密度,就很清楚为什么它们比机会更能区分。
library(ggplot2)
d0 <- data.frame(x = x0, group = "0")
d1 <- data.frame(x = x1, group = "1")
d <- rbind(d0, d1)
ggplot(d, aes(x = x, fill = group)) + geom_density(alpha = 0.3) + theme_bw()

如果您在附近得到一个点,则它更有可能来自第组而不是第组。如果你得到一个远离的点,它更有可能来自第组而不是第组。附近,该组更加模棱两可,但是当您处于中间或远处时,您可以做得不错。001010±2
这里要吸取的教训是,除非分布相同,否则某些模型应该能够在区分两个分布方面取得一些进展。当均值不同时,像普通逻辑回归这样的线性方法(只有线性项,所以没有像我的模型)效果最好。具有非线性项的逻辑回归,例如我的具有二次项的模型或具有样条的模型,可以拟合(但也过拟合)其他差异。在极端情况下,找到自己的非线性项的模型(例如神经网络)可以找到各种差异(同时也有过度拟合的风险)。x2L2L2
回到您的示例,您知道,如果您进行极端观察,则它更有可能属于具有极端观察的某些组,而不是聚集在平均值附近的其他组。