Jestem odpowiedzialny za prezentowanie wyników testów A / B (przeprowadzanych na różnych stronach internetowych) w mojej firmie. Test przeprowadzamy przez miesiąc, a następnie sprawdzamy wartości p w regularnych odstępach czasu, aż osiągniemy istotność (lub porzucimy, jeśli istotność nie zostanie osiągnięta po długim czasie testowania), coś, co teraz dowiaduję się, jest błędną praktyką .
Chcę teraz zatrzymać tę praktykę, ale aby to zrobić, chcę zrozumieć DLACZEGO to jest złe. I rozumieć , że wielkość efektu, wielkość próbki (N), kryterium alfa istotności (α) i mocy statystycznej lub wybrany lub domniemanej beta (β) są powiązane matematycznie. Ale co dokładnie się zmienia, gdy zatrzymamy nasz test, zanim osiągniemy wymagany rozmiar próbki?
Przeczytałem tutaj kilka postów (a mianowicie to , to i to ) i mówią mi, że moje szacunki byłyby stronnicze, a wskaźnik mojego błędu typu 1 dramatycznie rośnie. Ale jak to się dzieje? Szukam matematycznego wyjaśnienia , czegoś, co wyraźnie pokazałoby wpływ wielkości próby na wyniki. Wydaje mi się, że ma to coś wspólnego ze związkami między czynnikami, o których wspomniałem powyżej, ale nie byłem w stanie znaleźć dokładnych formuł i samodzielnie je opracować.
Na przykład, przedwczesne zatrzymanie testu zwiększa poziom błędu typu 1. W porządku. Ale dlaczego? Co się dzieje, aby zwiększyć poziom błędu typu 1? Brakuje mi tutaj intuicji.
Prosimy o pomoc.
Odpowiedzi:
Testy A / B, które po prostu testują wielokrotnie te same dane ze stałym poziomem błędu typu 1 ( ), są zasadniczo wadliwe. Są co najmniej dwa powody, dla których tak jest. Po pierwsze, powtarzane testy są skorelowane, ale testy są przeprowadzane niezależnie. Po drugie, stała nie uwzględnia wielokrotnie przeprowadzonych testów prowadzących do inflacji błędu typu 1.α α
Aby zobaczyć pierwsze, załóż, że przy każdej nowej obserwacji przeprowadzasz nowy test. Oczywiście wszelkie dwie kolejne wartości p będą skorelowane, ponieważ przypadki nie zmieniły się między dwoma testami. W związku z tym widzimy trend w wykresie @ Bernharda pokazujący tę korelację wartości p.n−1
Aby zobaczyć drugi, zauważamy, że nawet gdy testy są niezależne, prawdopodobieństwo posiadania wartości p poniżej wzrasta wraz z liczbą testów gdzie jest zdarzenie fałszywie odrzuconej hipotezy zerowej. Zatem prawdopodobieństwo uzyskania co najmniej jednego pozytywnego wyniku testu jest sprzeczne z gdy wielokrotnie testujesz a / b. Jeśli po prostu zatrzymasz się po pierwszym pozytywnym wyniku, pokażesz tylko poprawność tej formuły. Mówiąc inaczej, nawet jeśli hipoteza zerowa jest prawdziwa, ostatecznie ją odrzucisz. Test a / b jest zatem najlepszym sposobem na znalezienie efektów tam, gdzie ich nie ma.α t
Ponieważ w tej sytuacji zarówno korelacja, jak i testowanie wielokrotne utrzymują się jednocześnie, wartość p testu zależy od wartości p . Więc jeśli w końcu osiągniesz , prawdopodobnie pozostaniesz w tym regionie przez jakiś czas. Możesz to również zobaczyć na działce @ Bernharda w regionie od 2500 do 3500 i od 4000 do 5000.t+1 t p<α
Wielokrotne testowanie samo w sobie jest uzasadnione, ale testowanie na stałym nie jest. Istnieje wiele procedur, które dotyczą zarówno procedury wielokrotnego testowania, jak i testów skorelowanych. Jedna rodzina poprawek testowych nazywana jest rodzinną kontrolą poziomu błędu . To, co robią, to zapewnienieα
Prawdopodobnie najbardziej znanym dostosowaniem (ze względu na swoją prostotę) jest Bonferroni. Tutaj ustawiamy dla których łatwo można wykazać, że jeśli liczba niezależnych testów jest duża. Jeśli testy są skorelowane, prawdopodobnie będzie zachowawcze, . Najłatwiejszą korektą jest podzielenie poziomu alfa przez liczbę testów, które już wykonałeś.P ( A ) ≈ α P ( A ) < α
Jeśli zastosujemy Bonferroniego do symulacji @ Bernharda i powiększymy odstęp na osi y, znajdziemy wykres poniżej. Dla jasności założyłem, że nie testujemy po każdym rzucie monetą (próba), ale tylko co setny. Czarna linia przerywana to standardowe a czerwona linia przerywana to dostosowanie Bonferroniego.α = 0,05(0,0.1) α=0.05
Jak widzimy, dostosowanie jest bardzo skuteczne i pokazuje, jak radykalnie musimy zmienić wartość p, aby kontrolować rodzinny wskaźnik błędów. W szczególności nie znajdujemy już żadnych istotnych testów, jak powinno być, ponieważ hipoteza zerowa @ Berharda jest prawdziwa.
Po wykonaniu tej czynności zauważamy, że Bonferroni jest w tej sytuacji bardzo konserwatywny ze względu na skorelowane testy. Istnieją lepsze testy, które będą bardziej przydatne w tej sytuacji w sensie posiadania , takie jak test permutacji . Także o testowaniu można powiedzieć znacznie więcej niż tylko powoływanie się na Bonferroniego (np. Sprawdź częstotliwość fałszywych odkryć i powiązane techniki bayesowskie). Niemniej jednak odpowiada to na twoje pytania przy minimalnej ilości matematyki.P(A)≈α
Oto kod:
źródło
Jeśli hipoteza zerowa jest prawdziwa, ludzie często oczekują, że wartość p będzie bardzo wysoka. To nie jest prawda. Jeśli hipoteza zerowa jest prawdziwa, to p jest równomiernie rozmieszczoną zmienną losową. Oznacza to, że od czasu do czasu będzie losowo poniżej 0,05. Jeśli spojrzysz na wiele różnych podprób, czasami wartość p będzie mniejsza niż 0,05.
Aby ułatwić zrozumienie, oto mała symulacja w
R
:Wyrzuci to monetę 10 000 razy i wiemy, że jest to uczciwa moneta:
Począwszy od piątego rzutu, po każdym rzucie wykona się dwumianowy test uczciwości i zapisze wartości p:
Spowoduje to wykreślenie wartości p jedna po drugiej:
Jak widać, wartość p spada kilkakrotnie poniżej 0,05 tylko po to, aby się zregenerować i ostatecznie kończy się znacznie powyżej p = 0,05. Gdybyśmy przerwali proces w dowolnym momencie, gdy p był „znaczący”, doszlibyśmy do błędnego wniosku. Można by argumentować: „Mamy próbkę około 4000 prób iid, a p było poniżej 0,05. Na pewno możemy przestać próbować dalej”. Im częściej sprawdzasz wartość p, tym bardziej prawdopodobne jest, że sprawdzisz losowo. W tym przypadku wygenerowaliśmy dane pod i wiemy, że jest prawdą.H 0H0 H0
(Żeby być idealnie otwartym, próbowałem więcej niż jednego źródła dla generatora liczb, zanim było to tak jasne jak w tym przykładzie, ale jest to uczciwe do celów edukacyjnych. Jeśli masz
R
zainstalowany i uruchomiony, możesz łatwo grać liczbami .)źródło