Recherche de site Web

Test de Kolmogorov-Smirnov (test KS)


Introduction

De nombreux outils et méthodes sont utilisés dans l’analyse statistique pour aider à transformer les données brutes en informations pertinentes. Le test de Kolmogorov-Smirnov (test KS) est l’un de ces outils puissants, réputé pour son adaptabilité et sa durabilité. Ce test non paramétrique est un pilier dans le domaine de l'analyse de données et est réputé pour comparer deux échantillons ou comparer un échantillon à une distribution de probabilité de référence (test KS à un échantillon). Nous expliquerons le concept, les utilisations et le fonctionnement du test KS dans cet article, avec des exemples codés en Python pour une compréhension facile.

Décoder le test de Kolmogorov-Smirnov

Le test KS, développé par Nikolai Smirnov et Andrey Kolmogorov, est une technique non paramétrique utilisée pour évaluer dans quelle mesure les données correspondent à une distribution donnée ou pour comparer deux fonctions de distribution cumulative (CDF). Son adaptabilité est accrue par le fait que, en raison de son caractère non paramétrique, il ne fait aucune hypothèse initiale sur les données qui suivent une distribution particulière.

Quantifier le plus grand écart (D) entre la fonction de distribution empirique (EDF) de l'échantillon et la fonction de distribution cumulative (CDF) de la distribution de référence, ou entre les CDF de deux échantillons empiriques, est l'idée fondamentale derrière le test KS.

Exemples Python pour le test de Kolmogorov-Smirnov

Exemple 1 : test KS à un échantillon en Python

Imaginez que vous disposez d'un ensemble de données contenant les poids de 50 personnes et que vous pensez que ces poids sont régulièrement distribués. Pour tester cette hypothèse, effectuez un test KS sur un échantillon. Le code Python pour le faire est le suivant -

# Import necessary libraries
from scipy import stats
import numpy as np

# Generate a sample of size 50 from a normal distribution
np.random.seed(0)
sample = np.random.normal(loc=0, scale=1, size=50)

# One-sample KS Test
d_statistic, p_value = stats.kstest(sample, 'norm')

print("One-sample KS Test:")
print("D statistic:", d_statistic)
print("p-value:", p_value)

Sortir

One-sample KS Test:
D statistic: 0.10706475374815838
p-value: 0.5781417630622738

Nous comparons l'échantillon à une distribution normale typique dans ce code en utilisant l'argument « norme » dans la fonction kstest. L'hypothèse nulle est rejetée si la valeur p est inférieure au niveau de signification, qui est généralement de 0,05. Cela indique que les données peuvent ne pas suivre une distribution normale.

Exemple 2 : test KS à deux échantillons en Python

Supposons que vous souhaitiez comparer les poids des personnes de la ville A et de la ville B pour voir si elles proviennent de la même distribution. Dans ce cas, le test KS à deux échantillons est idéal. Le code Python pour ce faire est le suivant

# Generate another sample of size 50 from a normal distribution
sample_2 = np.random.normal(loc=0.5, scale=1.5, size=50)

# Two-sample KS Test
d_statistic_2, p_value_2 = stats.ks_2samp(sample, sample_2)

print("\nTwo-sample KS Test:")
print("D statistic:", d_statistic_2)
print("p-value:", p_value_2)

Les distributions de deux échantillons sont comparées via la fonction ks_2samp. Nous rejetons l'hypothèse nulle et arrivons à la conclusion que les poids des villes A et B proviennent de distributions différentes si la valeur p est inférieure à notre niveau de signification.

Exploiter la puissance du test de Kolmogorov-Smirnov

Le test KS est un outil utile dans de nombreux domaines en raison de son adaptabilité. Le test est utilisé par les analystes financiers pour déterminer si les rendements d'un titre particulier suivent une distribution normale. Le test pourrait être utilisé en sciences de l’environnement pour comparer les régimes de précipitations de deux régions différentes.

Le test KS est également très utile dans les domaines de la science des données et de l'apprentissage automatique. Le test KS, par exemple, peut être utilisé pour comparer les distributions de probabilité projetée pour les résultats positifs et négatifs lors de la création d'un modèle pour prédire des événements binaires. Une statistique KS forte, qui indique une différence considérable entre ces distributions, indiquerait un modèle réussi.

Le test KS est utile au secteur de la publicité numérique pour comprendre le comportement des utilisateurs. Pour donner un exemple, le test pourrait examiner le temps passé par l'utilisateur sur une page Web pour déterminer si elle suit une distribution particulière, permettant ainsi aux organisations de prendre des décisions basées sur les données.

Conclusion

Dans le domaine de l'analyse statistique, le test de Kolmogorov-Smirnov est une technique non paramétrique puissante pour évaluer la qualité de l'ajustement et comparer divers échantillons. La large applicabilité du test dans de nombreux secteurs souligne à quel point il est crucial dans l’environnement actuel axé sur les données.

Le test KS est accessible et simple à appliquer grâce à la mise en œuvre pratique de Python, offrant de solides informations statistiques. Le test KS peut être votre outil incontournable pour des tests statistiques approfondis, que vous soyez un data scientist tentant de vérifier les performances d'un modèle d'apprentissage automatique, un analyste financier vérifiant des hypothèses sur vos données ou un chercheur cherchant à comparer des ensembles de données.

Articles connexes