我对Wilcoxon签名等级测试的结果有疑问:
我的数据包括两组(配对)的试验,其中使用了治疗。结果以%表示。团体由131人组成。
当我在R中运行测试时,我得到以下结果:
wilcox.test(no.treatment, with.treatment, paired=T)
# Wilcoxon signed rank test with continuity correction
# data: no.treatment and with.treatment V = 3832, p-value = 0.7958
# alternative hypothesis: true location shift is not equal to 0
我想知道V
值意味着什么。我在某处读到它与积极分数(?)的数量有关,但我想知道它是否可以告诉我有关数据和解释的任何信息?
答案 0 :(得分:3)
V的值并不表示阳性分数的数量,而是这些阳性分数的总和。 同样,该测试未提供负得分总和的度量。以下示例提供了一个简短的脚本,用于计算正分数和负分数的总和:
a <- c(214, 159, 169, 202, 103, 119, 200, 109, 132, 142, 194, 104, 219, 119, 234)
b <- c(159, 135, 141, 101, 102, 168, 62, 167, 174, 159, 66, 118, 181, 171, 112)
diff <- c(a - b) #calculating the vector containing the differences
diff <- diff[ diff!=0 ] #delete all differences equal to zero
diff.rank <- rank(abs(diff)) #check the ranks of the differences, taken in absolute
diff.rank.sign <- diff.rank * sign(diff) #check the sign to the ranks, recalling the signs of the values of the differences
ranks.pos <- sum(diff.rank.sign[diff.rank.sign > 0]) #calculating the sum of ranks assigned to the differences as a positive, ie greater than zero
ranks.neg <- -sum(diff.rank.sign[diff.rank.sign < 0]) #calculating the sum of ranks assigned to the differences as a negative, ie less than zero
ranks.pos #it is the value V of the wilcoxon signed rank test
[1] 80
ranks.neg
[1] 40
学分:https://www.r-bloggers.com/wilcoxon-signed-rank-test/ (它们也为此提供了一个很好的上下文。)
您也可以将这两个数字与它们的平均值进行比较(在本例中为60),这将是每侧的期望值,即,正数级之和为60,负数级之和为60表示两边完全相等。正值总计80的负数和负值总计40的负数也可以视为等效吗? (即我们是否可以将这种“ 20”的差异归因于随机原因,或者该距离足以使我们拒绝无差异的假设?)
因此,正如他们所解释的,这种情况的临界间隔为[25,95]。在表上检查Wilcoxon秩签名检验的临界值,此示例的临界值为25(两尾测试中15对,在5%时;和120-25 = 95 ...)。这意味着间隔[40,80]不够“大”,无法丢弃差异纯粹是由于随机采样引起的可能性。 (始终,p值在alpha之上。)
将正值总和与负值总和进行比较有助于确定差异的显着性,从而丰富了分析范围。另外,输入正排名本身是为了计算测试的p值,因此对它们感兴趣。
但是,仅从简单报告的正等级(V)的总和中提取含义,我认为这并不简单。在提供信息方面,我认为最少要做的就是也检查负面排名的总和,以便对正在发生的事情有一个更一致的认识。 (当然,还有一般信息,例如样本量,p值等)。
答案 1 :(得分:2)
在回答你的问题之前,我会给出一些背景知识。
The Wilcoxon signed rank sum test比较同一N
人(此处为131)之间的两个值,例如在两个时间点测量了131人的血液值。测试的目的是看血液值是否已经改变。
您获得的V
- 统计信息没有直接解释。此值基于两组中个体之间的成对差异。它是变量的值,应该遵循一定的概率分布。直观地说,您可以说V
的值越大,您采样的两组之间的差异就越大。
与假设检验一样,您(嗯,wilcox.test
函数)将计算该变量的值(V
)等于或大于3832的概率
prob('observing a value of 3832 or larger, when the groups are actually the same')
如果两组之间确实没有差异,V
的值将接近零&#39;。您看到的值V
是否接近零&#39;取决于概率分布。对于这个变量,概率分布并不简单,但幸运的是,wilcoxon
知道分布并为你计算概率(0.7958)并不重要。
您的论坛没有显着差异,V
没有明确的解释。
答案 2 :(得分:2)
函数wilcox.test()
产生的 V 统计量可以在R
中进行如下计算:
# Create random data between -0.5 and 0.5
da_ta <- runif(1e3, min=-0.5, max=0.5)
# Perform Wilcoxon test using function wilcox.test()
wilcox.test(da_ta)
# Calculate the V statistic produced by wilcox.test()
sum(rank(abs(da_ta))[da_ta > 0])
用户 MrFlick 回答了这个问题,提供了以上答案:
How to get same results of Wilcoxon sign rank test in R and SAS。
Wilcoxon W 统计信息与 V 统计信息不同,可以在R
中进行如下计算:
# Calculate the Wilcoxon W statistic
sum(sign(da_ta) * rank(abs(da_ta)))
可以将以上统计信息与Wilcoxon概率分布进行比较以获得p值。 Wilcoxon分布没有简单的公式,但可以使用蒙特卡洛模拟法进行模拟。
答案 3 :(得分:0)
我也对这个看似神秘的“ V”统计感到困惑。我意识到这里已经有一些有用的答案,但是当我初读它们时,我并没有真正理解它们。因此,在这里我将以我终于理解它的方式再次对其进行解释。希望对其他仍然感到困惑的人有所帮助。
V统计量是分配给具有正号的差异的等级的总和。意思是,当您运行Wilcoxon Signed Rank测试时,它将计算出负排名之和(W-)和正排名之和(W +)。测试统计量(W)通常是(W-)或(W +)的最小值,但是V统计量只是(W +)。
要理解这一点的重要性,如果原假设为真,则(W +)和(W-)将相似。这是因为给定样本数(n),您的(W +)和(W-)将具有最大可能的组合值,或(W +)+(W-)= n(n + 1)/ 2。如果此最大值被平均分配,则配对的样本集之间不会有太大的差异,我们接受零值。如果(W +)和(W-)之间的差异比配对样本集之间的差异大,那么我们就有其他假设的证据。差异的程度及其意义与W的临界值图有关。
在这里特别有用的站点可以检查概念是否仍不是100%:
1。)https://mathcracker.com/wilcoxon-signed-ranks
2。)https://sphweb.bumc.bu.edu/otlt/mph-modules/bs/bs704_nonparametric/BS704_Nonparametric6.html)
3。)https://www.youtube.com/watch?v=TqCg2tb4wJ0
TLDR;在(W +)小于(W +)或(W-)的情况下,R报告的V统计量与W统计量相同。