Skip to contents

Gera amostras de uma densidade alvo f usando uma densidade proposta g (da qual se sabe amostrar) e uma constante M tal que f(x) <= M g(x).

Usage

rnp_simula_aceitacao_rejeicao(
  f,
  gerador,
  densidade_g,
  M,
  n = 1000L,
  seed = 42L
)

Arguments

f

Densidade alvo (funcao vetorizada).

gerador

Funcao que recebe n e devolve n amostras de g.

densidade_g

Densidade da proposta g (funcao vetorizada).

M

Constante de cobertura (M >= sup f/g).

n

Inteiro. Numero de amostras desejadas.

seed

Inteiro. Semente.

Value

Uma lista com amostra (vetor) e taxa_aceitacao (escalar).

Examples

# Alvo: Beta(2,2) usando proposta Uniforme(0,1), M = 1.5
set.seed(1)
rnp_simula_aceitacao_rejeicao(
  f = function(x) dbeta(x, 2, 2),
  gerador = function(n) runif(n),
  densidade_g = function(x) dunif(x),
  M = 1.5, n = 500)$taxa_aceitacao
#> [1] 0.5