Z-тест для разницы двух долей
Напишите two_proportion_z(conv_a, n_a, conv_b, n_b).
conv_*— число конверсий,n_*— размер группы.- Объединённая доля
p = (conv_a + conv_b) / (n_a + n_b), стандартная ошибкаse = sqrt(p × (1 − p) × (1/n_a + 1/n_b)). z = (p_b − p_a) / se, гдеp_a = conv_a / n_a,p_b = conv_b / n_b.- Двусторонний p-value:
2 × (1 − Φ(|z|)), где Φ — функция распределения стандартного нормального закона. Используйтеstatistics.NormalDist. - Верните кортеж
(z, p_value), оба округлены до 4 знаков. Еслиse == 0, верните(0.0, 1.0). - Если какой-то размер группы не больше нуля, бросьте
ValueError.
заготовка решения
import math
from statistics import NormalDist
def two_proportion_z(conv_a, n_a, conv_b, n_b):
# ваш код
return None