ComeçarComece de graça

Teste de hipótese - Diferença de médias

Queremos testar a hipótese de que existe uma diferença nas doações médias recebidas de A e B. Antes, você aprendeu a gerar uma permutação dos dados. Agora, vamos gerar uma distribuição nula da diferença de médias e, em seguida, calcular o p-valor.

Para a distribuição nula, primeiro geramos vários conjuntos de dados permutados e armazenamos a diferença de médias em cada caso. Depois, calculamos a estatística de teste como a diferença de médias com o conjunto de dados original. Por fim, aproximamos o p-valor calculando o dobro da fração de casos em que a diferença é maior ou igual ao valor absoluto da estatística de teste (hipótese bicaudal). Um p-valor menor do que, por exemplo, 0,05 pode indicar significância estatística.

Este exercício faz parte do curso

Simulação Estatística em Python

Ver curso

Instruções do exercício

  • Gere múltiplas permutações de donations_A e donations_B e atribua a perm.
  • Defina samples como a diferença das médias de permuted_A_datasets e permuted_B_datasets. Definimos axis=1 para obter uma média para cada conjunto de dados em vez de uma média geral.
  • Defina test_stat como a diferença das médias de donations_A e donations_B.
  • Calcule o p-valor p_val como o dobro da fração de samples maior ou igual ao valor absoluto de test_stat.

Exercício interativo prático

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

# Generate permutations equal to the number of repetitions
perm = np.array([np.random.____(len(____) + len(____)) for i in range(reps)])
permuted_A_datasets = data[perm[:, :len(donations_A)]]
permuted_B_datasets = data[perm[:, len(donations_A):]]

# Calculate the difference in means for each of the datasets
samples = np.mean(____, axis=1) - np.mean(____, axis=1)

# Calculate the test statistic and p-value
test_stat = ____
p_val = 2*np.sum(____ >= np.abs(____))/reps
print("p-value = {}".format(p_val))
Editar e executar o código