ComeçarComece de graça

Gerando réplicas K-S

Agora, você precisa de uma função para gerar réplicas de Kolmogorov–Smirnov a partir de uma distribuição alvo, f. Construa uma função com a assinatura draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) para fazer isso. Aqui, n é o número de pontos de dados, e f é a função que você usará para gerar amostras a partir da CDF alvo. Por exemplo, para testar contra uma distribuição Exponential, você passaria np.random.exponential como f. Essa função geralmente recebe argumentos, que devem ser passados como uma tupla. Então, se você quisesse obter amostras de uma distribuição Exponential com média x_mean, usaria o parâmetro args=(x_mean,). Os argumentos nomeados size e n_reps representam, respectivamente, o número de amostras a serem obtidas da distribuição alvo e o número de réplicas a serem geradas.

Este exercício faz parte do curso

Estudos de caso em pensamento estatístico

Ver curso

Instruções do exercício

  • Escreva uma função com a assinatura draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) que faça o seguinte.
    • Gere size amostras da distribuição alvo f. Lembre-se: para passar args para a função de amostragem, você deve usar a construção f(*args, size=size). Guarde o resultado em x_f.
    • Inicialize o array de réplicas, reps, como um array vazio com n_reps entradas.
    • Escreva um loop for para fazer o seguinte n_reps vezes.
      • Extraia n amostras de f. Novamente, use *args na chamada da função. Guarde o resultado na variável x_samp.
      • Calcule a estatística K-S usando dcst.ks_stat(), que é a função que você escreveu no exercício anterior, convenientemente armazenada no módulo dcst. Armazene o resultado no array reps.
    • Retorne o array reps.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

____ ____:
    # Generate samples from target distribution
    x_f = ____
    
    # Initialize K-S replicates
    reps = ____
    
    # Draw replicates
    for i in range(n_reps):
        # Draw samples for comparison
        x_samp = ____
        
        # Compute K-S statistic
        ____[i] = ____

    return reps
Editar e executar o código