One-way ANOVA в GraphPad Prism
Привет, коллеги!
Продолжаем работать в GraphPad Prism. Предыдущие части можно найти по ссылкам:
А сегодня поговорим про сравнение трёх и более групп, отличающихся только по одному фактору, например, лечению. Допустим, мы давали одним крысам одно лекарство от болезни, другим другое, а третьим давали плацебо – они у нас контрольные. Для анализа полученных от трёх групп данных классически используется one-way ANOVA, разные его модификации или непараметрические аналоги. Ещё есть two-way, three-way ANOVA (или factorial ANOVA). В этом случае факторов, определяющих группы, может быть несколько, например, определяем эффекты лечения (фактор 1) у животных разного пола (фактор 2). Но о них и других видах ANOVA – в следующих сериях.
Само название ANOVA (ANalysis Of VAriance) или дисперсионный анализ происходит оттого, что тест сравнивает средние значения групп через анализ вариации (дисперсии) в данных. По сути, ANOVA отвечает на вопрос: насколько вариация между группами больше, чем вариация внутри групп?
На этом небольшая теоретическая преамбула окончена, давайте переходим в Prism. Как и в прошлый раз, работаем со стандартным датасетом Entering replicate data. Делаю так, чтобы была видна разница в дизайне эксперимента на одних и тех же данных для разных видов анализа, а ещё чтобы на специализированных стандартных датасетах (типа t-test или one-way ANOVA) вы потренировались сами.
Видим уже знакомую таблицу с тремя группами.
В прошлый раз мы сравнивали только две из них, так что время раскрыть все возможности. Здесь тоже важно понимать, связанные у нас выборки или нет. Если в нашей таблице в группах без лечения, с плацебо и лекарством были разные крысы, то выборки не связаны. Для такого дизайна эксперимента используется ordinary one-way ANOVA или его непараметрические аналоги. Если же мы взяли 5 крыс, сначала измеряли некий параметр без лечения, затем им же стали давать плацебо, а потом лекарство, продолжая свои измерения, то выборки будут связаны. Для них используется repeated measures one-way ANOVA. Такой дизайн не очень хорош с точки зрения интерпретации результата, но для разбора окошек в Prism – сгодится.
В окошке с анализом выбираем one-way ANOVA.
В первой вкладке, как обычно, выбираем дизайн эксперимента.
1. В Experimental Design выбираем между анализом независимых и связанных выборок (выше уже пояснила разницу).
2. Далее программа спрашивает, предполагаем ли мы нормальное распределение остатков. Если очень сильно упрощать, то ANOVA оценивает, насколько группы отличаются друг от друга и насколько различаются отдельные случаи внутри групп, и использует это сравнение, чтобы определить, значимо ли различаются средние значения по группам. При этом разница между значением в столбике и ожидаемым средним по группе определяется случайными факторами (а не группой), и эта разница и будет остатком. Так вот, для проведения ANOVA важно нормальное распределение остатков, а не исходных данных. Если это не соблюдается, то лучше использовать непараметрический тест: для независимых выборок это будет критерий Краскела-Уоллиса, а для связанных – критерий Фридмана.
3. Еще видим знакомую с t-теста историю с равным стандартным отклонением (SD). Опять же, считается, что для проведения теста дисперсия внутри групп должна быть одинаковой, иначе сложно сравнивать внутригрупповую дисперсию с межгрупповой. Здесь можем сразу поставить галочку напротив Brown-Forsythe and Welch ANOVA tests, а можем посмотреть дальше, что там по дисперсиям.
Посмотрим теперь, что с для repeated measures.
Здесь у нас также спрашивают про нормальность распределения остатков, а также про сферичность данных. Сферичность предполагает равенство дисперсий разностей между всеми комбинациями зависимых переменных. То есть, в нашем гипотетическом связанном эксперименте, если мы вычтем значения Untreated и Placebo, Untreated и treated, Treated и Placebo, то дисперсии этих разниц должны быть равны. В жизни это происходит очень редко, и на этот случай есть поправка Geisser-Greenhouse. С ней и останемся.
Следующая вкладка включается только для Repeated Measures ANOVA, то есть для случая, когда объекты у нас одни и те же.
ANOVA является частным случаем линейной регрессии, и если по остаткам это было непонятно, то вот тут она вылезает без прикрытия. Программа спрашивает, какой метод анализа для Repeated Measures ANOVA использовать.
1. Based on GLM (generalized linear model) – это обобщение обычной линейной регрессии (y=a+bx) для разных типов переменных. Вообще, эта модель требует сферичности данных, но мы уже сделали поправку. А вот что еще критично – так это требование к тому, чтобы все значения были на месте и не было пропущенных данных. Если это не так, что можно использовать
2. Mixed-effects model. Она не требует сферичности и учитывает случайные эффекты, то есть то, что у каждого объекта может быть своя динамика ответа. Плюс умеет работать с отсутствующими данными. Но результаты выводятся в немного непривычном виде. Мануал Prism пишет, что если нет пропущенных значений, то результаты на mixed-effect и repeated measures будут одинаковые.
3. В третьем варианте программа сама выбирает, что ей использовать: нет пропущенных данных – repeated measures ANOVA, а если есть, то mixed-model.
4. Далее нам задают интересный вопрос: what to do if a random effect is zero (or negative)?
В общем, внутри этой mixed model считаются различия между отдельными объектами, потому что все разные и на разные стимулы будут отвечать немного по-разному. И иногда она приходит к тому, что эти различия равны 0 или отрицательны (что невозможно). И тут два варианта:
- Либо мы убираем случайный эффект от субъекта и переходим к более простой модели (рекомендовано).
- Либо игнорируем несостыковки и пытаемся втиснуться в модель. Способы есть, но зачем это нужно, мне сказать сложно.
А мы тем временем перемещаемся на следующую вкладку с множественными сравнениями.
Суть в чем. Допустим, мы применяем ANOVA к нашим трём группам и анализ выдаёт нам p<0.05. Мы радостные говорим про значимые отличия, бежим к графику рисовать звёздочки…
Но не понимаем, между какими группами эти звёздочки рисовать. Потому что ANOVA сказала нам, что различия между группами есть, а вот где они – не сказала. И тогда нам на помощь приходят множественные сравнения, которые и позволяют сравнить все группы и найти, между какими всё-таки есть различия. Но важный нюанс: если ANOVA показала p>0.05, то сравнения групп проводить всё же не стоит: сначала дисперсионный анализ, потом всё остальное.
Итак, какие варианты:
1. Можно ничего не сравнивать и удовлетвориться только наличием каких-то различий.
2. Можно сравнить попарно все группы. В нашем случае: Untreated и Placebo, Untreated и treated, Treated и Placebo.
3. Можно сравнить все группы с одной контрольной. Например, Untreated и Placebo, Untreated и treated. Но вообще этой контрольной группой не обязательно должен быть именно контроль. Например, если мы сравниваем Untreated и treated, Treated и Placebo. Здесь мы ничего не узнаем про эффект плацебо, но зато увеличим мощность критерия.
4. Также программа предлагает нам просто выбрать, что и с чем сравнить. Например, в сложных дизайнах экспериментов с несколькими опытными и контрольными группами может не предполагаться сравнение некоторых из них, так как меняющихся параметров больше одного. Например, в нашем эксперименте может не предполагаться сравнение группы Untreated и treated, поскольку тут есть не только влияние лечение, но и факта приёма таблетки. Treated всё же лучше сравнивать с Placebo.
Но иногда выбор групп используют не совсем добросовестно. Дело в том, что, убирая сравнения, мы увеличиваем мощность критерия и, как правило, уменьшаем p-значение. Тогда учёный может провести сравнения всего со всем, выбрать группы, которые отличаются больше других, и повторить анализ только для них, получив меньшие p, а где-то и лишние звёздочки. Поэтому я рекомендую пользоваться этой имбой только если дизайн эксперимента реально не предполагает каких-то сравнений.
5. И наконец, последний вариант предполагает сравнивать каждую группу с предыдущей, отслеживая тем самым линейный тренд. Удобно бывает для repeated measures ANOVA.
Теперь идём в следующую вкладку с опциями.
1. И вот тут он у нас спрашивает про тест для множественных сравнений. Существует так называется проблема множественных сравнений: когда мы делаем много статистических тестов для одной группы, резко возрастает риск получить ложноположительный результат (ошибку первого рода) просто потому, что она уже закладывается в каждый тест. Из-за этого, например, данные фМРТ показывают активность мозга мёртвого лосося.
Чтобы избежать проблемы множественных сравнений, используются специальные тесты и поправки. И программа спрашивает у нас, какой тест ей выбрать. Для независимых выборок и сравнения всего со всем варианты будут такие:
Обычно я соглашаюсь с рекомендованными программой вариантами, и Tukey – достаточно оптимальный вариант. Поправка Бонферрони более известная, но очень жестит при большом количестве групп сравнения, ей сложно найти различия, даже если они есть. Sidak имеет схожие проблемы. Для увеличения мощности можно использовать Holm-Sidak, но он не умеет считать доверительные интервалы. Newman-Keuls оставлен разработчиками для совместимости со старыми версиями, но они его не рекомендуют, так как при его использовании ошибка первого рода всё равно большая.
Если мы на предыдущей вкладке делаем сравнение с одним средним, то у нас появляется новый рекомендованный тест Dunnett.
Для непараметрических тестов программа предлагает только один критерий.
А если на самой первой вкладке мы отказались от равенства дисперсий и использовали Brown-Forsythe и Welch ANOVA tests, то получим следующее:
Опять же, очень удобно, что программа подсказывает нам, что Games-Howell лучше использовать для больших выборок, от 50 значений.
2. Но помимо вышеперечисленных тестов на множественные сравнения, контролирующих вероятность хотя бы одной ошибки первого рода, есть ещё и вариант поправки через контроль False Discovery Rate. В этом случае контролируется доля ложноположительных результатов среди всех значимых. Этот вариант более мощный и может найти меньшие различия, но допускает немного больше ложных срабатываний. Он хорошо подходит там, где групп ну очень много и важнее не пропустить реальные эффекты, чем полностью исключить ложные, например, в геномике или в нейронауках. Для нашего случая из 3 групп использовать его нецелесообразно.
У этого критерия есть свои варианты.
3. А ещё Prism позволяет не делать поправку на множественные сравнения и делать попарные сравнения с помощью Fisher's Least Significant Difference (LSD) test. Но он не рекомендуется, так как увеличивается вероятность ложноположительного результата, и надо приготовить очень хорошее обоснование для рецензентов, почему вы вообще решили отказаться от поправок.
4. Далее в меню видим опции для множественного сравнения и обязательно ставим галочку на показ точного p-значения для каждого сравнения. Остальные пункты меню и вкладка с остатками нам уже знакомы по сравнению двух групп.
Однако тут я обязательно включу проверку на нормальность остатков и их гомоскедастичность, потому что я решила использовать классический вариант one-way ANOVA c множественными сравнениями всего со всем по методу Тьюки.
Результат сравнения будет такой:
Смотрим, что на первой вкладке ANOVA results.
Из строк 6-7 видно, что какие-то значимые различия между группами есть. Но, прежде чем переходить ко вкладке со множественными сравнениями, посмотрим, что говорят тесты на равенство дисперсий и нормальность остатков, а то вдруг мы не могли применять классическую ANOVA и надо провести анализ снова. Если что, это можно сделать здесь:
Итак, Brown-Forsythe test (строка 13-14) и Bartlett’s test (строка 19-20) говорят, что p > 0.05 и значимых различий между SD в группах нет, то есть условие равенства дисперсий выполнено. Все тесты на нормальность остатков (строки 30-33) тоже выдают p > 0.05, и значит, остатки распределены нормально.
На 9 строчке видим R square — это доля общей дисперсии, обусловленная различиями между средними значениями групп (а не внутригрупповыми). Чем больше этот параметр, тем большая часть вариации обусловлена воздействием, определяющим группы, то есть тем больше будет различие.
На строках 23-26 расположилась таблица анализа, но её имеет смысл разбирать, только если вы хотите вникать в то, как ANOVA работает. А мы тут собрались на кнопочки тыкать.
Так что бежим теперь во вкладку с множественным сравнением.
И на строках 6-8 притаились точные p-значения для каждого сравнения. Видим, что разница значима между Untreated vs Treated и Treated vs Placebo. Ура, наше лекарство действует, и это не эффект плацебо. Можем идти публиковать статью. Сделаем только на это график в зимних тонах
#статистика_для_котиков