Questões 01 e 02
## Geracao da amostra pela inversa da FDA
theta<-2 # parametro
u<-runif(1e4,0,1)
x<- -log( 1 - u^(1/theta) )
## Quantis da distribuicao Gama(n,1)
alpha<-0.05 ; n<-length(x)
q1<-qgamma(alpha/2,n,1)
q2<-qgamma(1-alpha/2,n,1)
## Limites Inferior e Superior do IC
li<- q1/sum(-log(1-exp(-x)))
ls<- q2/sum(-log(1-exp(-x)))
## Intervalo para os valores considerados
(ic<-c(li,ls))
## [1] 1.972767 2.051636
## verificando a probabilidade de cobertura
set.seed(12345)
theta<-2
N<-1e4 # quantidade de intervalos
alpha<-0.05 # nivel de significancia
li<-numeric(N) ; ls<-numeric(N)
for (i in 1:N){
u<-runif(1e4,0,1) ; n<-length(u)
x<- -log( 1 - u^(1/theta) )
li[i]<-qgamma(alpha/2,n,1)/sum(-log(1-exp(-x)))
ls[i]<-qgamma(1-alpha/2,n,1)/sum(-log(1-exp(-x)))
}
mean( theta > li & theta < ls )
## [1] 0.9487
Questão 03
## Intervalo assintotico
## Geracao da amostra pela inversa da FDA
theta<-2 # parametro
u<-runif(1e4,0,1)
x<- -log( 1 - u^(1/theta) )
emv<- n/(sum(-log(1-exp(-x))))
li.a<-emv*(1- qnorm(1-alpha/2)*sqrt(1/n))
ls.a<-emv*(1 - qnorm(alpha/2)*sqrt(1/n))
(IC.a<-c(li.a,ls.a))
## [1] 1.960607 2.038997
## Outro intervalo assintotico para Questao 03 (NOVO 2!!!)
z<-c(-1,+1)*qnorm(alpha/2)
ic<-( sqrt(n) / (z + sqrt(n)) ) * emv
ic
## [1] 1.961360 2.039781
Questões 04 e 05
## Geracao da amostra pela inversa da FDA
theta<-1 # parametro
u<-runif(1e4,0,1)
x<- -log( 1 - u^(1/theta) )
alpha<-0.05
decisao<-function(amostra){
n<-length(amostra)
if( sum(-log(1-exp(-x))) <= qgamma(alpha,n,1) ) {
return("a1: Há evidências para rejeitar H0")
}else{
return("a0: Não há evidências para rejeitar H0")
}
}
# Testar H0: theta=1 X H1: theta=2
theta<-1 # parametro
u<-runif(1e4,0,1)
x<- -log( 1 - u^(1/theta) )
decisao(x)
## [1] "a0: Não há evidências para rejeitar H0"
theta<-2 # parametro
u<-runif(1e4,0,1)
x<- -log( 1 - u^(1/theta) )
decisao(x)
## [1] "a1: Há evidências para rejeitar H0"
Questão 06
# funcao decisao do teste
alpha<-0.05
decisao<-function(amostra){
if( log(emv) + theta0/emv >= qchisq(1-alpha,1)/(2*n) + 1 + log(theta0) ){
return("a1: rejeita H0")
}else{
return("a0: não rejeita H0")
}
}
theta0<-2 ## Desejamos testar H0: theta=2 X theta!=2
theta<-theta0 # parametro
u<-runif(1e4,0,1)
amostra1<- -log( 1 - u^(1/theta) )
emv<- n/(sum(-log(1-exp(-amostra1))))
decisao(amostra1)
## [1] "a0: não rejeita H0"
theta<-3 # parametro
u<-runif(1e4,0,1)
amostra2<- -log( 1 - u^(1/theta) )
emv<- n/(sum(-log(1-exp(-amostra2))))
decisao(amostra2)
## [1] "a1: rejeita H0"
theta<-1 # parametro
u<-runif(1e4,0,1)
amostra3<- -log( 1 - u^(1/theta) )
emv<- n/(sum(-log(1-exp(-amostra2))))
decisao(amostra3)
## [1] "a1: rejeita H0"