Как выполнить проверку гипотез на python (с примерами)
Проверка гипотезы — это формальный статистический тест, который мы используем, чтобы отвергнуть или не отвергнуть статистическую гипотезу.
В этом руководстве объясняется, как выполнить следующие проверки гипотез в Python:
- Образец 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-tests 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
T-критерий парных выборок используется для сравнения средних значений двух выборок, когда каждое наблюдение в одной выборке может быть связано с наблюдением в другой выборке.
Например, предположим, что мы хотим знать, способна ли определенная программа тренировок увеличить максимальный вертикальный прыжок (в дюймах) баскетболистов.
Чтобы проверить это, мы можем набрать простую случайную выборку из 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-теста для парных выборок