Menu
CoddyTech

Le medie campionarie variano

Fa parte della sezione Statistica per il machine learning del percorso Machine Learning di Coddy. Lezione 20 di 64.

Un campione di 30 pacchi fornisce una stima del loro peso medio. Estrai un altro campione e ne ottieni un’altra. Ecco 40 campioni:

40 punti, uno per ogni campione di 30 pacchi, distribuiti tra circa 7.2 e 8.8 kg intorno a una linea tratteggiata sulla media reale di tutti i pacchi, 8.05 kg

Per raccoglierle, ripeti il campionamento in un ciclo, aggiungi ogni media a una lista, poi trasforma la lista in un array:

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))

Questo stampa:

[7.98 8.05 8.12 8.19 8.76]

Una media campionaria è essa stessa casuale e means.std() misura quanto varia. Il punteggio di un modello in un test è una di queste medie: un altro insieme di test lo sposterebbe.

challenge icon

Sfida

Medio

Un giardiniere misura ogni settimana un campione casuale dei 1800 bambù di un vivaio. Di quanto può variare la media campionaria da una settimana all’altra?

Completa sample_means(data, size, count): estrai count campioni di size valori da data, senza ripetere valori all’interno di un campione, e aggiungi la media di ciascun campione. Le righe finali del codice iniziale chiamano la funzione e stampano il report.

Per un altro vivaio e campioni di 10:

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

Provalo tu

import numpy as np

size = int(input())

# No cambies las líneas siguientes: 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 a continuación: toma count muestras de size valores y guarda cada media

    return np.array(means)


# No cambies las líneas siguientes
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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Statistica per il machine learning

Esercitati da solo: Compilatore Python online