2015-12-06 2 views
2

Я выполняю парный тест Wilcoxon с простым набором данных и получаю неожиданные результаты. Сравнение групп A и C с использованием полного набора (A, B и C) возвращает значение p, отличное от сравнения A и C с подмножеством данных (только для групп A и C).Оценка суммы разряда Wilcoxon

dfx <- data.frame(group = c(rep('A', 8), rep('B', 15), rep('C', 6)), sex = sample(c("M", "F"), size = 29, replace = TRUE), age = runif(n = 29, min = 18, max = 54)) 
pairwise.wilcox.test(dfx$age, dfx$group, pool.sd=F, paired=F) 

Pairwise comparisons using Wilcoxon rank sum test 
data: dfx$age and dfx$group 
    A B 
B 0.55 - 
C 0.13 0.19 
P value adjustment method: holm 

dfx.ac<-dfx[which(dfx$group!='B'),] 
pairwise.wilcox.test(dfx.ac$age, dfx.ac$group, pool.sd=F, paired=F) 

Pairwise comparisons using Wilcoxon rank sum test 
data: dfx.ac$age and dfx.ab$group 
    A  
C 0.043 
P value adjustment method: holm 

Использование теста Wilcoxon по отдельным данным возвращает одно и то же значение p.

a<-dfx[which(dfx$group=='A'),]$age 
c<-dfx[which(dfx$group=='C'),]$age 
wilcox.test(a,c) 
W = 8, p-value = 0.04262 

wilcox.test(dfx.ac$age~dfx.ac$group) 
W = 8, p-value = 0.04262 

Что делать неправильно с pairwise.wilcox.test (DFX $ возраст, DFX $ группы, pool.sd = F, в паре = F)?

Такая же разница, если я сравниваю набор из 3 групп или 4 группы. dfx < - data.frame ( group = c (rep ('A', 8), rep ('B', 15), rep ('C', 6), rep ('D', 9)), пол = образец (с ("М", "F"), размер = 38, заменить = TRUE), возраст = runif (п = 38, мин = 18, макс = 54))

dfx.nb<-dfx[which(dfx$group!='B'),] 

pairwise.wilcox.test(dfx$age,dfx$group, pool.sd=F, paired=F) 
    A B C 
B 1.00 - - 
C 0.57 0.62 - 
D 0.56 0.56 1.00 

pairwise.wilcox.test(dfx.nb$age,dfx.nb$group, pool.sd=F, paired=F) 
    A C 
C 0.28 - 
D 0.28 0.95 

ответ

4

Проверьте ?pairwise.wilcox.test. Эта функция реализует коррекцию для множественного сравнения, которая учитывает разницу.

Edited добавить:

При выполнении одного сравнения, то р-значение P может означать, что вероятность получения наблюдаемых данных при нулевой гипотезе никакого эффекта равна P , Поэтому, если мы хотим убедиться, что вероятность наблюдения наших данных по нулевой гипотезе без эффекта меньше 0.05, нам просто нужно проверить, есть ли p<0.05 (в статистике мы называем порог значимости alpha и часто заинтересованы в том, p < alpha=0.05). Но если вы сравните большое количество групп, то вероятность того, что вы найдете хотя бы один p-value меньше alpha намного больше, чем альфа!

Например, представьте себе, что я делаю два независимых сравнения. Если нулевая гипотеза истинна, то каждая из них имеет вероятность 0,05, получая значение p менее alpha=0.05. Но шанс, что хотя бы один из них даст значение p менее alpha=0.05 is 1-0.95*0.95 = 0.0975. Таким образом, мы имеем почти 1-в-10 вероятность ошибки типа I (если нулевая гипотеза верна). Если мы проведем 100 сравнений, мы можем быть почти уверены, что мы совершим ошибку типа I, если мы будем интерпретировать наши p-значения некритически.

Чтобы избежать этого, мы можем «отрегулировать» значения p, чтобы гарантировать, что мы будем управлять частотой ошибок типа I. Самый консервативный вариант, известный как коррекция Бонферрони, заключается в том, чтобы отрегулировать alpha, разделив его на количество выполненных сравнений (что имеет эффект, похожий на умножение наших p-значений на количество сравнений).

pairwise.wilcox.test автоматически корректирует значения p, чтобы их можно было интерпретировать по отношению к alpha=0.05, не сильно раздувая коэффициент ошибок I типа. Чем больше сравнений вы делаете, тем больше p-значения нужно отрегулировать, чтобы контролировать частоту ошибок типа 1. [Отметим, что коррекция немного сложна, потому что три сравнения больше не полностью независимы друг от друга (это можно увидеть, отметив, что (a > b) & (b > c) подразумевает a > c). На практике мы обычно не учитываем эту не-независимость при выполнении корректировок.]

Метод настройки определяет, как pairwise.wilcox.test оценивает необходимую корректировку. Изменение метода настройки изменит детали того, как оценивается необходимая корректировка, и может изменить ваши значения p. Метод корректировки Holm предположительно реализует Holm-Bonferroni method.

+0

В обоих случаях я использую метод регулировки Holm. Единственное отличие состоит в том, что один набор содержит две группы, остальные три группы. Я сделал то же самое с 3 и 4 группами соответственно. – Pierre

+1

Но вы делаете другое количество сравнений в двух случаях! Я добавлю объяснение логики и цели нескольких тестовых поправок к моему ответу. –

+0

Хорошо, будет ли другая функция регулировки давать те же результаты? Я бы сравнил все группы друг с другом, как если бы я прокрутил их через wilco.test. – Pierre

Смежные вопросы