ComenzarEmpieza gratis

Prueba de hipótesis - Diferencia de medias

Queremos contrastar la hipótesis de que existe una diferencia en las donaciones medias recibidas por A y B. Antes aprendiste a generar una permutación de los datos. Ahora, generaremos una distribución nula de la diferencia de medias y luego calcularemos el valor p.

Para la distribución nula, primero generamos múltiples conjuntos de datos permutados y almacenamos la diferencia de medias en cada caso. Después, calculamos el estadístico de prueba como la diferencia de medias con el conjunto de datos original. Por último, aproximamos el valor p calculando el doble de la fracción de casos en los que la diferencia es mayor o igual que el valor absoluto del estadístico de prueba (hipótesis bilateral). Un valor p menor que, por ejemplo, 0,05 puede determinar la significación estadística.

Este ejercicio forma parte del curso

Simulación estadística en Python

Ver curso

Instrucciones del ejercicio

  • Genera múltiples permutaciones de donations_A y donations_B y asígnalas a perm.
  • Define samples como la diferencia de medias de permuted_A_datasets y permuted_B_datasets. Establecemos axis=1 para obtener una media por cada conjunto de datos en lugar de una media global.
  • Define test_stat como la diferencia de medias de donations_A y donations_B.
  • Calcula el valor p p_val como el doble de la fracción de samples que son mayores o iguales que el valor absoluto de test_stat.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código