Beräkna ECDF
I den här övningen skriver du en funktion som tar en endimensionell array med data som indata och returnerar \(x\)- och \(y\)-värdena för ECDF:en. Du kommer att använda den här funktionen om och om igen i den här kursen och dess uppföljare. ECDF:er hör till de viktigaste diagrammen inom statistisk analys. Du kan skriva en egen funktion, foo(x,y), enligt följande mall:
def foo(a,b):
"""Beskriv vad funktionen gör här"""
# Beräkning utförs här
return x, y
Funktionen foo() ovan tar två argument, a och b, och returnerar två värden, x och y. Funktionshuvudet def foo(a,b): innehåller funktionssignaturen foo(a,b), som består av funktionsnamnet tillsammans med dess parametrar.
Den här övningen är en del av kursen
Statistiskt tänkande i Python (del 1)
Övningsinstruktioner
- Definiera en funktion med signaturen
ecdf(data). Gör följande inuti funktionsdefinitionen:- Beräkna antalet datapunkter,
n, med hjälp av funktionenlen(). - \(x\)-värdena är den sorterade datan. Använd funktionen
np.sort()för att sortera. - \(y\)-data för ECDF:en går från
1/ntill1i jämnt fördelade steg. Du kan konstruera detta mednp.arange(). Kom dock ihåg att slutvärdet inp.arange()inte är inkluderat. Därför behövernp.arange()gå från1tilln+1. Se till att dividera resultatet medn. - Funktionen returnerar värdena
xochy.
- Beräkna antalet datapunkter,
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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