[R-br] [Dúvida] Hessiana pela função optim

Pedro Rafael pedro.rafael.marinho em gmail.com
Quinta Agosto 4 18:39:32 BRT 2016


Caros,

sabemos que a matriz Hessiana multiplicada por -1 da função de
log-verossimilhança nos fornecem a matriz de informação observada que
converge assintoticamente para a matriz de informação esperada. A diagonal
principal da matriz inversa da informação esperada nos dá as variâncias os
estimadores de máxima verossimilhança.

Um fato importante para o o questionamento que vou fazer é que estou
fazendo uso da matriz de informação observada de modo a ter ao menos uma
aproximação da variância dos estimadores de máxima verossimilhança obtidos
numericamente pelo método BFGS.

O problema é que estou obtendo em alguns caros que a solve(-diag(hessiana))
negativa o que não era de se esperar. Vejam se possível o código.

# PDF
pdf_ekww <- function(par,x){
  a = par[1]
  b = par[2]
  c = par[3]
  alpha = par[4]
  beta = par[5]
  g = dweibull(x = x, shape = alpha, scale = beta, log = FALSE)
  G = pweibull(q = x, shape = alpha, scale = beta, lower.tail = TRUE, log.p
= FALSE)
  a * b * c * g * G^(a-1) * (1-G^a)^(b-1) * (1-(1-G^a)^b)^(c-1)
}

# Quantilica
sample_ekww <- function(n,par){
  a = par[1]
  b = par[2]
  c = par[3]
  alpha = par[4]
  beta = par[5]
  u = runif(n=n,min=0, max=1)
  qweibull(p = (1-(1-u^(1/c))^(1/b))^(1/a), shape = alpha, scale = beta,
lower.tail = TRUE, log.p = FALSE)
}
set.seed(1987)

vector_par_true = c(1,1,1,1,1)
data = sample_ekww(n = 1000, par = vector_par_true)

# Função de log-verossimilhança.
obj_ekww = function(par,x){
  sum(log(pdf_ekww(par,x)))
}

# Maximizando log-verossimilhança.
result = optim(fn = obj_ekww, par = c(0.5,1.4,1,1,1), method = "BFGS", x =
data, hessian = TRUE, control=list("fnscale"=-1))

diag(solve(-result$hessian))

Observem que o primeiro elemento do vetor logo acima é negativo o que não
deveria ser verdade. Notem também que houve convergência segundo o critério
de parada da função optim, em que convergence é igual a zero. O que para
vocês podem estar provocando esse problema? A função objetivo é complicada
a ponto de provocar problemas na convergência do algoritmo vindo por sua
vez acarretar esse tipo de problema?

Digo isso porque essas novas classes de distribuições de probabilidade por
apresentar diversos parâmetros produzem log-verossimilhanças muito
complicadas incluindo problemas de regiões aproximadamente planas bem como
problemas piores como log-verossimilhanças monótonas.

Obrigado desde já,
Pedro Rafael.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160804/f76ae573/attachment.html>


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