{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 22. Implementation of MLE for variate-covariate models\n", "\n", "[Dataset download](https://s3.amazonaws.com/bebi103.caltech.edu/data/good_invitro_droplet_data.csv)\n", "\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "nbsphinx": "hidden", "tags": [] }, "outputs": [], "source": [ "# Colab setup ------------------\n", "import os, sys, subprocess\n", "if \"google.colab\" in sys.modules:\n", " cmd = \"pip install --upgrade iqplot bebi103 watermark\"\n", " process = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n", " stdout, stderr = process.communicate()\n", " data_path = \"https://s3.amazonaws.com/bebi103.caltech.edu/data/\"\n", "else:\n", " data_path = \"../data/\"\n", "# ------------------------------" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " Loading BokehJS ...\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(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", " 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", " // Clean up Bokeh references\n", " if (id != null && id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", "\n", " if (server_id !== undefined) {\n", " // Clean up Bokeh references\n", " 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", " if (id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", " }\n", " }\n", " });\n", " // Destroy server and session\n", " 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() {\n", " const el = document.getElementById(\"cf2f4457-c3d0-47a1-8e89-0f71e28528e8\");\n", " if (el != null) {\n", " el.textContent = \"BokehJS is loading...\";\n", " }\n", " if (root.Bokeh !== undefined) {\n", " if (el != null) {\n", " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(display_loaded, 100)\n", " }\n", " }\n", "\n", " 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.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.2.1.min.js\", \"https://unpkg.com/@holoviz/panel@1.2.1/dist/panel.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", " for (let i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }\n", "if (force === true) {\n", " display_loaded();\n", " }} else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " } else if (force !== true) {\n", " const cell = $(document.getElementById(\"cf2f4457-c3d0-47a1-8e89-0f71e28528e8\")).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": "(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() {\n const el = document.getElementById(\"cf2f4457-c3d0-47a1-8e89-0f71e28528e8\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n 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.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.2.1.min.js\", \"https://unpkg.com/@holoviz/panel@1.2.1/dist/panel.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 for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\nif (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(\"cf2f4457-c3d0-47a1-8e89-0f71e28528e8\")).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 warnings\n", "\n", "import tqdm\n", "\n", "import numpy as np\n", "import pandas as pd\n", "import scipy.optimize\n", "import scipy.stats as st\n", "\n", "import iqplot\n", "import bebi103\n", "\n", "import bokeh.io\n", "bokeh.io.output_notebook()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "We now proceed to do maximum likelihood estimation for the parameters of the second model for spindle length.\n", "\n", "\\begin{align}\n", "&\\mu_i = \\frac{\\gamma d_i}{\\left(1+(\\gamma d_i/\\phi)^3\\right)^{\\frac{1}{3}}}, \\\\[1em]\n", "&l_i \\sim \\text{Norm}(\\mu_i, \\sigma) \\;\\forall i,\n", "\\end{align}\n", "\n", "The parameters for this model are $\\gamma$, $\\phi$, and $\\sigma$.\n", "\n", "Finally, before we being doing MLE, as a reminder, we will load in and plot the data." ] }, { "cell_type": "code", "execution_count": 3, "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 = {\"a94bab14-0d06-4a3a-8f93-79684e8ba4dc\":{\"version\":\"3.2.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1002\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1011\",\"attributes\":{\"end\":250}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1012\",\"attributes\":{\"end\":50}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1013\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1014\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1009\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1041\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1032\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1033\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1034\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[670],\"dtype\":\"int32\",\"order\":\"little\"}],[\"Droplet Diameter (um)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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MzMzMzPTUEAzMzMzM9NQQDMzMzMz01BAZmZmZmbmUEBmZmZmZuZQQGZmZmZm5lBAZmZmZmbmUEBmZmZmZuZQQGZmZmZm5lBAZmZmZmbmUEBmZmZmZuZQQGZmZmZm5lBAZmZmZmbmUEBmZmZmZuZQQDMzMzMz81BAMzMzMzPzUEAzMzMzM/NQQDMzMzMz81BAMzMzMzPzUEAzMzMzM/NQQGZmZmZmBlFAZmZmZmYGUUBmZmZmZgZRQGZmZmZmBlFAZmZmZmYGUUBmZmZmZgZRQGZmZmZmBlFAZmZmZmYGUUBmZmZmZgZRQGZmZmZmBlFAZmZmZmYGUUCamZmZmRlRQJqZmZmZGVFAmpmZmZkZUUCamZmZmRlRQJqZmZmZGVFAmpmZmZkZUUCamZmZmRlRQGZmZmZmJlFAZmZmZmYmUUBmZmZmZiZRQGZmZmZmJlFAZmZmZmYmUUBmZmZmZiZRQGZmZmZmJlFAZmZmZmYmUUBmZmZmZiZRQJqZmZmZOVFAmpmZmZk5UUCamZmZmTlRQGZmZmZmRlFAZmZmZmZGUUBmZmZmZkZRQGZmZmZmRlFAZmZmZmZGUUBmZmZmZkZRQGZmZmZmRlFAZmZmZmZGUUBmZmZmZkZRQGZmZmZmRlFAmpmZmZlZUUCamZmZmVlRQJqZmZmZWVFAmpmZmZlZUUCamZmZmVlRQJqZmZmZWVFAmpmZmZlZUUCamZmZmVlRQJqZmZmZWVFAZmZmZmZmUUBmZmZmZmZRQGZmZmZmZlFAZmZmZmZmUUBmZmZmZmZRQGZmZmZmZlFAZmZmZmZmUUBmZmZmZmZRQGZmZmZmZlFAZmZmZmZmUUCamZmZmXlRQJqZmZmZeVFAmpmZmZl5UUCamZmZmXlRQJqZmZmZeVFAmpmZmZl5UUCamZmZmXlRQJqZmZmZeVFAmpmZmZl5UUBmZmZmZoZRQGZmZmZmhlFAZmZmZmaGUUBmZmZmZoZRQGZmZmZmhlFAZmZmZmaGUUBmZmZmZoZRQGZmZmZmhlFAmpmZmZmZUUCamZmZmZlRQJqZmZmZmVFAmpmZmZmZUUCamZmZmZlRQJqZmZmZmVFAmpmZmZmZUUCamZmZmZlRQM3MzMzMrFFAzczMzMysUUDNzMzMzKxRQM3MzMzMrFFAzczMzMysUUDNzMzMzKxRQM3MzMzMrFFAzczMzMysUUCamZmZmblRQJqZmZmZuVFAmpmZmZm5UUDNzMzMzMxRQM3MzMzMzFFAzczMzMzMUUDNzMzMzMxRQM3MzMzMzFFAzczMzMzMUUDNzMzMzMxRQJqZmZmZ2VFAmpmZmZnZUUCamZmZmdlRQJqZmZmZ2VFAmpmZmZnZUUCamZmZmdlRQM3MzMzM7FFAzczMzMzsUUDNzMzMzOxRQM3MzMzM7FFAmpmZmZn5UUCamZmZmflRQJqZmZmZ+VFAzczMzMwMUkDNzMzMzAxSQM3MzMzMDFJAzczMzMwMUkDNzMzMzAxSQM3MzMzMDFJAmpmZmZkZUkCamZmZmRlSQJqZmZmZGVJAmpmZmZkZUkCamZmZmRlSQM3MzMzMLFJAzczMzMwsUkAAAAAAAEBSQAAAAAAAQFJAAAAAAABAUkDNzMzMzExSQM3MzMzMTFJAzczMzMxMUkDNzMzMzExSQM3MzMzMTFJAAAAAAABgUkAAAAAAAGBSQAAAAAAAYFJAAAAAAABgUkAAAAAAAGBSQM3MzMzMbFJAAAAAAACAUkAAAAAAAIBSQAAAAAAAgFJAzczMzMyMUkAAAAAAAKBSQAAAAAAAoFJAMzMzMzOzUkAAAAAAAMBSQDMzMzMz81JAAAAAAAAAU0AAAAAAACBTQDMzMzMzM1NAMzMzMzNTU0AzMzMzM1NTQGZmZmZmZlNAZmZmZmZmU0AzMzMzM7NTQGZmZmZmxlNAmpmZmZkZVEDNzMzMzExUQJqZmZmZeVRAzczMzMyMVECamZmZmZlUQJqZmZmZmVRAAAAAAAAgVUAAAAAAAIBVQGZmZmZmBlZAZmZmZmbmVkCamZmZmflWQAAAAAAAgFdAzczMzMysV0AAAAAAACBYQAAAAAAAIFhAMzMzMzNTWEAAAAAAAGBYQDMzMzMzk1hAmpmZmZkZWUDNzMzMzKxZQJqZmZmZ+VlAmpmZmZl5XEDNzMzMzAxdQM3MzMzMLF1AAAAAAABgXUAAAAAAAMBdQGZmZmZmJl5AZmZmZmZGXkCamZmZmZleQJqZmZmZuV5AZmZmZmbGXkAzMzMzM2NgQJqZmZmZeWFAmpmZmZmJYUCamZmZmalhQAAAAAAAAGRAMzMzMzPDZEDNzMzMzDxnQAAAAAAA0GdAzczMzMysa0A=\"},\"shape\":[670],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Droplet Volume (uL)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[670],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Spindle Length (um)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[670],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Spindle Width (um)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[670],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Spindle Area (um2)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[670],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1042\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1043\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Circle\",\"id\":\"p1038\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"Droplet Diameter (um)\"},\"y\":{\"type\":\"field\",\"field\":\"Spindle Length (um)\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.3},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.3},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.3}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Circle\",\"id\":\"p1039\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"Droplet Diameter (um)\"},\"y\":{\"type\":\"field\",\"field\":\"Spindle Length (um)\"},\"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\":\"Circle\",\"id\":\"p1040\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"Droplet Diameter (um)\"},\"y\":{\"type\":\"field\",\"field\":\"Spindle Length (um)\"},\"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}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1010\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1025\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1026\"},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1027\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1028\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"bottom_units\":\"canvas\",\"top_units\":\"canvas\",\"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\":\"p1029\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1030\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1031\"}]}},\"left\":[{\"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\":\"spindle length (\\u00b5m)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1023\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1015\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1016\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1017\"},\"axis_label\":\"droplet diameter (\\u00b5m)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1018\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1019\",\"attributes\":{\"axis\":{\"id\":\"p1015\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1024\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1020\"}}}],\"frame_width\":400,\"frame_height\":300}}],\"defs\":[{\"type\":\"model\",\"name\":\"ReactiveHTML1\"},{\"type\":\"model\",\"name\":\"FlexBox1\",\"properties\":[{\"name\":\"align_content\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"align_items\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"flex_direction\",\"kind\":\"Any\",\"default\":\"row\"},{\"name\":\"flex_wrap\",\"kind\":\"Any\",\"default\":\"wrap\"},{\"name\":\"justify_content\",\"kind\":\"Any\",\"default\":\"flex-start\"}]},{\"type\":\"model\",\"name\":\"FloatPanel1\",\"properties\":[{\"name\":\"config\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"contained\",\"kind\":\"Any\",\"default\":true},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"right-top\"},{\"name\":\"offsetx\",\"kind\":\"Any\",\"default\":null},{\"name\":\"offsety\",\"kind\":\"Any\",\"default\":null},{\"name\":\"theme\",\"kind\":\"Any\",\"default\":\"primary\"},{\"name\":\"status\",\"kind\":\"Any\",\"default\":\"normalized\"}]},{\"type\":\"model\",\"name\":\"GridStack1\",\"properties\":[{\"name\":\"mode\",\"kind\":\"Any\",\"default\":\"warn\"},{\"name\":\"ncols\",\"kind\":\"Any\",\"default\":null},{\"name\":\"nrows\",\"kind\":\"Any\",\"default\":null},{\"name\":\"allow_resize\",\"kind\":\"Any\",\"default\":true},{\"name\":\"allow_drag\",\"kind\":\"Any\",\"default\":true},{\"name\":\"state\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"drag1\",\"properties\":[{\"name\":\"slider_width\",\"kind\":\"Any\",\"default\":5},{\"name\":\"slider_color\",\"kind\":\"Any\",\"default\":\"black\"},{\"name\":\"value\",\"kind\":\"Any\",\"default\":50}]},{\"type\":\"model\",\"name\":\"click1\",\"properties\":[{\"name\":\"terminal_output\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"debug_name\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"clears\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"FastWrapper1\",\"properties\":[{\"name\":\"object\",\"kind\":\"Any\",\"default\":null},{\"name\":\"style\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"NotificationAreaBase1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"NotificationArea1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"notifications\",\"kind\":\"Any\",\"default\":[]},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0},{\"name\":\"types\",\"kind\":\"Any\",\"default\":[{\"type\":\"map\",\"entries\":[[\"type\",\"warning\"],[\"background\",\"#ffc107\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-exclamation-triangle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]},{\"type\":\"map\",\"entries\":[[\"type\",\"info\"],[\"background\",\"#007bff\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-info-circle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]}]}]},{\"type\":\"model\",\"name\":\"Notification\",\"properties\":[{\"name\":\"background\",\"kind\":\"Any\",\"default\":null},{\"name\":\"duration\",\"kind\":\"Any\",\"default\":3000},{\"name\":\"icon\",\"kind\":\"Any\",\"default\":null},{\"name\":\"message\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"notification_type\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_destroyed\",\"kind\":\"Any\",\"default\":false}]},{\"type\":\"model\",\"name\":\"TemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"BootstrapTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"MaterialTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]}]}};\n", " const render_items = [{\"docid\":\"a94bab14-0d06-4a3a-8f93-79684e8ba4dc\",\"roots\":{\"p1002\":\"de78a8f6-efaf-49a0-9c7b-531e97f3c3a5\"},\"root_ids\":[\"p1002\"]}];\n", " 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": "p1002" } }, "output_type": "display_data" } ], "source": [ "df = pd.read_csv(os.path.join(data_path, 'good_invitro_droplet_data.csv'), comment='#')\n", "\n", "p = bokeh.plotting.figure(\n", " frame_height=300,\n", " frame_width=400,\n", " x_axis_label=\"droplet diameter (µm)\",\n", " y_axis_label=\"spindle length (µm)\",\n", " x_range=[0, 250],\n", " y_range=[0, 50],\n", ")\n", "\n", "p.circle(\n", " source=df,\n", " x=\"Droplet Diameter (um)\",\n", " y=\"Spindle Length (um)\",\n", " alpha=0.3,\n", ")\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is also useful to extract the data sets as Numpy arrays for speed in the MLE and bootstrap calculations." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "d = df['Droplet Diameter (um)'].values\n", "ell = df['Spindle Length (um)'].values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Performing MLE by direct numerical optimization\n", "\n", "We can take the same approach as we did with the mRNA counts from the smFISH experiments. We write a function for the log likelihood and then use numerical optimization to find the parameters.\n", "\n", "The joint probability density function for the data set is the product of the probability densities of Normals. Therefore, the log likelihood is the *sum* of *log* probability densities of Normals. We can code that up using the convenient functions in the `scipy.stats` module." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def theor_spindle_length(gamma, phi, d):\n", " \"\"\"Compute spindle length using mathematical model\"\"\"\n", " return gamma * d / np.cbrt(1 + (gamma * d / phi)**3)\n", " \n", " \n", "def log_likelihood(params, d, ell):\n", " \"\"\"Log likelihood of spindle length model.\"\"\"\n", " gamma, phi, sigma = params\n", " \n", " if gamma <= 0 or gamma > 1 or phi <= 0:\n", " return -np.inf\n", "\n", " mu = theor_spindle_length(gamma, phi, d)\n", "\n", " return np.sum(st.norm.logpdf(ell, mu, sigma))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In looking at the code for the log likelihood, the convenience of the `scipy.stats` module is clear. We more or less code up the model as we would say it!\n", "\n", "We can now code up the MLE calculation. For our initial guesses, we can look at the data an make estimates. The initial slope of the $l$ vs. $d$ curve is about one-half, so we will guess an initial value of $\\gamma$ of 0.5. The plateau seems to be around 40 µm, so we will guess $\\phi = 40$ µm. Eyeballing the standard deviation in the data points, I would guess it is about 5 µm." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def spindle_mle(d, ell):\n", " \"\"\"Compute MLE for parameters in spindle length model.\"\"\"\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", "\n", " res = scipy.optimize.minimize(\n", " fun=lambda params, d, ell: -log_likelihood(params, d, ell),\n", " x0=np.array([0.5, 35, 5]),\n", " args=(d, ell),\n", " method='Powell'\n", " )\n", "\n", " if res.success:\n", " return res.x\n", " else:\n", " raise RuntimeError('Convergence failed with message', res.message)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's run the calculation to get MLEs for the parameters." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0.86047455, 38.23124995, 3.75342168])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mle_params = spindle_mle(d, ell)\n", "\n", "mle_params" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can take a quick look as to how the theoretical curve might look with respect to the data." ] }, { "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 = {\"3f444e4e-3524-404f-b4e7-c56d1cf42279\":{\"version\":\"3.2.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1002\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1011\",\"attributes\":{\"end\":250}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1012\",\"attributes\":{\"end\":50}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1013\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1014\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1009\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1041\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1032\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1033\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1034\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AAACAAAAAgQAAAIIAAACDAAAAhAAAAIUAAACGAAAAhwAAAIgAAACJAAAAigAAAIsAAACMAAAAjQAAAI4AAACPAAAAkAAAAJEAAACSAAAAkwAAAJQAAACVAAAAlgAAAJcAAACYAAAAmQAAAJoAAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAACnAAAAqAAAAKkAAACqAAAAqwAAAKwAAACtAAAArgAAAK8AAACwAAAAsQAAALIAAACzAAAAtAAAALUAAAC2AAAAtwAAALgAAAC5AAAAugAAALsAAAC8AAAAvQAAAL4AAAC/AAAAwAAAAMEAAADCAAAAwwAAAMQAAADFAAAAxgAAAMcAAADIAAAAyQAAAMoAAADLAAAAzAAAAM0AAADOAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAA2wAAANwAAADdAAAA3gAAAN8AAADgAAAA4QAAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAA9gAAAPcAAAD4AAAA+QAAAPoAAAD7AAAA/AAAAP0AAAD+AAAA/wAAAAABAAABAQAAAgEAAAMBAAAEAQAABQEAAAYBAAAHAQAACAEAAAkBAAAKAQAACwEAAAwBAAANAQAADgEAAA8BAAAQAQAAEQEAABIBAAATAQAAFAEAABUBAAAWAQAAFwEAABgBAAAZAQAAGgEAABsBAAAcAQAAHQEAAB4BAAAfAQAAIAEAACEBAAAiAQAAIwEAACQBAAAlAQAAJgEAACcBAAAoAQAAKQEAACoBAAArAQAALAEAAC0BAAAuAQAALwEAADABAAAxAQAAMgEAADMBAAA0AQAANQEAADYBAAA3AQAAOAEAADkBAAA6AQAAOwEAADwBAAA9AQAAPgEAAD8BAABAAQAAQQEAAEIBAABDAQAARAEAAEUBAABGAQAARwEAAEgBAABJAQAASgEAAEsBAABMAQAATQEAAE4BAABPAQAAUAEAAFEBAABSAQAAUwEAAFQBAABVAQAAVgEAAFcBAABYAQAAWQEAAFoBAABbAQAAXAEAAF0BAABeAQAAXwEAAGABAABhAQAAYgEAAGMBAABkAQAAZQEAAGYBAABnAQAAaAEAAGkBAABqAQAAawEAAGwBAABtAQAAbgEAAG8BAABwAQAAcQEAAHIBAABzAQAAdAEAAHUBAAB2AQAAdwEAAHgBAAB5AQAAegEAAHsBAAB8AQAAfQEAAH4BAAB/AQAAgAEAAIEBAACCAQAAgwEAAIQBAACFAQAAhgEAAIcBAACIAQAAiQEAAIoBAACLAQAAjAEAAI0BAACOAQAAjwEAAJABAACRAQAAkgEAAJMBAACUAQAAlQEAAJYBAACXAQAAmAEAAJkBAACaAQAAmwEAAJwBAACdAQAAngEAAJ8BAACgAQAAoQEAAKIBAACjAQAApAEAAKUBAACmAQAApwEAAKgBAACpAQAAqgEAAKsBAACsAQAArQEAAK4BAACvAQAAsAEAALEBAACyAQAAswEAALQBAAC1AQAAtgEAALcBAAC4AQAAuQEAALoBAAC7AQAAvAEAAL0BAAC+AQAAvwEAAMABAADBAQAAwgEAAMMBAADEAQAAxQEAAMYBAADHAQAAyAEAAMkBAADKAQAAywEAAMwBAADNAQAAzgEAAM8BAADQAQAA0QEAANIBAADTAQAA1AEAANUBAADWAQAA1wEAANgBAADZAQAA2gEAANsBAADcAQAA3QEAAN4BAADfAQAA4AEAAOEBAADiAQAA4wEAAOQBAADlAQAA5gEAAOcBAADoAQAA6QEAAOoBAADrAQAA7AEAAO0BAADuAQAA7wEAAPABAADxAQAA8gEAAPMBAAD0AQAA9QEAAPYBAAD3AQAA+AEAAPkBAAD6AQAA+wEAAPwBAAD9AQAA/gEAAP8BAAAAAgAAAQIAAAICAAADAgAABAIAAAUCAAAGAgAABwIAAAgCAAAJAgAACgIAAAsCAAAMAgAADQIAAA4CAAAPAgAAEAIAABECAAASAgAAEwIAABQCAAAVAgAAFgIAABcCAAAYAgAAGQIAABoCAAAbAgAAHAIAAB0CAAAeAgAAHwIAACACAAAhAgAAIgIAACMCAAAkAgAAJQIAACYCAAAnAgAAKAIAACkCAAAqAgAAKwIAACwCAAAtAgAALgIAAC8CAAAwAgAAMQIAADICAAAzAgAANAIAADUCAAA2AgAANwIAADgCAAA5AgAAOgIAADsCAAA8AgAAPQIAAD4CAAA/AgAAQAIAAEECAABCAgAAQwIAAEQCAABFAgAARgIAAEcCAABIAgAASQIAAEoCAABLAgAATAIAAE0CAABOAgAATwIAAFACAABRAgAAUgIAAFMCAABUAgAAVQIAAFYCAABXAgAAWAIAAFkCAABaAgAAWwIAAFwCAABdAgAAXgIAAF8CAABgAgAAYQIAAGICAABjAgAAZAIAAGUCAABmAgAAZwIAAGgCAABpAgAAagIAAGsCAABsAgAAbQIAAG4CAABvAgAAcAIAAHECAAByAgAAcwIAAHQCAAB1AgAAdgIAAHcCAAB4AgAAeQIAAHoCAAB7AgAAfAIAAH0CAAB+AgAAfwIAAIACAACBAgAAggIAAIMCAACEAgAAhQIAAIYCAACHAgAAiAIAAIkCAACKAgAAiwIAAIwCAACNAgAAjgIAAI8CAACQAgAAkQIAAJICAACTAgAAlAIAAJUCAACWAgAAlwIAAJgCAACZAgAAmgIAAJsCAACcAgAAnQIAAA==\"},\"shape\":[670],\"dtype\":\"int32\",\"order\":\"little\"}],[\"Droplet Diameter (um)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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MzMzMzPTUEAzMzMzM9NQQDMzMzMz01BAZmZmZmbmUEBmZmZmZuZQQGZmZmZm5lBAZmZmZmbmUEBmZmZmZuZQQGZmZmZm5lBAZmZmZmbmUEBmZmZmZuZQQGZmZmZm5lBAZmZmZmbmUEBmZmZmZuZQQDMzMzMz81BAMzMzMzPzUEAzMzMzM/NQQDMzMzMz81BAMzMzMzPzUEAzMzMzM/NQQGZmZmZmBlFAZmZmZmYGUUBmZmZmZgZRQGZmZmZmBlFAZmZmZmYGUUBmZmZmZgZRQGZmZmZmBlFAZmZmZmYGUUBmZmZmZgZRQGZmZmZmBlFAZmZmZmYGUUCamZmZmRlRQJqZmZmZGVFAmpmZmZkZUUCamZmZmRlRQJqZmZmZGVFAmpmZmZkZUUCamZmZmRlRQGZmZmZmJlFAZmZmZmYmUUBmZmZmZiZRQGZmZmZmJlFAZmZmZmYmUUBmZmZmZiZRQGZmZmZmJlFAZmZmZmYmUUBmZmZmZiZRQJqZmZmZOVFAmpmZmZk5UUCamZmZmTlRQGZmZmZmRlFAZmZmZmZGUUBmZmZmZkZRQGZmZmZmRlFAZmZmZmZGUUBmZmZmZkZRQGZmZmZmRlFAZmZmZmZGUUBmZmZmZkZRQGZmZmZmRlFAmpmZmZlZUUCamZmZmVlRQJqZmZmZWVFAmpmZmZlZUUCamZmZmVlRQJqZmZmZWVFAmpmZmZlZUUCamZmZmVlRQJqZmZmZWVFAZmZmZmZmUUBmZmZmZmZRQGZmZmZmZlFAZmZmZmZmUUBmZmZmZmZRQGZmZmZmZlFAZmZmZmZmUUBmZmZmZmZRQGZmZmZmZlFAZmZmZmZmUUCamZmZmXlRQJqZmZmZeVFAmpmZmZl5UUCamZmZmXlRQJqZmZmZeVFAmpmZmZl5UUCamZmZmXlRQJqZmZmZeVFAmpmZmZl5UUBmZmZmZoZRQGZmZmZmhlFAZmZmZmaGUUBmZmZmZoZRQGZmZmZmhlFAZmZmZmaGUUBmZmZmZoZRQGZmZmZmhlFAmpmZmZmZUUCamZmZmZlRQJqZmZmZmVFAmpmZmZmZUUCamZmZmZlRQJqZmZmZmVFAmpmZmZmZUUCamZmZmZlRQM3MzMzMrFFAzczMzMysUUDNzMzMzKxRQM3MzMzMrFFAzczMzMysUUDNzMzMzKxRQM3MzMzMrFFAzczMzMysUUCamZmZmblRQJqZmZmZuVFAmpmZmZm5UUDNzMzMzMxRQM3MzMzMzFFAzczMzMzMUUDNzMzMzMxRQM3MzMzMzFFAzczMzMzMUUDNzMzMzMxRQJqZmZmZ2VFAmpmZmZnZUUCamZmZmdlRQJqZmZmZ2VFAmpmZmZnZUUCamZmZmdlRQM3MzMzM7FFAzczMzMzsUUDNzMzMzOxRQM3MzMzM7FFAmpmZmZn5UUCamZmZmflRQJqZmZmZ+VFAzczMzMwMUkDNzMzMzAxSQM3MzMzMDFJAzczMzMwMUkDNzMzMzAxSQM3MzMzMDFJAmpmZmZkZUkCamZmZmRlSQJqZmZmZGVJAmpmZmZkZUkCamZmZmRlSQM3MzMzMLFJAzczMzMwsUkAAAAAAAEBSQAAAAAAAQFJAAAAAAABAUkDNzMzMzExSQM3MzMzMTFJAzczMzMxMUkDNzMzMzExSQM3MzMzMTFJAAAAAAABgUkAAAAAAAGBSQAAAAAAAYFJAAAAAAABgUkAAAAAAAGBSQM3MzMzMbFJAAAAAAACAUkAAAAAAAIBSQAAAAAAAgFJAzczMzMyMUkAAAAAAAKBSQAAAAAAAoFJAMzMzMzOzUkAAAAAAAMBSQDMzMzMz81JAAAAAAAAAU0AAAAAAACBTQDMzMzMzM1NAMzMzMzNTU0AzMzMzM1NTQGZmZmZmZlNAZmZmZmZmU0AzMzMzM7NTQGZmZmZmxlNAmpmZmZkZVEDNzMzMzExUQJqZmZmZeVRAzczMzMyMVECamZmZmZlUQJqZmZmZmVRAAAAAAAAgVUAAAAAAAIBVQGZmZmZmBlZAZmZmZmbmVkCamZmZmflWQAAAAAAAgFdAzczMzMysV0AAAAAAACBYQAAAAAAAIFhAMzMzMzNTWEAAAAAAAGBYQDMzMzMzk1hAmpmZmZkZWUDNzMzMzKxZQJqZmZmZ+VlAmpmZmZl5XEDNzMzMzAxdQM3MzMzMLF1AAAAAAABgXUAAAAAAAMBdQGZmZmZmJl5AZmZmZmZGXkCamZmZmZleQJqZmZmZuV5AZmZmZmbGXkAzMzMzM2NgQJqZmZmZeWFAmpmZmZmJYUCamZmZmalhQAAAAAAAAGRAMzMzMzPDZEDNzMzMzDxnQAAAAAAA0GdAzczMzMysa0A=\"},\"shape\":[670],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Droplet Volume (uL)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[670],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Spindle Length (um)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[670],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Spindle Width (um)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[670],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Spindle Area (um2)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mpmZmZl5Y0AAAAAAAGBUQJqZmZmZSWFAAAAAAACgVkDNzMzMzIxlQM3MzMzMDGBAZmZmZmZGWUAzMzMzM3NbQAAAAAAAYFxAmpmZmZk5WUAAAAAAAGBeQJqZmZmZOVxAAAAAAADgXUDNzMzMzOxiQAAAAAAAgGJAZmZmZmY2YEAAAAAAALBgQJqZmZmZOWRAzczMzMx8YUAAAAAAAHBiQAAAAAAAkGNAAAAAAACQY0CamZmZmblcQDMzMzMzU2NAmpmZmZk5YkCamZmZmTlfQGZmZmZmZl1AzczMzMyMXkAzMzMzM3NbQJqZmZmZuWBAMzMzMzOTYECamZmZmRlfQJqZmZmZ+WNAZmZmZmaWa0BmZmZmZhZkQDMzMzMzc2RAZmZmZmaGWEAzMzMzM1NnQM3MzMzMbGJAZmZmZmZmZ0AAAAAAAMBjQM3MzMzMbGJAAAAAAAAAYEDNzMzMzIxlQM3MzMzMjFpAAAAAAABQYkAAAAAAAGBfQGZmZmZmlmFAZmZmZmZGYECamZmZmQloQM3MzMzMLF9AAAAAAABQZUCamZmZmWlrQGZmZmZmZmJAZmZmZmYWaUDNzMzMzGxjQGZmZmZmxl5AMzMzMzPzbEAAAAAAANBlQAAAAAAAEGhAzczMzMycYkCamZmZmWljQJqZmZmZ+WRAzczMzMwcZUAzMzMzMwNoQDMzMzMzM2FAZmZmZmZ2ZUDNzMzMzAxjQJqZmZmZ6WBAAAAAAACAZEBmZmZmZhZiQDMzMzMzM2BAZmZmZmbWYkAzMzMzM9NeQM3MzMzMTF9AZmZmZmZWZEAAAAAAAGBkQGZmZmZmdmBAMzMzMzNTZUAzMzMzM+NmQDMzMzMzk15AzczMzMzMYUAzMzMzM1NoQGZmZmZmhmJAMzMzMzPzX0BmZmZmZhZkQAAAAAAAkGJAmpmZmZmJY0BmZmZmZmZkQJqZmZmZyWRAAAAAAADgZ0DNzMzMzGxeQM3MzMzMvGBAAAAAAAAgYUAAAAAAAChwQJqZmZmZaWpAZmZmZmbGY0CamZmZmUlgQAAAAAAAYGBAzczMzMxMYEBmZmZmZpZpQAAAAAAAUGNAmpmZmZm5Z0AzMzMzM1NnQM3MzMzMTGFAMzMzMzOTXUBmZmZmZgZsQJqZmZmZWWdAZmZmZmZGWkAAAAAAANBjQAAAAAAAUGZAMzMzMzODbkCamZmZmVlhQJqZmZmZCW5AzczMzMzsb0AzMzMzM1NhQGZmZmZmBmBAMzMzMzNjYUAzMzMzM7NhQJqZmZmZWVpAmpmZmZkJY0BmZmZmZmZgQDMzMzMzw2NAMzMzMzMzYUDNzMzMzOxjQM3MzMzMTF9AAAAAAADAXEDNzMzMzOxcQJqZmZmZaWRAzczMzMwMbEAAAAAAAGBsQGZmZmZmNmpAMzMzMzMDZUAzMzMzM1NsQJqZmZmZWWRAMzMzMzOzbEAzMzMzM+NrQDMzMzMzk11AzczMzMwMX0CamZmZmVliQJqZmZmZOWVAZmZmZmZWZUAAAAAAAGBmQM3MzMzMDGdAmpmZmZlpYkCamZmZmTlhQAAAAAAAAGVAMzMzMzMjaUAzMzMzMxNcQDMzMzMzQ2VAAAAAAACAaEBmZmZmZnZoQAAAAAAAEGRAmpmZmZkZa0CamZmZmXlmQGZmZmZmpmRAAAAAAABwYEAzMzMzM8NqQDMzMzMz02ZAZmZmZmYGZ0CamZmZmclhQGZmZmZm5mxAMzMzMzOjaUAAAAAAAEBhQAAAAAAAYGtAzczMzMysZUCamZmZmZlgQM3MzMzMPGlAZmZmZmbmZUAAAAAAALBiQM3MzMzMbGNAAAAAAABAY0AzMzMzM2NmQAAAAAAAgGVAmpmZmZlpYkDNzMzMzPxnQDMzMzMz815AmpmZmZkJbEBmZmZmZlZjQAAAAAAAYGJAmpmZmZmJYECamZmZmSlrQGZmZmZmRmhAAAAAAAAAaUBmZmZmZpZhQM3MzMzMLGRAAAAAAADgZUAzMzMzMyNsQM3MzMzM/GNAAAAAAABwYUAzMzMzM2NrQM3MzMzMzGNAmpmZmZn5YUBmZmZmZoZmQGZmZmZmBmJAZmZmZmYmXEBmZmZmZuZkQGZmZmZmNmZAAAAAAABwYkCamZmZmblgQDMzMzMzg2VAZmZmZmaGYkBmZmZmZmZoQJqZmZmZ+WJAmpmZmZmpZUAAAAAAALBiQM3MzMzM3GdAzczMzMwMZkAzMzMzM2NmQGZmZmZmFmVAAAAAAACgX0BmZmZmZqZcQJqZmZmZSWNAZmZmZmbGZkAAAAAAAEBiQAAAAAAAoGtAAAAAAAAgbEAzMzMzM0NjQGZmZmZmBmtAzczMzMwMXUDNzMzMzBxjQDMzMzMz42ZAzczMzMxcaECamZmZmalpQDMzMzMzE2FAMzMzMzODZ0BmZmZmZlZlQM3MzMzMbFtAZmZmZmbWbkBmZmZmZmZkQDMzMzMzo2VAMzMzMzNTZkAzMzMzM9NoQGZmZmZmxmNAzczMzMw8aEAAAAAAAEBoQM3MzMzMfGhAMzMzMzNzZkBmZmZmZkZpQJqZmZmZaWpAmpmZmZl5ZkAAAAAAAOBdQDMzMzMz42dAmpmZmZmJa0BmZmZmZsZdQDMzMzMz82RAAAAAAADQbUCamZmZmalsQAAAAAAAAGdAZmZmZmYGX0BmZmZmZsZoQJqZmZmZuWtAMzMzMzPTY0CamZmZmQlkQGZmZmZmfnFAmpmZmZmpZUAzMzMzM1NlQJqZmZmZGXBAZmZmZmama0DNzMzMzNxlQAAAAAAAaHBAMzMzMzMzakAAAAAAAMBrQDMzMzMzU2hAmpmZmZn5akBmZmZmZqZiQAAAAAAAYGNAmpmZmZlJZ0AzMzMzM0NnQGZmZmZmVm9AAAAAAABAZ0BmZmZmZpZkQJqZmZmZCWpAMzMzMzObd0AAAAAAANh1QDMzMzMz42RAMzMzMzODaUBmZmZmZpZhQGZmZmZmdmFAAAAAAADAa0BmZmZmZgZ4QM3MzMzMzGJAMzMzMzPzZ0DNzMzMzIxkQM3MzMzM7GhAMzMzMzNjb0AAAAAAAEhyQM3MzMzMDG9AMzMzMzNDakDNzMzMzNxwQGZmZmZmpmlAMzMzMzMTakDNzMzMzDxrQM3MzMzM7GZAZmZmZmbmaEBmZmZmZuZlQGZmZmZmRnBAZmZmZmYWa0CamZmZmaloQAAAAAAAkGNAAAAAAACQbEDNzMzMzBxmQJqZmZmZyWVAZmZmZmZmbUCamZmZmRloQJqZmZmZ6WBAMzMzMzPjaEBmZmZmZkZxQAAAAAAAEGtAmpmZmZmpb0CamZmZmUlgQJqZmZmZsXBAMzMzMzOTbUAzMzMzM+NsQAAAAAAAsGZAZmZmZmbWakAzMzMzM6NxQM3MzMzMHGlAAAAAAACwcUAzMzMzM1NrQGZmZmZmxnVAMzMzMzMbcEDNzMzMzOxmQM3MzMzMHGlAMzMzMzMjaUCamZmZmSlwQDMzMzMzu3JAzczMzMy8ZkBmZmZmZlZmQJqZmZmZWW5AzczMzMz8ZUAzMzMzM/NhQDMzMzMzI21AzczMzMz8ckBmZmZmZtZoQM3MzMzMTGtAZmZmZma2cUAAAAAAAJhwQJqZmZmZuWRAZmZmZmYmaECamZmZmUlpQDMzMzMzA25AAAAAAAAwcEAAAAAAANBiQM3MzMzM/GdAzczMzMwcb0CamZmZmVloQJqZmZmZiW5AmpmZmZlJbECamZmZmRlnQAAAAAAA0GZAmpmZmZm5aEAAAAAAANByQAAAAAAAEGlAAAAAAABwbkAAAAAAAFBkQAAAAAAAkGhAZmZmZmaWcUAAAAAAAHBlQGZmZmZmhm1AZmZmZmb2aEAAAAAAAJBlQDMzMzMzI25AZmZmZmamcUCamZmZmYlwQJqZmZmZSWxAmpmZmZnZcUDNzMzMzFxtQDMzMzMzE25AMzMzMzOLcEAzMzMzM4NrQJqZmZmZOWVAzczMzMyMbUAAAAAAAGBuQGZmZmZmVmRAZmZmZmZmZEAzMzMzM0NqQJqZmZmZCWdAMzMzMzOrcEAzMzMzM+NqQJqZmZmZiW9AZmZmZmYGc0BmZmZmZoZvQJqZmZmZGW5AMzMzMzNjaUDNzMzMzDRwQDMzMzMzc2xAzczMzMwcbkDNzMzMzIxuQDMzMzMz825AmpmZmZkJZUAAAAAAACBkQDMzMzMzM3BAMzMzMzNzbEAAAAAAABBsQJqZmZmZCXFAzczMzMycbkCamZmZmcltQJqZmZmZaW1AZmZmZmZ2bEBmZmZmZkZuQJqZmZmZGWhAmpmZmZlZdEAzMzMzM/NtQAAAAAAAwHNAzczMzMwEc0DNzMzMzExwQGZmZmZmVmFAAAAAAABocEDNzMzMzJxvQJqZmZmZmWhAMzMzMzN7c0CamZmZmUlkQDMzMzMz425AzczMzMwMZkBmZmZmZuZwQM3MzMzMXG9AAAAAAACwaECamZmZmWlpQGZmZmZmBm5AmpmZmZnJaUDNzMzMzCxyQM3MzMzMPG5AzczMzMxsb0AAAAAAAIh0QJqZmZmZaWtAZmZmZmbudUAzMzMzM3NjQGZmZmZmNmpAAAAAAAAgakBmZmZmZo5wQM3MzMzM3GdAzczMzMzUdEDNzMzMzGxwQDMzMzMzw2VAzczMzMzsckAAAAAAAFBwQGZmZmZmbnJAZmZmZmbWbEDNzMzMzExmQDMzMzMz01tAZmZmZmYGZkAAAAAAAOhwQDMzMzMzk2ZAAAAAAACAYUCamZmZmXljQJqZmZmZKW5AzczMzMzkcUAAAAAAADBzQM3MzMzMDHhAMzMzMzPTaEBmZmZmZvZjQM3MzMzMxHNAZmZmZmaGbkAAAAAAANBxQM3MzMzMnGlAZmZmZmZGcEDNzMzMzNxvQGZmZmZmdmxAAAAAAACwdECamZmZmWlqQDMzMzMzc2dAmpmZmZmhcEDNzMzMzIxsQGZmZmZmxnFAmpmZmZkZZ0BmZmZmZkZxQDMzMzMz42tAZmZmZmZmbUCamZmZmVltQGZmZmZmxnRAzczMzMwccUBmZmZmZgZqQAAAAAAA2HNAZmZmZmamc0CamZmZmblpQJqZmZmZWWdAMzMzMzPrcEBmZmZmZgZsQAAAAAAAeHNAzczMzMwsb0CamZmZmXFwQM3MzMzM3HNAZmZmZmaWY0AzMzMzMwtwQDMzMzMzI2lAZmZmZmZ2Z0AAAAAAAAByQGZmZmZmDnFAMzMzMzOzaUBmZmZmZmZuQJqZmZmZcXFAMzMzMzOjbEBmZmZmZr55QGZmZmZmlm1AzczMzMwMZ0DNzMzMzLxvQAAAAAAAcGdAZmZmZma2bkAAAAAAACBxQJqZmZmZyWpAzczMzMzsakDNzMzMzPxpQDMzMzMzo25AAAAAAACwa0CamZmZmdllQM3MzMzMrGhAAAAAAACYdkAzMzMzMyNrQGZmZmZmpnBAzczMzMzMc0DNzMzMzCx0QJqZmZmZWXFAmpmZmZlpa0BmZmZmZn5zQM3MzMzMjG9AzczMzMxcaUCamZmZmZFyQDMzMzMz83FAAAAAAADAckAAAAAAALBpQJqZmZmZiXBAzczMzMzsb0BmZmZmZuZrQDMzMzMz83BAmpmZmZkBcECamZmZmTlrQGZmZmZmZmRAMzMzMzMjbEDNzMzMzGxtQM3MzMzMlHFAMzMzMzMTcECamZmZmZFwQM3MzMzMjF9AZmZmZmYGbUAzMzMzMwNvQAAAAAAAQHFAAAAAAABAcEBmZmZmZsZqQAAAAAAA4GpAzczMzMwEdkCamZmZmfFwQAAAAAAAAGxAZmZmZmaec0AzMzMzM3NuQAAAAAAAMGlAZmZmZmZWbEDNzMzMzIxqQGZmZmZmlm9AmpmZmZm5b0AzMzMzM7NpQAAAAAAAYGtAAAAAAACgZ0AzMzMzM1NqQDMzMzMzk2VAmpmZmZnpbEDNzMzMzMxmQM3MzMzMvGdAmpmZmZnJYkDNzMzMzCRyQAAAAAAAkHFAAAAAAADAbUAAAAAAAOBoQAAAAAAAkGVAZmZmZmYGc0AAAAAAAAByQAAAAAAAOHJAMzMzMzODcECamZmZmSlmQM3MzMzMXG9AMzMzMzPTcUAzMzMzMwNwQDMzMzMzg2dAZmZmZmb2bUCamZmZmYlxQM3MzMzMTG9AAAAAAAAgb0AzMzMzM3NxQJqZmZmZUXJAMzMzMzPbckBmZmZmZlZuQGZmZmZm9n5AZmZmZmY+cEBmZmZmZhZ0QJqZmZmZwXJAMzMzMzMja0CamZmZmaFyQJqZmZmZSWxAZmZmZma2bkAAAAAAAIBeQAAAAAAAYGxAAAAAAABAdUCamZmZmWl0QM3MzMzMFHNAMzMzMzPTaUBmZmZmZt5yQAAAAAAAiHRAzczMzMyUcEDNzMzMzIxsQM3MzMzMDHVAmpmZmZk5cEAAAAAAACBxQM3MzMzM3GxAAAAAAADweEAAAAAAAIB4QAAAAAAAsGdAzczMzMz8bUBmZmZmZvZtQDMzMzMzC3NAmpmZmZn5c0AzMzMzM0NuQAAAAAAAuHNAmpmZmZl5ckCamZmZmYl2QM3MzMzMnHJAzczMzMw0c0CamZmZmflyQJqZmZmZaW5AmpmZmZmRdkBmZmZmZkZxQDMzMzMzc25AAAAAAAAgc0AAAAAAAMhwQAAAAAAAWHdAAAAAAACwb0DNzMzMzKxtQDMzMzMz03BAMzMzMzPzakDNzMzMzJx0QDMzMzMzk21AZmZmZmamdECamZmZmdlyQM3MzMzMdHFAMzMzMzOTeECamZmZmaF4QAAAAAAA8HdAzczMzMwkcUAzMzMzM9NqQJqZmZmZKWVAAAAAAABQb0BmZmZmZmZ5QDMzMzMzg3ZAzczMzMxsbkAzMzMzMztxQAAAAAAAGHdAzczMzMy0ckAAAAAAAEh0QGZmZmZm5nRAZmZmZmaOcUAAAAAAABB1QM3MzMzMvGxAZmZmZmb2gEAzMzMzM6t4QDMzMzMzg3JAmpmZmZmRfkAAAAAAAJh9QGZmZmZmXnVAzczMzMysgUBmZmZmZoZyQDMzMzMzm3ZAZmZmZmYOfkDNzMzMzCx9QM3MzMzMPHxAzczMzMzUeUDNzMzMzOx3QDMzMzMzq3lAAAAAAACwe0AAAAAAANB0QAAAAAAAEG5AmpmZmZmRcUA=\"},\"shape\":[670],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1042\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1043\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Circle\",\"id\":\"p1038\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"Droplet Diameter (um)\"},\"y\":{\"type\":\"field\",\"field\":\"Spindle Length (um)\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.3},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.3},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.3}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Circle\",\"id\":\"p1039\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"Droplet Diameter (um)\"},\"y\":{\"type\":\"field\",\"field\":\"Spindle Length (um)\"},\"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\":\"Circle\",\"id\":\"p1040\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"Droplet Diameter (um)\"},\"y\":{\"type\":\"field\",\"field\":\"Spindle Length (um)\"},\"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\":\"p1056\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1050\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1051\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1052\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"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\":\"p1057\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1058\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1053\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"orange\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1054\",\"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\":\"p1055\",\"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\":\"p1010\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1025\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1026\"},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1027\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1028\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"bottom_units\":\"canvas\",\"top_units\":\"canvas\",\"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\":\"p1029\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1030\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1031\"}]}},\"left\":[{\"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\":\"spindle length (\\u00b5m)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1023\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1015\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1016\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1017\"},\"axis_label\":\"droplet diameter (\\u00b5m)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1018\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1019\",\"attributes\":{\"axis\":{\"id\":\"p1015\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1024\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1020\"}}}],\"frame_width\":400,\"frame_height\":300}}],\"defs\":[{\"type\":\"model\",\"name\":\"ReactiveHTML1\"},{\"type\":\"model\",\"name\":\"FlexBox1\",\"properties\":[{\"name\":\"align_content\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"align_items\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"flex_direction\",\"kind\":\"Any\",\"default\":\"row\"},{\"name\":\"flex_wrap\",\"kind\":\"Any\",\"default\":\"wrap\"},{\"name\":\"justify_content\",\"kind\":\"Any\",\"default\":\"flex-start\"}]},{\"type\":\"model\",\"name\":\"FloatPanel1\",\"properties\":[{\"name\":\"config\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"contained\",\"kind\":\"Any\",\"default\":true},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"right-top\"},{\"name\":\"offsetx\",\"kind\":\"Any\",\"default\":null},{\"name\":\"offsety\",\"kind\":\"Any\",\"default\":null},{\"name\":\"theme\",\"kind\":\"Any\",\"default\":\"primary\"},{\"name\":\"status\",\"kind\":\"Any\",\"default\":\"normalized\"}]},{\"type\":\"model\",\"name\":\"GridStack1\",\"properties\":[{\"name\":\"mode\",\"kind\":\"Any\",\"default\":\"warn\"},{\"name\":\"ncols\",\"kind\":\"Any\",\"default\":null},{\"name\":\"nrows\",\"kind\":\"Any\",\"default\":null},{\"name\":\"allow_resize\",\"kind\":\"Any\",\"default\":true},{\"name\":\"allow_drag\",\"kind\":\"Any\",\"default\":true},{\"name\":\"state\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"drag1\",\"properties\":[{\"name\":\"slider_width\",\"kind\":\"Any\",\"default\":5},{\"name\":\"slider_color\",\"kind\":\"Any\",\"default\":\"black\"},{\"name\":\"value\",\"kind\":\"Any\",\"default\":50}]},{\"type\":\"model\",\"name\":\"click1\",\"properties\":[{\"name\":\"terminal_output\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"debug_name\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"clears\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"FastWrapper1\",\"properties\":[{\"name\":\"object\",\"kind\":\"Any\",\"default\":null},{\"name\":\"style\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"NotificationAreaBase1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"NotificationArea1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"notifications\",\"kind\":\"Any\",\"default\":[]},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0},{\"name\":\"types\",\"kind\":\"Any\",\"default\":[{\"type\":\"map\",\"entries\":[[\"type\",\"warning\"],[\"background\",\"#ffc107\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-exclamation-triangle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]},{\"type\":\"map\",\"entries\":[[\"type\",\"info\"],[\"background\",\"#007bff\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-info-circle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]}]}]},{\"type\":\"model\",\"name\":\"Notification\",\"properties\":[{\"name\":\"background\",\"kind\":\"Any\",\"default\":null},{\"name\":\"duration\",\"kind\":\"Any\",\"default\":3000},{\"name\":\"icon\",\"kind\":\"Any\",\"default\":null},{\"name\":\"message\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"notification_type\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_destroyed\",\"kind\":\"Any\",\"default\":false}]},{\"type\":\"model\",\"name\":\"TemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"BootstrapTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"MaterialTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]}]}};\n", " const render_items = [{\"docid\":\"3f444e4e-3524-404f-b4e7-c56d1cf42279\",\"roots\":{\"p1002\":\"b0e9dc89-d1bd-47d2-a515-c3ec24b775f3\"},\"root_ids\":[\"p1002\"]}];\n", " 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": "p1002" } }, "output_type": "display_data" } ], "source": [ "# Compute theoretical curve using MLE parameters\n", "d_theor = np.linspace(0, 250, 200)\n", "ell_theor = theor_spindle_length(*mle_params[:-1], d_theor)\n", "\n", "# Add theoretical curve to the plot\n", "p.line(d_theor, ell_theor, line_width=2, line_color=\"orange\")\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course, we are not using the full generative model here, since we are not using the parameter $\\sigma$. We will discuss in much more detail in the lesson on model assessment how to visualize the entire generative model as it relates to the measured data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Least squares\n", "\n", "We worked out in [our lesson on MLE of variate-covariate models](../20/mle_for_variate_covariate_models.ipynb#homoscedastic-normal-models) that when we have a homoscedastic Normal model for residuals, we may compute the MLE by first minimizing the residual sum of squares and then computing the MLE for the variance of the Normally distributed residuals as $\\sigma^* = \\sqrt{\\text{RSS}^* / n}$, where $n$ is the total number of data points.\n", "\n", "Conveniently, this is the form of our generative model, so we can split the optimization problem in two parts. First, find the values of parameters $\\gamma$ and $\\phi$ that minimize the residual sum of squares. Then, using these values, compute the MLE for $\\sigma$ using the analytical result we have just derived.\n", "\n", "The [Levenberg-Marquardt algorithm](https://en.wikipedia.org/wiki/Levenberg–Marquardt_algorithm) is a fast, robust algorithm to perform minimization of the RSS. A variant of this is implemented in `scipy.optimization.least_squares()` ([docs](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.least_squares.html)). To use that algorithm you need to define a function for the residual; that is a function that returns the quantity $l_i - \\mu_i$. The function has call signature `f(params, *args)`, where `params` is a Numpy array containing the parameters you will use in the optimization (in our case, $\\gamma$ and $\\phi$), and `args` is a tuple of any other arguments passed to the function, which almost always include the data (in our case `(d, ell)`). We can code up that function." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def resid(params, d, ell):\n", " \"\"\"Residual for spindle length model.\"\"\"\n", " return ell - theor_spindle_length(*params, d)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can call `scipy.optimize.least_squares()` to perform the MLE. We can also specify bounds as a tuple containing a list of the lower bounds of the respective parameters and a list of the upper bounds of the respective parameters. We bound $\\gamma$ between zero and one, and $\\phi$ just has to be positive." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([ 0.8601068 , 38.24676913]), 3.754999871544056)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res = scipy.optimize.least_squares(\n", " resid, np.array([0.5, 35]), args=(d, ell), bounds=([0, 0], [1, np.inf])\n", ")\n", "\n", "# Compute residual sum of squares from optimal params\n", "rss_mle = np.sum(resid(res.x, d, ell)**2)\n", "\n", "# Compute MLE for sigma\n", "sigma_mle = np.sqrt(rss_mle / len(d))\n", "\n", "# Take a look\n", "res.x, sigma_mle" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Indeed, we got the same results as before. Let's code this procedure up into a function. Looking ahead to using `bebi103.bootstrap.draw_bs_reps_mle()`, we need the function to take the data set as a single argument." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "def spindle_mle_lstq(data):\n", " \"\"\"Compute MLE for parameters in spindle length model.\"\"\"\n", " # Unpack data\n", " d = data[:, 0]\n", " ell = data[:, 1]\n", " \n", " res = scipy.optimize.least_squares(\n", " resid, np.array([0.5, 35]), args=(d, ell), bounds=([0, 0], [1, np.inf])\n", " )\n", "\n", " # Compute residual sum of squares from optimal params\n", " rss_mle = np.sum(resid(res.x, d, ell)**2)\n", "\n", " # Compute MLE for sigma\n", " sigma_mle = np.sqrt(rss_mle / len(d))\n", " \n", " return tuple([x for x in res.x] + [sigma_mle])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The big advantages of doing this are the robustness and speed of the Levenberg-Marquardt algorithm. Let's do a speed test." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Timing for MLE by Powell's method:\n", "10.1 ms ± 19.4 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n", "\n", "Timing for MLE by least_squares:\n", "2.73 ms ± 28.8 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], "source": [ "print(\"Timing for MLE by Powell's method:\")\n", "%timeit spindle_mle(d, ell)\n", "\n", "print(\"\\nTiming for MLE by least_squares:\")\n", "data = df[['Droplet Diameter (um)', 'Spindle Length (um)']].values\n", "%timeit spindle_mle_lstq(data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That's a substantial speed boost of nearly 4×." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Confidence intervals\n", "\n", "We can now proceed to compute confidence intervals for our parameters. We will do a parametric bootstrap here. We use the generative model parametrized by the MLE to regenerate data sets. For each value of $d$ (which are fixed), we draw values of $l$ using the generative distribution). Then we perform MLE of those to get confidence intervals. To use `bebi103.draw_bs_reps_mle()`, then, we just are left to supply the bootstrap sample generating function." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "def gen_spindle_data(params, d, size, rng):\n", " \"\"\"Generate a new spindle data set.\"\"\"\n", " mu = theor_spindle_length(*params[:-1], d)\n", " sigma = params[-1]\n", "\n", " return np.vstack((d, rng.normal(mu, sigma))).transpose()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that we were careful to make sure the data set has the appropriate dimensions; the row indexes the trial. We can now compute our replicates and confidence intervals." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "95% Confidence intervals\n", "γ: [ 0.83, 0.89]\n", "φ: [37.54, 39.01]\n", "σ: [ 3.55, 3.95]\n", "\n" ] } ], "source": [ "bs_reps = bebi103.bootstrap.draw_bs_reps_mle(\n", " spindle_mle_lstq,\n", " gen_spindle_data,\n", " data=df[[\"Droplet Diameter (um)\", \"Spindle Length (um)\"]].values,\n", " mle_args=(),\n", " gen_args=(d,),\n", " size=10000,\n", " n_jobs=9,\n", " progress_bar=False,\n", ")\n", "\n", "# Compute confidence intervals\n", "conf_ints = np.percentile(bs_reps, [2.5, 97.5], axis=0)\n", "\n", "# Print the results\n", "print(\n", " \"\"\"95% Confidence intervals\n", "γ: [ {0:.2f}, {1:.2f}]\n", "φ: [{2:.2f}, {3:.2f}]\n", "σ: [ {4:.2f}, {5:.2f}]\n", "\"\"\".format(\n", " *conf_ints.transpose().ravel()\n", " )\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The confidence intervals are given in each column for $\\gamma$, $\\phi$, and $\\sigma$, respectively, and are quite tight. This is because we have lots of data points. This does *not* mean that the data are tightly distributed about the theoretical curve, only that the MLE estimates for the parameters will not vary much if we repeated the experiment and analysis." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Other confidence intervals\n", "\n", "We have computed parametric confidence intervals by regenerating spindle lengths for each droplet diameter we measured using the generative model parametrized by the MLE. There are many ways to compute confidence intervals for variate-covariate models, including pairs, residual, and wild bootstrap. Briefly, here are the respective techniques.\n", "\n", "**Pairs bootstrap**: As we saw when doing nonparametric bootstrap confidence intervals for correlation coefficients, we can apply a similar technique here. We resample the data set as, in this case, pairs of droplet diameters and spindle lengths $(d_i, \\ell_i)$, and compute MLE estimates for the parameters for each bootstrap sample.\n", "\n", "**Residual bootstrap**: In residual bootstrap, the *residuals* are resampled. The procedure goes as follows.\n", "\n", "1. Compute the MLE for the parameters of the model, $\\theta^*$. In the spindle length example, $\\theta^* = (\\gamma^*, \\phi^*)$.\n", "2. Define $\\hat{y}_i = y(x_i; \\theta^*)$ to be the value of $y$ computed as point $x_i$ using the theoretical curve parametrized by the MLE estimate for $\\theta$.\n", "3. Define residual $i$ as $\\epsilon_i = y_i - \\hat{y}_i$.\n", "4. Draw a bootstrap sample of the residuals, randomly assigning a new residual to each datum. Let $\\epsilon_j$ be the $j$th *resampled* residual (that is the $j$th residual in the bootstrap sample of residuals). \n", "5. Generate a bootstrap sample of your data set where the $j$th data point $(x_j, \\hat{y}_j + \\epsilon_j)$.\n", "5. Recompute the MLE for $\\theta$ from this bootstrap sample.\n", "\n", "**Wild bootstrap**: In wild bootstrap, the residuals are resampled parametrically. If residual $i$ is $\\epsilon_i = y_i - \\hat{y}_i$, then a new residual applied to data point $i$ is $\\epsilon_i\\,v_i$, where $v_i$ is drawn from a Normal distribution with mean zero and variance one. Thus, data point $i$ in the bootstrap sample is $(x_i, \\hat{y}_i + \\epsilon_i\\,v_i)$. The MLE for $\\theta$ is then computed from this bootstrap sample." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Why I do not advocate for using these other methods\n", "\n", "Pairs bootstrap is a nonparametric way of getting bootstrap samples, with the bootstrap replicate computed using a parametric inference technique. This can work well if we have a large number of data points *and* no *x*-values are severely undersampled in the experiment. This is not always the case, however, though it is in the case of the spindle length data.\n", "\n", "Residual bootstrap implicitly models the residuals of homoscedastic, since any given residual may be applied to any given data point. Again, this is often not the case.\n", "\n", "Wild bootstrap is a twist on residual bootstrap that attempts to model heteroscedasticity. In using wild bootstrap, we have implicitly baked into model that the residual for each data point is normally distributed about the empirical residual with a scale parameter that scales with the size of the empirical residual. This is a way of dealing with heteroscedasticity without seriously considering the variation in measurement in a generative way. But, we really should *think generatively*. If we are going to model, we should model everything. A full generative model, including how we might expect the variability to change as a function of the measured and/or explanatory variables, is preferable.\n", "\n", "For variate-covariate models, I usually prefer to do the parametric bootstrap method we have covered in this lesson. If I have enough well-sampled data points, then pairs bootstrap is a reasonable way to nonparametrically get bootstrap samples to compute a confidence interval. If I am sure of homoscedasticity, residual bootstrap is a good method. I generally shy away from wild bootstrap completely, since I prefer to explicitly model heteroscedasticity." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Computing environment" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Python implementation: CPython\n", "Python version : 3.11.4\n", "IPython version : 8.12.0\n", "\n", "numpy : 1.24.3\n", "scipy : 1.10.1\n", "pandas : 1.5.3\n", "bokeh : 3.2.1\n", "bebi103 : 0.1.17\n", "jupyterlab: 4.0.4\n", "\n" ] } ], "source": [ "%load_ext watermark\n", "%watermark -v -p numpy,scipy,pandas,bokeh,bebi103,jupyterlab" ] } ], "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.11.4" } }, "nbformat": 4, "nbformat_minor": 4 }