Test kołmogorowa-smirnowa w r (z przykładami)
Test Kołmogorowa-Smirnowa służy do sprawdzenia, czy próbka pochodzi z określonego rozkładu.
Aby wykonać test Kołmogorowa-Smirnowa dla jednej lub dwóch próbek w R, możemy skorzystać z funkcji ks.test() .
W tym samouczku przedstawiono przykład wykorzystania tej funkcji w praktyce.
Przykład 1: Próbka testowa Kołmogorowa-Smirnowa
Załóżmy, że mamy następujące przykładowe dane:
#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 )
Powiązane: Przewodnik po dpois, ppois, qpois i rpois w R
Poniższy kod pokazuje, jak wykonać test Kołmogorowa-Smirnowa na tej próbie 100 wartości danych w celu ustalenia, czy pochodzą one z rozkładu normalnego:
#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
Z wyniku widzimy, że statystyka testowa wynosi 0,97725 , a odpowiadająca jej wartość p wynosi 2,2e-16 . Ponieważ wartość p jest mniejsza niż 0,05, odrzucamy hipotezę zerową. Mamy wystarczające dowody, aby stwierdzić, że przykładowe dane nie pochodzą z rozkładu normalnego.
Wynik ten nie powinien być zaskakujący, ponieważ przykładowe dane wygenerowaliśmy za pomocą funkcji rpois() , która generuje losowe wartości zgodne z rozkładem Poissona .
Przykład 2: Test Kołmogorowa-Smirnowa dla dwóch próbek
Załóżmy, że mamy następujące dwa przykładowe zestawy danych:
#make this example reproducible seed(0) #generate two datasets data1 <- rpois(n= 20 , lambda= 5 ) data2 <- rnorm( 100 )
Poniższy kod pokazuje, jak wykonać test Kołmogorowa-Smirnowa na tych dwóch próbkach, aby określić, czy pochodzą one z tego samego rozkładu:
#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
Z wyniku widzimy, że statystyka testowa wynosi 0,99 , a odpowiadająca jej wartość p wynosi 1,299e-14 . Ponieważ wartość p jest mniejsza niż 0,05, odrzucamy hipotezę zerową. Mamy wystarczające dowody, aby stwierdzić, że dwa przykładowe zbiory danych nie pochodzą z tej samej dystrybucji.
Wynik ten również nie powinien dziwić, gdyż dla pierwszej próbki wygenerowaliśmy wartości z rozkładu Poissona, a wartości dla drugiej próbki z rozkładu normalnego .
Dodatkowe zasoby
Jak wykonać test Shapiro-Wilka w R
Jak wykonać test Andersona-Darlinga w R
Jak wykonać wielowymiarowe testy normalności w R