<div dir="ltr"><div class="gmail_extra"><div class="gmail_signature"><span style="font-size:12.8px">Oi Cesar,</span><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">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.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">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:</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><div><span class="im"><div>### Gerando a amostra baseando-se nos parâmetros iniciais</div><div>### Considerando um parâmetro q positivo.</div><div>q=1.5</div><div>eta=5</div><div>n=100</div></span><span class="im"><div>u<-runif(n)<span style="white-space:pre-wrap">       </span></div><div>y = eta*((1-(u)^((1-q)/(2-q)))/(1-q))</div><div>### Obtendo as estimativas dos parâmetros a partir da amostra gerada anteriormente</div><div>vero <- function(par,x){</div><div>q = par[1]</div><div>eta = par[2]</div><div>   saida<-((sum(log(1 - ((1 - q)*x*(1/eta)))))/(1 - q)) + ((n)*log(2 - q)) + (n*log(1/eta))</div><div>return(-saida)</div><div>}</div><div>saiday<-optim(par=c(1.8,4),fn=vero,  method= "Nelder-Mead",x=y  )</div><div>q_chap<-saiday[1]$par[1]</div><div>eta_chap<-saiday[1]$par[2]</div></span><span class="im">### Construindo os gráficos de log-verossimilhança</span><div>par.vals <- expand.grid(q=seq(1.1, 1.9, l = 25), eta=seq(2, 10, l = 25)) </div><div>dim(par.vals)</div><div>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]))}</div><div>par.vals$L <- apply(par.vals, 1, f, dados = y) </div><div><br></div><div>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)) </div><div>z<-as.matrix(par.vals)</div><div>z1 <- z[order(z[,3],decreasing=T),]</div><div>result<-c(z1[1,1],z1[1,2],z1[1,3])</div><div>###Valores máximos para o gráfico da função de log-verossimilhança:</div><div>result</div><div>###Estimativas de Máxima verossimilhança:</div><div>q_chap</div><div>eta_chap</div></div><div><br></div><div>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:<br></div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><span class="im"><div>### Gerando a amostra baseando-se nos parâmetros iniciais</div><div>### Considerando um parâmetro q positivo.</div></span><div>q=-1.5</div><div>eta=5</div><div>n=100</div><span class="im"><div>u<-runif(n)<span style="white-space:pre-wrap">  </span></div><div>y = eta*((1-(u)^((1-q)/(2-q)))/(1-q))</div><div>### Obtendo as estimativas dos parâmetros a partir da amostra gerada anteriormente</div><div>vero <- function(par,x){</div><div>q = par[1]</div><div>eta = par[2]</div><div>   saida<-((sum(log(1 - ((1 - q)*x*(1/eta)))))/(1 - q)) + ((n)*log(2 - q)) + (n*log(1/eta))</div><div>return(-saida)</div><div>}</div><div>saiday<-optim(par=c(1.8,4),fn=vero,  method= "Nelder-Mead",x=y  )</div><div>q_chap<-saiday[1]$par[1]</div><div>eta_chap<-saiday[1]$par[2]</div></span><span class="im">### Construindo os gráficos de log-verossimilhança</span><div>par.vals <- expand.grid(q=seq(-2, 0, l = 25), eta=seq(2, 10, l = 25)) </div><div>dim(par.vals)</div><div>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]))}</div><div>par.vals$L <- apply(par.vals, 1, f, dados = y) </div><div><br></div><div>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)) </div><div>z<-as.matrix(par.vals)</div><div>z1 <- z[order(z[,3],decreasing=T),]</div><div>result<-c(z1[1,1],z1[1,2],z1[1,3])</div><div>###Valores máximos para o gráfico da função de log-verossimilhança:</div><div>result</div><div>###Estimativas de Máxima verossimilhança:</div><div>q_chap</div><div>eta_chap</div></div></div>
</div></div>