## Tamanho amostral
n <- 1e3
## 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,] 3.1059829 2.54128143 0.62074572
## [2,] 1.8685858 2.71751133 1.95906778
## [3,] 2.5111458 0.61662701 7.55135718
## [4,] 0.3024099 0.27836872 0.06198512
## [5,] 1.8249951 0.02806604 0.45293323
## [6,] 2.6015252 0.56005213 3.65480313
## [7,] 1.1897009 0.26248564 2.04974933
## [8,] 1.7963506 2.12116196 3.49024405
## [9,] 1.4192671 2.20530315 17.55022263
## [10,] 1.3360737 2.31376272 0.54582484
# 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.3450000 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,] 3.51736260 3.7857088
## [2,] 2.32670195 4.3056357
## [3,] 1.30360245 2.3644333
## [4,] 0.08718799 1.0668956
## [5,] 0.17069923 2.1225127
## [6,] 4.14714398 9.0388853
## [7,] 9.07108906 0.8156718
## [8,] 0.38551258 0.1183865
## [9,] 1.23864440 2.1981324
## [10,] 0.73902027 6.9677400
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.02255, p-value = 0.6894
## 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"))