Kolmogorow-Smirnow-Test

Aus besserwiki.de
Illustration der Kolmogorov-Smirnov-Statistik. Die rote Linie ist eine Modell-CDF, die blaue Linie ist eine empirische CDF, und der schwarze Pfeil ist die KS-Statistik.

In der Statistik ist der Kolmogorov-Smirnov-Test (K-S-Test oder KS-Test) ein nichtparametrischer Test der Gleichheit von kontinuierlichen (oder diskontinuierlichen, siehe Abschnitt 2.2), eindimensionalen Wahrscheinlichkeitsverteilungen, der zum Vergleich einer Stichprobe mit einer Referenzwahrscheinlichkeitsverteilung (K-S-Test für eine Stichprobe) oder zum Vergleich zweier Stichproben (K-S-Test für zwei Stichproben) verwendet werden kann. Im Wesentlichen beantwortet der Test die Frage "Wie groß ist die Wahrscheinlichkeit, dass diese Sammlung von Stichproben aus dieser Wahrscheinlichkeitsverteilung gezogen worden sein könnte?" oder, im zweiten Fall, "Wie groß ist die Wahrscheinlichkeit, dass diese beiden Stichprobengruppen aus derselben (aber unbekannten) Wahrscheinlichkeitsverteilung gezogen wurden? Sie ist nach Andrey Kolmogorov und Nikolai Smirnov benannt.

Die Kolmogorov-Smirnov-Statistik quantifiziert den Abstand zwischen der empirischen Verteilungsfunktion der Stichprobe und der kumulativen Verteilungsfunktion der Referenzverteilung oder zwischen den empirischen Verteilungsfunktionen von zwei Stichproben. Die Nullverteilung dieser Statistik wird unter der Nullhypothese berechnet, dass die Stichprobe aus der Referenzverteilung gezogen wird (im Fall einer Stichprobe) oder dass die Stichproben aus der gleichen Verteilung gezogen werden (im Fall von zwei Stichproben). Im Fall einer Stichprobe kann die unter der Nullhypothese betrachtete Verteilung kontinuierlich (siehe Abschnitt 2), rein diskret oder gemischt sein (siehe Abschnitt 2.2). Im Zweistichprobenfall (siehe Abschnitt 3) ist die unter der Nullhypothese betrachtete Verteilung eine stetige Verteilung, ansonsten aber unbeschränkt. Der Zweistichprobentest kann jedoch auch unter allgemeineren Bedingungen durchgeführt werden, die Diskontinuität, Heterogenität und Abhängigkeit zwischen den Stichproben zulassen.

Der K-S-Test für zwei Stichproben ist eine der nützlichsten und allgemeinsten nichtparametrischen Methoden für den Vergleich zweier Stichproben, da er sowohl auf Unterschiede in der Lage als auch in der Form der empirischen kumulativen Verteilungsfunktionen der beiden Stichproben reagiert.

Der Kolmogorov-Smirnov-Test kann so modifiziert werden, dass er als Test der Anpassungsgüte dient. In dem speziellen Fall der Prüfung auf Normalität der Verteilung werden die Stichproben standardisiert und mit einer Standardnormalverteilung verglichen. Dies ist gleichbedeutend damit, den Mittelwert und die Varianz der Referenzverteilung gleich den Stichprobenschätzungen zu setzen, und es ist bekannt, dass deren Verwendung zur Definition der spezifischen Referenzverteilung die Nullverteilung der Teststatistik verändert (siehe Test mit geschätzten Parametern). In verschiedenen Studien wurde festgestellt, dass der Test selbst in dieser korrigierten Form weniger aussagekräftig für die Prüfung der Normalität ist als der Shapiro-Wilk-Test oder der Anderson-Darling-Test. Diese anderen Tests haben jedoch ihre eigenen Nachteile. So ist beispielsweise bekannt, dass der Shapiro-Wilk-Test bei Stichproben mit vielen identischen Werten nicht gut funktioniert.

