<div dir="ltr">Como o Benilton e o Wagner pontuaram, problemas de otimização são por default de minimização e vc quer maximizar a sua função de verossimilhança.<div> Quando vc chama a função optim vc está minimizando, e como não existe mínimo vc está tendo problemas. Basta trocar o parâmetro da função optim.</div>
<div><br></div><div>Abs</div><div><br></div><div>Vinicius</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Em 26 de abril de 2014 07:31, Wagner Bonat <span dir="ltr"><<a href="mailto:wbonat@gmail.com" target="_blank">wbonat@gmail.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Vc precisa escrever o negativo da log-verossimilhança. Veja abaixo.<br><br></div><div>Quanto aos warnings talvez os parametros tenham alguma restrição vc pode usar o L-BFGS-B ou reparametrizar o modelo para evitar isso.<br>
</div><div><div class=""><br>n<-10000<br>u<-runif(n)<br>z<-1.8<br>beta<- 1.2<br>dados1 = (1/(beta*(z-2)))*((u^((1-z)/(2-z))-1)/((1-z)/(2-z)))<br><br>## Definindo a função de verossimilhança<br><br>vero <- function(par,x){<br>
q = par[1]<br> lambda = par[2]<br></div> saida <- ((sum(log(1 - ((1 - q)*x*lambda))))/(1 - q)) + ((n)*log(2 - q)) + (n*log(lambda))<br></div>return(saida)<br><div>}<br><br><br>optim(par=c(1.8,4),fn=vero,<br> method="BFGS",x=dados1)<br>
$par<br>[1] 1.7828974 0.8629283<br><br>$value<br>[1] 628.0947<br><br>$counts<br>function gradient <br> 44 11 <br><div class=""><br>$convergence<br>[1] 0<br><br>$message<br>NULL<br><br></div>There were 11 warnings (use warnings() to see them)<br>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Em 26 de abril de 2014 01:33, Romero Luiz M. Sales Filho <span dir="ltr"><<a href="mailto:romero.sfilho@gmail.com" target="_blank">romero.sfilho@gmail.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Caros amigos,</span><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">estou precisando encontrar os estimadores para os parâmetros da dist. q-ponencial, cuja pdf é dada da seguinte forma:</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px"><img alt="{ (2-q) \lambda e_q^{-\lambda x}} " src="http://upload.wikimedia.org/math/f/b/4/fb4fce3dd1ef44ad714b9d202c31bd8c.png" style="border:none;vertical-align:middle;display:inline;color:rgb(37,37,37);font-family:sans-serif;font-size:14px;line-height:21px"><br>
</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">onde, </div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
<img alt="e_q(x) = [1+(1-q)x]^{1 \over 1-q}" src="http://upload.wikimedia.org/math/d/8/7/d8708c16e1cf6c2a79fd3d0e7b7464c8.png" style="border:none;vertical-align:middle;display:inline;color:rgb(37,37,37);font-family:sans-serif;font-size:14px;line-height:21px">.<br>
</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Estou tendo problemas pois utilizando o pacote Optim do R, não ocorre convergência em alguns métodos, na verdade só há convergência usando o método SANN, e mesmo assim as estimativas estão muito diferentes dos parâmetros que foram utilizados para gerar uma amostra aleatória da dist. q-exp.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">O código utilizado no R é o seguinte:</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">## Gerando Valores de uma q-exponencial</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
<div>n<-10000</div><div>u<-runif(n)</div><div>z<-1.8</div><div>beta<- 1.2</div><div>dados1 = (1/(beta*(z-2)))*((u^((1-z)/(2-z))-1)/((1-z)/(2-z)))</div><div><br></div><div>## Definindo a função de verossimilhança</div>
<div><br></div><div>vero <- function(par,x){</div><div> q = par[1]</div><div> lambda = par[2]</div><div> ((sum(log(1 - ((1 - q)*x*lambda))))/(1 - q)) + ((n)*log(2 - q)) + (n*log(lambda))</div><div>}</div><div><br></div>
<div>## Otimizando os parâmetros - o método SANN sempre converge.</div><div><br></div><div>optim(par=c(1.8,4),fn=vero,<br></div><div> method="SANN",x=dados1</div><div> )</div></div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">E a saída é a seguinte:</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
<div>
$par</div><div>[1] 1.000014 3.807168</div><div><br></div><div>$value</div><div>[1] -284366598</div><div><br></div><div>$counts</div><div>function gradient </div><div> 10000 NA </div><div><br></div><div>$convergence</div>
<div>[1] 0</div><div><br></div><div>$message</div><div>NULL</div><div><br></div><div>Houve 50 ou mais avisos (use warnings() para ver os primeiros 50)</div></div><div style="font-family:arial,sans-serif;font-size:13px"><br>
</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Alguém pode me ajudar nessa questão, uma vez que as estimativas dos parâmetros estão muito diferentes dos parâmetros originais?</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Obrigado!</div><span><font color="#888888"><div><br></div><div>Romero.</div>
</font></span></div>
<br></div></div><div class="">_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></div></blockquote></div><span class="HOEnZb"><font color="#888888"><br>
<br clear="all"><br>-- <br>Wagner Hugo Bonat<br>
LEG - Laboratório de Estatística e Geoinformação<br>UFPR - Universidade Federal do Paraná
</font></span></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>
<div dir="ltr"><i>Vinicius Brito Rocha.</i><br><i style="font-weight:bold">Estatístico e Atuário </i><i style="font-weight:bold"><br>M.Sc. Engenharia de Produção/PO</i><br><br><br></div>
</div>