Вступить в клуб →
сложнаяpythonСтатистика и вероятности для ML

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

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела