## Tamanho amostral
n <- 1e4
## Taxas da distribuicao exponencial
alpha1 <- 0.6 ; alpha2 <- 0.9 ; alpha3 <- 0.3
## geracao dos dados
# funcao que gera os dados
gera_dados <- function(n,alpha){ rexp(n, rate = alpha)}
# matriz de dados
dados_3exps <- sapply(c(alpha1,alpha2,alpha3), gera_dados, n=n)
colnames(dados_3exps)<-c("X1","X2","X3")
# Apresentacao das 10 primeiras linhas da matriz de dados
head(dados_3exps,n=10)
## X1 X2 X3
## [1,] 0.7387802 0.3343738 0.5968327
## [2,] 4.0415652 3.0309941 2.4543769
## [3,] 2.1813058 0.3303662 1.1727456
## [4,] 0.5829832 0.1561572 3.4607639
## [5,] 0.2043783 0.7859837 0.2954856
## [6,] 1.2430904 0.4239606 1.8186981
## [7,] 1.8433675 0.7355806 8.1449143
## [8,] 1.4234440 0.7981386 4.1474538
## [9,] 0.3039701 2.6903130 0.9676613
## [10,] 1.1357341 2.1592879 0.2341068
# Minimo entre X1, X2, X3 (Y=min(X1,X2,X3))
Y <- apply(dados_3exps, 1, min)
# Amostras de X1, X2 e X3.
X1 <- dados_3exps[,1]
X2 <- dados_3exps[,2]
X3 <- dados_3exps[,3]
# probabilidade simulada (estimada)
prob.sim <- mean(X1==Y)
# probabilidade teórica (real)
prob.teo<- alpha1/(alpha1+alpha2+alpha3)
setNames(c(prob.sim,prob.teo),c("probabilidade simulada", "probabilidade teórica"))
## probabilidade simulada probabilidade teórica
## 0.3239000 0.3333333
# Dois parametros iguais
alpha1 <- 0.2
alpha2 <- alpha1
dados_2exps <- sapply(c(alpha1,alpha2), gera_dados, n=n)
colnames(dados_2exps)<-c("X1","X2")
# Apresentação das 10 primeiras linhas da matriz de dados
head(dados_2exps,n=10)
## X1 X2
## [1,] 1.9549874 1.1658617
## [2,] 7.9813082 3.0580794
## [3,] 1.8130006 2.5736940
## [4,] 10.6908120 11.3339163
## [5,] 2.0006133 1.7975220
## [6,] 30.9756469 7.4372592
## [7,] 0.7484104 4.4672506
## [8,] 2.6457970 10.8216176
## [9,] 1.0723112 1.4479447
## [10,] 2.3630893 0.7615465
Realizamos o teste de aderência de Kolmogorov-Smirnov para verificar se a distribuição é uniforme em (0,1).
# Teste K-S (Kolmogorov-Smirnov) para distribuição uniforme
X1 <- dados_2exps[,1]
X2 <- dados_2exps[,2]
W <- X1/(X1+X2)
# Comparação das Funções de distribuição empírica e teorica
# Empírica: construída a partir dos dados amostrais ( ecdf(W) ).
# Teorica: fd da uniforme U(0,1) ( Fn(x) )
ks.test(W,"punif",min(W),max(W))
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: W
## D = 0.014366, p-value = 0.03224
## alternative hypothesis: two-sided
Conclusão do Teste: Ao nível de significância \(\alpha =0.05\) (ou \(\alpha=0.01\)), não há evidências suficientes para reijeitar a hipótese nula de que a distribuição é U(0,1), pois o p-valor do teste é maior que o nível de significância.
plot(ecdf(W),pch=5, cex=3, lwd = 2)
curve(punif(x,min(W),max(W)),add=TRUE,col="red")
legend(x = "topleft", box.col = "brown",
bg ="grey", box.lwd = 2 , title="Distribuicoes",
legend=c("Empirica", "Teorica"),
fill = c("black","red"))