Come si potrebbe sviluppare una regola di arresto in un'analisi di potenza di due proporzioni indipendenti?


18

Sono uno sviluppatore software che lavora su sistemi di test A / B. Non ho una solida base di statistiche ma ho acquisito conoscenze negli ultimi mesi.

Uno scenario di test tipico prevede il confronto di due URL su un sito Web. Un visitatore visita LANDING_URLe quindi viene inoltrato a caso a URL_CONTROLo URL_EXPERIMENTAL. Un visitatore costituisce un campione e si ottiene una condizione di vittoria quando il visitatore compie un'azione desiderabile su quel sito. Ciò costituisce una conversione e il tasso di conversione è il tasso di conversione (generalmente espresso in percentuale). Un tipico tasso di conversione per un determinato URL è compreso tra 0,01% e 0,08%. Eseguiamo test per determinare il confronto tra i nuovi URL e i vecchi URL. Se URL_EXPERIMENTALviene mostrato che supera URL_CONTROL, sostituiamo URL_CONTROLcon URL_EXPERIMENTAL.

Abbiamo sviluppato un sistema usando semplici tecniche di verifica delle ipotesi. Ho usato le risposte a un'altra domanda CrossValidated qui per sviluppare questo sistema.

Un test è impostato come segue:

  • La stima CRE_CONTROLdel tasso di conversione di URL_CONTROLviene calcolata utilizzando dati storici.
  • Viene impostato il tasso CRE_EXPERIMENTALdi conversione target desiderato di URL_EXPERIMENTAL.
  • Viene generalmente utilizzato un livello di significatività di 0,95.
  • In genere viene utilizzata una potenza di 0,8.

Insieme, tutti questi valori vengono utilizzati per calcolare la dimensione del campione desiderata. Sto usando la funzione R power.prop.testper ottenere questa dimensione del campione.

Un test verrà eseguito fino alla raccolta di tutti i campioni. A questo punto, gli intervalli di confidenza per CR_CONTROLe CR_EXPERIMENTALvengono calcolati. Se non si sovrappongono, un vincitore può essere dichiarato con un livello di significatività di 0,95 e una potenza di 0,8.

Gli utenti dei nostri test hanno però due preoccupazioni principali:

1. Se, ad un certo punto durante il test, vengono raccolti abbastanza campioni per mostrare un chiaro vincitore, il test non può essere interrotto?

2. Se alla fine del test non viene dichiarato alcun vincitore, è possibile eseguire il test più a lungo per vedere se è possibile raccogliere campioni sufficienti per trovare un vincitore?

Va notato che esistono molti strumenti commerciali che consentono ai loro utenti di fare esattamente ciò che desiderano i nostri stessi utenti. Ho letto che ci sono molti errori con quanto sopra, ma ho anche trovato l'idea di una regola di arresto e vorrei esplorare la possibilità di utilizzare tale regola nei nostri sistemi.

Ecco due approcci che vorremmo considerare:

1. Utilizzando power.prop.test, confrontare i tassi di conversione attuali misurati con il numero attuale di campioni e vedere se sono stati raccolti abbastanza campioni per dichiarare un vincitore.

Esempio: è stato impostato un test per verificare se nel nostro sistema esiste il seguente comportamento:

  • CRE_CONTROL: 0.1
  • CRE_EXPERIMENTAL: 0,1 * 1,3
  • Con questi parametri, la dimensione del campione Nè 1774.

Tuttavia, mentre il test avanza e raggiunge 325 campioni, CRM_CONTROL(tasso di conversione misurato per il controllo) è 0,08 ed CRM_EXPERIMENTALè 0,15. power.prop.testviene eseguito su questi tassi di conversione e Nrisulta essere 325. Esattamente il numero di campioni necessari per dichiarare CRM_EXPERIMENTALdi essere il vincitore! A questo punto è nostra speranza che il test possa essere terminato. Allo stesso modo, se il test raggiunge 1774 campioni ma non viene trovato alcun vincitore, ma raggiunge 2122 campioni, il che è sufficiente per mostrare che CRM_CONTROLtra 0,1 e CRM_EXPERIMENTAL0,128 è un risultato in cui un vincitore può essere dichiarato.

