La distribución muestral
Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 21 de 64.
Las sesiones de video tienen una distribución sesgada hacia la derecha: la mayoría dura unos pocos minutos, unas pocas duran dos horas. Sin embargo, las medias de 1000 muestras de 40 sesiones forman una campana:
El histograma de muchas medias muestrales es la distribución muestral. Con suficientes valores en cada muestra, tiene forma de campana centrada en la media poblacional, incluso con datos sesgados:
means = sample_means(sessions, 40, 1000) # tu función de Sample Means Vary
ax.hist(means, bins=12)Ese es el teorema del límite central. Hace que los promedios sean predecibles: el error medio de un modelo en un conjunto de prueba también es aproximadamente normal.
Desafío
IntermedioLos 6000 tamaños de archivo de una unidad en la nube en files (MB) están sesgados hacia la derecha: muchos documentos y unos pocos vídeos. El programa lee un tamaño de muestra; el código inicial incluye sample_means y dos gráficos.
- Obtén 500 medias muestrales de ese tamaño.
- Imprime la media menos la mediana de los archivos y, después, la de las medias (2 decimales).
- Representa los archivos en un histograma en
axs[0]y las medias en otro enaxs[1], conbins=12, y muestra los gráficos.
Para otra unidad y 60:
Files: mean - median = 25.28 MB
Sample means: mean - median = 0.55 MBDespués, Coddy informa sobre cada gráfico. Una diferencia cercana a 0 significa que el sesgo ha desaparecido.
Pruébalo tú mismo
import numpy as np
import matplotlib.pyplot as plt
size = int(input())
# No cambies las líneas siguientes: el tamaño en MB de cada archivo de la unidad
rng = np.random.default_rng(21)
files = np.round(rng.random(6000) ** 4 * 300 + 5, 2)
# Tu función de Sample Means Vary: las medias de count muestras
def sample_means(data, size, count):
means = []
for i in range(count):
sample = rng.choice(data, size=size, replace=False)
means.append(sample.mean())
return np.array(means)
fig, axs = plt.subplots(1, 2)
axs[0].set_title("All Files")
axs[0].set_xlabel("File size (MB)")
axs[1].set_title("Sample Means")
axs[1].set_xlabel("Mean file size (MB)")
# Escribe tu código a continuación
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Estadística para ML
1Centro y dispersión
Media y medianaPercentiles y cuartilesVarianza y desviación estándar¿Muestra o población?El valor más frecuenteRepaso: tiempos de entrega4Muestras y poblaciones
Población y muestraLas medias muestrales varíanLa distribución muestralMuestras más grandes, menos ruidoRepaso: Encuestar a un pueblo7Líneas de tendencia
ResiduosAjuste por mínimos cuadradosTrazar el ajustePredecir con una línea¿Qué tan bueno es el ajuste?Repaso: horas de práctica10Codificación de categorías
Categorías como númerosCodificación one-hotAgrupación de números en intervalosRepaso: anuncios de autos2Distribuciones
Histogramas de densidadFormas de los datosCurva normalRegla del 68-95-99,7Puntuaciones zRepaso: duración de la batería5Valores atípicos
Diagramas de cajaLa regla del RICLa regla del valor ZTratamiento de valores atípicosRepaso: fallos de los sensores3Probabilidad mediante simulación
La probabilidad como frecuenciaLa ley de los grandes númerosSuma de dadosValor esperadoProbabilidad condicionalRepaso: probabilidades del puesto de dados6Relaciones
Lectura de diagramas de dispersiónCorrelaciónMatriz de correlaciónMapas de calor de correlaciónCorrelación no es causalidadRepaso: helado y sol9Escalado de características
Por qué escalar las característicasEscalado mín-máxEstandarizaciónStandardScalerRepaso: compañeros de escaladaPractica por tu cuenta: Compilador de Python online