Как провести T-тест с двумя выборками в Python


Двухвыборочный t-критерий используется для проверки того, равны ли средние значения двух совокупностей.

В этом руководстве объясняется, как провести t-тест с двумя образцами в Python.

Пример: двухвыборочный t-тест в Python

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

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

Шаг 1: Создайте данные.

Во-первых, мы создадим два массива для хранения измерений каждой группы из 20 растений:

import numpy as np

group1 = np.array([14, 15, 15, 16, 13, 8, 14, 17, 16, 14, 19, 20, 21, 15, 15, 16, 16, 13, 14, 12])
group2 = np.array([15, 17, 14, 17, 14, 8, 12, 19, 19, 14, 17, 22, 24, 16, 13, 16, 13, 18, 15, 13])

Шаг 2: Проведите t-критерий с двумя выборками.

Далее мы воспользуемся функцией ttest_ind() из библиотеки scipy.stats для проведения двухвыборочного t-теста, в котором используется следующий синтаксис:

ttest_ind(a, b, equal_var=Истина)

куда:

  • a: массив выборочных наблюдений для группы 1
  • b: массив выборочных наблюдений для группы 2
  • equal_var: если True, выполните стандартный независимый t-критерий с двумя выборками, который предполагает равные дисперсии генеральной совокупности. Если False, выполните t-критерий Уэлча , который не предполагает равных дисперсий генеральной совокупности. Это Истина по умолчанию.

Прежде чем мы проведем тест, нам нужно решить, будем ли мы предполагать, что две совокупности имеют одинаковую дисперсию или нет. Как правило, мы можем предположить, что совокупности имеют равные дисперсии, если отношение большей выборочной дисперсии к меньшей выборочной дисперсии составляет менее 4:1.

#find variance for each group
print(np.var(group1), np.var(group2))

7.73 12.26

Отношение большей дисперсии выборки к меньшей дисперсии выборки составляет 12,26 / 7,73 = 1,586 , что меньше 4. Это означает, что мы можем предположить, что дисперсии генеральной совокупности равны.

Таким образом, мы можем приступить к выполнению двухвыборочного t-критерия с равными дисперсиями:

import scipy.stats as stats

#perform two sample t-test with equal variances
stats.ttest_ind(a=group1, b=group2, equal_var=True)

(statistic=-0.6337, pvalue=0.53005)

Статистика t-теста равна -0,6337 , а соответствующее двустороннее значение p равно 0,53005 .

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

Две гипотезы для этого конкретного двухвыборочного t-критерия следующие:

H 0 : µ 1 = µ 2 (две средние совокупности равны)

H A : µ 1 ≠ µ 2 (две средние совокупности не равны)

Поскольку p-значение нашего теста (0,53005) больше, чем альфа = 0,05, мы не можем отвергнуть нулевую гипотезу теста. У нас нет достаточных данных, чтобы сказать, что средняя высота растений между двумя популяциями различна.

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

Как провести Т-тест с одним образцом в Python
Как провести T-тест для парных выборок в Python

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