根据残差的大小对数据集进行分层并进行两次样本比较,是否完全可以辩护?


16

我认为这是一种临时方法,对我来说似乎非常可疑,但也许我错过了一些东西。我已经在多元回归中看到了这一点,但让我们保持简单即可:

yi=β0+β1xi+εi

现在从拟合模型中提取残差

ei=yi(β^0+β^1xi)

并根据残差的大小对样本进行分层。例如,假设第一个样本是残差的底部90%,第二个样本是残差的顶部10%,然后继续进行两个样本比较-我已经在模型x和不在模型中的变量上。所使用的非正式逻辑是,可能值远高于您在模型下期望值的点(即较大的残差)在某些方面有所不同,并以此方式调查了这种差异。

我对这个问题的想法是:

  • 如果在模型中的预测变量上看到2个样本的差异,则存在模型未考虑其当前状态的预测变量的影响(即非线性影响)。
  • 如果您看到模型中没有的变量存在2个样本的差异,那么也许它应该首先出现在模型中。

有一件事我经验发现(通过模拟)是,如果你是比较平均的预测模型中的x并以这种方式分层产生两个样本,x¯1x¯2,它们是彼此正相关。这是有意义的,因为这两个样品取决于y¯,x¯,σ^x,σ^yρ X ÿρ^xy。当您将截止值向下移动时,相关性会增加(即,您用于划分样本的百分比)。因此,至少,如果要进行两样本比较,则需要调整统计量分母中的标准误差以考虑相关性(尽管我尚未为协方差)。t

无论如何,我的基本问题是:这样做有任何理由吗?如果是这样,在什么情况下这可能是有用的事情?显然,我认为没有,但是有些事情我没有以正确的方式考虑。


两个样本比较使用相同的IVs吗?如果是这样,我看不到这一点,因为剩余拆分已经在使用该信息。您能举一个例子,看看对我来说是新的吗?
米歇尔2012年

1
好吧,可能是它可以用作诊断,以查看您是否存在模型错误指定-您对此有何看法?
2012年

3
正如上面的评论所建议的那样,除了作为一种诊断工具来识别有问题的点或缺少非线性影响之外,我看不到这样做的其他任何意义。我认为OP中的两个圆点(“关于主题的想法...”)非常合理。
彼得·埃利斯

1
Loh和他的合著者使用此技术在他的树算法SUPPORT和我认为的GUIDE中确定拆分变量。由于以这种方式对数据集进行了分区,因此可以将其视为寻找非线性影响(由逐步函数代理)并确定是否确实忘记了变量。我记得当时想知道这是否也很聪明,也许您在他们的论文中找到了更多的解释(我不记得了)。
Momo 2012年

Answers:


8

比较均值太弱:相反,比较分布。

还有一个问题是,是否更需要比较残差的大小(如上所述)或比较残差本身。因此,我对两者都进行了评估。

为了具体说明其含义,这是一些R代码,通过对x上的y进行回归,比较残差数据(以并行数组和给出),将残差分为组,方法是将残差切成低于分位数q 0并高于分位数q 1 > q 0,并(通过qq图)比较与这两个组关联的x值的分布。(x,y)xyyxq0q1>q0x

test <- function(y, x, q0, q1, abs0=abs, ...) {
  y.res <- abs0(residuals(lm(y~x)))
  y.groups <- cut(y.res, quantile(y.res, c(0,q0,q1,1)))
  x.groups <- split(x, y.groups)
  xy <- qqplot(x.groups[[1]], x.groups[[3]], plot.it=FALSE)
  lines(xy, xlab="Low residual", ylab="High residual", ...)
}

此函数的第五个参数abs0,默认情况下,使用残差的大小(绝对值)来形成组。稍后,我们可以将其替换为使用残差本身的函数。

残差用于检测许多东西:异常值,与外生变量的可能相关性,拟合优度和均方差。离群值,就其性质而言,应该很少而且是孤立的,因此在这里将不会发挥有意义的作用。为了使此分析简单,让我们探索最后两个:拟合优度(即 - y关系的线性)和均方差(即残差大小的恒定性)。我们可以通过仿真来做到这一点:xy

simulate <- function(n, beta0=0, beta1=1, beta2=0, sd=1, q0=1/3, q1=2/3, abs0=abs,
                     n.trials=99, ...) {
  x <- 1:n - (n+1)/2
  y <- beta0 + beta1 * x + beta2 * x^2 + rnorm(n, sd=sd)
  plot(x,y, ylab="y", cex=0.8, pch=19, ...)
  plot(x, res <- residuals(lm(y ~ x)), cex=0.8, col="Gray", ylab="", main="Residuals")
  res.abs <- abs0(res)
  r0 <- quantile(res.abs, q0); r1 <- quantile(res.abs, q1)
  points(x[res.abs < r0], res[res.abs < r0], col="Blue")
  points(x[res.abs > r1], res[res.abs > r1], col="Red")
  plot(x,x, main="QQ Plot of X",
       xlab="Low residual", ylab="High residual",
       type="n")
  abline(0,1, col="Red", lwd=2)
  temp <- replicate(n.trials, test(beta0 + beta1 * x + beta2 * x^2 + rnorm(n, sd=sd), 
                             x, q0=q0, q1=q1, abs0=abs0, lwd=1.25, lty=3, col="Gray"))
  test(y, x, q0=q0, q1=q1, abs0=abs0, lwd=2, col="Black")
}

此代码接受参数确定线性模型:其系数,误差项的标准偏差,分位数q 0q 1,尺寸功能,以及独立的数模拟中的试验。第一个参数是每个试验中要模拟的数据量。它产生了一系列的图- x y yβ0+β1x+β2x2sdq0q1abs0n.trialsn(x,y)数据,残差的数据以及多次试验的qq图-帮助我们了解建议的试验如何在给定模型(由nbeta,s和确定sd)上工作。这些图的示例如下所示。

现在让我们使用这些工具,使用残差的绝对值来探索非线性和异方差性的一些现实组合:

n <- 100
beta0 <- 1
beta1 <- -1/n
sigma <- 1/n

size <- function(x) abs(x)
set.seed(17)
par(mfcol=c(3,4))
simulate(n, beta0, beta1, 0, sigma*sqrt(n), abs0=size, main="Linear Homoscedastic")
simulate(n, beta0, beta1, 0, 0.5*sigma*(n:1), abs0=size, main="Linear Heteroscedastic")
simulate(n, beta0, beta1, 1/n^2, sigma*sqrt(n), abs0=size, main="Quadratic Homoscedastic")
simulate(n, beta0, beta1, 1/n^2, 5*sigma*sqrt(1:n), abs0=size, main="Quadratic Heteroscedastic")

xxx与低残差相关联的值; 经过多次试验,出现了可能的qq图的灰色信封。我们对这些包络线如何以及在多大程度上随基本线性模型的变化而感兴趣:强烈的变化意味着良好的区分度。

绝对值

xxx值。

让我们使用完全相同的数据执行相同的操作,但是自己分析残差。为此,在进行此修改后,重新运行了先前的代码块:

size <- function(x) x

残差

x

也许结合 将这两种技术可行的。这些模拟(及其变化,有兴趣的读者可以随意进行)表明这些技术并非没有优点。

x(x,y^x)我们可以预期,所提出的测试不如像Breusch-Pagan这样的基于回归的测试那么强大


2

我同意你的两个观点。如果模型不足,则残差可能不会近似独立且分布均匀。重要的变量可能已被忽略,或者回归变量的功能形式可能是错误的。如果是这种情况,我将使用标准回归诊断程序来确定问题,而不是此。同样,您可以在模型中以正确的函数形式获得正确的变量,但仍然具有非常量的方差。仅通过绘制Ë一世 反对 X一世。我可以说是想通过某种形式的残差在模型中找到离群值,但是随后我建议使用一种影响函数方法来检测它们。我看不到此过程完成了什么。

其他人则评论说,这可能只是一种探索工具,以查看是否应分别对两个数据集进行建模。如果是这种情况,则此方法以及其他探索性方法都可以。但是问题就变成了下一步该怎么做?如果要进行两个单独的回归并推断出样本,我认为您需要以某种方式考虑样本拆分的方式。


0

我猜想这样做可能有多种动机,例如,假设残差是一致的,那么您提到的方法可能会有助于识别离群的观测值,因此第二步提供了“校正”估计量。但是,还有更严格的技术可以执行异常值检测或提供对此类观测值存在鲁棒性的估计器,例如分位数回归,LMS(最小二乘方中位数)或M估计器等,其中所有这些方法均已明确定义和已知的统计属性。(@Michael Chernik对此表示感谢)

其他动机可能是群集识别,但是与可以很好定义和广泛实施的可用的群集检测技术相比,这是原始的。

在这两种情况下,使用残差似乎都是非正式且原始的,但仍可以作为探索工具而容忍。这也取决于读者的领域。对于一些定量工具可能不那么受欢迎的社会科学,我会认为这是可以接受的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.