Как найти P-значение из Z-оценки в Python


Часто в статистике нас интересует определение p-значения, связанного с определенным z-показателем, полученным в результате проверки гипотезы.Если это p-значение ниже некоторого уровня значимости, мы можем отклонить нулевую гипотезу нашего теста гипотезы.

Чтобы найти p-значение, связанное с z-показателем в Python, мы можем использовать функцию scipy.stats.norm.sf() , которая использует следующий синтаксис:

scipy.stats.norm.sf (абс (х))

куда:

  • x: z-оценка

В следующих примерах показано, как найти p-значение, связанное с z-показателем, для левостороннего, правостороннего и двустороннего критерия.

Левосторонний тест

Предположим, мы хотим найти p-значение, связанное с z-оценкой -0,77 в проверке левосторонней гипотезы.

import scipy.stats

#find p-value
scipy.stats.norm.sf(abs(-0.77))

0.22064994634264962

Значение p равно 0,2206.Если мы используем уровень значимости α = 0,05, мы не сможем отвергнуть нулевую гипотезу нашего теста гипотезы, потому что это значение p не меньше 0,05.

Правосторонний тест

Предположим, мы хотим найти p-значение, связанное с z-показателем 1,87 в правосторонней проверке гипотезы.

import scipy.stats

#find p-value
scipy.stats.norm.sf(abs(1.87))

0.030741908929465954

Значение р равно 0,0307.Если мы используем уровень значимости α = 0,05, мы отклоним нулевую гипотезу нашего теста гипотезы, потому что это значение p меньше 0,05.

Двусторонний тест

Предположим, мы хотим найти p-значение, связанное с z-показателем 1,24 в двустороннем тесте гипотезы.

import scipy.stats

#find p-value for two-tailed test
scipy.stats.norm.sf(abs(1.24))\*2

0.21497539414917388

Чтобы найти это двустороннее p-значение, мы просто умножили одностороннее p-значение на два.

Значение p равно 0,2149.Если мы используем уровень значимости α = 0,05, мы не сможем отвергнуть нулевую гипотезу нашего теста гипотезы, потому что это значение p не меньше 0,05.

Связанный: вы также можете использовать этот онлайн- калькулятор Z Score to P Value , чтобы найти p-значения.