Что следует выбрать для измерения A/B тестирования? T-тест или линейную регрессию? В чем разница и почему такой простой подход, как линейная регрессия, действительноЧто следует выбрать для измерения A/B тестирования? T-тест или линейную регрессию? В чем разница и почему такой простой подход, как линейная регрессия, действительно

Как построить связи для A/B-тестирования и линейной регрессии: необходимое руководство

2026/01/08 05:51

Линейная регрессия или T-тест. Как выбрать?

\ Мы часто увлекаемся шумихой вокруг модных моделей машинного обучения и прорывов в глубоком обучении, но давайте не будем упускать из виду скромную линейную регрессию.

\ ==В мире LLM и передовых архитектур линейная регрессия незаметно играет решающую роль, и пришло время пролить свет на то, как она может быть полезна даже сегодня.==

\ Рассмотрим сценарий, в котором компания электронной коммерции внедряет новый баннер, и мы стремимся оценить его влияние на среднюю продолжительность сеанса. Для этого был проведен эксперимент и собраны данные для анализа. Давайте проанализируем результаты.

T-тест

Давайте используем знакомый инструмент для этой задачи: t-тест.

Результаты весьма обнадеживающие:

Рост метрики — это просто разница между средними значениями выборки контрольной и экспериментальной групп. В нашем случае оценочный рост составляет 0,56 минут, что указывает на то, что пользователи в среднем проводят на 33 секунды больше времени, используя наш продукт.

Линейная регрессия

Теперь давайте используем линейную регрессию с вектором воздействия (показывается ли новый баннер или нет) в качестве независимой переменной и средней продолжительностью сеанса в качестве выходной переменной.

Затем мы выводим сводку нашей модели:

\

\ Примечательно, что коэффициент для переменной воздействия совпадает с нашей более ранней оценкой роста 0,56. Стоит отметить, что R-квадрат составляет всего 0,008, и мы не объясняем слишком много дисперсии с помощью этой модели.

Совпадение?

Случайно ли то, что рост, полученный из t-теста, и коэффициент воздействия одинаковы? Давайте углубимся в связь.

\ Давайте подумаем о том, что отражает переменная воздействия. Когда она равна 1, это указывает среднюю продолжительность сеанса для пользователей, которые видели баннер; когда она равна 0, это указывает среднюю продолжительность сеанса для пользователей, которые не видели баннер. Это означает, что переменная воздействия (или наклон в терминах линейной регрессии) обозначает изменение среднего значения между контрольной и экспериментальной группами.

Какова нулевая гипотеза для переменной воздействия в линейной регрессии?

Какова нулевая гипотеза, когда мы применяем T-тест для эксперимента? Она абсолютно такая же.

Следовательно, при вычислении t-статистики и p-значения для идентичных гипотез наши результаты остаются согласованными и идентичными.

Почему мы хотим использовать линейную регрессию?

Однако в чем причина использования линейной регрессии? Мы не хотим просто усложнять вещи.

\ Во-первых, давайте подумаем, ответственно ли только воздействие за изменение нашей основной метрики.

\ В действительности это может быть не совсем точным из-за наличия систематической ошибки отбора.

\ Систематическая ошибка отбора в A/B-тестировании — это тип ошибки, когда существует систематическое различие между сравниваемыми группами, которое не связано со случайностью, например:

\

  • Мы замечаем, что старые пользователи видят новый баннер чаще, чем новые клиенты.

    \

Случайное распределение, которое мы используем в AB-тестах, помогает нам смягчить это, но полностью устранить его сложно.

\ Давайте сформулируем, как оценить истинный эффект.

ATE: средний эффект воздействия, который мы стремимся оценить.

\ ATT: средний эффект воздействия на тех, кто получил воздействие. Мы также можем назвать его ACE: средний причинный эффект. Мы действительно можем рассчитать его. Это разница между средними значениями выборки контрольной и экспериментальной групп.

\ SB: систематическая ошибка отбора, которую мы стремимся минимизировать.

\ Как мы можем минимизировать ее?

\ Линейная регрессия позволяет нам добавлять ковариаты/смешивающие переменные. Давайте попробуем это и добавим в качестве одной из смешивающих переменных среднюю продолжительность сеанса для пользователей до эксперимента.

И выведем сводку модели:

Наш R-квадрат взлетел до небес! Теперь мы объясняем 86% дисперсии.

\ Наш эффект воздействия теперь составляет 0,47.

Какой выбрать?

Итак, у нас есть два эффекта воздействия: 0,47 и 0,56; какой из них правильный?

\ В данном случае мы точно знаем истинный эффект, потому что я смоделировал данные, и реальный рост: 0,5

import numpy as np import pandas as pd from scipy import stats import statsmodels.api as sm np.random.seed(45) n = 500 x = np.random.normal(loc = 10 ,scale = 3, size= 2 * n) y = x + np.random.normal(loc = 2 , scale = 1 ,size = len(x)) # For 50% of users we simulate treatment effect treat = 1 * (np.random.rand(2 * n) <= 0.5) experiment = pd.DataFrame(x, columns=["covariate"]) experiment['metric'] = y experiment['treatment'] = treat experiment['noise'] = np.random.normal(size = len(experiment)) # Add noise and uplift to 'metric' for rows where 'treat' is equal to 1 # The real uplift is 0.5 experiment['metric'] = experiment.apply(lambda row: row['metric'] + 0.5 * row['treatment'] + row['noise'] if row['treatment'] == 1 else row['metric'], axis=1)

Это означает, что 0,47 лучше с точки зрения абсолютной разницы и ближе к отражению фактического роста.

Заключение

Использование линейной регрессии имеет следующие преимущества:

  1. Она обеспечивает более глубокое понимание наших данных и того, насколько хорошо модель согласуется с данными.
  2. Используя ковариаты, мы можем смягчить систематическую ошибку отбора, что приведет к более точной оценке эффекта воздействия.

\ Можем ли мы использовать линейную регрессию для других тестов, таких как t-тест Уэлча или критерий хи-квадрат?

\ Простой ответ — да. Однако нам нужно внести некоторые корректировки, которые мы обсудим в следующих статьях!

Возможности рынка
Логотип B
B Курс (B)
$0.2175
$0.2175$0.2175
-7.30%
USD
График цены B (B) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу service@support.mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.