A amostragem por rejeição é uma técnica útil para gerar variáveis aleatórias a partir de uma distribuição de probabilidade complexa, utilizando uma distribuição proposta mais simples. A ideia básica é simular de uma distribuição discreta fácil de amostrar e, em seguida, rejeitar ou aceitar essas amostras com base na distribuição alvo.
7.1 Algoritmo
O método assume que conhecemos uma distribuição \(q_j\), fácil de simular, que cubra o suporte da distribuição alvo \(p_j\). Essa distribuição é chamada de distribuição proposta. Além disso, ele assume que existe uma constante \(c\) tal que \(\frac{p_j}{q_j} \leq c\) para todo \(j\) tal que \(p_j > 0\), e que conseguimos calcular \(c\).
O método de aceitação e rejeição segue os seguintes passos:
Gere um valor \(Y\) da distribuição proposta \(q_j\).
Gere um valor \(U \sim \text{Uniform}(0, 1)\).
Aceite \(Y\) como uma amostra de \(p_j\) se \(U \leq \frac{p(Y)}{c \cdot q(Y)}\), caso contrário, rejeite \(Y\) e repita o processo.
7.2 Exemplo
Vamos demonstrar a amostragem por rejeição gerando amostras de uma distribuição alvo discreta \(p_j\), utilizando uma distribuição uniforme discreta como distribuição proposta.
Suponha que \(Y\) siga uma distribuição uniforme discreta em \(\{1, 2, \dots, 10\}\), ou seja, \(q_j = 1/10\) para todos os valores \(j\). A distribuição alvo \(p_j\) tem os seguintes valores:
\(j\)
1
2
3
4
5
6
7
8
9
10
\(p_j\)
0.11
0.12
0.09
0.08
0.12
0.10
0.09
0.09
0.10
0.10
Para aplicar o método de aceitação e rejeição, precisamos de uma constante \(c\) tal que \(\frac{p_j}{q_j} \leq c\) para todo \(j\). Neste caso, temos \(c = 1.2\).
A cada passo a probabilidade de aceitar um valor é \(\frac{1}{c}\), então o número de passos necessários para aceitar um valor tem dist. geométrica com média c.
Além disso, temos
\[
P(X = j) = \sum_{n=1}^{\infty} P(Y = j \text{ e aceitar pela 1a vez no passo n}) = \sum_{n=1}^{\infty} \left(1 - \frac{1}{c}\right)^{n-1} \frac{p_j}{c} = p_j
\]
7.3 Exercício
Exercício 1..
Implemente o método de aceitação e rejeição para gerar uma amostra da variável aleatória \(X\) com a distribuição de probabilidades alvo \(p_j\) dada anteriormente:
\(j\)
1
2
3
4
5
6
7
8
9
10
\(p_j\)
0.11
0.12
0.09
0.08
0.12
0.10
0.09
0.09
0.10
0.10
Use a distribuição uniforme discreta em \(\{1, 2, \dots, 10\}\) como a distribuição proposta \(q_j\), em que \(q_j = 1/10\) para todos os valores de \(j\).