Stůl vlevo Introduction Hypothesis testing 2.1 Introduction 2.2 Bayesian statistics 2.3 Test martingales 2.4 p-values 2.5 Optional Stopping and Peeking 2.6 Combining p-values and Optional Continuation 2.7 A/B testing Safe Tests 3.1 Introduction 3.2 Classical t-test 3.3 Safe t-test 3.4 χ2 -test 3.5 Safe Proportion Test Safe Testing Simulations 4.1 Introduction and 4.2 Python Implementation 4.3 Comparing the t-test with the Safe t-test 4.4 Comparing the χ2 -test with the safe proportion test Mixture sequential probability ratio test 5.1 Sequential Testing 5.2 Mixture SPRT 5.3 mSPRT and the safe t-test Online Controlled Experiments 6.1 Safe t-test on OCE datasets Vinted A/B tests and 7.1 Safe t-test for Vinted A/B tests 7.2 Safe proportion test for sample ratio mismatch Conclusion and References 4 Bezpečné testovací simulace 4.1 Úvod V této části porovnáváme klasický t-test s bezpečným t-testem a test χ2 s testem bezpečného poměru. Byla vyvinuta důkladná knihovna pro bezpečné testování v R [LTT20]. S cílem zvýšit přijetí v oblasti vědy o datech jsme do Pythonu přenesli kód pro bezpečný t-test a test bezpečného poměru. 2.2 Implementace Pythonu Zatímco logika bezpečného t-testu zůstává stejná, v původním kódu existuje řada neefektivností, které je třeba řešit, aby bylo možné pracovat s velkými velikostmi vzorků. První vylepšení spočívá v určení velikosti vzorku požadované pro bateriový proces dat. Původní funkce provádí lineární vyhledávání z 1 na libovolné vysoké číslo. Pro každou možnou velikost vzorku v rozsahu vypočítá funkce E-hodnotu na základě velikosti vzorku, stupňů svobody a velikosti účinku. Rohož přerušuje, když je E-hodnota větší než 1/α. Jelikož se jedná o monotónně se zvyšující funkci, binární vyhledávání výrazně urychluje výpočet, což snižuje výpočetní složitost z O(n) na O(log n). Tato optimalizace se ukázala jako nezbytná při práci s miliony vzorků. Další nezbytné zlepšení rychlosti spočívá v výpočtu doby zastavení pro výkon 1 − β. To je určeno simulací dat, které se liší minimální velikostí efektu. Během simulací N jsou údaje o délce m individuálně streamovány, aby se zjistilo, v jakém bodě E-hodnota překračuje 1/α. Opět se tento proces provádí prostřednictvím lineárního vyhledávání. Pro optimalizaci této funkce je výpočet martingalu paralelizován po celém vektoru délky m. Výpočetní složitost zůstává O(Nm), ale výpočet vektorů probíhá v kódu Numpy, na rozdíl od pythonového kruhu. Konečnou modifikací není snížení výpočetní složitosti, ale zlepšení schopností testu bezpečného poměru. Tento test byl napsán v R jako test dvou vzorků s pevnými velikostmi dávek. Pro náš případ použití byl požadován test jednoho vzorku s proměnnými velikostmi dávek k detekci poměru nesouladu vzorku, a byl proto vyvinut pro balíček Python. 4.3 Porovnání t-testu s Safe t-testem Nejjednodušší způsob, jak pochopit bezpečný t-test, je porovnat jej s jeho klasickou alternativou. Provádíme simulace velikosti účinku δ a nulové hypotézy H0 : δ = 0. Nastavením úrovně významnosti α = 0,05 můžeme simulovat velikost účinku δ mezi dvěma skupinami, abychom zjistili, kdy je test zastaven. Pokud simulovaná hodnota E překročí 1/α = 20, test je zastaven s H0 odmítnutým. Pokud není zjištěn žádný účinek, test je zastaven při síle 1 − β = 0,8, protože tato síla je běžná v průmyslu. Obrázek 3 ukazuje simulace časů zastavení a rozhodnutí bezpečného testu ve srovnání s t-testem. Jak můžeme vidět z průměrných časů zastavení na obrázku 3, bezpečný t-test používá méně než 500 000 vzorků k poskytnutí statisticky platných výsledků, zatímco klasický t-test vyžaduje více než 600 000. Nicméně velikost vzorku potřebná k dosažení 1 − β výkonu pro bezpečný t-test je přibližně 850 000, což je mnohem větší než u klasického t-testu. Lze se zeptat, zda je přijatelné jednoduše provádět bezpečný t-test až do klasického t-test velikosti vzorku. Obrázek 4 (vlevo) ukazuje dopad této akce na statistické chyby. Po dokončení testu, jak klasický t-test a bezpečný t-test splňují požadavek, že chyby typu I jsou nižší než α = 0.05 a chyby typu Stejně jako celkové závěry obou testů je zajímavé zvážit experimenty, u nichž se klasický t-test a bezpečný t-test neshodují. Jak je vidět na obrázku 4 (vpravo), zatímco oba testy mají téměř 80% výkonu, dělají to velmi odlišným způsobem. Mnoho simulací, u nichž klasický t-test přijímá H0, jsou bezpečným t-testem odmítnuty a naopak. T-test by měl být zdrojem pravdy pro jejich platformu. Zatímco Obrázek 3 hodnotí bezpečné časy zastavení pro pevnou velikost efektů, je důležité zvážit výsledky pro širokou škálu velikostí efektů. Chcete-li agregovat výsledky velikostí efektů od 0,01 do 0,3, normalizujeme časy zastavení časem zastavení t-testů. Plot na obrázku 5 ukazuje jak průměrné zastavení bezpečného t-testu, tak i velikost vzorku požadovanou pro 80% výkonu. V průměru bezpečný test používá o 18% méně dat než t-test. Aby se dosáhlo stejného výkonu 80%, bezpečný test však používá o 36% více dat. Vzhledem k tomu, že většina A/B testů nevede k odmítnutí H0 [Aze+20], mohlo by to vést k delším experimentům obecně pro praktiky. 4.4 Srovnání testu χ2 s testem bezpečného poměru Výsledky na obrázku 6 jsou pozoruhodně podobné těm, které byly viděny při porovnání t-testu a bezpečného t-testu na obrázku 3. Bezpečný test opět používá v průměru méně vzorků než jeho klasická alternativa, zatímco maximální doba zastavení k dosažení požadovaného výkonu je vyšší. Jak je vidět na obrázku 7, průměrná velikost vzorku požadovaná pro test bezpečného poměru je menší než u testu χ2 pro všechny hodnoty ε. To naznačuje, že test bezpečného poměru bude konkurenceschopný s testem χ2, a to i při detekci malých účinků. Při pohledu na tyto výsledky lze zpochybnit, zda je vhodné nastavit předchozí na základě neznámé velikosti efektu. Nicméně předchozí může vycházet z velikosti efektu vypočtené z dat po každém vzorku. V této části jsme porovnali bezpečný t-test a test bezpečného poměru s jejich klasickými alternativami. Bylo zjištěno, že průměrné velikosti vzorku pro bezpečný t-test jsou menší než u klasického t-testu pro širokou škálu velikostí účinků. Avšak maximální velikost vzorku může být mnohem větší, aby se dosáhlo stejné statistické síly. Kromě toho jsou průměrné velikosti vzorku testu bezpečného poměru menší než u testu χ2. Tyto výsledky motivují další přijetí bezpečných testů ve vědeckých úsilí. Autoři : 1 Daniel Beasley Author: 1 Daniel Beasley Tento dokument je k dispozici v archivu pod licencí ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL. Tento dokument je k dispozici v archivu pod licencí ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL. Dostupné v archivu