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"