Created
July 4, 2018 22:37
-
-
Save ferrine/e8c165a129e2eccf1746ac60bef15b00 to your computer and use it in GitHub Desktop.
Usage of Beta KL PyMC3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/ferres/.pyenv/versions/Q3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n", | |
" from ._conv import register_converters as _register_converters\n" | |
] | |
} | |
], | |
"source": [ | |
"import numpy as np\n", | |
"import pymc3 as pm\n", | |
"\n", | |
"data = np.concatenate((np.random.normal(5, 2, 1000), np.random.normal(15, 2, 1000)))\n", | |
"with pm.Model() as model:\n", | |
" w = pm.Dirichlet('w', np.ones_like([0, 0]))\n", | |
"\n", | |
" mu = pm.Normal('mu', 5., 10., shape=2)\n", | |
" tau = pm.Gamma('tau', 1., 1., shape=2)\n", | |
"\n", | |
" x_obs = pm.NormalMixture('x_obs', w, mu, tau=tau, observed=data)\n", | |
"#with model:\n", | |
"# approx = pm.fit(method='advi', n=30000)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import theano\n", | |
"with model:\n", | |
" approx = pm.MeanField(start={'mu': np.array([4., 6.])})\n", | |
" beta = theano.shared(1.)\n", | |
" inference = pm.KLqp(approx, beta=beta)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"beta.set_value(.0)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"Average Loss = 5,651.8: 100%|██████████| 30000/30000 [00:48<00:00, 615.45it/s]\n", | |
"Finished [100%]: Average Loss = 5,651.5\n" | |
] | |
} | |
], | |
"source": [ | |
"tracker = pm.variational.callbacks.Tracker(mu=inference.approx.params[0].get_value, rho=inference.approx.params[1].get_value)\n", | |
"with model:\n", | |
" approx = inference.fit(n=30000, callbacks=[tracker])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"beta.set_value(.5)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"Average Loss = 5,596.6: 100%|██████████| 10000/10000 [00:16<00:00, 607.14it/s]\n", | |
"Finished [100%]: Average Loss = 5,596.6\n" | |
] | |
} | |
], | |
"source": [ | |
"inference.refine(10000)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"beta.set_value(1.)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"Average Loss = 5,606.5: 100%|██████████| 10000/10000 [00:15<00:00, 628.52it/s]\n", | |
"Finished [100%]: Average Loss = 5,606.5\n" | |
] | |
} | |
], | |
"source": [ | |
"inference.refine(10000)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"mu_hist = np.asarray(tracker.hist['mu'])\n", | |
"rho_hist = np.asarray(tracker.hist['rho'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"mu_trace = mu_hist.T[approx.ordering.by_name['mu'].slc]\n", | |
"rho_trace = rho_hist.T[approx.ordering.by_name['mu'].slc]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import matplotlib.pyplot as plt" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.collections.LineCollection at 0x11c1f48d0>" | |
] | |
}, | |
"execution_count": 24, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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qIiIiIiIiCRVk11zo9HoXcDngC2xWGxcveXXAlcDtcBTsVjsu22WUkRERERERDqN5pwRvQc4s/6CaDR6EjANGB+LxcYCf2r9aCIiIiIiItIZNVmIxmKxV4HtDRZ/HfhdLBar8rfZ0gbZREREREREpBM60FFzRwHHRaPRXwOVwLdjsdjCxjaMRqOzgFkAsViMnJycA3zJ3VJSUlplP52d2ql51E7No3ZqHrVT09RGIiIicqCFaAqQDUwBJgGxaDR6cCwW2+teZLFY7Hbgdn/WtcawwBqCuXnUTs2jdmoetVPzqJ2aptu3iIiIyIGOmrsBeDQWi7lYLPYWkAD09baIiIiIiIg06UAL0ceBkwCi0egoIBXQKQARERERERFpUnNu3/IAcCKQE41GNwA/Be4C7opGo+8D1cCXGuuWKyIiIiIiItJQk4VoLBa7eB+rLmnlLCIiIiIiItIFHGjXXBEREREREZEDokJUREREREREkkqFqIiIiIiIiCSVClERERERERFJKhWiIiIiIiIiklQqREVERERERCSpVIiKiIiIiIhIUqkQFRERERERkaRSISoiIiIiIiJJpUJURJo0ffp0TjvttKBjtHtqp6apjUREWof+njaP2qlpQbWRClERERERERFJKhWiIiIiIiIiklQqREVERERERCSpVIiKiIiIiIhIUqkQFRERERERkaRSISoiIiIiIiJJpUJUREREREREkkqFqIiIiIiIiCSVClERERERERFJKhWiIiIiIiIiklQqREVERERERCSpVIiKiIiIiIhIUqkQFRERERERkaRSISoiIiIiIiJJpUJUREREREREkkqFqIiIiIiIiCSVClERERERERFJqpSgA4iIiEjriUajZwJ/BcLAP2Ox2O8CjiQiIrIXFaIi0m4451hfVM0Lq3cSDhkZkRDdU8Ms2lhKStjIzkjBgNzuqURCxpayOP2zIgzrnc728hqWFVbQLTXEzspaeqSG2VlZQ273CNU1js2lcQ7pmwHAgvUlHDEgi8xIiMqaBB9sKSe/NE5eVio7KmsY2Sed0upaVm+vZOKALMJmpKYYhWVxtlfUcNSg7pRU1ZKTmUJOtwgL1pdQUZMgfvo3SZRs4S+vb+Lg7HTyukcorqplR0UNITOqahPsrKilW2qI9JQQm4qr+bioirzuqbzxSQlnjOgFQMhg3c4qBvZIZWSf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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x1197840f0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"fig, ax = plt.subplots(1, 2, figsize=(16, 9))\n", | |
"ax[0].plot(mu_trace[0])\n", | |
"ax[0].plot(mu_trace[1])\n", | |
"ax[0].set_title('μ convergence trace')\n", | |
"ax[0].vlines([30000, 40000, 50000], *ax[0].get_ylim())\n", | |
"\n", | |
"ax[1].plot(rho_trace[0])\n", | |
"ax[1].plot(rho_trace[1])\n", | |
"ax[1].set_title('ρ convergence trace')\n", | |
"ax[1].vlines([30000, 40000, 50000], *ax[1].get_ylim())" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Q3", | |
"language": "python", | |
"name": "q3" | |
}, | |
"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.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment