
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