Tabel van links 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 Veilige toets simulasie 4.1 Inleiding In hierdie afdeling vergelyk ons die klassieke t-toets met die veilige t-toets, en die χ2-toets met die veilige verhoudingstoets. 'N grondige biblioteek vir veilige toets is ontwikkel in R [LTT20]. Met die doel om toenemende aanvaarding in die veld van data wetenskap te bevorder, het ons die kode vir die veilige t-toets en die veilige verhoudingstoets in Python geporteer. 4.2 Python implementasie Terwyl die logika van die veilige t-toets dieselfde bly, was daar 'n aantal ineffektiwiteite in die oorspronklike kode wat aangespreek moet word om met groot monstergrootte te werk. Die eerste verbetering kom in die bepaling van die steekproefgrootte wat nodig is vir 'n batchproses van die data. Die oorspronklike funksie voer 'n lineêre soektog uit van 1 tot 'n willekeurig hoë getal. Vir elke moontlike steekproefgrootte in die reeks bereken die E-waarde gebaseer op die steekproefgrootte, vryheidsgrade en die effekgrootte. Die loop breek wanneer die E-waarde groter is as 1/α. Aangesien dit 'n monotone toenemende funksie is, versnel 'n binêre soektog die berekening aansienlik, wat die berekeningskompleksheid van O(n) na O(log n) verminder. Die volgende spoedverbetering wat nodig is, is die berekening van die stoptyd vir 'n krag van 1 − β. Dit word bepaal deur simulasie van data wat deur die minimale effekgrootte verskil. Tydens N-simulasie word data van lengte m individueel gestreamd om die punt te bepaal waar die E-waarde 1/α kruis. Nogmaals, hierdie proses word gedoen deur middel van 'n lineêre soektog. Om hierdie funksie te optimaliseer, word die berekening van die martingale parallel oor die hele vektor van lengte m. Die berekeningskompleksiteit bly O(Nm), maar die vektorberekening plaasvind in Numpy kode, in teenstelling met 'n Python loop. Die finale verandering is nie in die vermindering van berekening kompleksiteit nie, maar in die verbetering van die vermoëns van die veilige verhouding toets. Hierdie toets is geskryf in R as 'n twee-monster toets met vaste batch groottes. vir ons gebruik geval, 'n een-monster toets met veranderlike batch groottes was nodig om monster mismatch verhouding op te spoor, en is dus ontwikkel vir die Python pakket. 4.3 Vergelyking van die t-toets met die Veilige t-toets Die eenvoudigste manier om die veilige t-toets te verstaan, is om dit met sy klassieke alternatiewe te vergelyk. Ons voer simulasie uit van 'n effekgrootte δ en 'n nul-hypotese H0 : δ = 0. Die instelling van die betekenisvlak α = 0.05 kan ons 'n effekgrootte δ tussen twee groepe simuleer om te bepaal wanneer die toets gestop word. As die gesimuleerde E-waarde 1/α = 20 kruis, word die toets gestop met H0 verwerp. As geen effek gedetekteer word nie, word die toets gestop by 'n krag van 1 − β = 0,8, aangesien hierdie krag algemeen in die bedryf is. Figuur 3 toon simulasie van stoptye en besluite van die veilige toets in vergelyking met die t-toets. Soos ons uit die gemiddelde stoptyd in Figuur 3 kan sien, gebruik die veilige t-toets minder as 500,000 monsters om statisties geldig resultate te lewer, terwyl die klassieke t-toets meer as 600,000 vereis. Maar die monster grootte wat nodig is om 1 − β krag te bereik vir die veilige t-toets is ongeveer 850,000, baie groter as wat van die klassieke t-toets. Men kan vra of dit aanvaarbaar is om eenvoudig die veilige t-toets te voer totdat die klassieke t-toets monster grootte. Figuur 4 (links) toon die impak van hierdie aksie op die statistiese foute. By die voltooiing van die toets, beide die klassieke t-toets en die veilige t-toets voldoen aan die vereiste dat die tipe I f Soos die algehele gevolgtrekkings van die twee toetse, is dit interessant om die eksperimente waarvoor die klassieke t-toets en die veilige t-toets nie ooreenstem nie, te oorweeg. Soos gesien in Figuur 4 (reg), terwyl beide toetse byna 80% krag doen, doen hulle dit op baie verskillende maniere. Baie simulasie waarvoor die klassieke t-toets H0 aanvaar, word deur die veilige t-toets verwerp, en omgekeerd. Hierdie verskil in resultate sal waarskynlik moeilik wees om te internaliser vir praktisyns wat oorweeg die t-toets om die bron van waarheid vir hul platform te wees. Terwyl Figuur 3 veilige stoptye evalueer vir 'n vaste effekgrootte, is dit belangrik om die resultate vir 'n wye verskeidenheid van effekgroottes te oorweeg. Om die resultate van effekgroottes van 0.01 tot 0.3 te aggregeer, normaliseer ons die stoptye deur t-toets stoptyd. Die resultate van hierdie analise kan gesien word in Figuur 5. Die plot van Figuur 5 toon beide die gemiddelde stop van die veilige t-toets en die monster grootte wat nodig is vir 80% krag. Gemiddeld gebruik die veilige toets 18% minder data as die t-toets. Om dieselfde krag van 80% te bereik, gebruik die veilige toets egter 36% meer data. Aangesien die meeste A / B-toetse nie lei tot die verwerping van H0 [Aze + 20], kan dit tot langer eksperimente in die algemeen vir praktisyns lei. 4.4 Vergelyking van die χ2-toets met die veilige verhoudingstoets Die resultate van Figuur 6 is opvallend soortgelyk aan die resultate wat gesien word in die vergelyking van die t-toets en die veilige t-toets in Figuur 3. Die veilige toets gebruik weer minder monsters, gemiddeld, as sy klassieke alternatief, terwyl die maksimum stop tyd om die vereiste krag te bereik is hoër. Soos in Figuur 7 gesien word, is die gemiddelde steekproefgrootte wat nodig is vir die veilige verhoudingstest kleiner as wat van die χ2-test vir al die waardes van ε. Dit dui daarop dat die veilige verhoudingstest mededingend sal wees met die χ2-test, selfs vir die opsporing van klein effekte. Kyk na hierdie resultate, kan 'n mens vra of dit gepas is om 'n vooraf te stel gebaseer op 'n onbekende effekgrootte. In hierdie afdeling het ons die veilige t-toets en die veilige verhoudingstoets met hul klassieke alternatiewe vergelyk. Dit is bevind dat die gemiddelde monster groottes vir die veilige t-toets kleiner is as dié van die klassieke t-toets vir 'n wye verskeidenheid van effek groottes. Maar die maksimum monster grootte kan baie groter wees om dieselfde statistiese krag te bereik. Daarbenewens is die gemiddelde monster groottes van die veilige verhoudingstoets kleiner as dié van die χ2-toets. Hierdie bevindings motiveer verdere aanvaarding van veilige toetse in wetenskaplike pogings. In die volgende afdeling vergelyk ons die veilige t-toets met 'n ander tyd-geldig toets wat in die bedryf gebruik word, die mengsel sekwensiële waarskynlikheid verhouding Die skrywer: Daniël Beasley Author: Daniël Beasley Hierdie artikel is beskikbaar onder die ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL lisensie. Hierdie papier is Onder die ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL lisensie. available on arxiv beskikbaar in die archief