Как выполнить один образец и два образца 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:

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

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