01 · Punto de partida
La media es frágil; el orden es robusto
Un solo tiempo de espera de 300 minutos (corte de sistema) arrastra la media de 12 a 25, pero apenas mueve la mediana de 12 a 13. Los tests clásicos (t, ANOVA) suponen normalidad y sufren con sesgos y atípicos. Los no paramétricos trabajan con rangos y signos: importa quién supera a quién, no por cuánto.
- ¿Tus datos son normales o mejor no suponerlo?
- ¿Las muestras son independientes o pareadas?
- ¿Qué test corresponde a tu diseño?
- ¿Qué tamaño del efecto informa además del p?
02 · Definición
Paramétrico frente a no paramétrico
Paramétrico
Supone forma (normal) y compara parámetros (medias). Potente si el supuesto vale, frágil si no.
No paramétrico
Solo supone continuidad e independencia. Compara distribuciones, medianas o dominancia estocástica vía rangos.
Precio
Si todo era normal, pierde ~5% de potencia. Si no lo era, gana robustez y honestidad. Con atípicos, no hay debate.
| Diseño | Paramétrico | No paramétrico | Tema |
|---|---|---|---|
| 2 indep. | t de 2 muestras | Mann-Whitney | 16 |
| 2 pareadas | t pareada | Wilcoxon signos | 17 |
| 1 muestra vs. valor | t de 1 muestra | Signos / Wilcoxon 1 muestra | 17 |
03 · Cómo elegir
El árbol en 3 preguntas
- 1¿Pareadas o independientes?
Mismo tanque antes/después → pareadas (Wilcoxon). Dos sucursales distintas → independientes (Mann-Whitney). Equivocarse aquí invalida todo.
- 2¿Normalidad sostenible?
n grande y simétrico sin atípicos → t. Sesgo, colas pesadas o atípicos → rangos. Con duda, rangos.
- 3¿Qué efecto informa?
Diferencia de medianas + probabilidad de superioridad P(X>Y), no solo p. Un p ≈ 0 con efecto 0,1 es irrelevante.
04 · Rangos sin miedo
Ordenar, empatar y sumar
Idea
Juntar, ordenar, repartir
Se juntan ambas muestras, se ordenan de menor a mayor y se reparten rangos 1…N. Cada grupo suma los suyos: si uno acumula los grandes, domina.
Empates
Rango promedio
Valores iguales comparten el promedio de los rangos que ocupan. Muchos empates → corrección en la varianza (Temas 16–17).
- U de Mann-Whitney
- Cuenta cuántos pares (A,B) gana A. U grande = A domina. Se aproxima a normal con n ≥ 10.
- W de Wilcoxon
- Suma rangos de diferencias positivas en datos pareados. Simetría bajo H0, no normalidad.
- P(X>Y)
- Probabilidad de que un dato nuevo de A supere uno de B. Efecto en 0…1: 0,5 = empate, 0,8 = dominancia clara.
05 · Representación en Python
Rangos a mano: la media miente, la mediana no
Python en tu navegador. Un atípico de 100 destruye la media y apenas toca los rangos.
A = [11, 12, 12, 13, 14]
B = [12, 13, 13, 14, 100] # un atípico (corte del sistema)
def media(x):
return sum(x) / len(x)
def mediana(x):
s = sorted(x)
return s[len(s)//2]
print(f"medias: A={media(A):.1f} B={media(B):.1f} (el atípico manda)")
print(f"medianas: A={mediana(A)} B={mediana(B)} (robustas)")
juntos = sorted([(v, 'A') for v in A] + [(v, 'B') for v in B])
for rango, (v, g) in enumerate(juntos, start=1):
print(f"rango {rango}: {v} ({g})")
B suma los rangos altos por el 100, pero el resto se reparte: los rangos amortiguan sin esconder la dominancia.
P(X>Y) como efecto honesto
gana = sum(1 for a in A for b in B if b > a)
total = len(A) * len(B)
print(f"P(B>A) = {gana}/{total} = {gana/total:.2f}")
print("0.5 empate · 0.7+ dominancia que importa en la práctica")
06 · Exploración
Laboratorio: la media se deja voltear, los rangos no
Grupo A ∼ N(10, 1), grupo B ∼ N(10 + diferencia, 1) más un atípico sumado al primer dato de B. Mové la diferencia real, el n y el atípico. La banda muestra medianas; el panel calcula U, p normal y P(B>A).
Rangos robustos vs. medias frágiles
U Mann-Whitney · p normal · α = 0,05
Con diferencia 1 y sin atípico, B domina y el test lo detecta.
Cada punto es una medición; las líneas gruesas son medianas. El punto rojo es el atípico de B. U cuenta pares ganados por B.
Preguntas para explorar
- Con diferencia 1, n=16 y atípico 0: ¿U, p y P(B>A)? ¿Detecta la dominancia?
- Sumá atípico +8 sin tocar lo demás: ¿p y P(B>A) cambian mucho o poco? ¿Qué habría pasado con un t de medias?
- Poné diferencia 0 con atípico +8: ¿el test declara dominancia por un solo punto? ¿Qué dice eso de la robustez?
Ver respuestas sugeridas
- U alto (~190/256), p ≈ 0,01, P ≈ 0,75: dominancia clara y significativa. Los rangos la capturan sin suponer normalidad.
- Cambian poco (el atípico aporta un solo rango alto): p sigue ≈ 0,01. Un t habría inflado media y varianza y hasta podría perder significación por el desvío.
- No: P ≈ 0,55, p alto. Un solo atípico no fabrica dominancia en rangos (en medias, sí la exageraría). Robustez demostrada.
07 · Comprensión
Confusiones frecuentes
«No paramétrico = sin supuestos»
Tiene supuestos (independencia, continuidad, misma forma bajo H0), solo que no supone normalidad. «Sin supuestos» no existe.
«Compara medianas siempre»
Compara distribuciones/dominancia. Solo bajo misma forma el test equivale a comparar medianas.
«Con n chico uso no paramétrico y listo»
Con n chico ningún test tiene potencia. Los rangos protegen de atípicos, no crean evidencia de la nada.
«Si el t da significativo, no necesito rangos»
Si hay atípicos o sesgo, el t puede mentir en ambas direcciones. Con duda sobre normalidad, reportar ambos es honestidad.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: elegir el test por el diseño
¿Mann-Whitney o Wilcoxon en cada caso?
casos = ["2 sucursales distintas", "mismo tanque antes/después", "sim vs. real pareados por día"]
for c in casos:
t = "Wilcoxon" if "antes" in c or "pareados" in c else "Mann-Whitney"
print(c, "->", t)
Ver solución razonada
Sucursales distintas → independientes → Mann-Whitney. Antes/después y pareados por día → pareadas → Wilcoxon. El diseño manda, no la forma.
Ejercicio 2: el atípico que voltea la media
¿Media vs. mediana con un corte de 200?
x = [12, 13, 12, 14, 13, 200]
print("media", sum(x)/len(x), "| mediana", sorted(x)[len(x)//2])
Ver solución
Media 44 (absurda), mediana 13 (representativa). El t usaría 44; los rangos usarían «el mayor», sin dejarse arrastrar al 200.
Ejercicio 3: efecto además de p
Calculá P(B>A) y juzgá importancia, no solo significación.
Ver una posible respuesta
A = [10, 11, 12]
B = [11, 12, 13]
p_sup = sum(1 for a in A for b in B if b > a) / (len(A)*len(B))
print(f"P(B>A) = {p_sup:.2f} (0.67: ventaja moderada)")
0,67 es ventaja moderada aunque el p con n=3 jamás será significativo. Efecto y p cuentan historias distintas y complementarias.
09 · Síntesis
Ideas para recordar
- Rangos, no medias, cuando hay sesgo, colas pesadas o atípicos.
- Diseño primero: independientes → Mann-Whitney (T16); pareadas → Wilcoxon (T17).
- Informar mediana + P(X>Y) + p + n: señal, tamaño y evidencia.
- Robustez ≠ potencia con poco n: los datos mandan igual.
- Con duda sobre normalidad, rangos; con normalidad clara, t.
En los próximos temas, la lupa fina: Mann-Whitney y Wilcoxon paso a paso.