Inizia subitoInizia gratis

Calcolare la statistica K-S

Scrivi una funzione per calcolare la statistica di Kolmogorov-Smirnov a partire da due insiemi di dati, data1 e data2, in cui data2 contiene campioni dalla distribuzione teorica con cui stai confrontando i tuoi dati. Nota che questo significa che stiamo usando gli hacker stats per calcolare la statistica K-S tra un insieme di dati e una distribuzione teorica, non la statistica K-S tra due insiemi di dati empirici. Comodamente, la funzione che hai appena selezionato per calcolare i valori della ECDF formale è dcst.ecdf_formal().

Questo esercizio fa parte del corso

Casi di studio nel pensiero statistico

Visualizza corso

Istruzioni dell'esercizio

  • Calcola i valori degli spigoli convessi della ECDF formale per data1 usando dcst.ecdf(). Salva i risultati nelle variabili x e y.
  • Usa dcst.ecdf_formal() per calcolare i valori della CDF teorica, determinata da data2, agli spigoli convessi x. Salva il risultato nella variabile cdf.
  • Calcola le distanze tra gli spigoli concavi della ECDF formale e la CDF teorica. Salva il risultato come D_top.
  • Calcola la distanza tra gli spigoli convessi della ECDF formale e la CDF teorica. Nota che dovrai sottrarre 1/len(data1) da y per ottenere il valore di y allo spigolo convesso. Salva il risultato in D_bottom.
  • Restituisci la statistica K-S come massimo di tutte le voci in D_top e D_bottom. Puoi passare D_top e D_bottom insieme come una tupla a np.max() per farlo.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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))
Modifica ed esegui il codice