如何最好地可视化单样本测试?

机器算法验证 r 数据可视化 威尔克森符号秩
2022-03-28 04:29:58

我们目前正在撰写一篇包含几个单样本 Wilcoxon 测试的论文。虽然通过boxplots可视化两个样本测试很容易,但我想知道是否有任何好的方法可以可视化一个样本测试结果?

# Example data
pd <- c(0.80, 0.83, 1.89, 1.04, 1.45, 1.38, 1.91, 1.64,
        0.73, 1.46, 1.15, 0.88, 0.90, 0.74, 1.21)

wilcox.test(pd, mu = 1.1)

#   Wilcoxon signed rank test
#
# data:  pd
# V = 72, p-value = 0.5245
# alternative hypothesis: true location is not equal to 1.1

...并且:

我想获得 Z 值而不是 V 值。我知道如果我使用coinpackage 而不是 basicstats我将有 z 值,但coinpackage 似乎无法执行单样本 Wilcoxon 测试。

2个回答

像这样的东西?

一个示例箱线图

或者你是在中位数的某个间隔之后,就像你得到带有缺口的箱线图(但自然适合一个样本比较)?

这是一个例子:

在此处输入图像描述

这使用了 McGill 等人建议的区间(参考文献中的区间?boxplot.stats)。实际上可以使用缺口,但这可能会增加将其解释为普通缺口箱线图的机会。

当然,如果您需要一些东西来更直接地复制有符号秩检验,可以构建各种东西来做到这一点,甚至可以包括伪中位数的间隔(即单样本 Hodges-Lehmann 位置估计,中位数成对平均值)。

确实,wilcox.test可以为我们生成必要的信息,所以这很简单:

> wilcox.test(pd,mu=1.1,conf.int=TRUE)

    Wilcoxon signed rank test

data:  pd
V = 72, p-value = 0.5245
alternative hypothesis: true location is not equal to 1.1
95 percent confidence interval:
 0.94 1.42
sample estimates:
(pseudo)median 
        1.1775 

这也可以绘制:

具有伪中位数符号秩区间的 boxp

[箱线图间隔较宽的原因是,当数据相当正态时,正态中位数的标准误差(这是基于 IQR 计算的假设)往往大于伪中位数的标准误差。]

当然,人们可能希望将实际数据添加到绘图中:

区间下带有抖动条形图的相同图


Z值

R 使用正等级的总和作为其测试统计量(这与测试的维基百科页面上讨论的统计量不同)。

Hollander 和 Wolfe 给出统计量的平均值为,方差为n(n+1)/4n(n+1)(2n+1)/24

因此,对于您的数据,平均值为 60,标准差为 17.61,z 值为 0.682(忽略连续性校正)


我用来生成第四个图的代码(也可以通过省略不需要的部分来完成前面的图)有点粗糙(它主要针对问题,而不是一般的绘图函数),但我想有人可能想要它:

notch1len <- function(x) {
  stats <- stats::fivenum(x, na.rm = TRUE)
  iqr <- diff(stats[c(2, 4)])
  (1.96*1.253/1.35)*(iqr/sqrt(sum(!is.na(x))))
}

w <- notch1len(pd)
m <- median(pd)

boxplot(pd,horizontal=TRUE,boxwex=.4)

abline(v=1.1,col=8)
points(c(m-w,m+w),c(1,1),col=2,lwd=6,pch="|")

ci=wilcox.test(pd,mu=1.1,conf.int=TRUE)$conf.int                       #$
est=wilcox.test(pd,mu=1.1,conf.int=TRUE)$estimate

stripchart(pd,pch=16,add=TRUE,at=0.7,cex=.7,method="jitter",col=8)

points(c(ci,est),c(0.7,0.7,0.7),pch="|",col=4,cex=c(.9,.9,1.5))
lines(ci,c(0.7,0.7),col=4)

稍后我可能会回来发布更多功能代码。

如果你喜欢箱线图,你可以很容易地用一条线或其他参考线显示一个箱线图,以显示你的假设值。(@Glen_b 在我第一次写这篇文章时发布了一个非常简单的例子的答案。)

可以说,现在非常流行的箱线图在单样本和双样本探索中被大量过度使用。(在我看来,它们的真正价值是当您比较多组值时,样本或组或变量的数量更像是 10、30 或 100,并且非常需要在大量可能的情况下查看整体模式细节。)

关键在于,只有一两个样本(组、变量),您就可以在图上留出空间来显示更多细节,这些细节可能很有趣或对比较很重要。有了好的设计,这样的细节就不会在视觉比较中分散注意力。

显然,在大多数常用版本中,箱线图会隐藏其箱内的所有细节,显示数据的中间一半,除非箱内的中位数位置传达了一些信息。根据所使用的确切规则,例如 1.5 IQR 约定单独显示数据点,当且仅当它们与最近的四分位数相差 1.5 IQR 或更多时,箱形图甚至有可能抑制另一半的大部分细节的数据。通常,甚至通常情况下,这样的细节可能与 Wilcoxon 测试之类的东西无关,但准备好在数据显示中看到一些启发性的东西总是一个好主意。

在许多领域中仍然严重未充分使用的显示是分位数图,它显示了有序值与相关累积概率的对比。(由于其他轻微的技术原因,对于样本大小,此累积概率通常不是 ,而是对于等级,1 是最小值的等级。 ) 1/n,,n/nn(i0.5)/ni

这是您的示例数据,其中为 1.1 添加了参考线。

在此处输入图像描述

在其他示例中,关键点包括

  • 对于两个样本的比较,可以在叠加迹线、并列迹线或使用相关图(例如分位数-分位数图)之间轻松选择。

  • 该图在一系列样本量上表现良好。

  • 离群值、粒度(很多联系)、间隙、双模态或多模态都将比箱形图更清楚地显示出来。

  • 分位数图与单调变换很好地结合在一起,这对于箱线图来说并非如此。

有些人会想指出累积分布图或生存函数图显示相同的信息,这对我来说很好。

请参阅 WS Cleveland 的书籍(详细信息请参见http://store.hobart.com/),了解对分位数图的克制但有效的倡导。

另一个非常有用的图是点图或条图(也有许多其他名称),但我想在这里为分位数图吹一个小号。

R 细节我留给别人。我在这里专注于更一般的统计图形问题,它显然跨越了统计科学和所有软件的可能性。

顺便说一句,我不知道背景故事,但wilcox.testR 中的名字对我来说似乎是一个糟糕的选择。因此,您节省了键入两个字符的时间,但名称会引起混淆,尤其是因为过去和现在在称为 Wilcox 的统计领域的人。曼恩和惠特尼缺乏正义是另一个细节。被授予荣誉的人是威尔科克森。