Mit seiner Hilfe kann anhand von Zufallsstichproben geprüft werden, ob

  • zwei Zufallsvariablen eine identische Verteilung besitzen oder
  • eine Zufallsvariable einer zuvor angenommenen Wahrscheinlichkeitsverteilung folgt.

Im Rahmen des letzteren (Einstichproben-)Anwendungsproblems spricht man auch vom Kolmogorow-Smirnow-Anpassungstest (KSA-Test). Einige (parametrische) statistische Verfahren setzen voraus, dass die untersuchten Variablen in der Grundgesamtheit normalverteilt sind. Der KSA-Test kann genutzt werden, um zu testen, ob diese Annahme verworfen werden muss oder (unter Beachtung des -Fehlers) beibehalten werden kann.

Kolmogorov-Smirnov-Statistik

Die empirische Verteilungsfunktion Fn für n unabhängige und identisch verteilte (i.i.d.) geordnete Beobachtungen Xi ist definiert als

wobei die Indikatorfunktion ist, die gleich 1 ist, wenn und andernfalls gleich 0 ist.

Die Kolmogorov-Smirnov-Statistik für eine gegebene kumulative Verteilungsfunktion F(x) ist

wobei supx das Supremum der Menge der Abstände ist. Intuitiv nimmt die Statistik die größte absolute Differenz zwischen den beiden Verteilungsfunktionen über alle x-Werte.

Nach dem Glivenko-Cantelli-Theorem konvergiert Dn, wenn die Stichprobe aus der Verteilung F(x) stammt, im Grenzwert fast sicher gegen 0, wenn gegen unendlich geht. Kolmogorow verstärkte dieses Ergebnis, indem er effektiv die Konvergenzrate angab (siehe Kolmogorow-Verteilung). Das Theorem von Donsker liefert ein noch stärkeres Ergebnis.

In der Praxis erfordert die Statistik eine relativ große Anzahl von Datenpunkten (im Vergleich zu anderen Kriterien für die Anpassungsgüte wie der Anderson-Darling-Teststatistik), um die Nullhypothese ordnungsgemäß zurückzuweisen.

Liegt nun zusätzlich zur obigen Zufallsvariablen eine entsprechende Zufallsvariable vor (mit geordneten Werten ), so kann durch den Zweistichprobentest überprüft werden, ob und derselben Verteilungsfunktion folgen. Die Hypothesen lauten: Nullhypothese:

Alternativhypothese:

(Die Zufallsvariable besitzt eine andere Wahrscheinlichkeitsverteilung als .)

Der Kolmogorow-Smirnow-Test vergleicht die empirischen Verteilungsfunktionen (relativen Summenfunktionen) und analog zum Einstichprobentest anhand ihrer absoluten Differenzen mittels der Teststatistik

.

Die Nullhypothese wird bei einem Signifikanzniveau abgelehnt, falls den kritischen Wert überschreitet. Für kleine Werte von und liegen die kritischen Werte tabelliert vor. Für große Werte von und wird die Nullhypothese abgelehnt, falls

,

Kolmogorov-Verteilung

Illustration der PDF der Kolmogorov-Verteilung.

Die Kolmogorov-Verteilung ist die Verteilung der Zufallsvariablen

wobei B(t) die Brownsche Brücke ist. Die kumulative Verteilungsfunktion von K ist gegeben durch

die auch durch die Jacobi-Theta-Funktion ausgedrückt werden kann . Sowohl die Form der Kolmogorov-Smirnov-Teststatistik als auch ihre asymptotische Verteilung unter der Nullhypothese wurden von Andrey Kolmogorov veröffentlicht, während eine Tabelle der Verteilung von Nikolai Smirnov veröffentlicht wurde. Es liegen Rekursionsbeziehungen für die Verteilung der Teststatistik bei endlichen Stichproben vor.

Unter der Nullhypothese, dass die Stichprobe aus der hypothetischen Verteilung F(x) stammt,

