Začněte nyníZačněte zdarma

Výpočet K-S statistiky

Napiš funkci, která vypočítá Kolmogorov-Smirnovovu statistiku ze dvou datových sad, data1 a data2, přičemž data2 obsahuje vzorky z teoretického rozdělení, se kterým svá data porovnáváš. To znamená, že používáme hacker stats k výpočtu K-S statistiky pro datovou sadu a teoretické rozdělení, nikoli K-S statistiky pro dvě empirické datové sady. Funkce, kterou jsi právě vybral/a pro výpočet hodnot formální ECDF, je k dispozici jako dcst.ecdf_formal().

Toto cvičení je součástí kurzu

Případové studie ve statistickém myšlení

Zobrazit kurz

Pokyny k cvičení

  • Vypočítej hodnoty konvexních rohů formální ECDF pro data1 pomocí dcst.ecdf(). Výsledky ulož do proměnných x a y.
  • Pomocí dcst.ecdf_formal() vypočítej hodnoty teoretické CDF, určené z data2, v konvexních rozích x. Výsledek ulož do proměnné cdf.
  • Vypočítej vzdálenosti mezi konkávními rohy formální ECDF a teoretickou CDF. Výsledek ulož jako D_top.
  • Vypočítej vzdálenost mezi konvexními rohy formální ECDF a teoretickou CDF. Nezapomeň, že pro získání hodnoty y v konvexním rohu je potřeba odečíst 1/len(data1) od y. Výsledek ulož do D_bottom.
  • Vrať K-S statistiku jako maximum všech hodnot v D_top a D_bottom. Můžeš předat D_top a D_bottom dohromady jako tuple funkci np.max().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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))
Upravit a spustit kód