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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *