← Últimos artículos
📊 statistics

Hash-augmented adaptive multilevel splitting Monte Carlo algorithm for accurate estimation of two-sample permutation test p-values

Este artículo presenta un algoritmo de Monte Carlo de división multinivel adaptativo aumentado con hash, implementado en el paquete de Python `hamstest`, para estimar con precisión valores p arbitrariamente pequeños para pruebas de permutación de dos muestras con estadísticas complejas, al tiempo que aborda los desafíos relacionados con la discreción de la distribución y garantiza intervalos de confianza válidos.

Autores originales: Nikita Golikov, Vladimir Sukhov, Gennady Korotkevich, Alexey Sergushichev

Publicado 2026-07-15
📖 6 min de lectura🧠 Análisis profundo

Autores originales: Nikita Golikov, Vladimir Sukhov, Gennady Korotkevich, Alexey Sergushichev

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina que eres un detective intentando atrapar a un criminal muy raro en una ciudad de millones de personas. Tienes una lista de sospechosos (tus datos) y quieres saber: "¿Qué tan probable es que este patrón específico de pistas haya ocurrido por pura suerte?". En el mundo de la estadística, esto se llama un test de permutación. Barajas las pistas millones de veces para ver qué tan seguido aparece un patrón "afortunado".

Normalmente, si el patrón es común, puedes simplemente contar los barajados afortunados. Pero, ¿qué pasa si el patrón es tan raro que solo ocurre una vez en un billón de intentos? Eso es como buscar un grano de arena específico entre una playa del tamaño de un planeta. Si intentas encontrarlo eligiendo granos al azar uno por uno (el viejo método Monte Carlo), podrías pasar toda tu vida recogiendo arena y aun así nunca encontrarías ese grano específico. Necesitarías recoger 101010^{10} granos solo para obtener una estimación decente de una probabilidad diminuta como 101010^{-10}, lo cual es totalmente poco práctico.

El Problema: El Ascensor Atascado

Los autores de este artículo se dieron cuenta de que los métodos estándar chocan contra un muro cuando se trata de estas probabilidades diminutas, especialmente porque los "granos de arena" (las combinaciones de datos) no son todos únicos. A veces, miles de diferentes barajados resultan en la misma puntuación exacta. Es como un ascensor que solo se detiene en los pisos 1, 10 y 100, pero se salta del 2 al 99. Si intentas llegar al piso 99, el ascensor simplemente no puede detenerse allí porque no existe. Esta "discreción" hace que las matemáticas se atasquen, haciendo imposible estimar qué tan raro es realmente un evento.

La Solución: El "Hash" Tag y la Escalera de División

El equipo, liderado por Nikita Golikov y sus colegas, construyó una nueva herramienta llamada hamstest. Su ingrediente secreto es un truco ingenioso llamado división multinivel adaptativa con aumento de hash (hash-augmented adaptive multilevel splitting).

Así es como funciona, usando una analogía divertida:

  1. La Escalera (División Multinivel): En lugar de intentar saltar directamente a la cima de la montaña (el evento raro), construyen una escalera. Comienzan en la base y preguntan: "¿Cuántas personas pueden alcanzar el primer peldaño?". Luego, "¿Cuántas de esas personas pueden alcanzar el segundo peldaño?". Continúan dividiendo al grupo en grupos cada vez más pequeños a medida que escalan. Esto convierte un salto imposible en una serie de pasos fáciles y manejables.
  2. El "Hash" Tag (La solución para los ascensores atascados): El gran problema era que muchas personas estaban paradas en el mismo peldaño (la misma puntuación), lo que hacía imposible dividir el grupo más allá. Para solucionar esto, los autores le dieron a cada persona un hash tag único e invisible (un número aleatorio). Incluso si dos personas tienen la misma puntuación exacta, sus hash tags son diferentes. Esto permite al algoritmo decir: "Está bien, no podemos dividir por puntuación, pero podemos dividir por hash tag". Esto convierte un piso plano y atascado en una escalera mecánica suave y continua donde el algoritmo siempre puede encontrar el siguiente paso.

Lo que Encontraron (y lo que No Encontraron)

Los autores probaron este nuevo método en dos tests estadísticos clásicos: el test de Kolmogorov–Smirnov y el test de Mann–Whitney U.

  • Los Resultados: En sus simulaciones, el nuevo método fue increíblemente preciso. Cuando intentaron estimar probabilidades tan diminutas como 1024310^{-243} (¡eso es un 1 seguido de 243 ceros!), la estimación del método aterrizó justo en el valor real. También calcularon intervalos de confianza (un rango donde es probable que se esconda la respuesta verdadera), y en aproximadamente el 95% de sus ejecuciones de prueba, la respuesta real estaba dentro de ese rango.
  • La Regla de "Remuestreo Completo": Probaron diferentes formas de ejecutar la simulación. Encontraron que un método llamado "remuestreo completo" (full resampling, donde barajan todos los datos en cada paso) era el más fiable y robusto. Sugieren usar una configuración específica llamada α=1\alpha = 1 como predeterminada porque fue la que mejor funcionó en sus pruebas.
  • Lo que Descartaron: Demostraron explícitamente que la forma antigua de hacer las cosas (usar solo la puntuación sin el hash tag) falla cuando los datos tienen "grandes saltos" o muchos empates. Probaron que sin el hash tag, el algoritmo puede quedarse atascado y dar respuestas erróneas. También señalaron que, aunque su método funciona de maravilla para tests de una sola cola (buscando un patrón en una dirección), la versión de dos colas del test de Kolmogorov–Smirnov es complicada porque el "ascensor" puede desconectarse en la parte superior, requiriendo un manejo especial.

¿Qué tan Rápido es?

El equipo midió cuánto tiempo tardaba el algoritmo en una computadora moderna (una Apple M3 Pro). Encontraron que el tiempo que toma depende principalmente de qué tan raro sea el evento. Si estás buscando algo extremadamente raro (como un p-valor de 1010010^{-100}), toma más tiempo porque tienes que subir más peldaños en la escalera. Sin embargo, para el test de Mann–Whitney U, el tiempo no dependía mucho del tamaño del conjunto de datos porque las matemáticas para ese test específico son muy eficientes para actualizarse.

La Conclusión

Los autores no han "solucionado" todos los problemas estadísticos del universo, pero han construido una herramienta muy poderosa y flexible que funciona para cualquier test estadístico personalizado que un científico pueda inventar. Empaquetaron esta herramienta en una biblioteca de Python gratuita llamada hamstest.

Sugieren que, para la mayoría de las personas, usar el método de remuestreo completo con α=1\alpha = 1 es la mejor opción. También señalan que, aunque su método es rápido, el tiempo exacto que toma depende de la matemática específica del test que estés ejecutando. Si eres un investigador que lidia con probabilidades diminutas y datos desordenados, esta herramienta sugiere una forma de obtener respuestas precisas sin tener que esperar a la muerte térmica del universo.

En resumen, convirtieron un ascensor roto y atascado en una escalera mecánica de alta velocidad que puede llevarte a la cima de la montaña estadística, incluso cuando el camino está lleno de baches.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →