Co powinniśmy wybrać do pomiaru testów A/B? Test t czy regresję liniową? Jaka jest różnica i dlaczego tak proste podejście jak regresja liniowa naprawdęCo powinniśmy wybrać do pomiaru testów A/B? Test t czy regresję liniową? Jaka jest różnica i dlaczego tak proste podejście jak regresja liniowa naprawdę

Jak budować połączenia dla testów A/B i regresji liniowej: Niezbędny przewodnik

2026/01/08 05:51
4 min. lektury
W przypadku uwag lub wątpliwości dotyczących niniejszej treści skontaktuj się z nami pod adresem crypto.news@mexc.com

Regresja liniowa czy test T. Jak wybrać?

\ Często dajemy się porwać szumowi wokół wymyślnych modeli uczenia maszynowego i przełomów w deep learningu, ale nie zapominajmy o skromnej regresji liniowej.

\ ==W świecie LLM i najnowocześniejszych architektur, regresja liniowa cicho odgrywa kluczową rolę i nadszedł czas, aby rzucić światło na to, jak może być przydatna nawet dzisiaj.==

\ Rozważmy scenariusz, w którym firma e-commerce wprowadza nowy baner, a naszym celem jest ocena jego wpływu na średnią długość sesji. Aby to osiągnąć, przeprowadzono eksperyment i zebrano dane do analizy. Przeanalizujmy wyniki.

Test T

Zastosujmy znane narzędzie do tego zadania: test t.

Wyniki są bardzo obiecujące:

Wzrost metryki to po prostu różnica między średnimi próby grup kontrolnej i eksperymentalnej. W naszym przypadku szacowany wzrost wynosi 0,56 minuty, co oznacza, że użytkownicy średnio spędzają o 33 sekundy dłużej korzystając z naszego produktu.

Regresja liniowa

Teraz zastosujmy regresję liniową z wektorem traktowania (czy nowy baner jest pokazywany, czy nie) jako zmienną niezależną i średnią długością sesji jako zmienną wyjściową.

Następnie drukujemy podsumowanie naszego modelu:

\

\ Warto zauważyć, że współczynnik dla zmiennej traktowania jest zgodny z naszym wcześniejszym szacunkiem wzrostu wynoszącym 0,56. Warto również zauważyć, że R-kwadrat wynosi zaledwie 0,008 i nie wyjaśniamy zbyt wiele wariancji tym modelem.

Zbieg okoliczności?

Czy to zbieg okoliczności, że wzrost uzyskany z testu t i współczynnik traktowania są takie same? Zagłębmy się w ten związek.

\ Zastanówmy się, co odzwierciedla zmienna traktowania. Gdy równa się 1, oznacza średnią długość sesji dla użytkowników, którzy widzieli baner; gdy równa się 0, oznacza średnią długość sesji dla użytkowników, którzy nie widzieli banera. Oznacza to, że zmienna traktowania (lub nachylenie w terminologii regresji liniowej) oznacza zmianę średniej między grupami kontrolną i eksperymentalną.

Jaka jest hipoteza zerowa dla zmiennej traktowania w regresji liniowej?

Jaka jest hipoteza zerowa, gdy stosujemy test T dla eksperymentu? Jest dokładnie taka sama.

Dlatego obliczając statystyki t i wartość p dla identycznych hipotez, nasze wyniki pozostają spójne i identyczne.

Dlaczego chcemy używać regresji liniowej?

Jednak jaki jest powód stosowania regresji liniowej? Nie chcemy po prostu komplikować spraw.

\ Po pierwsze, zastanówmy się, czy tylko traktowanie jest odpowiedzialne za zmianę naszej głównej metryki.

\ W rzeczywistości może to nie być całkowicie dokładne ze względu na obecność błędu selekcji.

\ Błąd selekcji w testach A/B to rodzaj błędu, gdy istnieje systematyczna różnica między porównywanymi grupami, która nie wynika z przypadku, na przykład:

\

  • Obserwujemy, że starzy użytkownicy są częściej eksponowani na nowy baner niż nowi klienci.

    \

Losowa alokacja, którą stosujemy w testach AB, pomaga nam to złagodzić, ale trudno jest ją całkowicie wyeliminować.

\ Sformułujmy, jak oszacować prawdziwy efekt.

ATE: średni efekt traktowania, który chcemy oszacować.

\ ATT: średni efekt traktowania osób traktowanych. Możemy to również nazwać ACE: średnim efektem przyczynowym. Faktycznie możemy to obliczyć. Jest to różnica między średnimi próby grup kontrolnej i eksperymentalnej.

\ SB: błąd selekcji, który chcemy zminimalizować.

\ Jak możemy go zminimalizować?

\ Regresja liniowa pozwala nam dodać kowariancje/zmienne zakłócające. Wypróbujmy to i dodajmy jako jedną ze zmiennych zakłócających średnią długość sesji użytkowników przed eksperymentem.

I wydrukujmy podsumowanie modelu:

Nasz R-kwadrat wzrósł gwałtownie! Teraz wyjaśniamy 86% wariancji.

\ Nasz efekt traktowania wynosi teraz 0,47.

Który wybrać?

Mamy więc dwa efekty traktowania: 0,47 i 0,56; który jest prawidłowy?

\ W tym przypadku na pewno znamy prawdziwy efekt, ponieważ zasymulowałem dane i rzeczywisty wzrost: 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)

Oznacza to, że 0,47 jest lepsze pod względem różnicy bezwzględnej i bliższe odzwierciedleniu rzeczywistego wzrostu.

Podsumowanie

Stosowanie regresji liniowej ma następujące zalety:

  1. Zapewnia głębsze zrozumienie naszych danych i tego, jak dobrze model pasuje do danych.
  2. Stosując kowariancje, możemy złagodzić błąd selekcji, co prowadzi do dokładniejszego oszacowania efektu traktowania.

\ Czy możemy użyć regresji liniowej do innych testów, takich jak test t Welcha lub test chi-kwadrat?

\ Prosta odpowiedź brzmi: tak. Musimy jednak dokonać pewnych dostosowań, o których będziemy dyskutować w kolejnych artykułach!

Okazja rynkowa
Logo B
Cena B(B)
$0.21269
$0.21269$0.21269
-4.29%
USD
B (B) Wykres Ceny na Żywo
Zastrzeżenie: Artykuły udostępnione na tej stronie pochodzą z platform publicznych i służą wyłącznie celom informacyjnym. Niekoniecznie odzwierciedlają poglądy MEXC. Wszystkie prawa pozostają przy pierwotnych autorach. Jeśli uważasz, że jakakolwiek treść narusza prawa stron trzecich, skontaktuj się z crypto.news@mexc.com w celu jej usunięcia. MEXC nie gwarantuje dokładności, kompletności ani aktualności treści i nie ponosi odpowiedzialności za jakiekolwiek działania podjęte na podstawie dostarczonych informacji. Treść nie stanowi porady finansowej, prawnej ani innej profesjonalnej porady, ani nie powinna być traktowana jako rekomendacja lub poparcie ze strony MEXC.