ECDFs stat Empirical cumulative distribution functions
In this exercise, you will write a function that takes as input a 1D array of data and then returns the x
and y
values of the ECDF. ECDFs are among the most important plots in statistical analysis. You can write your own function, foo(x,y)
according to the following skeleton:
def foo(a,b):
"""State what function does here"""
# Computation performed here
return x, y
The function foo()
above takes two arguments a
and b
and returns two values x
and y
. The function header def foo(a,b):
contains the function signaturefoo(a,b)
, which consists of the function name, along with its parameters.
Define a function with the signature ecdf(data)
. Within the function definition,
- Compute the number of data points,
n
, using thelen()
function. - The xx-values are the sorted data. Use the
np.sort()
function to perform the sorting. - The yy data of the ECDF go from
1/n
to1
in equally spaced increments. You can construct this usingnp.arange()
and then dividing byn
. - The function returns the values
x
andy
.
def ecdf(data): """Compute ECDF for a one-dimensional array of measurements.""" # Number of data points: n n=len(data) # x-data for the ECDF: x x=np.sort(data) # y-data for the ECDF: y y=np.arange(1,n+1)/n return x, y