In una domanda correlata gli utenti hanno avvertito che tale test è meno credibile a causa dell'incoraggiamento degli stop precoci con un minor numero di campioni ed è anche vulnerabile a errori di stima e ad un aumento del numero di errori di tipo I e di tipo II. C'è un modo per far funzionare questa regola di arresto? Questo è il nostro approccio preferito poiché significa meno tempo di programmazione per noi. Forse questa regola di arresto potrebbe funzionare offrendo una sorta di punteggio numerico o punteggi che misurano la credibilità del test nel caso in cui dovesse essere fermato in anticipo?

2. Utilizzo dell'analisi sequenziale o SPRT .

Questi metodi di test sono progettati esattamente per la situazione in cui ci troviamo: come possono i nostri utenti iniziare un test e terminarlo in modo tale da non perdere tempo in eccesso nel test? Eseguire un test troppo a lungo o dover ricominciare un test con parametri diversi.

Dei due metodi di cui sopra, preferisco SPRT perché la matematica è un po 'più facile da capire per me e perché sembra che potrebbe essere più facile da programmare. Tuttavia, non capisco come utilizzare la funzione di verosimiglianza in questo contesto. Se qualcuno potesse costruire un esempio di come calcolare il rapporto di verosimiglianza, la somma cumulativa del rapporto di verosimiglianza e continuare attraverso un esempio che illustra una situazione in cui si continuerebbe a monitorare, quando si accetterebbe l'ipotesi nulla e l'ipotesi alternativa, ciò ci aiuterebbe a determinare se SPRT è la strada giusta da percorrere.


2
Mi congratulo con il tuo non ricorrere al voodoo. Quando si utilizza uno strumento e non si capisce esattamente cosa sta facendo o come funzioni, non si è qualificati per interpretare i risultati dello strumento. Quando un'analisi guida una decisione aziendale e stai investendo tempo e denaro nel risultato, mostra la proprietà se prendi il tempo necessario per comprendere l'origine dei dati. È il tipo di duro lavoro che ti dà più opportunità invece di essere "nella mandria".
EngrStudent - Ripristina Monica il

Risposte:


7

Questo è un problema interessante e le tecniche associate hanno molte applicazioni. Spesso vengono chiamate strategie di "monitoraggio intermedio" o "progettazione sperimentale sequenziale" (l'articolo di Wikipedia, a cui si è collegati, è purtroppo un po 'scarso), ma ci sono diversi modi per farlo. Penso che @ user27564 si sbagli nel dire che queste analisi devono necessariamente essere bayesiane - ci sono certamente anche approcci frequentisti per il monitoraggio intermedio.

UNSBSUNBP(UN)=P(B)=0.558X tale che 1-F(X;100;0.5)<αF

Una logica simile consente di trovare i "punti di inevitabilità" per altri test in cui:

  1. La dimensione totale del campione * è fissa e
  2. Ogni osservazione contribuisce per un importo limitato al campione.

Questo sarebbe probabilmente facile da implementare - calcola i criteri di arresto offline e poi inseriscilo nel codice del tuo sito - ma spesso puoi fare ancora meglio se sei disposto a terminare l'esperimento non solo quando il risultato è inevitabile , ma quando è anche molto improbabile che cambi.

UNBUN

Ci sono anche molti altri approcci. I metodi sequenziali di gruppo sono progettati per situazioni in cui potresti non essere in grado di ottenere un determinato numero di soggetti e che i soggetti scorrano a velocità variabile. A seconda del traffico del tuo sito, potresti non voler esaminare questo aspetto.

Esistono numerosi pacchetti R che fluttuano attorno a CRAN, se è quello che stai usando per la tua analisi. Un buon punto di partenza potrebbe effettivamente essere la Task View Trials clinici , dal momento che gran parte di questo lavoro è venuto fuori da quel campo.


[*] Solo alcuni consigli amichevoli: fai attenzione quando guardi i valori di significatività calcolati da un numero molto grande di punti dati. Come si raccolgono sempre più dati, si sarà finalmente trovare un risultato significativo, ma l'effetto potrebbe essere banalmente piccolo. Ad esempio, se chiedessi a tutto il pianeta se preferiscono A o B, è molto improbabile che tu veda una divisione esatta 50:50, ma probabilmente non vale la pena riprogrammare il tuo prodotto se la divisione è 50.001: 49.999. Continua a controllare anche la dimensione dell'effetto (cioè la differenza nei tassi di conversione)!


