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