Oi Cesar,

esse é o princípio da máxima verossimilhança... maximizando a função de log-verossimilhança (que é mais simples que a verossimilhança) o valor máximo é a estimativa do parâmetro estudado. Como estou simulando dados, ou seja, tenho uma amostra controlada, gerada computacionalmente e que sei a priori qual o valor do parâmetro que foi utilizado para gerar essa amostra, então espero que essa estimativa de máxima verossimilhança seja bastante próximas do valor do parâmetro. Na medida que o tamanho da amostra aumenta, é esperado que essa estimativa torne-se cada vez mais próxima desse valor do parâmetro devido a propriedade de consistência do estimador de máxima verossimilhança.

Eu percebi que o código que eu estava utilizando estava incorreto... fiz algumas correções e os resultados melhoraram significativamente. A seguir o código correto:


### Gerando a amostra baseando-se nos parâmetros iniciais
### Considerando um parâmetro q positivo.
q=1.5
eta=5
n=100
u<-runif(n)
y = eta*((1-(u)^((1-q)/(2-q)))/(1-q))
### Obtendo as estimativas dos parâmetros a partir da amostra gerada anteriormente
vero <- function(par,x){
q = par[1]
eta = par[2]
   saida<-((sum(log(1 - ((1 - q)*x*(1/eta)))))/(1 - q)) + ((n)*log(2 - q)) + (n*log(1/eta))
return(-saida)
}
saiday<-optim(par=c(1.8,4),fn=vero,  method= "Nelder-Mead",x=y  )
q_chap<-saiday[1]$par[1]
eta_chap<-saiday[1]$par[2]
### Construindo os gráficos de log-verossimilhança
par.vals <- expand.grid(q=seq(1.1, 1.9, l = 25), eta=seq(2, 10, l = 25)) 
dim(par.vals)
f <- function(pars,dados) { ((sum(log(1 - ((1 - pars[1])*dados*(1/pars[2])))))/(1 - pars[1])) + (n*log(2 - pars[1])) + (n*log(1/pars[2]))}
par.vals$L <- apply(par.vals, 1, f, dados = y) 

with(par.vals, persp(unique(q), unique(eta), matrix(L, ncol = length(unique(eta))), xlab = expression(q), ylab = expression(eta), zlab = expression(l(q, eta)), theta= 30, phi = 30)) 
z<-as.matrix(par.vals)
z1 <- z[order(z[,3],decreasing=T),]
result<-c(z1[1,1],z1[1,2],z1[1,3])
###Valores máximos para o gráfico da função de log-verossimilhança:
result
###Estimativas de Máxima verossimilhança:
q_chap
eta_chap

Apesar disso, o caso em que o q é negativo ainda não me da bons resultados ... alguém sabe o que pode está acontecendo, segue o código de um exemplo com o q negativo:



### Gerando a amostra baseando-se nos parâmetros iniciais
### Considerando um parâmetro q positivo.
q=-1.5
eta=5
n=100
u<-runif(n)
y = eta*((1-(u)^((1-q)/(2-q)))/(1-q))
### Obtendo as estimativas dos parâmetros a partir da amostra gerada anteriormente
vero <- function(par,x){
q = par[1]
eta = par[2]
   saida<-((sum(log(1 - ((1 - q)*x*(1/eta)))))/(1 - q)) + ((n)*log(2 - q)) + (n*log(1/eta))
return(-saida)
}
saiday<-optim(par=c(1.8,4),fn=vero,  method= "Nelder-Mead",x=y  )
q_chap<-saiday[1]$par[1]
eta_chap<-saiday[1]$par[2]
### Construindo os gráficos de log-verossimilhança
par.vals <- expand.grid(q=seq(-2, 0, l = 25), eta=seq(2, 10, l = 25)) 
dim(par.vals)
f <- function(pars,dados) { ((sum(log(1 - ((1 - pars[1])*dados*(1/pars[2])))))/(1 - pars[1])) + (n*log(2 - pars[1])) + (n*log(1/pars[2]))}
par.vals$L <- apply(par.vals, 1, f, dados = y) 

with(par.vals, persp(unique(q), unique(eta), matrix(L, ncol = length(unique(eta))), xlab = expression(q), ylab = expression(eta), zlab = expression(l(q, eta)), theta= 30, phi = 30)) 
z<-as.matrix(par.vals)
z1 <- z[order(z[,3],decreasing=T),]
result<-c(z1[1,1],z1[1,2],z1[1,3])
###Valores máximos para o gráfico da função de log-verossimilhança:
result
###Estimativas de Máxima verossimilhança:
q_chap
eta_chap