Menu
CoddyTech

Amostras maiores, menos ruído

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

Amostras maiores dão estimativas melhores, mas quanto melhores? Aqui estão 1000 médias de 25 cestas de compras e 1000 de 100 cestas:

Duas curvas em sino das médias de itens por cesta, ambas centradas perto de 30. As médias de 25 cestas em cinza se espalham de cerca de 20 a 40; as médias de 100 cestas em azul formam uma curva em sino com metade da largura

sample_means mede cada dispersão. O erro padrão, std / np.sqrt(n), prevê isso sem simulação:

for n in [25, 100]:
    spread = sample_means(baskets, n, 1000).std()
    print(n, np.round(spread, 2), np.round(baskets.std() / np.sqrt(n), 2))

Isso imprime:

25 3.43 3.45
100 1.72 1.72

Quatro vezes mais dados, metade do ruído: é a raiz quadrada em ação. Um modelo testado com 400 exemplos tem uma pontuação duas vezes mais precisa do que com 100.

challenge icon

Desafio

Médio

bags contém os pesos, em gramas, dos 5000 sacos de farinha de um moinho. O controle de qualidade pesa uma amostra por hora; o programa lê o erro padrão que aceita.

  1. Encontre o menor n cujo erro padrão, bags.std() / np.sqrt(n), seja no máximo esse valor: comece em 1 e some 1 enquanto for grande demais.
  2. Verifique: o desvio padrão de 300 médias amostrais obtidas de sample_means.
  3. Imprima como abaixo, com 2 casas decimais.

Para outro moinho e 2.5:

Bags to weigh: 24
Standard error: 2.46 g
Simulated spread: 2.37 g

Experimente você mesmo

import numpy as np

target = float(input())

# Não altere as linhas abaixo: o peso em gramas de cada pacote de farinha
rng = np.random.default_rng(22)
bags = np.round(rng.normal(500, 8, size=5000), 1)


# Sua função de Sample Means Vary: as médias de count amostras
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)


# Escreva seu código abaixo
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