[R-br] Comportamento da Log-Verossimilhança - Dist. q-Exponencial

Cesar Rabak cesar.rabak em gmail.com
Domingo Março 13 22:39:51 BRT 2016


Romero,

O princípio não seria "Com base numa amostra causal retirada de uma
população, as estimativas dos parâmetros da função de distribuição da
população são aqueles valores dos parâmetros que tornam máxima a
probabilidade da *amostra* observada."? (grifo meu).

Como a estimativa é baseada em uma amostragem, por óbvio ela é afetada de
um erro que geralmente controla-se via um IC.

Por outro lado como você começa de uma "amostra controlada" ou seja você
acredita que já sabe o(s) parâmetro(s) da distribuição de onde amostra,
então você tem dizer qual é  sua métrica para dizer se o parâmetro estimado
por  log-verossimilhança está "próximo" ou "afastado"?



2016-03-11 13:31 GMT-03:00 Romero Luiz M. Sales Filho <
romero.sfilho em gmail.com>:

> 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
>
> _______________________________________________
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160313/f2485cac/attachment.html>


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