Definiremos que todas as análises serão avaliadas com um nível de significância de 5%
Gere os dados de uma distribuição, aplique o teste de hipótese e anote se o teste rejeitou ou não a hipótese de que o modelo é adequado
Gerando uma amostra weibull de tamanho 100
set.seed(123)
amostra <- rweibull(n = 100, shape = 1.5, scale = 10)
ks.test(amostra, "pweibull", 1.5, 10)
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: amostra
## D = 0.052204, p-value = 0.9481
## alternative hypothesis: two-sided
Não rejeitamos a hipotese de que a amostra segue uma distribuição Weibull
Utilizando a função ks.test para a simulação de monte carlo com 5000 repetições
set.seed(123)
ks.test(amostra, "pweibull", 1.5, 10, exact = FALSE, simulate.p.value = TRUE, B = 5000)
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: amostra
## D = 0.052204, p-value = 0.9481
## alternative hypothesis: two-sided
Mesmo com a simulação de monte carlo, o teste ficou identico.
Logo estamos aceitando a hipótese nula de que as amostras são distribuídas com uma distribuição Weibull.
Avaliando o comportamento das amostras variando a variância.
set.seed(123)
amostra1 <- rweibull(n = 100, shape = 1.5, scale = 10)
amostra2 <- rweibull(n = 100, shape = 1.5, scale = 20)
amostra3 <- rweibull(n = 100, shape = 1.5, scale = 30)
amostra4 <- rweibull(n = 100, shape = 1.5, scale = 40)
Fazendo para cada amostra individualmente
ks_test1 <- ks.test(amostra1, "pweibull", shape = 1.5, scale = 10);ks_test1$p.value
## [1] 0.9480752
ks_test2 <- ks.test(amostra2, "pweibull", shape = 1.5, scale = 20);ks_test2$p.value
## [1] 0.3048253
ks_test3 <- ks.test(amostra3, "pweibull", shape = 1.5, scale = 30);ks_test3$p.value
## [1] 0.8499987
ks_test4 <- ks.test(amostra4, "pweibull", shape = 1.5, scale = 40);ks_test4$p.value
## [1] 0.7534252
Não rejeitamos nenhuma hipórese nula de que elas são amostras da mesma distribuição, mesmo com as variancias diferentes.
Agora realizando o teste comparativo 2 a 2 temos:
m12=ks.test(amostra1, amostra2);m12$p.value
## [1] 1.001244e-07
m13=ks.test(amostra1, amostra3);m13$p.value
## [1] 1.554312e-15
m14=ks.test(amostra1, amostra4);m14$p.value
## [1] 0
m23=ks.test(amostra2, amostra3);m23$p.value
## [1] 4.70515e-06
m24=ks.test(amostra2, amostra4);m24$p.value
## [1] 1.011646e-11
m34=ks.test(amostra3, amostra4);m34$p.value
## [1] 0.02431031
como observamos, aceitamos hipótese nula de que elas são amostras da mesma distribuição.