我如何解释或解释黄土图?

机器算法验证 r 回归 解释 黄土
2022-03-20 10:00:08

我使用了以下R代码:

ggscatter(DF_w, x = "Age", y = "Value", 
          add = "loess", conf.int = TRUE 
          ) 

得到这个情节: 黄土

但是,我不明白如何在科学论文或演示文稿中报告这一点。Age我理解该图表明 X和 Y之间存在非线性关系Value,直到晚年Value随着增加而下降时,存在一些可变性Age这就是它的全部吗?有没有办法表明这与黄土有显着关系,还是我需要进行常规回归/相关以确定显着性?

任何有关解释此类图的信息都值得赞赏。

2个回答

自举或置换测试(Stephan Kolassa 建议)将帮助您评估图中明显(但复杂)关联的重要性。

您需要对黄土拟合所取得的成就采取合理的衡量标准。 一种是均方残差。(还有很多其他的可能,但这里不讨论这个问题。)让我们称之为“损失”。

您还需要制定一个特定的零假设。 最简单的是数据没有趋势:也就是说,它们围绕一个共同值随机且独立地变化。用均方误差损失估计这个共同值的最佳方法是计算其算术平均值。有了足够多的数据——通常十个或更多的观察结果就足够了——响应(图中的“值”)和这个平均值之间的差异将只有轻微(负)相关,并且可以作为真正随机的替代品错误。

此设置中的排列分布是与进行 Loess 拟合后残差的所有可能排列(重新排序)相关的损失分布。在原假设下,所有这些排列都是同样可能的。

排列测试将实际损失与损失的排列分布进行比较。 实际上,后者是通过一些随机排列来估计的。(排列太多,无法全部生成。)


为了说明,这里生成的数据没有固有趋势以及从 500 次抽签估计的排列分布。垂直的红线显示了这些数据的损失:它接近中间。它的 p 值像往常一样为双边检验计算:红线将直方图左右分成两个区域,p 值是较小区域的两倍。非常小的 p 值被称为“显着”,并被视为某种趋势的证据。黄土图的形状(如左图)可帮助您解释该趋势可能是什么。

图1

较大的无痛 p 值与生成这些数据的无趋势方法一致。

对于更接近问题中的数据,结果是不同的:

图 2

的实际均方误差与排列分布的典型均方误差不一致:这是一个显着趋势。左侧的数据图表明趋势主要是平均值从60 岁下降到80 岁及以上0.0007350.310.25

顺便说一句,这两种情况下的实际统计数据具有大致相同的值也就不足为奇了:它们都估计了误差方差,在这两种情况下都等于但是,第二种情况下的曲线趋势导致简单拟合(在原假设下)更差,从而将排列分布转移到更高的值,正如您通过比较两个图所看到的那样。0.0252=0.000625


所需的R代码简单、清晰、高效。 fit执行 Loess 拟合,同时stat使用它来计算均方误差。

fit <- function(y, x, ...) lowess(x, y, ...)
stat <- function(y, x) mean((y -  fit(y, x)$y)^2) # Mean squared error loss

给定一个数据框对象X,其中ValueAge列分别存储响应和解释变量,置换分布是通过计算零假设下的预测值和残差来估计的,然后迭代地置换残差(使用sample函数)并重新计算损失。

  predicted <- mean(X$Value)
  residuals <- X$Value - predicted
  dsample <- replicate(5e3, stat(predicted + sample(residuals), X$Age))

在这种情况下,经过大约一秒钟的计算,dsample最终得到从排列分布中随机抽取的5e3(然后通过应用来创建数字以显示这些值。5000histdsample

  # Compute the p-value
  actual <- with(X, stat(Value, Age))
  stats <- c(actual, dsample)
  p <- mean(stats <= actual)
  p <- 2 * min(1/2, p, 1-p)
  # Display the results
  hist(dsample, freq=FALSE, xlim=range(stats),
       col=gray(.95),
       sub=paste("p-value is approximately", signif(p, 2)),
       main="Simulated Null Permutation Distribution",
       xlab = "Mean Squared Difference")
  abline(v = actual, lwd=2, col="Red") # The statistic for the data

一个警告:我必须通过为它的搜索半径指定一个相对较短的宽度来调整这个黄土拟合。这种情况经常发生。一个诚实的排列测试必须以某种自动方式实现这种微调并将其应用于每个排列。否则,原始的(手动调整的)拟合会太好,而得到的 p 值会太小——也许太小了。人们经常使用某种交叉验证技术来进行这种自动调整。

首先,同时显示原始数据是非常好的做法,这将黄土图置于上下文中。在这里,上下文是数据仍然存在很多变化。例如,最初的倾斜看起来很奇怪,很可能是由噪声引起的——我们之所以看到这一点,是因为我们看到了完整的点云,而不仅仅是带有置信带的黄土线。所以这很好。

你问了两个问题:一个是关于解释的,另一个是关于意义的。在解释方面,我会讨论右端的向下倾斜,但根据上面的说法,不要真正相信中间的下降。

就重要性而言,这更难。您可以尝试评估您的黄土模型是否比比较模型(例如仅截距模型(水平平线)或简单线性回归(倾斜直线))解释了数据中的更多变化。这就是方差分析所做的。问题是 ANOVA 中的标准 F 检验需要知道您的模型使用了多少参数(自由度)——而众所周知,这在黄土模型的情况下很难知道。Greg Snow如何找到平滑样条/黄土回归的 p 值的回答?在他的倒数第二段中给出了一些初步的想法(虽然没有根据方差解释,但他的想法可以适应这个检验统计量)。

然而,正如 Greg 在他的回答中指出的那样,可以在 ANOVA 框架中评估样条拟合的重要性。鉴于您的黄土拟合的可疑行为,我建议您尝试使用具有少量结的自然或受限三次样条拟合,然后针对更简约的线性拟合测试该样条拟合。