[R-br] Estimador de Máxima verossimilhança para parâmetros da dist. q-exponencial

Vinicius Brito Rocha viniciusbritor em gmail.com
Sábado Abril 26 12:02:29 BRT 2014


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.
 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.

Abs

Vinicius


Em 26 de abril de 2014 07:31, Wagner Bonat <wbonat em gmail.com> escreveu:

> Vc precisa escrever o negativo da log-verossimilhança. Veja abaixo.
>
> Quanto aos warnings talvez os parametros tenham alguma restrição vc pode
> usar o L-BFGS-B ou reparametrizar o modelo para evitar isso.
>
> n<-10000
> u<-runif(n)
> z<-1.8
> beta<- 1.2
> dados1 = (1/(beta*(z-2)))*((u^((1-z)/(2-z))-1)/((1-z)/(2-z)))
>
> ## Definindo a função de verossimilhança
>
> vero <- function(par,x){
>   q = par[1]
>   lambda = par[2]
>   saida <- ((sum(log(1 - ((1 - q)*x*lambda))))/(1 - q)) + ((n)*log(2 - q))
> + (n*log(lambda))
> return(saida)
> }
>
>
> optim(par=c(1.8,4),fn=vero,
>       method="BFGS",x=dados1)
> $par
> [1] 1.7828974 0.8629283
>
> $value
> [1] 628.0947
>
> $counts
> function gradient
>       44       11
>
> $convergence
> [1] 0
>
> $message
> NULL
>
> There were 11 warnings (use warnings() to see them)
>
>
> Em 26 de abril de 2014 01:33, Romero Luiz M. Sales Filho <
> romero.sfilho em gmail.com> escreveu:
>
>> Caros amigos,
>>
>> estou precisando encontrar os estimadores para os parâmetros da dist.
>> q-ponencial, cuja pdf é dada da seguinte forma:
>>
>> [image: { (2-q) \lambda e_q^{-\lambda x}}]
>>
>> onde,
>>
>> [image: e_q(x) = [1+(1-q)x]^{1 \over 1-q}].
>>
>> 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.
>>
>> O código utilizado no R é o seguinte:
>>
>> ## Gerando Valores de uma q-exponencial
>>
>> n<-10000
>> u<-runif(n)
>> z<-1.8
>> beta<- 1.2
>> dados1 = (1/(beta*(z-2)))*((u^((1-z)/(2-z))-1)/((1-z)/(2-z)))
>>
>> ## Definindo a função de verossimilhança
>>
>> vero <- function(par,x){
>>   q = par[1]
>>   lambda = par[2]
>>   ((sum(log(1 - ((1 - q)*x*lambda))))/(1 - q)) + ((n)*log(2 - q)) +
>> (n*log(lambda))
>> }
>>
>> ## Otimizando os parâmetros - o método SANN sempre converge.
>>
>> optim(par=c(1.8,4),fn=vero,
>>       method="SANN",x=dados1
>>       )
>>
>> E a saída é a seguinte:
>>
>>  $par
>> [1] 1.000014 3.807168
>>
>> $value
>> [1] -284366598
>>
>> $counts
>> function gradient
>>    10000       NA
>>
>> $convergence
>> [1] 0
>>
>> $message
>> NULL
>>
>> Houve 50 ou mais avisos (use warnings() para ver os primeiros 50)
>>
>>
>> Alguém pode me ajudar nessa questão, uma vez que as estimativas dos
>> parâmetros estão muito diferentes dos parâmetros originais?
>>
>> Obrigado!
>>
>> Romero.
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>>
>
>
>
> --
> Wagner Hugo Bonat
> LEG - Laboratório de Estatística e Geoinformação
> UFPR - Universidade Federal do Paraná
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>



-- 
*Vinicius Brito Rocha.*
*Estatístico e Atuário *
*M.Sc. Engenharia de Produção/PO*
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140426/4d298321/attachment.html>


Mais detalhes sobre a lista de discussão R-br