diff --git a/notebooks/book2/10/mc_estimate_pi.ipynb b/notebooks/book2/10/mc_estimate_pi.ipynb index 4a3ddcf3e10..d7a6f7f7f4e 100644 --- a/notebooks/book2/10/mc_estimate_pi.ipynb +++ b/notebooks/book2/10/mc_estimate_pi.ipynb @@ -1,47 +1,572 @@ { "cells": [ { - "cell_type": "code", - "execution_count": null, - "id": "ce096bbb", + "cell_type": "markdown", + "id": "3f2a2375", "metadata": {}, + "source": [ + "# Estimation of $\\pi$ using Monte Carlo Integration" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "zgyG3at2il2y", + "metadata": { + "id": "zgyG3at2il2y" + }, "outputs": [], "source": [ + "import jax\n", + "import jax.numpy as jnp\n", + "import matplotlib.pyplot as plt\n", "\n", + "try:\n", + " import distrax\n", + "except ModuleNotFoundError:\n", + " %pip install -qq distrax\n", + " import distrax\n", + "import ipywidgets as widget\n", "\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "import os\n", "try:\n", " import probml_utils as pml\n", "except ModuleNotFoundError:\n", " %pip install -qq git+https://github.com/probml/probml-utils.git\n", " import probml_utils as pml\n", + "import warnings\n", + "\n", + "warnings.filterwarnings(\"ignore\")\n", + "jax.config.update(\"jax_platform_name\", \"cpu\")\n", + "key = jax.random.PRNGKey(0)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "63444a3c", + "metadata": {}, + "outputs": [], + "source": [ + "pml.latexify(width_scale_factor=4)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "iRr0f2dPim6b", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 436, + "referenced_widgets": [ + "5b16429656104e9ca044be0606ced179", + "bfb37c510d074cecb59e77f3cfab439f", + "23787a03e731473ba2104791defde76c", + "a7023503a2cc40f7aa04bcd179050fd4", + "0ddc18d980eb447aad67602a27be7d8b", + "86aff68391d746308ab339384e115397", + "79c6da7c32ed4388a0e00bf93fb05320", + "e170de79ea734678a3ae380b58dfa932", + "160134ec279644268ed620d518638d89", + "5602ecf9f324439799b626dc9445a5c1" + ] + }, + "id": "iRr0f2dPim6b", + "outputId": "7b0691b0-f5c8-4ebd-cb4d-ee6545315e91" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the estimated pi = 3.168000\n", + "the standard pi = 3.141593\n", + "stderr = 0.091839\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "def estimate_pi(num_samples=5000, radius=2):\n", + " global key\n", + " uniform = distrax.Uniform(low=-radius, high=radius)\n", + " x_uniform_samples = uniform.sample(seed=key, sample_shape=num_samples)\n", + " key, subkey = jax.random.split(key)\n", + " y_uniform_samples = uniform.sample(seed=key, sample_shape=num_samples)\n", + " dist = x_uniform_samples**2 + y_uniform_samples**2 # distance from (0,0)\n", + "\n", + " inside = dist <= radius**2\n", + " samples = 4 * (radius**2) * inside\n", + " integral_estimate = jnp.mean(samples)\n", + " pi_estimate = integral_estimate / (radius**2)\n", + " std_err = jnp.sqrt(jnp.var(samples) / num_samples)\n", + "\n", + " print((\"the estimated pi = %f\" % pi_estimate))\n", + " print((\"the standard pi = %f\" % jnp.pi))\n", + " print((\"stderr = %f\" % std_err))\n", "\n", - "np.random.seed(0)\n", - "N = 5000\n", - "r = 2\n", - "xs = np.random.uniform(low=-r, high=r, size=N)\n", - "ys = np.random.uniform(low=-r, high=r, size=N)\n", - "rs = xs ** 2 + ys ** 2\n", - "inside = (rs <= r**2)\n", - "samples = 4*(r**2)*inside\n", - "Ihat = np.mean(samples)\n", - "pi_estimate = Ihat/(r**2)\n", - "se = np.sqrt(np.var(samples)/N)\n", - "print(('the estimated pi = %f' % pi_estimate))\n", - "print(('the standard pi = %f' % np.pi))\n", - "print(('stderr = %f' % se))\n", - "\n", - "plt.figure(figsize=(5, 5))\n", - "plt.plot(xs[inside], ys[inside], 'bo')\n", - "plt.plot(xs[~inside], ys[~inside], 'rD')\n", - "pml.savefig('mcEstimatePi.pdf')\n", - "plt.show()\n" + " # plot the samples\n", + " if pml.is_latexify_enabled():\n", + " FIG_SIZE = None\n", + " MARKER_SIZE = 1\n", + " else:\n", + " FIG_SIZE = (5, 5)\n", + " MARKER_SIZE = 4\n", + " fig, ax = plt.subplots(figsize=FIG_SIZE)\n", + " ax.plot(x_uniform_samples[inside], y_uniform_samples[inside], \"bo\", markersize=MARKER_SIZE)\n", + " ax.plot(x_uniform_samples[~inside], y_uniform_samples[~inside], \"rD\", markersize=MARKER_SIZE)\n", + " ax.spines[\"right\"].set_visible(False)\n", + " ax.spines[\"top\"].set_visible(False)\n", + " ax.set_aspect(\"equal\")\n", + " ax.set_xlim(-2, 2)\n", + " ax.set_ylim(-2, 2)\n", + " pml.savefig(\"mcEstimatePi_latexified\")\n", + " plt.show()\n", + "\n", + "\n", + "estimate_pi()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7f3096a8", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5802c9fc07ce4e699f939052f759c9eb", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(IntSlider(value=5000, description='num_samples', max=20000, min=200, step=10), FloatSlid…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "widget.interact(estimate_pi, num_samples=(200, 20000, 10), radius=(0.5, 5, 0.1))" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b513718a", + "metadata": {}, + "outputs": [], + "source": [] } ], - "metadata": {}, + "metadata": { + "colab": { + "name": "mc_estimate_pi.ipynb", + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.7" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "0ddc18d980eb447aad67602a27be7d8b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "160134ec279644268ed620d518638d89": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "SliderStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "SliderStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "", + "handle_color": null + } + }, + "23787a03e731473ba2104791defde76c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatSliderModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatSliderModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "FloatSliderView", + "continuous_update": true, + "description": "r", + "description_tooltip": null, + "disabled": false, + "layout": "IPY_MODEL_e170de79ea734678a3ae380b58dfa932", + "max": 5, + "min": 0.5, + "orientation": "horizontal", + "readout": true, + "readout_format": ".2f", + "step": 0.1, + "style": "IPY_MODEL_160134ec279644268ed620d518638d89", + "value": 2 + } + }, + "5602ecf9f324439799b626dc9445a5c1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5b16429656104e9ca044be0606ced179": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "VBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "VBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_bfb37c510d074cecb59e77f3cfab439f", + "IPY_MODEL_23787a03e731473ba2104791defde76c", + "IPY_MODEL_a7023503a2cc40f7aa04bcd179050fd4" + ], + "layout": "IPY_MODEL_0ddc18d980eb447aad67602a27be7d8b" + } + }, + "79c6da7c32ed4388a0e00bf93fb05320": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "SliderStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "SliderStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "", + "handle_color": null + } + }, + "86aff68391d746308ab339384e115397": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a7023503a2cc40f7aa04bcd179050fd4": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_5602ecf9f324439799b626dc9445a5c1", + "msg_id": "", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the estimated pi = 3.150108\n", + "the standard pi = 3.141593\n", + "stderr = 0.067868\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": "
" + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ] + } + }, + "bfb37c510d074cecb59e77f3cfab439f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "IntSliderModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "IntSliderModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "IntSliderView", + "continuous_update": true, + "description": "N", + "description_tooltip": null, + "disabled": false, + "layout": "IPY_MODEL_86aff68391d746308ab339384e115397", + "max": 20000, + "min": 200, + "orientation": "horizontal", + "readout": true, + "readout_format": "d", + "step": 100, + "style": "IPY_MODEL_79c6da7c32ed4388a0e00bf93fb05320", + "value": 9300 + } + }, + "e170de79ea734678a3ae380b58dfa932": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + } + } + } + }, "nbformat": 4, "nbformat_minor": 5 }