Jak można opracować regułę zatrzymania w analizie mocy dwóch niezależnych proporcji?

18

Jestem programistą pracującym nad systemami testowymi A / B. Nie mam solidnych statystyk, ale zbierałem wiedzę w ciągu ostatnich kilku miesięcy.

Typowy scenariusz testowy polega na porównaniu dwóch adresów URL na stronie internetowej. Odwiedzający odwiedza, LANDING_URLa następnie jest losowo przekazywany do jednego URL_CONTROLlub jednego URL_EXPERIMENTAL. Odwiedzający stanowi próbkę, a warunek zwycięstwa zostaje osiągnięty, gdy odwiedzający wykona pożądane działanie na tej stronie. Stanowi to konwersję, a współczynnik konwersji to współczynnik konwersji (zazwyczaj wyrażony w procentach). Typowy współczynnik konwersji dla danego adresu URL to coś w zakresie od 0,01% do 0,08%. Przeprowadzamy testy w celu ustalenia, jak nowe adresy URL mają się do starych adresów. Jeśli URL_EXPERIMENTALjest pokazany wyprzedzić URL_CONTROL, wymienimy URL_CONTROLsię URL_EXPERIMENTAL.

Opracowaliśmy system wykorzystujący proste techniki testowania hipotez. Użyłem odpowiedzi na inne pytanie CrossValidated tutaj, aby rozwinąć ten system.

Test jest konfigurowany w następujący sposób:

  • Oszacowanie współczynnika konwersji CRE_CONTROLz URL_CONTROLoblicza się przy użyciu danych historycznych.
  • Żądany docelowa szybkość konwersji CRE_EXPERIMENTALod URL_EXPERIMENTALjest ustawiona.
  • Zwykle stosowany jest poziom istotności 0,95.
  • Zwykle używana jest moc 0,8.

Razem wszystkie te wartości są używane do obliczenia pożądanej wielkości próbki. Używam funkcji R, power.prop.testaby uzyskać ten rozmiar próbki.

Test będzie trwał do momentu pobrania wszystkich próbek. W tym momencie przedziały ufności dla CR_CONTROLi CR_EXPERIMENTALsą obliczane. Jeśli się nie pokrywają, zwycięzca może zostać ogłoszony z poziomem istotności 0,95 i mocą 0,8.

Użytkownicy naszych testów mają jednak dwie główne obawy:

1. Jeśli w pewnym momencie testu zostanie zebranych wystarczająca ilość próbek, aby pokazać wyraźnego zwycięzcę, czy nie można zatrzymać testu?

2. Jeśli na końcu testu nie zostanie ogłoszony zwycięzca, czy możemy przeprowadzić test dłużej, aby sprawdzić, czy możemy zebrać wystarczającą ilość próbek, aby znaleźć zwycięzcę?

Należy zauważyć, że istnieje wiele komercyjnych narzędzi, które pozwalają użytkownikom robić dokładnie to, czego pragną nasi użytkownicy. Czytałem, że istnieje wiele błędów związanych z powyższym, ale natknąłem się również na zasadę zatrzymania reguły i chciałbym zbadać możliwość zastosowania takiej reguły w naszych własnych systemach.

Oto dwa podejścia, które chcielibyśmy rozważyć:

1. Używając power.prop.test, porównaj bieżące zmierzone współczynniki konwersji z bieżącą liczbą próbek i sprawdź, czy zebrano wystarczającą liczbę próbek, aby ogłosić zwycięzcę.

Przykład: skonfigurowano test, aby sprawdzić, czy w naszym systemie istnieje następujące zachowanie:

  • CRE_CONTROL: 0,1
  • CRE_EXPERIMENTAL: 0,1 * 1,3
  • Przy tych parametrach wielkość próbki Nwynosi 1774.

