Kolmogorov-smirnov-test in r (met voorbeelden)


De Kolmogorov-Smirnov-test wordt gebruikt om te testen of een steekproef al dan niet uit een bepaalde verdeling komt.

Om een Kolmogorov-Smirnov-test met één of twee steekproeven in R uit te voeren, kunnen we de functie ks.test() gebruiken.

Deze tutorial toont een voorbeeld van hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld 1: Een Kolmogorov-Smirnov-testmonster

Stel dat we de volgende voorbeeldgegevens hebben:

 #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 )

Gerelateerd: Een gids voor dpois, ppois, qpois en rpois in R

De volgende code laat zien hoe je een Kolmogorov-Smirnov-test uitvoert op deze steekproef van 100 gegevenswaarden om te bepalen of ze uit een normale verdeling komen:

 #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

Uit het resultaat kunnen we zien dat de teststatistiek 0,97725 is en de overeenkomstige p-waarde 2,2e-16 . Omdat de p-waarde kleiner is dan 0,05, verwerpen we de nulhypothese. We hebben voldoende bewijs om te zeggen dat de steekproefgegevens niet uit een normale verdeling komen.

Dit resultaat zou niet verrassend moeten zijn, aangezien we de voorbeeldgegevens hebben gegenereerd met behulp van de functie rpois() , die willekeurige waarden genereert die een Poisson-verdeling volgen.

Voorbeeld 2: Kolmogorov-Smirnov-test met twee monsters

Laten we zeggen dat we de volgende twee voorbeeldgegevenssets hebben:

 #make this example reproducible
seed(0)

#generate two datasets
data1 <- rpois(n= 20 , lambda= 5 )
data2 <- rnorm( 100 )

De volgende code laat zien hoe u een Kolmogorov-Smirnov-test uitvoert op deze twee steekproeven om te bepalen of ze uit dezelfde distributie komen:

 #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

Uit het resultaat kunnen we zien dat de teststatistiek 0,99 is en de overeenkomstige p-waarde 1,299e-14 . Omdat de p-waarde kleiner is dan 0,05, verwerpen we de nulhypothese. We hebben voldoende bewijs om te zeggen dat de twee voorbeeldgegevenssets niet uit dezelfde distributie komen.

Dit resultaat zou ook niet verrassend moeten zijn, aangezien we waarden voor het eerste monster hebben gegenereerd met behulp van de Poisson-verdeling en waarden voor het tweede monster met behulp van denormale verdeling .

Aanvullende bronnen

Hoe een Shapiro-Wilk-test uit te voeren in R
Hoe een Anderson-Darling-test uit te voeren in R
Hoe multivariate normaliteitstests uit te voeren in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert