O software mais popular em inferência Bayesiana surgiu de um projeto chamado BUGS (Bayesian
inference Using Gibbs Sampling ) de 1989. Este projeto culminou no software livre WinBUGS na
versão para o sistema operacional Windows (ver Lunn et al., 2000) e OpenBUGS para os demais sistemas operacionais (ver Lunn et al, 2009).
Outras opções de softwares para o uso da inferência Bayesiana foram desenvolvidas na sequência, como por exemplo: bibliotecas do ambiente computacional R (ver R Core Team, 2015) e o programa
JAGS (Just another Gibbs sampler ) (ver Plummer, 2003).
As aplicações dos modelos propostos neste capítulo bem como os procedimentos de inferência e simulações terão seus resultados obtidos a partir do software OpenBUGS com conexão com o ambiente computacional R através da biblioteca R2OpenBUGS (ver Sturtz et al., 2005) com base no método de Monte Carlo via Cadeias de Markov (MCMC). A interface utilizada dentro do OpenBUGS foi o GeoBUGS (ver Thomas et al., 2014) sistema especializado para modelagem de dados espaciais. A distribuição CAR para o modelo intrínseco (CAR) está disponível no GeoBUGS, entretanto, a distribuição do modelo de Cressie (PCAR) não está disponível e foi implementada nesta linguagem. Na maioria dos casos, a distribuição a posteriori do vetor de parâmetros do modelo não pode ser obtida por meio de um método analítico devido à sua complexidade. Nessas situações, é necessário utilizar métodos numéricos que, graças à evolução computacional do último século, se tornaram facilmente disponíveis, implementáveis, e de obtenção de resultados em um período de tempo rela- tivamente curto.
Os métodos de MCMC são uma alternativa aos métodos não iterativos em problemas complexos (nos métodos não iterativos, os valores são gerados de forma independente e não há preocupação com a convergência do algoritmo, bastando que o tamanho da amostra seja suficientemente grande). A ideia é obter uma amostra da distribuição a posteriori e calcular estimativas amostrais de características de interesse desta distribuição. A diferença é que, neste caso, são usadas técnicas de simulação iterativa, baseadas em cadeias de Markov, implicando em que os valores gerados sejam dependentes, diferente do que acontece nos métodos não iterativos.
O termo simulação refere-se ao tratamento de problemas reais a partir de reproduções em ambi- entes controlados pelo pesquisador, sendo que, muitas vezes, esses ambientes são os equipamentos computacionais. Alguns problemas apresentam componentes aleatórios, os quais não podem ser descritos de forma exata e são baseados em informações probabilísticas. O processo de simulação é estocástico, ou seja, baseado em distribuições de probabilidades.
Apresentamos, a seguir, uma breve descrição de dois dos métodos de simulação que utilizam cadeias de Markov: o algoritmo Metropolis-Hastings e o algoritmo amostrador de Gibbs (Gibbs
Sampler ). Este último está implementado no software OpenBUGS, utilizado neste trabalho.
Os algoritmos Amostrador de Gibbs (ver Gamerman, 1996) e Metropolis-Hastings (ver Hastings, 1970) utilizam-se da seguinte terminologia:
(i) Aquecimento: o período de aquecimento ou burn-in corresponde a simular a cadeia por um
número de iterações pré-determinado antes que os parâmetros amostrados sejam usados na distribuição a posteriori ;
(ii) Salto: o salto ou thinning interval de tamanhol corresponde a se descartar as l − 1primeiras observações da cadeia gerada e usar somente a l-ésima observação e se repetir este processo até que se consiga o comprimento de cadeia estipulado. O intuito aqui é reduzir a correlação ou
relação de dependência que possa a vir a existir entre os valores obtidos na cadeia de Markov durante o processo de rejeição/aceitação do algoritmo Metropolis-Hastings.
(iii) Comprimento da Cadeia: o comprimento da cadeia ou chain length, denotado porS, corres- ponde ao quão grande deve ser a cadeia para que o processo de rejeição/aceitação do algoritmo Metropolis-Hastings possa aproximar, de forma razoável, a distribuição a posteriori.
O método de Monte Carlo via Cadeia de Markov (MCMC) busca simular um passeio aleatório no espaço do parâmetroθθθ = (θ1, · · · , θp)
0, o qual converge para uma distribuição estacionária que, em
estatística Bayesiana, é a distribuição a posteriori, ondepindica o número de parâmetros do modelo. À medida que o número de iterações aumenta, a sequência atinge a característica de estaciona- riedade com um comportamento assintótico.
Assim, segundo Nogueira et al. (2004), a convergência é atingida em uma iteração cuja distri- buição esteja arbitrariamente próxima da distribuição de equilíbrio, ou seja, a distribuição marginal desejada, e não no sentido formal e inatingível do número de iterações tendendo para o infinito.
2.5.1 Metropolis-Hastings
Os algoritmos de Metropolis-Hastings usam a ideia de rejeição ou aceitação, ou seja, um valor é gerado a partir de uma distribuição auxiliar e aceito com uma dada probabilidade. Este mecanismo de correção garante a convergência da cadeia para a distribuição de equilíbrio que, neste caso, é a distribuição a posteriori.
Sejaθθθ = (θ1, · · · , θp)0 o vetor (ou coleção) de parâmetros desconhecidos a serem estimados no
modelo. O intuito é simular um passeio aleatório no espaço deθθθ que converge para uma distribuição estacionária, que neste caso é a distribuição de interesse.
Seguindo este princípio, os algoritmos de Metropolis-Hastings (ver Metropolis et al., 1953 e Hastings, 1970) utilizam uma distribuição auxiliar para a geração de uma cadeia de pontos, que são aceitos ou rejeitados com uma determinada probabilidade. Isso garante que a cadeia convirja para uma distribuição de equilíbrio, que neste caso é a distribuição a posteriori deθθθ, sobre a qual se tem interesse.
O algoritmo Metropolis-Hastings é apresentado no Algoritmo 2.2. Este algoritmo pode ser resumido de forma que a partir de uma função de densidade de probabilidade proposta (proposal
density ou jumping distribution), q(·|θθθ(s)), um novo valorθθθ(∗) é gerado, conforme Chib e Greenberg
(1995).
Suponha que a cadeia esteja no estadoθθθ(s), coms ∈ {1, · · · , S}e que um novo valorθθθ(∗) é gerado
a partir dela. Este novo valor é aceito com probabilidade
α(θθθ(s), θθθ(∗)) = min 1,f (θθθ (∗))q(θθθ(s)|θθθ(∗)) f (θθθ(s))q(θθθ(∗)|θθθ(s)) , (2.47)
onde f (θθθ) denota a densidade de probabilidade a posteriori deθθθ e q(·|·) é a função de densidade de probabilidade proposta.
de probabilidade normal truncada dada por f (x; µ, σ, a, b) = σ−1φ x−µ σ Φ b−µ σ − Φ a−µ σ , sea ≤ x ≤ b 0, caso contrário,
ondeφ(·)eΦ(·)são, respectivamente, a função de densidade de probabilidade e a função de distribui- ção acumulada para a distribuição normal-padrão, a, b ∈ Rsão, respectivamente, os limites inferior e superior da distribuição suporte; µ e σ denotam, respectivamente, a média e o desvio-padrão da distribuição normal não-truncada.
Algoritmo 2.2. (Algoritmo Metropolis-Hastings). Sejamθθθ = (θ1, · · · , θp)0 o vetor de parâmetros
desconhecidos, q(·|θθθ(s))uma distribuição de probabilidade proposta,s ∈ {0, · · · , S} o estado atual da
cadeia, S o comprimento da cadeia eθθθ(∗) um novo valor gerado. Para se obter a cadeia de Markov,
seguem-se as seguintes etapas:
(i) Escolha um núcleo de transiçãoq(·|·) conhecido para o processo.
(ii) Seja um valor inicial arbitrário para o vetor de parâmetros em análise θ, isto é, θ(0) =
(θ(0)1 , · · · , θ (0)
p )
0. Seja s = 0 e siga ao Passo (iii).
(iii) Gerarθθθ(∗) a partir de q(·|θθθ(s)).
(iv) Calcularα(θθθ(s), θθθ(∗)) = min
1,f (θθθ (∗))q(θθθ(s)|θθθ(∗)) f (θθθ(s))q(θθθ(∗)|θθθ(s)) . (v) Obter u ∼ U ([0, 1]). (vi) Definaθθθ(s+1)= ( θθθ(∗), seu < α(θθθ(s+1), θθθ(∗)) θ θ θ(s), caso contrário.
(vii) Enquantos + 1 < S, faças = s + 1e retorne ao Passo (iii).
O Algoritmo2.2deve ser executado até a convergência da cadeia. Feito isso, a cadeia resultante, isto é, os pontos gerados, podem ser considerados como uma amostra da distribuição a posteriori em estudo.
Observação 2.12. No item [(iv) do Algoritmo 2.2, definimos q(·|θθθ(∗)) como q(θθθ(∗)|θθθ(s)) = f (θθθ(∗); θθθ(s), σ, a, b),∀θθθ(∗)∈ R e, analogamente,q(θθθ(s)|θθθ(∗)) = f (θθθ(s); θθθ(∗), σ, a, b),∀θθθ(s)∈ R.
Para maiores detalhes a respeito do algoritmo Metropolis-Hastings recomenda-se ?, Ntzoufras
(2009),Gelman et al. (2004),Hastings (1970) e Metropolis et al.(1953).
2.5.2 Amostrador de Gibbs
O algoritmo amostrador de Gibbs é essencialmente um esquema iterativo de amostragem de uma cadeia de Markov cujo núcleo de transição é formado pelas distribuições condicionais completas. É uma técnica utilizada para gerar variáveis aleatórias de uma distribuição marginal sem que se conheça a sua função densidade explícita.
Este algoritmo é um caso especial do algoritmo Metropolis-Hastings, mas com duas particulari- dades:
(i) todos os pontos gerados pelo algoritmo são aceitos não havendo a etapa de rejeição;
(ii) os pontos são gerados a partir das distribuições condicionais completas f (θk|θθθ−k), ondeθθθ−k=
(θ1, · · · , θk−1, θk+1, · · · , θp)
0. A função distribuição condicional completa pode ser obtida a partir
da distribuição conjunta, fazendo
f (θk|θθθ−k) =
f (θθθ)
R f (θθθ)dθk
,
onde f (θθθ) é a função densidade de probabilidade a posteriori deθθθ e k ∈ {1, · · · , p}.
Sabe-se que, na maioria das situações, gerar uma amostra diretamente da função densidade de probabilidade a posteriori,f (θθθ), pode ser difícil ou mesmo impossível. Felizmente, se as distribuições condicionais completas são conhecidas, então pode-se utilizar o Algoritmo2.3, dado a seguir.
Algoritmo 2.3. (Algoritmo Amostrador de Gibbs). Sejamθθθ = (θ1, · · · , θp)0o vetor de parâmetros
desconhecidos,s ∈ {0, · · · , S} o estado atual da cadeia eS o comprimento da cadeia. Para se obter a cadeia de Markov, seguem-se as seguintes etapas:
(i) Seja um valor inicial arbitrário para o vetor de parâmetros em análiseθ, isto é,
θ(0)= (θ(0)1 , · · · , θ (0)
p )
0. Seja s = 0 e siga ao Passo (ii).
(ii) Dada a amostra θ(s)= (θ(s)
1 , · · · , θp(s))
0,
– gerar θ1(s+1) a partir def θ1|y, θ (s) 2 , θ (s) 3 , · · · , θ (s) p ; – gerar θ2(s+1) a partir def θ2|y, θ
(s+1) 1 , θ (s) 3 , · · · , θ (s) p ; – ... – gerar θ(s+1) p a partir def θp|y, θ (s+1) 1 , · · · θ (s+1) p−1 ; (iii) Quando o vetor θ(s+1)= (θ(s+1)1 , · · · , θ
(s+1)
p )
0 é obtido, retornar ao Passo(ii), fazendos = s + 1,
até que s = S.
Gamerman (1996) comenta que apesar dos resultados teóricos garantirem a convergência do algoritmo Amostrador de Gibbs, sua utilização na prática pode ser bastante complicada quando se têm modelos muito complexos.
Para maiores detalhes a respeito do algoritmo Amostrador de Gibbs recomenda-se Ntzoufras
(2009),Gelman et al.(2004) e Gamerman(1996).