Visualizando amostragem por permutação
Para entender melhor como a amostragem por permutação funciona, neste exercício você vai gerar amostras por permutação e examiná-las graficamente.
Usaremos novamente os dados da Estação Meteorológica de Sheffield, agora considerando a precipitação mensal em junho (um mês seco) e novembro (um mês chuvoso). Esperamos que tenham distribuições diferentes, então faremos amostras por permutação para ver como suas ECDFs ficariam se fossem identicamente distribuídas.
Os dados estão armazenados nos arrays do NumPy rain_june e rain_november.
Relembrando, permutation_sample() tem a assinatura permutation_sample(data_1, data_2) e retorna permuted_data[:len(data_1)], permuted_data[len(data_1):], onde permuted_data = np.random.permutation(np.concatenate((data_1, data_2))).
Este exercício faz parte do curso
Pensamento Estatístico em Python (Parte 2)
Instruções do exercício
- Escreva um loop
forpara gerar 50 amostras por permutação, calcular suas ECDFs e plotá-las.- Gere um par de amostras por permutação a partir de
rain_juneerain_novemberusando sua funçãopermutation_sample(). - Gere os valores de
xeypara uma ECDF de cada uma das duas amostras por permutação usando sua funçãoecdf(). - Plote a ECDF da primeira amostra por permutação (
x_1ey_1) como pontos. Faça o mesmo para a segunda amostra por permutação (x_2ey_2).
- Gere um par de amostras por permutação a partir de
- Gere valores de
xeypara as ECDFs dos dadosrain_juneerain_novembere plote as ECDFs usando, respectivamente, os argumentoscolor='red'ecolor='blue'. - Rotule seus eixos, defina uma margem de 2% e mostre o gráfico. Isso já foi feito para você, então é só clicar em Enviar Resposta para visualizar o gráfico!
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
for _ in ____:
# Generate permutation samples
perm_sample_1, perm_sample_2 = ____
# Compute ECDFs
x_1, y_1 = ____
x_2, y_2 = ____
# Plot ECDFs of permutation sample
_ = plt.plot(____, ____, marker='.', linestyle='none',
color='red', alpha=0.02)
_ = plt.plot(____, ____, marker='.', linestyle='none',
color='blue', alpha=0.02)
# Create and plot ECDFs from original data
x_1, y_1 = ____
x_2, y_2 = ____
_ = plt.plot(x_1, y_1, marker='.', linestyle='none', color='red')
_ = plt.plot(x_2, y_2, marker='.', linestyle='none', color='blue')
# Label axes, set margin, and show plot
plt.margins(0.02)
_ = plt.xlabel('monthly rainfall (mm)')
_ = plt.ylabel('ECDF')
plt.show()