ECDF berechnen
In dieser Übung schreibst du eine Funktion, die ein 1D-Array von Daten als Eingabe nimmt und die x- und y-Werte der ECDF zurückgibt. Du wirst diese Funktion in diesem Kurs und im Folgekurs immer wieder verwenden. ECDFs gehören zu den wichtigsten Plots in der statistischen Analyse. Du kannst deine eigene Funktion foo(x,y) nach folgendem Gerüst schreiben:
def foo(a,b):
"""Hier beschreiben, was die Funktion macht"""
# Berechnung erfolgt hier
return x, y
Die Funktion foo() oben nimmt zwei Argumente a und b entgegen und gibt zwei Werte x und y zurück. Der Funktionskopf def foo(a,b): enthält die Funktionssignatur foo(a,b), die aus dem Funktionsnamen zusammen mit seinen Parametern besteht.
Diese Übung ist Teil des Kurses
Statistical Thinking in Python (Teil 1)
Anleitung zur Übung
- Definiere eine Funktion mit der Signatur
ecdf(data). Innerhalb der Funktionsdefinition- berechne die Anzahl der Datenpunkte
nmit der Funktionlen(). - Die \(x\)-Werte sind die sortierten Daten. Verwende zum Sortieren die Funktion
np.sort(). - Die \(y\)-Daten der ECDF gehen in gleichen Schritten von
1/nbis1. Du kannst das mitnp.arange()konstruieren. Denk aber daran, dass der Endwert innp.arange()nicht inklusive ist. Daher mussnp.arange()von1bisn+1gehen. Teile das Ergebnis unbedingt durchn. - Die Funktion gibt die Werte
xundyzurück.
- berechne die Anzahl der Datenpunkte
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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