Как выполнить проверку гипотез в Python (с примерами)


Тест гипотезы — это формальный статистический тест, который мы используем, чтобы отвергнуть или не отвергнуть некоторую статистическую гипотезу.

В этом руководстве объясняется, как выполнить следующие проверки гипотез в Python:

  • Один образец t-критерия
  • Два выборочных t-теста
  • Парные выборки t-критерий

Давайте прыгать!

Пример 1: один образец t-теста в Python

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

Например, предположим, что мы хотим узнать, равен ли средний вес определенного вида какой-либо черепахи 310 фунтам.

Чтобы проверить это, мы собираем простую случайную выборку черепах со следующими весами:

Вес : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303

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

import scipy.stats as stats

#define data
data = [ 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303]

#perform one sample t-test
stats. ttest_1samp (a=data, popmean= 310 )

Ttest_1sampResult(statistic=-1.5848116313861254, pvalue=0.1389944275158753)

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

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

  • H 0 : µ = 310 (средний вес этого вида черепах составляет 310 фунтов).
  • H A : µ ≠310 (средний вес не 310 фунтов)

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

У нас нет достаточных доказательств, чтобы сказать, что средний вес этого конкретного вида черепах отличается от 310 фунтов.

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

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

Например, предположим, что мы хотим узнать, равен ли средний вес двух разных видов черепах.

Чтобы проверить это, мы собираем простую случайную выборку черепах каждого вида со следующими весами:

Образец 1 : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303

Образец 2 : 335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305.

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

import scipy. stats as stats 

#define array of turtle weights for each sample
sample1 = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303]
sample2 = [335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305]

#perform two sample t-test
stats. ttest_ind (a=sample1, b=sample2) 

Ttest_indResult(statistic=-2.1009029257555696, pvalue=0.04633501389516516) 

Статистика t-теста равна – 2,1009, а соответствующее двустороннее значение p равно 0,0463 .

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

  • H 0 : µ 1 = µ 2 (средний вес между двумя видами равен)
  • H A : µ 1 ≠ µ 2 (средний вес между двумя видами не равен)

Поскольку p-значение теста (0,0463) меньше 0,05, мы отвергаем нулевую гипотезу.

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

Пример 3: t-тест для парных выборок в Python

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

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

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

Следующие данные показывают максимальную высоту прыжка (в дюймах) до и после использования тренировочной программы для каждого игрока:

До : 22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21

После : 23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20

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

import scipy. stats as stats 

#define before and after max jump heights
before = [22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21]
after = [23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20]

#perform paired samples t-test
stats. ttest_rel (a=before, b=after)

Ttest_relResult(statistic=-2.5289026942943655, pvalue=0.02802807458682508)

Статистика t-теста равна – 2,5289, а соответствующее двустороннее значение p равно 0,0280 .

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

  • H 0 : µ 1 = µ 2 (средняя высота прыжка до и после использования программы одинакова)
  • H A : µ 1 ≠ µ 2 (средняя высота прыжка до и после использования программы неодинакова)

Поскольку p-значение теста (0,0280) меньше 0,05, мы отвергаем нулевую гипотезу.

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

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

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

Калькулятор t-теста для одной выборки
Калькулятор t-критерия для двух выборок
Калькулятор t-критерия для парных выборок

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