in der Verteilung, wobei B(t) die Brownsche Brücke ist. Wenn F kontinuierlich ist, dann konvergiert unter der Nullhypothese gegen die Kolmogorow-Verteilung konvergiert, die nicht von F abhängt. Dieses Ergebnis kann auch als Kolmogorow-Theorem bezeichnet werden.

Die Genauigkeit dieser Grenze als Annäherung an die exakte cdf von wenn endlich ist, ist nicht sehr beeindruckend: Selbst wenn ist, beträgt der entsprechende maximale Fehler etwa ; dieser Fehler steigt auf wenn und auf einen völlig inakzeptablen Wert von wenn . Es ist jedoch ein sehr einfaches Mittel, das Ersetzen von durch

im Argument der Jacobi-Theta-Funktion reduziert diese Fehler auf , , und reduziert; eine solche Genauigkeit wird in der Regel als mehr als ausreichend für alle praktischen Anwendungen angesehen.

Der Anpassungsgütetest oder der Kolmogorov-Smirnov-Test kann unter Verwendung der kritischen Werte der Kolmogorov-Verteilung erstellt werden. Dieser Test ist asymptotisch gültig, wenn Er weist die Nullhypothese auf dem Niveau wenn

wobei Kα gefunden wird aus

Die asymptotische Potenz dieses Tests ist 1.

Schnelle und genaue Algorithmen zur Berechnung der cdf oder ihres Komplements für beliebige und sind verfügbar unter:

  • und für kontinuierliche Nullverteilungen mit Code in C und Java zu finden in.
  • für rein diskrete, gemischte oder kontinuierliche Nullverteilungen, implementiert im KSgeneral-Paket des R-Projekts für statistische Berechnungen, das für eine gegebene Stichprobe auch die KS-Teststatistik und ihren p-Wert berechnet. Eine alternative C++-Implementierung ist verfügbar unter.

Test mit geschätzten Parametern

Wenn entweder die Form oder die Parameter von F(x) aus den Daten Xi bestimmt werden, sind die auf diese Weise ermittelten kritischen Werte ungültig. In solchen Fällen können Monte-Carlo- oder andere Methoden erforderlich sein, aber für einige Fälle wurden Tabellen vorbereitet. Einzelheiten zu den erforderlichen Änderungen der Teststatistik und zu den kritischen Werten für die Normalverteilung und die Exponentialverteilung sind veröffentlicht worden, und spätere Veröffentlichungen umfassen auch die Gumbel-Verteilung. Der Lilliefors-Test stellt einen Spezialfall davon für die Normalverteilung dar. Die Logarithmentransformation kann helfen, Fälle zu überwinden, in denen die Daten des Kolmogorov-Tests nicht zu der Annahme zu passen scheinen, dass sie aus der Normalverteilung stammen.

Bei der Verwendung von geschätzten Parametern stellt sich die Frage, welche Schätzungsmethode verwendet werden sollte. In der Regel wäre dies die Maximum-Likelihood-Methode, aber z. B. für die Normalverteilung hat MLE einen großen Verzerrungsfehler bei Sigma. Die Verwendung einer Momentananpassung oder KS-Minimierung hat stattdessen einen großen Einfluss auf die kritischen Werte und auch einen gewissen Einfluss auf die Teststärke. Wenn wir für Schüler-T-Daten mit df = 2 mittels KS-Test entscheiden müssen, ob die Daten normal sein könnten oder nicht, dann würde eine ML-Schätzung auf der Grundlage von H0 (Daten sind normal, also wird die Standardabweichung für die Skalierung verwendet) einen viel größeren KS-Abstand ergeben als eine Anpassung mit minimaler KS. In diesem Fall sollten wir H0 zurückweisen, was bei MLE oft der Fall ist, da die Standardabweichung der Stichprobe für T-2-Daten sehr groß sein kann, aber mit KS-Minimierung können wir immer noch einen zu niedrigen KS erhalten, um H0 zurückzuweisen. Im Fall von Student-T macht ein modifizierter KS-Test mit KS-Schätzung anstelle von MLE den KS-Test tatsächlich etwas schlechter. In anderen Fällen führt ein solcher modifizierter KS-Test jedoch zu einer etwas besseren Teststärke.

Diskrete und gemischte Nullverteilung

Unter der Annahme, dass nicht-abnehmend und rechtsstetig ist, mit einer abzählbaren (möglicherweise unendlichen) Anzahl von Sprüngen, kann die KS-Teststatistik wie folgt ausgedrückt werden:

Aus der Rechtsstetigkeit von ergibt sich, dass und und somit die Verteilung von von der Nullverteilung abhängt ab, d. h. sie ist nicht mehr verteilungsfrei wie im kontinuierlichen Fall. Daher wurde eine schnelle und genaue Methode zur Berechnung der exakten und asymptotischen Verteilung von wenn rein diskret oder gemischt ist, implementiert in C++ und im KSgeneral-Paket der Sprache R. Die Funktionen disc_ks_test(), mixed_ks_test() und cont_ks_test() berechnen auch die KS-Teststatistik und p-Werte für rein diskrete, gemischte oder kontinuierliche Nullverteilungen und beliebige Stichprobengrößen. Der KS-Test und seine p-Werte für diskrete Nullverteilungen und kleine Stichprobenumfänge werden auch im Rahmen des dgof-Pakets der Sprache R berechnet. Die wichtigsten Statistikpakete, darunter SAS PROC NPAR1WAY und Stata ksmirnov, implementieren den KS-Test unter der Annahme, dass kontinuierlich ist, was konservativer ist, wenn die Nullverteilung tatsächlich nicht kontinuierlich ist (siehe

).

Zweistichproben-Kolmogorov-Smirnov-Test

Veranschaulichung der Kolmogorov-Smirnov-Statistik für zwei Stichproben. Die roten und blauen Linien entsprechen jeweils einer empirischen Verteilungsfunktion, und der schwarze Pfeil ist die KS-Statistik für zwei Stichproben.

Der Kolmogorov-Smirnov-Test kann auch verwendet werden, um zu prüfen, ob sich zwei zugrunde liegende eindimensionale Wahrscheinlichkeitsverteilungen unterscheiden. In diesem Fall ist die Kolmogorov-Smirnov-Statistik

wobei und sind die empirischen Verteilungsfunktionen der ersten bzw. der zweiten Stichprobe, und ist die Supremumsfunktion.

Bei großen Stichproben wird die Nullhypothese auf dem Niveau wenn

Wobei und die Größen der ersten bzw. zweiten Stichprobe sind. Der Wert von ist in der nachstehenden Tabelle für die gebräuchlichsten Niveaus von

0.20 0.15 0.10 0.05 0.025 0.01 0.005 0.001
1.073 1.138 1.224 1.358 1.48 1.628 1.731 1.949

und im Allgemeinen durch

so dass die Bedingung lautet

Auch hier gilt: Je größer der Stichprobenumfang, desto empfindlicher ist die minimale Schranke: Für ein bestimmtes Verhältnis der Stichprobenumfänge (z. B. ) skaliert die Minimalschranke mit dem Umfang einer der beiden Stichproben entsprechend ihrer inversen Quadratwurzel.

Es ist zu beachten, dass der Zwei-Stichproben-Test prüft, ob die beiden Datenstichproben aus der gleichen Verteilung stammen. Dabei wird nicht angegeben, wie diese gemeinsame Verteilung aussieht (z. B. ob sie normal oder nicht normal ist). Auch hier sind Tabellen mit kritischen Werten veröffentlicht worden. Ein Manko des univariaten Kolmogorov-Smirnov-Tests ist, dass er nicht sehr aussagekräftig ist, da er so konzipiert ist, dass er auf alle möglichen Arten von Unterschieden zwischen zwei Verteilungsfunktionen reagiert. Einige argumentieren, dass der Cucconi-Test, der ursprünglich für den gleichzeitigen Vergleich von Ort und Ausmaß vorgeschlagen wurde, beim Vergleich von zwei Verteilungsfunktionen viel leistungsfähiger sein kann als der Kolmogorov-Smirnov-Test.

Festlegung von Konfidenzgrenzen für die Form einer Verteilungsfunktion

Während der Kolmogorov-Smirnov-Test in der Regel verwendet wird, um zu prüfen, ob eine gegebene F(x) die zugrunde liegende Wahrscheinlichkeitsverteilung von Fn(x) ist, kann das Verfahren umgekehrt werden, um Vertrauensgrenzen für F(x) selbst zu ermitteln. Wenn man einen kritischen Wert der Teststatistik Dα so wählt, dass P(Dn > Dα) = α ist, dann enthält ein Band der Breite ±Dα um Fn(x) mit der Wahrscheinlichkeit 1 - α vollständig F(x).

Die Kolmogorov-Smirnov-Statistik in mehr als einer Dimension

Ein verteilungsfreier multivariater Kolmogorov-Smirnov-Test der Anpassungsgüte wurde von Justel, Peña und Zamar (1997) vorgeschlagen. Der Test verwendet eine Statistik, die unter Verwendung der Rosenblatt-Transformation erstellt wird, und es wird ein Algorithmus entwickelt, um ihn im bivariaten Fall zu berechnen. Es wird auch ein Näherungstest vorgestellt, der in jeder Dimension leicht berechnet werden kann.

Die Kolmogorov-Smirnov-Teststatistik muss geändert werden, wenn ein ähnlicher Test auf multivariate Daten angewendet werden soll. Dies ist nicht einfach, da die maximale Differenz zwischen zwei gemeinsamen kumulativen Verteilungsfunktionen im Allgemeinen nicht mit der maximalen Differenz einer der komplementären Verteilungsfunktionen identisch ist. So ist die maximale Differenz unterschiedlich, je nachdem, welche der Funktionen oder oder eine der beiden anderen möglichen Anordnungen verwendet wird. Man könnte verlangen, dass das Ergebnis des verwendeten Tests nicht davon abhängt, welche Wahl getroffen wird.

Ein Ansatz zur Verallgemeinerung der Kolmogorov-Smirnov-Statistik auf höhere Dimensionen, der dem obigen Anliegen gerecht wird, besteht darin, die cdfs der beiden Stichproben mit allen möglichen Anordnungen zu vergleichen und die größte aus der Menge der sich ergebenden KS-Statistiken zu nehmen. In d Dimensionen gibt es 2d-1 solcher Anordnungen. Eine dieser Variationen geht auf Peacock zurück (siehe auch Gosset für eine 3D-Version) und eine andere auf Fasano und Franceschini (siehe Lopes et al. für einen Vergleich und rechnerische Details). Kritische Werte für die Teststatistik können durch Simulationen ermittelt werden, hängen aber von der Abhängigkeitsstruktur in der gemeinsamen Verteilung ab.

In einer Dimension ist die Kolmogorov-Smirnov-Statistik identisch mit der so genannten Sterndiskrepanz D, so dass eine weitere native KS-Erweiterung auf höhere Dimensionen einfach darin bestünde, D auch für höhere Dimensionen zu verwenden. Leider ist die Sterndiskrepanz in hohen Dimensionen schwer zu berechnen.

Im Jahr 2021 wurde die funktionale Form der multivariaten KS-Teststatistik vorgeschlagen, die das Problem der Schätzung der Schwanzwahrscheinlichkeiten der multivariaten KS-Teststatistik, die für den statistischen Test benötigt wird, vereinfachte. Für den multivariaten Fall, wenn Fi der i-te kontinuierliche Randwert einer Wahrscheinlichkeitsverteilung mit k Variablen ist, dann

so hängt die Grenzverteilung nicht von den Randverteilungen ab.

Durchführungen

