Как запустить образец и два примера z-теста на python
Вы можете использовать функцию ztest() из пакета statsmodels для выполнения одного примера и двух примеров z-тестов в Python.
Эта функция использует следующий базовый синтаксис:
statsmodels. stats . weightstats . ztest ( x1 , x2 = None , value = 0 )
Золото:
- x1 : значения первой выборки
- x2 : значения для второй выборки (если вы выполняете z-тест с двумя выборками)
- значение : среднее значение ниже нуля (в случае одной выборки) или средняя разница (в случае двух выборок)
Следующие примеры показывают, как использовать эту функцию на практике.
Пример 1. Пример Z-теста в Python
Предположим, что IQ определенной популяции нормально распределяется со средним значением μ = 100 и стандартным отклонением σ = 15.
Исследователь хочет знать, влияет ли новый препарат на уровень IQ. Поэтому он набирает 20 пациентов, чтобы попробовать это, и записывает их уровни IQ.
В следующем коде показано, как выполнить образец z-теста на Python, чтобы определить, вызывает ли новый препарат значительную разницу в уровнях IQ:
from statsmodels. stats . weightstats import ztest as ztest
#enter IQ levels for 20 patients
data = [88, 92, 94, 94, 96, 97, 97, 97, 99, 99,
105, 109, 109, 109, 110, 112, 112, 113, 114, 115]
#perform one sample z-test
ztest(data, value= 100 )
(1.5976240527147705, 0.1101266701438426)
Статистика теста для одновыборочного z-теста равна 1,5976 , а соответствующее значение p — 0,1101 .
Поскольку это значение p не меньше 0,05, у нас нет достаточных доказательств, чтобы отвергнуть нулевую гипотезу. Другими словами, новый препарат существенно не влияет на уровень IQ.
Пример 2. Два примера Z-тестов на Python
Предположим, что уровни IQ среди людей в двух разных городах обычно распределяются с известными стандартными отклонениями.
Исследователь хочет знать, различается ли средний уровень IQ жителей городов А и Б. Поэтому она выбирает простую случайную выборку из 20 человек из каждого города и записывает их уровни IQ.
Следующий код показывает, как выполнить z-тест с двумя выборками в Python, чтобы определить, различается ли средний уровень IQ в двух городах:
from statsmodels. stats . weightstats import ztest as ztest
#enter IQ levels for 20 individuals from each city
cityA = [82, 84, 85, 89, 91, 91, 92, 94, 99, 99,
105, 109, 109, 109, 110, 112, 112, 113, 114, 114]
cityB = [90, 91, 91, 91, 95, 95, 99, 99, 108, 109,
109, 114, 115, 116, 117, 117, 128, 129, 130, 133]
#perform two sample z-test
ztest(cityA, cityB, value= 0 )
(-1.9953236073282115, 0.046007596761332065)
Статистика теста для двухвыборочного z-теста равна -1,9953 , а соответствующее значение p — 0,0460 .
Поскольку это значение p меньше 0,05, у нас есть достаточно доказательств, чтобы отвергнуть нулевую гипотезу. Другими словами, средний уровень IQ в двух городах существенно различается.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные статистические тесты в Python:
Как выполнить одновыборочный T-тест в Python
Как выполнить T-тест с двумя выборками в Python
Как выполнить T-тест парных выборок в Python