1
Per rispondere esplicitamente alle preoccupazioni dei tuoi utenti: Sì, puoi sicuramente terminare presto l'analisi. Questo accade continuamente per gli studi clinici: il farmaco ha un tale successo strepitoso che hanno dati sufficienti per la sua efficacia e vogliono darlo alle persone bloccate nel gruppo di controllo (o, più probabilmente, il farmaco è un enorme distruggere / peggiorare le cose). Tuttavia, l'estensione dell'esperimento è più controversa: esistono metodi per correggere più "sguardi" ma sarebbe meglio fissare in anticipo un massimo di N - puoi sempre fermarti presto!
Matt Krause,

2
Grazie per questo, sono totalmente d'accordo con l'arresto se l'esperimento è inevitabile, ha davvero senso! Con quel "fermarsi se è davvero improbabile" dubiterei che un vero frequentatore sarebbe d'accordo. Non è niente di meno che dire: Ehi, 95%? Direi che anche il 93% è buono! Voglio dire, sarebbe anche bello essere soddisfatti solo del 90% di fiducia, ma come frequentatore prima di guardare ai dati!
Sebastian

1
Non sono un frequentatore di archi, né ne suono uno in TV, ma penso che tu possa ancora avere una ragionevole interpretazione da parte del frequentatore di una regola per l'interruzione anticipata: se eseguissi questo esperimento 100 volte, con che frequenza otterrei un risposta diversa se mi fermassi ora vs. se avessi corso fino al completamento? La recensione che ho collegato sottolinea che questo è uno di quei bei casi in cui è possibile soddisfare Bayesiani e Frequentisti allo stesso tempo ...
Matt Krause,

α che finiresti per dover raccogliere più dati di quanti ne avresti se avessi appena condotto il test al previsto n dopo la raccolta dei dati?
Russellpierce,

1
@ RussellS.Pierce: penso che dipenda. Ovviamente, la riduzione non lo farà, ma alcuni altri metodi lo fanno. Il test O'Brein e Flemming, ad esempio, possono utilizzare più dati, ma possono anche rifiutare in precedenza, e il test di Pocock ancora di più. Dipende ovviamente dalle specifiche: il libro linkato sopra ha un esempio con alcuni valori ragionevoli (dimensione dell'effetto: 0,25, alfa = 0,05, potenza = 0,9, 5 sguardi). La versione fissa N ha bisogno di 170 soggetti da respingere; La versione OBF richiede un massimo di 180 e il Pocock ha bisogno al massimo di 205, ma il numero previsto di soggetti è rispettivamente di 130 e 117.
Matt Krause,

1

Puoi fermarti presto, ma se lo fai, i tuoi valori p non sono facilmente interpretabili. Se non ti interessa l'interpretazione del tuo valore p, allora il modo in cui la risposta alle tue prime due domande è "no" non ha importanza (troppo). Il tuo cliente sembra pragmatico, quindi la vera interpretazione di un valore p probabilmente non è un punto a cui tieni.

Non posso parlare del secondo approccio che proponi.

Tuttavia, il primo approccio non è su basi solide. Le approssimazioni normali delle distribuzioni binomiali non sono valide per proporzioni così basse (che è il metodo usato da power.prop.test, anche il metodo usato da Cohen nel suo libro classico sul potere). Inoltre, per quanto ne so, non esiste una soluzione di analisi della potenza in forma chiusa per test di proporzione a due campioni (cfr. Come si può eseguire un'analisi della potenza binomiale a due gruppi senza usare approssimazioni normali? ). Esistono tuttavia metodi migliori per approssimare gli intervalli di confidenza delle proporzioni (vedi il pacchetto binom). È possibile utilizzare intervalli di confidenza non sovrapposti come soluzione parziale ... ma questo non è lo stesso della stima di un valore p e quindi non fornisce una via per alimentare direttamente. Spero che qualcuno abbia una bella soluzione a forma chiusa che condividerà con il resto di noi. Se inciampo su uno, aggiornerò la domanda di cui sopra. In bocca al lupo.

Modifica: Mentre ci sto pensando, lasciatemi totalmente pragmatico qui per un momento. Il tuo cliente vuole che questo esperimento finisca quando sono certi che il sito sperimentale funzioni meglio del sito di controllo. Dopo aver ottenuto un campione decente, se non sei pronto a prendere una decisione, inizia ad adattare il rapporto del tuo incarico casuale a qualunque parte stia "vincendo". Se fosse solo un blip, la regressione verso la media scivolerà dentro, diventerai meno sicuro e alleggerirai il rapporto. Quando sei ragionevolmente certo, chiamalo e chiudi il vincitore. L'approccio ottimale probabilmente implicherebbe l'aggiornamento bayesiano, ma non ne so abbastanza su quell'argomento dalla mia testa per dirigerti. Tuttavia, posso assicurarti che, sebbene a volte possa sembrare controintuitivo, la matematica stessa non è poi così difficile.


0

Le domande che hai sono domande tipiche che emergono nei test statistici. Ci sono due "gusti" di statistiche là fuori, il frequentista e il bayesiano. La risposta del frequentista ad entrambe le tue domande è semplice:

  • NO
  • No, non puoi smettere presto
  • No, non puoi misurare ancora

Una volta definita la configurazione, non si è nemmeno autorizzati a guardare i dati (analisi cieca). Dal punto di vista del frequentatore, non c'è modo di aggirare, non imbrogliare né trucchi! (EDIT: Certo, ci sono tentativi per farlo, e funzioneranno anche se usati correttamente, ma molti di loro sono noti per introdurre dei pregiudizi.)

Ma c'è il punto di vista bayesiano, che è abbastanza diverso. L'approccio bayesiano ha bisogno in contrasto con i frequentatori di un ulteriore input, la distribuzione della probabilità a priori. Possiamo chiamarlo anche conoscenza o pregiudizio precedenti. Detto questo, possiamo usare i dati / le misurazioni per aggiornare le nostre conoscenze alla probabilità a posteriori. Il punto è che possiamo usare i dati e ancora di più, possiamo usare i dati in ogni punto intermedio della misurazione. In ogni aggiornamento, l'ultimo posteriore è il nostro nuovo precedente e possiamo aggiornarlo con una nuova misurazione in base alle nostre conoscenze aggiornate. Nessun problema di arresto anticipato!

Ho trovato un discorso che parlava di problemi simili simili a quelli che hai e ho descritto sopra: http://biostat.mc.vanderbilt.edu/wiki/pub/Main/JoAnnAlvarez/BayesianAdaptivePres.pdf

Ma a parte questo, sei davvero sicuro di averne bisogno? Sembra che tu abbia un sistema in esecuzione che decide dove collegare una richiesta. Per questo non è necessario provare che le tue decisioni sono corrette in senso statistico con un test di ipotesi. Hai mai comprato una coca cola, perché potresti escludere che la pepsi sia "giusta" adesso con una probabilità del 95%? È sufficiente prendere quello che è semplicemente migliore, senza escludere un'ipotesi. Sarebbe un banale algoritmo: calcola l'incertezza del tasso A, calcola l'incertezza di B. Prendi la differenza di entrambi i tassi e dividi b l'incertezza della differenza. Il risultato è qualcosa come il significato della differenza in sigma. Quindi prendi tutti i link dove c'è più di due o tre differenze sigma. Inconveniente,


1
Penso che i tuoi primi quattro paragrafi siano un po 'un'aringa rossa: ci sono approcci frequenti al monitoraggio intermedio. È vero che l'aggiornamento posteriore (bayesiano) si presta bene a questo, ma potresti inquadrare questo problema in molti modi diversi. Grazie per il puntatore alle diapositive!
Matt Krause,

+1 comunque - l'approccio bayesiano è probabilmente chiaramente diretto qui rispetto a qualsiasi correzione frequentista.
Russellpierce,

2
Eh, c'è questo ... meme ... che i metodi bayesiani consentono di sbirciare all'infinito i dati senza complicazioni. Tuttavia, il tasso di errore complessivo di tipo I non è effettivamente controllato (perché dovrebbe essere?) E può diventare arbitrariamente grande se dopo molti "sguardi". Puoi migliorarlo con un precedente appropriato, oppure puoi argomentare che controllare l'errore di tipo I è zoppo, ma non è come se tutte le tecniche bayesiane fossero una panacea.
Matt Krause,

0

forse alcuni metodi potrebbero essere usati lì come

  • Pocock
  • O'Brien e Flemming
  • Peto

questo aggiusterà il taglio P in base ai risultati e aiuterà a smettere di raccogliere dati ed economizzare risorse e tempo.

forse altre opere potrebbero essere aggiunte qui.


potresti fornire link o maggiori informazioni per i tuoi punti elenco?
Antoine,

non ho articoli esatti perché ho usato un articolo di recensione che li sta citando, intendo che gli approcci sono diversi ma potrei consigliarti questo articolo che gestisce la domanda in campo medico: modifica adattativa della dimensione del campione negli studi clinici: iniziare in piccolo quindi chiedere di più? Christopher Jennisona * † e BruceW. Turnbullb
HappyMan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.