Jednak w miarę postępu testu i osiągnięcia 325 próbek CRM_CONTROL(zmierzony współczynnik konwersji dla kontroli) wynosi 0,08 i CRM_EXPERIMENTALwynosi 0,15. power.prop.testjest obliczany na podstawie tych współczynników konwersji i Nwynosi 325. Dokładnie liczba próbek potrzebna do ogłoszenia CRM_EXPERIMENTALzwycięstwa! W tym momencie mamy nadzieję, że test się zakończy. Podobnie, jeśli test osiągnie 1774 próbki, ale nie zostanie znaleziony zwycięzca, ale wtedy osiągnie 2122 próbki, co wystarczy, aby wykazać, że CRM_CONTROL0,1 i CRM_EXPERIMENTAL0,128 jest wynikiem, w którym można ogłosić zwycięzcę.

W pokrewnym pytaniu użytkownicy wskazali, że taki test jest mniej wiarygodny ze względu na zachęcanie do wczesnego zatrzymywania posiadania mniejszej liczby próbek, a także jest podatny na błąd szacowania i zwiększoną liczbę błędów typu I i typu II. Czy jest jakiś sposób, aby ta reguła zatrzymująca działała? Jest to nasze preferowane podejście, ponieważ oznacza dla nas krótszy czas programowania. Być może ta reguła zatrzymywania mogłaby zadziałać, oferując jakiś wynik liczbowy lub wyniki, które mierzą wiarygodność testu, czy należy go wcześniej przerwać?

2. Przy użyciu analizy sekwencyjnej lub SPRT .

Te metody testowania są zaprojektowane dokładnie dla sytuacji, w której się znajdujemy: w jaki sposób nasi użytkownicy mogą rozpocząć test i zakończyć go w taki sposób, aby nie tracić czasu na testowanie? Zbyt długie uruchamianie testu lub konieczność rozpoczęcia testu z innymi parametrami.

Spośród dwóch powyższych metod preferuję SPRT, ponieważ matematyka jest dla mnie nieco łatwiejsza do zrozumienia i ponieważ wygląda na to, że łatwiej jest ją zaprogramować. Nie rozumiem jednak, jak korzystać z funkcji wiarygodności w tym kontekście. Gdyby ktoś mógł skonstruować przykład obliczania ilorazu wiarygodności, skumulowanej sumy ilorazu wiarygodności, i kontynuowałby przykład ilustrujący sytuację, w której należy kontynuować monitorowanie, kiedy zaakceptuje się hipotezę zerową i hipotezę alternatywną, pomogłoby nam to ustalić, czy SPRT jest właściwą drogą.

jkndrkn
źródło
2
Pochwalam, że nie uciekłeś się do voodoo. Jeśli korzystasz z narzędzia i nie rozumiesz dokładnie, co on robi lub jak działa, nie masz kwalifikacji do interpretacji wyników tego narzędzia. Kiedy analiza napędza decyzję biznesową, a Ty wkładasz czas i pieniądze w wynik, pokazuje ona własność, jeśli poświęcisz czas na zrozumienie źródła danych. Jest to rodzaj ciężkiej pracy, która daje więcej możliwości zamiast być „w stadzie”.
EngrStudent - Przywróć Monikę

Odpowiedzi:

7

Jest to interesujący problem, a związane z nim techniki mają wiele zastosowań. Są one często nazywane strategiami „tymczasowego monitorowania” lub „sekwencyjnym planowaniem eksperymentalnym” (artykuł w Wikipedii, z którym się łączysz, jest niestety trochę rzadki), ale jest na to kilka sposobów. Myślę, że @ user27564 jest w błędzie, mówiąc, że analizy te muszą koniecznie być bayesowskie - z pewnością istnieją również częste podejścia do tymczasowego monitorowania.

AsBsABP(A)=P(B)=0.558x such that 1F(x;100;0.5)<αF

Podobna logika pozwala znaleźć „punkty nieuchronności” dla innych testów, w których:

  1. Całkowity rozmiar próbki * jest stały i
  2. Każda obserwacja wnosi ograniczoną ilość do próbki.

