Teste kolmogorov-smirnov em r (com exemplos)
O teste Kolmogorov-Smirnov é usado para testar se uma amostra vem ou não de uma determinada distribuição.
Para realizar um teste de Kolmogorov-Smirnov de uma ou duas amostras em R, podemos usar a função ks.test() .
Este tutorial mostra um exemplo de como usar esse recurso na prática.
Exemplo 1: Uma amostra de teste Kolmogorov-Smirnov
Suponha que tenhamos os seguintes dados de amostra:
#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 )
Relacionado: Um guia para dpois, ppois, qpois e rpois em R
O código a seguir mostra como realizar um teste de Kolmogorov-Smirnov nesta amostra de 100 valores de dados para determinar se eles vêm de uma distribuição normal:
#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
A partir do resultado, podemos ver que a estatística de teste é 0,97725 e o valor p correspondente é 2,2e-16 . Como o valor p é inferior a 0,05, rejeitamos a hipótese nula. Temos evidências suficientes para dizer que os dados da amostra não provêm de uma distribuição normal.
Este resultado não deve ser surpreendente, uma vez que geramos os dados amostrais usando a função rpois() , que gera valores aleatórios que seguem uma distribuição de Poisson .
Exemplo 2: Teste de Kolmogorov-Smirnov de duas amostras
Digamos que temos os dois conjuntos de dados de amostra a seguir:
#make this example reproducible seed(0) #generate two datasets data1 <- rpois(n= 20 , lambda= 5 ) data2 <- rnorm( 100 )
O código a seguir mostra como realizar um teste de Kolmogorov-Smirnov nessas duas amostras para determinar se elas vêm da mesma distribuição:
#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
A partir do resultado, podemos ver que a estatística de teste é 0,99 e o valor p correspondente é 1,299e-14 . Como o valor p é inferior a 0,05, rejeitamos a hipótese nula. Temos evidências suficientes para dizer que os dois conjuntos de dados de amostra não pertencem à mesma distribuição.
Este resultado também não deve ser surpreendente, uma vez que geramos valores para a primeira amostra utilizando a distribuição de Poisson e valores para a segunda amostra utilizando a distribuição normal .
Recursos adicionais
Como realizar um teste de Shapiro-Wilk em R
Como realizar um teste de Anderson-Darling em R
Como realizar testes multivariados de normalidade em R