Kolmogorov-smirnov-test in r (mit beispielen)
Mit dem Kolmogorov-Smirnov-Test wird getestet, ob eine Stichprobe aus einer bestimmten Verteilung stammt oder nicht.
Um einen Kolmogorov-Smirnov-Test mit einer oder zwei Stichproben in R durchzuführen, können wir die Funktion ks.test() verwenden.
Dieses Tutorial zeigt ein Beispiel für die praktische Verwendung dieser Funktion.
Beispiel 1: Eine Kolmogorov-Smirnov-Testprobe
Angenommen, wir haben die folgenden Beispieldaten:
#make this example reproducible seed(0) #generate dataset of 100 values that follows a Poisson distribution with mean=5 data <- rpois(n= 20 , lambda= 5 )
Verwandt: Eine Anleitung zu dpois, ppois, qpois und rpois in R
Der folgende Code zeigt, wie man an dieser Stichprobe von 100 Datenwerten einen Kolmogorov-Smirnov-Test durchführt, um zu bestimmen, ob sie aus einer Normalverteilung stammen:
#perform Kolmogorov-Smirnov test ks.test(data, “ pnorm ”) One-sample Kolmogorov–Smirnov test data:data D = 0.97725, p-value < 2.2e-16 alternative hypothesis: two-sided
Aus dem Ergebnis können wir ersehen, dass die Teststatistik 0,97725 beträgt und der entsprechende p-Wert 2,2e-16 beträgt. Da der p-Wert kleiner als 0,05 ist, lehnen wir die Nullhypothese ab. Wir haben genügend Beweise dafür, dass die Stichprobendaten nicht aus einer Normalverteilung stammen.
Dieses Ergebnis sollte nicht überraschen, da wir die Beispieldaten mit der Funktion rpois() generiert haben, die Zufallswerte generiert, die einerPoisson-Verteilung folgen.
Beispiel 2: Kolmogorov-Smirnov-Test mit zwei Stichproben
Nehmen wir an, wir haben die folgenden zwei Beispieldatensätze:
#make this example reproducible seed(0) #generate two datasets data1 <- rpois(n= 20 , lambda= 5 ) data2 <- rnorm( 100 )
Der folgende Code zeigt, wie ein Kolmogorov-Smirnov-Test für diese beiden Stichproben durchgeführt wird, um festzustellen, ob sie aus derselben Verteilung stammen:
#perform Kolmogorov-Smirnov test
ks.test(data1, data2)
Two-sample Kolmogorov–Smirnov test
data: data1 and data2
D = 0.99, p-value = 1.299e-14
alternative hypothesis: two-sided
Aus dem Ergebnis können wir ersehen, dass die Teststatistik 0,99 beträgt und der entsprechende p-Wert 1,299e-14 beträgt. Da der p-Wert kleiner als 0,05 ist, lehnen wir die Nullhypothese ab. Wir haben genügend Beweise dafür, dass die beiden Beispieldatensätze nicht aus derselben Verteilung stammen.
Dieses Ergebnis sollte auch nicht überraschen, da wir Werte für die erste Stichprobe mithilfe der Poisson-Verteilung und Werte für die zweite Stichprobe mithilfe derNormalverteilung generiert haben.
Zusätzliche Ressourcen
So führen Sie einen Shapiro-Wilk-Test in R durch
So führen Sie einen Anderson-Darling-Test in R durch
So führen Sie multivariate Normalitätstests in R durch