Aan de slagGa gratis aan de slag

De K-S-statistiek berekenen

Schrijf een functie om de Kolmogorov–Smirnov-statistiek te berekenen uit twee gegevenssets, data1 en data2, waarbij data2 bestaat uit steekproeven uit de theoretische verdeling waarmee je je data vergelijkt. Dit betekent dat we hacker stats gebruiken om de K-S-statistiek te berekenen voor een gegevensset en een theoretische verdeling, niet de K-S-statistiek voor twee empirische gegevenssets. Handig genoeg is de functie die je zojuist hebt gekozen om waarden van de formele ECDF te berekenen beschikbaar als dcst.ecdf_formal().

Deze oefening maakt deel uit van de cursus

Casestudies in statistisch denken

Cursus bekijken

Oefeninstructies

  • Bereken de waarden van de convexe hoeken van de formele ECDF voor data1 met dcst.ecdf(). Sla de resultaten op in de variabelen x en y.
  • Gebruik dcst.ecdf_formal() om de waarden van de theoretische CDF, bepaald op basis van data2, te berekenen op de convexe hoeken x. Sla het resultaat op in de variabele cdf.
  • Bereken de afstanden tussen de concave hoeken van de formele ECDF en de theoretische CDF. Sla het resultaat op als D_top.
  • Bereken de afstand tussen de convexe hoeken van de formele ECDF en de theoretische CDF. Let op dat je 1/len(data1) van y moet aftrekken om de y-waarde bij de convexe hoek te krijgen. Sla het resultaat op in D_bottom.
  • Retourneer de K-S-statistiek als het maximum van alle waarden in D_top en D_bottom. Je kunt D_top en D_bottom samen als een tuple doorgeven aan np.max() om dit te doen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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))
Code bewerken en uitvoeren