Prawdopodobnie byłoby to łatwe do wdrożenia - oblicz kryteria zatrzymania offline, a następnie po prostu podłącz je do kodu witryny - ale często możesz zrobić to jeszcze lepiej, jeśli chcesz zakończyć eksperyment nie tylko wtedy, gdy wynik jest nieunikniony , ale kiedy zmiana jest bardzo mało prawdopodobna.

ABA

Istnieje również wiele innych podejść. Grupowe metody sekwencyjne są zaprojektowane dla sytuacji, w których uzyskanie pewnej liczby pacjentów może być niemożliwe, a badani wlewają się ze zmienną szybkością. W zależności od ruchu w witrynie możesz chcieć, ale nie chcesz, zaglądać do tego.

Istnieje wiele pakietów R unoszących się wokół CRAN, jeśli tego właśnie używasz do analizy. Dobrym miejscem do rozpoczęcia może być widok zadań badań klinicznych , ponieważ wiele z tych prac pochodziło z tej dziedziny.


[*] Tylko przyjazna rada: zachowaj ostrożność, patrząc na wartości istotności obliczone na podstawie bardzo dużej liczby punktów danych. Jak zbierać coraz więcej danych, to będzie w końcu znaleźć znaczący wynik, ale efekt może być trywialnie małe. Na przykład, jeśli zapytasz całą planetę, czy wolą A czy B, jest bardzo mało prawdopodobne, że zobaczysz dokładny podział 50:50, ale prawdopodobnie nie warto ponownie wprowadzać zmian w produkcie, jeśli podział wynosi 50,001: 49,999. Sprawdzaj też rozmiar efektu (tj. Różnicę współczynników konwersji)!

Matt Krause
źródło
1
Aby wyraźnie odpowiedzieć na obawy użytkowników: Tak, zdecydowanie możesz zakończyć analizę wcześniej. Dzieje się tak przez cały czas w badaniach klinicznych - lek jest tak miażdżącym sukcesem, że ma wystarczające dane na temat jego skuteczności i chce przekazać go ludziom utkniętym w grupie kontrolnej (lub, co bardziej prawdopodobne, lek jest ogromny biust / pogarszanie sytuacji). Jednak przedłużanie eksperymentu jest bardziej kontrowersyjne - istnieją metody korygowania wielu „wyglądów”, ale lepiej byłoby wcześniej ustalić maksymalną wartość N - zawsze możesz przerwać wcześniej!
Matt Krause,
2
Dzięki za to całkowicie zgadzam się z przerwaniem, jeśli eksperyment jest nieunikniony, to naprawdę ma sens! Z tym „zatrzymaniem się, jeśli to naprawdę mało prawdopodobne”, wątpiłbym, czy prawdziwy częsty zgodziłby się z tym. To nic innego niż powiedzenie: Hej, 95%? Powiedziałbym, że 93% też jest dobre! To znaczy, że dobrze byłoby po prostu być zadowolonym z 90% pewności siebie, ale jako częsty przed spojrzeniem na dane!
SebastianNeubauer,
1
Nie jestem arystokratą ani nie gram w telewizji, ale myślę, że nadal możesz mieć rozsądną interpretację reguły częstego zatrzymywania - jeśli przeprowadzę ten eksperyment 100 razy, jak często otrzymam inna odpowiedź, jeśli przestanę teraz, a jeśli pobiegnę do końca? Recenzja, którą podłączyłem, wskazuje, że jest to jeden z tych miłych przypadków, w których można jednocześnie zadowolić Bayesian i Frequentists ...
Matt Krause,
α
1
@ RussellS.Pierce: Myślę, że to zależy. Oczywiście ograniczenie nie, ale niektóre inne metody tak. Na przykład test O'Breina i Flemminga może wykorzystywać więcej danych, ale może również wcześniej odrzucić, a test Pococka jeszcze bardziej. To oczywiście zależy od szczegółów: książka, do której prowadzi link powyżej, ma przykład z pewnymi rozsądnymi wartościami (wielkość efektu: 0,25, alfa = 0,05, moc = 0,9, 5 wyglądów). Stała wersja N potrzebuje 170 tematów do odrzucenia; Wersja OBF potrzebuje maksymalnie 180, a Pocock potrzebuje najwyżej 205, ale spodziewana liczba pacjentów wynosi odpowiednio 130 i 117.
Matt Krause,
1

