EmpezarEmpieza gratis

Generar réplicas K-S

Ahora necesitas una función para extraer réplicas de Kolmogorov–Smirnov de una distribución objetivo, f. Construye una función con la firma draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) para hacerlo. Aquí, n es el número de puntos de datos y f es la función que usarás para generar muestras de la CDF objetivo. Por ejemplo, para contrastar contra una distribución Exponential, pasarías np.random.exponential como f. Esta función suele requerir argumentos, que deben pasarse como una tupla. Así, si quisieras tomar muestras de una distribución Exponential con media x_mean, usarías el argumento de palabra clave args=(x_mean,). Los argumentos de palabra clave size y n_reps representan, respectivamente, el número de muestras que se toman de la distribución objetivo y el número de réplicas a generar.

Este ejercicio forma parte del curso

Casos prácticos de pensamiento estadístico

Ver curso

Instrucciones del ejercicio

  • Escribe una función con la firma draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) que haga lo siguiente.
    • Genera size muestras de la distribución objetivo f. Recuerda que, para pasar args a la función de muestreo, debes usar la construcción f(*args, size=size). Guarda el resultado como x_f.
    • Inicializa el array de réplicas, reps, como un array vacío con n_reps elementos.
    • Escribe un bucle for para hacer lo siguiente n_reps veces.
      • Extrae n muestras de f. De nuevo, usa *args en la llamada a la función. Guarda el resultado en la variable x_samp.
      • Calcula el estadístico K-S usando dcst.ks_stat(), que es la función que escribiste en el ejercicio anterior y que está disponible en el módulo dcst. Guarda el resultado en el array reps.
    • Devuelve el array reps.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

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