Форум врачей-аспирантов

Здравствуйте, гость ( Вход | Регистрация )

5 страниц V   1 2 3 > »   
Добавить ответ в эту темуОткрыть тему
> Критерий для анализа сверхмалых выборок, выборки из 3 значений. Применение стат. анализа
Vitek_22
сообщение 25.05.2022 - 12:45
Сообщение #1





Группа: Пользователи
Сообщений: 17
Регистрация: 7.12.2012
Пользователь №: 24440



Салют! Столкнулся с проблемой сравнения двух выборок, в каждой из которых по 3 значения. Это результаты иммуноблоттинга (определение концентрации целевого белка в пробе) очень ценных образцов, полученных от трансгенных животных. Но их - образцов, было всего 3 для каждой из групп (2 группы: интактная и подвергнутая воздействию исследуемого фактора). Покопавшись в литературе, нашёл статьи, где есть такие выборки и авторы как ни в чём не бывало используют t-критерий Стьюдента для сравнения средних. Нашёл статьи, где используют U-критерий Манна-Уитни... Скажем так, в биологии 3 образца - это нормально для публикации, если речь идёт об особо ценном и сложнополучаемом биоматериале (к примеру как у меня, когда животные практически не дают потомства). Т.е. представить эти данные можно и не стыдно. Но вот как сравнить, как показать, что эти выборки отличаются статистически значимо, иными словами, что наш исследуемый фактор значимо повлиял на концентрацию целевого белка?
Почитал ещё о таком методе, как ресамплинг или бутстреп, когда объём выборки искусственно увеличивают. Ну, не знаю насколько это правильно... также не нашёл софт и чёткого понимания как это сделать у меня нет.
Работаю в проге Statistica 12

Посоветуйте, как всё же обработать эти данные. Вот пример исходных цифр:
Выборка 1:
221,60112
305,217725
295,251684

Выборка 2:
371,3313
397,452722
437,212724
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 26.05.2022 - 08:42
Сообщение #2





Группа: Пользователи
Сообщений: 1114
Регистрация: 10.04.2007
Пользователь №: 4040



В принципе любая непараметрика. Можно посмотреть критерий рандомизации для независимых или для связанных выборок (он же критерий рандомизации компонент Фишера, он же критерий рандомизации Фишера-Питмана). На русском языке в справочнике Руниона хорошо описан.


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Vitek_22
сообщение 26.05.2022 - 10:41
Сообщение #3





Группа: Пользователи
Сообщений: 17
Регистрация: 7.12.2012
Пользователь №: 24440



Игорь, спасибо. А как обосновать использование этого критерия?

В Statistica 12 не нашёл Fisher-Pitman permutation test. Какую программу посоветуете для расчёта?

Сообщение отредактировал Vitek_22 - 26.05.2022 - 12:23
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
100$
сообщение 26.05.2022 - 17:46
Сообщение #4





Группа: Пользователи
Сообщений: 902
Регистрация: 23.08.2010
Пользователь №: 22694



Цитата(Vitek_22 @ 26.05.2022 - 10:41) *
А как обосновать использование этого критерия?


Утилитарными соображениями:
- асимптотическое распределение здесь не подойдет, т.к. выборки уж очень малы;
- если допредельное распределение можно вычислить точно, значит, так и надо поступить.

Для вашей цифири асимптотический двусторонний достигнутый уровень значимости критерия Манна - Уитни (нормальная аппроксимация) - р=0,05.
Точный двусторонний - р=0,1.
Нулевая гипотеза на 5%-ном уровне значимости не отвергается.


Из более-чем-тыщестраничной монографии Д.Шескина в свое время вынес рекомендацию, восходящую к кому-то из великих, что если заменить числовые значения выборочных данных их рангами, и на этих рангах проделать двухвыборочный тест Стьюдента, до достигнутый уровень значимости очень похож на таковой, полученный при применении критерия Манна - Уитни. В вашем случае тест Стьюдента с неизвестными неравными дисперсиями дает двустороннее р=,021213.

Нулевая гипотеза отвергается на 5%-ном уровне значимости.

Критерий Лемана - Розенблатта (асимптотический) р=,034.
Критерий Смирнова (асимптотический) р=,04.
Ван дер Вардена (асимптотический) р=,055.