Der Kolmogorov-Smirnov-Test ist in vielen Softwareprogrammen implementiert. Die meisten dieser Programme implementieren sowohl den ein- als auch den zweistufigen Test.

  • Mathematica verfügt über KolmogorovSmirnovTest.
  • Die Statistics Toolbox von MATLAB verfügt über kstest und kstest2 für Kolmogorov-Smirnov-Tests mit einer bzw. zwei Stichproben.
  • Das R-Paket "KSgeneral" berechnet die KS-Teststatistik und ihre p-Werte unter beliebigen, möglicherweise diskreten, gemischten oder kontinuierlichen Nullverteilungen.
  • Das Statistik-Basispaket von R implementiert den Test als ks.test {stats} in seinem "stats"-Paket.
  • SAS implementiert den Test in seiner PROC NPAR1WAY-Prozedur.
  • In Python implementiert das SciPy-Paket den Test in der Funktion scipy.stats.kstest.
  • SYSTAT (SPSS Inc., Chicago, IL)
  • In Java gibt es eine Implementierung dieses Tests, die von Apache Commons bereitgestellt wird.
  • KNIME verfügt über einen Knoten, der diesen Test auf der Grundlage der oben genannten Java-Implementierung implementiert.
  • Julia hat das Paket HypothesisTests.jl mit der Funktion ExactOneSampleKSTest(x::AbstractVector{<:Real}, d::UnivariateDistribution).
  • StatsDirect (StatsDirect Ltd, Manchester, UK) implementiert alle gängigen Varianten.
  • Stata (Stata Corporation, College Station, TX) implementiert den Test im Befehl ksmirnov (Kolmogorov-Smirnov-Test auf Gleichverteilung).
  • PSPP implementiert den Test mit dem Befehl KOLMOGOROV-SMIRNOV (oder mit der KS-Verknüpfungsfunktion).
  • Das Real Statistics Resource Pack für Excel führt den Test als KSCRIT und KSPROB aus.

Zahlenbeispiel

Vergleich von empirischer und theoretischer Verteilung des Zahlenbeispiels: Links ein Histogramm mit Normalverteilungskurve, rechts die theoretische und die empirische Verteilungsfunktion

In einem Unternehmen, das hochwertige Parfüms herstellt, wurde im Rahmen der Qualitätssicherung an einer Abfüllanlage die abgefüllte Menge für Flakons gemessen. Es ist das Merkmal : Abgefüllte Menge in ml.

Es soll geprüft werden, ob noch die bekannten Parameter der Verteilung von gelten.

Zunächst soll bei einem Signifikanzniveau getestet werden, ob das Merkmal in der Grundgesamtheit überhaupt normalverteilt mit den bekannten Parametern und ist, also

mit als Normalverteilungssymbol. Es ergibt sich folgende Tabelle:

Hier bezeichnen die -te Beobachtung, den Wert der Summenfunktion der -ten Beobachtung und den Wert der Normalverteilungsfunktion an der Stelle mit den genannten Parametern. Die nächsten Spalten geben die oben angeführten Differenzen an. Der kritische Wert, der bei und zur Ablehnung führte, wäre der Betrag . Die größte absolute Abweichung in der Tabelle ist in der 3. Zeile. Dieser Wert ist größer als der kritische Wert, daher wird die Hypothese abgelehnt. Es ist also zu vermuten, dass die Verteilungshypothese falsch ist. Das kann bedeuten, dass die abgefüllte Menge nicht mehr normalverteilt ist, dass sich die durchschnittliche Abfüllmenge verschoben hat oder auch, dass sich die Varianz der Abfüllmenge verändert hat.

Alternative Tests

Der Lilliefors-Test ist eine Anpassung des Kolmogorow-Smirnow-Tests für die Testung auf Normalverteilung mit unbekanntem Mittelwert und unbekannter Varianz. Mögliche Alternativen zum KS-Test sind der Cramér-von-Mises-Test, der für beide Anwendungsfälle geeignet ist, sowie der Anderson-Darling-Test für den Vergleich einer Stichprobe mit einer hypothetischen Wahrscheinlichkeitsverteilung.