Test de Kolmogorov-Smirnov

Page d’aide sur l’homonymie

Pour les articles homonymes, voir Smirnov.

Cet article est une ébauche concernant les probabilités et la statistique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Test de Kolmogorov-Smirnov
Type
Test non-paramétrique (d)Voir et modifier les données sur Wikidata
Inventeurs
Nommé en référence à

modifier - modifier le code - modifier WikidataDocumentation du modèle

En statistiques, le test de Kolmogorov-Smirnov est un test d'hypothèse utilisé pour déterminer si un échantillon suit bien une loi donnée connue par sa fonction de répartition continue, ou bien si deux échantillons suivent la même loi. Le test de Kolmogorov-Smirnov est par exemple utilisé pour tester la qualité d'un générateur de nombres aléatoires[1].

Principe

Fonction de répartition empirique Fn (en bleu) et fonction de répartition théorique F (rouge).

On modélise une loi donnée par sa fonction de répartition F (voir courbe rouge sur la figure). La fonction de répartition associe à tout x (en abscisses), la probabilité qu'une variable suivant cette loi soit plus petite que x (en ordonnées). Le test consiste alors à comparer la fonction de répartition de la loi (fonction de répartition théorique) à la fonction de répartition empirique Fn (en bleu). Cette dernière est une fonction de répartition obtenue en attribuant la probabilité 1/n à chacun des n éléments de l'échantillon. On mesure alors la différence entre les deux courbes. Si cette différence est inférieure à un seuil, alors on décide que l'échantillon provient bien de cette loi donnée. Plus précisément, on rejette l'hypothèse que l'échantillon provienne de la loi s'il y a une valeur de x pour laquelle |Fn(x) - F(x)| est grande.

Définition formelle

Soit X 1 , , X n {\displaystyle X_{1},\ldots ,X_{n}} n variables iid définies sur un espace de probabilité ( Ω , A , P ) {\displaystyle (\Omega ,{\mathcal {A}},\mathbb {P} )} , à valeurs dans R {\displaystyle \mathbb {R} } , avec pour fonction de répartition F. La fonction de répartition empirique F n {\displaystyle F_{n}} de l'échantillon X 1 , , X n {\displaystyle X_{1},\ldots ,X_{n}} est définie par :

x R , F n ( x ) = n o m b r e   d e ´ l e ´ m e n t s x d a n s   l e ´ c h a n t i l l o n n = 1 n i = 1 n 1 X i x {\displaystyle \forall x\in \mathbb {R} ,F_{n}(x)={\frac {\mathrm {nombre~d'{\acute {e}}l{\acute {e}}ments} \,\leq x\,\mathrm {dans~l'{\acute {e}}chantillon} }{n}}={\frac {1}{n}}\sum _{i=1}^{n}\mathbf {1} _{X_{i}\leq x}}

1 A {\displaystyle \mathbf {1} _{A}} est la fonction indicatrice de l'événement A.

Notons bien que F n ( x ) {\displaystyle F_{n}(x)} est une variable aléatoire, car elle dépend des valeurs de l'échantillon X 1 , , X n {\displaystyle X_{1},\ldots ,X_{n}} . On a la convergence suivante :

P [ sup x | F n ( x ) F ( x ) | > c n ] n α ( c ) = 2 r = 1 + ( 1 ) r 1 exp ( 2 c 2 r 2 ) {\displaystyle \mathbb {P} \left[\sup _{x}|F_{n}(x)-F(x)|>{\frac {c}{\sqrt {n}}}\right]{\xrightarrow[{n\to \infty }]{}}\alpha (c)=2\sum _{r=1}^{+\infty }(-1)^{r-1}\exp(-2c^{2}r^{2})}

pour toute constante c > 0. Le terme α(c) vaut 0,05 pour c = 1,36.

Remarquons que la limite à droite ne dépend pas de F. Cela découle du fait que n ( F n ( x ) F ( x ) ) {\displaystyle {\sqrt {n}}(F_{n}(x)-F(x))} converge en loi vers un pont brownien changé de temps par l'inverse F−1 de F. La série α(c) se déduit des propriétés de ce dernier processus.

Il est ainsi facile de proposer un test d'hypothèse pour décider si un échantillon provient bien d'une loi donnée, ou si deux échantillons ont la même loi, lorsque leurs fonctions de répartitions sont continues.

On peut aussi considérer max x ( F n ( x ) F ( x ) ) {\displaystyle \max _{x}(F_{n}(x)-F(x))} et max x ( F ( x ) F n ( x ) ) {\displaystyle \max _{x}(F(x)-F_{n}(x))} .

Mise en œuvre

  • ks.test avec R.
  • scipy.stats.kstest avec Python pour déterminer si un échantillon suit une loi donnée
  • scipy.stats.ks_2samp avec Python pour déterminer si deux échantillons suivent la même loi de distributions
  • ksmirnov avec Stata
  • kstest avec Matlab.

Voir aussi

Références

  • (en) Galen R. Shorack et Jon A. Wellner, Empirical Processes With Applications to Statistics, Philadelphie, Society for Industrial & Applied Mathematics, , 998 p. (ISBN 978-0-89871-684-9 et 0-89871-684-5, LCCN 2009025143, lire en ligne).

Notes et références

  1. (en) Donald E. Knuth, The Art of Computer Programming, vol. 2, 3e éd., Addison-Wesley Professional, 784 p. (ISBN 0-201-89684-2), p. 48–55.

Liens externes

  • (en) « Calculation of the Smirnov-Kolmogorov table »
  • Exemple de table : http://dlc.erieri.com/onlinetextbook/index.cfm?fuseaction=textbook.appendix&FileName=Table7
v · m
Tests de comparaison d'une seule variable
Pour un échantillon
Pour deux échantillons
Pour 3 échantillons ou plus
Tests de comparaison de deux variables
Deux variables quantitatives : Tests de corrélation
Deux variables qualitatives
Plus de deux variables
Tests d'adéquation à une loi
Tests d'appartenance à une famille de lois
Autres tests
v · m
Index du projet probabilités et statistiques
Théorie des probabilités
Bases théoriques
Principes généraux
Convergence de lois
Calcul stochastique
Lois de probabilité
Lois continues
Lois discrètes
Mélange entre statistiques et probabilités
Interprétations de la probabilité
Théorie des statistiques
Statistiques descriptives
Bases théoriques
Tableaux
Visualisation de données
Paramètres de position
Paramètres de dispersion
Paramètres de forme
Statistiques inductives
Bases théoriques
Tests paramétriques
Tests non-paramétriques
Application
  • icône décorative Portail des probabilités et de la statistique