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


Тест Левена используется для определения того, имеют ли две или более группы одинаковые отклонения. Он широко используется, потому что многие статистические тесты предполагают, что группы имеют одинаковую дисперсию, а тест Левена позволяет определить, выполняется ли это предположение.

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

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

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

Используйте следующие шаги, чтобы выполнить тест Левена в Python, чтобы определить, имеют ли три группы одинаковые отклонения.

Шаг 1: Введите данные.

Во-первых, мы создадим три массива для хранения значений данных:

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]

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

Далее мы выполним тест Левена, используя функцию levene() из библиотеки SciPy, которая использует следующий синтаксис:

levene (образец1, образец2, …, центр = 'медиана')

куда:

  • sample1, sample2 и т. д.: названия сэмплов.
  • в центре: метод, используемый для теста Левена. По умолчанию используется «медиана», но другие варианты включают «среднее» и «усеченное».

Как упоминалось в документации , на самом деле существует три различных варианта теста Левена, которые вы можете использовать. Рекомендуемые варианты использования следующие:

  • «медиана»: рекомендуется для асимметричных распределений.
  • «среднее»: рекомендуется для симметричных распределений со средними хвостами.
  • «обрезанный»: рекомендуется для распределений с тяжелыми хвостами.

В следующем коде показано, как выполнить тест Левена, используя как среднее значение, так и медиану в качестве центра:

import scipy.stats as stats

#Levene's test centered at the median
stats.levene(group1, group2, group3, center='median')

(statistic=0.1798, pvalue=0.8364)

#Levene's test centered at the mean
stats.levene(group1, group2, group3, center='mean')

(statistic=0.5357, pvalue=0.5914)

В обоих методах p-значение составляет не менее 0,05. Это означает, что в обоих случаях мы не смогли бы отвергнуть нулевую гипотезу. Это означает, что у нас нет достаточных доказательств того, что различия в росте растений между тремя удобрениями значительно различаются.

Другими словами, все три группы имеют равные дисперсии. Если бы мы выполнили некоторый статистический тест (например , однофакторный дисперсионный анализ ), который предполагает, что каждая группа имеет одинаковую дисперсию, то это предположение было бы выполнено.

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.