Menu
CoddyTech

Las medias muestrales varían

Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 20 de 64.

Una muestra de 30 paquetes proporciona una estimación de su peso medio. Vuelve a muestrear y obtendrás otra. Aquí tienes 40 muestras:

40 puntos, uno por cada muestra de 30 paquetes, dispersos entre aproximadamente 7.2 y 8.8 kg alrededor de una línea discontinua en la media verdadera de todos los paquetes, 8.05 kg

Para recopilarlas, repite el muestreo en un bucle, añade cada media a una lista y después convierte la lista en una matriz:

means = []
for i in range(5):
    sample = rng.choice(parcels, size=30, replace=False)
    means.append(sample.mean())
means = np.array(means)
print(np.round(means, 2))

Esto imprime:

[7.98 8.05 8.12 8.19 8.76]

Una media muestral es aleatoria en sí misma, y means.std() mide cuánto varía. La puntuación de un modelo en una prueba es una de esas medias: otro conjunto de pruebas la desplazaría.

challenge icon

Desafío

Intermedio

Un jardinero mide una muestra aleatoria de las 1800 plantas de bambú de un vivero cada semana. ¿Cuánto puede variar la media muestral de una semana a otra?

Completa sample_means(data, size, count): extrae count muestras de size valores de data, sin repetir ningún valor en una muestra, y añade la media de cada muestra. Las últimas líneas del código inicial la llaman e imprimen el informe.

Para otro vivero y muestras de 10:

200 means of 10 plants: 105.25 to 137.13 cm
Spread of the means (std): 5.27 cm

Pruébalo tú mismo

import numpy as np

size = int(input())

# No cambies las líneas de abajo: la altura en cm de cada planta de bambú
rng = np.random.default_rng(20)
heights = np.round(rng.normal(95, 15, size=1800), 1)


def sample_means(data, size, count):
    means = []
    # Escribe tu código abajo: toma count muestras de size valores y guarda la media de cada una

    return np.array(means)


# No cambies las líneas de abajo
means = sample_means(heights, size, 200)
print(f"200 means of {size} plants: {np.round(means.min(), 2)} to {np.round(means.max(), 2)} cm")
print(f"Spread of the means (std): {np.round(means.std(), 2)} cm")
quiz iconPonte a prueba

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

Practica por tu cuenta: Compilador de Python online