В общем, красота.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 31.05.2022 - 07:07
Сообщение #5





Группа: Пользователи
Сообщений: 1114
Регистрация: 10.04.2007
Пользователь №: 4040



Цитата(Vitek_22 @ 26.05.2022 - 10:41) *
Какую программу посоветуете для расчёта?

1. Пробная 30-дневная версия StatXact.
2. AtteStat (работает как надстройка 32-разрядной Excel для Windows).
3. В R есть функция twoSamplePermutationTestLocation.

Сообщение отредактировал Игорь - 3.06.2022 - 18:45


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
ИНО
сообщение 5.06.2022 - 23:55
Сообщение #6





Группа: Пользователи
Сообщений: 204
Регистрация: 1.06.2022
Из: Донецк
Пользователь №: 39632



Вот-только при помощи перестановок Вы никогда не достигните уровня значимости ниже 0,05 при столь малых объемах выборок, независимо от величины различий. Иллюстрация (на R):

Код
x<-c(221.60112, 305.217725, 295.251684, 371.3313, 397.452722, 437.212724)
group<-factor(c(rep(1,3), rep(2, 3)))
df<-data.frame(x, group)
library(coin)
oneway_test(x~group, data=df, distribution="exact")
wilcox_test(x~group, data=df, distribution="exact", conf.int=T)

# Обратите внимание, что границы 95% доверительного интервала для медианной разности не определены.

#Понизим доверительный уровень:
wilcox_test(x~group, data=df, distribution="exact", conf.int=T, conf.level = 0.9)
# Нижняя границы 90% ДИ определена, верхняя - бесконечность.

# А теперь фокус-покус:
df2<-df
df2$x[4:6]<-df$x[4:6]*100000

#Этим мы увеличили значения всех вариант выборки ?2 в сто тысяч раз, то есть смоделировлан случай, когда и безо всякого статанализа колоссальные различия в параметрах положения распределений очевидны.

# Парадоксально, но уровень значимости точных тестов не поменялся:

oneway_test(x~group, data=df2, distribution="exact")
wilcox_test(x~group, data=df2, distribution="exact")

# А все потому, что тестовая статистика при перестановке может принимать всего лишь 20 значений:
choose(6, 3)

# Так что использование рандомизации для решения данной конкретной задачи - так себе идея.     
# А вот бутсреп работает:

library(confintr)
ci_mean_diff(x=df$x[1:3], y=df$x[4:6], type="boot", boot_type="bca", R=99999)

# Более того, даже 99,9% ДИ для разности средних не включает 0:
ci_mean_diff(x=df$x[1:3], y=df$x[4:6], type="boot", boot_type="bca", probs =c(0.0005, 0.9995), R=99999)

# То есть гипотеза о равенстве математических ожиданий откланяется на уровне значимости 0,001, чего, если я правильно понял, и желает ТС.


Насколько это соответсвует истине, не берусь судить, я вообще слабо понимаю идею бутстрепа, в отличие от рандомизации, но обычно BCa хвалят. Но все же я не встречал ни одного сравнительного исследования статистических методов на столь малых выборках. Обычно начинают от 6 - 7. Тестировал ли Эфрон свой BCa на 3 и 3?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 9.06.2022 - 13:53
Сообщение #7





Группа: Пользователи
Сообщений: 1114
Регистрация: 10.04.2007
Пользователь №: 4040



Цитата(Vitek_22 @ 25.05.2022 - 13:45) *
Посоветуйте, как всё же обработать эти данные. Вот пример исходных цифр:
Выборка 1:
221,60112
305,217725
295,251684

Выборка 2:
371,3313
397,452722
437,212724

