{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Bootstrap utilities\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", "
\n", " \n", " Loading BokehJS ...\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "'use strict';\n", "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " const 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", "const JS_MIME_TYPE = 'application/javascript';\n", " const HTML_MIME_TYPE = 'text/html';\n", " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", " const CLASS_NAME = 'output_bokeh rendered_html';\n", "\n", " /**\n", " * Render data to the DOM node\n", " */\n", " function render(props, node) {\n", " const 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", " function drop(id) {\n", " const view = Bokeh.index.get_by_id(id)\n", " if (view != null) {\n", " view.model.document.clear()\n", " Bokeh.index.delete(view)\n", " }\n", " }\n", "\n", " const cell = handle.cell;\n", "\n", " const id = cell.output_area._bokeh_element_id;\n", " const server_id = cell.output_area._bokeh_server_id;\n", "\n", " // Clean up Bokeh references\n", " if (id != null) {\n", " drop(id)\n", " }\n", "\n", " if (server_id !== undefined) {\n", " // Clean up Bokeh references\n", " const cmd_clean = \"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_clean, {\n", " iopub: {\n", " output: function(msg) {\n", " const id = msg.content.text.trim()\n", " drop(id)\n", " }\n", " }\n", " });\n", " // Destroy server and session\n", " const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", " cell.notebook.kernel.execute(cmd_destroy);\n", " }\n", " }\n", "\n", " /**\n", " * Handle when a new output is added\n", " */\n", " function handleAddOutput(event, handle) {\n", " const output_area = handle.output_area;\n", " const output = handle.output;\n", "\n", " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n", " return\n", " }\n", "\n", " const 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", " const bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " const script_attrs = bk_div.children[0].attributes;\n", " for (let i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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", " const 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", " const 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", " const events = require('base/js/events');\n", " const 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", " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " const 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(error = null) {\n", " const el = document.getElementById(\"b396a312-d7ff-4004-990d-d31d98fceaa2\");\n", " if (el != null) {\n", " const html = (() => {\n", " if (typeof root.Bokeh === \"undefined\") {\n", " if (error == null) {\n", " return \"BokehJS is loading ...\";\n", " } else {\n", " return \"BokehJS failed to load.\";\n", " }\n", " } else {\n", " const prefix = `BokehJS ${root.Bokeh.version}`;\n", " if (error == null) {\n", " return `${prefix} successfully loaded.`;\n", " } else {\n", " return `${prefix} encountered errors while loading and may not function as expected.`;\n", " }\n", " }\n", " })();\n", " el.innerHTML = html;\n", "\n", " if (error != null) {\n", " const wrapper = document.createElement(\"div\");\n", " wrapper.style.overflow = \"auto\";\n", " wrapper.style.height = \"5em\";\n", " wrapper.style.resize = \"vertical\";\n", " const content = document.createElement(\"div\");\n", " content.style.fontFamily = \"monospace\";\n", " content.style.whiteSpace = \"pre-wrap\";\n", " content.style.backgroundColor = \"rgb(255, 221, 221)\";\n", " content.textContent = error.stack ?? error.toString();\n", " wrapper.append(content);\n", " el.append(wrapper);\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(() => display_loaded(error), 100);\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(url) {\n", " console.error(\"failed to load \" + url);\n", " }\n", "\n", " for (let i = 0; i < css_urls.length; i++) {\n", " const url = css_urls[i];\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n", " const url = js_urls[i];\n", " const element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error.bind(null, url);\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", " };\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", " const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.9.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.9.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.9.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.9.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.9.1.min.js\"];\n", " const css_urls = [];\n", "\n", " const inline_js = [ function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", "function(Bokeh) {\n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " if (root.Bokeh !== undefined || force === true) {\n", " try {\n", " for (let i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }\n", "\n", " } catch (error) {display_loaded(error);throw error;\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", " const cell = $(document.getElementById(\"b396a312-d7ff-4004-990d-d31d98fceaa2\")).parents('.cell').data().cell;\n", " cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(\"b396a312-d7ff-4004-990d-d31d98fceaa2\");\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.9.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.9.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.9.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.9.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.9.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {display_loaded(error);throw error;\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 const cell = $(document.getElementById(\"b396a312-d7ff-4004-990d-d31d98fceaa2\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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" } ], "source": [ "import numpy as np\n", "import polars as pl\n", "df = pl.read_csv('sample_data.csv')\n", "\n", "import bebi103\n", "\n", "import bokeh.io\n", "bokeh.io.output_notebook()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "The bebi103 package contains utilities for nonparametric bootstrap calculations. These fall into three categories.\n", "\n", "1. Bootstrap replicates of a single scalar statistic from a one-dimensional data set.\n", "2. Pairs bootstrap replicates of a single scalar statistic.\n", "3. Permutation replicates drawn from two one-dimensional data sets.\n", "\n", "Additionally, it contains `draw_bs_reps_mle()`, which is used for drawing bootstrap replicates of a maximum likelihood estimator." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Random number generation\n", "\n", "Bootstrap method relies on random number generation. [Numpy's documentation](https://numpy.org/doc/stable/reference/random/index.html) suggests instantiating a `Generator` instance and using that to draw random numbers, for example as\n", "\n", "```python\n", "import numpy as np\n", "\n", "# Instantiate Generator\n", "rg = np.random.default_rng()\n", "\n", "# Draw Normally distributed random numbers\n", "rg.normal(loc=2.5, scale=1.0, size=100)\n", "```\n", "\n", "By default, `np.random.default_rng()` gives a PCG-64 random number generator.\n", "\n", "In legacy uses of Numpy, random numbers were drawn using the Mersenne Twister algorithm. This functionality is still available, as\n", "\n", "```python\n", "import numpy as np\n", "\n", "# Draw Normally distributed random numbers\n", "np.random.normal(loc=2.5, scale=1.0, size=100)\n", "```\n", "\n", "Numba currently (v. 0.66) has support for Numpy's current random number generators, but they are not thread safe. Because Numba is wildely used in this package in parallel applications to speed up calculations, all functions in the `bebi103.bootstrap` module use the legacy Numpy implementation using the Mersenne Twister algorithm. The one exception is `bebi103.bootstrap.draw_bs_reps_mle()`, which does not use Numba." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Seeding the RNG\n", "\n", "For testing, debugging, and pedagogical reproducibility purposes, it is sometimes valuable to seed the random number generator. To do so, you need to seed the random number generator *both* in vanilla Numpy and with a Numba'd function. This is accomplished using the `bebi103.bootstrap.seed_rng()` function." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "bebi103.bootstrap.seed_rng(3252)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The results of `bebi103.bootstrap.draw_bs_reps_mle()` are unaffected by this seeding." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Nonparametric resampling methods\n", "\n", "We begin with the available nonparametric bootstrap and permutation methods." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Boostrap replicates from one-dimensional data\n", "\n", "A bootstrap replicate is obtained by resampling a data set with replacement and then computing the prescribed summary statistic. The summary statistic need not be scalar, scalar summary statistics are a common use case. Drawing the bootstrap replicates from a set of scalar measurements is achieved using the `bebi103.bootstrap.draw_bs_reps()` function. It takes two positional arguments.\n", "\n", "1. The data set to resample.\n", "2. The function used to compute the summary statistic.\n", "\n", "Additionally, it takes two keyword arguments.\n", "\n", "1. `size`, the number of bootstrap replicates to generate.\n", "2. `args`, a tuple containing any other parameters that need to be passed into the function used to compute the summary statistic.\n", "\n", "Below, I draw 10,000 replicates of the median." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "bs_reps = bebi103.bootstrap.draw_bs_reps(df['x'], np.median, size=10000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To compute confidence intervals from the replicates, we take percentiles. For example, to compute a 95% confidence interval, we compute the 2.5th and 97.5th percentiles." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "conf_int = np.percentile(bs_reps, [2.5, 97.5])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We just computed the confidence interval for the *x* values of the data set ignoring the trials. We can automate this process to compute confidence intervals for each of the three trials, storing them in a list of dictionaries along with the trial numbers and point estimates of the median." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "summaries = []\n", "\n", "for (label,), group in df.group_by(\"trial\", maintain_order=True):\n", " label = str(label)\n", " estimate = np.median(group[\"x\"])\n", " \n", " bs_reps = bebi103.bootstrap.draw_bs_reps(group[\"x\"], np.median, size=10000)\n", " conf_int = np.percentile(bs_reps, [2.5, 97.5])\n", " \n", " summaries.append(dict(label=label, estimate=estimate, conf_int=conf_int))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To make sure we understand the entries in `summaries`, a list of dictionaries, let's take a look." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'label': '1',\n", " 'estimate': np.float64(3.58011083554113),\n", " 'conf_int': array([2.51454132, 4.30516588])},\n", " {'label': '2',\n", " 'estimate': np.float64(2.000836674147943),\n", " 'conf_int': array([1.40245352, 3.65771395])},\n", " {'label': '3',\n", " 'estimate': np.float64(1.0906343409350114),\n", " 'conf_int': array([0.43744037, 2.90887073])}]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "summaries" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When the summary statistics are stored in this format, we can use the `bebi103.viz.confints()` function to make a plot." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"25880627-3ec4-43e2-a853-cf646e0b5c10\":{\"version\":\"3.9.1\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"p1097\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"p1098\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1008\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1010\"},\"y_range\":{\"type\":\"object\",\"name\":\"FactorRange\",\"id\":\"p1017\",\"attributes\":{\"factors\":[\"3\",\"2\",\"1\"]}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1018\"},\"y_scale\":{\"type\":\"object\",\"name\":\"CategoricalScale\",\"id\":\"p1019\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1015\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1049\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1043\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1044\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1045\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",[3.58011083554113]],[\"y\",[\"1\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1050\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1051\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1046\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1047\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1048\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1058\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1052\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1053\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1054\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/2sp/3LtuCyLA59ZVnqthaADAGuR1NwQAAAA\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",[\"1\",\"1\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1059\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1060\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1055\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_width\":3}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1056\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":3}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1057\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":3}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1067\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1061\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1062\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1063\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",[2.000836674147943]],[\"y\",[\"2\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1068\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1069\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1064\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1065\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1066\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1076\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1070\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1071\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1072\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/zvx+olkccE3+3Mn/rT/d+J1AADxPPvEEAAAAA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",[\"2\",\"2\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1077\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1078\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1073\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_width\":3}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1074\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":3}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1075\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":3}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1085\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1079\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1080\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1081\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",[1.0906343409350114]],[\"y\",[\"3\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1086\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1087\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1082\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1083\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1084\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1094\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1088\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1089\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1090\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/0t7JPOQ9f9t+y2bzrHEubI7AABIANeWEAAAAA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",[\"3\",\"3\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1095\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1096\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1091\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_width\":3}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1092\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":3}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1093\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":3}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1016\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1030\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1031\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1032\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1033\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1039\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1038\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1040\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1041\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1042\"}]}},\"toolbar_location\":\"above\",\"left\":[{\"type\":\"object\",\"name\":\"CategoricalAxis\",\"id\":\"p1025\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"CategoricalTicker\",\"id\":\"p1026\"},\"formatter\":{\"type\":\"object\",\"name\":\"CategoricalTickFormatter\",\"id\":\"p1027\"},\"axis_label\":\"trial\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1028\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1020\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1021\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1022\"},\"axis_label\":\"x\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1023\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1024\",\"attributes\":{\"axis\":{\"id\":\"p1020\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1029\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1025\"}}}],\"frame_width\":450,\"frame_height\":150}}]}};\n", " const render_items = [{\"docid\":\"25880627-3ec4-43e2-a853-cf646e0b5c10\",\"roots\":{\"p1008\":\"cc26f510-66dd-445b-a391-b8a8299a3f98\"},\"root_ids\":[\"p1008\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const 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": "p1008" } }, "output_type": "display_data" } ], "source": [ "bokeh.io.show(bebi103.viz.confints(summaries, x_axis_label='x', y_axis_label='trial'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pairs bootstrap\n", "\n", "We can also perform pairs bootstrap calculations in which pairs of data from two one-dimensional arrays of the same length are drawn. For example, we may with to draw pairs bootstrap replicates of the Pearson correlation coefficient for the $x$ and $y$ data in the data set. Conveniently, the `bebi103.bootstrap.pearson_r()` function computes the correlation coefficient. We use the `bebi103.bootstrap.draw_bs_reps_pairs()` to do the calculation. The API is similar to the univariate case, except now we supply three positional arguments, the *x*-data, the *y*-data, and the function to compute the summary statistic from the two." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"7318d83c-eb2a-445d-8e18-0825c91765d0\":{\"version\":\"3.9.1\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"p1191\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"p1192\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1102\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1104\"},\"y_range\":{\"type\":\"object\",\"name\":\"FactorRange\",\"id\":\"p1111\",\"attributes\":{\"factors\":[\"3\",\"2\",\"1\"]}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1112\"},\"y_scale\":{\"type\":\"object\",\"name\":\"CategoricalScale\",\"id\":\"p1113\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1109\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1143\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1137\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1138\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1139\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",[0.5743377902759684]],[\"y\",[\"1\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1144\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1145\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1140\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1141\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1142\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1152\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1146\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1147\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1148\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/2O9dk63csZB+z9vY+bvnf3KHgBauMfbEAAAAA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",[\"1\",\"1\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1153\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1154\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1149\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_width\":3}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1150\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":3}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1151\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":3}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1161\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1155\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1156\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1157\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",[0.721188901212684]],[\"y\",[\"2\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1162\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1163\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1158\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1159\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1160\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1170\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1164\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1165\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1166\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/4vjdpudHvXA3rmd3fPrlNf2AEm78XIQAAAA\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",[\"2\",\"2\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1171\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1172\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1167\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_width\":3}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1168\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":3}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1169\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":3}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1179\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1173\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1174\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1175\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",[0.43878435334640964]],[\"y\",[\"3\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1180\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1181\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1176\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1177\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1178\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1188\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1182\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1183\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1184\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wtUf3N6tfZG++ufMye9/fTMHgDzHDqLEAAAAA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",[\"3\",\"3\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1189\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1190\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1185\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_width\":3}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1186\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":3}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1187\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":3}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1110\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1124\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1125\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1126\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1127\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1133\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1132\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1134\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1135\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1136\"}]}},\"toolbar_location\":\"above\",\"left\":[{\"type\":\"object\",\"name\":\"CategoricalAxis\",\"id\":\"p1119\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"CategoricalTicker\",\"id\":\"p1120\"},\"formatter\":{\"type\":\"object\",\"name\":\"CategoricalTickFormatter\",\"id\":\"p1121\"},\"axis_label\":\"trial\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1122\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1114\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1115\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1116\"},\"axis_label\":\"\\u03c1\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1117\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1118\",\"attributes\":{\"axis\":{\"id\":\"p1114\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1123\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1119\"}}}],\"frame_width\":450,\"frame_height\":150}}]}};\n", " const render_items = [{\"docid\":\"7318d83c-eb2a-445d-8e18-0825c91765d0\",\"roots\":{\"p1102\":\"fd3530ea-1900-4f4d-80e1-ab70030e6140\"},\"root_ids\":[\"p1102\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const 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": "p1102" } }, "output_type": "display_data" } ], "source": [ "summaries = []\n", "\n", "for (label,), group in df.group_by(\"trial\", maintain_order=True):\n", " label = str(label)\n", " estimate = bebi103.bootstrap.pearson_r(group[\"x\"], group[\"y\"])\n", "\n", " bs_reps = bebi103.bootstrap.draw_bs_reps_pairs(\n", " group[\"x\"], group[\"y\"], bebi103.bootstrap.pearson_r, size=10000\n", " )\n", " conf_int = np.percentile(bs_reps, [2.5, 97.5])\n", "\n", " summaries.append(dict(label=label, estimate=estimate, conf_int=conf_int))\n", "\n", "\n", "bokeh.io.show(bebi103.viz.confints(summaries, x_axis_label=\"ρ\", y_axis_label=\"trial\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Permutation replicates\n", "\n", "When testing the hypothesis that two one-dimensional data sets come from identical distribution, we may use a permutation test. If data set *x* has *m* measurements and data set *y* has *n* measurements, a permutation sample is obtained by concatenating the two data sets, randomly scrambling the order of the concatenated data set, and then assigning the first *m* entries in the concatenated/scrambled data set to be \"*x*\" and the remaining *n* entries to be \"*y*.\" A summary statistic is then computed from the permutation sample to get a permutation replicate. This is done over and over again in order to get many permutation replicates to ultimately compute a p-value.\n", "\n", "The `bebi103.bootstrap.draw_perm_reps()` function generates permutation replicates. The API is similar to generating pairs bootstrap with three positional arguments, the *x*-data, the *y*-data, and the function to compute the summary statistic from the two. Here, we demonstrate a permutation test on the values of measurement *x* for trials 1 and 2. We will use the Studentized difference of means as the test statistic, which is conveniently available in the `bebi103.bootstrap.studentized_diff_of_means()` function." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(0.0287)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Extract data sets\n", "x1 = df.filter(pl.col('trial')==1).get_column('x').to_numpy()\n", "x2 = df.filter(pl.col('trial')==2).get_column('x').to_numpy()\n", "\n", "# Compute test statistic from original data\n", "diff_means_studentized = bebi103.bootstrap.studentized_diff_of_means(x1, x2)\n", "\n", "# Draw permutation reps\n", "perm_reps = bebi103.bootstrap.draw_perm_reps(\n", " x1, x2, bebi103.bootstrap.studentized_diff_of_means, size=10000\n", ")\n", "\n", "# Compute p-value\n", "np.sum(perm_reps >= diff_means_studentized) / 10000" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this case, we got *p* = 0.03." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Parametric methods\n", "\n", "In parametric modeling, we have an explicit *generative model* in mind that generated the data. The generative model has a set of parameters, and a central task is to estimate those parameters. The **maximum likelihood estimate** (MLE) of the parameters consists of the parameter values that maximize the [likelihood function](https://en.wikipedia.org/wiki/Likelihood_function).\n", "\n", "The bebi103 package allows for drawing bootstrap replicates of maximum likelihood estimates (MLEs). This is accomplished using the `bebi103.bootstrap.draw_bs_reps_mle()` function. The function does the following.\n", "\n", "1. Compute the MLE of the parameters of the generative model from the measured data.\n", "2. Use the generative model parametrized by the MLE to generate a new data set. This new data set is referred to as a bootstrap sample.\n", "3. Compute the MLE from the bootstrap sample and store it. This value of the MLE from a bootstrap sample is referred to as a bootstrap replicate.\n", "4. Repeat steps 2 and 3 until the desired number of bootstrap replicates is acquired.\n", "\n", "This function is quite general, requiring the user to specify a function to compute the MLE, a function to draw a bootstrap sample, and the data themselves." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### MLE for a univariate data set\n", "\n", "To begin, we will consider a model in which all of the $x$-data from from a Normal distribution. That is, our generative model is\n", "\n", "\\begin{align}\n", "x \\sim \\text{Norm}(\\mu, \\sigma),\n", "\\end{align}\n", "\n", "with the two parameters we seek to estimate from the data being the location parameter $\\mu$ and the scale parameter $\\sigma$. Conveniently, the MLEs for the location and scale parameters for a Normal model are the plug-in estimates for the mean and standard deviation.\n", "\n", "First, we define the function to compute the MLE. The function must the data set as its first argument, and may have other arguments if necessary." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "def mle_fun(x):\n", " \"\"\"Given a data set, compute MLE (plug-in) estimates for the\n", " mean and variance.\"\"\"\n", " return np.array([np.mean(x), np.std(x)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we need a function that generates a new data set from the MLE. This function must have the parameters as a Numpy array (in this case an array of the mean and standard deviation) as its first argument. Additional arguments, if any, follow. The last two arguments must be `size` and `rg`, which are respectively the number of new data to generate and the random number generator to use." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "def gen_fun(params, size, rng):\n", " \"\"\"Generate a new data set\"\"\"\n", " return rng.normal(*params, size=size)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now draw bootstrap replicates of the MLE." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "bs_reps = bebi103.bootstrap.draw_bs_reps_mle(mle_fun, gen_fun, df['x'].to_numpy(), size=10000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The output is a Numpy array where each row is a parametric bootstrap replicate of the MLE. Each column corresponds to on of the variables, the first being $\\mu$ and the second being $\\sigma$. We can compute 95% confidence intervals for the two." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2.09192385, 1.74039936],\n", " [3.14580552, 2.47854921]])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.percentile(bs_reps, [2.5, 97.5], axis=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first column is the confidence interval for $\\mu$ and the second is the confidence interval for $\\sigma$.\n", "\n", "We should, of course, also compute the MLE itself (not just its confidence interval!)." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "μ MLE: 2.61\n", "σ MLE: 2.13\n" ] } ], "source": [ "params_mle = mle_fun(df['x'].to_numpy())\n", "\n", "print(\"μ MLE: {0:.2f}\\nσ MLE: {1:.2f}\".format(*params_mle))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Graphical display of a confidence region\n", "\n", "While the above calculation of confidence *intervals* are useful for each parameter, we may wish to understand how the MLE of $\\mu$ and that of $\\sigma$ might depend on each other. E.g., we might wonder if we have a higher estimate for $\\mu$, do we also have a higher estimate for $\\sigma$?\n", "\n", "To address this question, we can plot all of the bootstrap replicates. From those, we can draw a contour around a 95% confidence *region*, which contains 95% of the bootstrap samples. This is achieved with a corner plot, which also includes histograms of the bootstrap replicates for each parameter individually. This functionality is given in the `bebi103.viz.corner()` function." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"0809e45b-a4f8-42b7-9376-c69f663a4d99\":{\"version\":\"3.9.1\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"p1379\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"p1380\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Row\",\"id\":\"p1378\",\"attributes\":{\"children\":[{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1374\",\"attributes\":{\"styles\":{\"type\":\"map\",\"entries\":[[\"orientation\",\"horizontal\"]]},\"tools\":[{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p1367\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1225\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1279\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1336\"}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p1368\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1226\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1227\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1233\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1232\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1280\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1281\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1287\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1286\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1337\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1338\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1344\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1343\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p1369\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1234\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1288\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1345\",\"attributes\":{\"renderers\":\"auto\"}}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p1370\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p1235\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1236\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1242\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1241\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p1289\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1290\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1296\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1295\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p1346\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1347\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1353\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1352\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p1371\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"LassoSelectTool\",\"id\":\"p1243\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"PolyAnnotation\",\"id\":\"p1244\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"xs\":[],\"ys\":[],\"editable\":true,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"LassoSelectTool\",\"id\":\"p1297\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"PolyAnnotation\",\"id\":\"p1298\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"xs\":[],\"ys\":[],\"editable\":true,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"LassoSelectTool\",\"id\":\"p1354\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"PolyAnnotation\",\"id\":\"p1355\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"xs\":[],\"ys\":[],\"editable\":true,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}}]}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1372\"},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p1373\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1246\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1300\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1357\"}]}}]}},{\"type\":\"object\",\"name\":\"Column\",\"id\":\"p1377\",\"attributes\":{\"children\":[{\"type\":\"object\",\"name\":\"Row\",\"id\":\"p1375\",\"attributes\":{\"children\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1203\",\"attributes\":{\"align\":\"end\",\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1212\",\"attributes\":{\"start\":1.5464792607289528,\"end\":3.6609445205698767}},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1202\",\"attributes\":{\"start\":0.0}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1213\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1214\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1210\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1253\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1247\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1248\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1249\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/zXFbSwUcBwH8Ht+LhlWSN2V4upuXYZpo/9P0wMWW2HmoixFSZ4q5VI20uiBbstDSnNCIQuLHjZL1mzWqoVqFptukkp2GnWc05u+nzcf8+lljtNJVmb+/2Sb1Ug/rAxPT407GzPnGZ5Tvy83/5ln2Hake5XfhQWGeaamW0UCG8OS0fLVn0psDC93K6hROy4y7ByTrjRULDLsbtSbXnvYGVa92e255p6dYS+Zb0P6piWGtbuU3j2Plhh2CxZFF7tzCHsctLm0J3AIK/NmPgzXcgivr/5WwR/nEN74dDRW480lrP446BqdyiWsme0fzmvlEtY59VQ3WLiEfbZ2HXjryyPsH/nQ428Oj/C2tLpR5XMe4cArVXdD7TzC7EHpoaxgPuEdfZdU1YV8wjvHDV96+/iE9/Cz6n7KBITDVSlJLhECwhEsYcP2GwLC++Kjvh4dFBCOMoQ1lq4UEo6topQncULCcV3+6rE7QsIJQ5rv0jEh4cTf65p9PEWEkxxdT+iTRYSTtzhoC5tEhI/vFf5qmRIRPpm60DqkExPOKLak27PFhE81Tui8usSEz7wasUTOiwnnmgfazwZJCJ/n9mfX5ksI56994dvfKyFcENQ5OyOSEi7St3S6h0kJF58z5YRckxK+WlEZkPZOSrjs8XXrTScZYeNA4bPuGBnhckuuYaJKRrjSITNwxYiM8G1t8mKAUk64Jjy+O/GwnLDp2P6LJQ1ywvWXQ6ljUk74fj3jftYoCDf3+r0UZCgIt45tLtB2KAi3LalCYuYUhP8B4RyMpPADAAA=\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/3XTX0iTYRQG8BleqTj7hzmKUUQrKFJpFBI9jZC8WDIk8sKKECwtRqDC2oUW09XyIlOQULAglHLZSJQuwmRsoCsdtdTwD0NdRln4lXNugaTivvfZYNR38+PjnBfe93AehUL+AmlbNMdWy/E/RVsMue+W6Kfx86qHruykvEbQrvu6Pdf6LaDyeZs4b8PdaL05pv5mkXTO/hK050hlxbcGO2hi3XZFmzLkcYJmtJkHTte7QR3JVy+cfeQBNY++rXyDQdBtbqtv1jQO2uRYH8qoHQN9l+P0+funQDNriufrDgRAUx80Wi9JAdD1kYLPntBX0C/a9Lwx6QdocYFR2fXhJ+jqYq5fc2MJVJ5TUMwriBz1tLPPtRzzyWSusrshDCq/IyzeE8ad8760E/q4+2v86gn8Ab33e0Zvao+AbjXUdehUYdAqY2ftmikC6li4/spaFAHNH9771Du9Ajqgta3dHg+B7gs9M2e9XgKtfjzaPvP9F6jKvHNZq5FAC5WHSo7uWABN7jjpPpg0D3rcqD5jvzwHWl168ZRrbhY0qNglGcomQEuj+/QJ9Hl0Pz6CyvvjFfvlFXvoiakz/C1fVDhBB1s396kXdHeFb6r3cA/o9sLAizZVN2hrdD4toMH3m/+doM0iH1S+p0Xc15KQK+YrnpfEnP47n/E8sr4BDb0l//ADAAA=\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1254\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1255\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1250\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1251\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1252\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_alpha\":0.2,\"line_width\":2}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1211\",\"attributes\":{\"tools\":[{\"id\":\"p1225\"},{\"id\":\"p1226\"},{\"id\":\"p1234\"},{\"id\":\"p1235\"},{\"id\":\"p1243\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1245\"},{\"id\":\"p1246\"}]}},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1220\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1221\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1222\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1223\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1215\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1216\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1217\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1218\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1219\",\"attributes\":{\"axis\":{\"id\":\"p1215\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1224\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1220\"}}}],\"frame_width\":175,\"frame_height\":175,\"min_border_left\":80}}]}},{\"type\":\"object\",\"name\":\"Row\",\"id\":\"p1376\",\"attributes\":{\"children\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1256\",\"attributes\":{\"align\":\"end\",\"x_range\":{\"id\":\"p1212\"},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1323\",\"attributes\":{\"start\":1.3954497909846082,\"end\":2.8970450579070963}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1267\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1268\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1263\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1304\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1196\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1197\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1198\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[1000],\"dtype\":\"int32\",\"order\":\"little\"}],[\"\\u00b5\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/xWZeSCU3xfGZ+ZdZgbRQrSorIXs2Uo5FSGRSLKlREpRhPhmqyRrIpKUkChKkS0qlH2LEqESKlkqSaEsv/P7E2Pe9957znk+z3PpmA+bGiLZoBVBNfM5U+C1xoz3B5uGL0vjSjZN0HDZ31XCcoiGWlmlQd1WCqrdw0vXvmGB3ujvtOZbBKTnPlRWFCOhKl3h/jQfE1Y6Wzu0GROQy1XPHomnIdDCIf2VGwEvLyv7iuUToDlvVFzxFwv8QrbmCJdR8ONVx/RlNxJW3G3vkfSj4YqY6KGt7gRwpJzm8sMpcGAvEnrWxIJcsSB5EzsStptmuqvZs+FA98IK22j8/0WR5a9qKZhcfk3giysBp51suhYL8YBQ9V2Dc85cMM+WKW2tJcAyNmYyNIaCkHZSUv0BDXc5Tq7b0ynY1tAiFqZLw66bgqayeRT8TtftnPhBwyKz83NVv3Edmq2Z7iMU8D8qfhMfxgIfU735fb009JgZTqdoklBLhI3JtVPw10nk7eksLkxq8P59mz+ns7n7VIPPQwqyXAtHNf1JkO9fZJB4lA3T1nPrf+SwwFMrWbvuGwWts/HkpSDcb0NWzcVJFhhMp3+a94oEqXmfbv10peDP5yPvrHdTcG7YxXt/CA0XUpvezGayQPW13IpcLSa4SbW/GbWnoUwioJP9DZ9rxEyp1CCg11cwL5pJQvFrnUfXt9HwmDjkt/ABfs/qK8E3bpLwZt+7P+r9JLxkr3QjY2d1nHrcjULvs2GF1EiZlQgTJBy2TU5lkBB+md5iL09A/MbnW2yk8T2VDD7c6aJAO0Mk+bIlDVPs9ZkvNrFh6KajrNFHLmR6NOrtliPhqXOC29uXJGR4ORp/jGdBnrH33SKKDbGSs8TLc2yY4o3iKmSTMPEnbvhrJQEbPMr/fnzKhKsPnAd4XzHhyULxr6PFFBh31n/0LGCDpFXiye1zJGjnHN/QvYUBARHfslTfsiHLl1NwOpaCwKa/9GZRAmS0QlaYepMgmVd13SuCBPpAlWFyNguGqkY9E7ZyYOiNZbKCLgseuU3ar/AjoGxf8XbZGxSQLc/5lfCc1gqdVj87wATFYQ/JaBs2SGurTZ35SYLQqV2XJHxpyFEz/yzCw4Zb5fp7/3A5MHOs9KSeABNypK0FeqNpCE0W9VK+QIC4fusQJ56EMqmrp0rPE7Dr2O2kuy+4sKa762zP/9/3XJ/Hc/zc5a42cyMeLsS4ytpe1qLh9+zh+WkFFNz2rnDcXUnB4S53P88jWLcdzeM319DQqTIgczucBHappFqYLAUqS/iNYmrYsIDfdSo5joBzL2HlJD8T9I0irwcNsCGvbqXOutUELIrmjnALSXCOfrK85g0TrAaMnXyTKLi54Nqy8igmiPVFL7zwhQ0z34e3BspxQLEgZVIojgXjJo+M5YsoSC3O0LnoQ0PA9ArZ/oU8oHhf3HjUlwIBNUmh1kwmtJwYGxYq4MJoZ9TFJCcGyLWsD9D3YgEt1VX9yocNRwoCOpodaeC35D0Z8ZINY8EFH0vu0XDgJY/wMvycWEWpc6AeDVjlwuaHabj0+t5t3zcUUKWOp82WkaDhXR15bJqEemZ1aLQ4L/DM/uORxN+37piWWvQP++Zzl61zKAETpyJ6z+dwILBO8kxcHwmxwsWDDdgPi/rN3Bef5kKazOtLediHwRaPO55NkRCUtdauV4GG6rtHdL5xSTBqiBOo9iLhueU1z4lSGuJ3Nn6vGiXA46sps3AXEw5s07rryceGSjv1HbuTKaDrL9+r0iGh7n5xyMkyNthlv2c6iJKger/M1uY4C1waqiTKX7Cg8cmOlKEeFsz8zmGPHKHBQlVKaKsSCWLfrx4tVGODa0nqJ+WNNBQ09ghFbpvW6TU4+nMj7k+rXpH3kucUjF16f/KiCwGj2fesM60p6B8OW7pHhAZisLlWdhcFFWe1gydw/Wa+LZVLmgkQXNMdUIXnvcvRsy8X+58v3MhLeisL0tdUaFU3cSEjUVlQPJACHyo00FqcDekP7vcacVjwa5+0ZWMTAWy1DR9ndxKw5tbgsSRc76fb7UN+OF/5uvv8rCRY8Kyq7TQjBOdMbvY1coaAV+OLr6hhXfMJDz0sPkMDZTWUflyAgBE3y4Zl2bM6F9M+VOceZcK+pLKLLfdpOP9yb3nVBRICY8ot/EY4cFahcXQrh4bF1VxuN5MNqa+CtsvlkJCztETgzHrs5/zdVx68ZIJGqejxWuwP/rXnzace4VyVXnouqRHn8XDY/XOoA+/Nv9RGcymA2v0sHRM23Cuen9PLYIGttLGGiyMJUeZyHRtoCly9m7bWedNgNTHpsVWNANP6xPqUayQcDWKc/wA0+LfmZl5zIWHWd6Lo2TAFSuIi1i1+FNQ8XCOeOcCAttBvjmVYL+U3/VZWc9kQ+ErMJekdE9YtkXnbupMF8RaEQjbqGn3R1XXROgrE92aKp32loLAisrnSnQk1+ro2p1bS0PVidn6sOg1tFtJ2nTtp2DNQu3OVHxeSj0lLNZ7E543ahv6apSC34EZq11Ma3se/275Yg4Ln5g7auf0cWLN1gXzVeQoYJ3y7vnhg/wR+PBXUQ8OARpB9ozcFYksdnWqwb4zDjjm5txPQrRg28uIpAY+fVfw7q0LDg7R6E5sZElgaJi/7V9MAE12+adYkONJ+O12UaBDww0V9IYC7l+9mLs6B79WVejn7mRC6rcfzcMqsTvcaOXUFnGvjsaMjq96zoTki1/eiOQuCSmNi61MI6FvylZd9nQOZYVUbTyox4YWRfb/JEAl/ZrK4B73ZcLh7/pI+Lg1ZNwWLryM/zCbt83k1RIHTLfX8BNRtfb0LTmFGBCQGXzr3ypoNB7VvNn/qY8DYTjvH9i+oQ4WRghPjqJMpxZ5WtiRU6obvWrSYhL2yR/zZKwho9i+PJLH+jdpHNjSuJMHfpOrRBjWcq/Pz8rIEWXDLRMpDfB8J/zkYrF99nwJvyxT5fdY8UKbrejMe6640I7rk+hsSutdFiztYcOFwPy1UG0SCTOaGhLAK1DdzUZuAjSwI1OrZ/Q316pvCuWP/jChYd6nZuVoaeWK8+ACpyACNlCHJHuQJ4x6J3HUlDDhw7dXO1QE0aAhUpI/OJ2ELj0O24wQJ1hyBh2dPEeA2Z1Pp10CB2wE9j69NTDCJ/vRNnUEC74cETWUOCUlf1kUUOTOBv5dy7EVdVOSx7nFeTEFV/mDlAVnUsdCgOCUxArKbtisZ1TOha9BGP0+AgqWfCBHFJAKkO45mqXmwwcTfQ59jQsD1BAhPJJHP9ppLa2VQsFtiheZaM6ybvSvbjg7TUHpLtzOmF/XyxjHzlk00nN373d2rkIKRkUMTB5EDBWcviA2aTOsMDjcK7mlgwNWvP8bHWyjgvv1Uc+ceE0bWhax4uIOCtfs3C7ppEhCebnbVWpEGp4GjOns30HC4JbTseiMJyzR3uNxFzlhyK2lB3mMmGJ/MnujZTsMvlScZdt3IDa3vUz+g7qbLpwWfdMZ6f/Jzxhz7a8gsRZXtyIXjcqLDb1G/B6LdCk2tCIhgnvmkvYIE3RI3Vf7tLFg/um3fgBIDmupX1zuPUSA4P7ThEM5X/j0KIoP484LCJa7L2pnwip3LWGtLg0ys6G07YVw/4/F0RiUTto5miZg9Z8DvtOJGNSsSzmpYttc+o2Bl7I1yfiUuyOz1Cw87SsKet5439iIvsN3bisJyaXg7liv17hYLdpAeoazreE6zt54+VqHgaueMZizqerCh5tebTRS8POizpzwUdc5lYETYmQS34dNTcsgFOlvndI+bckE5KlJ21ADXdWJHif4Q7uMLwyeUP+6LYFBCtToXDsUrr9w/RsKUVupM5FUS9JRSeCXWUjBd3pBa5M4GIx3z2MfY3xc0ryVs2ssBzwzm7wERNqwxl1cVSKUhO2aVgm06Fx6oGCnzRhPgsPGkxtsHBBwK7r/nK8uG5PkfpwqrKVhWp+hx+RcF+XIyGoPGLEgzTxTIJQiYr6HFveTIAlkV59Mn3mG/dTgv+fmchHVuLrPsDgKm/308+EGbA9tebnLuQ53nu/DvyX0bGp7+Fdc4qceBYkbAhulOAuaK72sY3qAhNXepaHcYA/JTXPczHjIAUk+pZV9FXiv6z9h7EQ0dzMi9GchDy1u2O663pcBqfalv4wgTCs12bZFezgKNgcAXChYEeA432vR3zuh8L18s79bFhAwT4P2hxAFT5yOVFljv3qdTlSdWs8HJ4snqH40UNBtf/XYU51OZq7VHCcmFX018nKpFLFioNyc+hFz9+En7uVJpJniI1PBWPCYhbY9Y2++/BHSIrtdo/sQL43Ghe0IOkmC3sSHh/BUKzD9Pm4v2sKFhw0NxmSSswwOhMa1KqEvPC8YbnSiwlJMaahVEHREVPTk4RYBaQ092jQ8HrB79cJu5QMFPt87YECsWmKlC5aFEFkyadPoFDDMg6e8igbEUFgBf1ve2FA60qrwS4BiSkBd85fGRMhq+Tfnadz5gQ5LP+tcytTjKR/gWLnzDgMY9l0SFk0iwcA5oLUeO/5Vbo9JSx4a/h65o/P4zp7NPpc7Dt5qAuvMijwojWFDdtOmorSAJhIh6hqcoE0IqVZIKq1EfFIrWUcMsaIk+38eLXNx5xfVP7zcG7HZ+bMZHcEDq48Mfa1Hv7ce4MjviKFh/cFfM+WsEzHB8HvZTXGBO3/gwi3Mw5OBhPR3UVw1L47TVx0n4kmQ31VOEc1EtKDFqLReEP6g1K9lRkNC02kEe9er5jcV32Kif40EfNcXesCGyr+R6vCIJJpG5qc3IHU37C03HVPhgvu+xmsr/89JPRa01jQQo73hBLq3hgtelzq/3kDcsqpT167CejifvXWzYxoLsfStSXdazQEEnnn/qGhN2ONUGLx/HOXq288EL9E2Zb10LNn8jYYOzjv8S5M8Q9mv57Bom+BRKPU2rwXnNqZCdR7DhQ+Spem0NEs4E5NLbkEOGDinvcfjDAGN9C/sfqEsP9kYTX9Af6Vev9n18iQmUu3JVEEXA4tBV3zZ7EXBkj3HPdhk2hAVazx/cSUFkzEn7n4tIULML9dMuYUGSv9TsgjsEiJ3R0hHH9f5SNT4Tb8uBi6yWpZKH0S+8yVZ8eYgGTjCn/DPOkbOtqnYuy/D96twT7SdpsOP/IVgnjt/jea3ZBuenlP5/j7IdOcBRUnAIQ99kkX20iQ91bt4qg006sTRUvBtmzOlTUJ9/QHwL+nYJxsGeSjyPxgOhvGLbGcCytvj+Ev1AxYUHMs4ZNOSa8G0Mn2CDmNj574pJHFBIe/lQCvXl0cDqStnfJER3H9hxBOftdpVNx6NdGLC2zfv3pQdM2HbpbKHdaQomGPMawt+zoH3ucvtb7MucQaJcpIYDO/kDb1zfxwZvY0q46DkBFv3pvkMJBOzpnfJuGmLBSJ726VdfWKAc6f/V5CwJm5/brvDzYcF/QoeDPlTSYC128JtHLxsWPu3QiWCRwL9fhRQrZ8Oy/pivUh4kOG1LclR5S0L+fRsH0S8cqHJ5XRPwj4IrUSJbxCsomPoj4KMQjHqTOlX6LZcE4cZPpvk82KcGXlaXVpFw8GSEsbQoDaOvR1ZX5jOhTCYnbDhiVkchUVVEeWROJ8eK9so4wwJxvSul+jPIIX+5tg2+TFBprzk53D6ro1s13S5ZyoKtOeQWJyHs41PjEmVDOC8VZCweX6NAUSt8qbcVG/qOShouEsJ8oX3otxFy0GKXVt4/DSTIGUSUr3ClYblkvXjXMcxHnswG7kQuvh7otMca60K6tC5B6Q4D2Ls0dwicZcPTL//FmlEsmHIs/s5GvTj/ktvITaPgjvVJ6af3KPilu9X5Uif2OcdmtdFFGjYpVJxsf8EBW7by1YpEEmYWPuaood/M/u7XLIH1tZnl8KVkOQmaT4bVvogxQWmF8d2n+Szw7S3P/4n97TahFLRCHvnB/spOo21cCJmvuKYCecT4D0+iHfLngTfXxM88QB+iWSGb6U1AgkT3qwrsj8poDTGOLfqk3fY35tlhLnWoa4FtLwcOOZmc23cDfZvpwyVXBDhQXVJfeSWEDY8V3QzUlrJAZmYBX+1LFnRqvLbqn8J17lI9kXgK90mOr10I/c7Jxi/FR/toCHr8UVUYefg2n/ZYXTAbln74yk8J47n81vxvvxIB8qc0Sy7zkvCNv9Qm6hMN/yi767qYC2wpkOmW20zCZFxhXs1jCvs1K0lLnYKW9M5FUZYcGJvUuBeCeVjBjwXrKzD/etf27uaadhoSlEs1kjGPkdYz9LK4jXX+7bO0PPJAZXzCRkd3Bkx/VFX5GseExLG2VrkZJrwLJojz5hQEO7fEeW4goU94pHUwHufZWYaD4y6sB1r3hjEfCZYBHVf6VtFQeSepPhc5dOfFHKfTJQSoNxfs3418OP6iuul9Kwe6dO5MJhYRUDTz0vPEQQqSGs+XSjgxIZ1euPTGIg5sveW0b/4+1GFTRgz3KwvW3b/RntxEQ2RSRfHjGsxBtj1JChqgYEBXicyWpMC/lrYdRq7LavNpWfuIgNrpW7f2hBPA2u66rkSZCX/05E24tciTCmHL2NvndCajwqJmVuL5hqZ6vJ+kgOee/451NBsY9usTR3dwYFHP3OZi5PpDkoEXT2Cu4ev/60AncoTxmfXtRZdRbx/tXH4c/a1QMk8giXPUumbjx38NTKgImTIM/MQCx1P1h90+0rCxd8XfZ9IESLTePXThAwuijlVceyzMgrfyipargAVNB58tVEZftsWP/7v8QTZkXguYatmKvHjrv2pdRQouKTk/9sF9WNrRkDcPnz88U6dfv5INSrrBBz5iTiq04beawxwFi1ZFZEjgXL+hed9EFXWW0WF3vusMG962zBtrn0bOmiy3c5FmA2nMitYWmNEhqp+wWrFv6+3NLC+/R5/DPffL6wkJm2beGG95Q0BI9PdhM18WfNZqy7Y9hDz/xE645Trq79Eyt0v2HCjJ4AtKGCHhyOtfPzVaWfB34fgwOwc5b6Ruk342G8q37m7rx/11rf1SJsrA/gq39I1HTplRkddK20fB3c02spUnWPCpwuLbEqzPhymng+q7aFitVnrupg4Nvp+bS8KjSNipzaiejzpsLvebalqOc898aP8vnKtv7wirGeL62a+3qbpXI7drjMU1drFBm19s+9XXFFisMSkQjWfDIdlKnx5P1A+tZb+LGRzMDfZKJAMbDMvFNOwW4HrdPh8sQP/TPRVdWmlOwNRL//+uzs7qmO2+fklFiobCpFUpVrHoG+WMjYLQ143zKHyI0qaRH5rCwrAu/qQ/CUzB8/8rJBAc/wjnXeySymgScwMjiXdfhxhQr9cj06eBeULts4fqS5jwy22H81r0p+7OGR8GN7Ng+3wJoQr0w+dVHSUeaVKgpRy0djcfFx6JpImRyBdft0Y5FdYgT5Qy2Wcx51ju8vSMjhjqVqoM8/YgATneWQVMzHH/3Rltu4hc1uJ1UXIOdbfMI06zD3+eLVjDuFmBcyfezKx7Leacegs23MZ5JTm+jMfvBfoGJwXrFpyHfwNsbp3GnPvIF//0I3domDfuTE5j/peaz9NXhn5nbd4d0Rm04qYLxQdCcb92n+Grkh1ngOYbU5EuQwrOxJp8P+XNAm2Z6uXSuL9FFwomxFGHDsqd2sP3gYZD7Sc6eOIpKIl/HX8A80rptLjxe6d54LiSwe0l7yi4tlnB8nYmAS0bvWPHW2j4xLn/NlOcA5oTo8t00MftO1afw8Xc4YLCArEZzJeOn7959VcBAfeGneW1v5MQapp/+LwJCYb3k6pCBmnw6Dzqk2rAhT+GCibusSTwPNes0fSkIF3iqZzeAja8KI49uRG5RMfY9Kg1+ubmEZs3bzCnjAyKC7TG+4avyinNq7N4QTZR7fvx5yxIdqkf5GtkgdNs7fNnmONYFClu1sO8NiJVcgHdwIIizfhL/88bVeinRU9wjpooTv40xrq/ejXGoSUcc+rqrHcWYQT4e78KqcX8kdloUHSgmwGWQ38kLYvxXCMnMksnka92Lj2ginkhKaNl0/6aCcKCdiM9/QS4H8zfvAt5a43kx+UL8FzeNQQte/4P/+6Y9asP89Tg/7pK87PRHxaKjr7AexOHWfra+yAmKOdr+y9DPuZTUzi/uJWAEzV5fJdRtw836B4PtydhlMGJUsF8zfnc5eA/Twiw2c8yN67Ac/hioZRhT8CwYvh9og/1szFvgw/q4r+W3E/zViPPsoOT/tgy4WeSxqaYHXM6miytK4PITQn1V1kBpkzYaW4z0GvOhQVVknxX3pNwKNmGz12LAj/PO+90gQODdzuYhm8JoCMMM9UxV/RLYya/f0HAggO6Avy7aKhpqWmoE8f7ha8BsqUOXNj9eh/PZ+TjoUc2R19hn8wZFwr1h5Bgw5t9ZT76MPuGsVuGOCcafnEn6/G+ZM+pHP/uuyQkyNjcFOMScDb/ROjXh8jLZquvi1xAX7LNy3t4P75vxAfJSlUK8rp3RdzVR/3/XnJmXj0L5sUoy1yPoiH/8lvJ8GAG5H0Y1aufR8EToRHuBObeLskbIsMw5+uWTCxeV0XA57Fmv3HM323PiY+TbWwws1ZEdaPgkcIJ2ey1TFhdGnVoC/a1YLvq8Y4MzPvI4bvMI0wgl0h5FdUzwOJQcq4j5qeJDZoiYe8I2B2hMm+4Fr/PSapEH3MElWNK/ot7GbA0O3jDEJ5TuEhc/cEOzN1OmSQk/iMgmO+wrhnm3zFrhrUdduG90dhE1hA+vyx8pqP+ML7Je+UdEWLIp2MZVAjeh61Qnlo7gH7/oujDirsU3nMZNBd7ob5kpSVk+SBXLP4sI/yhhAQPh/K+dbeRP3hyQv/KIF+9c6Es6gkw3OfldfMCD4QYRBlOzKdgyeLrrkZRLNhpo14kj7nFrnV/45RL8TkrnN/OxDFgUvzpwzjMo+f9x2m8h7nu70Re83HMa5UWiiWOx6C/if6dV2GN+W6wQt+LMg5cduXkyuric6N2u3phnql3RNGAH+d1otEPG4leChoUPq16qoV5HO9D45t5LDgzE/QqsAq59XOORHkI5l8yYTtdsmgomlWXVVzAhJi+e65q3TygIwcbrGRYQF0d9M7Ge6uzl3fyeFVgvXH1BPdLc+BLlT7/MuS0NXb8g+rI29XkhyYhzJ/kXmXddsacVvbTTPyoHRtaKi2q29DPpQW6J4RMTus4bp1WPYdc/lqic5cEQYFhpbfhqiE2vIsZTja6jzn44sr+p+i3Vda/d5bB3P7Xukm6msWGzSPr6u7W4T3c5xz92Qv498Pr/gzociBMfyLVlhfvy4gLiUn4vTI391XYq9JQR95b+Ewf502B+FrpNFzftU3307tJKKleypp2wHyu/m9wHOq6eAczX/4BCSutmjP/YM7R0rwogGHAgS2aNro3ygn4j9Hwg9OK+7n86gsXvN+5O5XrVof3kNmWzl1pOC82OorcdTuOfn4evVCukoSHpDV3OS8D9jFK0olhEu7RQhPm6B8Gf9OlPLroMxPmNYqSFJgJl51LG2CBwM8LqTyoW0HPUt7P86fgSGGkvKA6CdLwd04S6y/Tg099C+ZBCcFFJYFpPGC8Mk/YC3VAh9EkNrWHBsfbp1V9MJflH6sQW7gW86iskqfL0feeazc06MS+r0817bSiWdBwpqZiAeZarhdVPQ3wcz2nArk9JRQ8dVxzryMZfbxErU6mMhtuCzIiHq/H9wiVKjwQQYDzpQaRYBfkxgV7YshrNDS3pXWdfor3e+W/n4bmoh+f6yyMQa46QYU6nEM/HLhX8Ew23le2rt8VMIj3iOofWQMifQTowabj6/qQ++4tc/D5hvnaZHXiHdQRvkHdvQ2zNIzd6r9zDPNjXdPmuVMpFNzn2x/6DHNga4GuSBErGtIC/sXy8uK9V7eD22lJ3K+Ygv56B+TqpW1kCk1DrL3L4SPIkb3eI/krMCfcYOdpqvCIA6c9nOQtDWj4HyCb5r1AHwAA\"},\"shape\":[1000],\"dtype\":\"float64\",\"order\":\"little\"}],[\"\\u03c3\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[1000],\"dtype\":\"float64\",\"order\":\"little\"}],[\"divergent__\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/+3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMvAcGvpOLOqAPAAA=\"},\"shape\":[1000],\"dtype\":\"int32\",\"order\":\"little\"}],[\"chain__\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/+3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMvAcGvpOLOqAPAAA=\"},\"shape\":[1000],\"dtype\":\"int32\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1305\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1306\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1301\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"\\u00b5\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0.1414213562373095},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1414213562373095},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1414213562373095}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1302\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"\\u00b5\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1303\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"\\u00b5\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1310\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1199\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1200\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1201\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"int32\",\"order\":\"little\"}],[\"\\u00b5\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"float64\",\"order\":\"little\"}],[\"\\u03c3\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"float64\",\"order\":\"little\"}],[\"divergent__\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"int32\",\"order\":\"little\"}],[\"chain__\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"int32\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1311\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1312\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1307\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"\\u00b5\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1308\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"\\u00b5\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1309\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"\\u00b5\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1264\",\"attributes\":{\"tools\":[{\"id\":\"p1279\"},{\"id\":\"p1280\"},{\"id\":\"p1288\"},{\"id\":\"p1289\"},{\"id\":\"p1297\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1299\"},{\"id\":\"p1300\"}]}},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1274\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1275\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1276\"},\"axis_label\":\"\\u03c3\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1277\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1269\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1270\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1271\"},\"axis_label\":\"\\u00b5\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1272\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1273\",\"attributes\":{\"axis\":{\"id\":\"p1269\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1278\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1274\"}}}],\"frame_width\":175,\"frame_height\":175,\"min_border_left\":80}},{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1314\",\"attributes\":{\"align\":\"end\",\"x_range\":{\"id\":\"p1323\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1313\",\"attributes\":{\"start\":0.0}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1324\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1325\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1321\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1364\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1358\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1359\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1360\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/zXFbSzUARwH8P89/K+6UvKwHpRuethlS81QLPv9ZMWEVZclsjTRRjM1xmrrslgJEbMM04RsLVci6elG04iZaUyueyHlVhKj5O6cu970/bz5tOUVtSv7/lLb/52Vw3K79yLhtBIPzVzhIuEet6S6b9OLhL2qHs2ORpkJX9s2H9yvMxMeawgs0q+zEPb3zjW0ZFgIlz7pVTcOWQhP+zlnV/paCYe9OvW+sNxKuJ7uu2r/WAnbu03nLscsEY6L8Hma3L5E+Plglj12g43w+pi3kZE5NsIXDfJqGrMR7j0b+cM3aJnw9sny/buqlwlrUz/nb7ItEzbMeg2vSbATDshK9RL0dsJl1paM354Owr+0Fr1J6yAcLoY4GcYdhE8c7m42qQTGwsrvJxOPC4x1fattY7kC4/jivfWaZwLjVcc0EQMTAuMXLtlzR1wljM+PVFV2hkoYu1TqKShTwrgzbsLU2iBhnL5VcWfPiITxlvHd/k2ilPGHB1FGVYCUcXbypRtVKVLGO9UV3m73pIw/TnUMFfdIGV9vNuasMEsZ+2QIqly1jLHRd0ePNVbG+PZCWHpmgYzxgY4095mXMsaTV0reXJiSMS4Pbk36slnOmIVRZfxROeOZd9aW4atyxjX5nqejH8sZR4QfEnqNcsZmZUpTiJPI+OFAQfTrYJGxprR5wS9dZCzRDNXoakXGOveFUPWgyPjMp40/6xwiY2X1wTKPfQrGHQmJgRWJCsYpqrzxtXcVjN2+Nt281aVg3NXY7yOdVzD+B5dISk3gAwAA\"},\"shape\":[124],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/3XTX0hTURwH8LuRMCxaWSD2YCkrKhzWXmIUfK+2MlBWNMwRFWxPtYi8UEtBpFEPjSY0SIwoa2ZrmmYZuYdUwgQzSfpD6ZLUhssIFpqWa9Af2r3fG4w6Lx/O+Z3zO1zu+QqCPLSZwdgyqwd0U2ougcrrklKXUKKvtud89aqm1+VzHuW8B8VD+7WvTt1Q1Vj7t1YM3QLVpvq1gMrrYaUeRsAlzM86+1T31s72DZQ/AX2qbdiyMfQSNEvnajXtHgN1tJSOFJonQQuqTpv2dEyBthqCzmcfYqDy/dPK/dMYnup2rFkeVy2uG28vy5sDLZPEFXneOVC7zmz+NJwAbYqdnxm5kAQNb67IOnE/CZoh+I5d3PAL1BK+3LwjQxBpZX7zjMEmiLS7pnfiTZEg0sa69m2LAoJII5K+aVSnEanDbVmQ7v4EvRepOnT9sSDSS4Px8rZEEvRbje2mfd8P0Dua7zkPQwug50YXd1ZbEqDBEtvtCcM86PGCs9eOLvkCunRndqVm3WdQq9O2/krPR1DTgWiDITsG6i2KrjpcOwlqcjzINPa+A33rjq583xEBzV375/+9Bu0cL30Rcg2Ciqn3NgAqf/cj0Pz4EaO7qwv/c/tz48mx3DbQM/6o/+quRlCf8n6px6dfXR+oBz2YypMfND1v/57/zZsSU5X0vMl9JaW/BG78DewU+3HgAwAA\"},\"shape\":[124],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1365\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1366\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1361\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1362\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1363\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_alpha\":0.2,\"line_width\":2}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1322\",\"attributes\":{\"tools\":[{\"id\":\"p1336\"},{\"id\":\"p1337\"},{\"id\":\"p1345\"},{\"id\":\"p1346\"},{\"id\":\"p1354\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1356\"},{\"id\":\"p1357\"}]}},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1331\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1332\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1333\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1334\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1326\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1327\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1328\"},\"axis_label\":\"\\u03c3\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1329\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1330\",\"attributes\":{\"axis\":{\"id\":\"p1326\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1335\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1331\"}}}],\"frame_width\":175,\"frame_height\":175}}]}}]}}]}}]}};\n", " const render_items = [{\"docid\":\"0809e45b-a4f8-42b7-9376-c69f663a4d99\",\"roots\":{\"p1378\":\"f9d5794d-86e3-415f-9223-8884a0f341c7\"},\"root_ids\":[\"p1378\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const 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": "p1378" } }, "output_type": "display_data" } ], "source": [ "bokeh.io.show(\n", " bebi103.viz.corner(\n", " bs_reps,\n", " parameters=[(0, \"µ\"), (1, \"σ\")],\n", " max_plotted=1000,\n", " )\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that we have used the `max_plotted=1000` kwarg to only plot 1,000 of the 10,000 samples. This is to keep the file size down in the rendering of this notebook in the hosted documentation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Graphical model comparison of univariate data sets\n", "\n", "The generative model emits data. If we parametrize the generative model with the MLE, we can use the generative model to draw new data sets. We can compare these *predicted* data set the experimental data set. For this purpose, graphical comparisons are useful.\n", "\n", "In order to construct the graphical model comparisons, we need to generate predicted data sets as samples out of the generative model parametrized by the MLE. Each data set has the same number of \"observations\" as the observed data set. We will generate 10,000 such data sets." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "rng = np.random.default_rng(seed=3252)\n", "samples = np.array([gen_fun(params_mle, len(df), rng) for _ in range(10000)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Q-Q plots\n", "\n", "Q-Q plots are an effective means of model comparison. They are constructed as follows. Say we have *n* data points. We draw *n* samples out of the generative model and sort them. We then plot the sorted generated data against the sorted measured data points. Plotted points falling on a straight line of slope one and passing through the origin is indicative of agreement between the model and the true process that generated the data.\n", "\n", "We can repeat this over and over again, can can compute percentiles of the Q-Q plots to give a confidence interval of the plots of sorted generated data versus sorted measured data. If the confidence interval captures the line of unit slope and zero intercept, the data are commensurate with the model.\n", "\n", "We have the generated data sets, stored as `samples`. Along with the measured data (in this case, fabricated \"measured\" data for illustrative purposes), we can generated a Q-Q plot using `bebi103.viz.qqplot()`." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"a61fc934-89b9-4578-b891-00036375ff86\":{\"version\":\"3.9.1\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"p1466\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"p1467\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1395\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1404\",\"attributes\":{\"start\":-1.4083268204446737,\"end\":9.027391219097352}},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1397\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1405\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1406\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1402\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1436\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1430\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1431\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1432\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z2Ta0hTYRjH56U1J9oueUMLCZxgTqWiQsv3sRJM0sxlViy7GBaVOVtKmIim5aUhEhukZVcDbx9crqVYHbKWCiaR1zBC1DJ3DAtlqTPXl/59OnA4532f5////XRR0aaiMhvX0l4svDA/w4UalUGdaTw38l0U0zpq5Urm/MMiir9ygSfMiUn8EPdg7qzJzHdwgkdHazKe3eA02n3i0KtvmS4sO3vE7wMLqBMdGqwdZ/kXrbF5EZOswlL+JXLsGxtoLGhckU4x4fsrgQb9NDv1MLnq8WqeTU7NXPeRzLKVg+LM8AAb6+Yn/bQaG/Ope50VVb3ANn1SHxjxWmTG89qmcO0SCxYWHlYW2Vm66qSla8syk5nyZcP8Mutcaf7pFvOHGT4W1pudBFS1k3dJUQlo7XHHuUy1E9XHN/XXLjpTjWZcub7dhcyqWXmBzYVUdxarpbGupG/VdxiWXOlz8G1Vae8qcguptCQ4C8lQefppf5yIBo2iREWVG+mEv15tnRLTmuQzLR12MQncd+i3NbhTX/dyqWOXB4VGZrVZ73nQxoiy4TGrJynGGorigiVUsXfmhyZHQsMT64bib0ko9U30pd12CU176riXaVKy1BvUz3OktCekreeyWkazA7nG2C4Z2VUl5TeXZNTcmqBIYXLSTRyJe5cup6D7KmtYhZwc4T2CY5VyakkqG1TnetHduv0ZylRvejLqVZun8KWFvmu/DRm+5C3Y/GLe3Z8cmt7tQs8N/594j+/wH87BubgH92IOzIU5MTf2wF7YE3sjB+SCnJAbckSuyBm5owf0gp7QG3pEr+gZvYMDcAFOwA04AlfgDNyBQ3AJTsEtOAbX4BzcwwN4AU/gDTyCV/AM3sFDeAlP4S08hte6f57/BXKSOwnwAwAA\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHwAw/83Fqvzu0257/js79WWKnRvzAGYL2NAn0/3V0K5xSE0D8GxM7tnrbdPyTngddg8+M/GK9mBkBb6T/p5zjfV5/uP0ppQAvfTPE/S1wm6Kxw8z8Cc5lUB3D1P1AQWoyJK/c//IxCsjr8+D8sjGmOzLT6P8gIQwSId/w/wdttJkbs/T8bKq8iQ4T/P6ppapHLfgBAORJlHosvAUCPRFhUUAkCQAFg5FoHsgJAZKkb+FF3A0BSVpN7vzgEQM9j6jlt4ARA3+tcDfaXBUB92LUOAz4GQOV+DjGL2QZAxa3Pgl2OB0CMYnvl3z0IQIZTo0Df8QhAXaezpjKPCUApUDl+c0QKQP9EPT/D4ApA6tr3i8edC0AtnxlXaj8MQJ2iyplE8AxAUxbVVxeeDUCpN7c8aVYOQA2Ee3FbEA9ANX1X/9bOD0DhgcEKUUsQQJ4nImmPrRBA3BQ6ZiAEEUAhE4cbV3ARQCcomUFD3hFAy4FxRxJVEkDhVSMLC7USQHeq7T9eMBNAaPqIEauhE0CnT51phBoUQNw7D1VWpBRAekB2Qq5JFUAt7LXTBdUVQBGVMQqchxZAEC4boRQ1F0CpqoHNIfYXQANGXEwX1RhAy0IvQBPBGUBD054FK/QaQBhkjdrnVBxAtG+eqWlPHkDwYKxQH3ggQCgx+3RBciNAqYcB2hHtF0DRUkJ0RxEWQDZmp/Kj1xRAXPGB407yE0BgJHzzwycTQDjbBkFfbhJABYH2/9jFEUByvKx37x8RQDN6VDWAlBBAT8Eqw/EKEECJOgI/yh8PQCoYVrruQQ5AEdrydppIDUDdsfZaJlgMQFluwCnJlwtAlq2TCNjCCkAvg15XQRMKQHQBYg7ZSAlAQAJCx5eMCECzS0aBWuoHQDf8RP2KHgdAEjnmGydoBkBo9HAuR8QFQIb/V3RrEAVAVl8P96ZrBEDVgKM4B7QDQB60rd38AANAAdAsJfZHAkDELsDCGKcBQCP3OWNG3ABAFUF1kM9SAED9lmf6o0H/P29G+/OyEP4/ZB1kIBid/D//iOVeYzX7P45c33+a6/k/Q/grWKpr+D/yrqbNVfj2P2Pc48u1nPU/Y9w2HkYN9D+bLOHHW3/yP7ia4A5D+PA/UA5WJuCR7j88gxfLOJrrP+dYmUzIQ+g/3ztZbUOf5D/AgDPkdzDhPzFMew69nto/Ki04tlIk1D+sGWx729HHP4/7qNhTaqw/tAh2Jzzdtr+MbUlEtunOvz6Nss15Fdm/Hee5zX/s4b/Yt4+x9lbov8A2gNJ8s++/d1lKIb+K879/RxopH2z4v+JgGqg+Kf6/oQsXQF6hAsDiLXMbjZsIwCjBK+0b2xHAUVipkfADAAA=\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1437\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1438\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1433\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0,\"line_width\":0,\"fill_color\":\"#1f77b4\",\"fill_alpha\":0.5}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1434\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":0,\"fill_color\":\"#1f77b4\",\"fill_alpha\":0.1,\"hatch_alpha\":0.1}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1435\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":0,\"fill_color\":\"#1f77b4\",\"fill_alpha\":0.2,\"hatch_alpha\":0.2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1445\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1439\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1440\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1441\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+jDs+tIGI9r+wuYMGbPTsvyyxLSXCXuu/2OgIQbPb6r+E8xsuMIPlvyBgtk5Q69a/oPNotLbru78AolqaZrWGv3BzTAose8Q/jC5xcdgZ0D8cpAhW1Z3iP3xu6kV6MOQ/isWJ3jrg5j/Uqn6q/hHnPwbNeCCVlOk/YqFSkKMH6z/k5+yFFxDvP/5UCm0vHPY/yOvkGXNw9j8XpMFvO5n4PzLZXFHYFfk/sWtzqy9z+j8nBoBYLYH7P2NTYcXHNPw/ErR8Etfr/D/C/qzwCUH9P5XSgKi2AQBAkD3rA1VTAEAUX/9qbVwBQKhKq9Od+QJAmnDiLR65A0C2U+8TfvYDQFOb+ZkRRQRAlLOUu5X6BEDcJ5hTh8wFQAkqjsVNAgZAlY5kstNICEDVsQhOJpAJQIwG8b425wpAD1JnsLv7CkAACzyUN6kLQM7I/If/Qg1ALDpvuOqeDUArMIjX4OoOQCbgqYFIJxBAikns7XB1EEDX4x3WSpIQQFfDPnJD+xBA6Q6Mv71eEUDFqJVct3URQEQquMl0XBJA79R2sUXHEkD7U4SJi/oSQKyzTSZVPxNAjONZSMZjE0Aln1PqLooTQP8vyQBdjhNAsFCI1Vx2FUCcpE9mLVcWQKXbFZ16JhhA+M6C95VmGEAWADO89AsbQP9wzDgGDiJA4pi9+fgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+3Fqvzu0257/js79WWKnRvzAGYL2NAn0/3V0K5xSE0D8GxM7tnrbdPyTngddg8+M/GK9mBkBb6T/p5zjfV5/uP0ppQAvfTPE/S1wm6Kxw8z8Cc5lUB3D1P1AQWoyJK/c//IxCsjr8+D8sjGmOzLT6P8gIQwSId/w/wdttJkbs/T8bKq8iQ4T/P6ppapHLfgBAORJlHosvAUCPRFhUUAkCQAFg5FoHsgJAZKkb+FF3A0BSVpN7vzgEQM9j6jlt4ARA3+tcDfaXBUB92LUOAz4GQOV+DjGL2QZAxa3Pgl2OB0CMYnvl3z0IQIZTo0Df8QhAXaezpjKPCUApUDl+c0QKQP9EPT/D4ApA6tr3i8edC0AtnxlXaj8MQJ2iyplE8AxAUxbVVxeeDUCpN7c8aVYOQA2Ee3FbEA9ANX1X/9bOD0DhgcEKUUsQQJ4nImmPrRBA3BQ6ZiAEEUAhE4cbV3ARQCcomUFD3hFAy4FxRxJVEkDhVSMLC7USQHeq7T9eMBNAaPqIEauhE0CnT51phBoUQNw7D1VWpBRAekB2Qq5JFUAt7LXTBdUVQBGVMQqchxZAEC4boRQ1F0CpqoHNIfYXQANGXEwX1RhAy0IvQBPBGUBD054FK/QaQBhkjdrnVBxAtG+eqWlPHkDwYKxQH3ggQCgx+3RBciNAobe0YvgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1446\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1447\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1442\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1443\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1444\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1454\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1448\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1449\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1450\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+jDs+tIGI9r+wuYMGbPTsvyyxLSXCXuu/2OgIQbPb6r+E8xsuMIPlvyBgtk5Q69a/oPNotLbru78AolqaZrWGv3BzTAose8Q/jC5xcdgZ0D8cpAhW1Z3iP3xu6kV6MOQ/isWJ3jrg5j/Uqn6q/hHnPwbNeCCVlOk/YqFSkKMH6z/k5+yFFxDvP/5UCm0vHPY/yOvkGXNw9j8XpMFvO5n4PzLZXFHYFfk/sWtzqy9z+j8nBoBYLYH7P2NTYcXHNPw/ErR8Etfr/D/C/qzwCUH9P5XSgKi2AQBAkD3rA1VTAEAUX/9qbVwBQKhKq9Od+QJAmnDiLR65A0C2U+8TfvYDQFOb+ZkRRQRAlLOUu5X6BEDcJ5hTh8wFQAkqjsVNAgZAlY5kstNICEDVsQhOJpAJQIwG8b425wpAD1JnsLv7CkAACzyUN6kLQM7I/If/Qg1ALDpvuOqeDUArMIjX4OoOQCbgqYFIJxBAikns7XB1EEDX4x3WSpIQQFfDPnJD+xBA6Q6Mv71eEUDFqJVct3URQEQquMl0XBJA79R2sUXHEkD7U4SJi/oSQKyzTSZVPxNAjONZSMZjE0Aln1PqLooTQP8vyQBdjhNAsFCI1Vx2FUCcpE9mLVcWQKXbFZ16JhhA+M6C95VmGEAWADO89AsbQP9wzDgGDiJA4pi9+fgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+KMEr7RvbEcDiLXMbjZsIwKELF0BeoQLA4mAaqD4p/r9/RxopH2z4v3dZSiG/ivO/wDaA0nyz77/Yt4+x9lbovx3nuc1/7OG/Po2yzXkV2b+MbUlEtunOv7QIdic83ba/j/uo2FNqrD+sGWx729HHPyotOLZSJNQ/MUx7Dr2e2j/AgDPkdzDhP987WW1Dn+Q/51iZTMhD6D88gxfLOJrrP1AOVibgke4/uJrgDkP48D+bLOHHW3/yP2PcNh5GDfQ/Y9zjy7Wc9T/yrqbNVfj2P0P4K1iqa/g/jlzff5rr+T//iOVeYzX7P2QdZCAYnfw/b0b787IQ/j/9lmf6o0H/PxVBdZDPUgBAI/c5Y0bcAEDELsDCGKcBQAHQLCX2RwJAHrSt3fwAA0DVgKM4B7QDQFZfD/emawRAhv9XdGsQBUBo9HAuR8QFQBI55hsnaAZAN/xE/YoeB0CzS0aBWuoHQEACQseXjAhAdAFiDtlICUAvg15XQRMKQJatkwjYwgpAWW7AKcmXC0DdsfZaJlgMQBHa8naaSA1AKhhWuu5BDkCJOgI/yh8PQE/BKsPxChBAM3pUNYCUEEByvKx37x8RQAWB9v/YxRFAONsGQV9uEkBgJHzzwycTQFzxgeNO8hNANman8qPXFEDRUkJ0RxEWQKmHAdoR7RdA/asmPfgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1455\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1456\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1451\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1452\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1453\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1463\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1457\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1458\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1459\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",[-1.4083268204446737,9.027391219097352]],[\"y\",[-1.4083268204446737,9.027391219097352]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1464\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1465\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1460\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_alpha\":0.5,\"line_width\":4}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1461\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_alpha\":0.1,\"line_width\":4}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1462\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_alpha\":0.2,\"line_width\":4}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1403\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1417\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1418\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1419\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1420\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1426\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1425\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1427\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1428\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1429\"}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1412\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1413\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1414\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1415\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1407\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1408\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1409\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1410\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1411\",\"attributes\":{\"axis\":{\"id\":\"p1407\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1416\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1412\"}}}],\"frame_width\":275,\"frame_height\":275}}]}};\n", " const render_items = [{\"docid\":\"a61fc934-89b9-4578-b891-00036375ff86\",\"roots\":{\"p1395\":\"cce7f8ed-9b4b-4349-981f-3de3269534dc\"},\"root_ids\":[\"p1395\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const 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": "p1395" } }, "output_type": "display_data" } ], "source": [ "bokeh.io.show(bebi103.viz.qqplot(data=df[\"x\"], samples=samples))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By default, the middle 95% of samples are displayed as the shaded region." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Predictive ECDFs\n", "\n", "To compare data sets that would be generated from the model and the observed data set, we plot percentiles of the ECDFs of the generated data sets with the ECDF of the data overlaid using the `bebi103.viz.predictive_ecdf()` function." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"424cebd4-55f8-4ac6-a7c2-7e9dab8aadc5\":{\"version\":\"3.9.1\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"p1580\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"p1581\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1474\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1475\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1476\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1483\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1484\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1481\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1514\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1508\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1509\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1510\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/0XUeUzTdxzGcShQapHSUpCjE/AYNyozIHh9P6UEPMhEhBYRkQhzVkRRmWyiQifxAkTjpgEFw1hEGGjkcltmfkU0OBmoc0zkWEF09UIFtHSCdibzyf565f3X89/j3ew3JOuRaL0/eD9gh6zwlEALy22cKKmcp4X3k13PLfZ5x8GcSFcf981GDmatXjaNOzzKQW1w7u+7619wsOtS0UWD8hEHp+p/as95NsDBxYV17V853uNgQfrS8KbHHRxsEOz0WtjXxMGi8XNdqzbVMFjjsjm753Yrg74BIU0xM/9gMDAqW3S5rJtBbe7cB1lzBhjULVidrjjzgEF9fHHUdcUjBhfuc2oLKXnKYLRI6dl/7DmDP5b0ixTGlwye8h9oXZMzwmBKb7BbhO0r9r+DbY2nX7/v/xw5f7Y9zmhgUGH0i69OMzJ4JFGXU/L0HwZNBx8mpQSNM5g6NdXDuXSCwa0R46N14ncMvj3x+ZsKuYlBR/kXR2/GmBGcMRaaEtFrRvDqLO0V50pzgua3/D82RPIIujXU9k2YWRDszK0IsW6wIKhcZzd2Ns2S4H6TKjNNbEVw46uMWZFXrQjah/4t89rIJzhvIvztYTdrgvXLIzQJT6wJEi+s9WSBgGCm+XrRvSWTCM7el6SSS4UET9QeF3RdERJcvUXr8+tJG4J9Fw0JnvGTCUq6R3aWLLEl6Ous/Pm5XETw0Hweu+FuR3BFs2/LsFBMcO6u2KDcb8QEt/9Sk/XCXULQSmMwdV2TEAzp4cvXbbEnmDxz92iLl5Rg4rBm8NMRKcHgDZUjFXcdCN6OCcuMlEwhWHXAvFsy5ETQO3A8U759BsGXyTXR7l96EGzYWlalXuFG0Dm1sFsf+xFBxZ0yK79XrgTbwmaTtNmFoEVEYpRTpzPBqmpN+zTD+/0PimfJyh2CnAhKvg0Unj4whWDAs8Y7Vp2OBHfRzrDzSx0J9i6wi1N+70CwckWpOs/VgeDGNwclP5RLCWZVD7GkOVKCA3EzbGwa7Qm2abZF2sfZE/TyLpYr/pIQnCY9IFNlSAj2Oszf4GEpIVjmNV1dVCsmOKBpFq5cLiYYtEdl+rPDjqBtXva2NWI7glXzLi1UK0UEV03pVDmV2RIs/e5GcfjLyQQDzrioNrHJBJ90j+W3ltoQNIUvYi39QoI+0aF7d4QLCa6trD/7SdEkgvtXVZBuWECwYH32Q90iAcFrtTe/XnvEmuDDvaLA/Ht8gnu6GkUWi/kEdU8TbQ0nrQjeTHkSmt5vSTBGeTybC7EkmFolM67MsiBonvwgwbru/b98sCg8PjZ6Eo9gqP1nbvmzzQlWqzcda9trRlDme2G6Is/EYHNPumfEs7cMXhcoLA9mTTDoX6A+8lvDGwYnCsLq5k8YGYwWJxQc8htjkLejONY64zWDyxM9H9VkjDK4TE02uqhhBh/rQ3SqM88ZdL6wgU9rHjM4U6+5mzw6yCD/asdQWVMfg31rhXqHvFsMzuEnXy7k7WFwsJ5Txlfd5mBvwoWOoWA9B/8FJhu3tuAHAAA=\"},\"shape\":[252],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/11VPSiFYRS+g9FgMBiMRgNFUXQyGAwGg8FgMBgMBoqiGI2SwWCQSSYJIYQQN+T//9+9uLi4iqIYfN/7nN6T5+vU09f3fuc953nOTySCJyOtLLAe+Y+D+j4oWV11gQ17xLlR/T4qmeVVgU14xPlpPT8t2WtNgc15xP+L+v+i9OZUBLbkEf5W1N+K9NXXBLbqEf6j6j8q/UMNga17xH2bet+mDCTaAtvyiPt39P4dCaPPLN/1iHj2NJ492S+oDM0j4jvQ+A6k2j2HHhHvkcZ7JMcttaF5RPwnGv+JhNn11Z96RD5nms+ZnE82huYR+V1ofhfivLdcekS+V5rvlVx/dYTmEfnfaP43kp++nJe+bAg+bpWPW2l2FxqCn5jyE5Px3I2x3A1D8BVXvuLyWbL9UbJtCP7ulL87KXT0GoLPe+XzXlpdgobg90H5fZApR48h+E4o3wn5dukbgv9H5f9RirvjRd1xQ+jxpHo8Sbsj1BD6PKs+zzI7kpwZSRpCr6TqlZTf+dTPfMoQ+r2ofi9SGtLzYQg9X1XPV+l0AhpC3zfV900WQvc/htA7pXqnBF3+7pG/8//sn+/n+Dh+zo/zZ36YP+aX+Wd9WD/Wl/Xn+uD64fri+uP65Prl+ub65/7g/uH+4v7j/uT+5f7m/uf5wPOD5wvPH55PPL94vvH84/nI85PnK89fns88v3m+8/zn/cD7g/cL7x/eT7y/eL/hPtt/vB/hz/Yn71ec5/1r+xnnbX/rWo/8ARc7QcDgBwAA\"},\"shape\":[252],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1515\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1516\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1511\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#9ecae1\",\"line_alpha\":0,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.5,\"hatch_color\":\"#9ecae1\",\"hatch_alpha\":0.5}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1512\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#9ecae1\",\"line_alpha\":0.1,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.1,\"hatch_color\":\"#9ecae1\",\"hatch_alpha\":0.1}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1513\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#9ecae1\",\"line_alpha\":0.2,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.2,\"hatch_color\":\"#9ecae1\",\"hatch_alpha\":0.2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1523\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1517\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1518\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1519\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z3HaVDUdRwHYJaF5dpd9oAV8ACUjUkGyiktAfl9QzlCHRQIFAk8IjKIwQOPPGLMg0xyRUkaPNYRXNBhxYGKQem/Fh44DiKsgGwNrIhAcixCCywC9cJPr555steYZoqkjrrsN57xnbX3WgNPB2uWrppXVW7hIM/82uW7nFEOFi9oygp/Z4iDyxaVqK8m9XDQuTJZVrijk4Pdt5oW8Kb1HGxVTYhvp/zOwb1/bKg5X53L4Ml4cae6rI5B729KqzQbmxl0GkseyWgwMJj3oqJK0mdk8JCnXcW8ym4Gl9+vcD91pI/BCNeqQ27yAQbvdsQ8TvMzMWgKOJ9wunaYQXZFfzEvcYTBoIq+6aSRUQZr37v7VnOmmUG1qmhtt3GMwWCejlsdM8FgfuA1eVK9hUGd1svJEP6awdHrqjr3sikGjY/0qiiPGQYrt/81krHMiiDXa5fm2W9FcPedosLWszyCgzWfvmv3sTXB9LmPHYxD1gTd14+kX8rnE7Rt1u4pDbMhGD+2ThnQa0PQZ6lvyJ5CW4I7qlNCY1cICHrNtjX4DAsIhrYLi3s1dgRLLZJQ9032BJUZnzmWzHUgqD91zRj2xIGgvXjO8eWHHAkGXFX+IvrIieCPjb91hQqEBM9MfREXahASzC/eXX5WIyIYPzi+JWa3mGB6XZ48d40zwdGXgT1dcyT0v9WJEfEF//2NZTcrcl+JpARXNnzVkqeSErzV1tdRrJARjBaKPvlAKyO4aVOrwRgjJ/i0Luj6AScXgpInyjGvJheCh6fSpnJqXQleaVoREtymIDimPLm4Z4Ubwey0AnNvkQfBUVOO31qeN8ELfyb4/8DNJehW+MDNcmw2wWerI88F8z0I8rv71x9ocCOol72OL7s3i+CW04JHph4FQcvgz/xaTwXBHfzjvfuyXAl6DE1eeqZ3Idi289uffEJcCBadS+BsyuQEo31VsQZvOUFd49ce8y/LCKYWzMxLXigj+HRv1sPqSilBzSM/rWe4lGBDv2tWS7uEYJTlQ3FJtoRguzk4ZpuzhKBWvTm6Yp0zwROOwWLNaTHBRcIbcTPNIoIHJxeP+ypEBB9sU2Wak4QE5T1LSjeWOxGclt6/s2DSkeCv5xx89kU6EhxntzM9CxwIvoxXa/wG7AlmHwyI8l5lTzC9u8N8Vm1HcFd4RoRgTEDwy353Q2WUgOAcibzM/6ItQd0FbXTQoA3BphcrU7zCbQhObD2eqM3lE2y1OEds7bImeHnJ28PD/tYE73U53di3n0ew8Yh/a8sdK4J2iuzPE6VWBDsWxg6llEwzGLfqkv5m0BSDJsHjXXz1JIP71c/1860sDG4uTxU6pI4zeDhvfEB23cxgQDe/MUH0D4MHRQdCikNGGExKPRnYFDvMYO/h1UeV5kEGLWbXFF7l3wx+H6asH1j+gsEQn6ywyO1GBpOTrd8f3d7GoGanspnM9Qx2PpfoZvH3MFgf2HXTVPOQgxdzol5tmOjg4NGME1dzN7zkYJxwXDEzaObgv3Ni1nHgBwAA\"},\"shape\":[252],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/11VPSiFYRS+g9FgMBiMRgNFUXQyGAwGg8FgMBgMBoqiGI2SwWCQSSYJIYQQN+T//9+9uLi4iqIYfN/7nN6T5+vU09f3fuc953nOTySCJyOtLLAe+Y+D+j4oWV11gQ17xLlR/T4qmeVVgU14xPlpPT8t2WtNgc15xP+L+v+i9OZUBLbkEf5W1N+K9NXXBLbqEf6j6j8q/UMNga17xH2bet+mDCTaAtvyiPt39P4dCaPPLN/1iHj2NJ492S+oDM0j4jvQ+A6k2j2HHhHvkcZ7JMcttaF5RPwnGv+JhNn11Z96RD5nms+ZnE82huYR+V1ofhfivLdcekS+V5rvlVx/dYTmEfnfaP43kp++nJe+bAg+bpWPW2l2FxqCn5jyE5Px3I2x3A1D8BVXvuLyWbL9UbJtCP7ulL87KXT0GoLPe+XzXlpdgobg90H5fZApR48h+E4o3wn5dukbgv9H5f9RirvjRd1xQ+jxpHo8Sbsj1BD6PKs+zzI7kpwZSRpCr6TqlZTf+dTPfMoQ+r2ofi9SGtLzYQg9X1XPV+l0AhpC3zfV900WQvc/htA7pXqnBF3+7pG/8//sn+/n+Dh+zo/zZ36YP+aX+Wd9WD/Wl/Xn+uD64fri+uP65Prl+ub65/7g/uH+4v7j/uT+5f7m/uf5wPOD5wvPH55PPL94vvH84/nI85PnK89fns88v3m+8/zn/cD7g/cL7x/eT7y/eL/hPtt/vB/hz/Yn71ec5/1r+xnnbX/rWo/8ARc7QcDgBwAA\"},\"shape\":[252],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1524\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1525\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1520\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#6baed6\",\"line_alpha\":0,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.5,\"hatch_color\":\"#6baed6\",\"hatch_alpha\":0.5}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1521\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#6baed6\",\"line_alpha\":0.1,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.1,\"hatch_color\":\"#6baed6\",\"hatch_alpha\":0.1}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1522\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#6baed6\",\"line_alpha\":0.2,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.2,\"hatch_color\":\"#6baed6\",\"hatch_alpha\":0.2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1532\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1526\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1527\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1528\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z3MW0iTcRgH4LnZtnJtc/NbGI4uNE2ESJDQqfu/KnqRkhGy1FKmqVBRUC0RjSIVzyl5dmZ29IDZCZWi4jMjMqK0EQpaRuK2nJRDtJmZFeSvq+fuMVVahodX3QZN617vsnO6aRcPIxShkjSXk4d50vGUqHo7D40vTN2tNMXDg4tfgwQxozwcqHPymTd7eWgoDGv2FvMM7j4z9KX8rIVBWU1Tgl/fJINlIdrtg+HTDCa7Wjs9C2wMnlL45pUlOhg0R6ccbtj2jcHYjBjuosPJYOrs3JGe7gUGVxdKazrSFxk0PnjDLK4lBp+kKcz1JS4Gq4/aHR+FPxhcflh84lXpCvvvW7+iPb9/suV1J0cTrmae/MVgvuhzxcrUGoMyw+WQ2gABwQ6RxDbySUAwNt/cK6xwI9gTEZetjxQSPHehWB1tExK02BOfyatFBKsYN1US5k4w49LpOf28O0HrbWXgWuMGgoX9d3Kd0WKCjrEiH/mSmKBs5pE0rl1C0C1K1C3aKyW4I9VkaFuTEhTUtaeL728k6B+vkezM2UTQp4X0u3w9CCbNdD7Vj3kQFNc4DhyqkhH0T87KTk7YTLD5Wr9kPycn6B8fXlbyQf73/2eBUR4c2KUg+N3wLsAUqSS473xI0kSPkmB6Y8Pje76eBL2C3lvNZk+CteoAjYpTEeyy3lWyJhXB3JzRWmmgmqDulrbvNa8meOzGmKUtw4vgkLq8RePFEfSRzYq04xxB+0BwTtZzDUGxVjc/MryFoPFKpdym8iYY6jeZGjqxlWDcy6jB4w4twT8Ntk6C8AMAAA==\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/1WTP0hCURjFGxodGhwaGhsdCgoKjEODQ0NDQ0NDQ4NDQ0OBQUGNjRINDg3hFE0iFSUVJiklKWlmZmbm//9/AoMCG3rvfh/30uPAj4f3ffc752BfHz0D/dOadvGfTn53YnBnSdORJJ1z8+9uGC1zmk4l6byHz3swdLeq6UqSvvfx9z7sDc9oupGkeQGeF4DDuqDpVpLmB3l+EPuHy5ruJem+MN8XxkFlQ9ODJN0f5fuj0Lc3Wh4laZ8Y7xPD09isLknaL877xTEvnmdJ2jfB+ybwYlvUJUn7J3n/JHR3DuurJPlJsZ8U3s5WdEmSvzT7S0NMt71Lkt8M+83g43tLlyT5z7L/LEYN/hGDX5HyyHEeOayJCxUpnzznk8eJKXRsCilSXgXOq4Avc6RrjihSfkXOr4hxEa8i5VniPEtYFwYVKd8y51vGuYhHkfKucN4V/Aj7ipR/lfOvYtJemLAXFKmPGvdRw6YIVJH6qXM/dVy6GheuhiL11eC+Gvj1dnrejiL11+T+mpjS4+kqUp8t7rOFbVGgIvXb5n7buNbH9xSp7w733QH9yz/xB6oYiwHwAwAA\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1533\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1534\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1529\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#084594\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1530\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#084594\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1531\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#084594\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1541\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1535\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1536\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1537\"},\"data\":{\"type\":\"map\"}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1542\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1543\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1538\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-2.2484298409703403},\"y\":{\"type\":\"value\",\"value\":0.0},\"angle\":{\"type\":\"value\",\"value\":3.141592653589793},\"line_color\":{\"type\":\"value\",\"value\":\"#084594\"},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1539\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-2.2484298409703403},\"y\":{\"type\":\"value\",\"value\":0.0},\"angle\":{\"type\":\"value\",\"value\":3.141592653589793},\"line_color\":{\"type\":\"value\",\"value\":\"#084594\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1540\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-2.2484298409703403},\"y\":{\"type\":\"value\",\"value\":0.0},\"angle\":{\"type\":\"value\",\"value\":3.141592653589793},\"line_color\":{\"type\":\"value\",\"value\":\"#084594\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1550\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1544\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1545\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1546\"},\"data\":{\"type\":\"map\"}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1551\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1552\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1547\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":7.47893429185371},\"y\":{\"type\":\"value\",\"value\":1},\"line_color\":{\"type\":\"value\",\"value\":\"#084594\"},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1548\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":7.47893429185371},\"y\":{\"type\":\"value\",\"value\":1},\"line_color\":{\"type\":\"value\",\"value\":\"#084594\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1549\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":7.47893429185371},\"y\":{\"type\":\"value\",\"value\":1},\"line_color\":{\"type\":\"value\",\"value\":\"#084594\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1559\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1553\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1554\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1555\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/zXFaUiTcRwH8Hm05kTbkRdaSOAEcyoVFVr+f1aCSZr5ZFYsOwyLypwtJSxE0/JoiMQGadlp4PXCpS3F6iFrqWASeYYRopa5x7BQljpzven7efPRR0W3FpbaeP3/m9uLxBfmZ3gcalIHdaYJPB75IYlpGbXyuHjOPyyi6BuPA0+YE5OEIR4/nDvbahY6eCx6fLQ64/lNHmt1+6ShV98xrA/Lzh7x+8hwQK3k0GDNOMPXLlpj8yImGS63lH2NHPvO8EBDfsOKfIph8YcrgUbDNMOnHiVXPlktMDw5NXPDRzbL8MpBaWZ4gI3hbmHST6e1MexT+yYrqmqB4U2fNQdGvBYZNp3XNYbrlhgOFhccVhfaGU7nTlq6tiwzrGi9phgWlhnuXGn65Rbzl2Hjp4I6s5OIcOVOwSWFExFee9xxLlPjRLguvrG/ZtGZcLV2XL2+3YWwmZtV5ttcCHN3F6vksa6EDS2GDuOSK+EvwXe4kt5VhN1CKiwJzmLCxorTz/rjJIQHTZJEVaUbYb349+utU1LCa5LPNHfYpYRF7jsM2+rdCfd1L5c4dnkQDo3MarPe9yC8MaJ0eMzqSVg1Vl8YFywjXL535qc2R0Z4eGLdUPxtGeHUt9GXdttlhKc99fyrNDlhS51R8yJHTnhPSFvPZY2C8OxArim2S0HYzhWX3VpSEG5qSVClMCVh/cSRuPfpSsJBDzhrWLmSsCO8R3SsQkm4Oal0UJPrRfhe7f4Mdao34aejXjV5Kl/CC33X/xgzfAl7iza/nHf3J+zQ9m4Xe24g/A9ugUrS8AMAAA==\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/1WTP0hCURjFGxodGhwaGhsdCgoKjEODQ0NDQ0NDQ4NDQ0OBQUGNjRINDg3hFE0iFSUVJiklKWlmZmbm//9/AoMCG3rvfh/30uPAj4f3ffc752BfHz0D/dOadvGfTn53YnBnSdORJJ1z8+9uGC1zmk4l6byHz3swdLeq6UqSvvfx9z7sDc9oupGkeQGeF4DDuqDpVpLmB3l+EPuHy5ruJem+MN8XxkFlQ9ODJN0f5fuj0Lc3Wh4laZ8Y7xPD09isLknaL877xTEvnmdJ2jfB+ybwYlvUJUn7J3n/JHR3DuurJPlJsZ8U3s5WdEmSvzT7S0NMt71Lkt8M+83g43tLlyT5z7L/LEYN/hGDX5HyyHEeOayJCxUpnzznk8eJKXRsCilSXgXOq4Avc6RrjihSfkXOr4hxEa8i5VniPEtYFwYVKd8y51vGuYhHkfKucN4V/Aj7ipR/lfOvYtJemLAXFKmPGvdRw6YIVJH6qXM/dVy6GheuhiL11eC+Gvj1dnrejiL11+T+mpjS4+kqUp8t7rOFbVGgIvXb5n7buNbH9xSp7w733QH9yz/xB6oYiwHwAwAA\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1560\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1561\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1556\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"orange\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1557\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"orange\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1558\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"orange\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1568\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1562\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1563\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1564\"},\"data\":{\"type\":\"map\"}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1569\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1570\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1565\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-1.4083268204446737},\"y\":{\"type\":\"value\",\"value\":0.0},\"angle\":{\"type\":\"value\",\"value\":3.141592653589793},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1566\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-1.4083268204446737},\"y\":{\"type\":\"value\",\"value\":0.0},\"angle\":{\"type\":\"value\",\"value\":3.141592653589793},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1567\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-1.4083268204446737},\"y\":{\"type\":\"value\",\"value\":0.0},\"angle\":{\"type\":\"value\",\"value\":3.141592653589793},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1577\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1571\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1572\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1573\"},\"data\":{\"type\":\"map\"}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1578\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1579\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1574\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":9.027391219097352},\"y\":{\"type\":\"value\",\"value\":1},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1575\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":9.027391219097352},\"y\":{\"type\":\"value\",\"value\":1},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1576\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":9.027391219097352},\"y\":{\"type\":\"value\",\"value\":1},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1482\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1495\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1496\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1497\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1498\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1504\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1503\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1505\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1506\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1507\"}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1490\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1491\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1492\"},\"axis_label\":\"ECDF\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1493\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1485\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1486\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1487\"},\"axis_label\":\"x\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1488\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1489\",\"attributes\":{\"axis\":{\"id\":\"p1485\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1494\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1490\"}}}],\"frame_width\":400,\"frame_height\":325}}]}};\n", " const render_items = [{\"docid\":\"424cebd4-55f8-4ac6-a7c2-7e9dab8aadc5\",\"roots\":{\"p1474\":\"f0dd2e42-dd65-4774-996b-b840cc8f7ad2\"},\"root_ids\":[\"p1474\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const 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": "p1474" } }, "output_type": "display_data" } ], "source": [ "p = bebi103.viz.predictive_ecdf(data=df['x'], samples=samples)\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The orange curve is the ECDF of the data. The dark blue curve in the center is the median ECDF of the samples. By default, the coloring shows the middle 68th and middle 95th percentiles of the ECDFs from samples out of the generative model.\n", "\n", "Predictive ECDFs are often easier to look at as differences from the median. We can consider two different differences. First, we can take each value of the ECDF and look at how different the x-values are from the median. Second, we can consider each value of *x* and look at how different the value of the ECDF is. In the first case, we are looking at an inverse ECDF (IECDF). We can look at either different plot using the `diff` kwarg." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"51ca2fc6-b2d3-4a64-837a-ef407f4fa04a\":{\"version\":\"3.9.1\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"p1759\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"p1760\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Column\",\"id\":\"p1758\",\"attributes\":{\"children\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1590\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1591\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1592\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1599\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1600\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1597\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1630\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1624\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1625\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1626\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z3SaVCVdRQGcAjDKwajhjsmYrgFqIVsIQcUhLyCCCiMshiKIi5AoywJRRMgOoZI4BbqTRlDFBdQFikP6p2kRnGZoTCxAeP/vvfCBZFNwMLuh/v46fflzDPPOXOaBzLHx9cY1zUbtKkYsW4JGWJoqhhIiVL2MTzX7PB6RlQPw7mTfvEYfNrNsK76pN1IbxfDLPtvzjk96WQ4W3OkrcZZx7B61vTb6gUdDG0tbM0fbG5n2HFoYaX9gJbhruoDdjXrtAxrvj7m9k+OhuFC968yP/hIw7D/QtyD7tsywyK7E6sGTTQMXWKa3RoPygxb5y2b8HmgzPBwdJa88TeJYcuaKrNvt0sMVZsqKsvTJYYZsTkaCwuJ3+r35xXzNsEZBh0CQp7EnhUM406fd3u2WTC8dqXh3+9zBcPcwfGmlYGCYZ7r+kL1DMFwuHdFnpeDYJixOVltNtLGMCgxMu+6uo3hgclvqitcBUPPyzujb4wTDNOGHvuXnBAMj6kstjY6C4Z2gY65FCEYHvxknf10R8FwVczy5LAFgmFJg+ep9ImCYYbD0EqzUP09DD7M96DivYKhosx0X2S1YOiuPBLnUyUY3luckvdqn2C4Mb3BWGsjMayfEyNfD5AYLtrDW04HSwzDjN2tvFokhlZeZ4bL3kgM0zoeJeh+lhmGdzcG7SyXGWo+bbnbqJIZWi1P2v/ATcPQZb59emW3ht8a9tnAhvVadjFY77z6yRfm7Qw1hQX3dIntDK33jZ/c5dPB0KXgYqHJMx3DwIhbEYprXQxLWvLiFZ3dDIt8Np24M7uX4e4Ro+Px/a8YWjptC17QZ+wJVUkDU6eGDRIM9FHusOjpI+hn5V8WtaiHYELitfRpd7oJplxf/Pzq6hcEFfnHj7yr6CLY7RrWOLNYR/DKCt1W39IOgk27x9T+0NdOcJ7joilOXVqCnltTo1uLtfTW7KbUp/4a8jTo9/vShJOVMsG6prPtWZdkgoqi53WBR2WCVvatBRWjZYJ1raempTjp5w023ejpfFQkEUxw+WlF6BqJYH3cnMeHXwiCqguJQRnvSwSPlY6JuHtfEHSvH9V69owg6KiOV4akC4KjksYeXxglCPqt9a0N8BQEvYeXeQ8vFwTfmxXanjBfEFQVfrg2fLsgGLuxPMxyriBo/XqS8nGIIOh9OtXm8jp9nsGHl/z/8zokCLpkPvVNjhQEY9W2SWne+jyDGRMemtt4CILhwbVn7qUIgqtC39l06JYg6JcjP+I7+n0M5ldVlLkYSQRVo23/Kv9b39+gpUVO7oFqQdB6af7erJkSwR3f7fExuSoIarwsft0/ViLosStgjqtSItjQZpK6JEsiaLr6zbP+qTLBm42pNSYrZYLZZtE6XYlM0G/+lETjZv1/GUy7OjEzoFhDcNxLo1Lf0VqCQ0dn2qRu0BI8VbX4YsHNdoLB1TEfZy/pIBjUmtLZYqkjWKH+UXnydSfBLc7h95V/vCC4LL6/IMryJcHztc5Gbcm9BL/c5l86LXKQ4P/yxjO44AcAAA==\"},\"shape\":[252],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/11VPSiFYRS+g9FgMBiMRgNFUXQyGAwGg8FgMBgMBoqiGI2SwWCQSSYJIYQQN+T//9+9uLi4iqIYfN/7nN6T5+vU09f3fuc953nOTySCJyOtLLAe+Y+D+j4oWV11gQ17xLlR/T4qmeVVgU14xPlpPT8t2WtNgc15xP+L+v+i9OZUBLbkEf5W1N+K9NXXBLbqEf6j6j8q/UMNga17xH2bet+mDCTaAtvyiPt39P4dCaPPLN/1iHj2NJ492S+oDM0j4jvQ+A6k2j2HHhHvkcZ7JMcttaF5RPwnGv+JhNn11Z96RD5nms+ZnE82huYR+V1ofhfivLdcekS+V5rvlVx/dYTmEfnfaP43kp++nJe+bAg+bpWPW2l2FxqCn5jyE5Px3I2x3A1D8BVXvuLyWbL9UbJtCP7ulL87KXT0GoLPe+XzXlpdgobg90H5fZApR48h+E4o3wn5dukbgv9H5f9RirvjRd1xQ+jxpHo8Sbsj1BD6PKs+zzI7kpwZSRpCr6TqlZTf+dTPfMoQ+r2ofi9SGtLzYQg9X1XPV+l0AhpC3zfV900WQvc/htA7pXqnBF3+7pG/8//sn+/n+Dh+zo/zZ36YP+aX+Wd9WD/Wl/Xn+uD64fri+uP65Prl+ub65/7g/uH+4v7j/uT+5f7m/uf5wPOD5wvPH55PPL94vvH84/nI85PnK89fns88v3m+8/zn/cD7g/cL7x/eT7y/eL/hPtt/vB/hz/Yn71ec5/1r+xnnbX/rWo/8ARc7QcDgBwAA\"},\"shape\":[252],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1631\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1632\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1627\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#9ecae1\",\"line_alpha\":0,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.5,\"hatch_color\":\"#9ecae1\",\"hatch_alpha\":0.5}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1628\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#9ecae1\",\"line_alpha\":0.1,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.1,\"hatch_color\":\"#9ecae1\",\"hatch_alpha\":0.1}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1629\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#9ecae1\",\"line_alpha\":0.2,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.2,\"hatch_color\":\"#9ecae1\",\"hatch_alpha\":0.2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1639\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1633\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1634\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1635\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z3Ra1BUdRgG8E3HXFNyVXYw8UJIiGDOQkVY4qvYkOLoLKG2gagxOqKiQhEp1rARykVQDJ3Iy7hq4JLbCjEpZvpuKUqptSnnnL0A7ooKijrbgkiJ2X44D59+887z4Xn+8x9U8vbG6qkeHiQ7YmFZw4ycDob9i8OmmzPaGZa0B1utGW6GPZaAA30vuhhO2rhMvSSnjeGxJL5yNKqVYe4Ed3EhtzA8EkuZ60xOhp7aC8tXPHQwbIp9zXEi2MFw16Zd+7butTO0T+noP2q1MRzXoE0dtsHGUBX/rKd3ro3hTf9F2Tv2SwzTDp+KWbtYYpie0HW6JlJiqDnTNGxIiMRw5qgF0+YcFhn2BGecq0sUGd7PyM1qnSPygIrGtx7F+m7ZPmXBtPookeHYi28sfTlAZKhJ+3HwmHaBoW707mTzcYFhc1XbnSa9wFCXE/PUGO/LZSv76FruSIGh0Xo5ItdPYFhZb7adjfTlstat/f90xggM57U7lmzOFxiGTTJOfHWrwLB29dBAbhAYds5yLU0xCQyNflUG7TVfn6yCr48f8UxgGFS4YGyEV2Bo6P7MfUolMtz8S+C+qxcEhuV3H9fV+/qgRxvnqNaKDLVn8kqDj4gM9c3tkyf8IDKMCYi4Hb1GZGhN0I3atk9kqM3XTx49WGJYFNc1/vJJiaHCW3F3k1Ni6KppvP/zE4mh55A3r2mPjWFt/tSLxwvtDF2XZs7d8JWDoSXrm5Y10U6GqtBA54IxLQw12c0Jj063MMyccM4T7X+Doaq/fOenyS6G1tTo/EWCm6HSuyK8+LtbDIv+S1sYmn2PB1ynSLm20kNFsprztyvM4R0ELVcfJxqM7QRd27PSV19304CZ9oOXdC5yyerXayIblTcIqv6V3j8a20rQ09Dj1+12Eixvb4wfPNxJcHZJg9dw1kFQ0R1TptvoIFherqwIJzvB2vPsfD7bRjCoOumh+rFEUPthnWlmp0RQM907P2GVRLCyd35yXZBEsPbjAo76TSTo+vpmleWESDDTZOpL3CMSnF1mOXMoTSRoiTxcENclEDRWflm/ebtA0JL/tOjPPF8uq+3dnqdfIRDUrfHfOS5HINhZGHpHsVYgqGv83GGc78tlM+d17S5RCATnDS8rtCcKBPWlD5Uv1QgEtYa0lKYSXx98syHhiW+vVtYSov0j7LZvn6wnO9u07JJA0Kiam9RR6HuPbPqqHWUPXALByqjAb7vjBYK60IMVDW2+vbKaY42pVd0CwSuOiKFJE0WCBq/NVBopEtRd2bvl+/UiwXeeOzFKWSISXPnTu/cONIsEZ7/n13LB4PsPWcXJj9R/bxMJBqk6inMeiAT7a5vTAkZLBAtGpm55vVci6B9gHqZPsRG0VA/Z/8oHNhrQsPLX37PtZJHtXL4nq63OTtClLqpJHO4geKfjr5AXJjsJCpmKUv2UFoJms35v0KxWgj3KT5RGQxvBizPawretdhEMa0tQj/C6CZ67FfdFV/otgmHq5Ech6nsE/wcFXaEm4AcAAA==\"},\"shape\":[252],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/11VPSiFYRS+g9FgMBiMRgNFUXQyGAwGg8FgMBgMBoqiGI2SwWCQSSYJIYQQN+T//9+9uLi4iqIYfN/7nN6T5+vU09f3fuc953nOTySCJyOtLLAe+Y+D+j4oWV11gQ17xLlR/T4qmeVVgU14xPlpPT8t2WtNgc15xP+L+v+i9OZUBLbkEf5W1N+K9NXXBLbqEf6j6j8q/UMNga17xH2bet+mDCTaAtvyiPt39P4dCaPPLN/1iHj2NJ492S+oDM0j4jvQ+A6k2j2HHhHvkcZ7JMcttaF5RPwnGv+JhNn11Z96RD5nms+ZnE82huYR+V1ofhfivLdcekS+V5rvlVx/dYTmEfnfaP43kp++nJe+bAg+bpWPW2l2FxqCn5jyE5Px3I2x3A1D8BVXvuLyWbL9UbJtCP7ulL87KXT0GoLPe+XzXlpdgobg90H5fZApR48h+E4o3wn5dukbgv9H5f9RirvjRd1xQ+jxpHo8Sbsj1BD6PKs+zzI7kpwZSRpCr6TqlZTf+dTPfMoQ+r2ofi9SGtLzYQg9X1XPV+l0AhpC3zfV900WQvc/htA7pXqnBF3+7pG/8//sn+/n+Dh+zo/zZ36YP+aX+Wd9WD/Wl/Xn+uD64fri+uP65Prl+ub65/7g/uH+4v7j/uT+5f7m/uf5wPOD5wvPH55PPL94vvH84/nI85PnK89fns88v3m+8/zn/cD7g/cL7x/eT7y/eL/hPtt/vB/hz/Yn71ec5/1r+xnnbX/rWo/8ARc7QcDgBwAA\"},\"shape\":[252],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1640\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1641\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1636\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#6baed6\",\"line_alpha\":0,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.5,\"hatch_color\":\"#6baed6\",\"hatch_alpha\":0.5}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1637\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#6baed6\",\"line_alpha\":0.1,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.1,\"hatch_color\":\"#6baed6\",\"hatch_alpha\":0.1}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1638\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#6baed6\",\"line_alpha\":0.2,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.2,\"hatch_color\":\"#6baed6\",\"hatch_alpha\":0.2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1648\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1642\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1643\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1644\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",[0.0,0.0]],[\"y\",[0.0,1.0]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1649\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1650\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1645\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#084594\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1646\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#084594\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1647\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#084594\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1657\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1651\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1652\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1653\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z3OXUhTARiA4ZOWmCUUmE2luYRiJMjJVCwX34HIwJ/UEiITGlpRU0MTvPCHZsxcKgopMyXlBInSELfhdG0X39Han63SjAhNnUZWC3MWkoRFQufb1XP5vpaRl9bYJR9YRDs6Mw+FTi4ByZp39i3ABJBMcNvxtjQrkrmn7l691+xGMmLoYDP3yIpk0/nFgbBjT5DMLBlPLv4uILlZler8XCcgyYxljXQmOTHgp9kTWQ1aYES96S3htnwTklzOhKe02oak5LLqY0GKB8nQbzERYfWTSD4uCmu81vkWSfnm6cSSgmkkmZy8Xl3CHSC52P4gSZERSaGnwt17vRtJ5Wbdm72xo0iWJ0XWDI5ZkOT0ntr8YETSov4Tr8uzI8kKC2ZV9Ask5XGasgu/p5BkarrzBI0LScPa0D5d7ysk+cPntBk9LiS5vvbhA60mDDh/MSQy3ICcqNLc6I+WIJKyqIo1l9SOpFfKG/UNzzGg39paqh1HryjL2xI1r91IMgZ39QxeQZJfb/ohPWoCUkjdvyOk+BmQsjnZEbPRBKRacRN9ggFI/szZvt0eB5BKU0bosnwMyFz1ybjGL24g+XX/h1/uqa3ef8vB93Dm1iSQbOU7k9PhBFLWMpj99akTAv5cU5UVOkAmKnRt5wbqh4Fklm/XKtJcQPLxGzcq07f+RIWOmGTptAVIJiW7rj1LB6S6xO8v2DaKpKBV7plbmUCSVfxt7rr0HklmNuHBLtaCpHBfs4HhNgzYv1qlV42CIMqsRC0GNdkx4OqKnp0fAEbUqyq0Vzs2gPwH7MHFuvADAAA=\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/1WTP0hCURjFGxodGhwaGhsdCgoKjEODQ0NDQ0NDQ4NDQ0OBQUGNjRINDg3hFE0iFSUVJiklKWlmZmbm//9/AoMCG3rvfh/30uPAj4f3ffc752BfHz0D/dOadvGfTn53YnBnSdORJJ1z8+9uGC1zmk4l6byHz3swdLeq6UqSvvfx9z7sDc9oupGkeQGeF4DDuqDpVpLmB3l+EPuHy5ruJem+MN8XxkFlQ9ODJN0f5fuj0Lc3Wh4laZ8Y7xPD09isLknaL877xTEvnmdJ2jfB+ybwYlvUJUn7J3n/JHR3DuurJPlJsZ8U3s5WdEmSvzT7S0NMt71Lkt8M+83g43tLlyT5z7L/LEYN/hGDX5HyyHEeOayJCxUpnzznk8eJKXRsCilSXgXOq4Avc6RrjihSfkXOr4hxEa8i5VniPEtYFwYVKd8y51vGuYhHkfKucN4V/Aj7ipR/lfOvYtJemLAXFKmPGvdRw6YIVJH6qXM/dVy6GheuhiL11eC+Gvj1dnrejiL11+T+mpjS4+kqUp8t7rOFbVGgIvXb5n7buNbH9xSp7w733QH9yz/xB6oYiwHwAwAA\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1658\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1659\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1654\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"orange\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1655\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"orange\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1656\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"orange\",\"line_alpha\":0.2,\"line_width\":2}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1598\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1611\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1612\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1613\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1614\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1620\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1619\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1621\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1622\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1623\"}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1606\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1607\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1608\"},\"axis_label\":\"ECDF\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1609\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1601\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1602\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1603\"},\"axis_label\":\"x difference\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1604\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1605\",\"attributes\":{\"axis\":{\"id\":\"p1601\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1610\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1606\"}}}],\"frame_width\":400,\"frame_height\":175}},{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"p1757\",\"attributes\":{\"height\":30}},{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1660\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1661\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1662\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1669\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1670\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1667\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1700\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1694\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1695\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1696\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/0XUeUzTdxzGcShHa5HScsg1wYNxisoMWBD9fkpJ8SATEcohYCPMWRVFZeJEBSbxAmRGpwEFgywiDDRyuS0zv+IRmAy8xkSOAaJWUZRDoZMqM5lP9tcr7/+evx73Bq9Bx06Jxv2Tj7x3OOadFmhgiZktJZTwNPCRyuHCEo8PHMwIcfBw3qzjYFrM8pnckVEOavwy7+2pec3B9iv5l8eUzzg4XftLS8bLPg4uyatu+dbmIQdzk5cF1z9v5WCtYKdbYHc9B/MnLrSv3ljJYKX95vTOu40MenpL68Nd/mTQJzRddLW4g0FN5oLHafP7GOxZFJMsP/uYQW10QWiT/BmDgfttm6WFLxgMEylde4+9YvDnwl6RXDfE4Ok5fY1rMkYYTOzyc1KYv2H/299cd+btx/7PkYvnWyJ1YwzKdV7RFZt0DB6N68kofPEPg5OHniQk+k4wmDQ9aYZdkZ7BrYqJ0WrxBwbfn/z6XalskkEb2Tff3w43IDh73D9R0WVA8MZczTW7MkOChnfmfD4WwiPoVFvVrTcwItiWWSrl1xoRVK61GD+/yZjggcmo1E1iE4Ib3qTMDblhQtDS/6mj2wZTggv1we+POPEJ1qxQZMUO8AkSL6jxVK6AYKrhOtHDpVMIztufECWzEhI8WXVc0H5NSDBmi8bj91NmBLsvj8W6Rk8lKOkY2Vm41Jygp53y11cyEcHDATx2y9mC4MoGz+vDQjHBBbsjfDNPiAlu/60y7bWzhKBJ1thk+00JQWmnqWztFkuCKpc9o9fdrAjGDWf1fzliRdBvfdlI6QNrgnfDg1JDJNMIlh807JAM2hJUFeeInlraE5S6dMZKOxwIKhplmuSB6QTdfSZSZdtnExxSVYY575pBsHZrcbl6pRNBu6S8Dm3EZwTl94tNvN44EGwOmkdWDfYEjRRxobZtdgTLK7JaZo593PtJ8VzHEmtfW4KSH3yEZw5OI+j9su6+SZsNwd20M+jiMhuCXYssIpU/WhMsW1mkznawJrjh3SHJTyVWBNMqBlnCfCuCfZGzzczqLAk2Z20LsYy0JOjmXiCT/y0hONPqoGNUioRgl3XA+hnGEoLFbrPU+VVign1ZDcJVK8QEffdGTf7VakHQPDt92xqxBcHyhVcC1UoRwdXT2qJsi80JFp27VRA8NJWg91n7qI1sKsGBjvGcxiIzgpPBi9n1XiFBjzD/fTuChQTjy2rOf5E/heCB1aXUMywgmLsu/UnPYgHBm1W3v4s/yif4ZJ/IJ+ehKcG97XUioyWmBHtexJmPnTIheDtxwD+515hguPJ4Oic1JphU7qhblWZE0FD1OJZf/fGPPpkfHB0RNoVH0N/yK6eceYYEK9QbjzXvMyDo6Hlpljx7ksGGzmRXxcv3DDYJ5MaH0vQMzslVH/2j9h2D+tyg6gC9jsEwcWzuYa9xBnk7CiL4KW8ZXBHn+qwyZZTB5Woy6wkdZvC5VtoTdfYVg3aX1pvSmucMumizHqhG+xk0vdE6WFzfzWB3vFBrnX2Hwfmmqqt5vL0M9tdwyujyuxzsir3UOuin5eAuwYMY2QktBwMtpPz48SEOnrugtQl4NM7B1Jx7TU16Qw38FzD550dQCAAA\"},\"shape\":[266],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/82VMQ7CMAxFO3CACjF0YOjAPSIGBkaOwBF6CeaKE3Ts2IGhA5IrFq5FlPxfhKEqoYBSWXpy3NhOYidJ4r90trZSmkdW0CuTHfZW6kH6eQ3+H+dis7NyMp/S59Min3Aur4WVs/kX/f502J/4OHfn3xnyuNpauRhS2/V6ptq1v9j1DPVD5tDJUHtoPafoHzKDTup+zNG/pLff+ztH/5O4FnpgXEjMl0H6eJKCiCskx3u6+A38hRPrFhL7IuSo3eXZCs7h60RdCIn6EDI2O+5FIXV+U+24L4TU/mLXf1Un9It3Ud4l+n2wf/B+o67rJ+r5+v/XfV4iXim8KG5oLuroUAgAAA==\"},\"shape\":[266],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1701\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1702\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1697\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#9ecae1\",\"line_alpha\":0,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.5,\"hatch_color\":\"#9ecae1\",\"hatch_alpha\":0.5}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1698\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#9ecae1\",\"line_alpha\":0.1,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.1,\"hatch_color\":\"#9ecae1\",\"hatch_alpha\":0.1}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1699\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#9ecae1\",\"line_alpha\":0.2,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.2,\"hatch_color\":\"#9ecae1\",\"hatch_alpha\":0.2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1709\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1703\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1704\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1705\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z3HfVDTdRwHcMZgPG2wB5iAIqAsLjkorzQF5PsJBQz1UCBQJPAhIgM9fMCHfIgzNVLJ+UDS4cNMcKDHxIOKQ+k3CxU8D3FMQVaHExFQHobQgPFUf/jur9e9sleapgoljtrst57xn7bnWgNPC6sXLp9ZWWbhIM887vp9zhAHi2brsiLf6+fgornFqqvJnRx0qUiRFmx/xsGOW7rZvEk9B5uVo863U//g4J4/11afr8pl8ESC8zNVaS2Dvt+UVKrXNTHoNJwymNlgYDDvZXmluNvI4EFvu/KZFR0MLq4r9zh5uJvBKLfKg+6yXgbvtsU+Sg8wMWgKOp94umaAQXZFfzEvaZDBkPLuyeTBIQZrPrj7TtMWM4MqZeGqDuMwg6E8LbcidpTBU8HXZMn1Fga1Gh8nQ+Q4g0PXlbUepRMMGh/qldGeUwxWbPt7MHORFUGuyy7du8eK4K47hQXNZ3kE+6o/e9/uE2uCGV6PHIz91gQ91gxmXDrFJ2jbpNldEmFDMGF4tSKoy4ag30L/sN0FtgS3V6WGxy0REPSZbmvwGxAQDG8VFnWp7QiWWMThHuvtCSoyP3cs9nIgqD95zRjx2IGgvfOMo4sPOhIMuqr4VfSxE8EfG39vDxcICZ6Z+DI+3CAkeKpoV9lZtYhgQt/IxthdzgQzavNkuStdCA69Du5snyGm/61KikrI/+9vLb1ZnvtGJCG4rGHzkzylhOCtlu62IrmUYIxQ9OlHGinB9eubDcZYGcGntSHX9zu5EhQ/Vgz76FwJHppIn8ipcSN4RbckLLRFTnBYcWJe5xJ3gtnp+eauQk+CC/wMSQtaPQlG3vtYu/mVF8EhU07AKp4vwQt/JQb+wHkRdC+47275bjrB5yuWngvlexLkd/Ss2d/gTlAvHU8ovTeN4MbTgoemTjlBS98v/BpvOcHt/KNde7PcCHr2j116rncl2LLj25/8wlwJFp5L5GxKZQRj/JVxBl8ZQW3j156zLksJpuVPzUyZIyX4dE/Wg6oKCUH1wwCNd6SEYEOPW9aTVjHBaMsC5+JsMcFWc2jsVhcxQY1qQ0z5aheCxx1DndWnnQnOFd6In2oSETwwNm/EXy4ieH+rcos5WUhQ1jm/ZF2ZE8FJSd2d2WOOBH875+C3d6kjwRF2e4t3vgPB1wkqdUCvPcHsA0HRvsvtCWZ0tJnPquwI7ozMjBIMCwh+1eNhqIgWEJwhlpUGXrQlqL2giQnpsyGoe7ks1SfShuDopqNJmlw+wWaLS9SmdmuCl+e/OzAQaE3wXrvTjb37eAQbDwc2P7ljRdBOnv1FksSKYNucuP7U4kkG45df0t8MmWDQJHi0k68aY3Cf6oV+lpWFwQ1laUKHtBEGD+WN9EqvmxkM6uA3Jor+YfCAaH9YUdggg8lpJ4J1cQMMdh1acURh7mPQYnZL5VW8YvBYhKK+d/FLBsP8siKWbjMymJJi/eHQthYG1TsUTWSuZ/DZC7F2Gn83g/XB7TdN1Q84eDEn+s3a0TYOHsk8fjV37WsOxgtH5FN9Zg7+XNLpFvx8mIM7junq6sZ5WvgvUG3cJyAIAAA=\"},\"shape\":[260],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/2NggAABFkcgmmCPn14AlSedlmhLBKIV9vSiIf7YAHXvKE0oPETA8b/BHkajq0eXF3ENBKIt9jAaXT06XwKqHkajyw93vgI0/cNoASgfRlMqDwk/4vOlAjS/w2hoMYCbgqjfzwClofr2w2iYOC55qPv204uGhud+GA0N5/0weqTLQ/MbND427IfmbzhNSB5aju+H0ejq0eVHOp8+6X4CND6JpReg5UeEPlhBAACRgk0nIAgAAA==\"},\"shape\":[260],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1710\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1711\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1706\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#6baed6\",\"line_alpha\":0,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.5,\"hatch_color\":\"#6baed6\",\"hatch_alpha\":0.5}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1707\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#6baed6\",\"line_alpha\":0.1,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.1,\"hatch_color\":\"#6baed6\",\"hatch_alpha\":0.1}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p1708\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#6baed6\",\"line_alpha\":0.2,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.2,\"hatch_color\":\"#6baed6\",\"hatch_alpha\":0.2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1718\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1712\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1713\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1714\"},\"data\":{\"type\":\"map\"}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1719\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1720\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1715\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-2.2484298409703403},\"y\":{\"type\":\"value\",\"value\":0.0},\"angle\":{\"type\":\"value\",\"value\":3.141592653589793},\"line_color\":{\"type\":\"value\",\"value\":\"#084594\"},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1716\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-2.2484298409703403},\"y\":{\"type\":\"value\",\"value\":0.0},\"angle\":{\"type\":\"value\",\"value\":3.141592653589793},\"line_color\":{\"type\":\"value\",\"value\":\"#084594\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1717\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-2.2484298409703403},\"y\":{\"type\":\"value\",\"value\":0.0},\"angle\":{\"type\":\"value\",\"value\":3.141592653589793},\"line_color\":{\"type\":\"value\",\"value\":\"#084594\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1727\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1721\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1722\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1723\"},\"data\":{\"type\":\"map\"}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1728\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1729\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1724\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-2.2484298409703403},\"y\":{\"type\":\"value\",\"value\":0.0},\"line_color\":{\"type\":\"value\",\"value\":\"#084594\"},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1725\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-2.2484298409703403},\"y\":{\"type\":\"value\",\"value\":0.0},\"line_color\":{\"type\":\"value\",\"value\":\"#084594\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1726\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-2.2484298409703403},\"y\":{\"type\":\"value\",\"value\":0.0},\"line_color\":{\"type\":\"value\",\"value\":\"#084594\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1736\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1730\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1731\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1732\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/zXOezjVdxwH8MPRcVw6zsVRFlvPyrEuLm2eJuT7ofFYKdYpyTCXsq2mlMvTQ09L5NaZmpzKka4qUhslq0ftJ83wrIspl6VZE07O0VjJPbbn2d5/vf59JRxobmiYNKhJ+N8zJVq5W9cIB1XunpWpWcMc9LBwNQ4bGeRg+Y00wVdD/RxcXOFgVxuu52D7c6HX1Q4dB3cJ2zZ65Ws5mP5qjqNzWg8HI+oSSgupk4NzI6rWBOpbOfjp0ItFvBVNHDz16ovKKn01B6sOD3JRxZc5yDsToom5lsHBoH3LjlkLOAbj4v1NF6f8xKDKcceOdusmBpcm1j7P3t3MoPnBo/7zKzsYzHKxtatx72LQplgY1FLUxeDubTqfZOduBoNHCi9IUnoZzKnL7nR72svgo4t7Lk5JtAwK7u2aq87vY3CnxbxdWQE6BqNOrz101ljPoMZ7Y7T6nb8Y7Nb2758lHmDQJ3KF/BvdIIMhffovy0pfMjj5MvPg+fAhBiOu3GPNI68ZnFpnGutkM8xgg77bOj5umMGbYRaa/IwRBmcV397uXjDKYO4Wre53wzEG3/8t9JN2+RiDFVvjy5zixxkcvZ6+rTFznEF7wd5gh9QJBkfvz09bOT3BYLQysq7eZZJBaeVuaZt+ksHaqUuDJl5vGOxo8j8VteMNg8n8P3PGO6cYVDfvLaky4BE0DzrukmfPI3houZ6/XskjeJ5v3PvgDx5By8+mt8SGGhD0SdZcNswxIFjm4bvZc7khwT2p6TLvXkOCJSvLHhaNGRJs1gbcFuXyCWriuhzevsEnWKUckO0Z5hNUMXlnxjIjgsrCsQKJjxHByG/j9Z4DRgTzr+ZXq8eNCPZcEi+YOjKD4BP7Y8rMuzMImizMrVttKCC479p3SYPeAoK61jQb0WsBQfPuG0Lfk8YE1bmbrjz0ExI08OKX8tcICb4XkhBUNCUk2FIhXKM4ZEKQd/hkuKDChKBilZWxY4wpQZXg7x+Xak0JWqz9vLx6wpSgTQF5Os8zI8gz88j/sNSM4LruC7c8W80ICg7qNoSqzAneb5jMnPaeSVARvGlzsP9Mgovdtl/XnZhJ8Njpa8Zr5SKCilXuWRlPRP9+/3ORc1bbU52IYEqEaMmCEguCiqelqX72YoLDQb/aJywXE8z5uP9FXKKYYNsz29aVeWKCgV+7rHtcJia44Y7nzhUTYoLhR9TV5fMkBPtEKu5WuIRgXYk69IdECUHLRY96NBoJwTyZvZVULiX40cLrjQmhUoIlPd+L2VEpwYFHSRU+9VKCE8r07APjUoJJMU15wgUygpeurlasZzKCqmcb/X6OlhG0O6nUOebICE47NfLCcmUE3c7ZVv7CyQhuPdvaXBRpSbBWll1gZSknWB6Y1RKaJCdoY97Ht22TEzxeHBDjsMGKoLZqScymO1YEBbZuAw8aZhE81yEvSlbMJjh6f9+IOmY2wYgTB0S9UmuCrvM7Qlwfv0XQivfBzSGzOQR9671qYnW2BKfj7roKRO8S/AcU6nS04AcAAA==\"},\"shape\":[252],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/82UwQ2DMBAEeaQAnjzpxEopaSZvSvAzTzpwa0Hx3kUZgQ4LIoEsrdB6b8/rg66rT3+7L2sqv5j1brifV1kH1U2GV+drn1n9Gk5R/57f0fPRf3g+lvVKhmfzO+/ntPNF+fB87K+VX89v1n3Onuu/8l33b56vaP6cj/IZPt97ToZj/f6TIfWdeEPyvebTUfVtH/W8f/qTl744YoP0xVC+mtf81ek/x/rUk6c/61NPPtIrt+JY8/P+x5pvMWT9SB/5t/bPfFr17J961mf/5KXfnF/llgw5v9SzvvyT4/r8uf+GPprfo3qff/N/A9uTaz/gBwAA\"},\"shape\":[252],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1737\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1738\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1733\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"orange\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1734\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"orange\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1735\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"orange\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1745\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1739\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1740\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1741\"},\"data\":{\"type\":\"map\"}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1746\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1747\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1742\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-2.2484298409703403},\"y\":{\"type\":\"value\",\"value\":0.0},\"angle\":{\"type\":\"value\",\"value\":3.141592653589793},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1743\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-2.2484298409703403},\"y\":{\"type\":\"value\",\"value\":0.0},\"angle\":{\"type\":\"value\",\"value\":3.141592653589793},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1744\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":-2.2484298409703403},\"y\":{\"type\":\"value\",\"value\":0.0},\"angle\":{\"type\":\"value\",\"value\":3.141592653589793},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1754\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1748\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1749\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1750\"},\"data\":{\"type\":\"map\"}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1755\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1756\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1751\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":9.027391219097352},\"y\":{\"type\":\"value\",\"value\":0},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1752\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":9.027391219097352},\"y\":{\"type\":\"value\",\"value\":0},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Ray\",\"id\":\"p1753\",\"attributes\":{\"x\":{\"type\":\"value\",\"value\":9.027391219097352},\"y\":{\"type\":\"value\",\"value\":0},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1668\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1681\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1682\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1683\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1684\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1690\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1689\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1691\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1692\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1693\"}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1676\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1677\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1678\"},\"axis_label\":\"ECDF difference\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1679\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1671\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1672\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1673\"},\"axis_label\":\"x\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1674\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1675\",\"attributes\":{\"axis\":{\"id\":\"p1671\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1680\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1676\"}}}],\"frame_width\":400,\"frame_height\":175}}]}}]}};\n", " const render_items = [{\"docid\":\"51ca2fc6-b2d3-4a64-837a-ef407f4fa04a\",\"roots\":{\"p1758\":\"d711ea88-d8ed-41f7-95e2-e41ad535ac06\"},\"root_ids\":[\"p1758\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const 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": "p1758" } }, "output_type": "display_data" } ], "source": [ "p_iecdf = bebi103.viz.predictive_ecdf(\n", " data=df[\"x\"], samples=samples, diff=\"iecdf\", frame_height=175\n", ")\n", "\n", "p_ecdf = bebi103.viz.predictive_ecdf(\n", " data=df[\"x\"], samples=samples, diff=\"ecdf\", frame_height=175\n", ")\n", "\n", "\n", "bokeh.io.show(\n", " bokeh.layouts.column([p_iecdf, bokeh.layouts.Spacer(height=30), p_ecdf])\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### MLE for a multivariate data set\n", "\n", "The MLE analysis generalizes to multivariate data. As a simple example, we will consider a bivariate example where $y$ is a linear function of $x$.\n", "\n", "\\begin{align}\n", "y_i \\sim \\text{Norm}(a_0 + a_1 x_i, \\sigma) \\;\\;\\forall i.\n", "\\end{align}\n", "\n", "The MLE for $a_0$, and $a_1$ are given by the slope and intercept from a least squares calculation, and the MLE for $\\sigma$ is given by\n", "\n", "\\begin{align}\n", "\\sigma_\\mathrm{MLE} = \\sqrt{\\text{RSS}/n},\n", "\\end{align}\n", "\n", "where RSS is the residual sum of squares. We can write `mle_fun()` to return the MLEs for the three parameters." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "def mle_fun(y, x):\n", " \"\"\"Given x, y data and a linear model with homoscedastic error, \n", " compute MLE for slope, intercept, and standard deviation.\"\"\"\n", " # Obtain MLEs\n", " a1, a0 = np.polyfit(x, y, deg=1)\n", " sigma = np.sqrt(np.sum((a0 + a1 * x - y)**2) / len(x))\n", " \n", " return a0, a1, sigma" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that we have identified the dependent variable *y* as the \"data,\" and the independent variable *x* as a \"parameter.\"\n", "\n", "We can use this function to get the MLEs." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "x = df[\"x\"].to_numpy()\n", "y = df[\"y\"].to_numpy()\n", "\n", "mle_params = mle_fun(y, x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To obtain bootstrap replicates of the MLE using `bebi103.bootstrap.draw_bs_reps_mle()`, we need to specify a function to generate data from the model. As with the MLE function, we need to pass an additional parameter here, `x`, the values of the dependent variable." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "def gen_fun(params, x, size, rng):\n", " \"\"\"Generate a new data set\"\"\"\n", " a0, a1, sigma = params\n", " \n", " return rng.normal(a0 + a1 * x, sigma)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now draw our bootstrap replicates and compute confidence intervals for the MLEs. We use the `mle_args` and `gen_args` keyword arguments to specify the `x` must be passed as an argument to `mle_fun()` and `gen_fun()`. In this case, we will use the `n_jobs` kwargs to enable parallel acquisition of the bootstrap samples." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[4.1500561 , 0.72421149, 1.99246613],\n", " [6.08011778, 1.29288082, 2.83404902]])" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get reps\n", "bs_reps = bebi103.bootstrap.draw_bs_reps_mle(\n", " mle_fun, gen_fun, y, mle_args=(x,), gen_args=(x,), size=10000, n_jobs=2\n", ")\n", "\n", "# Confidence intervals\n", "np.percentile(bs_reps, [2.5, 97.5], axis=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first column is the confidence interval for $a_0$, the second for $a_1$, and the third for $\\sigma$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Graphical display of confidence region\n", "\n", "We can again use the `bebi103.viz.corner()` function to display the confidence regions. This time, we will plot the samples for the individual parameters with an ECDF." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"4386433f-d58b-49bf-8c3d-813ba5af625f\":{\"version\":\"3.9.1\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"p2134\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"p2135\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Row\",\"id\":\"p2133\",\"attributes\":{\"children\":[{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2128\",\"attributes\":{\"styles\":{\"type\":\"map\",\"entries\":[[\"orientation\",\"horizontal\"]]},\"tools\":[{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p2121\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1802\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1859\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1916\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1973\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2030\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2087\"}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p2122\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1803\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1804\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1810\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1809\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1860\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1861\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1867\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1866\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1917\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1918\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1924\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1923\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1974\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1975\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1981\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1980\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2031\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2032\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2038\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2037\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2088\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2089\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2095\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2094\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p2123\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1811\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1868\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1925\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1982\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2039\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2096\",\"attributes\":{\"renderers\":\"auto\"}}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p2124\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p1812\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1813\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1819\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1818\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p1869\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1870\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1876\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1875\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p1926\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1927\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1933\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1932\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p1983\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1984\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1990\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1989\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p2040\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2041\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2047\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2046\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p2097\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2098\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2104\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2103\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p2125\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"LassoSelectTool\",\"id\":\"p1820\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"PolyAnnotation\",\"id\":\"p1821\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"xs\":[],\"ys\":[],\"editable\":true,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"LassoSelectTool\",\"id\":\"p1877\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"PolyAnnotation\",\"id\":\"p1878\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"xs\":[],\"ys\":[],\"editable\":true,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"LassoSelectTool\",\"id\":\"p1934\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"PolyAnnotation\",\"id\":\"p1935\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"xs\":[],\"ys\":[],\"editable\":true,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"LassoSelectTool\",\"id\":\"p1991\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"PolyAnnotation\",\"id\":\"p1992\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"xs\":[],\"ys\":[],\"editable\":true,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"LassoSelectTool\",\"id\":\"p2048\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"PolyAnnotation\",\"id\":\"p2049\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"xs\":[],\"ys\":[],\"editable\":true,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"LassoSelectTool\",\"id\":\"p2105\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"PolyAnnotation\",\"id\":\"p2106\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"xs\":[],\"ys\":[],\"editable\":true,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}}]}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p2126\"},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p2127\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1823\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1880\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1937\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1994\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2051\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2108\"}]}}]}},{\"type\":\"object\",\"name\":\"Column\",\"id\":\"p2132\",\"attributes\":{\"children\":[{\"type\":\"object\",\"name\":\"Row\",\"id\":\"p2129\",\"attributes\":{\"children\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1779\",\"attributes\":{\"align\":\"end\",\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1788\",\"attributes\":{\"start\":3.1122335847583296,\"end\":6.983452681611039}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1789\",\"attributes\":{\"start\":-0.02,\"end\":1.02}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1790\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1791\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1786\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1827\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1773\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1774\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1775\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[1000],\"dtype\":\"int32\",\"order\":\"little\"}],[\"a\\u2080\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/w2ZaTiVXRiFJYUU57zTOaiUNCiJkLE8TTJkrJColK8MESpDhsislCgRyhSZUpFUxkiGECUpRVKISBki8T2/uq5+ePfZez9r3Wttk9LADS9+U3DrMidsXJUGfk85o9BINtxJuZKoZkTAbZ7qCZlzNFj3NQTklC2Ce/Oca3yKKbBOOH9Z/jcNpbs/LzMypUBKmGd8RpMDWW5LdvewGfDqdl7Qr05B0GslqU2RDCwzITeYhtAwMu/3+aFZGqpUPxxum0PCyQcs76CjXPg96nZQWIYDGnuERM0JBr6qllFul2gwTbdTWt9EwvmRgmFOBwWRoJ0QkUvDVLfg1JMWEl4Nqd52+sTA5QnjUyb5NDxu/H59cT0B9g9EBqsP0qBW3C7TsZgNBb/OlbnVkjB8UZja/IeCvMqkUfGlHCh8uFleegcbhszMH7quouF9bKXk734CHs1rkKh+R8EKVp6zShIJVrKNwwo1DDyqGNvoG0YBZ3me4wcWBTUXnaR2XqFA8lxeyzohElYb+ftXSLFAStuk4bsjAZ2p6UnqIxRMXhxqXRZPQXdnvm1aHAMC8lZZhx4xMM+Avex9ABuqRtLcCkUYmDPgtiP4/iIQb+gsE/bkwN1g9UR7NgH+3g/kgrdyQPjfAvlTPgQs1rVlKd2ggdWva90yQ0LXM+2iW79oMLkwte4ym4bdUzdScrIpODtqOqriQoJW/aGTCYkEFMDocw9c78hm5Zx5pRSs/1Q7Vr6RhNLEkgkdARLGe5NKpvH3bjQcZ+dt4YJ2+bhxzmYO8OcPO9glMmAtq3Xa9gcFtOEulq8OBU4eDx387+Hvr/t1cacPDSHvdH2OCHIgcH6eUXcoA70WFx01xymQjfW3s40nwS+l0E7pIQtMsipMrlI0zIsqEv8cQkEFx8l7UoGGBue9L8RxXc8vdh1msSkQkRPUDXQk4X1Gdpx2FQH8orleO+Vp2DbddldGmoR/cE6KGOLADXGp7rt5i0CPFLgz08OCgEnenSpBDHioNT8tfoL397jRxYQtJNgV3D69tYCBqZ4I+6EaDlxVrloeFshAcdNPvkdVNPju5btXoE7DXPeLUZQ5A78ul7U6BNEwcJMd5gsM/BBx/h1eSUN41Sj1IoyAeVs9ddrqaDhZV3XjviwNkesbbjuYsOGdtvf4hXQK1P6qrHT9RkCNx1h1Yp4IODvxh+25S0GPNMN/4TAFPC8qqUpTGpq0FJNW7cX9yDqi+/QRDURYXJ4Z7n+e1qvgrn0UaA4clLHF9f9w6/19bw0DXYIeD2Q0SRCvdup0xX1e6ODCKxXBgpJIja/nommYYS1eGO7LQJys4tf8Xg4kmPlYOuP+8eo7rmrspkGRt+Z+lh8JAl2u7ku7SfhTe4M4sJ2Eqd3rBFfyMnDhte3uhDIaTnsb3Qt2ZOBQWLOl9DMauvqWhg+fI8DVUGR1wj4G/lhfTrxkRUI2kzylLr0IWq3Z4+QWAkaOpW7UtKHBrfimfbA2A8P96QfquQxYtNykPMYYEM0sl+a7iXpw9uTCnQ0kOORmDTvg/dgupxt6/zoN7qXBEQFGDKxd3C1bqM6BzoPHvJ03ELBOkviiq01CjeuYxYtkXCfPAcHRERJ4TsJdfXEWtEU1vp3RIID7aaNcSiXqQkFP6VQDGw41HzU1NqQg+/l+LaE7BCwX7ZJJG6Lh0a3uLa9RR1z9j/7owN/nLXEiJFyVAD5vRp/3AgPPWrsndiyk4IyS9vuEcRao+zIKvsoMLH5JpdnZ4XcqOK9P4P0Mr74sL/mMgocFxtbqQMKtB+ObXgbT4Lg/NaN6CerWkjCL3Pk0BBU1vz8YRMGgTruo+joO5IUOCxYrcaHnZ9tjCVz32gXtXvtvElBvm/02pZcBP0ebFVIebBDSO6Oisp0NN0V6FRR30vBJ4bB9ynoCInDVJukk/DRQTNIbY0ME805Mby8FE0JX73yqxt9l8Ey7O58N4wZOf+2W436kqQ7F4L93TBjVN6kECJnEv/2N+xvU7eWjmMyBT/1vTa3X06D19F1QWR8BeyTXOigqcmBw+6K5juUUNFZZP7xgRYHE+8uPCpcRkBOzKNGul4Ce15NfVuyn4cmCdkuLftSj3Qmi2kUU/Mm/OxmykQKW9HJZ869seBmp1H73JQW365tPWL4hQcY2zWWhIQEz+hM/isS4cLdFZEshPwdyXp61dfMgwDopq6Ed51XRQk7zkCsNQt+s71bwUmBnOikYo0zDOuVzkQaPCPD8rZv6B/U+tGHfaO1dNjguMDLtmcPAJaWNu7W+oX9IVaj1nCQhqqP2lcRaERjrEvRuGKIgzqfvSLG3KJxWlpvOQR1bzHfS7pU+AVMVFnpvj9NglBbzVbKaC3HaLewfkjjn720l69zRL3fQJy1KaQjWmfKz8edAsMB+qWPokyaWSuXyKRRsVRutrKApmAb/BGu81+Ghq27P20JBl9T0t+8Mzu1mpdyHj0XBs2/czMeLho8Fa1/sQB0RVb5euP0RCcRw0S6QpaA0w+XXF5yTGJ//KgM5NAT2jRnYrCPh+Nd09ckMCnrjOvZyP+L9XvVpv9ABBmgD++bT5WxolC6c++0vBfFSZBu/AQkf3+Uq5Tez4MyL5cbX8Z5J8jkLW8dy4PVS/fTIYQLOqUq/nJRnIIdx1oqIIOFi2JGIy9I03Oqas89AH/U9RjZwJz8BDen+twdlGaiqc6s/NUmCTUW0uv41GjLi3s2L+UXB2zs3ugp4aYhy5C/R3kTBXQ/38XUx6OsiZe/vfSbhv+bil3qiNFx6WX4gdC4B5rIX+7iVJJgp75Ch15OgceDo+dvob3vbVN33ZJFgOxMQbypFQmA24ZA5B3VQxjH3VDsFU3unBV/UUDB78HDRPz4KtKv+CFVm0RBPveIq7CNhw+rU9WVnUO/f+aSriKF/fwtYlP6TAd+I243dd9DXK2PO7UA9YpqHX8rXEfB17lnZxc00dMfus99uScPFuw8Dnk0ScKRqa/ioCgEPzB57GuJ5lAzvMZTrIUA0d7/4rVn0wTWNbzoEROFIidOygVganPbqz+kPJEGXWmQT+4oEZ8fIp2Q9A+ckSzvGTlKwtGzq7ccGAgR+lD/qQ32qCjnxRhznoL1SfKIK9fLnZyFlp1v4dzPzF35hseEhnSZcO0lB59Z29tx/bDgRf+7GTdRp8YlVXqxQErI8tku+8haB+9E/xFQaKNgcOD51vI8Nf/0kX7Z0sUCY9k1YjvcwTv0vN9mdBcNlr9J5hSnIyplWS8ZzG5te3eq2ggPpEyXw0YyE5AdxtyJG2OBRwiqMayRgsOsrNTvLhR//FHg3b8b9d1518jlyG9MsG7UihgCpxRvuZSDPnfDznFU8QMLcAJ6vh205UL/mfoJuCnLL2ztrYjcJQ7mvpkXLM/x/my1SRUkU2Lad0XeXJkClIGobfwXqRMB777l7SAixMwutbmVBmMts85MZCsimRQsrv5Dwu/f+6yMhDATm9cjed0aOCyuqLxCjYOiX9tLwnzTw8Q3wfpDggMuY87WeIxwQfH1/al4hCYo+8cLL5Ck48e9uINFLwnqxuMKMYJyL81VO1kEk9B8tNfVYS8H8N/5vrm5n4LqWxt6PqM8Cqj+lNJsJ8PWvNft2lQQR11wfB7yXZ8mmkhkPEjxOX0pZzaVgZ0EuIbaVhrbkBuutoxRcOH59iyiu+9ed6VKZjQw4x5KxVej3w9GR7d+P0iAr3BST2oPnYdNa9q2SDQYzE9NBuD61xtInpacpWCQ8m0p0MFDQWHJQ9jUNSvl715ohF50Nlry3UmMRPO//T4iTijpdeWPJEkkuWF+3NHiXT4J7yz6+YtTHd3kN6mr5FMgcaH3WMcoCt4GQbVImFMxV8nqpvp8DM2YpI9FOHHC2t3qQ5Ia8n+XFv/UtCYnaubNROCd6C9T+BgSyobRT8Ip6I87X0EF6CfJwjWPDAAgSQH3v32xrTgNX7lRUxUIG+qOLPLqi2SBRIXEnxIoLPjqLPgSjL/qaVn3wtaDA06o9NgHv2z5e/TiNC7jfkSqkKHJfWr3241L0W+cLtWnPUa/W3XeXlH2BnDx1KX4dcnpSUfeOLMwLJeKfBb7o0BC768McUoqBBQtHTa5mEqD9w2pj9h4K0l44EZ6oZ72tc69kNyOfe/meLXpAQF/qqFoM+tCeoe0aogfY8K9fSWocfXtBX1KjFPqEtkG8YdEvEpbWT8S+8GBAjyfcuPAYF8ZktB+cqaNgzb5jS6LnkVDePl0vOEaBQaKHzo8FFCgaqOudz6ThVHc1zwDqXdAN1dfjwgz0/ZP5+jOZhtZFLvTwUga4UTqKHmsoKBZp4Un+wEBjstdt0Ss0yDcfW69iR8Gx78o8xDANoCtcZPuChr/qobyFXBr6d1WdNT1Egbcrz6NGVw4Qa046T/Sx4O1ZlmWdCQPaYk3ZX/E+JLj/s6pdyAXZp7IW/agrXOWNQe4/2HCr8Of3oAm8v92L9SOMaLhcMefKY8xH8nWp7garaWAv2FRQcJqBA6ML6sNX0DD9eHekjRcJI7a9zrXvMY/NDW+jKQraMqVEvd/g7/bou/vxLAXV+SE1m8NJ+Pvk6bYK9NOrekON9t0sqFcLa3MzxvsTPH1sBjm1TNXMeznygGHvxqdC+HvThtaknt1GgslJrxhx/N6v/CLVD+ifqdzAifBDqM8DfOuTvtJg+FF1uH2KAkHfBknWDQYeaIxwPFCXJ4d1K+xwPjS0d+SUq3Fh+qlA5CUTGp5tSLh8Q4sDBosFYhQ+kXCh5vnN7/sJ0FwwnLk8jwCJp7t8TiEfbGzXM1dxQj7RJdeX4rzvjf+5eEkRG7o8JlRyXWhYdIOvouwJC8pOmi4sf8fAZCzX3PwoBe/HiCiXs8jhQZ3Stok0FBucCJ2ZR4Gz5DL2QCNymYO44e4ZAu7OcW9pW8+BgV5F5ZY/NMzqU+TnfwToLR9W1sN5lmgejl6JnL+oZZ7hp1o2OMzfQC7q5IDxknemvUdQB4rrZNLPsWAlq7baJZCC3I88N9nIv8fb/GocQgnYzVZu4UsmIV2v2KgVc57cgqqTw86Yn8O9B13iGbjqu4CnDc/zpxF3x5yL+PcuRB6dLUK/OyB7bJMZDTe11/wWiyIgj85fwB+Lehhwnv04moBVhx3V0laSMCSbmKvmgHxq6X22E9fffDbUs1cOed0n21cc/eyK1UPhWvRxy4zmZZoCLIjsaIhk1ChYLpVkaPGaDbKOn09e3UHB6XOKKhLLGPCXHzx7twY56blmlOJq5OE2vcnDK9mwB6Q880fw/j8RLPDHPuCx/2dlj9+YO//4toZ85UDGSNDgznEC0ucNbu+3o2F1qGTitwjkm7mFr41vU9C+7eWHVScZeOWsOOeiAgdIWa0seTyn5u2Xbopivnxits14qQb2EuZNvovR/2q2iW37Fc+GXiLP6bcX5u2l/NdYDjRI3BUzHyxG3ZWd5rqnYx5ydGFZnCZBO/Sn723sO67rvbjy9ycB6lyxf7GeFBSJr6mbEOXAsgOKeiOo80XRTXl7H1FAJA1sW5fGgmneq8bte2hYbhBfaDnBBjObv2r6mMvq5z1ZV4Xn+99D/zwbFQbuHUz9tgNzKCP//OCeJxS82TlsXID9wJozuhLzrxEwFHNNZfQMF3asPWRe+Ap1epiJy3PmQObSPW9VVShYsOGJn/FB5MID6vdS+ymoX1o0YPOThM6aiE/fhBgwl6uxDOhj4HXp58dt2GPwFxZcq7hIwqqc37v3S3NhzqdNFztwvx9Ktlr+/EeCr9T975HI789sgmM+YW7/6GV2rkmBAuO07YUrxnBuPmldj+0koawxpbBekQHvMwr3q90YMKgLyau8xQGfi29afGPYUP9UOncz5hqxlu6tnyk2CGTtjyvBfibrRF21WykBgS/nhI4NIq/t8+hukCDh5d59tnttachZ/yb+20cKdl+qNT98nQJTVv5goh76xGuL8lIFzCelWQpeyKtVihZbn1vgPsV43uxA7n/sHPQvA3VtwMDFeBzzv7t3+qQE5jQ+a8+YLZPC0B7dE2bIT0PBC8uUz3ivM656rziCHJDutcth9XcOVCW8DKF0SGhSe+j7ZwB187NG3v4XDFDvZupkkSNOlg4l/n6KufyBUPW7FBr5IuVh1SoGZubzZo+n0WDRSj418kT/EK5zEzuP65+RsVs4QkBZ37HDa6dYMOA8v2hDIxs0t1zYN1eKC0c9qU557AV0kmZHDNCPXlm1fDpwnA3VXwf8398hoSrnRKwY9hTBOglmOYME/N1ovHtLFwU7elMNEndirp9Xy25GHb4g3PN1WoUGu6DFyYPG6KuFArcObWCD6+VY89glDAhm1ladw5xotUzQQRy5VVjvvMmabdh78Mh5tSXifG8LCZ7Cc1K0jzz19j4JKtP7dERQX7OEFA7yqpOwRX2ULj9HwuBid81K1Msc2eF+7R4atv6RLR3JXgTNVbKDFqif/IMNh2fnU6C/KX21hy4N6SZ1NtF4351fzLjnepIwRu0XkBQhIXSxR5x9APYVZQXJyUroVy5hf8yQ8+w6huSWYV9QesOaa8RQ4MDX03gAv1+QeDT5+FPMtV5yqTOfKNjmMBlXgRx1JDB3/2rkcfUSLcIWc2dC2KNSnQH0k0zf1N27SahTCqyLPkGBeJWG1qaFoiA0/PfmjTAaamvI/hO3Cfi0bIugLubd+X6D546lcuHDQq1PvdjjZcfdnplE3VyaE+q8Hc/vCSe18Duet/llU0kX1NuC2cH+v5h341bZflttQMPtwWhFzigDzdLfjnXfF4VPrWReFvZlySqTUZFraND73naVjXlgOPlGdQfq4XSx7PS6ITbcXvXJSGEtBybDRtniV7mwKbw14xvy2FI6uY8f555NrcwQXMAAcb/WtbqYAKUnkzsyfEjIq93r7TBNgholsXw76ujWP+9OdAzQwBOSMHRkmoY9v0Jy0oSwvzCw0cvHHtbCMtpNqo+EYEG/SnfkpoAnC01c5Ci4aptgPIJ88DBNrMPoDg36t+ZWZSLP7lZlrWHhOTlVPlhJ9NNw32HTx3zkPxm7yfoQORqyZ399YEdwYLv3GsOaThp4WdYt7ccpuDYh+NtUA/Xs1ZLrSfYcGJP6YuykhX3B8dOTpWrYt+UfkUrmo2HttZISifmY36zcG5JzSTjhc6P/jxEJh7dKHq7KQL0RKNY+L0NCZtHM7I4pAg5Zfbi6UAzn0F7lR0ksnsfbHZLP00hIYA3JeywQg1Mv5Q59Rh61UOrva0G/p89scN2HufjuO9Yz92ck3Jl/gRlBfU09f8B/Sp+GP6KJ2cp+HJiTnZ/50x75bt/lsxZSFPDz/H1q7U7Dw1gFvsXYu8WYieeEG5JwxEPA4iPyZ0DWzlW/cP88l8jJ6iMHPVh4b1wc+fRU4If+6CsEPG+XlH9ZzYFD53m1np1AH1HcaLXSmoGn/yK4w5toGBbVkNTBPB3cmrHL+wgJ+vd5Ak2Eadg3NhOi68WB4RXRM39nGdj/K/16OebU4T5tsd6fXHj7fSBqHc5rqY7Xx7B7HHiw1+vqeuTWeXHJroZbGUg5at54Df3v/r1dvmZbsNem43PNkYfnE4aHhnaQ0PjQcL8W3pei/a3fvDQ48ENzDaTJk7ApWbVuwSouFK++MU19oaGx27VHRQT9JOBW6+HHLNidmKkogznex+gMk4X5TahEIfLPUQ5IbDjrZfeIBZqBLnEimE9zBB0zPysjD+pphXTmUBC6lxZzdmFATla7wge5elJLTUY6igHVzMq2FfdImCS/2PGib33nOfYxHnvvCKFLO3VwXdP8rMjHbRREwWA43w4COJoyG9vzMSf2lv/pliSgJcSl6b+9DJzJXBHXyU/BeauStca4v3+O3uI80haBW1vrwMAUey4zS4FTtpj7K2coYzUCdilLKhhjjx/8UspO7SEF5vtEle+5kpCxy0Fjfinq6wfWdsVpNpjrzVnitIuCJjZ/wFzki8/jx1aAoAhc+OoQ83QxAbdOf3Z2us/A1rd10WarSIg2sauIWkmARRHXXMqWC/t6SxK/beNAg+jFrZsxJ64VCulP1kR/q/yyOfUmCctFrveZ4nkZReZ4peJ7xJ1XUa29T/HcAv0EHk6Q4KlrUGeJfdbqppfta5GH2c2aJ+Sw1wD+4Mu/sJ+/JyFrotbGwLZRmaudmMuFTpOmvSbYN2jsP6HRQoGXydQeEZxfs5CUWnXMJ0Kty3TakwlwCExKeY09Xk9/aUs4fid4Dx8UYY9oKf3c796AMCw45uNrhbp0Z3eBSqA6G+wnPyvOyiGvHE5pfCNDQEqV/3gJ8nO5a06WDe7Dmcip9y6TDPx3tvpD4GPUQekAHfoMA8+X6Ol+wF4t6kzAdLK1GHT9V9IYuZoLN2q3R/+swX5n4bXlql8o0Puw8lAo5sQXGpNR3TGojx8s5gx9x3P0s5zu+cYBi+xnenkCOC8B+RJr92Pue992/hHy65MnIoHalgyorz36mu3EhiT74vERnKvZwK3h/sjtGvqH34vHMpBh/T1xwBH9TaB2+BC+Xy10TxqevxjztcKaK9X4vQydw7v+s0TuzjvY0OSEPB+x6SOvHc5JdKWH3GvsmSzdYMsUG/7TCRXxwz7Jz/NkZ2wdB1be2aWViTxpH/aoPsuVgqebyzX/Ij97w+VJtzz08ao9U3MxfyS8WXzAZwUFRjYrN6hgf2zYtF1B1hf7yp9fgoaUsOcO++248QIF/5TrD3ebcEDn+fEjitjTlTSVlHboMGAr7mhlhvxjUtGxSQd7W6cV6fn/bLjwMLAs5RXmKI7NpZV8AwSsvCFWqUkQoH8ix741m4SeC96mJthf/2Xn/aeL98ph6xq/L9ZskNJQMV6PuXWVpf/cET4SpNYnSPlhHg03k4uIQ30bVr/J14962ihRJe2H7zZKxZPXWMilWlf+ej2VxtzxOTr/SCjy6mTm6g+oc8XJK8VnxkjI5QbGW6yj4SkrZegI9kdCS/PXH2RzIK19WZw65mDxgk6D4+hXT2rNG2Uxt8qp/uUZxj5i+Z71lVzsITQ5p+S7kD8+r33u/P08DT+iTE5FYW7aVuDhdxl15Hznkv3xB0SgTTiBZwh71/fP42RzYljQpHc3/Tz22tr25w+F/CIgdGGfb8IyFjhohFwtRW6SHtytMCJHQNDvX2VjVairMvVpepjT70tP1u3E969G1Qj//kHkNLFw3elBzPEnu4qzMIcNJSyS8jyPXPzMyCUDc4Z6+DdFdgkJZyocHjeir5hfrDuYhX2IY6RckwSuf8Jrcq7OJhKEnyX1XBfE94pcObYP+q1wwpLmS7sxvzeHrOpyZsGrXhO/CzuxX76e+ix8HuYn0Dl1QIKG31e3m2+bw4EvPr+m1PTwnSn5gaGwLBtsxOeEccuRd9SNreKxx9r2KH32HvKx1dyClUrPcc6J6mA1nGel4hv7eNH3vIxOXRfEvFbG32vSge+GhjsF50vXUjDv8oHsFbdIaNAarlM+x4DGiwlFF/Q5oSqBRa7f0X9v1jQY47sEb9ecz9a47l9ypzTzsLeq69liXPYR/UFfVR8fMmFT412lrx3Icxdua0QEoM6LKb8eus4CyRnGI3mEAVbzP38vzGEaa1oiVxaTUGJ262D9MhKuG4mfzPyLvGQaE34U9fewVIeihwa+Zy2V0ejZhnzH+tPqtYwN2aHlZPkmNryxl/fuxzzxxvTI6S/zGTj6hH97M86D5umdCh8r0Sc6M2qemJJwTZKn4M4g+l+vgGM/9qha1ZrCid5cfH/tCtqD79OGq0a9rVqw7575WnPvLAeOn+0KiMZ83LXoPZ8JzluYmHt70nkCnLJlZLXS8V037lnbcBMHXl2du9waOXvO0ddTe76ifqpY1j52pOCUgj85hJzU79oebCrPgc2qj2wmtSm46Fb7wriKAbuIGd+dqDvaK6RLD+F3lAi3oLAyAv4HmgWpm0AfAAA=\"},\"shape\":[1000],\"dtype\":\"float64\",\"order\":\"little\"}],[\"a\\u2081\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[1000],\"dtype\":\"float64\",\"order\":\"little\"}],[\"\\u03c3\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[1000],\"dtype\":\"float64\",\"order\":\"little\"}],[\"divergent__\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/+3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMvAcGvpOLOqAPAAA=\"},\"shape\":[1000],\"dtype\":\"int32\",\"order\":\"little\"}],[\"chain__\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/+3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMvAcGvpOLOqAPAAA=\"},\"shape\":[1000],\"dtype\":\"int32\",\"order\":\"little\"}],[\"__ECDF_a\\u2080\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[1000],\"dtype\":\"float64\",\"order\":\"little\"}],[\"__ECDF_a\\u2081\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[1000],\"dtype\":\"float64\",\"order\":\"little\"}],[\"__ECDF_\\u03c3\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[1000],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1828\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1829\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1824\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_a\\u2080\"},\"size\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1825\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_a\\u2080\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1826\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_a\\u2080\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1833\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1776\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1777\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1778\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"int32\",\"order\":\"little\"}],[\"a\\u2080\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"float64\",\"order\":\"little\"}],[\"a\\u2081\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"float64\",\"order\":\"little\"}],[\"\\u03c3\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"float64\",\"order\":\"little\"}],[\"divergent__\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"int32\",\"order\":\"little\"}],[\"chain__\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"int32\",\"order\":\"little\"}],[\"__ECDF_a\\u2080\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"float64\",\"order\":\"little\"}],[\"__ECDF_a\\u2081\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"float64\",\"order\":\"little\"}],[\"__ECDF_\\u03c3\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wMAAAAAAAAAAAA=\"},\"shape\":[0],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1834\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1835\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1830\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_a\\u2080\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1831\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_a\\u2080\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1832\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_a\\u2080\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1787\",\"attributes\":{\"tools\":[{\"id\":\"p1802\"},{\"id\":\"p1803\"},{\"id\":\"p1811\"},{\"id\":\"p1812\"},{\"id\":\"p1820\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1822\"},{\"id\":\"p1823\"}]}},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1797\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1798\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1799\"},\"axis_label\":\"ECDF\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1800\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1792\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1793\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1794\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1795\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1796\",\"attributes\":{\"axis\":{\"id\":\"p1792\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1801\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1797\"}}}],\"frame_width\":150,\"frame_height\":150,\"min_border_left\":80}}]}},{\"type\":\"object\",\"name\":\"Row\",\"id\":\"p2130\",\"attributes\":{\"children\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1836\",\"attributes\":{\"align\":\"end\",\"x_range\":{\"id\":\"p1788\"},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1902\",\"attributes\":{\"start\":0.4371774985142742,\"end\":1.5365607298067372}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1847\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1848\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1843\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1884\",\"attributes\":{\"data_source\":{\"id\":\"p1773\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1885\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1886\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1881\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0.1414213562373095},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1414213562373095},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1414213562373095}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1882\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1883\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1890\",\"attributes\":{\"data_source\":{\"id\":\"p1776\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1891\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1892\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1887\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1888\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1889\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1844\",\"attributes\":{\"tools\":[{\"id\":\"p1859\"},{\"id\":\"p1860\"},{\"id\":\"p1868\"},{\"id\":\"p1869\"},{\"id\":\"p1877\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1879\"},{\"id\":\"p1880\"}]}},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1854\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1855\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1856\"},\"axis_label\":\"a\\u2081\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1857\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1849\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1850\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1851\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1852\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1853\",\"attributes\":{\"axis\":{\"id\":\"p1849\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1858\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1854\"}}}],\"frame_width\":150,\"frame_height\":150,\"min_border_left\":80}},{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1893\",\"attributes\":{\"align\":\"end\",\"x_range\":{\"id\":\"p1902\"},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1903\",\"attributes\":{\"start\":-0.02,\"end\":1.02}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1904\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1905\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1900\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1941\",\"attributes\":{\"data_source\":{\"id\":\"p1773\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1942\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1943\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1938\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_a\\u2081\"},\"size\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1939\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_a\\u2081\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1940\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_a\\u2081\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1947\",\"attributes\":{\"data_source\":{\"id\":\"p1776\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1948\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1949\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1944\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_a\\u2081\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1945\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_a\\u2081\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1946\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_a\\u2081\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1901\",\"attributes\":{\"tools\":[{\"id\":\"p1916\"},{\"id\":\"p1917\"},{\"id\":\"p1925\"},{\"id\":\"p1926\"},{\"id\":\"p1934\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1936\"},{\"id\":\"p1937\"}]}},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1911\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1912\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1913\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1914\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1906\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1907\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1908\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1909\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1910\",\"attributes\":{\"axis\":{\"id\":\"p1906\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1915\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1911\"}}}],\"frame_width\":150,\"frame_height\":150}}]}},{\"type\":\"object\",\"name\":\"Row\",\"id\":\"p2131\",\"attributes\":{\"children\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1950\",\"attributes\":{\"align\":\"end\",\"x_range\":{\"id\":\"p1788\"},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p2073\",\"attributes\":{\"start\":1.5911311187118156,\"end\":3.282063780521796}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1961\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1962\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1957\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1998\",\"attributes\":{\"data_source\":{\"id\":\"p1773\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1999\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2000\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1995\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0.1414213562373095},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1414213562373095},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1414213562373095}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1996\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1997\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2004\",\"attributes\":{\"data_source\":{\"id\":\"p1776\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2005\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2006\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2001\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2002\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2003\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2080\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1958\",\"attributes\":{\"tools\":[{\"id\":\"p1973\"},{\"id\":\"p1974\"},{\"id\":\"p1982\"},{\"id\":\"p1983\"},{\"id\":\"p1991\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1993\"},{\"id\":\"p1994\"}]}},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1968\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1969\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1970\"},\"axis_label\":\"\\u03c3\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1971\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1963\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1964\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1965\"},\"axis_label\":\"a\\u2080\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1966\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1967\",\"attributes\":{\"axis\":{\"id\":\"p1963\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1972\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1968\"}}}],\"frame_width\":150,\"frame_height\":150,\"min_border_left\":80}},{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2007\",\"attributes\":{\"align\":\"end\",\"x_range\":{\"id\":\"p1902\"},\"y_range\":{\"id\":\"p2073\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2018\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2019\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2014\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2055\",\"attributes\":{\"data_source\":{\"id\":\"p1773\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2056\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2057\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2052\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0.1414213562373095},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1414213562373095},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1414213562373095}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2053\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2054\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2061\",\"attributes\":{\"data_source\":{\"id\":\"p1776\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2062\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2063\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2058\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2059\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2060\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"a\\u2081\"},\"y\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2015\",\"attributes\":{\"tools\":[{\"id\":\"p2030\"},{\"id\":\"p2031\"},{\"id\":\"p2039\"},{\"id\":\"p2040\"},{\"id\":\"p2048\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p2050\"},{\"id\":\"p2051\"}]}},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2025\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2026\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2027\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2028\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2020\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2021\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2022\"},\"axis_label\":\"a\\u2081\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2023\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2024\",\"attributes\":{\"axis\":{\"id\":\"p2020\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2029\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2025\"}}}],\"frame_width\":150,\"frame_height\":150}},{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2064\",\"attributes\":{\"align\":\"end\",\"x_range\":{\"id\":\"p2073\"},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p2074\",\"attributes\":{\"start\":-0.02,\"end\":1.02}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2075\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2076\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2071\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2112\",\"attributes\":{\"data_source\":{\"id\":\"p1773\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2113\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2114\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2109\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2110\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2111\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"black\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2118\",\"attributes\":{\"data_source\":{\"id\":\"p1776\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2119\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2120\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2115\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2116\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2117\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"\\u03c3\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF_\\u03c3\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2072\",\"attributes\":{\"tools\":[{\"id\":\"p2087\"},{\"id\":\"p2088\"},{\"id\":\"p2096\"},{\"id\":\"p2097\"},{\"id\":\"p2105\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p2107\"},{\"id\":\"p2108\"}]}},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2082\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2083\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2084\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2085\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2077\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2078\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2079\"},\"axis_label\":\"\\u03c3\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2080\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2081\",\"attributes\":{\"axis\":{\"id\":\"p2077\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2086\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2082\"}}}],\"frame_width\":150,\"frame_height\":150}}]}}]}}]}}]}};\n", " const render_items = [{\"docid\":\"4386433f-d58b-49bf-8c3d-813ba5af625f\",\"roots\":{\"p2133\":\"bb15a2ed-edcf-4863-a0d1-689d61ba96c0\"},\"root_ids\":[\"p2133\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const 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": "p2133" } }, "output_type": "display_data" } ], "source": [ "bokeh.io.show(\n", " bebi103.viz.corner(\n", " bs_reps,\n", " parameters=[(0, \"a₀\"), (1, \"a₁\"), (2, \"σ\")],\n", " plot_ecdf=True,\n", " max_plotted=1000,\n", " )\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The corner plot reveals in this case that the MLEs for $a_0$ and $a_1$ are correlated, as we might expect." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Predictive regression plots\n", "\n", "It is traditional to display a plot of the curve parametrized by the MLEs. Such a plot might look like this:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"ef3feec3-6a83-4671-ac6e-6eec1c6cf9d8\":{\"version\":\"3.9.1\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"p2206\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"p2207\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2154\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2155\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2156\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2163\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2164\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2161\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2194\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2188\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2189\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2190\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+Y1Nhxcc0/D/FqJVct3URQAALPJQ3qQtA2OgIQbPb6r/v1HaxRccSQCw6b7jqng1A+M6C95VmGECQPesDVVMAQCswiNfg6g5A/3DMOAYOIkAPUmewu/sKQNfjHdZKkhBAlY5kstNICEBTm/mZEUUEQJpw4i0euQNAErR8Etfr/D+cpE9mLVcWQIzjWUjGYxNAtlPvE372A0BXwz5yQ/sQQEQquMl0XBJAzsj8h/9CDUAnBoBYLYH7P9wnmFOHzAVAJuCpgUgnEEAUX/9qbVwBQIwG8b425wpAhPMbLjCD5b8WADO89AsbQIwucXHYGdA/MtlcUdgV+T+l2xWdeiYYQMjr5BlzcPY/sFCI1Vx2FUCV0oCotgEAQLC5gwZs9Oy/fG7qRXow5D8JKo7FTQIGQGKhUpCjB+s/jDs+tIGI9r8XpMFvO5n4P7Frc6svc/o//y/JAF2OE0Dk5+yFFxDvP/tThImL+hJAwv6s8AlB/T/+VAptLxz2P6hKq9Od+QJAisWJ3jrg5j+Us5S7lfoEQCyxLSXCXuu/IGC2TlDr1r8ln1PqLooTQHBzTAose8Q/oPNotLbru78cpAhW1Z3iP+kOjL+9XhFAikns7XB1EEAGzXgglZTpPwCiWppmtYa/1bEITiaQCUDUqn6q/hHnP6yzTSZVPxNAJdgugfgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+ahRfd0bpJ0DczxTI9EUmQLBvA6I/mihATP3uvMXNJEC7TLNpxdknQI1ViYUv7iZAttyuZ/3xJUBGDm99B/UiQJCPlIA2ASpA9P8DFWLJMEAnqG9+LHAhQIDV2G7tfCVAebqhup9IJUDwQ3x9tKgYQM4OLDXm/iFAPt/elb5DI0BVe5i5nYsnQGIx5WqXzSFAoNMvXO4cGUChHOO7NsspQG/KTCTvvSRATkVh+/BMFECNIAV1Lz4iQMge2jGJ6iNALjXJj0yxIUAH8o8ZGh4iQHKn6nSwdhFAEPKF5Fvr4L+u0IZJy5koQOTalQtCXhFAdVgxf+fHF0Bw9YdE4UogQL2A6uBf2w1AZuQMZk5kF0BRFVStDREZQLx71fCZcxBAWdZW/flQFUDZM3Hs/kcfQJsAzTnhBA5AfgDxE/EqD0CmX3c/zIAWQGGX1h03OBpAGNyk95mFI0CQ/RrX+Qv2P/pD3ySmECRADOmPs14ZIEAE2nhl2yIXQI4zM6x16CFA8KI1GrV6C0A6U5WyDV0TQIx99NMJrxdASGmGTZ88H0BfiO/9WqMgQEbChEW8LhVAnY/6IzHsEkDKQOQEWEIRQPZQqvcFNxdA2n7/8uoaFEAXhDciW/MMQDQD49DFohFAkols8F1tJkCRtA3Dz/IbQLjX0NV8SyFA+AB/0fgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2195\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2196\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2191\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2192\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2193\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2203\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2197\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2198\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2199\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+Y1Nhxcc0/D/FqJVct3URQAALPJQ3qQtA2OgIQbPb6r/v1HaxRccSQCw6b7jqng1A+M6C95VmGECQPesDVVMAQCswiNfg6g5A/3DMOAYOIkAPUmewu/sKQNfjHdZKkhBAlY5kstNICEBTm/mZEUUEQJpw4i0euQNAErR8Etfr/D+cpE9mLVcWQIzjWUjGYxNAtlPvE372A0BXwz5yQ/sQQEQquMl0XBJAzsj8h/9CDUAnBoBYLYH7P9wnmFOHzAVAJuCpgUgnEEAUX/9qbVwBQIwG8b425wpAhPMbLjCD5b8WADO89AsbQIwucXHYGdA/MtlcUdgV+T+l2xWdeiYYQMjr5BlzcPY/sFCI1Vx2FUCV0oCotgEAQLC5gwZs9Oy/fG7qRXow5D8JKo7FTQIGQGKhUpCjB+s/jDs+tIGI9r8XpMFvO5n4P7Frc6svc/o//y/JAF2OE0Dk5+yFFxDvP/tThImL+hJAwv6s8AlB/T/+VAptLxz2P6hKq9Od+QJAisWJ3jrg5j+Us5S7lfoEQCyxLSXCXuu/IGC2TlDr1r8ln1PqLooTQHBzTAose8Q/oPNotLbru78cpAhW1Z3iP+kOjL+9XhFAikns7XB1EEAGzXgglZTpPwCiWppmtYa/1bEITiaQCUDUqn6q/hHnP6yzTSZVPxNAJdgugfgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+yRCMkeeYG0AEEKXPJwcjQHKCLupaNCFAXYtTalwjEUBzJ97rv7AjQEaKZflisiFAhslX++KDJkDIMdBNwLYcQH+fzD7HBSJA0sQ4oN1lLEBLues/xgghQEWHXsbklCJAqZg9azZbIECxr7GdD7IeQKx9wka/ax5AVjvUDOTGG0BHGJA86HolQAge+RZh/yNAIjdTN5WKHkC2cV0OoskiQFZ9t1kVeyNAUrl5ukubIUC1ADBgyWsbQA5vAMq8dh9Ap0NFXyFfIkCio+CY8DsdQI5OyqmeAyFAcGb3kkDPEUCWkxinNdgnQFU6P0bXhRVA5DUccDTQGkCcFaKfrWMmQNn4insJJhpAVf2Xy/QJJUCiK6qavo0cQN4+JUPy3xBAdxM16ykMF0BLWE1MwZEfQLQinxEe6BdAgGphIsKzDUBBS4Om5rAaQG2WR2X2JxtA1jzjz8YUJEAY3HNVzGkYQLTir5SCyiNAtMPAIkvcG0CiVvt73hAaQBbc94+ICx5ARlLua4xiF0C9eeYJQg0fQPbv30XmEhFAAmuE038SE0DnQEgurRIkQPKvuAqfJxVABpLZtMESFEAScEX+ltkWQIRCdMic+yJAxml09mWGIkAmKQ/YgrkXQBAC8RCSdxRAKJ0/YHCtIEBfOuKYzGgXQKFOSvcR7SNAFtY4n/gBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2204\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2205\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p2200\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"tomato\"}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p2201\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"tomato\",\"line_alpha\":0.1}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p2202\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"tomato\",\"line_alpha\":0.2}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2162\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2175\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2176\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2177\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2178\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2184\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2183\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p2185\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2186\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p2187\"}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2170\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2171\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2172\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2173\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2165\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2166\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2167\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2168\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2169\",\"attributes\":{\"axis\":{\"id\":\"p2165\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2174\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2170\"}}}],\"frame_width\":200,\"frame_height\":200}}]}};\n", " const render_items = [{\"docid\":\"ef3feec3-6a83-4671-ac6e-6eec1c6cf9d8\",\"roots\":{\"p2154\":\"d3a3a119-9aae-41d0-94ec-89b0222fc172\"},\"root_ids\":[\"p2154\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const 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": "p2154" } }, "output_type": "display_data" } ], "source": [ "a0, a1, sigma = mle_params\n", "\n", "p = bokeh.plotting.figure(frame_height=200, frame_width=200)\n", "p.scatter(x, y)\n", "p.line(x, a0 + a1 * x, color='tomato')\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, this kind of plot does not display what might be predicted from the generative model, which has variability in measured beyond the (in this case linear) theoretical curve. It is more instructive to make a predictive regression plot. This is generated by drawing samples out of the generative model, and then plotting percentiles of the samples. This is accomplished with the `bebi103.viz.predictive_regression()` function.\n", "\n", "It expects the data to come as a two-column Numpy array, so we need to create one." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "xy = df[['x', 'y']].to_numpy()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We also need to specify for which x-values we want the samples. We can choose arbitrary x-values, so we will choose 200 point spanning the range of the data set in order to get smooth curves." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "samples_x = np.linspace(-3, 10, 200)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can draw sample (we'll do 10,000 of them), and make the plot." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"b6ef2c31-d97e-4fd4-8a57-ab416e5023a8\":{\"version\":\"3.9.1\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"p2283\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"p2284\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2212\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p2221\",\"attributes\":{\"start\":-3,\"end\":10}},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2214\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2222\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2223\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2219\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2253\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2247\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2248\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2249\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[400],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[400],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2254\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2255\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p2250\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0,\"line_width\":0,\"fill_color\":\"#9ecae1\"}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p2251\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.1,\"hatch_alpha\":0.1}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p2252\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.2,\"hatch_alpha\":0.2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2262\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2256\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2257\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2258\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[400],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[400],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2263\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2264\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p2259\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0,\"line_width\":0,\"fill_color\":\"#6baed6\"}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p2260\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.1,\"hatch_alpha\":0.1}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p2261\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.2,\"hatch_alpha\":0.2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2271\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2265\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2266\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2267\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/y2Ve1CUZRTGl+UuCMuywHLZZS9EeWe0SRut99GK0byhNsZ4SSpj1LwUZTLFGJnlJWUQJ0FjiAmbcDIGKFETfL+0MRwtgUEGFG9ASKGBiMjd3nN2969vvu/b857znN/zfDod/fy0E49O+j73sa/2bueW4I29PprtztMR32320RoablkbO7y1ry7nxge97a3h3OLJL9/w0vro9de9tB9/ki+U1npqKUXbXmmf76mFH56yMOaCXruUdfe1pdBrmTu/XbX7Vw9Nvbz27LMeGpcv0WmF7/zxwfhxOu14xWiflvhE0mGTZo7KHftvhh2eMiLvpS96yjtuWNK/3jcPST42cFBOnFmwbJ7HgKRuTjx6LPXG7Wn2f/vkppH7n+2/+Ug2dqw+MFDXK+fU/6mOeCi5vTM90syNPpA7DlmuHDvaLZs9o6smTO2SpdcGr3tG35c7y+iiU6pmI3+51yET1hyZse9qu/Tjxttkc+CKj2b90CJLW5//2pR9Wxq2TlvX9KBZnnI8/H7P+UaZUlOuntRLA7WTWiPf48arpUa3TZrMVNUabpVIXR3d+FCkqGo5+nJxm+Rd/ZvIZp0uijxTdvfBgFrRnUoFrwqc5pNEXsCS6Z8fuiH6S6oz1rfcFjYetEUs8PAXpw1/i/Tx49TK7opCpY6/+EdcVm8lLO8U/aq75E33hU1NnbmzS8QNtylpukWlawCRRCq39Yg2Gqv7ochg2XuFQal70rdPHKW1hj4Ws6h9a7+o4cUNiLUMzKDov/hF8Tezh0Q2rW3hsIgjOZJHxCnCY+2oSIq5sKFzyxORxgvQoZL10sFvEi8SS9VUliseyJ9NxOjRMT90V9k1PaYuX/npJymeyGCwPFGtqgRv9IKRdffCKvW0aJs3imm8EW/0HCSBfDCLqvr74kvV1aUsX7DcJj/EqG2vOeKHVMLO5o/y2jOqE38Mq+1XTRiDRDXlrrIxyFHqL5kegGbCoioA8STPnECkEbbVgahUdKQvGgsfFnIskgjLFUHI5/0GoZ3BC0aCcsGGzmCcpWNnGNCaQAMZ4OLJgMk8fgiWsaFCkE4y7wpBwatj5vZfDMF55t2IDuWic4uNCCL8coyYxlwakcy+CMV2WvPKUBSRfQpCUU3j3QnFf+wfE9geqSbMIJmPmfAG822Cy2dhKM4hB4XhLzZUGHryqYEwmNmP4XhRUWrcHo632Kjh2M0+iUAJ+zYCdSTjngj0a4ldey9HwErrDjZjDgeAGevYF2ZkET6NZpSz3yLRyNxHgnEsjIRDmaa8NRJzVZXc+CiQ2hnro5AzUPf7m8ejcIqO64qCy7fR0BP2W6PxDMXAyWgsIGwGo+HiLAZ5ZPPMGDdvMWjhOLO4ubNgIq1ln8XNnwXpZEej1c2hFedonFyrm0crAsl+llg3l7FIJjyLYt18xqKWObPB5QsbXPlowx6SO93m5s+GEs4jG2ZzoNlQr6arGLW5ubRjgP1khytv7bCyb+0oY17teIlzzQ5XLtuxvumB2pgDQ8yxA1nsQwfsnN8O/Mx55XDz7UAT56MDrpx3YJRiM8yJA8y9E072rxMV/D1wYh4b3Inr7AcnNnPOOsGfDV0c/gfbK4b+QAYAAA==\"},\"shape\":[200],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[200],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2272\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2273\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p2268\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#084594\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p2269\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#084594\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p2270\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#084594\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2280\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2274\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2275\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2276\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+jDs+tIGI9r+wuYMGbPTsvyyxLSXCXuu/2OgIQbPb6r+E8xsuMIPlvyBgtk5Q69a/oPNotLbru78AolqaZrWGv3BzTAose8Q/jC5xcdgZ0D8cpAhW1Z3iP3xu6kV6MOQ/isWJ3jrg5j/Uqn6q/hHnPwbNeCCVlOk/YqFSkKMH6z/k5+yFFxDvP/5UCm0vHPY/yOvkGXNw9j8XpMFvO5n4PzLZXFHYFfk/sWtzqy9z+j8nBoBYLYH7P2NTYcXHNPw/ErR8Etfr/D/C/qzwCUH9P5XSgKi2AQBAkD3rA1VTAEAUX/9qbVwBQKhKq9Od+QJAmnDiLR65A0C2U+8TfvYDQFOb+ZkRRQRAlLOUu5X6BEDcJ5hTh8wFQAkqjsVNAgZAlY5kstNICEDVsQhOJpAJQIwG8b425wpAD1JnsLv7CkAACzyUN6kLQM7I/If/Qg1ALDpvuOqeDUArMIjX4OoOQCbgqYFIJxBAikns7XB1EEDX4x3WSpIQQFfDPnJD+xBA6Q6Mv71eEUDFqJVct3URQEQquMl0XBJA79R2sUXHEkD7U4SJi/oSQKyzTSZVPxNAjONZSMZjE0Aln1PqLooTQP8vyQBdjhNAsFCI1Vx2FUCcpE9mLVcWQKXbFZ16JhhA+M6C95VmGEAWADO89AsbQP9wzDgGDiJA4pi9+fgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+fgDxE/EqD0C8e9XwmXMQQIx99NMJrxdATP3uvMXNJEAQ8oXkW+vgv0hphk2fPB9AnY/6IzHsEkA0A+PQxaIRQEbChEW8LhVA5NqVC0JeEUDKQOQEWEIRQFnWVv35UBVA8KI1GrV6C0CRtA3Dz/IbQBeENyJb8wxAmwDNOeEEDkCQ/RrX+Qv2PwTaeGXbIhdAvYDq4F/bDUCmX3c/zIAWQHVYMX/nxxdAYZfWHTc4GkCNIAV1Lz4iQGoUX3dG6SdAPt/elb5DI0AM6Y+zXhkgQFEVVK0NERlARg5vfQf1IkAH8o8ZGh4iQI4zM6x16CFAzg4sNeb+IUCg0y9c7hwZQPBDfH20qBhAOlOVsg1dE0DIHtoxieojQNkzcez+Rx9Aebqhup9IJUCSiWzwXW0mQHKn6nSwdhFAJ6hvfixwIUCwbwOiP5ooQE5FYfvwTBRAjVWJhS/uJkCQj5SANgEqQC41yY9MsSFA2n7/8uoaFECA1dhu7XwlQKEc47s2yylA9lCq9wU3F0DczxTI9EUmQG/KTCTvvSRAu0yzacXZJ0D6Q98kphAkQLjX0NV8SyFAYjHlapfNIUBfiO/9WqMgQBjcpPeZhSNAZuQMZk5kF0BVe5i5nYsnQHD1h0ThSiBAttyuZ/3xJUCu0IZJy5koQPT/AxViyTBAzz0ObfgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2281\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2282\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2277\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2278\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2279\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2220\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2234\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2235\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2236\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2237\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2243\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2242\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p2244\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2245\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p2246\"}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2229\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2230\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2231\"},\"axis_label\":\"y\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2232\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2224\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2225\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2226\"},\"axis_label\":\"x\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2227\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2228\",\"attributes\":{\"axis\":{\"id\":\"p2224\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2233\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2229\"}}}],\"frame_width\":400,\"frame_height\":325}}]}};\n", " const render_items = [{\"docid\":\"b6ef2c31-d97e-4fd4-8a57-ab416e5023a8\",\"roots\":{\"p2212\":\"ccba3201-bb14-490d-b62f-019818ba6bd7\"},\"root_ids\":[\"p2212\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const 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": "p2212" } }, "output_type": "display_data" } ], "source": [ "samples = np.array(\n", " [gen_fun(mle_params, samples_x, size=1, rng=rng) for _ in range(5000)]\n", ")\n", "\n", "bokeh.io.show(\n", " bebi103.viz.predictive_regression(\n", " samples, samples_x, data=xy, x_range=[-3, 10],\n", " )\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By default, the middle 68% and 95% of samples are shown in the shaded blue regions, and the dark blue line is the median of the samples.\n", "\n", "If we would like to compare the difference between compared to the median, we can use the `diff=True` kwarg. However, for this kind of plot, the x-values for which the samples were generated have to match those of the data. This is necessary because the x-values can in general be floats and it is not entirely ambiguous which samples correspond to which x-values otherwise." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"66ea2194-c915-42dc-bae3-c7722c3d7d0e\":{\"version\":\"3.9.1\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"p2364\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"p2365\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2293\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p2302\",\"attributes\":{\"start\":-1.4083268204446737,\"end\":9.027391219097352}},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2295\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2303\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2304\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2300\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2334\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2328\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2329\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2330\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z2Ta0hTYRjH56U1J9oueUMLCZxgTqWiQsv3sRJM0sxlViy7GBaVOVtKmIim5aUhEhukZVcDbx9crqVYHbKWCiaR1zBC1DJ3DAtlqTPXl/59OnA4532f5////XRR0aaiMhvX0l4svDA/w4UalUGdaTw38l0U0zpq5Urm/MMiir9ygSfMiUn8EPdg7qzJzHdwgkdHazKe3eA02n3i0KtvmS4sO3vE7wMLqBMdGqwdZ/kXrbF5EZOswlL+JXLsGxtoLGhckU4x4fsrgQb9NDv1MLnq8WqeTU7NXPeRzLKVg+LM8AAb6+Yn/bQaG/Ope50VVb3ANn1SHxjxWmTG89qmcO0SCxYWHlYW2Vm66qSla8syk5nyZcP8Mutcaf7pFvOHGT4W1pudBFS1k3dJUQlo7XHHuUy1E9XHN/XXLjpTjWZcub7dhcyqWXmBzYVUdxarpbGupG/VdxiWXOlz8G1Vae8qcguptCQ4C8lQefppf5yIBo2iREWVG+mEv15tnRLTmuQzLR12MQncd+i3NbhTX/dyqWOXB4VGZrVZ73nQxoiy4TGrJynGGorigiVUsXfmhyZHQsMT64bib0ko9U30pd12CU176riXaVKy1BvUz3OktCekreeyWkazA7nG2C4Z2VUl5TeXZNTcmqBIYXLSTRyJe5cup6D7KmtYhZwc4T2CY5VyakkqG1TnetHduv0ZylRvejLqVZun8KWFvmu/DRm+5C3Y/GLe3Z8cmt7tQs8N/594j+/wH87BubgH92IOzIU5MTf2wF7YE3sjB+SCnJAbckSuyBm5owf0gp7QG3pEr+gZvYMDcAFOwA04AlfgDNyBQ3AJTsEtOAbX4BzcwwN4AU/gDTyCV/AM3sFDeAlP4S08hte6f57/BXKSOwnwAwAA\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/xVReVDUdRSfgDhsBuz7BGQDdxlOR8ZaZcOEticexcg5giKXZNlSs4CVsM1CCgIOjWwYeLALiiG5uoBoOCsKxQuQBWFUrnXlMKDkEnALjSEW7Ndfb+Z9PvM+x1uq4+dY8ICE8c6ZgU5Acbbpe/xHgSq2WSz3LzBqa873FQiBOh4ax3K/BtL5NM/b7GP0aucL3eY7jLy/dYNJH6CIIde0ohZG1W0nLOwHgZpWVoxpTxkJxDlJk1pGRaZly02LjEasw0Ir84E+nz3tcPIy0N6Wwx7+RkZSzfOpCk5H755U1i4C+uK8hh/FB8pcsn9zawDQ8iH1R06PGbXqpWcdDwA9uGJ+6thGoC3uHeeF6UBrxDHfawqApvMWZMZIIMnBrLfT7gHds50wHqliRCV7zOUpjDZ5bXCdEq8hYbHzhTd2A30WEbzRgRj12S1sWT/JqN7p1oxsH6cbZea7yOHv7c6qieF6GWxaZXm5kOM5t3YkPmA03IsNnTpG1jy7SOUcoz+C/in2sQM62JmRoIwFMjQ0a/2nGM322d345QMgdZDA2VoCdIhdKx4fYqSakKhquLw23XnK0ruMtI7Vl6Lrga5uf1VysZWRFT91zvF/f9HmhulQoIK9V74KG2C0WlIS0FkE9LqRF1hQB3TO7eeuxXlGIT+2pLofY5RtPrsjJhvoeZKH/W2ux6h1DvEWs4yWLEPlhhJGp9U+Q7e5vh8GY4quEFBaXtf9nQugAYZv9HMzUqWvTqgAzBxMHYRRhtX8t0xecwwvqLTKdCdun5ldpg4BrBRLHu9QAuoTzRz9wgHjGiMUawWA3yQu+oUUcHjXsrTfEdAzHDMSgwDb7X8Im+EB5kek8fzkgAMfDnX+GQioinuUE87dT6lWFK+XMbxpeunrsxmweTopqKAXUFA00F7fy7DxnTum7psMj5teFBaKAMXeldezdQwFgjwPmRYwi+TeLrWA3iZ58u99DBOcpi7VSAGfhK/tKZwAjN5/UQFVDLWf6EWKcYartPKxUQfALi/7xhgNQ91+z2vvqxmuiyu7lXIW0OxI/ZO4coZdfbU9/RJA0f0T1ivmgEddxC9FuYBzivutcxaAfxs0lg3TDBNVyb/WcL4EATaan5YZSvracj8tBywij+RHfzEMFM64kgJwypZt+G0b4OFdz9IltQzHdx2NrPIEtD3zZakbl5snyWlU+wMGM1OGeyzg06B/+de5P+in05t2bgd0lx3oAl/A0NgxJc8KcARNXtIRhmnPkt61yQe8G7/UU3UV0Cp+ZuY1IeCpsI9lqw0M50uHj7duBfwPGWWCC/ADAAA=\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2335\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2336\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p2331\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0,\"line_width\":0,\"fill_color\":\"#9ecae1\"}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p2332\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.1,\"hatch_alpha\":0.1}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p2333\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":0,\"fill_color\":\"#9ecae1\",\"fill_alpha\":0.2,\"hatch_alpha\":0.2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2343\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2337\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2338\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2339\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z2Ta0hTYRjH56U1J9oueUMLCZxgTqWiQsv3sRJM0sxlViy7GBaVOVtKmIim5aUhEhukZVcDbx9crqVYHbKWCiaR1zBC1DJ3DAtlqTPXl/59OnA4532f5////XRR0aaiMhvX0l4svDA/w4UalUGdaTw38l0U0zpq5Urm/MMiir9ygSfMiUn8EPdg7qzJzHdwgkdHazKe3eA02n3i0KtvmS4sO3vE7wMLqBMdGqwdZ/kXrbF5EZOswlL+JXLsGxtoLGhckU4x4fsrgQb9NDv1MLnq8WqeTU7NXPeRzLKVg+LM8AAb6+Yn/bQaG/Ope50VVb3ANn1SHxjxWmTG89qmcO0SCxYWHlYW2Vm66qSla8syk5nyZcP8Mutcaf7pFvOHGT4W1pudBFS1k3dJUQlo7XHHuUy1E9XHN/XXLjpTjWZcub7dhcyqWXmBzYVUdxarpbGupG/VdxiWXOlz8G1Vae8qcguptCQ4C8lQefppf5yIBo2iREWVG+mEv15tnRLTmuQzLR12MQncd+i3NbhTX/dyqWOXB4VGZrVZ73nQxoiy4TGrJynGGorigiVUsXfmhyZHQsMT64bib0ko9U30pd12CU176riXaVKy1BvUz3OktCekreeyWkazA7nG2C4Z2VUl5TeXZNTcmqBIYXLSTRyJe5cup6D7KmtYhZwc4T2CY5VyakkqG1TnetHduv0ZylRvejLqVZun8KWFvmu/DRm+5C3Y/GLe3Z8cmt7tQs8N/594j+/wH87BubgH92IOzIU5MTf2wF7YE3sjB+SCnJAbckSuyBm5owf0gp7QG3pEr+gZvYMDcAFOwA04AlfgDNyBQ3AJTsEtOAbX4BzcwwN4AU/gDTyCV/AM3sFDeAlP4S08hte6f57/BXKSOwnwAwAA\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/w2RfVDUdRDG4bc3c85AB5wnEMlNkWDU8aKhIoosNGSdJC9qAfGWIBxvFiII8iLyYjTcFByQAhd5hdAJnaRBpGALoSgvQUIIJyAINCARHNqEAdL3r53Z2eez+zz76mX19KANkHzRI43/MZCnVrxLx/EI86dMm2c4evOo5sXhHKDQI71V3H2gdU6nCXkPKKhU39yIOCrJ7v9zx09AKpnkovmXHF2wmTV2XAHarzQ/ZBIIVGo7e7U4Bqhd7FWukwDlbbvgEK0GKoy90zTpB/SfvZ1nxxzjuGw1ypYBbTeQSm1vcbTs0qzyIaCd9Ze461FA1d+LI6LOAZX4JgaEpANlZ9jLHNx4pND+bGb2OpDI+4RBXCtQ3EGblv4NPPI/ppe3fgcoIqslsK6No8pHXEG8Dqjv/cmp2WqgzULh/J6zQJEet+9pwoEu9r7yXJ3DUeOgu+r3a0CK8RuVxfuY/l8n4WgaUGcWuUh+40gsrDaoYvv0BIE1SSsc1ccGmuVuAjI0eaJ8YSeQ82mNSWgPkEwwPbvOcrUIeOYWPAtUJaruu+LHIyqbHLJ5Dehgy4T0gQVQW8fEqFkZ0JDh/dthcqClaKlxwV6gH5e2h3obAB11HRY5CHj03KCgxEgfCDXuTa4jQANFpxLXmJ8QdaKozZvx3z7cZeEG5KQucjg/BuRo7OTpw/7itNipmLcGmtmjvZkVyXR+Uwt3VzkKs/u6JEENaPzPalNvMiAOa9fsBTz06YodubIM6C8XNJhaAm6Wu8wLjgOeFPQn16xw2J1RMT4RDei117RVwGpzlEf+4aeAuTXP9tX58LDpqdv+E/2A4wPpLauhgLJ7uz/paQRM8W2NaggHFC0KZbtsWT9TsFSwhYfGEssEXQeHksvpWiEPMKIoPupdd8ChGMWt4l8AFx/+MCiWAX4X99bNit2AW3yTWqzGAFcDFoIUZYzbN13vogJ0boj57AC7pzvD3CxSxqH/Wd3MBycBm744M5fH5hdH47pTT7O9lu5pte2M49XLh17AsCejX8WnAB7P7UsqqAXMWpE+vnoKsD61y1K5xqFhz6XqukxAjdr2b20Qu+ONhbBvOcANwQ+DJ5ivsKL42rRvmF8pXzMi4+Hq3F+HokcAreTJA3etAQt/3bjpyDU2D5nrrhWA9p+GN8ofsL71+eqheQ5lynf4im0sF7vCz/84BqgnejRxhukiJiTlbh8BzpSP5XffAOSsVJ4fZgE6brQ4kLCDh+LikXYl4yWn5mw1jwHsTKmcDmD+lfxgZ+8OwOsZ+goflrd02SDqZZbTYxW/tPElwP8BvxO9S/ADAAA=\"},\"shape\":[126],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2344\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2345\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p2340\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0,\"line_width\":0,\"fill_color\":\"#6baed6\"}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p2341\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.1,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.1,\"hatch_alpha\":0.1}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Patch\",\"id\":\"p2342\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b4\",\"line_alpha\":0.2,\"line_width\":0,\"fill_color\":\"#6baed6\",\"fill_alpha\":0.2,\"hatch_alpha\":0.2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2352\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2346\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2347\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2348\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+jDs+tIGI9r+wuYMGbPTsvyyxLSXCXuu/2OgIQbPb6r+E8xsuMIPlvyBgtk5Q69a/oPNotLbru78AolqaZrWGv3BzTAose8Q/jC5xcdgZ0D8cpAhW1Z3iP3xu6kV6MOQ/isWJ3jrg5j/Uqn6q/hHnPwbNeCCVlOk/YqFSkKMH6z/k5+yFFxDvP/5UCm0vHPY/yOvkGXNw9j8XpMFvO5n4PzLZXFHYFfk/sWtzqy9z+j8nBoBYLYH7P2NTYcXHNPw/ErR8Etfr/D/C/qzwCUH9P5XSgKi2AQBAkD3rA1VTAEAUX/9qbVwBQKhKq9Od+QJAmnDiLR65A0C2U+8TfvYDQFOb+ZkRRQRAlLOUu5X6BEDcJ5hTh8wFQAkqjsVNAgZAlY5kstNICEDVsQhOJpAJQIwG8b425wpAD1JnsLv7CkAACzyUN6kLQM7I/If/Qg1ALDpvuOqeDUArMIjX4OoOQCbgqYFIJxBAikns7XB1EEDX4x3WSpIQQFfDPnJD+xBA6Q6Mv71eEUDFqJVct3URQEQquMl0XBJA79R2sUXHEkD7U4SJi/oSQKyzTSZVPxNAjONZSMZjE0Aln1PqLooTQP8vyQBdjhNAsFCI1Vx2FUCcpE9mLVcWQKXbFZ16JhhA+M6C95VmGEAWADO89AsbQP9wzDgGDiJA4pi9+fgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/2NgGAUjMQQA3/DpEfgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2353\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2354\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p2349\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#084594\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p2350\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#084594\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p2351\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#084594\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2361\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2355\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2356\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2357\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+jDs+tIGI9r+wuYMGbPTsvyyxLSXCXuu/2OgIQbPb6r+E8xsuMIPlvyBgtk5Q69a/oPNotLbru78AolqaZrWGv3BzTAose8Q/jC5xcdgZ0D8cpAhW1Z3iP3xu6kV6MOQ/isWJ3jrg5j/Uqn6q/hHnPwbNeCCVlOk/YqFSkKMH6z/k5+yFFxDvP/5UCm0vHPY/yOvkGXNw9j8XpMFvO5n4PzLZXFHYFfk/sWtzqy9z+j8nBoBYLYH7P2NTYcXHNPw/ErR8Etfr/D/C/qzwCUH9P5XSgKi2AQBAkD3rA1VTAEAUX/9qbVwBQKhKq9Od+QJAmnDiLR65A0C2U+8TfvYDQFOb+ZkRRQRAlLOUu5X6BEDcJ5hTh8wFQAkqjsVNAgZAlY5kstNICEDVsQhOJpAJQIwG8b425wpAD1JnsLv7CkAACzyUN6kLQM7I/If/Qg1ALDpvuOqeDUArMIjX4OoOQCbgqYFIJxBAikns7XB1EEDX4x3WSpIQQFfDPnJD+xBA6Q6Mv71eEUDFqJVct3URQEQquMl0XBJA79R2sUXHEkD7U4SJi/oSQKyzTSZVPxNAjONZSMZjE0Aln1PqLooTQP8vyQBdjhNAsFCI1Vx2FUCcpE9mLVcWQKXbFZ16JhhA+M6C95VmGEAWADO89AsbQP9wzDgGDiJA4pi9+fgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wH4AQf+wJqLNJA8yz+AjFtxSHK4v0SjDx7LHvw/R2pjqquQGECPm5tJm8UTwOBcNHUMnQdA0NCkFgvl0r+ADh33jXXlvwA6wDIDApk/vPZX6XR+8L8Y23FVdI33vxAzeqLtjdy/QL4kY+F/AsCM+hVbGsfyP+lri0L1WQPAnwng0NjQAcDyNO4jNm8SwIBrf7xVz+e/ZZUmkQd5BsBAaerzj+LwvxgabZSCA+e/4FFthsiMz79c2YzjzrABQJZ9GZBQBBRAQgLqZvtVBUA4BrjOsa7wP5hn+eP/Su6/JMB9xjjKAkBEgLQ4Wwj9P4jdBe4O+/Y/QAtYPI1b9T94PTyo50P2v1iGLJBjqvi/PJ243wvlBsBsjvtRHXMAQECyf67fBbu/dMJYdMLYA0BY4sZT564HQDiSUDgwkRDAoI8he41L0D8Ay279UWcNQJzga8IBHg7AzCrryi6+BEDQpdigS+kPQGBIzBNp8dS/Hq+je/oaEcAA5EOl78n3P1wqNWg+JwxABK7RzuR1DcCoimC8IJr5P/BY16KB/+U/FLGCX/b+AECA44nKaLa8P1Ae7obTMfS/sHW3sQEB8r+IMhBZ1QL7v8D/Zbs5ktC/TD75IBTOEsAIbyUR9JrwP/gEL/88pQfAAF4U2xc/0r9AFsJwk+HWP8BkiEfKFgVA/rxAGfgBAAA=\"},\"shape\":[63],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2362\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2363\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2358\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2359\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2360\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":2},\"line_color\":{\"type\":\"value\",\"value\":\"orange\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"orange\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"orange\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2301\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2315\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2316\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2317\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2318\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2324\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2323\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p2325\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2326\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p2327\"}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2310\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2311\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2312\"},\"axis_label\":\"y difference\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2313\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2305\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2306\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2307\"},\"axis_label\":\"x\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2308\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2309\",\"attributes\":{\"axis\":{\"id\":\"p2305\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2314\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2310\"}}}],\"frame_width\":400,\"frame_height\":325}}]}};\n", " const render_items = [{\"docid\":\"66ea2194-c915-42dc-bae3-c7722c3d7d0e\",\"roots\":{\"p2293\":\"c34339c7-660e-4da6-ba70-f0041af33b25\"},\"root_ids\":[\"p2293\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const 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": "p2293" } }, "output_type": "display_data" } ], "source": [ "samples = np.array(\n", " [gen_fun(mle_params, x, size=1, rng=rng) for _ in range(5000)]\n", ")\n", "\n", "bokeh.io.show(\n", " bebi103.viz.predictive_regression(\n", " samples, x, data=xy, x_range=[x.min(), x.max()], diff=True\n", " )\n", ")" ] } ], "metadata": { "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.14.6" } }, "nbformat": 4, "nbformat_minor": 4 }