ÎncepețiÎncepe gratuit

Calcularea statisticii K-S

Scrie o funcție care să calculeze statistica Kolmogorov-Smirnov pornind de la două seturi de date, data1 și data2, unde data2 conține eșantioane din distribuția teoretică cu care îți compari datele. Aceasta înseamnă că folosim hacker stats pentru a calcula statistica K-S pentru un set de date și o distribuție teoretică, nu statistica K-S pentru două seturi de date empirice. Funcția pe care ai selectat-o anterior pentru calcularea valorilor ECDF-ului formal este disponibilă ca dcst.ecdf_formal().

Acest exercițiu face parte din cursul

Studii de caz în gândirea statistică

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează valorile colțurilor convexe ale ECDF-ului formal pentru data1 folosind dcst.ecdf(). Stochează rezultatele în variabilele x și y.
  • Folosește dcst.ecdf_formal() pentru a calcula valorile CDF-ului teoretic, determinate din data2, la colțurile convexe x. Stochează rezultatul în variabila cdf.
  • Calculează distanțele dintre colțurile concave ale ECDF-ului formal și CDF-ul teoretic. Stochează rezultatul ca D_top.
  • Calculează distanța dintre colțurile convexe ale ECDF-ului formal și CDF-ul teoretic. Reține că trebuie să scazi 1/len(data1) din y pentru a obține valoarea y la colțul convex. Stochează rezultatul în D_bottom.
  • Returnează statistica K-S ca maximul tuturor valorilor din D_top și D_bottom. Poți transmite D_top și D_bottom împreună ca un tuplu la np.max() pentru a face acest lucru.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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))
Editează și rulează codul