CommencerCommencer gratuitement

Calculer la statistique K-S

Écrivez une fonction qui calcule la statistique de Kolmogorov–Smirnov à partir de deux jeux de données, data1 et data2, où data2 contient des échantillons issus de la distribution théorique à laquelle vous comparez vos données. Notez que cela signifie que nous utilisons des hacker stats pour calculer la statistique K-S pour un jeu de données et une distribution théorique, et non la statistique K-S pour deux jeux de données empiriques. Pratique : la fonction que vous venez de sélectionner pour calculer les valeurs de l’ECDF formelle est dcst.ecdf_formal().

Cet exercice fait partie du cours

Études de cas en pensée statistique

Afficher le cours

Instructions

  • Calculez les valeurs des coins convexes de l’ECDF formelle pour data1 avec dcst.ecdf(). Stockez les résultats dans les variables x et y.
  • Utilisez dcst.ecdf_formal() pour calculer les valeurs de la CDF théorique, déterminée à partir de data2, aux coins convexes x. Stockez le résultat dans la variable cdf.
  • Calculez les distances entre les coins concaves de l’ECDF formelle et la CDF théorique. Stockez le résultat dans D_top.
  • Calculez la distance entre les coins convexes de l’ECDF formelle et la CDF théorique. Notez que vous devrez soustraire 1/len(data1) de y pour obtenir la valeur de y au coin convexe. Stockez le résultat dans D_bottom.
  • Renvoyez la statistique K-S comme le maximum de toutes les entrées de D_top et D_bottom. Vous pouvez passer D_top et D_bottom ensemble sous forme de tuple à np.max() pour ce faire.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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))
Modifier et exécuter le code