ComeçarComece de graça

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)

Ver curso

Instruções do exercício

  • Escreva um loop for para gerar 50 amostras por permutação, calcular suas ECDFs e plotá-las.
    • Gere um par de amostras por permutação a partir de rain_june e rain_november usando sua função permutation_sample().
    • Gere os valores de x e y para uma ECDF de cada uma das duas amostras por permutação usando sua função ecdf().
    • Plote a ECDF da primeira amostra por permutação (x_1 e y_1) como pontos. Faça o mesmo para a segunda amostra por permutação (x_2 e y_2).
  • Gere valores de x e y para as ECDFs dos dados rain_june e rain_november e plote as ECDFs usando, respectivamente, os argumentos color='red' e color='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()
Editar e executar o código