01 · Punto de partida
El generador declara; el gráfico verifica
Todo generador promete una F teórica. ¿Cumple? Antes de los p-valores del Tema 38, dos gráficos responden en segundos: la CDF empírica superpuesta a F y el QQ-plot (cuantiles muestrales vs teóricos). Si los puntos no siguen la recta y=x, ningún momento coincidente salva al generador.
La trampa que lo demuestra: una uniforme igualada en media y varianza a N(0,1) pasa los momentos y fracasa el QQ con forma de S.
- ¿Cómo se construye un QQ-plot punto por punto?
- ¿Qué forma delata colas pesadas, livianas o asimetría?
- ¿Qué mide D = máx|Fₙ − F| y qué no dice?
- ¿Por qué los momentos no alcanzan?
02 · Definición
Cuantiles, recta y distancia
El cuantil teórico qᵢ = F⁻¹((i−0,5)/N) es “lo que F espera en la posición i”; x_(i) es lo observado. D es la mayor distancia vertical entre escalera y curva. La correlación de los puntos QQ ≈ 1 si el ajuste es lineal.
QQ-plot
Compara formas completas, no resúmenes: cada punto es un cuantil. Desvíos en extremos = problema de colas.
CDF superpuesta
Escalera Fₙ sobre la curva F: el ojo estima D al instante y ve dónde (centro o colas) se separan.
Distancia KS
Un número para la peor brecha: con N = 2000, D ≈ 0,02 es ruido y D ≈ 0,08 es sentencia. El p-valor queda para el Tema 38.
| QQ observado | D típico | Diagnóstico |
|---|---|---|
| Recta y = x | ≈ 0,02 | Ajuste: es N(0,1) |
| S acostada (⊃⊂) | ≈ 0,07 | Colas livianas: es uniforme igualada |
| Curva que se empina | ≈ 0,15+ | Asimetría: es exponencial, no normal |
03 · Anatomía
Posiciones, colas y escalas
- Posición (i−0,5)/N
- Evita F⁻¹(0) = −∞ y F⁻¹(1) = +∞. Otras recetas (i/(N+1), Blom) cambian poco con N grande; fijar una y documentarla.
- Colas mandan el juicio
- El centro casi siempre calza; mirar primero los extremos del QQ. Con N = 200 hay ~1 punto más allá de ±2,5: no juzgar colas con cientos.
- Tipificar antes
- Comparar Z = (X−μ)/σ contra N(0,1) separa “forma mal” de “escala mal”: la pendiente del QQ estima σ y el intercepto, μ.
- D sin p-valor todavía
- D describe; el test decide con distribución nula y α (Tema 38). Un D = 0,05 con N = 100 es ruido y con N = 10000 es rechazo.
QQ + CDF + D
Juicio completo
Forma (QQ), ubicación de la brecha (CDF) y magnitud (D). Los tres juntos no dejan escondite.
Solo media y varianza
Ceguera garantizada
La uniforme igualada calza ambos momentos y es otra distribución: el QQ la desnuda en S.
04 · Dónde se mira así
Del gráfico al test
- 1Auditar generadores.
Cada método del curso se acepta con su QQ antes de entrar a la biblioteca (Tema 41).
- 2Validar modelos.
Residuos contra normal, tiempos contra exponencial: el QQ dice qué familia falla.
- 3Comparar candidatos.
Weibull vs lognormal para los mismos datos: gana el QQ más recto.
- 4Puente al test formal.
D, chi-cuadrado y rachas con regla de decisión. (Temas 37–38)
05 · Representación en Python
Normal real frente a impostora
N(0,1) genuina contra uniforme igualada en media y varianza: momentos idénticos, D y QQ opuestos.
Python en tu navegador. Bajá N a 200: el QQ genuino también baila en los extremos.
import random
import math
random.seed(320)
N = 2000
z = sorted(random.gauss(0, 1) for _ in range(N))
a = math.sqrt(3)
u = sorted(random.uniform(-a, a) for _ in range(N))
Phi = lambda t: 0.5*(1+math.erf(t/math.sqrt(2)))
def D(m):
return max(abs((i+1)/N - Phi(x)) for i, x in enumerate(m))
mz = sum(z)/N
mu = sum(u)/N
print("medias:", round(mz, 3), round(mu, 3), "vars:",
round(sum((x-mz)**2 for x in z)/N, 3), round(sum((x-mu)**2 for x in u)/N, 3))
print("D normal:", round(D(z), 3), "D impostora:", round(D(u), 3))
Momentos ≈ (0, 1) en ambas; D ≈ 0,02 vs ≈ 0,07. El número confirma lo que el QQ grita.
06 · Exploración
Laboratorio: la impostora dibuja una S
QQ contra N(0,1) con N fijo. La recta es y = x; los puntos, (cuantil teórico, observado). Activá la uniforme igualada y mirá la S: centro sobre la recta, colas que se acuestan.
QQ-plot normal
(Φ⁻¹((i−½)/N), x_(i)) vs y = x
N(0,1) genuina con N 2000: recta y D ≈ 0,02.
Nube QQ en [−3,5; 3,5]² con identidad. Probá la impostora y N = 200.
Preguntas para explorar
- Genuina con N = 2000: ¿D ≈ 0,02 y corr QQ ≈ 0,999?
- Activá la impostora. ¿La S aparece? ¿D trepa a ≈ 0,07 con momentos intactos?
- Genuina con N = 200. ¿Los extremos bailan aunque D siga chico?
Ver respuestas sugeridas
- Sí: recta de punta a punta con ruido mínimo.
- Sí: colas livianas ⇒ extremos bajo la recta; media ≈ 0 y desvío ≈ 1 igual.
- Sí: 1–2 puntos extremos con varianza grande; el ojo se calibra con N grande.
07 · Comprensión
Confusiones frecuentes
«QQ recto = normalidad probada»
El QQ sugiere; el test (Tema 38) decide con α. Recto con N = 200 no distingue normal de t con 10 gl.
«D chico siempre absuelve»
D escala con 1/√N: 0,05 absuelve con N = 100 y condena con N = 10000. Informar siempre el N.
«La correlación QQ alta alcanza»
La impostora da corr ≈ 0,99+ y no es normal: la corr resume linealidad, no identidad con y = x.
«Comparo sin tipificar»
Sin tipificar, un σ ≠ 1 inclina el QQ y parece desajuste de forma. Tipificar primero, juzgar después.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: QQ genuino auditado
N(0,1), N = 3000 (semilla 321): D < 0,035 y corr QQ > 0,999.
import random
import math
random.seed(321)
N = 3000
m = sorted(random.gauss(0, 1) for _ in range(N))
Phi = lambda t: 0.5*(1+math.erf(t/math.sqrt(2)))
D = max(abs((i+1)/N - Phi(x)) for i, x in enumerate(m))
print("D:", round(D, 4))
Ver solución razonada
≈ 0,015–0,025. Si D > 0,05 con N = 3000, el generador no es N(0,1).
Ejercicio 2: cazar la S impostora
Uniforme ±√3, N = 3000: momentos ≈ (0,1) pero D ≈ 0,06–0,08 y extremos bajo la recta.
import random
import math
random.seed(322)
N, a = 3000, math.sqrt(3)
m = sorted(random.uniform(-a, a) for _ in range(N))
Phi = lambda t: 0.5*(1+math.erf(t/math.sqrt(2)))
D = max(abs((i+1)/N - Phi(x)) for i, x in enumerate(m))
media = sum(m)/N
print("media/var:", round(media, 3), round(sum((x-media)**2 for x in m)/N, 3))
print("D:", round(D, 3))
Ver solución
Momentos ≈ (0, 1) y D ≈ 0,07: la condena viene del QQ en S, no de los momentos.
Ejercicio 3: exponencial que se empina
Exp(1) tipificada contra QQ normal, N = 3000: la curva se empina a la derecha (asimetría) con D ≈ 0,15+.
Ver una posible respuesta
import random
import math
random.seed(323)
N = 3000
m = sorted(-math.log(1-random.random()) for _ in range(N))
media = sum(m)/N
z = sorted((x-media)/media for x in m)
Phi = lambda t: 0.5*(1+math.erf(t/math.sqrt(2)))
print("D:", round(max(abs((i+1)/N - Phi(x)) for i, x in enumerate(z)), 3))
D ≈ 0,16: cola derecha pesada ⇒ puntos altos sobre la recta. Asimetría inconfundible.
09 · Síntesis
Ideas para recordar
- QQ (cuantiles vs teóricos): la forma completa en una recta.
- CDF superpuesta: dónde se abre la brecha.
- D = máx|Fₙ−F|: magnitud, siempre con N.
- Momentos iguales ≠ misma distribución.
- Tipificar antes de juzgar forma.
En el próximo tema el otro ojo: histogramas frente a la teórica.