Cosa dovremmo scegliere per la misurazione dei test A/B? T test o regressione lineare? Qual è la differenza e perché un approccio così semplice come la regressione lineare effettivamenteCosa dovremmo scegliere per la misurazione dei test A/B? T test o regressione lineare? Qual è la differenza e perché un approccio così semplice come la regressione lineare effettivamente

Come Costruire Connessioni per A/B Testing e Linear Regression: Una Guida Essenziale

2026/01/08 05:51

Regressione lineare o test T. Come scegliere?

\ Spesso ci lasciamo catturare dal clamore intorno a modelli di machine learning sofisticati e scoperte nel deep learning, ma non trascuriamo l'umile regressione lineare.

\ ==In un mondo di LLM e architetture all'avanguardia, la regressione lineare svolge silenziosamente un ruolo cruciale, ed è tempo di far luce su come possa essere vantaggiosa ancora oggi.==

\ Consideriamo uno scenario in cui un'azienda di e-commerce introduce un nuovo banner e vogliamo valutare il suo impatto sulla durata media della sessione. Per raggiungere questo obiettivo, è stato condotto un esperimento e sono stati raccolti dati per l'analisi. Analizziamo i risultati.

Test T

Utilizziamo uno strumento familiare per questo compito: il test t.

I risultati sono piuttosto promettenti:

L'incremento della metrica è semplicemente la differenza tra le medie campionarie dei gruppi di controllo e di trattamento. Nel nostro caso, l'incremento stimato è di 0,56 minuti, indicando che gli utenti, in media, trascorrono 33 secondi in più utilizzando il nostro prodotto.

Regressione lineare

Ora, utilizziamo la regressione lineare con il vettore di trattamento (se il nuovo banner viene mostrato o meno) come variabile indipendente e la durata media della sessione come variabile di output.

Quindi stampiamo il riepilogo del nostro modello:

\

\ In particolare, il coefficiente per la variabile di trattamento si allinea con la nostra precedente stima di incremento di 0,56. Vale la pena notare che R-squared è solo 0,008 e non spieghiamo troppa varianza con questo modello.

Coincidenza?

È una coincidenza che l'incremento ottenuto dal test t e il coefficiente di trattamento siano gli stessi? Approfondiamo la connessione.

\ Pensiamo a cosa riflette la variabile di trattamento. Quando è uguale a 1, indica la durata media della sessione per gli utenti che hanno visualizzato il banner; quando è uguale a 0, indica la durata media della sessione per gli utenti che non hanno visto il banner. Significa che la variabile di trattamento (o pendenza in termini di regressione lineare) indica il cambiamento nella media tra i gruppi di controllo e di trattamento.

Qual è l'ipotesi nulla per la variabile di trattamento nella regressione lineare?

Qual è l'ipotesi nulla quando applichiamo il test T per l'esperimento? È totalmente la stessa.

Pertanto, quando calcoliamo le statistiche t e il valore p per ipotesi identiche, i nostri risultati rimangono coerenti e identici.

Perché vogliamo usare la regressione lineare?

Tuttavia, qual è il motivo per utilizzare la regressione lineare? Non vogliamo solo complicare eccessivamente le cose.

\ Innanzitutto, pensiamo se solo il trattamento è responsabile del cambiamento nella nostra metrica principale.

\ In realtà, questo potrebbe non essere del tutto accurato a causa della presenza di bias di selezione.

\ Il bias di selezione nei test A/B è un tipo di errore quando c'è una differenza sistematica tra i gruppi confrontati che non è dovuta al caso, per esempio:

\

  • Osserviamo che i vecchi utenti vengono esposti a un nuovo banner più spesso dei nuovi clienti.

    \

L'allocazione casuale che utilizziamo nei test AB ci aiuta a mitigarlo, ma è difficile eliminarlo completamente.

\ Formuliamo come stimare l'effetto reale.

ATE: effetto medio del trattamento che miriamo a stimare.

\ ATT: effetto medio del trattamento di quelli trattati. Possiamo anche chiamarlo ACE: effetto causale medio. In realtà possiamo calcolarlo. È la differenza tra le medie campionarie dei gruppi di controllo e di trattamento.

\ SB: bias di selezione che miriamo a minimizzare.

\ Come possiamo minimizzarlo?

\ La regressione lineare ci consente di aggiungere covariate/variabili confondenti. Proviamolo e aggiungiamo come una delle variabili confondenti la durata media della sessione per gli utenti prima dell'esperimento.

E stampiamo il riepilogo del modello:

Il nostro R-squared è salito alle stelle! Ora spieghiamo l'86% della varianza.

\ Il nostro effetto di trattamento ora è 0,47.

Quale scegliere?

Quindi, abbiamo due effetti di trattamento: 0,47 e 0,56; qual è quello corretto?

\ In questo caso, conosciamo con certezza l'effetto reale perché ho simulato i dati e l'incremento reale: 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)

Ciò significa che 0,47 è migliore in termini di differenza assoluta ed è più vicino a riflettere l'incremento effettivo.

Conclusione

L'utilizzo della regressione lineare presenta i seguenti vantaggi:

  1. Fornisce una comprensione più profonda dei nostri dati e di quanto bene il modello si allinea ai dati.
  2. Utilizzando le covariate, possiamo mitigare il bias di selezione, ottenendo una stima più accurata dell'effetto del trattamento.

\ Possiamo usare la regressione lineare per altri test, come il test t di Welch o il test Chi-quadrato?

\ La risposta semplice è sì. Tuttavia, dobbiamo apportare alcune modifiche che discuteremo nei prossimi articoli!

Opportunità di mercato
Logo B
Valore B (B)
$0.21806
$0.21806$0.21806
-7.06%
USD
Grafico dei prezzi in tempo reale di B (B)
Disclaimer: gli articoli ripubblicati su questo sito provengono da piattaforme pubbliche e sono forniti esclusivamente a scopo informativo. Non riflettono necessariamente le opinioni di MEXC. Tutti i diritti rimangono agli autori originali. Se ritieni che un contenuto violi i diritti di terze parti, contatta service@support.mexc.com per la rimozione. MEXC non fornisce alcuna garanzia in merito all'accuratezza, completezza o tempestività del contenuto e non è responsabile per eventuali azioni intraprese sulla base delle informazioni fornite. Il contenuto non costituisce consulenza finanziaria, legale o professionale di altro tipo, né deve essere considerato una raccomandazione o un'approvazione da parte di MEXC.