es una herramienta poderosa para sacar conclusiones y hacer predicciones sobre poblaciones basadas en datos de muestra. y comprender la efectividad de las diferentes opciones. Una aplicación popular de la inferencia estadística es , en la que comparamos dos versiones o tratamientos para determinar cuál tiene un rendimiento superior. Sin embargo, La inferencia estadística Nos permite tomar decisiones informadas la prueba A/B ¿qué sucede cuando introducimos más versiones o tratamientos al experimento? Puede parecer que la introducción de versiones adicionales en un experimento es una oportunidad para tomar mejores decisiones. , si no se maneja adecuadamente, . Este desafío se conoce como el . Desafortunadamente el mayor número de hipótesis comprobables puede conducir a resultados engañosos y decisiones incorrectas problema de las comparaciones múltiples En este artículo, explico el concepto de prueba de hipótesis múltiples, su peligro potencial y brindo una posible solución respaldada por una simulación de Python. ¿Qué es la prueba de hipótesis múltiples? Para comprender las pruebas de hipótesis múltiples, comencemos examinando los conceptos fundamentales de una . prueba A/B simple que incluye dos variantes En una prueba A/B, comenzamos formulando dos hipótesis contrapuestas: la , que representa la ausencia de diferencia entre las variantes, y la , que sugiere la presencia de una diferencia. hipótesis nula hipótesis alternativa Luego establecemos un denominado . Este umbral determina la . Los niveles de significación comúnmente utilizados son 0,05 (5%) y 0,01 (1%), que indican la probabilidad de nivel de significación alpha cantidad de evidencia requerida para rechazar la hipótesis nula observar los datos si la hipótesis nula fuera cierta. Después de ejecutar el experimento y recopilar los datos, calculamos . El . Si el valor p es menor que el nivel de significación , rechazamos la hipótesis nula a favor de la hipótesis alternativa. los valores p valor p representa la probabilidad de obtener un resultado tan extremo o más extremo que los datos observados si la hipótesis nula fuera cierta alpha Es importante tener en cuenta que un valor de p bajo sugiere una fuerte evidencia en contra de la hipótesis nula, lo que indica que es poco probable que los datos observados ocurran solo por casualidad. Sin embargo, esto no implica certeza. Queda una probabilidad distinta de cero de observar una diferencia entre las muestras incluso si la hipótesis nula es verdadera. Cuando nos encontramos con una situación con , nos referimos a ella como . En tales casos, la complejidad aumenta ya que debemos considerar cuidadosamente el impacto potencial de realizar múltiples pruebas simultáneamente. múltiples hipótesis alternativas prueba de hipótesis múltiples Trampas de las pruebas de hipótesis múltiples El escollo de la prueba de hipótesis múltiples surge cuando probamos varias hipótesis sin ajustar el nivel de significación . En tales casos, , lo que significa que tendemos a (encontrar la diferencia) (ninguna diferencia). alpha inflamos inadvertidamente la tasa de errores de "Tipo I" rechazar una hipótesis nula mientras que esta hipótesis nula es de hecho verdadera Cuantas más hipótesis probemos simultáneamente, mayores serán las posibilidades de encontrar un valor p más bajo que para hipótesis y concluir erróneamente una diferencia significativa. alpha al menos una Para ilustrar este problema, considere un escenario en el que queremos probar hipótesis para determinar cuál de los múltiples diseños de páginas web nuevas atrae a más clientes con . Supongamos que sabemos que , lo que significa que la hipótesis nula se cumple para todos casos. N alpha = 0.05 ninguno de los nuevos diseños es mejor que el predeterminado N Sin embargo, para cada caso, hay un 5% de probabilidad (asumiendo que la hipótesis nula es verdadera) de cometer un o un . En otras palabras, existe un 95% de probabilidad de no detectar correctamente un falso positivo. Teóricamente, la probabilidad de tener al menos un falso positivo entre las pruebas es igual a . Por ejemplo, cuando , esta probabilidad es de aproximadamente 40%, significativamente mayor que el 5% inicial. error “Tipo I” falso positivo N 1 - (1 - alpha)^N = 1 - 0.95^N N = 10 El problema se vuelve más evidente a medida que aumentamos el número de hipótesis probadas. Incluso en escenarios donde solo están involucradas unas pocas variantes y submuestras, la cantidad de comparaciones puede acumularse rápidamente. Por ejemplo, la comparación de tres diseños D1, D2 y D3 para todos los usuarios, luego por separado para los usuarios del país C1 y nuevamente para los usuarios de países distintos al C1, da como resultado un total de nueve comparaciones. Es fácil participar sin saberlo en comparaciones múltiples sin darse cuenta de la inflación subsiguiente de las tasas de error de Tipo I. La resurrección de un salmón usando pruebas de hipótesis múltiples Profundicemos en un que destaca las consecuencias de no controlar los errores de "Tipo I" al probar múltiples hipótesis. ejemplo intrigante En 2009, Para comprender cómo se produjo este resultado inesperado, debemos explorar la naturaleza de las exploraciones de IRMf. un grupo de investigadores realizó una resonancia magnética funcional en un salmón del Atlántico muerto y sorprendentemente descubrió actividad cerebral como si estuviera vivo. , donde se realizan numerosas pruebas en cada paciente. Los escáneres monitorean los cambios en la oxigenación de la sangre como un indicador de la actividad cerebral. Los investigadores generalmente se enfocan en regiones específicas de interés, lo que los lleva a dividir todo el volumen del cuerpo en pequeños cubos llamados vóxeles. . Debido al deseo de escaneos de alta resolución, Los escáneres fMRI sirven como amplias plataformas experimentales Cada vóxel representa una hipótesis que prueba la presencia de actividad cerebral dentro de ese cubo en particular los escáneres fMRI terminan evaluando miles de hipótesis durante un solo procedimiento. En este caso, los investigadores e Sin embargo, este resultado contradice nuestro entendimiento de que el . , lo que ilustra la importancia de abordar el problema de los errores de tipo I. intencionalmente no corrigieron apropiadamente el nivel de significancia inicial alpha = 0.001 identificaron tres vóxeles con actividad cerebral en el salmón fallecido. salmón está realmente muerto Al corregir el nivel de significación, desapareció el fenómeno similar a la resurrección Cada vez que se prueban múltiples hipótesis dentro de un solo experimento, se vuelve crucial abordar este desafío y controlar los errores de Tipo I. Se pueden emplear varias técnicas estadísticas, como la , para mitigar la tasa inflada de falsos positivos asociada con las pruebas de hipótesis múltiples. corrección de Bonferroni Corrección de Bonferroni La es un procedimiento estadístico diseñado específicamente para abordar el desafío de las comparaciones múltiples durante la prueba de hipótesis. corrección de Bonferroni Teoría Suponga que necesita probar hipótesis durante un experimento mientras se asegura de que la probabilidad de error de tipo I permanezca por debajo . N alpha La idea subyacente del procedimiento es sencilla: . ¿Recuerda la fórmula para la probabilidad de al menos un falso positivo? En esa fórmula, tenemos , que se puede disminuir para disminuir la probabilidad general. reducir el nivel de significación requerido para rechazar la hipótesis nula para cada hipótesis alternativa alpha Entonces, para lograr una menor probabilidad de al menos un falso positivo entre múltiples hipótesis, puede comparar cada valor p no con sino con algo más pequeño. alpha Pero, ¿qué es exactamente "algo más pequeño"? Resulta que el uso como nivel de significancia para cada hipótesis individual asegura que la probabilidad general de error de tipo I permanezca por debajo . bonferroni_alpha = alpha / N alpha Por ejemplo, si está probando 10 hipótesis ( ) y el nivel de significación deseado es del 5 % ( ), debe comparar cada valor p individual con Al hacer por tanto, la probabilidad de rechazar erróneamente al menos una hipótesis nula verdadera no superará el nivel deseado de 0,05. N = 10 alpha = 0.05 bonferroni_alpha = alpha / N = 0.05 / 10 = 0.005 Esta notable técnica funciona debido a , que establece que . Si bien existe una prueba matemática formal, las explicaciones visuales brindan una comprensión intuitiva: la desigualdad de Boole la probabilidad de la unión de eventos es menor o igual a la suma de sus probabilidades individuales Entonces, cuando cada hipótesis individual se prueba en un nivel de significación, tenemos una probabilidad de un falso positivo. Para tales pruebas la probabilidad de la unión de eventos “falsos positivos” es menor o igual a la suma de las probabilidades individuales. Lo cual, en el peor de los casos cuando en todas las N pruebas de hipótesis nulas se cumple, es igual a bonferroni_alpha = alpha / N bonferroni_alpha N N * bonferroni_alpha = N * (alpha / N) = alpha Práctica Para respaldar aún más los conceptos discutidos anteriormente, realicemos . Observaremos los resultados y evaluaremos la eficacia de la corrección de Bonferroni. una simulación en Python Considere un escenario donde tenemos 10 hipótesis alternativas dentro de una sola prueba. Supongamos que en los 10 casos, la hipótesis nula es verdadera. Está de acuerdo en que un nivel de significancia de es apropiado para su análisis. alpha = 0.05 Sin embargo, sin ninguna corrección para el error de tipo I inflado, esperamos una probabilidad teórica de aproximadamente el 40 % de experimentar al menos un resultado falso positivo. Y tras aplicar la corrección de Bonferroni esperamos que esta probabilidad no supere el 5%. Para un experimento específico, obtenemos al menos un falso positivo o no. Estas probabilidades solo se pueden ver en una escala de múltiples experimentos. Luego, ejecutemos la simulación de cada experimento individual 100 veces y calculemos la cantidad de experimentos con al menos un falso positivo (valor p por debajo del nivel de significancia). Puede encontrar el archivo con todo el código para ejecutar esta simulación y generar gráficos en mi repositorio en 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) Aquí hay una visualización de los resultados: La imagen superior representa cada cuadrado como el valor p de una comparación individual (prueba de hipótesis). Cuanto más oscuro es el cuadrado, mayor es el valor p. Como sabemos que la hipótesis nula se cumple en todos los casos, cualquier resultado significativo sería un falso positivo. El gráfico central representa los experimentos sin corrección, mientras que el gráfico inferior representa los experimentos con la corrección de Bonferroni. Cuando el valor p es inferior al nivel de significancia (indicado por cuadrados casi blancos), rechazamos la hipótesis nula y obtenemos un resultado falso positivo. Los experimentos con al menos un falso positivo están coloreados en rojo. Claramente, la corrección funcionó de manera efectiva. Sin corrección, observamos 42 experimentos de 100 con al menos un falso positivo, lo que se alinea estrechamente con la probabilidad teórica del ~40 %. Sin embargo, con la corrección de Bonferroni, solo tenemos 3 experimentos de 100 con al menos un falso positivo, manteniéndose muy por debajo del umbral deseado del 5%. , validando aún más su utilidad en las pruebas de hipótesis múltiples. A través de esta simulación, podemos observar visualmente el impacto de la corrección de Bonferroni en la mitigación de la ocurrencia de falsos positivos Conclusión En este artículo, expliqué el concepto de prueba de hipótesis múltiples y destaqué su peligro potencial. Esta mayor probabilidad puede conducir a conclusiones erróneas sobre efectos significativos que pueden haber ocurrido por casualidad si no se abordaron adecuadamente. Al probar múltiples hipótesis, como realizar múltiples comparaciones durante una prueba A/B, aumenta la probabilidad de observar un evento poco frecuente de "Falso positivo". , que ajusta los niveles de significancia para cada hipótesis individual. Al aprovechar la desigualdad de Boole, esta corrección ayuda a controlar el nivel de significación general en el umbral deseado, lo que reduce el riesgo de falsos positivos. Una posible solución a este problema es la corrección de Bonferroni Sin embargo, es importante reconocer que cada solución tiene un costo. Esto significa que puede ser necesario un tamaño de muestra más grande o efectos más fuertes para detectar las mismas diferencias. Los investigadores deben considerar cuidadosamente esta compensación al decidir implementar la corrección de Bonferroni u otros métodos de corrección. Cuando se utiliza la corrección de Bonferroni, el nivel de significación requerido disminuye, lo que puede afectar el poder del experimento. Si tiene alguna pregunta o comentario con respecto al contenido tratado en este artículo, no dude en compartirlo. Participar en una mayor discusión y exploración de las técnicas estadísticas es esencial para una mejor comprensión y aplicación en la práctica. Referencias - Mi GitHub Repo con todo el código necesario para ejecutar la simulación y generar gráficos IgorKhomyanin/blog/bonferroni-and-salmon para generar imagen de portada Kandinsky 2.1 Bennett, CM, MB Miller y GL Wolford. "Correlatos neuronales de la toma de perspectiva entre especies en el salmón del Atlántico post-mortem: un argumento para la corrección de comparaciones múltiples". NeuroImage 47 (julio de 2009): S125. https://doi.org/10.1016/s1053-8119(09)71202-9 Wikipedia - Corrección de Boferroni Wikipedia - Desigualdad de Boole