Możesz przestać wcześnie, ale jeśli to zrobisz, twoje wartości p nie będą łatwo interpretowane. Jeśli nie zależy ci na interpretacji wartości p, to sposób, w jaki odpowiedź na dwa pierwsze pytania brzmi „nie”, nie ma znaczenia (zbyt wiele). Twój klient wydaje się pragmatyczny, więc prawdziwa interpretacja wartości p prawdopodobnie nie jest dobrym punktem, na którym ci zależy.

Nie mogę mówić o drugim podejściu, które proponujecie.

Jednak pierwsze podejście nie opiera się na solidnym gruncie. Normalne aproksymacje rozkładów dwumianowych nie są poprawne dla tak niskich proporcji (co jest metodą wykorzystującą test power.prop.test, także metodę zastosowaną przez Cohena w jego klasycznej książce o potędze). Co więcej, o ile mi wiadomo, nie ma rozwiązania analizy mocy w postaci zamkniętej dla badań proporcji dwóch próbek (por. Jak można przeprowadzić analizę mocy dwumianowej dwóch grup bez stosowania normalnych przybliżeń? ). Istnieją jednak lepsze metody przybliżania przedziałów ufności proporcji (por. Binom pakietu). Możesz zastosować nie nakładające się przedziały ufności jako częściowe rozwiązanie ... ale to nie to samo, co oszacowanie wartości p, a zatem nie zapewnia bezpośredniej drogi do zasilania. Mam nadzieję, że ktoś ma fajne rozwiązanie w formie zamkniętej, które podzieli się z nami. Jeśli natknę się na jeden, zaktualizuję powyższe pytanie. Powodzenia.

Edycja: Kiedy o tym myślę, pozwólcie mi na chwilę całkowicie pragmatyczny. Twój klient chce, aby ten eksperyment się zakończył, gdy będzie pewien, że strona eksperymentalna działa lepiej niż strona kontrolna. Po zdobyciu przyzwoitej próbki, jeśli nie jesteś gotowy do podjęcia decyzji, po prostu zacznij dostosowywać stosunek swojego losowego zadania do dowolnej strony, która „wygrywa”. Jeśli to był tylko moment, regresja do średniej wślizgnie się, będziesz mniej pewny i zmniejszysz stosunek. Gdy masz wystarczającą pewność, zadzwoń, aby wyjść i ogłosić zwycięzcę. Optymalne podejście prawdopodobnie wymagałoby aktualizacji bayesowskiej, ale nie wiem wystarczająco dużo na ten temat, żeby cię pokierować. Jednak zapewniam cię, że choć może się to czasem wydawać sprzeczne z intuicją, sama matematyka nie jest wcale taka trudna.

russellpierce
źródło
0

Pytania, które masz, są typowymi pytaniami pojawiającymi się w testach statystycznych. Istnieją dwa „smaki” statystyk: częsty i bayesowski. Częsta odpowiedź na oba pytania jest łatwa:

  • NIE
  • Nie, nie możesz przestać wcześnie
  • Nie, nie możesz dłużej mierzyć

Po zdefiniowaniu konfiguracji nie można nawet patrzeć na dane (ślepa analiza). Z punktu widzenia częstych nie ma mowy o obejściu, oszukiwaniu, żadnych sztuczkach! (EDYCJA: Oczywiście, istnieją próby, aby to zrobić, a one również będą działać, jeśli zostaną użyte poprawnie, ale większość z nich wprowadza uprzedzenia.)

