ist ein leistungsstarkes Werkzeug, um auf der Grundlage von Stichprobendaten Schlussfolgerungen zu ziehen und Vorhersagen über Populationen zu treffen. Es und die Wirksamkeit verschiedener Optionen zu verstehen. Eine beliebte Anwendung statistischer Schlussfolgerungen sind , bei denen wir zwei Versionen oder Behandlungen vergleichen, um die bessere Leistung zu ermitteln. Statistische Inferenz ermöglicht uns, fundierte Entscheidungen zu treffen A/B-Tests Was passiert jedoch, wenn wir dem Experiment weitere Versionen oder Behandlungen hinzufügen? Es mag den Anschein haben, dass die Einführung zusätzlicher Versionen in einem Experiment eine Chance für noch bessere Entscheidungen bietet. . Diese Herausforderung wird als bezeichnet. Leider kann die erhöhte Anzahl überprüfbarer Hypothesen bei unsachgemäßer Handhabung zu irreführenden Ergebnissen und falschen Entscheidungen führen Mehrfachvergleichsproblem In diesem Artikel erkläre ich das Konzept des Testens mehrerer Hypothesen, seine potenziellen Fallstricke und gebe eine mögliche Lösung an, die durch eine Python-Simulation unterstützt wird. Was ist das Testen mehrerer Hypothesen? Um das Testen mehrerer Hypothesen zu verstehen, untersuchen wir zunächst die grundlegenden Konzepte eines . einfachen A/B-Tests mit zwei Varianten Bei einem A/B-Test formulieren wir zunächst zwei konkurrierende Hypothesen: die , die das Fehlen eines Unterschieds zwischen den Varianten darstellt, und die , die das Vorhandensein eines Unterschieds nahelegt. Nullhypothese Alternativhypothese Dann legen wir ein fest, das als bezeichnet wird. Dieser Schwellenwert bestimmt die . Üblicherweise werden Signifikanzniveaus von 0,05 (5 %) und 0,01 (1 %) verwendet, die die Wahrscheinlichkeit der Signifikanzniveau alpha Menge an Beweisen, die erforderlich sind, um die Nullhypothese abzulehnen Beobachtung der Daten angeben, wenn die Nullhypothese wahr wäre. Nachdem wir das Experiment durchgeführt und die Daten gesammelt haben, berechnen wir . Der . Wenn der p-Wert kleiner als das Signifikanzniveau ist, lehnen wir die Nullhypothese zugunsten der Alternativhypothese ab. p-Werte p-Wert stellt die Wahrscheinlichkeit dar, ein Ergebnis zu erhalten, das genauso extrem oder noch extremer ist als die beobachteten Daten, wenn die Nullhypothese wahr wäre alpha Es ist wichtig zu beachten, dass ein niedriger p-Wert auf starke Beweise gegen die Nullhypothese hindeutet, was darauf hindeutet, dass die beobachteten Daten wahrscheinlich nicht allein durch Zufall entstanden sind. Dies bedeutet jedoch keine Gewissheit. Auch wenn die Nullhypothese wahr ist, bleibt die Wahrscheinlichkeit, einen Unterschied zwischen den Stichproben zu beobachten, ungleich Null. Wenn wir auf eine Situation mit stoßen, bezeichnen wir dies als . In solchen Fällen erhöht sich die Komplexität, da wir die möglichen Auswirkungen der gleichzeitigen Durchführung mehrerer Tests sorgfältig abwägen müssen. mehreren Alternativhypothesen Testen mehrerer Hypothesen Fallstricke beim Testen mehrerer Hypothesen Die Gefahr beim Testen mehrerer Hypothesen entsteht, wenn wir mehrere Hypothesen testen, ohne das Signifikanzniveau anzupassen. In solchen Fällen , was bedeutet, dass wir dazu neigen, (den Unterschied zu finden) (überhaupt keinen Unterschied). alpha erhöhen wir unbeabsichtigt die Fehlerquote vom Typ I eine Nullhypothese abzulehnen , obwohl diese Nullhypothese tatsächlich wahr ist Je mehr Hypothesen wir gleichzeitig testen, desto höher ist die Wahrscheinlichkeit, dass wir für Hypothese einen p-Wert unter finden und fälschlicherweise auf einen signifikanten Unterschied schließen. mindestens eine alpha Um dieses Problem zu veranschaulichen, stellen wir uns ein Szenario vor, in dem wir Hypothesen testen möchten, um zu bestimmen, welches von mehreren neuen Webseitendesigns mehr Kunden mit dem gewünschten anzieht. Nehmen wir an, wir wissen, dass , was bedeutet, dass die Nullhypothese für alle Fälle gilt. N alpha = 0.05 keines der neuen Designs besser ist als das Standarddesign N Allerdings besteht in jedem Fall eine Wahrscheinlichkeit von 5 % (vorausgesetzt, die Nullhypothese ist wahr), dass ein oder ein vorliegt. Mit anderen Worten: Es besteht eine Wahrscheinlichkeit von 95 %, dass ein falsch positives Ergebnis korrekt nicht erkannt wird. Theoretisch beträgt die Wahrscheinlichkeit, dass bei den Tests mindestens ein falsch positives Ergebnis vorliegt . Wenn beispielsweise ist, beträgt diese Wahrscheinlichkeit etwa 40 % und ist damit deutlich höher als die anfänglichen 5 %. Fehler „Typ I“ falsch positives Ergebnis N 1 - (1 - alpha)^N = 1 - 0.95^N N = 10 Das Problem wird umso deutlicher, je mehr Hypothesen getestet werden. Selbst in Szenarien, in denen nur wenige Varianten und Teilstichproben beteiligt sind, kann sich die Anzahl der Vergleiche schnell anhäufen. Vergleicht man beispielsweise drei Designs D1, D2 und D3 für alle Benutzer, dann separat für Benutzer im Land C1 und erneut für Benutzer in anderen Ländern als C1, ergeben sich insgesamt neun Vergleiche. Es ist leicht, sich unabsichtlich auf mehrere Vergleiche einzulassen, ohne sich der daraus resultierenden Erhöhung der Typ-I-Fehlerquoten bewusst zu sein. Die Auferstehung eines Lachses mithilfe mehrerer Hypothesentests Schauen wir uns ein an, das die Folgen verdeutlicht, wenn Fehler vom Typ I beim Testen mehrerer Hypothesen nicht kontrolliert werden. faszinierendes Beispiel Im Jahr 2009 Um zu verstehen, wie es zu diesem unerwarteten Ergebnis kam, müssen wir die Natur von fMRT-Scans untersuchen. führte eine Forschergruppe einen fMRT-Scan an einem toten Atlantischen Lachs durch und entdeckte erstaunlicherweise eine Gehirnaktivität, als ob er lebendig wäre! , auf denen bei jedem Patienten zahlreiche Tests durchgeführt werden. Die Scanner überwachen Veränderungen der Blutsauerstoffversorgung als Indikator für die Gehirnaktivität. Forscher konzentrieren sich typischerweise auf bestimmte Regionen von Interesse, was dazu führt, dass sie das gesamte Körpervolumen in kleine Würfel, sogenannte Voxel, unterteilen. . Aufgrund des Wunsches nach hochauflösenden Scans fMRT-Scanner dienen als umfangreiche Versuchsplattformen Jedes Voxel stellt eine Hypothese dar, die das Vorhandensein von Gehirnaktivität in diesem bestimmten Würfel testet werten fMRT-Scanner in einem einzigen Eingriff Tausende von Hypothesen aus. In diesem Fall korrigierten die Forscher angemessen und Dieses Ergebnis widerspricht jedoch unserem Verständnis, dass der . , was die Bedeutung der Behandlung des Problems von Typ-I-Fehlern verdeutlicht. absichtlich das anfängliche Signifikanzniveau alpha = 0.001 nicht identifizierten drei Voxel mit Gehirnaktivität im verstorbenen Lachs. Lachs tatsächlich verstorben ist Nach der Korrektur des Signifikanzniveaus verschwand das auferstehungsähnliche Phänomen Immer wenn mehrere Hypothesen in einem einzigen Experiment getestet werden, ist es von entscheidender Bedeutung, diese Herausforderung anzugehen und Fehler vom Typ I zu kontrollieren. Verschiedene statistische Techniken wie die können eingesetzt werden, um die überhöhte Falsch-Positiv-Rate im Zusammenhang mit dem Testen mehrerer Hypothesen zu verringern. Bonferroni-Korrektur Bonferroni-Korrektur Die ist ein statistisches Verfahren, das speziell für die Bewältigung der Herausforderung mehrerer Vergleiche beim Testen von Hypothesen entwickelt wurde. Bonferroni-Korrektur Theorie Angenommen, Sie müssen während eines Experiments Hypothesen testen und dabei sicherstellen, dass die Wahrscheinlichkeit eines Fehlers vom Typ I unter bleibt. N alpha Die zugrunde liegende Idee des Verfahrens ist einfach: . Erinnern Sie sich an die Formel für die Wahrscheinlichkeit von mindestens einem falschen Positivergebnis? In dieser Formel haben wir , das verringert werden kann, um die Gesamtwahrscheinlichkeit zu verringern. Reduzieren Sie das Signifikanzniveau, das zum Zurückweisen der Nullhypothese für jede Alternativhypothese erforderlich ist alpha Um also eine geringere Wahrscheinlichkeit für mindestens ein falsch positives Ergebnis unter mehreren Hypothesen zu erreichen, können Sie jeden p-Wert nicht mit , sondern mit einem kleineren Wert vergleichen. alpha Aber was genau ist „etwas Kleineres“? Es stellt sich heraus, dass die Verwendung als Signifikanzniveau für jede einzelne Hypothese sicherstellt, dass die Gesamtwahrscheinlichkeit eines Fehlers vom Typ I unter bleibt. bonferroni_alpha = alpha / N alpha Wenn Sie beispielsweise 10 Hypothesen testen ( ) und das gewünschte Signifikanzniveau 5 % ( ) beträgt, sollten Sie jeden einzelnen p-Wert mit vergleichen Daher wird die Wahrscheinlichkeit, mindestens eine echte Nullhypothese fälschlicherweise abzulehnen, den gewünschten Wert von 0,05 nicht überschreiten. N = 10 alpha = 0.05 bonferroni_alpha = alpha / N = 0.05 / 10 = 0.005 Diese bemerkenswerte Technik funktioniert aufgrund , die besagt, dass . Während es einen formalen mathematischen Beweis gibt, sorgen visuelle Erklärungen für ein intuitives Verständnis: der Booleschen Ungleichung die Wahrscheinlichkeit der Vereinigung von Ereignissen kleiner oder gleich der Summe ihrer Einzelwahrscheinlichkeiten ist Wenn also jede einzelne Hypothese auf dem Signifikanzniveau getestet wird, haben wir eine Wahrscheinlichkeit für ein falsch positives Ergebnis. Für solcher Tests ist die Wahrscheinlichkeit der Vereinigung „falsch positiver“ Ereignisse kleiner oder gleich der Summe der Einzelwahrscheinlichkeiten. Was im schlimmsten Fall, wenn in allen N Tests die Nullhypothese gilt, gleich ist bonferroni_alpha = alpha / N bonferroni_alpha N N * bonferroni_alpha = N * (alpha / N) = alpha Üben Um die zuvor besprochenen Konzepte weiter zu unterstützen, führen wir durch. Wir werden die Ergebnisse beobachten und die Wirksamkeit der Bonferroni-Korrektur beurteilen. eine Simulation in Python Stellen Sie sich ein Szenario vor, in dem wir in einem einzigen Test 10 Alternativhypothesen haben. Nehmen wir an, dass in allen 10 Fällen die Nullhypothese wahr ist. Sie stimmen zu, dass ein Signifikanzniveau von für Ihre Analyse angemessen ist. alpha = 0.05 Ohne jegliche Korrektur des überhöhten Typ-I-Fehlers erwarten wir jedoch eine theoretische Wahrscheinlichkeit von etwa 40 %, dass es mindestens ein falsch positives Ergebnis gibt. Und nach Anwendung der Bonferroni-Korrektur erwarten wir, dass diese Wahrscheinlichkeit 5 % nicht überschreitet. Für ein bestimmtes Experiment erhalten wir entweder mindestens ein falsch positives Ergebnis oder nicht. Diese Wahrscheinlichkeiten können nur auf einer Skala mehrerer Experimente gesehen werden. Dann lassen Sie uns die Simulation jedes einzelnen Experiments 100 Mal durchführen und die Anzahl der Experimente mit mindestens einem False Positive (p-Wert unter dem Signifikanzniveau) berechnen! Sie finden die Datei mit dem gesamten Code zum Ausführen dieser Simulation und zum Generieren von Diagrammen in meinem Repository auf GitHub – .ipynb IgorKhomyanin/blog/bonferroni-and-salmon import numpy as np import matplotlib.pyplot as plt # To replicate the results np.random.seed(20000606) # Some hyperparameters too play with N_COMPARISONS = 10 N_EXPERIMENTS = 100 # Sample p-values # As we assume that null hypothesis is true, # the p-value would be distributed uniformly sample = np.random.uniform(0, 1, size=(N_COMPARISONS, N_EXPERIMENTS)) # Probability of type I error we are ready to accept # Probabiltiy of rejecting null hypothesis when it is actually true alpha = 0.05 # Theoretical False Positive Rate # # 1. # Probability that we cocnlude a significant difference for a given comparison # is equal to alpha by definition in our setting of true null hypothesis # Then [(1 - alpha)] is the probability of not rejecting the null hypothesis # # 2. # As experiments are considered independent, the probability of not rejecting # the null hypothesis in [(1 - alpha)]^N # # 3. # Probability that at least one is a false positive is equal to # 1 - (probability from 2.) prob_at_least_one_false_positive = 1 - ((1 - alpha) ** N_COMPARISONS) # Observed False Positive Rate # We conclude that experiment is a false positive when p-value is less than alpha false_positives_cnt = np.sum(np.sum(sample <= alpha, axis=0) > 0) false_positives_share = false_positives_cnt / N_EXPERIMENTS # Bonferroni correction bonferroni_alpha = alpha / N_COMPARISONS bonferroni_false_positive_comparisons_cnt = np.sum(np.sum(sample <= bonferroni_alpha, axis=0) > 0) bonferroni_false_positive_comparisons_share = bonferroni_false_positive_comparisons_cnt / N_EXPERIMENTS print(f'Theoretical False Positive Rate Without Correction: {prob_at_least_one_false_positive:0.4f}') print(f'Observed False Positive Rate Without Correction: {false_positives_share:0.4f} ({false_positives_cnt:0.0f} out of {N_EXPERIMENTS})') print(f'Observed False Positive Rate With Bonferroni Correction: {bonferroni_false_positive_comparisons_share:0.4f} ({bonferroni_false_positive_comparisons_cnt:0.0f} out of {N_EXPERIMENTS})') # Output: # Theoretical False Positive Rate Without Correction: 0.4013 # Observed False Positive Rate Without Correction: 0.4200 (42 out of 100) # Observed False Positive Rate With Bonferroni Correction: 0.0300 (3 out of 100) Hier ist eine Visualisierung der Ergebnisse: Das obere Bild stellt jedes Quadrat als p-Wert eines einzelnen Vergleichs (Hypothesentest) dar. Je dunkler das Quadrat, desto höher ist der p-Wert. Da wir wissen, dass die Nullhypothese in allen Fällen gilt, wäre jedes signifikante Ergebnis ein falsch positives Ergebnis. Die mittlere Grafik stellt die Experimente ohne Korrektur dar, während die untere Grafik die Experimente mit der Bonferroni-Korrektur darstellt. Wenn der p-Wert unter dem Signifikanzniveau liegt (angezeigt durch fast weiße Quadrate), lehnen wir die Nullhypothese ab und erhalten ein falsch positives Ergebnis. Die Experimente mit mindestens einem falsch positiven Ergebnis sind rot eingefärbt. Offensichtlich hat die Korrektur effektiv funktioniert. Ohne Korrektur beobachten wir 42 von 100 Experimenten mit mindestens einem falsch positiven Ergebnis, was eng mit der theoretischen Wahrscheinlichkeit von ~40 % übereinstimmt. Mit der Bonferroni-Korrektur haben wir jedoch nur 3 von 100 Experimenten mit mindestens einem falsch positiven Ergebnis und bleiben damit deutlich unter der gewünschten 5 %-Schwelle. , was ihre Nützlichkeit beim Testen mehrerer Hypothesen weiter bestätigt. Durch diese Simulation können wir visuell beobachten, wie sich die Bonferroni-Korrektur auf die Verringerung des Auftretens falsch positiver Ergebnisse auswirkt Abschluss In diesem Artikel habe ich das Konzept des Testens mehrerer Hypothesen erläutert und seine potenzielle Gefahr hervorgehoben. Diese erhöhte Wahrscheinlichkeit kann zu falschen Schlussfolgerungen über erhebliche Auswirkungen führen, die möglicherweise zufällig eingetreten sind, wenn nicht angemessen reagiert wird. Beim Testen mehrerer Hypothesen, beispielsweise bei der Durchführung mehrerer Vergleiche während eines A/B-Tests, steigt die Wahrscheinlichkeit, das seltene Ereignis „Falsch positiv“ zu beobachten. , die die Signifikanzniveaus für jede einzelne Hypothese anpasst. Durch die Ausnutzung der Booleschen Ungleichung trägt diese Korrektur dazu bei, das Gesamtsignifikanzniveau auf den gewünschten Schwellenwert zu kontrollieren und so das Risiko falsch positiver Ergebnisse zu verringern. Eine mögliche Lösung für dieses Problem ist die Bonferroni-Korrektur Es ist jedoch wichtig zu erkennen, dass jede Lösung ihren Preis hat. Dies bedeutet, dass möglicherweise eine größere Stichprobe oder stärkere Effekte erforderlich sind, um die gleichen Unterschiede festzustellen. Forscher müssen diesen Kompromiss sorgfältig abwägen, wenn sie sich für die Implementierung der Bonferroni-Korrektur oder anderer Korrekturmethoden entscheiden. Bei Verwendung der Bonferroni-Korrektur verringert sich das erforderliche Signifikanzniveau, was sich auf die Aussagekraft des Experiments auswirken kann. Wenn Sie Fragen oder Kommentare zu den in diesem Artikel behandelten Inhalten haben, zögern Sie bitte nicht, diese mitzuteilen. Die weitere Diskussion und Erforschung statistischer Techniken ist für ein besseres Verständnis und eine bessere Anwendung in der Praxis unerlässlich. Verweise – Mein GitHub-Repo mit dem gesamten Code, der zum Ausführen der Simulation und zum Generieren von Diagrammen erforderlich ist IgorKhomyanin/blog/bonferroni-and-salmon zum Generieren eines Titelbildes Kandinsky 2.1 Bennett, CM, MB Miller und GL Wolford. „Neuronale Korrelate der Perspektivenübernahme zwischen den Arten beim postmortalen Atlantischen Lachs: Ein Argument für die Korrektur mehrerer Vergleiche.“ NeuroImage 47 (Juli 2009): S125. https://doi.org/10.1016/s1053-8119(09)71202-9 Wikipedia – Boferroni-Korrektur Wikipedia – Boolesche Ungleichung