GNU R: ks.test

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Beispiel: Test auf Normalverteilung[Bearbeiten]

Erstellen wir zunächst einen Vektor mit 20 standard-normalverteilten Elementen (mean=0 und sd=1 sind default-Werte für die Funktion rnorm und können im Funktionsaufruf auch weggelassen werden).

> x <- rnorm(20, mean=0, sd=1)
> x
 [1] -0.7685445027 -2.6086489321 -1.1975688308  0.0004820549 -2.2016151319
 [6] -0.1426615516 -1.2764168586 -0.6125727896  1.3486793510  0.6269263033
[11] -1.8587557887  0.6096185051  1.4032017285  1.7415871020  1.4178943117
[16] -0.4930871916 -0.1126935784  0.7253699582 -0.0046471234 -0.6717901917

Als zweites erstellen wir einen normalverteilten Vektor (mu=5, sd=1/3).

> y <- rnorm(20, mean=5, sd=1/3)
> y
 [1] 5.114893 4.921354 4.990195 4.810592 5.804219 5.089406 5.094644 4.461275
 [9] 5.009742 5.203696 4.872939 4.872820 4.619840 5.376655 4.964439 5.477723
[17] 5.302163 5.579908 4.970858 4.900186

Jetzt erstellen wir noch einen nicht-normalverteilten Vektor.

z <- c(1,1,1,1,1,45,99)
> z
[1]  1  1  1  1  1 45 99

Wenden wir nun den Kolmogorow-Smirnow-Test auf diese Vektoren an:

> ks.test(x, "pnorm")

        One-sample Kolmogorov-Smirnov test

data:  x 
D = 0.1498, p-value = 0.7059

Der p-Wert ist größer als 0.05 => Die Nullhypothese kann nicht widerlegt werden. Man kann den Schluss ziehen, dass Normalverteilung vorliegt.

> ks.test(y, "pnorm", mean=5, sd=1/3)

        One-sample Kolmogorov-Smirnov test

data:  y 
D = 0.2196, p-value = 0.2505

Der p-Wert ist größer als 0.05 => Die Nullhypothese kann nicht widerlegt werden. Man kann den Schluss ziehen, dass Normalverteilung vorliegt.

> ks.test(z, "pnorm")

        One-sample Kolmogorov-Smirnov test

data:  z 
D = 0.8413, p-value = 9.935e-05

Der p-Wert ist kleiner als 0.05 => Die Nullhypothese kann widerlegt werden. Man kann den Schluss ziehen, dass keine Normalverteilung vorliegt.

Achtung! Der p-Wert alleine kann auch in die Irre führen:

> x=rnorm(2000)
> ks.test(x,"pnorm")

 	One-sample Kolmogorov-Smirnov test

data:  x
D = 0.0344, p-value = 0.01768

Hier ist der p-Wert klar kleiner als 0.05, was fälschlicherweise zum Verwerfen der Nullhypothese führen könnte (Fehler 1. Art).