Menu
CoddyTech

As médias amostrais variam

Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 20 de 64.

Uma amostra de 30 encomendas fornece uma estimativa do peso médio delas. Faça outra amostragem e você obterá outra estimativa. Aqui estão 40 amostras:

40 pontos, um por amostra de 30 encomendas, espalhados entre aproximadamente 7,2 e 8,8 kg em torno de uma linha tracejada no verdadeiro peso médio de todas as encomendas, 8,05 kg

Para coletá-las, repita a amostragem em um loop, acrescente cada média a uma lista e, em seguida, transforme a lista em um 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))

Isso imprime:

[7.98 8.05 8.12 8.19 8.76]

Uma média amostral é, por si só, aleatória, e means.std() mede o quanto ela varia. A pontuação de um modelo em um teste é uma dessas médias: outro conjunto de teste a alteraria.

challenge icon

Desafio

Médio

Um jardineiro mede uma amostra aleatória das 1800 plantas de bambu de um viveiro a cada semana. Quanto a média amostral pode variar de uma semana para outra?

Complete sample_means(data, size, count): extraia count amostras de size valores de data, sem repetir valores em uma amostra, e acrescente a média de cada amostra. As últimas linhas do código inicial chamam essa função e exibem o relatório.

Para outro viveiro e amostras de 10:

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

Experimente você mesmo

import numpy as np

size = int(input())

# Não altere as linhas abaixo: a altura em cm de cada planta de bambu
rng = np.random.default_rng(20)
heights = np.round(rng.normal(95, 15, size=1800), 1)


def sample_means(data, size, count):
    means = []
    # Escreva seu código abaixo: obtenha count amostras de size valores e guarde a média de cada uma

    return np.array(means)


# Não altere as linhas abaixo
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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Estatística para ML

Pratique por conta própria: Compilador de Python online