Simulação Computacional
## 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")
# Apresentação das 10 primeiras linhas da matriz de dados
head(dados_3exps,n=10)
## X1 X2 X3
## [1,] 1.1863828 0.99518780 1.1605638
## [2,] 6.1013733 2.34036329 0.8836498
## [3,] 3.3800246 2.46089394 3.1242405
## [4,] 0.8392689 0.76123413 1.6683894
## [5,] 2.0975769 0.67503815 0.7300555
## [6,] 1.1303360 1.31774729 0.1974478
## [7,] 2.0262243 0.96766435 4.3014903
## [8,] 0.8351492 0.09031358 0.9235759
## [9,] 1.5752483 1.61036490 8.3467789
## [10,] 1.4938406 4.64903219 3.5681084
# 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]
Item (b) Estimação (Probabilidades Simulada x Teórica)
# 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.3410000 0.3333333
Item (c) Dois parâmetros iguais => Distribuição Uniforme
U(0,1)
# 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,] 4.7336486 9.6779994
## [2,] 22.6632599 7.7704767
## [3,] 8.1370299 1.9671305
## [4,] 6.1825917 3.1639933
## [5,] 2.4955103 7.5496742
## [6,] 4.9404912 0.6894095
## [7,] 2.0235077 3.5831065
## [8,] 2.3205604 1.0091932
## [9,] 8.4528317 2.1866310
## [10,] 0.9910231 4.0445370
# 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.03109, p-value = 0.2885
## alternative hypothesis: two-sided
plot(ecdf(W),pch=5, cex=3, lwd = 2)
curve(punif(x,min(W),max(W)),add=TRUE,col="red")