Ale istnieje bayesowski punkt widzenia, który jest zupełnie inny. Podejście bayesowskie wymaga, w przeciwieństwie do częstych, dodatkowego wkładu, rozkładu prawdopodobieństwa a priori. Możemy to nazwać także wcześniejszą wiedzą lub uprzedzeniami. Dzięki temu możemy wykorzystać dane / pomiary do zaktualizowania naszej wiedzy do prawdopodobieństwa a posteriori. Chodzi o to, że możemy korzystać z danych, a co więcej, możemy wykorzystywać dane w każdym pośrednim punkcie pomiaru. W każdej aktualizacji ostatni posterior jest naszym nowym wcześniejszym i możemy go zaktualizować o nowy pomiar, zgodnie z naszą aktualną wiedzą. W ogóle nie ma problemu z wczesnym zatrzymaniem!

Znalazłem przemówienie omawiające podobne problemy, które masz, i opisałem powyżej: http://biostat.mc.vanderbilt.edu/wiki/pub/Main/JoAnnAlvarez/BayesianAdaptivePres.pdf

Ale czy na pewno naprawdę tego potrzebujesz? Wygląda na to, że masz jakiś system, który decyduje, gdzie połączyć żądanie. W tym celu nie musisz dowodzić, że Twoje decyzje są poprawne w sensie statystycznym, za pomocą testu hipotez. Czy kiedykolwiek kupiłeś colę, ponieważ możesz wykluczyć, że pepsi jest „w tej chwili” z prawdopodobieństwem 95%? Wystarczy wybrać ten, który jest po prostu lepszy, nie wykluczając hipotezy. Byłby to trywialny algorytm: obliczyć niepewność częstości A, obliczyć niepewność B. Weź różnicę obu stóp i podziel ją na niepewność różnicy. Wynik jest podobny do znaczenia różnicy w sigmie. Następnie po prostu weź wszystkie linki, w których występuje więcej niż dwie lub trzy różnice sigma. Wada,

SebastianNeubauer
źródło
1
Myślę, że twoje pierwsze cztery akapity są trochę czerwonym śledziem - istnieją częste podejścia do tymczasowego monitorowania. Prawdą jest, że (Bayesowska) późniejsza aktualizacja dobrze do tego nadaje, ale można rozwiązać ten problem na wiele różnych sposobów. Dzięki za wskaźnik do slajdów!
Matt Krause,
W każdym razie +1 - podejście bayesowskie prawdopodobnie jest tutaj jasne niż jakakolwiek poprawka dla częstych.
russellpierce
2
Ech, jest ten ... mem ... że metody bayesowskie pozwalają bez końca patrzeć na dane bez żadnych komplikacji. Jednak ogólny poziom błędu typu I nie jest faktycznie kontrolowany (dlaczego miałby być?) I może stać się arbitralnie duży, jeśli po wielu „spojrzeniach”. Możesz to poprawić za pomocą odpowiedniego uprzedniego lub możesz argumentować, że kontrolowanie błędu Typu I jest kiepskie, ale nie jest tak, jakby wszystkie techniki bayesowskie były panaceum.
Matt Krause,
0

być może można tam zastosować jakieś metody

  • Pocock
  • O'Brien i Flemming
  • Peto

dostosuje to wartość graniczną P na podstawie wyników i pomoże przestać gromadzić dane oraz zaoszczędzić zasoby i czas.

może można tu dodać inne prace.

Szczęśliwy człowiek
źródło
czy możesz podać linki lub więcej informacji na temat swoich punktorów?
Antoine,
nie mam tych dokładnych artykułów, ponieważ użyłem artykułu z cytatem, to znaczy podejścia są różne, ale mogę polecić ten artykuł, który poradzi sobie z pytaniem w dziedzinie medycyny: Adaptacyjna modyfikacja wielkości próby w badaniach klinicznych: zacznij od małej poprosić o więcej? Christopher Jennisona * † i BruceW. Turnbullb
HappyMan,