Код Middle CUPED и снижение дисперсии спрашивают часто обновлено

CUPED на Python: θ и снижение дисперсии

Условие

Напишите cuped(x, y): x метрика пользователей до теста, y в тесте (списки одной длины, x не константа). Посчитайте θ = cov(x, y) / var(x) (выборочные, делитель n-1), скорректированную метрику y - θ·(x - mean(x)) и верните [round(θ, 4), round(var(adj) / var(y), 4)]. Только стандартная библиотека.

Примеры

cuped([1, 2, 3, 4, 5], [2, 4, 5, 8, 10]) // [2, 0.0196]
cuped([10, 0, 5, 3, 8, 0], [12, 1, 4, 3, 9, 2]) // [1.0156, 0.0718]
cuped([1, 2, 3, 4], [4, 3, 2, 1]) // [-1, 0]

Как подойти

Подсказки: 2
  1. st.covariance(x, y) / st.variance(x)
  2. Самопроверка: ответ равен 1 - st.correlation(x, y) ** 2.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.