StatXact и AtteStat проверить не удалось, ибо для первого нужна ОС Windows, а для второго еще и Excel. Поэтому взял StatAnt. В доступной для скачивания версии критерия рандомизации нет, но он есть в используемой в проекте (также и в AtteStat) библиотеке ME.com. Поэтому добавил пару строчек в StatAnt. Результат для предложенных данных:
Часть 2: Статистика двух выборок
Численность первой выборки 3
Численность второй выборки 3
Параметрические критерии
Критерий Стьюдента (положение): t = 3.92672, p = 0.991425
Критерий Пагуровой (положение): t = 3.92672, p = 0.0134883
Парный критерий Стьюдента (положение): t = 7.10564, p = 0.990382
F-критерий Фишера (рассеяние): t = 1.89526, p = 0.345392
Коэффициент корреляции Пирсона: r = 0.730407, p = 0.76067
95% доверительный интервал = [-1; 1]
Непараметрические критерии
Критерий Вилкоксона (положение): t = 6, p = 0.959572
Критерий Муда-Брауна (положение): t = 0, p = 0.0126737
Критерий Ансари-Бредли (рассеяние): t = 6, p = 0.5
Критерий Клотца (рассеяние): t = 1.49241, p = 0.5
Критерий Зигеля-Тьюки (рассеяние): t = 10, p = 0.41363
Permutation tests
Fisher-Pitman permutation test (independent samples): t = 1, p = 0.05

На выбор теста могут оказывать помимо математических соображений еще и социальные.


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
ИНО
сообщение 9.06.2022 - 16:05
Сообщение #8





Группа: Пользователи
Сообщений: 204
Регистрация: 1.06.2022
Из: Донецк
Пользователь №: 39632



Сдается мне, Ваше творение нагло врет, по крайней мере, по некоторым тестам, включая, как ни странно, Стьюдента.

Код
x<-c(221.60112, 305.217725, 295.251684, 371.3313, 397.452722, 437.212724)
group<-factor(c(rep(1,3), rep(2, 3)))
df<-data.frame(x, group)


Классический Стьюдент:
Код
t.test(x~group, data=df, var.eq=T)


Two Sample t-test

data: x by group
t = -3.9267, df = 4, p-value = 0.01715
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-218.46228 -37.48854
sample estimates:
mean in group 1 mean in group 2
274.0235 401.9989

Уэлч:
Код
t.test(x~group, data=df)


Welch Two Sample t-test

data: x by group
t = -3.9267, df = 3.6509, p-value = 0.02041
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-221.97871 -33.97211
sample estimates:
mean in group 1 mean in group 2
274.0235 401.9989

C Фишером-Питманом тоже несоответствие, однако там может быть нюанс в способе подсчета p. Остальные не проверял. Кстати, часть из них в данной ситуации применять было просто бессмысленно из-за грубого нарушения допущений, например Ансари-Бредли и все парные. И Аттестат, помнится, тоже нагло врал местами, как минимум, с критерием Барнарда (неправильный выбор мешающего параметра) и Лемана-Розенблатта (пропущена сортировка вариант по возрастанию). Но, по крайней, мере Стьюдента и Фишера-Питмана он выдавал так же, как R и прочие широкоизвестные.

Не сочтите за критиканство, это лишь свидетельство что когда один программист работает над б. м. сложным и объемным продуктом, который кроме него не тестирует более никто, то результат закономерно печален.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
100$
сообщение 9.06.2022 - 16:17
Сообщение #9





Группа: Пользователи
Сообщений: 902
Регистрация: 23.08.2010
Пользователь №: 22694



Цитата(Игорь @ 9.06.2022 - 13:53) *
Критерий Стьюдента (положение): t = 3.92672, p = 0.991425



У вас ошибочка вышла.

СТЬЮДРАСП(3,92672;4;2)=,01715.

Проще говоря, для рассматриваемого случая корректно будет

p (one-sided)=1-,991425= ,008575
p (two-sided)=2*(1-,991425)= ,01715.

Нулевая гипотеза на 5%-ном уровне отвергается со свистом.

Статистика - это вам не лобио кушать...

P.S. И вообще, Стьюдент и Пагурова здесь равны 3,926626.

P.P.S. Пока писал, ИНО уже обратил на это внимание.

Сообщение отредактировал 100$ - 9.06.2022 - 16:30
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 9.06.2022 - 20:08
Сообщение #10





Группа: Пользователи
Сообщений: 1114
Регистрация: 10.04.2007
Пользователь №: 4040



Спасибо коллегам за подробный разбор. Проверил. Сначала огорчился. Но при анализе ошибок не обнаружил ни в своем посте, ни в постах уважаемых коллег (сделал небольшую поправку в документацию). Грубо говоря - одно и то же. Исправлять нечего. Следовало бы, конечно, пояснить, что такое p в листинге. В AtteStat это сделано, в том числе в руководстве, в StatAnt - нет. Последний проект вообще специфический - он был сделан не для пользователей, а для быстрой отладки расчетных методов студентами, использовался в качестве основы для пары дипломных проектов (продвинутые факторный анализ и разложения временных рядов - результаты в проект не вошли). Про Барнарда и Лемана-Розенблатта не могу согласиться - в текущем виде всё в порядке. Хотя за давностью уже не помню - возможно, какие-то версии и попали в состоянии отладки. Последняя на sourceforge лежит, пока не выгнали.

Впрочем, оба проекта давно (лет 7) не развиваются, не тестируются, известные ошибки не исправляются. Просто никому не нужно.

P.S. Автор отнюдь не наглый. И программы тоже.

Сообщение отредактировал Игорь - 9.06.2022 - 20:09


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
ИНО
сообщение 9.06.2022 - 22:28
Сообщение #11





Группа: Пользователи
Сообщений: 204
Регистрация: 1.06.2022
Из: Донецк
Пользователь №: 39632



Цитата
Грубо говоря - одно и то же. Исправлять нечего. Следовало бы, конечно, пояснить, что такое p в листинге.

Однак ж... У Вашей новой программы какая-то альтернативная трактовка p, отличная от общепринятой?

Посчитал и понял: StatAnt для Стьюдента выдает 1-p (одностороннее). Понять бы еще зачем. Для конспирации? Особо интересует, почему в случае с Пагуровой прога ведет себя наоборот, то есть, как и положено во всем остальном мире unknw.gif Студентов, которым приходится тайну сию объяснять, как-то жалко стало.

Версия Аттестата у меня была 13.1. Скачал с этого нехорошего Сорсефоржа версию 13.2. Нехорошего, потому что он сначала подверг обидной дискриминации мой айпишник со словами: "Your request is being denied as it appears to be coming from a location banned by our Terms of Use", поэтому пришлось пользовать прокси. Вдвойне обидно, что все было зря: новая версия не отличается от предыдущей: Леман-Розенблатт без предварительной сортировки выборок по возрастанию все так же показывает погоду на Луне. Барнарда уж проверять не стал. В общем, спасибо за с пользой проведенное время!

P.S. Последние несколько лет единственное, для чего безбоязненно использую Аттестат - транспонирование таблиц. Уж больно оно штатными средствами Экселя муторно делается. Если б Аттестат принимал не только числовые данные, цен б ему не было. А вот для статанализа без предварительных проверок стрёмно - х. з., что он там насчитает. А уж после проверок, если результат сошелся, то уже особого смысла в Аттестате, как легкой кнопочной надстройки Экселя вместо R (кодинг - не мое) особого смысла-то и не остается. Не в обиду будь сказано - просто констатация суровой реальности.

Сообщение отредактировал ИНО - 9.06.2022 - 22:44
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
ИНО
сообщение 9.06.2022 - 23:21
Сообщение #12





Группа: Пользователи
Сообщений: 204
Регистрация: 1.06.2022
Из: Донецк
Пользователь №: 39632



Цитата(100$ @ 9.06.2022 - 16:17) *
P.S. И вообще, Стьюдент и Пагурова здесь равны 3,926626.

Почему? У меня Стьюдент получился (почти ручками) (-)3.926721. Нужна поправка какая-то хитрая для малых выборок?

Сообщение отредактировал ИНО - 9.06.2022 - 23:22
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
100$
сообщение 10.06.2022 - 10:08
Сообщение #13





Группа: Пользователи
Сообщений: 902
Регистрация: 23.08.2010
Пользователь №: 22694



Цитата(ИНО @ 9.06.2022 - 23:21) *
Почему? У меня Стьюдент получился (почти ручками) (-)3.926721. Нужна поправка какая-то хитрая для малых выборок?


Ваша правда: я округлил исходные данные. Очень уж лениво было по 4 знака после запятой набивать. Для ранговых методов это несущественно, а параметрика вся исказилась...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 10.06.2022 - 13:15
Сообщение #14





