¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Distribución normal y binomial

Después de esta lección: Puedo leer una distribución normal y una binomial y calcular una probabilidad con ellas.

Lección de 60 min3 comandosLaboratorio JupyterLab de ciencia de datos: pandas, Matplotlib y scikit-learn en el navegador

Una distribución dice qué valores son más probables

Una distribución de probabilidad dice qué valores puede tomar un dato y con qué probabilidad aparece cada uno. Las dos más usadas son la distribución normal, con forma de campana, y la binomial, que cuenta aciertos.

Si reconoces la forma de tus datos, puedes decir qué es normal y qué es raro sin mirar fila por fila.

Al final de esta lección

Nota

Puedo leer una distribución normal y una binomial y calcular una probabilidad con ellas.

Palabras clave

PalabraQué significa
Distribucióncómo se reparten los valores de un dato
Histogramabarras que cuentan cuántos valores caen en cada tramo
Distribución normaluna campana simétrica alrededor de la media
Ensayoun intento con solo dos resultados, acierto o fallo
Distribución binomialcuántos aciertos hay en un número fijo de ensayos
Combinacioneslas formas de elegir k elementos entre n

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

El histograma muestra la forma de los datos

Un histograma reparte los datos en tramos del mismo ancho y cuenta cuántos caen en cada uno. La altura de la barra es ese recuento.

Mira dónde está el pico, si hay simetría y si hay una cola larga a un lado. Esa forma decide qué distribución te sirve.

Cuenta los días en cada tramo de 50

Comando
docker exec jupyter python3 -c "import csv; h=[int(r['hires']) for r in csv.DictReader(open('hires.csv'))]; print([sum(50*k<=x<50*k+50 for x in h) for k in range(10)])"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Ejemplo resuelto: el año en tramos

Tramo de alquileres0-99100-199200-249250-299300-349350-399400-499
Días4637394684122

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

La distribución normal sigue la regla 68, 95

Una distribución normal es simétrica y tiene forma de campana. Si los datos la siguen, cerca del 68 % cae a menos de una desviación típica de la media. Cerca del 95 % cae a menos de dos.

Un valor a más de dos desviaciones de la media es poco corriente. Sirve para detectar lo raro.

Comprueba la regla en los datos

Comando
docker exec jupyter python3 -c "import csv,statistics as s; h=[int(r['hires']) for r in csv.DictReader(open('hires.csv'))]; m=s.mean(h); d=s.pstdev(h); print(sum(abs(x-m)<=d for x in h), sum(abs(x-m)<=2*d for x in h), len(h))"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Ejemplo resuelto: la regla en los datos

Distancia a la mediaIntervalo de alquileresDías dentroParte del año
Una desviación (79,6)191 a 350241 de 36566 %
Dos desviaciones111 a 429355 de 36597 %

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Un error muy común

Advertencia

Mucha gente cree que todos los datos tienen forma de campana. No es así: los sueldos o los tiempos de espera tienen una cola larga a un lado y la regla falla. Dibuja siempre el histograma antes de usarla.

La distribución binomial cuenta aciertos

Un ensayo tiene dos resultados, como cara o cruz. Si repites n ensayos con la misma probabilidad p de acierto, el número de aciertos sigue una distribución binomial.

Para tener k aciertos, cuenta las formas de colocarlos, que son las combinaciones de n en k. Multiplica por p elevado a k y por (1 - p) elevado a n - k.

Cuenta las formas de elegir caras

Comando
docker exec jupyter python3 -c "import math; print([math.comb(10,k) for k in range(11)]); print(math.comb(10,3)/2**10)"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Las formas de sacar k caras

Código: python
# Lanzamientos de una moneda: ¿de cuántas formas salen k caras?
lanzamientos = 10
formas = 1
for k in range(0, lanzamientos + 1):
    if k > 0:
        formas = formas * (lanzamientos + 1 - k) // k
    print(k, "caras:", formas, "formas de", 2 ** lanzamientos)
# Cambia el 10 de la primera línea por un 6 y vuelve a ejecutar.
# ¿Cuántas formas hay de sacar 3 caras?

Ejemplo resuelto: 3 caras en 10 lanzamientos

PasoCuentaResultado
Formas de colocar 3 carascombinaciones de 10 en 3120
Todas las secuencias posibles2 elevado a 101024
Probabilidad con moneda justa120 / 10240,117

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Más lejos: ¿es raro el día 487?

El día más ocupado del año tuvo 487 alquileres. Calcula a cuántas desviaciones típicas de la media queda: resta la media y divide entre 79,6.

Si sale más de 2, ese día es poco corriente. Busca en el calendario qué pudo pasar y escribe tu hipótesis.

Sobre este laboratorio y su código: Laboratorio JupyterLab de ciencia de datos: pandas, Matplotlib y scikit-learn en el navegador

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.