Variação nas estatísticas da amostra
Se criarmos uma amostra de size=1000 sorteando essa quantidade de pontos de uma população e, em seguida, calcularmos uma estatística da amostra, como a média, obtemos um único valor que resume a própria amostra.
Se você repetir esse processo de amostragem num_samples=100 vezes, terá 100 amostras. Calcular a estatística da amostra, como a média, para cada uma das diferentes amostras resultará em uma distribuição de valores da média. O objetivo, então, é calcular a média das médias e o desvio padrão das médias.
Aqui você usará as variáveis pré-carregadas population, num_samples e num_pts, e observe que os arrays means e deviations foram inicializados com zero para servir como contêineres a serem usados no laço for.
Este exercicio faz parte do curso
Introdução à Modelagem Linear em Python
Instruções do exercicio
- Para cada um dos
num_samples=100, gere uma amostra e depois calcule e armazene as estatísticas da amostra. - A cada iteração, crie um
sampleusandonp.random.choice()para sortear1000pontos aleatórios da população. - A cada iteração, calcule e armazene os resultados de
sample.mean()esample.std()para obter a média e o desvio padrão da amostra. - Para o array
meanse o arraydeviations, calcule tanto a média quanto o desvio padrão de cada um e imprima os resultados.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Initialize two arrays of zeros to be used as containers
means = np.zeros(num_samples)
stdevs = np.zeros(num_samples)
# For each iteration, compute and store the sample mean and sample stdev
for ns in range(num_samples):
sample = np.____.choice(population, num_pts)
means[ns] = sample.____()
stdevs[ns] = sample.____()
# Compute and print the mean() and std() for the sample statistic distributions
print("Means: center={:>6.2f}, spread={:>6.2f}".format(means.mean(), means.std()))
print("Stdevs: center={:>6.2f}, spread={:>6.2f}".format(stdevs.____(), stdevs.____()))