Как выполнить тест Данна в Python


Критерий Крускала-Уоллиса используется для определения наличия статистически значимой разницы между медианами трех или более независимых групп. Он считается непараметрическим эквивалентом однофакторного дисперсионного анализа .

Если результаты теста Краскела-Уоллиса статистически значимы, целесообразно провести тест Данна, чтобы точно определить, какие группы отличаются.

В этом руководстве объясняется, как выполнить тест Данна в Python.

Пример: тест Данна в Python

Исследователи хотят знать, приводят ли три разных удобрения к разным уровням роста растений. Они случайным образом выбирают 30 разных растений и делят их на три группы по 10 штук, применяя к каждой группе разные удобрения. В конце месяца измеряют высоту каждого растения.

Выполнив тест Крускала-Уоллиса, они обнаружили, что общее p-значение является статистически значимым, что означает, что средний рост неодинаков в трех группах. Затем они проводят тест Данна, чтобы точно определить, какие группы отличаются.

Чтобы выполнить тест Данна в Python, мы можем использовать функцию posthoc_dunn() из библиотеки scikit-posthocs.

Следующий код показывает, как использовать эту функцию:

Шаг 1: Установите scikit-posthocs.

Сначала нам нужно установить библиотеку scikit-posthocs:

pip install scikit-posthocs

Шаг 2: Проведите тест Данна.

Далее мы можем создать данные и выполнить тест Данна:

#specify the growth of the 10 plants in each group
group1 = [7, 14, 14, 13, 12, 9, 6, 14, 12, 8]
group2 = [15, 17, 13, 15, 15, 13, 9, 12, 10, 8]
group3 = [6, 8, 8, 9, 5, 14, 13, 8, 10, 9]
data = [group1, group2, group3]

#perform Dunn's test using a Bonferonni correction for the p-values
import scikit_posthocs as sp
sp. posthoc_dunn (data, p_adjust = 'bonferroni')

 1 2 3
1 1.000000 0.550846 0.718451
2 0.550846 1.000000 0.036633
3 0.718451 0.036633 1.000000

Обратите внимание, что мы решили использовать поправку Бонферрони для p-значений, чтобы контролировать частоту ошибок по семействам , но другие возможные варианты аргумента p_adjust включают:

  • Сидак
  • Холм-сидак
  • Симс-Хохберг
  • хоммель
  • fdr_bh
  • fdr_by
  • fdr_tsbh

Обратитесь к документации для получения более подробной информации о каждом из этих методов корректировки p-значения.

Шаг 3: Интерпретируйте результаты.

По результатам теста Данна мы можем наблюдать следующее:

  • Скорректированное значение p для разницы между группой 1 и группой 2 составляет 0,550846 .
  • Скорректированное значение p для разницы между группой 1 и группой 3 составляет 0,718451 .
  • Скорректированное значение p для разницы между группой 2 и группой 3 составляет 0,036633 .

Таким образом, только две группы, которые статистически значимо различаются при α = 0,05, — это группы 2 и 3.

Дополнительные ресурсы

Введение в тест Данна для множественных сравнений
Как выполнить тест Данна в R