01DatosData
EjemploExample Datos sintéticos, inventados para mostrar los tres desenlaces y lo que cambia Holm. No son resultados de ningún proyecto. Synthetic data, made up to show the three outcomes and what Holm changes. They are not results from any project.
;, espacio, o coma si el decimal es punto. Decimal con coma o con punto, sin separador de miles. Se contrasta d = A − B. Una línea # nombre o una línea en blanco empieza otra comparación; con una primera columna de texto (separada por tabulador o ;) las filas se agrupan por ese nombre. Las filas con un valor vacío o NA se descartan.
One row per pair: A and B separated by a tab, ;, a space, or a comma if the decimal mark is a dot. Decimal comma or dot, no thousands separator. The test is on d = A − B. A # name line or a blank line starts another comparison; with a first text column (separated by a tab or ;) rows are grouped by that name. Rows with an empty or NA value are dropped.
; o espacios; un nombre opcional en la primera columna si separas con tabulador o ;). Una línea # nombre o una línea en blanco empieza otra comparación.
One difference per line, or a whole comparison per row (values separated by tabs, ; or spaces; an optional name in the first column if you separate with tabs or ;). A # name line or a blank line starts another comparison.
02ResultadoResult
Cómo leer cada númeroHow to read each number
θ es la pseudomediana de d = A − B: la mediana de los promedios de cada par de diferencias. Es el parámetro que contrasta Wilcoxon.θ is the pseudomedian of d = A − B: the median of the averages of every pair of differences. It is the parameter the Wilcoxon test is about.
- n
- Pares usados, sin las filas con valores vacíos. Con menos de 5 no se contrasta: ningún resultado podría salir significativo al 5 %.Pairs used, excluding rows with empty values. With fewer than 5 there is no test: no outcome could be significant at 5%.
- HL
- Estimador de Hodges-Lehmann de θ: la mediana de los n(n+1)/2 promedios de Walsh (dᵢ + dⱼ)/2. A diferencia de la mediana de d, no se queda en 0 cuando hay muchos ceros.Hodges–Lehmann estimator of θ: the median of the n(n+1)/2 Walsh averages (dᵢ + dⱼ)/2. Unlike the median of d, it does not stick at 0 when there are many zeros.
- IC al 1 − 2α1 − 2α CI
- Los valores de θ que ninguno de los dos unilaterales rechaza (90 % con α = 0,05). Sin empates, «equivalente» es lo mismo que el intervalo dentro de (−δ, +δ). Con empates es aproximado y decide el p.The values of θ that neither one-sided test rejects (90% with α = 0.05). Without ties, “equivalent” is the same as the interval lying inside (−δ, +δ). With ties it is approximate and the p-value decides.
- p (θ > −δ)
- Wilcoxon unilateral sobre d + δ. Pequeño: hay evidencia de que la diferencia no está por debajo de −δ.One-sided Wilcoxon test on d + δ. Small: evidence that the difference is not below −δ.
- p (θ < +δ)
- Wilcoxon unilateral sobre d − δ. Pequeño: hay evidencia de que la diferencia no está por encima de +δ.One-sided Wilcoxon test on d − δ. Small: evidence that the difference is not above +δ.
- p TOSTTOST p
- El mayor de los dos. Hay equivalencia si p TOST ≤ α. No se reparte α: tienen que rechazar los dos, y por eso basta el α de cada uno (intersección-unión).The larger of the two. Equivalence holds if TOST p ≤ α. α is not split: both must reject, which is why each one’s α is enough (intersection–union).
- p TOST · HolmTOST p · Holm
- Con varias comparaciones, el p ajustado por Holm. Sirve para decir cuáles son equivalentes con una probabilidad de error de familia ≤ α.With several comparisons, the Holm-adjusted p-value. Use it to say which ones are equivalent with a family-wise error probability ≤ α.
- DesenlaceOutcome
- Equivalente; diferencia relevante (θ fuera de ±δ, con el bilateral al α); inconcluso (ni una cosa ni otra: faltan datos, no es «casi equivalente»); no contrastable (menos de 5 pares).Equivalent; relevant difference (θ outside ±δ, two-sided at α); inconclusive (neither: data are missing, it is not “almost equivalent”); not testable (fewer than 5 pairs).
- DetalleDetails
- W+ es la suma de los rangos de las diferencias positivas, más la mitad del rango de cada cero. Incluye el p de θ = 0: una diferencia puede ser real y a la vez irrelevante.W+ is the sum of the ranks of the positive differences, plus half the rank of each zero. It includes the p-value for θ = 0: a difference can be real and still irrelevant.
Nota técnicaTechnical note
Hipótesis
Con d = A − B y θ su pseudomediana: H₀: θ ≤ −δ o θ ≥ +δ, frente a H₁: −δ < θ < +δ. Se hacen dos Wilcoxon de rangos con signo unilaterales, cada uno al α: sobre d + δ (H₁: θ > −δ) y sobre d − δ (H₁: θ < +δ). Se declara equivalencia si los dos p son ≤ α; el p TOST es el mayor. Es el criterio de effect_test en el paquete del TFM, que además separa «diferencia relevante» de «inconcluso».
Ceros y empates
Rangos medios para los empates. Los ceros se reparten (zero_method="zsplit"): la mitad de su rango va a W+ y la otra mitad a W−. El p es exacto y condicional: se recorren todos los signos posibles de las diferencias no nulas por programación dinámica sobre 2 × rango, lo que sigue siendo exacto con empates y ceros. Se usa hasta 500 diferencias no nulas; por encima, aproximación normal con la varianza condicional (suma de los rangos al cuadrado de las no nulas, entre 4) y corrección de continuidad de 0,5.
Antes de asignar rangos, las diferencias se redondean a 10 cifras significativas relativas a la mayor magnitud. Sin eso, en coma flotante (0,03 − 0,01) − 0,02 da −3,5 × 10⁻¹⁸ en vez de 0, y una diferencia igual a δ contaría como negativa.
Intervalo de Hodges-Lehmann
Los extremos son dos promedios de Walsh ordenados, W₍c₎ y W₍M+1−c₎ con M = n(n+1)/2, y c sale de la distribución exacta de W+ sin empates (normal si n > 500). Sin empates su cobertura es exacta; con empates es aproximada y algo conservadora, y por eso decide el p.
Varias comparaciones
Cada comparación ya es una intersección-unión: hace falta que rechacen sus dos unilaterales. Entre comparaciones, Holm sobre los p TOST dice cuáles se declaran equivalentes con error de familia ≤ α (y, por separado, Holm sobre los p de diferencia relevante). Para afirmar que todas son equivalentes a la vez no hace falta corrección: basta que cada una lo sea al α. Una comparación no contrastable cuenta en Holm con p = 1, porque la familia es la que declaraste, no la que salió.
Supuesto y límites
El nivel exacto de Wilcoxon supone que d es simétrica alrededor de su pseudomediana. Con asimetría fuerte (casi todas las diferencias en 0 y una cola larga) los niveles son aproximados. Esta calculadora admite hasta 2000 pares por comparación y 50 comparaciones.
Diferencias con scipy
Sin empates ni ceros, los p coinciden con scipy.stats.wilcoxon(..., zero_method="zsplit", method="exact"). Con empates o ceros, method="exact" de scipy usa la nula sin empates y su p es aproximado, y method="asymptotic" cuenta los ceros en la varianza; los dos pueden diferir de esta calculadora. La permutación exhaustiva de scipy (PermutationMethod) sí coincide.
Validación
tools/tost/test_tost.mjs, en el repositorio del sitio, compara 15 casos (n de 6 a 60, más uno de 600 para la rama normal; continuos, con empates y con ceros) con scipy: método exacto (sin empates ni ceros), asintótico con corrección de continuidad (sin ceros), permutación exhaustiva (n ≤ 18) y Monte Carlo, más el estimador y el intervalo de Hodges-Lehmann. La tolerancia es 10⁻¹² en las comparaciones deterministas y 5 errores estándar en Monte Carlo; donde scipy difiere a propósito (el apartado anterior), la diferencia se informa sin exigir tolerancia. También compara con tfmfdd/stats.py del repositorio del TFM.
En el TFM
Esta regla es la de effect_test y compare_arms, con las que el TFM decide las ablaciones. La hipótesis principal usa la misma maquinaria en su versión de no superioridad: δ = 0,02 (2 puntos porcentuales) sobre la pseudomediana de Hodges-Lehmann de la ventaja por simulación, fijado antes del piloto de varianza y sin revisarlo con su resultado; cada unilateral al 5 %, intervalo al 90 %, Holm sobre los seis p de «ventaja relevante» y, para afirmar el apoyo, intersección-unión: las seis comparaciones al 5 % sin corrección. Fijar δ después de ver los datos sería elegir el resultado.
Hypotheses
With d = A − B and θ its pseudomedian: H₀: θ ≤ −δ or θ ≥ +δ, against H₁: −δ < θ < +δ. Two one-sided Wilcoxon signed-rank tests are run, each at α: on d + δ (H₁: θ > −δ) and on d − δ (H₁: θ < +δ). Equivalence is declared if both p-values are ≤ α; the TOST p is the larger one. This is the criterion of effect_test in the thesis package, which also separates “relevant difference” from “inconclusive”.
Zeros and ties
Average ranks for ties. Zeros are split (zero_method="zsplit"): half of their rank goes to W+ and half to W−. The p-value is exact and conditional: every possible sign pattern of the non-zero differences is enumerated by dynamic programming over 2 × rank, which stays exact with ties and zeros. It is used up to 500 non-zero differences; above that, a normal approximation with the conditional variance (sum of the squared ranks of the non-zero differences, divided by 4) and a 0.5 continuity correction.
Before ranking, differences are rounded to 10 significant digits relative to the largest magnitude. Without that, in floating point (0.03 − 0.01) − 0.02 gives −3.5 × 10⁻¹⁸ instead of 0, and a difference equal to δ would count as negative.
Hodges–Lehmann interval
The endpoints are two ordered Walsh averages, W₍c₎ and W₍M+1−c₎ with M = n(n+1)/2, and c comes from the exact no-ties distribution of W+ (normal if n > 500). Without ties its coverage is exact; with ties it is approximate and slightly conservative, which is why the p-value decides.
Several comparisons
Each comparison is already an intersection–union test: both of its one-sided tests must reject. Across comparisons, Holm on the TOST p-values says which ones can be declared equivalent with family-wise error ≤ α (and, separately, Holm on the relevant-difference p-values). Claiming that all of them are equivalent at once needs no correction: each one being equivalent at α is enough. A non-testable comparison enters Holm with p = 1, because the family is the one you declared, not the one that came out.
Assumption and limits
The exact level of the Wilcoxon test assumes d is symmetric around its pseudomedian. With strong asymmetry (almost all differences at 0 and a long tail) the levels are approximate. This calculator accepts up to 2000 pairs per comparison and 50 comparisons.
Differences from scipy
Without ties or zeros, the p-values match scipy.stats.wilcoxon(..., zero_method="zsplit", method="exact"). With ties or zeros, scipy’s method="exact" uses the no-ties null and its p-value is approximate, and method="asymptotic" counts the zeros in the variance; both can differ from this calculator. scipy’s exhaustive permutation (PermutationMethod) does match.
Validation
tools/tost/test_tost.mjs, in the site’s repository, compares 15 cases (n from 6 to 60, plus one of 600 for the normal branch; continuous, with ties and with zeros) against scipy: exact (no ties or zeros), asymptotic with continuity correction (no zeros), exhaustive permutation (n ≤ 18) and Monte Carlo permutation, plus the Hodges–Lehmann estimate and interval. The tolerance is 10⁻¹² for the deterministic comparisons and 5 standard errors for Monte Carlo; where scipy differs on purpose (previous section), the difference is reported without a tolerance. It also compares against tfmfdd/stats.py from the thesis repository.
In the thesis
This rule is the one in effect_test and compare_arms, which the thesis uses to decide its ablations. The main hypothesis uses the same machinery in its non-superiority form: δ = 0.02 (2 percentage points) on the Hodges–Lehmann pseudomedian of the per-simulation advantage, fixed before the variance pilot and not revised with its result; each one-sided test at 5%, a 90% interval, Holm over the six “relevant advantage” p-values and, to claim support, intersection–union: all six comparisons at 5% with no correction. Fixing δ after seeing the data would be choosing the result.