Je suis en train d'obtenir une distribution postérieure à l'aide MCMCpack
d'une différence entre les deux taux de conversion, semblable à la A et B Ensemble section this PyMC tutorial.Comment obtenir un postérieur d'une différence en utilisant MCMCpack?
je peux obtenir les dents postérieures des deux taux échantillonnés très bien, mais je me bats comment mettre en œuvre le delta échantillonné .. Des idées?
Modifier Le vrai delta (qui aurait été inconnu si nous n'avions pas fabriqué les données et est ce que nous voulons estimer en utilisant MCCM) est la différence entre les deux taux true_p_a
et true_p_b
dire 0,01.
# define true success rates
true_p_a = 0.05
true_p_b = 0.04
# set sample sizes
n_samples_a = 1000
n_samples_b = 1000
# fabricate some data
set.seed(10);
obs_a = rbinom(n=n_samples_a, size=1, prob=true_p_a)
set.seed(1);
obs_b = rbinom(n=n_samples_b, size=1, prob=true_p_b)
# what are the observed conversion rates?
mean(obs_a) #0.056
mean(obs_b) #0.042
# convert to number of successes
successes_a = sum(obs_a) #56
successes_b = sum(obs_b) #42
# calculate the posterior
require(MCMCpack)
simulations = 20000
posterior_a = MCbinomialbeta(successes_a ,n_samples_a, alpha=1, beta=1,mc=simulations)
posterior_b = MCbinomialbeta(successes_b ,n_samples_b, alpha=1, beta=1,mc=simulations)
posterior_delta = ????
posterior_density_a = density(posterior_a)
posterior_density_b = density(posterior_b)
# plot the posteriors
require(ggplot2)
ggplot() +
geom_area(aes(posterior_density_a$x, posterior_density_a$y), fill="#7ad2f6", alpha=.5) +
geom_vline(aes(xintercept=.05), color="#7ad2f6", linetype="dotted", size=2) +
geom_area(aes(posterior_density_b$x, posterior_density_b$y), fill="#014d64", alpha=.5) +
geom_vline(aes(xintercept=.04), color="#014d64", linetype="dotted", size=2) +
scale_x_continuous(labels=percent_format(), breaks=seq(0,0.1, 0.01))