Zweidimensionales Kolmogorov-Smirnov


13

Ich möchte einige zweidimensionale Kolmogorov-Smironov-Tests durchführen, um festzustellen, ob eine zweidimensionale Verteilung mit einer Referenz übereinstimmt.

Gibt es ein Paket oder eine Anwendung, die ich relativ einfach verwenden könnte? Oder gibt es einen anderen Algorithmus, der vorzuziehen ist? Ich habe nur grundlegende statistische Kenntnisse.


Vielleicht fehlt mir etwas, aber ich denke, der Kolmogorov-Smirnov-Test gilt für eindimensionale Verteilungen. Wenn Sie an einer der Vorschlagserweiterungen interessiert sind (es gibt mehrere, da es keine natürliche Erweiterung für den multivariaten Fall gibt), geben Sie bitte an, welche.

1
Ich würde eher sagen, dass es eine natürliche Erweiterung des multivariaten Falls gibt, aber es beinhaltet die Verteilung vonDabei ist K der Kiefer-Prozess (zweidimensionale Brownsche Brücke), und diese Verteilung ist schlecht bekannt. sup|K(t)|K
Stéphane Laurent

Antworten:


6

Eine zweidimensionale Erweiterung des Kolmogorov-Smirnov-Tests wurde von Justel, Pena und Zamar in einem "multivariaten Komogorov-Smirnov-Test der Anpassungsgüte" beschrieben . Die Kommentare von @ Procrastinator lassen vermuten, dass es weitere Vorschläge dieser Art geben könnte.

Ich habe jedoch noch kein Paket mit einer einfachen Implementierung gesehen.

Je nachdem, was Sie tun möchten, ist kde.test () in Tarn Duongs ks-Paket für R möglicherweise nützlicher.


6

Python-Implementierung

Ich habe eine Python-Implementierung mit numpy geschrieben. Den Code finden Sie hier , weitere Informationen finden Sie möglicherweise in der Doku-Zeichenfolge im Code.

Und hier ist noch einer (nicht von mir). Dieses Notebook enthält eine Python-Implementierung für den 2D-KS-Test mit 2 Beispielen. Die .pyDatei kann hier heruntergeladen werden . Der Code scheint eine reine Übersetzung des CCodes zu sein. Die Effizienz kann ein Problem sein, wenn die Stichprobe groß ist.

Sie sollten jedoch die Codes (egal welche) mit den Originalpapieren / -büchern überprüfen, bevor Sie sie verwenden. Die Python-Implementierungen des 2d KS-Tests sind weitaus weniger geprüft als die in R.

Mehr Informationen

Der Algorithmus wurde zuerst in zwei Artikeln entwickelt (wie ich sehe)

Eine nette Einführung und die CImplementierung finden Sie in

Hier ist ein Beitrag mit dem Titel Vorsicht, der Kolmogorov-Smirnov-Test hat auch etwas mit dem Thema zu tun. Vielleicht möchten Sie einen Blick darauf werfen. Es wird empfohlen, die Resample-Methode zu verwenden, um den p-Wert mit dem angegebenen KS-Abstand zu bewerten.


1

Möglicherweise ist dieser Matlab-Code hilfreich.

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


2
Willkommen auf dieser Seite! Können Sie eine kurze Beschreibung der auf dieser Seite verfügbaren Ressourcen bereitstellen?
chl
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.