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