Eu quero gerar pontos de amostra em uma forma 2D arbitrária, por exemplo, um círculo centrado na origem com raio 1. A amostra de rejeição diz:
- Olhada 2 variáveis aleatórias mais uniformes , e .
- Amostra e , você obtém e , digamos.
- Teste se :
- se sim, .
- se não, faça uma amostra de e até que a condição seja satisfeita.
Por que isso funciona, ou seja, por que isso simula a amostragem de uma variável aleatória que é distribuída uniformemente por um disco?
uniform
rejection-sampling
ToniAz
fonte
fonte
Respostas:
Em geral, para obter amostras de uma distribuição com densidade no suporte , se estiver usando uma distribuição de proposta com densidade , precisamos encontrar modo quef(x,y) S h(x,y) M
para que possamos aceitar um valor proposto com probabilidade
Aceitar com é equivalente a desenhar e aceitar se .α U∼U[0,1] U<α
Suponho que você entenda essa premissa geral de amostragem por rejeição. Portanto, neste exemplo de desenho de amostras do círculo usando uma proposta quadrada uniforme,
Primeiro, vamos encontrar . Em apoio de ,M f
Portanto, qualquer valor proposto a partir do quadrado será esperado com probabilidadef(x,y)Mh(x,y)=I(x2+y2≤1)/πM/4=I(x2+y2≤1).
Portanto, para qualquer valor proposto no suporte de , sempre será menor que , portanto, sempre aceitaremos. Portanto, não há necessidade de amostrar a partir de um e, sempre que o ponto amostrado estiver dentro do círculo, podemos aceitá-lo imediatamente.f U∼U[0,1] 1 U
fonte
Em primeiro lugar você precisa de seus e distribuídos entre e ( dá-lhe um quarto de um círculo desde que você está olhando apenas para e ).x y −1 1 [0,1] y≥0 x≥0
Então você percebe que tem duas listas de variáveis distribuídas aleatoriamente ao longo dos eixos e - duas linhas com uma distribuição aleatória de pontos. Combine isso e você terá um quadrado de pontos distribuídos aleatoriamente.X Y
Você então rejeita os bits do quadrado que não estão dentro de um círculo centralizado em - daí - e todos os pontos que satisfazem essa desigualdade estarão no disco e, como os pontos na praça foram distribuídos uniformemente, também os pontos no disco.(0,0) x2+y2≤1
fonte
Você escolheu qualquer ponto em [0,1] x [0,1] com igual probabilidade. Então você removeu todos aqueles que estão fora do círculo.
Isso não altera a probabilidade de ser selecionado para cada ponto individual dentro do círculo (ou seja: qualquer ponto dentro do círculo ainda tem a mesma probabilidade de ser escolhido como qualquer outro)
fonte