Skip to content

Instantly share code, notes, and snippets.

@springcoil
Created December 14, 2018 21:00
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save springcoil/5800e5150b73814d1933a9c774ff0246 to your computer and use it in GitHub Desktop.
Save springcoil/5800e5150b73814d1933a9c774ff0246 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"os.environ['THEANO_FLAGS'] = 'floatX=float32,device=cuda'\n",
"\n",
"# mode=FAST_RUN,device=cuda,floatX=float32'"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline \n",
"\n",
"import pymc3 as pm\n",
"from pymc3.math import switch"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"# Generate experiment data\n",
"engagement_time_site_A = np.random.normal(5, 2, 5000)\n",
"engagement_time_site_B = np.random.normal(5.5, 2.1, 5000)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Auto-assigning NUTS sampler...\n",
"Initializing NUTS using jitter+adapt_diag...\n",
"Multiprocess sampling (2 chains in 2 jobs)\n",
"NUTS: [std_B, mu_B, std_A, mu_A, B_mean, A_mean]\n",
"Sampling 2 chains: 100%|██████████| 11000/11000 [00:19<00:00, 551.88draws/s]\n"
]
}
],
"source": [
"# We want to know the probability than site B is better than site A in terms of engagement time\n",
"\n",
"with pm.Model() as model:\n",
" # Our historical data is normally distirbuted with mean 4.8 and std 1.9\n",
" engagement_time_site_A_mean = pm.Normal('A_mean', mu=4.8, sd=1.9)\n",
" engagement_time_site_B_mean = pm.Normal('B_mean', mu=4.8, sd=1.9)\n",
" \n",
" # our historical data is normally distributed so we will choose a normal shape for the likelihood\n",
" mu_likelihood_A = pm.Normal('mu_A', mu=np.mean(engagement_time_site_A), sd=np.std(engagement_time_site_A))\n",
" std_likelihood_A = pm.Uniform('std_A', lower=0, upper=10)\n",
" \n",
" mu_likelihood_B = pm.Normal('mu_B', mu=np.mean(engagement_time_site_B), sd=np.std(engagement_time_site_B))\n",
" std_likelihood_B = pm.Uniform('std_B', lower=0, upper=10)\n",
" \n",
" likelihood_A = pm.Normal('likelihood_A', mu=mu_likelihood_A, sd=std_likelihood_A, observed=engagement_time_site_A)\n",
" likelihood_B = pm.Normal('likelihood_B', mu=mu_likelihood_B, sd=std_likelihood_B, observed=engagement_time_site_B)\n",
" \n",
" diff_of_means = pm.Deterministic('difference of means', engagement_time_site_A_mean - engagement_time_site_B_mean)\n",
" \n",
" # sample from posterior\n",
" trace = pm.sample(5000)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x360 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pm.plot_posterior(trace, varnames=['A_mean', 'B_mean', 'difference of means']);"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment