scripts/fusion_examples.R

######################################## examples ########################################

# setting variables
w_ex <- c(0.35, 0.65)
m_ex <- c(-3, 5)
s_ex <- c(1, 1.5)
b_ex <- 1/2

# sampling from tempered density
nsamples <- 500000
base <- hmc_base_sampler(w_ex, m_ex, s_ex, b_ex, nsamples, 2)

# check the base samples look okay
curve(dnorm_mix_tempered(x, w_ex, m_ex, s_ex, b_ex), -12.5, 15)
for (samples in base) {
  lines(density(samples), col = 'blue')
}

# normal fusion
test_standard <- fusion_diff_mixG(N = 10000, time = 1, m = 2, samples_to_fuse = base,
                                  weights = w_ex, means = m_ex, sds = s_ex, betas = rep(1/2, 2),
                                  acceptance_rate = T, timed = T)
# time-adapting fusion
test_TA <- fusion_TA_mixG(N = 10000, time = 1, m = 2, samples_to_fuse = base,
                          weights = w_ex, means = m_ex, sds = s_ex, betas = rep(1/2, 2),
                          acceptance_rate = T, timed = T)

curve(dnorm_mix(x, w_ex, m_ex, s_ex), -11, 12)
lines(density(test_standard$samples))
lines(density(test_TA$samples))
rchan26/mixGaussTempering documentation built on June 14, 2019, 3:26 p.m.