Calculer la statistique K-S
Rédigez une fonction qui calcule la statistique de Kolmogorov-Smirnov à partir de deux ensembles de données, data1 et data2, où data2 contient des échantillons tirés de la distribution théorique à laquelle vous comparez vos données. Notez que cela signifie que nous utilisons les « hacker stats » pour calculer la statistique K-S pour un ensemble de données et une distribution théorique, et non la statistique K-S pour deux ensembles de données empiriques. Pratique : la fonction que vous venez de choisir pour calculer les valeurs de la FDEC formelle est dcst.ecdf_formal().
Cette activité fait partie du cours
Études de cas en pensée statistique
Instructions de l’exercice
- Calculez les valeurs des coins convexes de la FDEC formelle pour
data1à l'aide dedcst.ecdf(). Enregistrez les résultats dans les variablesxety. - Utilisez
dcst.ecdf_formal()pour calculer les valeurs de la FDR théorique, déterminée à partir dedata2, aux coins convexesx. Enregistrez le résultat dans la variablecdf. - Calculez les écarts entre les coins concaves de la FDEC formelle et la FDR théorique. Enregistrez le résultat dans
D_top. - Calculez l'écart entre les coins convexes de la FDEC formelle et la FDR théorique. Notez que vous devrez soustraire
1/len(data1)deypour obtenir la valeur deyau coin convexe. Enregistrez le résultat dansD_bottom. - Retournez la statistique K-S comme le maximum de toutes les valeurs de
D_topetD_bottom. Vous pouvez passerD_topetD_bottomensemble sous forme de tuple ànp.max()pour ce faire.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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))