Существует ли вариант с несколькими выборками или альтернатива тесту Колмогорова-Смирнова?


12

Я сравниваю распределение по размеру деревьев на шести парах участков, где один участок подвергался обработке, а другой - контролю. Используя тест Колмогорова-Смирнова на каждой паре графиков, я обнаружил, что находится в диапазоне от 0,0003707 до 0,75 . Существуют ли какие-либо подходящие методы для работы со всеми репликами вместе, например, расширение KS-теста для нескольких образцов, или есть соответствующий последующий тест? Или я должен просто заключить что-то вроде: «Распределение по размерам значительно отличается ( р < 0,05 ) в 2 парах графиков и незначительно ( р = 0,59 ) в одной паре графиков».п0.00037070,75(п<0,05пзнак равно0,59


2
Что вы хотите сравнить в этих распределениях, в том, что они отличаются по центральной тенденции или по форме? Я склонен думать о KS как о форме / характере распределения, но что-то вроде теста Фридмана может определить, что выборки отличаются по центральной тенденции.
gung - Восстановить Монику

Ответы:


13

р2


5
Ну, недостаток этой «красивой» статьи Бёма и Хорника в том, что, насколько я могу судить, нет общедоступной реализации. Математика достаточно сложна, чтобы вам не хотелось ее реализовывать самостоятельно. Я отправил по почте авторов и спросил их, но они не ответили. Обратите внимание, что Hornik является членом группы разработчиков R Core ... Если кто-то знает о реализации, пожалуйста, опубликуйте ссылку здесь!
Ларикс Децидуа

8

Существует R-пакет kSamples , который, помимо прочего, дает непараметрический критерий Андерсона-Дарлинга для k-выборки. Нулевая гипотеза состоит в том, что все k выборок пришли из одного и того же распределения, которое не нужно указывать. Может быть, вы можете использовать это.

Небольшой пример сравнения нормальных и гамма-распределенных выборок, масштабированных таким образом, чтобы они имели одинаковое среднее значение и дисперсию:

library("kSamples")
set.seed(142)
samp.num <- 100
alpha <- 2.0; theta <- 3.0  # Gamma parameters shape and scale, using Wikipedia notation
gam.mean <- alpha * theta # mean of the Gamma
gam.sd <- sqrt(alpha) * theta # S.D. of the Gamma
norm.data <- rnorm(samp.num, mean=gam.mean, sd=gam.sd)  # Normal with the same mean and SD as the Gamma
gamma.data <- rgamma(samp.num, shape=alpha, scale=theta)
norm.data2 <- rnorm(samp.num, mean=gam.mean, sd=gam.sd)
norm.data3 <- rnorm(samp.num, mean=gam.mean, sd=gam.sd)
ad.same <- ad.test(norm.data,norm.data2,norm.data3) # "not significant, p ~ 0.459"
ad.diff <- ad.test(gamma.data,norm.data2,norm.data3) # "significant, p ~ 0.00066"

4

Пара подходов:

Используйте попарные p-значения, но скорректируйте их для множественных сравнений, используя что-то вроде корректировок Bon Feroni или False Discovery Rate (первое, вероятно, будет немного более консервативным). Тогда вы можете быть уверены, что все, что по-прежнему существенно отличается, возможно, не из-за многократного тестирования.

Вы можете создать общий тест на вкус KS, найдя наибольшее расстояние между любым из распределений, то есть построить все эмпирические cdf и найти наибольшее расстояние от самой нижней линии до самой верхней линии, или, может быть, среднее расстояние или какое-то другое значимое измерения. Затем вы можете выяснить, насколько это важно, выполнив тест перестановки: сгруппируйте все данные в 1 большую корзину, затем случайным образом разбейте их на группы с теми же размерами выборки, что и ваши исходные группы, пересчитайте статистику для переставленных данных и повторите процесс много раз (999 или около того). Затем посмотрите, как ваши исходные данные сравниваются с переставленными наборами данных. Если исходные статистические данные попадают в середину переставленных статистических данных, значительных различий не обнаружено, но если они находятся на границе, или за пределами любого из переставленных, тогда происходит что-то существенное (но это не говорит вам, что отличается). Вероятно, вам следует попробовать это с смоделированными данными, когда вы знаете, что есть разница, которая достаточно велика, чтобы быть интересной, просто чтобы проверить мощь этого теста, чтобы найти интересные различия.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.