Kom igångKom igång gratis

Beräkna K-S-statistikan

Skriv en funktion som beräknar Kolmogorov-Smirnov-statistikan från två datamängder, data1 och data2, där data2 består av urval från den teoretiska fördelning som du jämför dina data med. Observera att vi här använder hacker stats för att beräkna K-S-statistikan för en datamängd och en teoretisk fördelning – inte K-S-statistikan för två empiriska datamängder. Den funktion du nyss valde för att beräkna värden för den formella ECDF:en är tillgänglig som dcst.ecdf_formal().

Den här övningen är en del av kursen

Fallstudier i statistiskt tänkande

Visa kurs

Övningsinstruktioner

  • Beräkna värdena för de konvexa hörnen i den formella ECDF:en för data1 med hjälp av dcst.ecdf(). Lagra resultaten i variablerna x och y.
  • Använd dcst.ecdf_formal() för att beräkna värdena för den teoretiska CDF:en, bestämd utifrån data2, vid de konvexa hörnen x. Lagra resultatet i variabeln cdf.
  • Beräkna avstånden mellan de konkava hörnen i den formella ECDF:en och den teoretiska CDF:en. Lagra resultatet som D_top.
  • Beräkna avståndet mellan de konvexa hörnen i den formella ECDF:en och den teoretiska CDF:en. Observera att du behöver subtrahera 1/len(data1) från y för att få y-värdet vid det konvexa hörnet. Lagra resultatet i D_bottom.
  • Returnera K-S-statistikan som det maximala värdet bland alla element i D_top och D_bottom. Du kan skicka D_top och D_bottom tillsammans som en tupel till np.max() för att göra detta.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

def ks_stat(data1, data2):
    # Compute ECDF from data: x, y
    
    
    # Compute corresponding values of the target CDF
    cdf = ____

    # Compute distances between concave corners and CDF
    D_top = ____ - ____

    # Compute distance between convex corners and CDF
    D_bottom = ____ - ____ + ____/____

    return np.max((D_top, D_bottom))
Redigera och kör kod