• Nenhum resultado encontrado

Algoritmos Computacionais Bayesianos

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