Faz sentido calcular HPD de uma distribuição, não de um grid de valores como vc fez. A função HPDinterval() aplica-se especificamente a amostras de uma distribuição. Você aplicou-a a uma sequencia de valores para os quais foi avaliada uma densidade. Ou seja, exatamente o mesmo que fazer:
   HPDinterval(as.mcmc(seq(-1, 1, length=512)))

On 21/05/13 14:04, Flavia Cristina M.Queiroz wrote:
Olá pessoal, 
Estou precisando de uma ajuda com o cálculo de intervalo de credibilidade:

Tenho um conjunto de dados (valores preditos) com os quais tenho que calcular o intervalo de credibilidade de predição.
Estes valores preditos foram calculados em uma implementação de redes neurais.

Daí eu calculei o HPD usando a função HPDinterval(), do pacote coda.
Fiz assim:
despad <- read.table('vintemaio_pad.txt',h=F)
dados <- as.matrix(despad)
a=density(dados,bw=0.45,from = -1, to = 1)
library(coda)
arq<-as.mcmc(a$x) 
mcmcsamp(a$x)
HPD<-HPDinterval(arq)
HPD
Contudo, meu intervalo é muito amplo.. tipo, meus dados vão de -1 a 1 e meu HPD deu [-0.9882583, 0.9138943].
Porque meu intervalo deu tão amplo?? O que teria que fazer de diferente??
-------------------------------------------------------------------------------
Aguardo alguma dica ou solução!!
Att.,
Flávia Cristina