01 · Punto de partida
El retrato honesto de la muestra
El QQ del Tema 36 juzga cuantil por cuantil; el histograma muestra la forma de un golpe: modas, asimetrías y colas. Pero solo si está en escala densidad (área 1) con la curva teórica superpuesta: en conteos crudos, cualquier curva “encaja” reescalando a ojo.
El parámetro que todo lo decide vuelve a ser k: pocos bines esconden el sesgo, demasiados lo ahogan en ruido.
- ¿Por qué altura = conteo/(N·ancho) y no conteo?
- ¿Qué k elegir con N = 6000: 8, 20 o 100?
- ¿Qué artefactos delatan un k malo o un eje tramposo?
- ¿Cuándo el histograma no alcanza y pide QQ?
02 · Definición
Densidad, área y curva
Con N puntos y ancho w: alturaⱼ = cⱼ/(N·w) y Σ alturaⱼ·w = 1, la misma escala de f. El chi por bin (obs−esp)²/esp resume el desvío; con k = 20 y N = 6000 se esperan ~300 puntos por bin central.
Escala que compara
Solo en densidad la curva teórica calza sin “factor mágico”. En conteos, reescalar a ojo fabrica ajustes.
k de pantalla
Para N = 6000, k ≈ 15–25 muestra forma sin dientes: ~√N con techo. Para validar colas, menos y más anchos.
Curva encima
φ(x) sobre N(0,1) generada: la brecha sistemática (hombros, pico) se ve antes de calcularse.
| k | Por bin central | Retrato |
|---|---|---|
| 6 | ≈ 1000 | Bloques: esconde hombros y asimetrías leves |
| 20 | ≈ 300 | Fiel: forma y curva coinciden |
| 100 | ≈ 60 | Dientes: el ruido parece estructura |
03 · Anatomía
Rango, bordes y ejes honestos
- Rango fijo antes de mirar
- Fijar [−4,4] con N(0,1) antes de generar: cubre 99,99 %. Elegir el rango “donde hay datos” recorta colas y aplana la comparación.
- Bordes compartidos
- Los mismos bordes para muestra y teórica: el chi por bin necesita esperados N·(Φ(e₁)−Φ(e₀)) con idénticos cortes, colas plegadas a los extremos.
- Eje y desde cero
- Truncar el eje vertical exagera brechas de 0,01 en dramas. Densidad desde 0, siempre.
- Colas piden zoom
- El histograma global no resuelve P(|Z| > 3) ≈ 0,003: para colas, QQ (Tema 36) o escala logarítmica declarada.
Densidad + curva + k ≈ 20
Retrato auditable
Forma, escala y chi en un gráfico. Lo que se ve se puede calcular.
Conteos + eje truncado
Ilusión de ajuste
Cualquier curva “pasa” reescalando, y el zoom vertical convierte ruido en hallazgo.
04 · Dónde se mira así
Del vistazo al informe
- 1Primera mirada.
Todo generador nuevo se grafica antes de medirse: modas dobles y cortes saltan al ojo.
- 2Informes.
El gráfico que acompaña cada D y cada chi del Tema 38.
- 3Comparar métodos.
Box-Muller vs suma-12: idéntico centro, colas distintas que el histograma con k fino revela.
- 4Puente al test.
Los mismos bines alimentan el chi-cuadrado formal. (Tema 38)
05 · Representación en Python
Densidad, curva y chi con k = 20
N(0,1) en [−4,4]: alturas que integran 1, φ encima y chi por bin con colas plegadas.
Python en tu navegador. Llevá k a 100: el chi trepa por dientes, no por sesgo.
import random
import math
random.seed(330)
N, k, LO, HI = 6000, 20, -4.0, 4.0
m = [random.gauss(0, 1) for _ in range(N)]
w = (HI - LO) / k
conteo = [0]*k
for x in m:
conteo[min(k-1, max(0, int((x-LO)/w)))] += 1
print("área:", round(sum(c/N for c in conteo), 3))
Phi = lambda t: 0.5*(1+math.erf(t/math.sqrt(2)))
esp = [N*(Phi(LO+(j+1)*w)-Phi(LO+j*w)) for j in range(k)]
esp[0] += N*Phi(LO)
esp[-1] += N*(1-Phi(HI))
print("chi:", round(sum((c-e)**2/e for c, e in zip(conteo, esp)), 1))
Área = 1,000 y chi ≈ gl (k−1 menos parámetros). Con k = 100 el chi se dispara por ruido.
06 · Exploración
Laboratorio: k que muestra u oculta
N(0,1) con N fijo en [−4,4]. Las barras están en densidad; la curva amarilla es φ. Movete k: con 6 todo calza a la fuerza, con 60 el ruido parece estructura.
Densidad vs φ
altura = c/(N·w) · área 1
Con k 20 y N 6000, curva y barras coinciden.
Barras en densidad con φ encima. Probá k = 6 (bloques) y k = 60 (dientes).
Preguntas para explorar
- Con k = 20, ¿chi ≈ 19? ¿Media y desvío ≈ (0, 1)?
- Bajá a k = 6. ¿El chi baja aunque se vea “peor”? ¿Por qué?
- Subí a k = 60. ¿El chi trepa? ¿Sesgo o dientes?
Ver respuestas sugeridas
- Sí: chi ≈ gl = 19 ± 9 con todo correcto.
- Sí: menos bines ⇒ menos grados y menos resolución: el chi pierde potencia y el ojo pierde forma.
- Dientes: con ~100 puntos por bin central el ruido relativo es 10 % y el chi lo cobra como desajuste.
07 · Comprensión
Confusiones frecuentes
«En conteos se ve igual»
No: la curva teórica vive en densidad. Superponerla a conteos exige el factor N·w que casi todos olvidan o inventan.
«Chi chico con k = 4 absuelve»
Con 4 bines el test no ve nada: potencia mínima. El chi necesita k ≈ 15–25 para morder.
«Chi grande con k = 100 condena»
Con bines ralos el chi cobra ruido, no sesgo. Regla: esperados ≥ 5 por bin o agrupar colas.
«El rango se ajusta a los datos»
Fijarlo post-hoc (“de −3,2 a 3,1 porque ahí cayó todo”) invalida el chi: los gl ya no son k−1.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: área que integra 1
N = 6000, k = 20 en [−4,4] (semilla 331): el área debe dar 1,000 exacto a redondeo.
import random
random.seed(331)
N, k, LO, HI = 6000, 20, -4.0, 4.0
m = [random.gauss(0, 1) for _ in range(N)]
w = (HI-LO)/k
conteo = [0]*k
for x in m:
conteo[min(k-1, max(0, int((x-LO)/w)))] += 1
print(round(sum(c/(N*w)*w for c in conteo), 4))
Ver solución razonada
1,0 por construcción (los fuera de rango caen en bordes plegados). Si da 6000, olvidaste dividir por N·w.
Ejercicio 2: chi que muerde justo
Mismo armado: chi ≈ 19 ± 9. Con k = 6 debe rondar 5 ± 4: absuelve hasta lo visible.
import random
import math
random.seed(332)
N, k, LO, HI = 6000, 20, -4.0, 4.0
m = [random.gauss(0, 1) for _ in range(N)]
w = (HI-LO)/k
conteo = [0]*k
for x in m:
conteo[min(k-1, max(0, int((x-LO)/w)))] += 1
Phi = lambda t: 0.5*(1+math.erf(t/math.sqrt(2)))
esp = [N*(Phi(LO+(j+1)*w)-Phi(LO+j*w)) for j in range(k)]
print(round(sum((c-e)**2/e for c, e in zip(conteo, esp)), 1))
Ver solución
≈ 19 (típicamente 10–28). Si da > 40 con N = 6000, el generador o los bordes están mal.
Ejercicio 3: la impostora casi calza
Uniforme ±√3 con k = 8: el histograma “parece” campana recortada y el chi la condena igual.
Ver una posible respuesta
import random
import math
random.seed(333)
N, k, LO, HI, a = 6000, 8, -4.0, 4.0, math.sqrt(3)
m = [random.uniform(-a, a) for _ in range(N)]
w = (HI-LO)/k
conteo = [0]*k
for x in m:
conteo[min(k-1, max(0, int((x-LO)/w)))] += 1
Phi = lambda t: 0.5*(1+math.erf(t/math.sqrt(2)))
esp = [N*(Phi(LO+(j+1)*w)-Phi(LO+j*w)) for j in range(k)]
print(round(sum((c-e)**2/e for c, e in zip(conteo, esp)), 1), "vs gl 7")
Chi de cientos contra gl = 7: el histograma con k = 8 ya muestra hombros rectos donde φ es curva.
09 · Síntesis
Ideas para recordar
- Densidad c/(N·w), área 1, curva teórica encima.
- k ≈ 15–25 con miles: ni bloques ni dientes.
- Rango y bordes fijos antes; eje y desde cero.
- Mismos bines para muestra y esperados del chi.
- El histograma sugiere; el test del Tema 38 decide.
En el próximo tema la sentencia: validación estadística con chi, KS y rachas.