Группа: Пользователи
Сообщений: 1114
Регистрация: 10.04.2007
Пользователь №: 4040



Цитата(ИНО @ 9.06.2022 - 22:28) *
Однак ж... У Вашей новой программы какая-то альтернативная трактовка p, отличная от общепринятой?

Это результат подстановки значения критерия в обратную функцию распределения. Из-за особенности вычисления нужно смотреть, что именно вычисляется (p, 1-p, 2p и т.п.) и выдавать правильное значение. В AtteStat это сделано. Здесь нет. В-общем это можно сделать в самих функциях распределения, но такого рода промежуточные вычисления используются в других алгоритмах. Резюмируя - считается правильно, выводится не то (не проблема - всё-равно никто не пользуется). Еще один момент - формулировка гипотезы: в общем случае (не для всех тестов) две односторонних и одна двусторонняя. Результат тоже нужно правильно интерпретировать. По идее нужны редизайн приложения и хорошее тестирование. Просто взяться и аккуратно сделать.
Цитата(ИНО @ 9.06.2022 - 22:28) *
Леман-Розенблатт без предварительной сортировки выборок по возрастанию все так же показывает погоду на Луне.

Посмотрел, согласился, подправил (пара строчек кода) библиотеку, но исправлять AtteStat не буду - поздно уже. Опять же нет качественно просчитанных примеров для сравнения.
Цитата(ИНО @ 9.06.2022 - 22:28) *
Барнарда уж проверять не стал. В общем, спасибо за с пользой проведенное время!

Посмотрел свои записи. Там считается оптимальное значение параметра сначала глобальным поиском, потом уточняется. Не думаю, что в этом месте ошибка, но проверять нужно на хороших данных.
Цитата(ИНО @ 9.06.2022 - 22:28) *
Не в обиду будь сказано - просто констатация суровой реальности.

Да согласен абсолютно - давно собирался прикрыть проект, но некоторым он зачем-то нужен. Проверять некому, а это главное. Что-то протестировано неплохо, если кого-то интересовали определенные методы. Создавать новый проект тоже смысла не вижу. Не окупится из-за малой востребованности.

Попутно при нашем обсуждении проблемы пару моментов хотелось упомянуть. Первое - на столь малых выборках будет дикая ошибка второго рода. Достаточно посмотреть функции мощности. Так что результат вычислений можно смело считать чепухой. Интересно, что малые выборки возникают достаточно часто. Например, биохимики мне такие данные приносили, причем в выборке численностью 3-4-5 варианты отличались на 3 порядка. Говорят, что такие данные у них - норма.

Второе (апологетов прошу не обижаться). Если статистику (встроенную) в Excel еще как-то можно посчитать - ну чепуха в документации, да не считаются некоторые распределения - черт с ними, то статистика в Gnumeric и LibreOffice Calc - полный атас. Первый пакет сразу удалил, в статистику во втором сам заходить не буду и другим не посоветую.

Сообщение отредактировал Игорь - 10.06.2022 - 13:22


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
ИНО
сообщение 10.06.2022 - 14:00
Сообщение #15





Группа: Пользователи
Сообщений: 204
Регистрация: 1.06.2022
Из: Донецк
Пользователь №: 39632



Очевидно, сии подделки экселя прозрачно намекают, что на пути самурая линухоида в статанализе R сам собой разумеется smile.gif

Насчет потери мощности на малых выборках, видимо, она особо катастрофична именно перестановочных критериях, если порядок количества возможных уникальных перевыборок равен или меньше 1-альфа. И это в большей степени артефакт метода подсчета p, нежели общая проблема теории статистики. Видимо, надо почитать о возможных методах преодоления. На то, что они существуют, намекают перестановочные тесты в некоторых кнопочных программах, которые в таких случаях выдают что-то, похожее на правду. Например, для рассматриваемой задачи некий "Permutation t test" в PAST выдает p=0,033 (что довольно похоже на p=0,02 двустороннего Уэлча), и я ума не приложу, как он его получает (обычный метод случайной перестановки t-статистики дает все то же p=0,1 +/- сотые, так что в ПАСТе что-то другое). Надо документацию почитать.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

5 страниц V   1 2 3 > » 
Добавить ответ в эту темуОткрыть тему