Calcular la ECDF
En este ejercicio vas a escribir una función que recibe como entrada un array 1D de datos y devuelve los valores x e y de la ECDF. Usarás esta función una y otra vez a lo largo de este curso y su continuación. Las ECDF están entre los gráficos más importantes en el análisis estadístico. Puedes escribir tu propia función, foo(x,y), siguiendo el siguiente esqueleto:
def foo(a,b):
"""Describe aquí qué hace la función"""
# Cálculos aquí
return x, y
La función foo() anterior recibe dos argumentos a y b y devuelve dos valores x e y. La cabecera de la función def foo(a,b): contiene la firma de la función foo(a,b), que consta del nombre de la función junto con sus parámetros.
Este ejercicio forma parte del curso
Pensamiento estadístico en Python (Parte 1)
Instrucciones del ejercicio
- Define una función con la firma
ecdf(data). Dentro de la definición de la función,- Calcula el número de puntos de datos,
n, usando la funciónlen(). - Los valores de \(x\) son los datos ordenados. Usa la función
np.sort()para ordenarlos. - Los datos \(y\) de la ECDF van de
1/na1en incrementos equiespaciados. Puedes construir esto connp.arange(). Recuerda, sin embargo, que el valor final ennp.arange()no es inclusivo. Por lo tanto,np.arange()tendrá que ir de1an+1. Asegúrate de dividir esto entren. - La función devuelve los valores
xey.
- Calcula el número de puntos de datos,
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
def ecdf(data):
"""Compute ECDF for a one-dimensional array of measurements."""
# Number of data points: n
____ = ____(____)
# x-data for the ECDF: x
____ = ____(____)
# y-data for the ECDF: y
____ = ____(____, ____) / n
return x, y