Type I- en Type II-fouten
Veeg om het menu te tonen
Het begrijpen van fouttypes is essentieel voor het interpreteren van A/B-testresultaten. In hypothesetoetsing treedt een Type I-fout op wanneer je ten onrechte een ware nulhypothese verwerpt, ook wel een vals-positief genoemd. Dit betekent dat je concludeert dat er een verschil is, terwijl dat in werkelijkheid niet zo is. Bijvoorbeeld: als je een A/B-test uitvoert om te zien of een nieuwe knopkleur meer klikken oplevert en je vindt een statistisch significant resultaat puur door toeval (terwijl de nieuwe kleur geen echt effect heeft), dan heb je een Type I-fout gemaakt.
Een Type II-fout ontstaat wanneer je er niet in slaagt een valse nulhypothese te verwerpen, bekend als een vals-negatief. Dit betekent dat je een echt effect mist. Stel je voor dat je nieuwe functie daadwerkelijk de gebruikersbetrokkenheid verhoogt, maar je test slaagt er niet in deze verbetering te detecteren – mogelijk omdat je steekproef te klein is of je test niet gevoelig genoeg is. In dit geval heb je een Type II-fout gemaakt.
Praktijksituaties illustreren deze fouten:
- Type I-fout (vals-positief): Een nieuw afrekenproces lanceren op basis van een test die ten onrechte een hogere conversie aangaf, wat leidt tot verspilde ontwikkelingsmiddelen;
- Type II-fout (vals-negatief): Een waardevolle kans missen door een functie niet uit te rollen die daadwerkelijk de retentie verbetert, omdat de test het effect niet heeft gedetecteerd.
123456789101112131415161718192021222324import numpy as np # Simulating 10,000 A/B tests where there is actually no effect (null hypothesis true) np.random.seed(42) n_tests = 10000 alpha = 0.05 # significance level # Simulating p-values uniformly distributed between 0 and 1 (no true effect) p_values = np.random.uniform(0, 1, n_tests) # Type I error: proportion of tests where p-value < alpha (false positives) type1_errors = np.sum(p_values < alpha) type1_error_rate = type1_errors / n_tests print(f"Type I error rate (alpha={alpha}): {type1_error_rate:.3f}") # Simulating 10,000 A/B tests where there IS a real effect (null hypothesis false) # Assume power = 0.8 (80% chance to detect the effect) power = 0.8 # 80% of tests yield p < alpha (true positives), 20% yield p >= alpha (false negatives) false_negatives = int((1 - power) * n_tests) type2_error_rate = false_negatives / n_tests print(f"Type II error rate (beta={1 - power}): {type2_error_rate:.3f}")
Er is een afweging tussen significantieniveau (alpha), power (1 - beta) en foutpercentages. Het verlagen van alpha vermindert de kans op Type I-fouten, maar verhoogt het risico op Type II-fouten. Het vergroten van de steekproefgrootte of het effect vergroot de power, waardoor Type II-fouten afnemen. Strategieën om fouten te minimaliseren zijn onder andere:
- Het kiezen van een passend significantieniveau op basis van bedrijfsrisico;
- Zorgen voor een voldoende grote steekproef om betekenisvolle effecten te detecteren;
- Het vooraf registreren van hypothesen om "p-hacking" te voorkomen;
- Het uitvoeren van gevoeligheidsanalyses om de impact van verschillende drempels te begrijpen.
Het balanceren van deze factoren helpt om betrouwbaardere beslissingen te nemen op basis van je A/B-tests.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.