Kolmogorov-Smirnov en deux dimensions


13

Je voudrais exécuter des tests de Kolmogorov-Smironov bidimensionnels pour déterminer si une distribution bidimensionnelle correspond à une référence.

Existe-t-il un package ou une application que je pourrais utiliser de manière relativement simple? Ou existe-t-il un algorithme différent préférable? J'ai juste une connaissance statistique de base.


Il me manque peut-être quelque chose, mais je pense que le test de Kolmogorov-Smirnov s'applique aux distributions unidimensionnelles. Si vous êtes intéressé par l'une des extensions de proposition (il y en a plusieurs car il n'y a pas d'extension naturelle au cas multivarié), veuillez préciser laquelle.

1
Je dirais plutôt qu'il y a une extension naturelle au cas multivarié, mais cela implique la distribution de où est le processus de Kiefer (pont brownien bidimensionnel), et cette distribution est mal connue. sup|K(t)|K
Stéphane Laurent

Réponses:


6

Une extension bidimensionnelle du test de Kolmogorov-Smirnov a été décrite par Justel, Pena et Zamar dans un «test multivarié de Komogorov-Smirnov de qualité de l'ajustement» . @ Les commentaires du procrastinateur suggèrent qu'il pourrait y avoir d'autres propositions de ce type.

Cependant, je n'ai pas vu de package avec une implémentation simple.

Selon ce que vous voulez faire, kde.test () dans le paquet ks de Tarn Duong pour R pourrait être plus utile.


6

Implémentation de Python

J'ai écrit une implémentation python en utilisant numpy. Vous pouvez trouver le code ici , vous pouvez trouver plus d'informations dans la docstring du code.

Et voici un autre (pas par moi). Ce Notebook fournit une implémentation Python pour le test 2D KS avec 2 échantillons. Le .pyfichier peut être téléchargé ici . Le code semble être une traduction directe du Ccode, l'efficacité peut être un problème si la taille de l'échantillon est grande.

Cependant, vous feriez mieux de vérifier les codes (peu importe lequel) avec les papiers / livres originaux avant de les utiliser. Les implémentations python du test 2d KS sont beaucoup moins vérifiées que celles de R.

Plus d'informations

L'algorithme est d'abord développé dans deux articles (comme je le vois)

Une belle introduction et l' Cimplémentation se trouvent dans

Voici un article intitulé Attention, le test de Kolmogorov-Smirnov est également lié au sujet, vous voudrez peut-être y jeter un œil. Il encourage l'utilisation de la méthode de rééchantillonnage pour évaluer la valeur de p avec une distance KS donnée.


1

vous pouvez trouver ce code Matlab utile.

http://www.mathworks.com/matlabcentral/fileexchange/38617-two-dimensional-2d-paired-kolmogorov-smirnov-test


2
Bienvenue sur ce site! Pourriez-vous fournir une brève description des ressources disponibles sur cette page?
chl
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.