{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 1. Preparing your computer\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this lesson, you will set up a Python computing environment for scientific computing. There are two main ways people set up Python for scientific computing.\n", "\n", "1. By downloading and installing package by package with tools like [apt-get](https://help.ubuntu.com/community/AptGet/Howto), [pip](https://docs.python.org/3/installing/), etc.\n", "2. By downloading and installing a Python distribution that contains binaries of many of the scientific packages needed. The major distributions of these are [Anaconda](https://www.anaconda.com) and [Enthought Canopy](https://www.enthought.com/product/canopy/). Both contain IDEs.\n", "\n", "In this class, we will use Anaconda, with its associated package manager, `conda`. It has become the de facto package manager/distribution for scientific use." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Students who took BE/Bi 103 a\n", "\n", "If you took [BE/Bi 103 a](http://bebi103.caltech.edu.s3-website-us-east-1.amazonaws.com/2019a/) last term, your computer is mostly configured. You should do the following on the command line.\n", "\n", "```bash\n", "conda update --all\n", "pip install --upgrade arviz cmdstanpy bebi103 bokeh-catplot awscli\n", "```\n", "\n", "After applying the above updates, you can skip to the [Stan installation](#Stan-installation) section and continue." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Students who did not take BE/Bi 103 a\n", "\n", "If you did not take BE/Bi 103 a last term, follow the instructions below to set up your machine." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### macOS users: Install XCode\n", "\n", "If you are using macOS, you should install [XCode](https://developer.apple.com/xcode/), if you haven't already. It's a large piece of software, taking up about 5GB on your hard drive, so make sure you have enough space. You can install it through the App Store.\n", "\n", "After installing it, you need to open the program. Be sure to do that, for example by clicking on the XCode icon in your Applications folder. Upon opening XCode, it may perform more installations. After these are completed, you can close XCode." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Windows users: Install Git and Chrome or Firefox\n", "\n", "We will be using [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/) in this course. It is browser-based, and Chrome, Firefox, and Safari are supported. Internet Explorer is **not**. Therefore, if you are a Windows user, you need to be sure you have either Chrome of Firefox installed.\n", "\n", "Git is installed on Macs with XCode. For Windows users, you need to install Git. You can do this by following the instructions [here](https://gitforwindows.org)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Uninstalling Anaconda\n", "\n", "Unless you have experience with Anaconda and know how to set up environments, if you have previously installed Anaconda with a version of Python other than 3.7, you need to uninstall it, removing it completely from your computer. You can find instructions on how to do that from the [official uninstallation documentation](https://docs.anaconda.com/anaconda/install/uninstall/)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Downloading and installing Anaconda\n", "\n", "Downloading and installing Anaconda is simple. \n", "1. Go to the [Anaconda distribution homepage](https://www.anaconda.com/distribution/) and download the graphical installer. \n", "2. Be sure to download Anaconda for Python 3.7 for the appropriate operating system.\n", "3. Follow the on-screen instructions for installation. When prompted, be sure to \"Install for me only.\"\n", "4. You may be prompted for optional installations, like [PyCharm](https://www.jetbrains.com/pycharm/). You will not need these for the course.\n", "\n", "That's it! After you do that, you will have a functioning Python distribution." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Launching JupyterLab and a terminal\n", "\n", "After installing the Anaconda distribution, you should be able to launch the **Anaconda Navigator**. If you are using macOS, this is available in your `Applications` menu. If you are using Windows, you can do this from the Start menu. Launch Anaconda Navigator.\n", "\n", "We will be using JupyterLab throughout the course. You should see an option to launch JupyterLab. When you do that, a new browser window or tab will open with JupyterLab running. Within the JupyterLab window, you will have the option to launch a notebook, a console, a terminal, or a text editor. We will use all of these during the course. For the updating and installation of necessary packages, click on `Terminal` to launch a terminal. You will get a terminal window (probably black) with a bash prompt. We refer to this text interface in the terminal as the **command line**." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The conda package manager\n", "\n", "conda is a package manager for keeping all of your packages up-to-date. It has plenty of functionality beyond our basic usage in class, which you can learn more about by reading the [docs](http://conda.pydata.org/docs/get-started.html). We will primarily be using conda to install and update packages.\n", "\n", "conda works from the command line. Now that you know how to get a command line prompt, you can start using conda. The first thing we'll do is update the packages that came with the Anaconda distribution. To do this, enter the following on the command line:\n", "\n", " conda update --all\n", "\n", "If anything is out of date, you will be prompted to perform the updates, and press `y` to continue. (If everything is up to date, you will just see a list of all the installed packages.) They may even be some downgrades. This happens when there are package conflicts where one package requires an earlier version of another. conda is very smart and figures all of this out for you, so you can almost always say \"yes\" (or \"`y`\") to conda when it prompts you." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installations\n", "\n", "There are several additional installations you need to do. We will first install some plotting packages we need, which are available as [HoloViz](http://holoviz.org).\n", "\n", " conda install -c pyviz holoviz\n", " \n", "Some packages may again be downgraded with the installation of PyViz, and that is ok. Next, to configure JupyterLab, we need to install [node.js](https://nodejs.org/).\n", "\n", " conda install nodejs \n", " \n", "We will also install [watermark](https://github.com/rasbt/watermark), which enables us to conveniently display version numbers of the software we are using. For this installation, we will use `pip`. There are a few other packages from pip we will need, so we can go ahead and install those now.\n", "\n", " pip install --upgrade cmdstanpy arviz\n", " pip install awscli\n", " pip install --upgrade watermark black blackcellmagic bokeh-catplot bebi103\n", "\n", "Finally, we need to configure JupyterLab to work with the plotting packages we will use.\n", "\n", " jupyter labextension install --no-build @pyviz/jupyterlab_pyviz\n", " \n", "You may also wish to install a spell-checker (this one isn't necessary).\n", "\n", " jupyter labextension install --no-build @ijmbarr/jupyterlab_spellchecker\n", "\n", "After installing all of these extensions, you can rebuild JupyterLab.\n", "\n", " jupyter lab build\n", " \n", "You should close your JupyterLab session and terminate Anaconda Navigator after you have completed the build. Relaunch Anaconda Navigator and launch a fresh JupyterLab instance. As before, after JupyterLab launches, launch a new terminal window so that you can proceed with setting up Git." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Usage of Git/GitHub\n", "\n", "We will make extensive use of Git during the course. We will use [GitHub](http://github.com/) to host the repositories. You need to set up a GitHub account. Go to [http://github.com/](http://github.com/) to get an account. You should register with your academic email address so you get free private repositories as academics. You should also think carefully about picking your user name. There is a good chance other people in your professional life will see this.\n", "\n", "Once you have a GitHub account, send an email to bois at caltech dot edu with your account ID to get access to the [BE/Bi 103 Group on GitHub](https://github.com/bebi103). Within this group, you will form a team. Your team consists of your partners for homework submission." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Stan installation\n", "\n", "We will be using [Stan](http://mc-stan) for much of our statistical modeling. Stan has a probabilistic programming language. Programs written in this language, called *Stan programs*, are translated into C++ by the Stan parser, and then the C++ code is compiled. As you will see throughout the class, there are many advantages to this approach.\n", "\n", "There are many interfaces for Stan, including the two most widely used [RStan](https://cran.r-project.org/web/packages/rstan/vignettes/rstan.html) and [PyStan](https://pystan.readthedocs.io), which are R and Python interfaces, respectively. We will use a newer interface, [CmdStanPy](https://cmdstanpy.readthedocs.io/), which has several advantages that will become apparent when you start using it.\n", "\n", "Whichever interface you use needs to have Stan installed and functional, which means you have to have an installed C++ toolchain. Installation and compilation can be tricky and varies from operating system to operating system. To facilitate configuration of Stan and also to allow you to tackle more involved calculations, we will use [AWS](https://aws.amazon.com) for computing with Stan. Within the first few weeks of class, you will receive instructions on how to use AWS. We have a pre-built Amazon Machine Image (AMI) that has all of the installations you need, and you can run your calculations on those machines. Because we (and Amazon) are providing this resource and because of the difficulties involved with local installations, *we will not provide support for local installations of Stan, CmdStanPy, or other Stan interfaces.*\n", "\n", "That said, if you would like to install Stan and CmdStanPy locally, you may do so. Read on for instructions, though we offer no guarantees that they will work." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Configuring a C++ toolchain for MacOS\n", "\n", "If you are using MacOS and you installed XCode as described above, you should already have a C++ toolchain. You can skip ahead to [install Stan with CmdStanPy](#Installing-Stan-with-CmdStanPy)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Configuring a C++ toolchain for Windows\n", "\n", "You need to install a C++ toolchain for Windows. One possibility is to install a [MinGW](http://www.mingw.org) toolchain, and one way to do that is using `conda`.\n", "\n", " conda install libpython m2w64-toolchain -c msys2\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing Stan with CmdStanPy\n", "\n", "If you have a functioning C++ toolchain, you can use CmdStanPy to install Stan/CmdStan. You can do this by running the following on the command line.\n", "\n", " python -c \"import cmdstanpy; cmdstanpy.install_cmdstan()\"\n", " \n", "This may take several minutes to run." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Checking your distribution\n", "\n", "We'll now run a quick test to make sure things are working properly. We will make a quick plot that requires some of the scientific libraries we will use.\n", "\n", "Use the JupyterLab launcher (you can get a new launcher by clicking on the `+` icon on the left pane of your JupyterLab window) to launch a notebook. In the first cell (the box next to the `[ ]:` prompt), paste the code below. To run the code, press `Shift+Enter` while the cursor is active inside the cell. You should see a plot that looks like the one below. If you do, you have a functioning Python environment for scientific computing!" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " Loading BokehJS ...\n", "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " var force = true;\n", "\n", " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", " root._bokeh_onload_callbacks = [];\n", " root._bokeh_is_loading = undefined;\n", " }\n", "\n", " var JS_MIME_TYPE = 'application/javascript';\n", " var HTML_MIME_TYPE = 'text/html';\n", " var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", " var CLASS_NAME = 'output_bokeh rendered_html';\n", "\n", " /**\n", " * Render data to the DOM node\n", " */\n", " function render(props, node) {\n", " var script = document.createElement(\"script\");\n", " node.appendChild(script);\n", " }\n", "\n", " /**\n", " * Handle when an output is cleared or removed\n", " */\n", " function handleClearOutput(event, handle) {\n", " var cell = handle.cell;\n", "\n", " var id = cell.output_area._bokeh_element_id;\n", " var server_id = cell.output_area._bokeh_server_id;\n", " // Clean up Bokeh references\n", " if (id != null && id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", "\n", " if (server_id !== undefined) {\n", " // Clean up Bokeh references\n", " var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", " cell.notebook.kernel.execute(cmd, {\n", " iopub: {\n", " output: function(msg) {\n", " var id = msg.content.text.trim();\n", " if (id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", " }\n", " }\n", " });\n", " // Destroy server and session\n", " var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", " cell.notebook.kernel.execute(cmd);\n", " }\n", " }\n", "\n", " /**\n", " * Handle when a new output is added\n", " */\n", " function handleAddOutput(event, handle) {\n", " var output_area = handle.output_area;\n", " var output = handle.output;\n", "\n", " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", " if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", " return\n", " }\n", "\n", " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", "\n", " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", " // store reference to embed id on output_area\n", " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " }\n", " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " var bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " var script_attrs = bk_div.children[0].attributes;\n", " for (var i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", " }\n", "\n", " function register_renderer(events, OutputArea) {\n", "\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " var toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[toinsert.length - 1]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " /* Handle when an output is cleared or removed */\n", " events.on('clear_output.CodeCell', handleClearOutput);\n", " events.on('delete.Cell', handleClearOutput);\n", "\n", " /* Handle when a new output is added */\n", " events.on('output_added.OutputArea', handleAddOutput);\n", "\n", " /**\n", " * Register the mime type and append_mime function with output_area\n", " */\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " /* Is output safe? */\n", " safe: true,\n", " /* Index of renderer in `output_area.display_order` */\n", " index: 0\n", " });\n", " }\n", "\n", " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", " if (root.Jupyter !== undefined) {\n", " var events = require('base/js/events');\n", " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", "\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " }\n", "\n", " \n", " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " var NB_LOAD_WARNING = {'data': {'text/html':\n", " \"
\\n\"+\n", " \"

\\n\"+\n", " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", " \"

\\n\"+\n", " \"\\n\"+\n", " \"\\n\"+\n", " \"from bokeh.resources import INLINE\\n\"+\n", " \"output_notebook(resources=INLINE)\\n\"+\n", " \"\\n\"+\n", " \"
\"}};\n", "\n", " function display_loaded() {\n", " var el = document.getElementById(\"1001\");\n", " if (el != null) {\n", " el.textContent = \"BokehJS is loading...\";\n", " }\n", " if (root.Bokeh !== undefined) {\n", " if (el != null) {\n", " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(display_loaded, 100)\n", " }\n", " }\n", "\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) {\n", " if (callback != null)\n", " callback();\n", " });\n", " } finally {\n", " delete root._bokeh_onload_callbacks\n", " }\n", " console.debug(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(css_urls, js_urls, callback) {\n", " if (css_urls == null) css_urls = [];\n", " if (js_urls == null) js_urls = [];\n", "\n", " root._bokeh_onload_callbacks.push(callback);\n", " if (root._bokeh_is_loading > 0) {\n", " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", "\n", " function on_load() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", " run_callbacks()\n", " }\n", " }\n", "\n", " function on_error() {\n", " console.error(\"failed to load \" + url);\n", " }\n", "\n", " for (var i = 0; i < css_urls.length; i++) {\n", " var url = css_urls[i];\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.rel = \"stylesheet\";\n", " element.type = \"text/css\";\n", " element.href = url;\n", " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", " document.body.appendChild(element);\n", " }\n", "\n", " for (var i = 0; i < js_urls.length; i++) {\n", " var url = js_urls[i];\n", " var element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.src = url;\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " };var element = document.getElementById(\"1001\");\n", " if (element == null) {\n", " console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n", " return false;\n", " }\n", "\n", " function inject_raw_css(css) {\n", " const element = document.createElement(\"style\");\n", " element.appendChild(document.createTextNode(css));\n", " document.body.appendChild(element);\n", " }\n", "\n", " \n", " var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n", " var css_urls = [];\n", " \n", "\n", " var inline_js = [\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " function(Bokeh) {\n", " \n", " \n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " \n", " if (root.Bokeh !== undefined || force === true) {\n", " \n", " for (var i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }\n", " if (force === true) {\n", " display_loaded();\n", " }} else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " } else if (force !== true) {\n", " var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n", " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", " }\n", "\n", " }\n", "\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(css_urls, js_urls, function() {\n", " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(window));" ], "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"1001\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };var element = document.getElementById(\"1001\");\n if (element == null) {\n console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n return false;\n }\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " \n", " var docs_json = {\"e93e8e06-dbf7-49f5-a224-55f341931b83\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1011\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1015\",\"type\":\"Grid\"},{\"id\":\"1020\",\"type\":\"Grid\"},{\"id\":\"1039\",\"type\":\"Label\"}],\"left\":[{\"id\":\"1016\",\"type\":\"LinearAxis\"}],\"plot_height\":250,\"plot_width\":275,\"renderers\":[{\"id\":\"1037\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1041\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1027\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1003\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1007\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1005\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1009\",\"type\":\"LinearScale\"}},\"id\":\"1002\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1022\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1048\",\"type\":\"BoxAnnotation\"}},\"id\":\"1023\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1041\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[200]},\"y\":{\"__ndarray__\":\"AAAAAAAAFEBRqPwN6BQUQG0hFSthUxRA9Dbf8q66FECWFkztmUkVQHapa0xz/hVALlAOFxrXFkDAR1quAdEXQFMBv5c56RhAW/BZcHYcGkAA1u3qG2cbQIHsDbZHxRxAZVkeJd0yHkAM31V0kasfQDhXBT98lSBAXQYm20hWIUAzPpCg6hUiQDgQ23sg0iJA00u0mLKII0Am11iTeDckQEXc8WJf3CRA7djy6W51JUBkWwQbzwAmQH89tKLMfCZAucoHCN3nJkD57x44okAnQBIxUXPthSdARvCElMG2J0BKeO6tVNInQOfJ3PgQ2CdA2ee0GJXHJ0DxvK+zs6AnQKptUWZyYydAUurZGAgQJ0CmVxXA2qYmQHhi75R8KCZAeoX3z6iVJUDvMZf3P+8kQLAXENFDNiRAWd9rBdNrI0DX/lOMJJEiQD10Te+CpyFAhdYPeEewIECPSkK5qlkfQC0ZEvcpPR1APhWic94NG0B1ckwnks4YQJBJo97+gRZALnrEgcYqFEDZKasWbMsRQCp2RimbzA5ATiGDNj37CUC+1402yCYFQIzwVvfhUgBAUsI/A48F9z+fekK8KeXqP2gXly4Ejc8/QhFwQGLl1b8YP6xGYJbtv0JExUaFAfi/g//an1eNAMAfG/S81goFwI4+nXcKeQnAiJpitf3XDcAGXaJF+BMRwMkUDTKmNBPARSA04UtOFcAwQyPtNGEXwPFJwB+vbRnA3mhkcQR0G8B/tzlLdXQdwEdq9Cczbx/Ai3q21S2yIMDFnZQj+qkhwJFsiT/zniLA1xg+b/6QI8A0th1V8H8kwKNWjCyMayXA4LwRbINTJsBmJWXOdTcnwOOOa8HxFijAaUBmOHXxKMAD8cvcbsYpwFh6m5c/lSrAZIZqazxdK8A9wguWsB0swFi0bO/f1SzAt4xAegmFLcDxbTcaaiouwFQv5GI/xS7A9eEPcspUL8BH5BPIUtgvwI65dIiUJzDAauh36FRcMMCUVHv0H4owwK1X73KzsDDAoIONiNbPMMAlNUOcWucwwJP2qBIc9zDAbm+l3QL/MMBub6XdAv8wwJP2qBIc9zDAJTVDnFrnMMCgg42I1s8wwKxX73KzsDDAlFR79B+KMMBr6HfoVFwwwI65dIiUJzDASOQTyFLYL8D34Q9yylQvwFIv5GI/xS7A8203GmoqLsC5jEB6CYUtwFm0bO/f1SzAPsILlrAdLMBjhmprPF0rwFd6m5c/lSrABfHL3G7GKcBrQGY4dfEowOaOa8HxFijAZyVlznU3J8DfvBFsg1MmwKRWjCyMayXAM7YdVfB/JMDZGD5v/pAjwJRsiT/zniLAxJ2UI/qpIcCOerbVLbIgwE1q9Cczbx/AfLc5S3V0HcDmaGRxBHQbwO1JwB+vbRnAN0Mj7TRhF8BMIDThS04VwMUUDTKmNBPACl2iRfgTEcCDmmK1/dcNwJ8+nXcKeQnAHhv0vNYKBcB5/9qfV40AwFZExUaFAfi/8j6sRmCW7b/yEXBAYuXVvzwXly4Ejc8/4HpCvCnl6j86wj8DjwX3P43wVvfhUgBAudeNNsgmBUBMIYM2PfsJQBV2RimbzA5A1SmrFmzLEUAzesSBxioUQItJo97+gRZAdnJMJ5LOGEAxFaJz3g0bQCgZEvcpPR1AkkpCuapZH0CB1g94R7AgQD10Te+CpyFA1P5TjCSRIkBZ32sF02sjQLEXENFDNiRA7TGX9z/vJEB7hffPqJUlQHdi75R8KCZAplcVwNqmJkBT6tkYCBAnQKhtUWZyYydA8Lyvs7OgJ0DX57QYlccnQOXJ3PgQ2CdAS3jurVTSJ0BI8ISUwbYnQBExUXPthSdA++8eOKJAJ0C3ygcI3ecmQIE9tKLMfCZAZFsEG88AJkDv2PLpbnUlQEbc8WJf3CRAJtdYk3g3JEDWS7SYsogjQDgQ23sg0iJAND6QoOoVIkBeBibbSFYhQDhXBT98lSBADd9VdJGrH0BlWR4l3TIeQIDsDbZHxRxACNbt6htnG0BY8FlwdhwaQFkBv5c56RhAvkdargHRF0AsUA4XGtcWQHepa0xz/hVAlxZM7ZlJFUD0Nt/yrroUQGshFSthUxRAUaj8DegUFEAAAAAAAAAUQA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1046\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1047\",\"type\":\"UnionRenderers\"}},\"id\":\"1034\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1003\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"ResetTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1005\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1026\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1009\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1021\",\"type\":\"PanTool\"},{\"id\":\"1022\",\"type\":\"WheelZoomTool\"},{\"id\":\"1023\",\"type\":\"BoxZoomTool\"},{\"id\":\"1024\",\"type\":\"SaveTool\"},{\"id\":\"1025\",\"type\":\"ResetTool\"},{\"id\":\"1026\",\"type\":\"HelpTool\"}]},\"id\":\"1027\",\"type\":\"Toolbar\"},{\"attributes\":{\"formatter\":{\"id\":\"1043\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1012\",\"type\":\"BasicTicker\"}},\"id\":\"1011\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1035\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1017\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1012\",\"type\":\"BasicTicker\"},{\"attributes\":{\"ticker\":{\"id\":\"1012\",\"type\":\"BasicTicker\"}},\"id\":\"1015\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"1034\",\"type\":\"ColumnDataSource\"}},\"id\":\"1038\",\"type\":\"CDSView\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1017\",\"type\":\"BasicTicker\"}},\"id\":\"1020\",\"type\":\"Grid\"},{\"attributes\":{\"formatter\":{\"id\":\"1045\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1017\",\"type\":\"BasicTicker\"}},\"id\":\"1016\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1046\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1036\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1043\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1045\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1047\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data_source\":{\"id\":\"1034\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1035\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1036\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1038\",\"type\":\"CDSView\"}},\"id\":\"1037\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"text\":\"BE/Bi 103 b\",\"text_align\":\"center\",\"x\":0,\"y\":0},\"id\":\"1039\",\"type\":\"Label\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"PanTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1048\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1007\",\"type\":\"LinearScale\"}],\"root_ids\":[\"1002\"]},\"title\":\"Bokeh Application\",\"version\":\"1.4.0\"}};\n", " var render_items = [{\"docid\":\"e93e8e06-dbf7-49f5-a224-55f341931b83\",\"roots\":{\"1002\":\"46392a5c-7240-4118-9c25-7728e3205014\"}}];\n", " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", "\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " var attempts = 0;\n", " var timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1002" } }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import bokeh.plotting\n", "import bokeh.io\n", "\n", "bokeh.io.output_notebook()\n", "\n", "# Generate plotting values\n", "t = np.linspace(0, 2*np.pi, 200)\n", "x = 16 * np.sin(t)**3\n", "y = 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t)\n", "\n", "p = bokeh.plotting.figure(height=250, width=275)\n", "p.line(x, y, color='red', line_width=3)\n", "text = bokeh.models.Label(x=0, y=0, text='BE/Bi 103 b', text_align='center')\n", "p.add_layout(text)\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checking your Stan installation\n", "\n", "To check your Stan installation, you can run the following code. It will take several seconds for the model to compile and then sample. In the end, you should see a scatter plot of samples. You might not appreciate it yet, but this is a nifty demonstration of Stan's power to sample hierarchical models, which is no trivial feat." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:cmdstanpy:compiling c++\n", "INFO:cmdstanpy:compiled model file: /Users/bois/Dropbox/git/bebi103_course/2020/b/content/lessons/schools_code\n", "INFO:cmdstanpy:start chain 1\n", "INFO:cmdstanpy:start chain 2\n", "INFO:cmdstanpy:finish chain 2\n", "INFO:cmdstanpy:start chain 3\n", "INFO:cmdstanpy:finish chain 1\n", "INFO:cmdstanpy:start chain 4\n", "INFO:cmdstanpy:finish chain 3\n", "INFO:cmdstanpy:finish chain 4\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " \n", " var docs_json = {\"db33a632-6bd5-4f86-a8e9-bc91754a2fc9\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1112\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1116\",\"type\":\"Grid\"},{\"id\":\"1121\",\"type\":\"Grid\"}],\"frame_height\":250,\"frame_width\":250,\"left\":[{\"id\":\"1117\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"1138\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1150\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1128\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1104\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1108\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1106\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1110\",\"type\":\"LinearScale\"}},\"id\":\"1103\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1137\",\"type\":\"Circle\"},{\"attributes\":{\"ticker\":{\"id\":\"1113\",\"type\":\"BasicTicker\"}},\"id\":\"1116\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null},\"id\":\"1106\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1118\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1110\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"1135\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1136\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1137\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1139\",\"type\":\"CDSView\"}},\"id\":\"1138\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[4000]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[4000]}},\"selected\":{\"id\":\"1155\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1156\",\"type\":\"UnionRenderers\"}},\"id\":\"1135\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1122\",\"type\":\"PanTool\"},{\"id\":\"1123\",\"type\":\"WheelZoomTool\"},{\"id\":\"1124\",\"type\":\"BoxZoomTool\"},{\"id\":\"1125\",\"type\":\"SaveTool\"},{\"id\":\"1126\",\"type\":\"ResetTool\"},{\"id\":\"1127\",\"type\":\"HelpTool\"}]},\"id\":\"1128\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"mu\",\"formatter\":{\"id\":\"1152\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1113\",\"type\":\"BasicTicker\"}},\"id\":\"1112\",\"type\":\"LinearAxis\"},{\"attributes\":{\"overlay\":{\"id\":\"1157\",\"type\":\"BoxAnnotation\"}},\"id\":\"1124\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1156\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1118\",\"type\":\"BasicTicker\"}},\"id\":\"1121\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1123\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1154\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1136\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1125\",\"type\":\"SaveTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1157\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis_label\":\"tau\",\"formatter\":{\"id\":\"1154\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1118\",\"type\":\"BasicTicker\"}},\"id\":\"1117\",\"type\":\"LinearAxis\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1150\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1126\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1113\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1122\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1108\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"1104\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"1135\",\"type\":\"ColumnDataSource\"}},\"id\":\"1139\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1152\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1127\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1155\",\"type\":\"Selection\"}],\"root_ids\":[\"1103\"]},\"title\":\"Bokeh Application\",\"version\":\"1.4.0\"}};\n", " var render_items = [{\"docid\":\"db33a632-6bd5-4f86-a8e9-bc91754a2fc9\",\"roots\":{\"1103\":\"187a2cb9-2418-4132-9d0a-eb3c4b52a9a9\"}}];\n", " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", "\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " var attempts = 0;\n", " var timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1103" } }, "output_type": "display_data" } ], "source": [ "import cmdstanpy\n", "import arviz as az\n", "\n", "schools_data = {\n", " \"J\": 8,\n", " \"y\": [28, 8, -3, 7, -1, 1, 18, 12],\n", " \"sigma\": [15, 10, 16, 11, 9, 11, 10, 18],\n", "}\n", "\n", "schools_code = \"\"\"\n", "data {\n", " int J; // number of schools\n", " vector[J] y; // estimated treatment effects\n", " vector[J] sigma; // s.e. of effect estimates\n", "}\n", "\n", "parameters {\n", " real mu;\n", " real tau;\n", " vector[J] eta;\n", "}\n", "\n", "transformed parameters {\n", " vector[J] theta = mu + tau * eta;\n", "}\n", "\n", "model {\n", " eta ~ normal(0, 1);\n", " y ~ normal(theta, sigma);\n", "}\n", "\"\"\"\n", "\n", "with open(\"schools_code.stan\", \"w\") as f:\n", " f.write(schools_code)\n", "\n", "sm = cmdstanpy.CmdStanModel(stan_file=\"schools_code.stan\")\n", "samples = sm.sample(data=schools_data, output_dir=\"./\")\n", "samples = az.from_cmdstanpy(samples)\n", "\n", "# Make a plot of samples\n", "p = bokeh.plotting.figure(\n", " frame_height=250, frame_width=250, x_axis_label=\"mu\", y_axis_label=\"tau\"\n", ")\n", "p.circle(\n", " np.ravel(samples.posterior[\"mu\"]), \n", " np.ravel(samples.posterior[\"tau\"]), \n", " alpha=0.1\n", ")\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Computing environment" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPython 3.7.5\n", "IPython 7.10.2\n", "\n", "numpy 1.17.4\n", "bokeh 1.4.0\n", "cmdstanpy 0.8.0\n", "arviz 0.6.1\n", "jupyterlab 1.2.4\n" ] } ], "source": [ "%load_ext watermark\n", "%watermark -v -p numpy,bokeh,cmdstanpy,arviz,jupyterlab" ] } ], "metadata": { "anaconda-cloud": {}, "jupytext": { "target_format": "ipynb,auto:percent" }, "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.7.5" } }, "nbformat": 4, "nbformat_minor": 4 }