{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Probability Theory Review" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Preliminaries\n", "\n", "- Goal \n", " - Review of probability theory from a logical reasoning viewpoint (i.e., a Bayesian interpretation)\n", "- Materials \n", " - Mandatory\n", " - These lecture notes\n", " - Optional\n", " - Bishop pp. 12-20 \n", " - [Bruininkx - 2002 - Bayesian Probability](./files/Bruyninkx-2002-Bayesian-probability.pdf)\n", " - [Edwin Jaynes, Probability Theory -- The Logic of Science](https://www.amazon.com/Probability-Theory-Science-T-Jaynes/dp/0521592712). Cambridge University Press, 2003\n", " - brilliant book on Bayesian view on probability theory.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Example Problem: Disease Diagnosis\n", "\n", "- **[Question]** Given a disease with prevalence of 1% and a test procedure with sensitivity ('true positive' rate) of 95% and specificity ('true negative' rate) of 85% , what is the chance that somebody who tests positive actually has the disease?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **[Solution]** Use probabilistic inference, to be discussed in this lecture. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Why Probability Theory?\n", "\n", "- Probability theory (PT) is the **theory of optimal processing of incomplete information** (see [Cox theorem](https://en.wikipedia.org/wiki/Cox%27s_theorem)), and as such provides a quantitative framework for drawing conclusions from a finite (read: incomplete) data set. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Machine learning concerns drawing conclusions from (a finite set of) data and therefore PT is the _optimal calculus for machine learning_. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In general, nearly all interesting questions in machine learning can be stated in the following form (a conditional probability):\n", "$$p(\\text{whatever-we-want-to-know}\\, | \\,\\text{whatever-we-do-know})$$\n", " - For example:\n", " - Predictions\n", " $$p(\\,\\text{future-observations}\\,|\\,\\text{past-observations}\\,)$$\n", " - Classify a received data point \n", " $$p(\\,x\\text{-belongs-to-class-}k \\,|\\,x\\,)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ " \n", "- **Information theory** (\"theory of log-probability\") provides a source coding view on machine learning that is consistent with probability theory (more in part-2). " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Probability Theory Notation\n", "\n", "- Define an **event** $A$ as a statement, whose truth is contemplated by a person, e.g.,\n", "\n", "$$A = \\text{'it will rain tomorrow'}$$\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- We write the denial of $A$, i.e. the event **not**-A, as $\\bar{A}$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "##### probabilities\n", "\n", "- For any event $A$, with background knowledge $I$, the **conditional probability of $A$ given $I$**, is written as \n", "$$p(A|I)$$" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "source": [ " \n", "- The value of a probability is limited to $0 \\le p(A|I) \\le 1$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- All probabilities are in principle conditional probabilities of the type $p(A|I)$, since there is always some background knowledge. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ " - Still, we often write $p(A)$ rather than $p(A|I)$ if the background knowledge $I$ is assumed to be obviously present. E.g., $p(A)$ rather than $p(\\,A\\,|\\,\\text{the-sun-comes-up-tomorrow}\\,)$.\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "##### probabilities for random variable assignments\n", "\n", "- Note that, if $X$ is a random variable, then the assignment $X=x$ (with $x$ a value) can be interpreted as an event. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- We often write $p(x)$ rather than $p(X=x)$ (hoping that the reader understands the context ;-) " ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "source": [ "- In an apparent effort to further abuse notational conventions, $p(X)$ often denotes the full distribution over random variable $X$, i.e., the distribution for all assignments for $X$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "##### compound events\n", "\n", "- The **joint** probability that both $A$ and $B$ are true, given $I$ (a.k.a. **conjunction**) is written as\n", "$$p(A,B|I)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- $A$ and $B$ are said to be **independent**, given $I$, if (and only if) $$p(A,B|I) = p(A|I)\\,p(B|I)$$ " ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "source": [ "- The probability that either $A$ or $B$, or both $A$ and $B$, are true, given $I$ (a.k.a. **disjunction**) is written as \n", "$$p(A+B|I)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Probability Theory Calculus\n", " \n", "- **Normalization**. If you know that event $A$ given $I$ is true, then $p(A|I)=1$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **Product rule**. The conjuction of two events $A$ and $B$ with given background $I$ is given by \n", "$$ p(A,B|I) = p(A|B,I)\\,p(B|I) \\,.$$\n", " - If $A$ and $B$ are independent given $I$, then $p(A|B,I) = p(A|I)$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **Sum rule**. The disjunction for two events $A$ and $B$ given background $I$ is given by\n", "$$ p(A+B|I) = p(A|I) + p(B|I) - p(A,B|I)\\,.$$\n", " - As a special case, it follows from the sum rule that $ p(A|I) + p(\\bar{A}|I) = 1$\n", " - Note that the background information may not change, e.g., if $I^\\prime \\neq I$, then \n", "$$ p(A+B|I^\\prime) \\neq p(A|I) + p(B|I) - p(A,B|I)\\,.$$ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **All legitimate probabilistic relations can be derived from the sum and product rules!**" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The product and sum rules are also known as the **axioms of probability theory**, but in fact, under some mild conditions, they can be derived as the unique rules for rational reasoning under uncertainty ([Cox theorem, 1946](https://en.wikipedia.org/wiki/Cox%27s_theorem))." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Frequentist vs. Bayesian Interpretation of Probabilities\n", "\n", "- In the **frequentist** interpretation, $p(A)$ relates to the relative frequency that $A$ would occur under repeated execution of an experiment. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ " - For instance, if the experiment is tossing a coin, then $p(\\texttt{tail}) = 0.4$ means that in the limit of a large number of coin tosses, 40% of outcomes turn up as $\\texttt{tail}$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In the **Bayesian** interpretation, $p(A)$ reflects the **degree of belief** that event $A$ is true. I.o.w., the probability is associated with a **state-of-knowledge** (usually held by a person). \n", " - For instance, for the coin tossing experiment, $p(\\texttt{tail}) = 0.4$ should be interpreted as the belief that there is a 40% chance that $\\texttt{tail}$ comes up if the coin were tossed.\n", " - Under the Bayesian interpretation, PT calculus (sum and product rules) **extends boolean logic to rational reasoning with uncertainty**. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The Bayesian viewpoint is more generally applicable than the frequentist viewpoint, e.g., it is hard to apply the frequentist viewpoint to the event '$\\texttt{it will rain tomorrow}$'. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The Bayesian viewpoint is clearly favored in the machine learning community. (In this class, we also strongly favor the Bayesian interpretation). " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The Sum Rule and Marginalization\n", "\n", "- We discussed that every inference problem in PT can be evaluated through the sum and product rules. Next, we present two useful corollaries: (1) Marginalization and (2) Bayes rule " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- If $X$ and $Y$ are random variables over finite domains, than it follows from the sum rule that \n", "$$\n", "p(X) = \\sum_Y p(X,Y) = \\sum_Y p(X|Y) p(Y) \\,.\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Note that this is just a **generalized sum rule**. In fact, Bishop (p.14) (and some other authors as well) calls this the sum rule.\n", " - EXERCISE: Proof the generalized sum rule." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Of course, in the continuous domain, the (generalized) sum rule becomes\n", "$$p(X)=\\int p(X,Y) \\,\\mathrm{d}Y$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Integrating $Y$ out of a joint distribution is called **marginalization** and the result $p(X)$ is sometimes referred to as the **marginal probability**. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The Product Rule and Bayes Rule\n", "\n", "- Consider 2 variables $D$ and $\\theta$; it follows symmetry arguments that \n", "$$p(D,\\theta)=p(D|\\theta)p(\\theta)=p(\\theta|D)p(D)$$ \n", "and hence that\n", "$$ p(\\theta|D) = \\frac{p(D|\\theta) p(\\theta)}{p(D)}\\,.$$ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- This formula is called **Bayes rule** (or Bayes theorem). While Bayes rule is always true, a particularly useful application occurs when $D$ refers to an observed data set and $\\theta$ is set of model parameters that relates to the data. In that case,\n", "\n", " - the **prior** probability $p(\\theta)$ represents our **state-of-knowledge** about proper values for $\\theta$, before seeing the data $D$.\n", " - the **posterior** probability $p(\\theta|D)$ represents our state-of-knowledge about $\\theta$ after we have seen the data." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "$\\Rightarrow$ Bayes rule tells us how to update our knowledge about model parameters when facing new data. Hence, \n", "\n", "
\n", "
\n", "Bayes rule is the fundamental rule for machine learning!\n", "
\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Bayes Rule Nomenclature\n", "- Some nomenclature associated with Bayes rule:\n", "$$\n", "\\underbrace{p(\\theta | D)}_{\\text{posterior}} = \\frac{\\overbrace{p(D|\\theta)}^{\\text{likelihood}} \\times \\overbrace{p(\\theta)}^{\\text{prior}}}{\\underbrace{p(D)}_{\\text{evidence}}}\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Note that the evidence (a.k.a. _marginal likelihood_) can be computed from the numerator through marginalization since\n", "$$ p(D) = \\int p(D,\\theta) \\,\\mathrm{d}\\theta = \\int p(D|\\theta)\\,p(\\theta) \\,\\mathrm{d}\\theta$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Hence, having access to likelihood and prior is sufficient to compute both the evidence and the posterior. To emphasize that point, Bayes rule is sometimes written as \n", "$$ p(\\theta|D)\\,p(D) = p(D|\\theta)\\, p(\\theta)$$ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- For given $D$, the posterior probabilities of the parameters scale relatively against each other as\n", "$$\n", "p(\\theta|D) \\propto p(D|\\theta) p(\\theta)\n", "$$\n", "\n", "$\\Longrightarrow$ All that we can learn from the observed data is contained in the likelihood function $p(D|\\theta)$. This is called the **likelihood principle**." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The Likelihood Function vs the Sampling Distribution\n", "\n", "- Consider a model $p(D|\\theta)$, where $D$ relates to variables that are observed (i.e., a \"data set\") and $\\theta$ are model parameters." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In general, $p(D|\\theta)$ is just a function of the two variables $D$ and $\\theta$. We distinguish two interpretations of this function, depending on which variable is observed (or given by other means). " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The **sampling distribution** (a.k.a. the **data-generating** distribution) $$p(D|\\theta=\\theta_0)$$ (which is a function of $D$ only) describes the probability distribution for data $D$, assuming that it is generated by the given model with parameters fixed at $\\theta = \\theta_0$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In a machine learning context, often the data is observed, and $\\theta$ is the free variable. For given observations $D=D_0$, the **likelihood function** (which is a function only of the model parameters $\\theta$) is defined as $$\\mathrm{L}(\\theta) \\triangleq p(D=D_0|\\theta)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Note that $\\mathrm{L}(\\theta)$ is not a probability distribution for $\\theta$ since in general $\\sum_\\theta \\mathrm{L}(\\theta) \\neq 1$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Technically, it is more correct to speak about the likelihood of a model (or model parameters) than about the likelihood of an observed data set. (Why?) " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "#### CODE EXAMPLE\n", "\n", "Consider the following simple model for the outcome (head or tail) of a biased coin toss with parameter $\\theta \\in [0,1]$:\n", "\n", "$$\\begin{align*}\n", "y &\\in \\{0,1\\} \\\\\n", "p(y|\\theta) &\\triangleq \\theta^y (1-\\theta)^{1-y}\\\\\n", "\\end{align*}$$\n", "\n", "We can plot both the sampling distribution (i.e. $p(y|\\theta=0.8)$) and the likelihood function (i.e. $L(\\theta) = p(y=0|\\theta)$)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/html": [ "
\n", "
\n", "WebIO.mount(this.previousSibling,{"props":{},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"attributes":{"class":"interact-flex-row"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"className":"field"},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{},"nodeType":"Scope","type":"node","instanceArgs":{"imports":{"data":[{"name":"knockout","type":"js","url":"/assetserver/88bf0b823d344fcff0b77616d12840286b6c8fa3-knockout.js"},{"name":"knockout_punches","type":"js","url":"/assetserver/2bd5b097e96d6b4fb8b3b86c01ec3eb6f00ba8bc-knockout_punches.js"},{"name":null,"type":"js","url":"/assetserver/33fc17ead5d6c83c74b2449f7c19558c51387837-all.js"},{"name":null,"type":"css","url":"/assetserver/f0f1a82ab037979b58e3919f91c0a1436c2b13ea-style.css"},{"name":null,"type":"css","url":"/assetserver/84fa6bb423ab1a438691a358fbcb123d0820e96c-main.css"}],"type":"async_block"},"id":"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0","handlers":{"_promises":{"importsLoaded":[function (ko, koPunches) {\n", " ko.punches.enableAll();\n", " ko.bindingHandlers.numericValue = {\n", " init : function(element, valueAccessor, allBindings, data, context) {\n", " var stringified = ko.observable(ko.unwrap(valueAccessor()));\n", " stringified.subscribe(function(value) {\n", " var val = parseFloat(value);\n", " if (!isNaN(val)) {\n", " valueAccessor()(val);\n", " }\n", " })\n", " valueAccessor().subscribe(function(value) {\n", " var str = JSON.stringify(value);\n", " if ((str == "0") && (["-0", "-0."].indexOf(stringified()) >= 0))\n", " return;\n", " if (["null", ""].indexOf(str) >= 0)\n", " return;\n", " stringified(str);\n", " })\n", " ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n", " }\n", " };\n", " var json_data = JSON.parse("{\\"changes\\":0,\\"value\\":false}");\n", " var self = this;\n", " function AppViewModel() {\n", " for (var key in json_data) {\n", " var el = json_data[key];\n", " this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n", " }\n", " \n", " \n", " [this["changes"].subscribe((function (val){!(this.valueFromJulia["changes"]) ? (WebIO.setval({"name":"changes","scope":"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0","id":"ob_12","type":"observable"},val)) : undefined; return this.valueFromJulia["changes"]=false}),self),this["value"].subscribe((function (val){!(this.valueFromJulia["value"]) ? (WebIO.setval({"name":"value","scope":"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0","id":"ob_11","type":"observable"},val)) : undefined; return this.valueFromJulia["value"]=false}),self)]\n", " \n", " }\n", " self.model = new AppViewModel();\n", " self.valueFromJulia = {};\n", " for (var key in json_data) {\n", " self.valueFromJulia[key] = false;\n", " }\n", " ko.applyBindings(self.model, self.dom);\n", "}\n", "]},"changes":[(function (val){return (val!=this.model["changes"]()) ? (this.valueFromJulia["changes"]=true, this.model["changes"](val)) : undefined})],"value":[(function (val){return (val!=this.model["value"]()) ? (this.valueFromJulia["value"]=true, this.model["value"](val)) : undefined})]},"systemjs_options":null,"observables":{"changes":{"sync":false,"id":"ob_12","value":0},"value":{"sync":true,"id":"ob_11","value":false}}},"children":[{"props":{"className":"field"},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"attributes":{"type":"checkbox","data-bind":"checked: value, valueUpdate: 'change', event: {change : function () {this.changes(this.changes()+1)}}"},"id":"##363","className":"switch ","style":{}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"input"},"children":[]},{"props":{"attributes":{"className":"","for":"##363"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"label"},"children":["y"]}]}]}]}]},{"props":{"className":"field"},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{},"nodeType":"Scope","type":"node","instanceArgs":{"imports":{"data":[{"name":"knockout","type":"js","url":"/assetserver/88bf0b823d344fcff0b77616d12840286b6c8fa3-knockout.js"},{"name":"knockout_punches","type":"js","url":"/assetserver/2bd5b097e96d6b4fb8b3b86c01ec3eb6f00ba8bc-knockout_punches.js"},{"name":null,"type":"js","url":"/assetserver/33fc17ead5d6c83c74b2449f7c19558c51387837-all.js"},{"name":null,"type":"css","url":"/assetserver/f0f1a82ab037979b58e3919f91c0a1436c2b13ea-style.css"},{"name":null,"type":"css","url":"/assetserver/84fa6bb423ab1a438691a358fbcb123d0820e96c-main.css"}],"type":"async_block"},"id":"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4","handlers":{"formatted_vals":[(function (val){return (val!=this.model["formatted_vals"]()) ? (this.valueFromJulia["formatted_vals"]=true, this.model["formatted_vals"](val)) : undefined})],"_promises":{"importsLoaded":[function (ko, koPunches) {\n", " ko.punches.enableAll();\n", " ko.bindingHandlers.numericValue = {\n", " init : function(element, valueAccessor, allBindings, data, context) {\n", " var stringified = ko.observable(ko.unwrap(valueAccessor()));\n", " stringified.subscribe(function(value) {\n", " var val = parseFloat(value);\n", " if (!isNaN(val)) {\n", " valueAccessor()(val);\n", " }\n", " })\n", " valueAccessor().subscribe(function(value) {\n", " var str = JSON.stringify(value);\n", " if ((str == "0") && (["-0", "-0."].indexOf(stringified()) >= 0))\n", " return;\n", " if (["null", ""].indexOf(str) >= 0)\n", " return;\n", " stringified(str);\n", " })\n", " ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n", " }\n", " };\n", " var json_data = JSON.parse("{\\"formatted_vals\\":[\\"0.0\\",\\"0.1\\",\\"0.2\\",\\"0.3\\",\\"0.4\\",\\"0.5\\",\\"0.6\\",\\"0.7\\",\\"0.8\\",\\"0.9\\",\\"1.0\\"],\\"changes\\":0,\\"formatted_value\\":\\"0.5\\",\\"index\\":6}");\n", " var self = this;\n", " function AppViewModel() {\n", " for (var key in json_data) {\n", " var el = json_data[key];\n", " this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n", " }\n", " \n", " \n", " [this["formatted_vals"].subscribe((function (val){!(this.valueFromJulia["formatted_vals"]) ? (WebIO.setval({"name":"formatted_vals","scope":"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4","id":"ob_15","type":"observable"},val)) : undefined; return this.valueFromJulia["formatted_vals"]=false}),self),this["changes"].subscribe((function (val){!(this.valueFromJulia["changes"]) ? (WebIO.setval({"name":"changes","scope":"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4","id":"ob_17","type":"observable"},val)) : undefined; return this.valueFromJulia["changes"]=false}),self),this["formatted_value"].subscribe((function (val){!(this.valueFromJulia["formatted_value"]) ? (WebIO.setval({"name":"formatted_value","scope":"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4","id":"ob_16","type":"observable"},val)) : undefined; return this.valueFromJulia["formatted_value"]=false}),self),this["index"].subscribe((function (val){!(this.valueFromJulia["index"]) ? (WebIO.setval({"name":"index","scope":"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4","id":"ob_14","type":"observable"},val)) : undefined; return this.valueFromJulia["index"]=false}),self)]\n", " \n", " }\n", " self.model = new AppViewModel();\n", " self.valueFromJulia = {};\n", " for (var key in json_data) {\n", " self.valueFromJulia[key] = false;\n", " }\n", " ko.applyBindings(self.model, self.dom);\n", "}\n", "]},"changes":[(function (val){return (val!=this.model["changes"]()) ? (this.valueFromJulia["changes"]=true, this.model["changes"](val)) : undefined})],"formatted_value":[(function (val){return (val!=this.model["formatted_value"]()) ? (this.valueFromJulia["formatted_value"]=true, this.model["formatted_value"](val)) : undefined})],"index":[(function (val){return (val!=this.model["index"]()) ? (this.valueFromJulia["index"]=true, this.model["index"](val)) : undefined}),(function (val){return WebIO.setval({"name":"formatted_value","scope":"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4","id":"ob_16","type":"observable"},WebIO.getval({"name":"formatted_vals","scope":"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4","id":"ob_15","type":"observable"})[(WebIO.getval({"name":"index","scope":"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4","id":"ob_14","type":"observable"})-1)])})]},"systemjs_options":null,"observables":{"formatted_vals":{"sync":false,"id":"ob_15","value":["0.0","0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0"]},"changes":{"sync":false,"id":"ob_17","value":0},"formatted_value":{"sync":false,"id":"ob_16","value":"0.5"},"index":{"sync":true,"id":"ob_14","value":6}}},"children":[{"props":{"attributes":{"class":"interact-flex-row"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"attributes":{"class":"interact-flex-row-left"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"className":"interact ","style":{"padding":"5px 10px 0px 10px"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"label"},"children":["θ"]}]},{"props":{"attributes":{"class":"interact-flex-row-center"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"max":11,"min":1,"attributes":{"type":"range","data-bind":"numericValue: index, valueUpdate: 'input', event: {change : function () {this.changes(this.changes()+1)}}","orient":"horizontal"},"step":1,"className":"slider slider is-fullwidth","style":{}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"input"},"children":[]}]},{"props":{"attributes":{"class":"interact-flex-row-right"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"attributes":{"data-bind":"text: formatted_value"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"p"},"children":[]}]}]}]}]},{"props":{},"nodeType":"Scope","type":"node","instanceArgs":{"imports":{"data":[],"type":"async_block"},"id":"scope-5a3c2405-2af8-4d10-954e-dfbccf759695","handlers":{"obs-output":[function (updated_htmlstr) {\n", " var el = this.dom.querySelector("#out");\n", " WebIO.propUtils.setInnerHtml(el, updated_htmlstr);\n", "}]},"systemjs_options":null,"observables":{"obs-output":{"sync":false,"id":"ob_20","value":"<div class='display:none'></div><unsafe-script style='display:none'>\\nWebIO.mount(this.previousSibling,{&quot;props&quot;:{&quot;attributes&quot;:{&quot;class&quot;:&quot;interact-flex-row&quot;}},&quot;nodeType&quot;:&quot;DOM&quot;,&quot;type&quot;:&quot;node&quot;,&quot;instanceArgs&quot;:{&quot;namespace&quot;:&quot;html&quot;,&quot;tag&quot;:&quot;div&quot;},&quot;children&quot;:[{&quot;props&quot;:{&quot;setInnerHtml&quot;:&quot;&lt;img src=&#39;data:image/png;base64,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&#39;&gt;&lt;/img&gt;&quot;},&quot;nodeType&quot;:&quot;DOM&quot;,&quot;type&quot;:&quot;node&quot;,&quot;instanceArgs&quot;:{&quot;namespace&quot;:&quot;html&quot;,&quot;tag&quot;:&quot;div&quot;},&quot;children&quot;:[]}]})</unsafe-script>"}}},"children":[{"props":{"id":"out","setInnerHtml":"<div class='display:none'></div><unsafe-script style='display:none'>\\nWebIO.mount(this.previousSibling,{&quot;props&quot;:{&quot;attributes&quot;:{&quot;class&quot;:&quot;interact-flex-row&quot;}},&quot;nodeType&quot;:&quot;DOM&quot;,&quot;type&quot;:&quot;node&quot;,&quot;instanceArgs&quot;:{&quot;namespace&quot;:&quot;html&quot;,&quot;tag&quot;:&quot;div&quot;},&quot;children&quot;:[{&quot;props&quot;:{&quot;setInnerHtml&quot;:&quot;&lt;img src=&#39;data:image/png;base64,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&#39;&gt;&lt;/img&gt;&quot;},&quot;nodeType&quot;:&quot;DOM&quot;,&quot;type&quot;:&quot;node&quot;,&quot;instanceArgs&quot;:{&quot;namespace&quot;:&quot;html&quot;,&quot;tag&quot;:&quot;div&quot;},&quot;children&quot;:[]}]})</unsafe-script>"},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[]}]}]})\n", "
" ], "text/plain": [ "Widget{:manipulate,Any}(OrderedDict{Symbol,Any}(:y=>Widget{:toggle,Bool}(OrderedDict{Symbol,Any}(:changes=>Observable{Int64} with 1 listeners. Value:\n", "0,:value=>Observable{Bool} with 2 listeners. Value:\n", "false), Observable{Bool} with 2 listeners. Value:\n", "false, Scope(\"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0\", Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :input), Any[], Dict{Symbol,Any}(:attributes=>Dict{Any,Any}(:type=>\"checkbox\",Symbol(\"data-bind\")=>\"checked: value, valueUpdate: 'change', event: {change : function () {this.changes(this.changes()+1)}}\"),:id=>\"##363\",:className=>\"switch \",:style=>Dict{Any,Any}()), 0), Node{DOM}(DOM(:html, :label), Any[\"y\"], Dict{Symbol,Any}(:attributes=>Dict(\"className\"=>\"\",\"for\"=>\"##363\")), 1)], Dict{Symbol,Any}(:className=>\"field\"), 3), Dict{String,Tuple{Observables.AbstractObservable,Union{Nothing, Bool}}}(\"changes\"=>(Observable{Int64} with 1 listeners. Value:\n", "0, nothing),\"value\"=>(Observable{Bool} with 2 listeners. Value:\n", "false, nothing)), Set(String[]), nothing, Any[\"knockout\"=>\"/Users/bert/.julia/packages/Knockout/JIqpG/src/../assets/knockout.js\", \"knockout_punches\"=>\"/Users/bert/.julia/packages/Knockout/JIqpG/src/../assets/knockout_punches.js\", \"/Users/bert/.julia/packages/InteractBase/3SqBl/src/../assets/all.js\", \"/Users/bert/.julia/packages/InteractBase/3SqBl/src/../assets/style.css\", \"/Users/bert/.julia/packages/InteractBulma/Ohu5Y/src/../assets/main.css\"], Dict{Any,Any}(\"_promises\"=>Dict{Any,Any}(\"importsLoaded\"=>Any[JSString(\"function (ko, koPunches) {\\n ko.punches.enableAll();\\n ko.bindingHandlers.numericValue = {\\n init : function(element, valueAccessor, allBindings, data, context) {\\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\\n stringified.subscribe(function(value) {\\n var val = parseFloat(value);\\n if (!isNaN(val)) {\\n valueAccessor()(val);\\n }\\n })\\n valueAccessor().subscribe(function(value) {\\n var str = JSON.stringify(value);\\n if ((str == \\\"0\\\") && ([\\\"-0\\\", \\\"-0.\\\"].indexOf(stringified()) >= 0))\\n return;\\n if ([\\\"null\\\", \\\"\\\"].indexOf(str) >= 0)\\n return;\\n stringified(str);\\n })\\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\\n }\\n };\\n var json_data = JSON.parse(\\\"{\\\\\\\"changes\\\\\\\":0,\\\\\\\"value\\\\\\\":false}\\\");\\n var self = this;\\n function AppViewModel() {\\n for (var key in json_data) {\\n var el = json_data[key];\\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\\n }\\n \\n \\n [this[\\\"changes\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"changes\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0\\\",\\\"id\\\":\\\"ob_12\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"changes\\\"]=false}),self),this[\\\"value\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"value\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"value\\\",\\\"scope\\\":\\\"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0\\\",\\\"id\\\":\\\"ob_11\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"value\\\"]=false}),self)]\\n \\n }\\n self.model = new AppViewModel();\\n self.valueFromJulia = {};\\n for (var key in json_data) {\\n self.valueFromJulia[key] = false;\\n }\\n ko.applyBindings(self.model, self.dom);\\n}\\n\")]),\"changes\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"changes\\\"]()) ? (this.valueFromJulia[\\\"changes\\\"]=true, this.model[\\\"changes\\\"](val)) : undefined})\")],\"value\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"value\\\"]()) ? (this.valueFromJulia[\\\"value\\\"]=true, this.model[\\\"value\\\"](val)) : undefined})\")]), ConnectionPool(Channel{Any}(sz_max:9223372036854775807,sz_curr:3), Set(AbstractConnection[]), Channel{AbstractConnection}(sz_max:32,sz_curr:0))), ##52#53{#dom#15{##dom#13#14{Dict{Any,Any},DOM}},typeof(scope)}(#dom#15{##dom#13#14{Dict{Any,Any},DOM}}(##dom#13#14{Dict{Any,Any},DOM}(Dict{Any,Any}(:className=>\"field\"), DOM(:html, :div))), scope)),:θ=>Widget{:slider,Float64}(OrderedDict{Symbol,Any}(:changes=>Observable{Int64} with 1 listeners. Value:\n", "0,:index=>Observable{Any} with 2 listeners. Value:\n", "6,:formatted_vals=>Observable{Any} with 1 listeners. Value:\n", "[\"0.0\", \"0.1\", \"0.2\", \"0.3\", \"0.4\", \"0.5\", \"0.6\", \"0.7\", \"0.8\", \"0.9\", \"1.0\"],:formatted_value=>Observable{String} with 1 listeners. Value:\n", "\"0.5\",:value=>Observable{Float64} with 2 listeners. Value:\n", "0.5), Observable{Float64} with 2 listeners. Value:\n", "0.5, Scope(\"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4\", Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :label), Any[\"θ\"], Dict{Symbol,Any}(:className=>\"interact \",:style=>Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\")), 1)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-left\")), 2), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :input), Any[], Dict{Symbol,Any}(:max=>11,:min=>1,:attributes=>Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change : function () {this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\"),:step=>1,:className=>\"slider slider is-fullwidth\",:style=>Dict{Any,Any}()), 0)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-center\")), 1), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :p), Any[], Dict{Symbol,Any}(:attributes=>Dict(\"data-bind\"=>\"text: formatted_value\")), 0)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-right\")), 1)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row\")), 7), Dict{String,Tuple{Observables.AbstractObservable,Union{Nothing, Bool}}}(\"formatted_vals\"=>(Observable{Any} with 1 listeners. Value:\n", "[\"0.0\", \"0.1\", \"0.2\", \"0.3\", \"0.4\", \"0.5\", \"0.6\", \"0.7\", \"0.8\", \"0.9\", \"1.0\"], nothing),\"changes\"=>(Observable{Int64} with 1 listeners. Value:\n", "0, nothing),\"formatted_value\"=>(Observable{String} with 1 listeners. Value:\n", "\"0.5\", nothing),\"index\"=>(Observable{Any} with 2 listeners. Value:\n", "6, nothing)), Set(String[]), nothing, Any[\"knockout\"=>\"/Users/bert/.julia/packages/Knockout/JIqpG/src/../assets/knockout.js\", \"knockout_punches\"=>\"/Users/bert/.julia/packages/Knockout/JIqpG/src/../assets/knockout_punches.js\", \"/Users/bert/.julia/packages/InteractBase/3SqBl/src/../assets/all.js\", \"/Users/bert/.julia/packages/InteractBase/3SqBl/src/../assets/style.css\", \"/Users/bert/.julia/packages/InteractBulma/Ohu5Y/src/../assets/main.css\"], Dict{Any,Any}(\"formatted_vals\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"formatted_vals\\\"]()) ? (this.valueFromJulia[\\\"formatted_vals\\\"]=true, this.model[\\\"formatted_vals\\\"](val)) : undefined})\")],\"_promises\"=>Dict{Any,Any}(\"importsLoaded\"=>Any[JSString(\"function (ko, koPunches) {\\n ko.punches.enableAll();\\n ko.bindingHandlers.numericValue = {\\n init : function(element, valueAccessor, allBindings, data, context) {\\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\\n stringified.subscribe(function(value) {\\n var val = parseFloat(value);\\n if (!isNaN(val)) {\\n valueAccessor()(val);\\n }\\n })\\n valueAccessor().subscribe(function(value) {\\n var str = JSON.stringify(value);\\n if ((str == \\\"0\\\") && ([\\\"-0\\\", \\\"-0.\\\"].indexOf(stringified()) >= 0))\\n return;\\n if ([\\\"null\\\", \\\"\\\"].indexOf(str) >= 0)\\n return;\\n stringified(str);\\n })\\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\\n }\\n };\\n var json_data = JSON.parse(\\\"{\\\\\\\"formatted_vals\\\\\\\":[\\\\\\\"0.0\\\\\\\",\\\\\\\"0.1\\\\\\\",\\\\\\\"0.2\\\\\\\",\\\\\\\"0.3\\\\\\\",\\\\\\\"0.4\\\\\\\",\\\\\\\"0.5\\\\\\\",\\\\\\\"0.6\\\\\\\",\\\\\\\"0.7\\\\\\\",\\\\\\\"0.8\\\\\\\",\\\\\\\"0.9\\\\\\\",\\\\\\\"1.0\\\\\\\"],\\\\\\\"changes\\\\\\\":0,\\\\\\\"formatted_value\\\\\\\":\\\\\\\"0.5\\\\\\\",\\\\\\\"index\\\\\\\":6}\\\");\\n var self = this;\\n function AppViewModel() {\\n for (var key in json_data) {\\n var el = json_data[key];\\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\\n }\\n \\n \\n [this[\\\"formatted_vals\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"formatted_vals\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"formatted_vals\\\",\\\"scope\\\":\\\"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4\\\",\\\"id\\\":\\\"ob_15\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"formatted_vals\\\"]=false}),self),this[\\\"changes\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"changes\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4\\\",\\\"id\\\":\\\"ob_17\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"changes\\\"]=false}),self),this[\\\"formatted_value\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"formatted_value\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"formatted_value\\\",\\\"scope\\\":\\\"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4\\\",\\\"id\\\":\\\"ob_16\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"formatted_value\\\"]=false}),self),this[\\\"index\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"index\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4\\\",\\\"id\\\":\\\"ob_14\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"index\\\"]=false}),self)]\\n \\n }\\n self.model = new AppViewModel();\\n self.valueFromJulia = {};\\n for (var key in json_data) {\\n self.valueFromJulia[key] = false;\\n }\\n ko.applyBindings(self.model, self.dom);\\n}\\n\")]),\"changes\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"changes\\\"]()) ? (this.valueFromJulia[\\\"changes\\\"]=true, this.model[\\\"changes\\\"](val)) : undefined})\")],\"formatted_value\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"formatted_value\\\"]()) ? (this.valueFromJulia[\\\"formatted_value\\\"]=true, this.model[\\\"formatted_value\\\"](val)) : undefined})\")],\"index\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"index\\\"]()) ? (this.valueFromJulia[\\\"index\\\"]=true, this.model[\\\"index\\\"](val)) : undefined})\"), JSString(\"(function (val){return WebIO.setval({\\\"name\\\":\\\"formatted_value\\\",\\\"scope\\\":\\\"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4\\\",\\\"id\\\":\\\"ob_16\\\",\\\"type\\\":\\\"observable\\\"},WebIO.getval({\\\"name\\\":\\\"formatted_vals\\\",\\\"scope\\\":\\\"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4\\\",\\\"id\\\":\\\"ob_15\\\",\\\"type\\\":\\\"observable\\\"})[(WebIO.getval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-4c616732-3ed4-4a12-ba19-997bb9deb0b4\\\",\\\"id\\\":\\\"ob_14\\\",\\\"type\\\":\\\"observable\\\"})-1)])})\")]), ConnectionPool(Channel{Any}(sz_max:9223372036854775807,sz_curr:4), Set(AbstractConnection[]), Channel{AbstractConnection}(sz_max:32,sz_curr:0))), ##52#53{#dom#15{##dom#13#14{Dict{Any,Any},DOM}},typeof(scope)}(#dom#15{##dom#13#14{Dict{Any,Any},DOM}}(##dom#13#14{Dict{Any,Any},DOM}(Dict{Any,Any}(:className=>\"field\"), DOM(:html, :div))), scope))), Observable{Any} with 0 listeners. Value:\n", "Figure(PyObject
), nothing, getfield(Main, Symbol(\"##11#14\")){Observable{Any}}(Observable{Any} with 0 listeners. Value:\n", "Figure(PyObject
)))" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "using Reactive, Interact, PyPlot\n", "p(y,θ) = θ.^y .* (1 .- θ).^(1 .- y)\n", "f = figure()\n", "@manipulate for y=false, θ=0:0.1:1; withfig(f) do\n", " # Plot the sampling distribution\n", " subplot(221); stem([0,1], p([0,1],θ)); \n", " title(\"Sampling distribution\"); \n", " xlim([-0.5,1.5]); ylim([0,1]); xlabel(\"y\"); ylabel(\"p(y|θ=$(θ))\");\n", " # Plot the likelihood function\n", " _θ = range(0.0, stop=1.0, length=100)\n", " subplot(222); plot(_θ, p(convert(Float64,y), _θ)); \n", " title(\"Likelihood function\"); \n", " xlabel(\"θ\"); \n", " ylabel(\"L(θ) = p(y=$(convert(Float64,y))|θ)\");\n", " end\n", "end" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The (discrete) sampling distribution is a valid probability distribution. \n", "However, the likelihood function $L(\\theta)$ clearly isn't, since $\\int_0^1 L(\\theta) \\mathrm{d}\\theta \\neq 1$. \n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Probabilistic Inference\n", "\n", "- **Probabilistic inference** refers to computing\n", "$$\n", "p(\\,\\text{whatever-we-want-to-know}\\, | \\,\\text{whatever-we-already-know}\\,)\n", "$$\n", " - For example: \n", " $$\\begin{align*}\n", " p(\\,\\text{Mr.S.-killed-Mrs.S.} \\;&|\\; \\text{he-has-her-blood-on-his-shirt}\\,) \\\\\n", " p(\\,\\text{transmitted-codeword} \\;&|\\;\\text{received-codeword}\\,) \n", " \\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- This can be accomplished by repeated application of sum and product rules." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- For instance, consider a joint distribution $p(X,Y,Z)$. Assume we are interested in $p(X|Z)$:\n", "$$\\begin{align*}\n", "p(X|Z) \\stackrel{p}{=} \\frac{p(X,Z)}{p(Z)} \\stackrel{s}{=} \\frac{\\sum_Y p(X,Y,Z)}{\\sum_{X,Y} p(X,Y,Z)} \\,,\n", "\\end{align*}$$\n", "where the 's' and 'p' above the equality sign indicate whether the sum or product rule was used. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In the rest of this course, we'll encounter many long probabilistic derivations. For each manipulation, you should be able to associate an 's' (for sum rule), a 'p' (for product or Bayes rule) or an 'a' (for a model assumption) above any equality sign. If you can't do that, file a github issue :) " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Working out the example problem: Disease Diagnosis\n", "\n", "- [Question] - Given a disease $D$ with prevalence of $1\\%$ and a test procedure $T$ with sensitivity ('true positive' rate) of $95\\%$ and specificity ('true negative' rate) of $85\\%$, what is the chance that somebody who tests positive actually has the disease?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- [Answer] - The given data are $p(D=1)=0.01$, $p(T=1|D=1)=0.95$ and $p(T=0|D=0)=0.85$. Then according to Bayes rule,\n", "\n", "$$\\begin{align*}\n", "p( D=1 &| T=1) \\\\\n", "&= \\frac{p(T=1|D=1)p(D=1)}{p(T=1)} \\\\\n", "&= \\frac{p(T=1|D=1)p(D=1)}{p(T=1|D=1)p(D=1)+p(T=1|D=0)p(D=0)} \\\\\n", "&= \\frac{0.95\\times0.01}{0.95\\times0.01 + 0.15\\times0.99} = 0.0601\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Inference Exercise: Bag Counter\n", "\n", "- [Question] - A bag contains one ball, known to be either white or black. A white ball is put in, the bag is shaken,\n", " and a ball is drawn out, which proves to be white. What is now the\n", " chance of drawing a white ball?\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- [Answer] - Again, use Bayes and marginalization to arrive at $p(\\text{white}|\\text{data})=2/3$, see homework exercise\n", "\n", "- $\\Rightarrow$ Note that probabilities describe **a person's state of knowledge** rather than a 'property of nature'." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- [Excercise] - Is a speech signal a 'probabilistic' (random) or a deterministic signal? " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Inference Exercise: Causality?\n", "\n", "- [Question] - A dark bag contains five red balls and seven green ones. (a) What is the probability of drawing a red ball on the first draw? Balls are not returned to the bag after each draw. (b) If you know that on the second draw the ball was a green one, what is now the probability of drawing a red ball on the first draw?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- [Answer] - (a) $5/12$. (b) $5/11$, see homework.\n", "\n", "- $\\Rightarrow$ Again, we conclude that conditional probabilities reflect **implications for a state of knowledge** rather than temporal causality." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### PDF for the Sum of Two Variables\n", "\n", "- [Question] - Given two random **independent** variables\n", "$X$ and $Y$, with PDF's $p_x(x)$ and $p_y(y)$. What is the PDF of \n", "$$Z = X + Y\\;?$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- [Answer] - Let $p_z(z)$ be the probability that $Z$ has value $z$. This occurs if $X$ has some value $x$ and at the same time $Y=z-x$, with joint probability $p_x(x)p_y(z-x)$. Since $x$ can be any value, we sum over all possible values for $x$ to get\n", "$$\n", "p_z (z) = \\int_{ - \\infty }^\\infty {p_x (x)p_y (z - x)\\,\\mathrm{d}{x}}\n", "$$ \n", " - I.o.w., $p_z(z)$ is the **convolution** of $p_x$ and $p_y$.\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ " \n", "- Note that $p_z(z) \\neq p_x(x) + p_y(y)\\,$ !!" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- $\\Rightarrow$ In linear stochastic systems theory, the Fourier Transform of a PDF (i.e., the characteristic function) plays an important computational role." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- [This list](https://en.wikipedia.org/wiki/List_of_convolutions_of_probability_distributions) shows how these convolutions work out for a few common probability distributions. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "#### CODE EXAMPLE\n", "\n", "- Consider the PDF of the sum of two independent Gaussians $X$ and $Y$:\n", "\n", "$$\\begin{align*}\n", "p_X(x) &= \\mathcal{N}(\\,x\\,|\\,\\mu_X,\\sigma_X^2\\,) \\\\ \n", "p_Y(y) &= \\mathcal{N}(\\,y\\,|\\,\\mu_Y,\\sigma_Y^2\\,) \\\\\n", "Z &= X + Y\n", "\\end{align*}$$\n", "\n", "- Performing the convolution (nice exercise) yields a Gaussian PDF for $Z$: \n", "\n", "$$\n", "p_Z(z) = \\mathcal{N}(\\,z\\,|\\,\\mu_X+\\mu_Y,\\sigma_X^2+\\sigma_Y^2\\,).\n", "$$" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/html": [ " \n" ], "text/plain": [ "HTML{String}(\" \\n\")" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "HTML{String}(\"\")" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "HTML{String}(\"\")" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ " \n" ], "text/plain": [ "HTML{String}(\" \\n\")" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "
\n", "WebIO.mount(this.previousSibling,{"props":{},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"className":"field"},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{},"nodeType":"Scope","type":"node","instanceArgs":{"imports":{"data":[{"name":"knockout","type":"js","url":"/assetserver/88bf0b823d344fcff0b77616d12840286b6c8fa3-knockout.js"},{"name":"knockout_punches","type":"js","url":"/assetserver/2bd5b097e96d6b4fb8b3b86c01ec3eb6f00ba8bc-knockout_punches.js"},{"name":null,"type":"js","url":"/assetserver/33fc17ead5d6c83c74b2449f7c19558c51387837-all.js"},{"name":null,"type":"css","url":"/assetserver/f0f1a82ab037979b58e3919f91c0a1436c2b13ea-style.css"},{"name":null,"type":"css","url":"/assetserver/84fa6bb423ab1a438691a358fbcb123d0820e96c-main.css"}],"type":"async_block"},"id":"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1","handlers":{"formatted_vals":[(function (val){return (val!=this.model["formatted_vals"]()) ? (this.valueFromJulia["formatted_vals"]=true, this.model["formatted_vals"](val)) : undefined})],"_promises":{"importsLoaded":[function (ko, koPunches) {\n", " ko.punches.enableAll();\n", " ko.bindingHandlers.numericValue = {\n", " init : function(element, valueAccessor, allBindings, data, context) {\n", " var stringified = ko.observable(ko.unwrap(valueAccessor()));\n", " stringified.subscribe(function(value) {\n", " var val = parseFloat(value);\n", " if (!isNaN(val)) {\n", " valueAccessor()(val);\n", " }\n", " })\n", " valueAccessor().subscribe(function(value) {\n", " var str = JSON.stringify(value);\n", " if ((str == "0") && (["-0", "-0."].indexOf(stringified()) >= 0))\n", " return;\n", " if (["null", ""].indexOf(str) >= 0)\n", " return;\n", " stringified(str);\n", " })\n", " ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n", " }\n", " };\n", " var json_data = JSON.parse("{\\"formatted_vals\\":[\\"0.0\\",\\"0.1\\",\\"0.2\\",\\"0.3\\",\\"0.4\\",\\"0.5\\",\\"0.6\\",\\"0.7\\",\\"0.8\\",\\"0.9\\",\\"1.0\\",\\"1.1\\",\\"1.2\\",\\"1.3\\",\\"1.4\\",\\"1.5\\",\\"1.6\\",\\"1.7\\",\\"1.8\\",\\"1.9\\",\\"2.0\\",\\"2.1\\",\\"2.2\\",\\"2.3\\",\\"2.4\\",\\"2.5\\",\\"2.6\\",\\"2.7\\",\\"2.8\\",\\"2.9\\",\\"3.0\\",\\"3.1\\",\\"3.2\\",\\"3.3\\",\\"3.4\\",\\"3.5\\",\\"3.6\\",\\"3.7\\",\\"3.8\\",\\"3.9\\",\\"4.0\\"],\\"changes\\":0,\\"formatted_value\\":\\"2.0\\",\\"index\\":21}");\n", " var self = this;\n", " function AppViewModel() {\n", " for (var key in json_data) {\n", " var el = json_data[key];\n", " this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n", " }\n", " \n", " \n", " [this["formatted_vals"].subscribe((function (val){!(this.valueFromJulia["formatted_vals"]) ? (WebIO.setval({"name":"formatted_vals","scope":"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1","id":"ob_03","type":"observable"},val)) : undefined; return this.valueFromJulia["formatted_vals"]=false}),self),this["changes"].subscribe((function (val){!(this.valueFromJulia["changes"]) ? (WebIO.setval({"name":"changes","scope":"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1","id":"ob_05","type":"observable"},val)) : undefined; return this.valueFromJulia["changes"]=false}),self),this["formatted_value"].subscribe((function (val){!(this.valueFromJulia["formatted_value"]) ? (WebIO.setval({"name":"formatted_value","scope":"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1","id":"ob_04","type":"observable"},val)) : undefined; return this.valueFromJulia["formatted_value"]=false}),self),this["index"].subscribe((function (val){!(this.valueFromJulia["index"]) ? (WebIO.setval({"name":"index","scope":"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1","id":"ob_02","type":"observable"},val)) : undefined; return this.valueFromJulia["index"]=false}),self)]\n", " \n", " }\n", " self.model = new AppViewModel();\n", " self.valueFromJulia = {};\n", " for (var key in json_data) {\n", " self.valueFromJulia[key] = false;\n", " }\n", " ko.applyBindings(self.model, self.dom);\n", "}\n", "]},"changes":[(function (val){return (val!=this.model["changes"]()) ? (this.valueFromJulia["changes"]=true, this.model["changes"](val)) : undefined})],"formatted_value":[(function (val){return (val!=this.model["formatted_value"]()) ? (this.valueFromJulia["formatted_value"]=true, this.model["formatted_value"](val)) : undefined})],"index":[(function (val){return (val!=this.model["index"]()) ? (this.valueFromJulia["index"]=true, this.model["index"](val)) : undefined}),(function (val){return WebIO.setval({"name":"formatted_value","scope":"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1","id":"ob_04","type":"observable"},WebIO.getval({"name":"formatted_vals","scope":"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1","id":"ob_03","type":"observable"})[(WebIO.getval({"name":"index","scope":"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1","id":"ob_02","type":"observable"})-1)])})]},"systemjs_options":null,"observables":{"formatted_vals":{"sync":false,"id":"ob_03","value":["0.0","0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0","1.1","1.2","1.3","1.4","1.5","1.6","1.7","1.8","1.9","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","3.0","3.1","3.2","3.3","3.4","3.5","3.6","3.7","3.8","3.9","4.0"]},"changes":{"sync":false,"id":"ob_05","value":0},"formatted_value":{"sync":false,"id":"ob_04","value":"2.0"},"index":{"sync":true,"id":"ob_02","value":21}}},"children":[{"props":{"attributes":{"class":"interact-flex-row"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"attributes":{"class":"interact-flex-row-left"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"className":"interact ","style":{"padding":"5px 10px 0px 10px"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"label"},"children":["μx"]}]},{"props":{"attributes":{"class":"interact-flex-row-center"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"max":41,"min":1,"attributes":{"type":"range","data-bind":"numericValue: index, valueUpdate: 'input', event: {change : function () {this.changes(this.changes()+1)}}","orient":"horizontal"},"step":1,"className":"slider slider is-fullwidth","style":{}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"input"},"children":[]}]},{"props":{"attributes":{"class":"interact-flex-row-right"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"attributes":{"data-bind":"text: formatted_value"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"p"},"children":[]}]}]}]}]},{"props":{"className":"field"},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{},"nodeType":"Scope","type":"node","instanceArgs":{"imports":{"data":[{"name":"knockout","type":"js","url":"/assetserver/88bf0b823d344fcff0b77616d12840286b6c8fa3-knockout.js"},{"name":"knockout_punches","type":"js","url":"/assetserver/2bd5b097e96d6b4fb8b3b86c01ec3eb6f00ba8bc-knockout_punches.js"},{"name":null,"type":"js","url":"/assetserver/33fc17ead5d6c83c74b2449f7c19558c51387837-all.js"},{"name":null,"type":"css","url":"/assetserver/f0f1a82ab037979b58e3919f91c0a1436c2b13ea-style.css"},{"name":null,"type":"css","url":"/assetserver/84fa6bb423ab1a438691a358fbcb123d0820e96c-main.css"}],"type":"async_block"},"id":"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce","handlers":{"formatted_vals":[(function (val){return (val!=this.model["formatted_vals"]()) ? (this.valueFromJulia["formatted_vals"]=true, this.model["formatted_vals"](val)) : undefined})],"_promises":{"importsLoaded":[function (ko, koPunches) {\n", " ko.punches.enableAll();\n", " ko.bindingHandlers.numericValue = {\n", " init : function(element, valueAccessor, allBindings, data, context) {\n", " var stringified = ko.observable(ko.unwrap(valueAccessor()));\n", " stringified.subscribe(function(value) {\n", " var val = parseFloat(value);\n", " if (!isNaN(val)) {\n", " valueAccessor()(val);\n", " }\n", " })\n", " valueAccessor().subscribe(function(value) {\n", " var str = JSON.stringify(value);\n", " if ((str == "0") && (["-0", "-0."].indexOf(stringified()) >= 0))\n", " return;\n", " if (["null", ""].indexOf(str) >= 0)\n", " return;\n", " stringified(str);\n", " })\n", " ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n", " }\n", " };\n", " var json_data = JSON.parse("{\\"formatted_vals\\":[\\"0.1\\",\\"0.2\\",\\"0.3\\",\\"0.4\\",\\"0.5\\",\\"0.6\\",\\"0.7\\",\\"0.8\\",\\"0.9\\",\\"1.0\\",\\"1.1\\",\\"1.2\\",\\"1.3\\",\\"1.4\\",\\"1.5\\",\\"1.6\\",\\"1.7\\",\\"1.8\\",\\"1.9\\"],\\"changes\\":0,\\"formatted_value\\":\\"1.0\\",\\"index\\":10}");\n", " var self = this;\n", " function AppViewModel() {\n", " for (var key in json_data) {\n", " var el = json_data[key];\n", " this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n", " }\n", " \n", " \n", " [this["formatted_vals"].subscribe((function (val){!(this.valueFromJulia["formatted_vals"]) ? (WebIO.setval({"name":"formatted_vals","scope":"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce","id":"ob_08","type":"observable"},val)) : undefined; return this.valueFromJulia["formatted_vals"]=false}),self),this["changes"].subscribe((function (val){!(this.valueFromJulia["changes"]) ? (WebIO.setval({"name":"changes","scope":"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce","id":"ob_10","type":"observable"},val)) : undefined; return this.valueFromJulia["changes"]=false}),self),this["formatted_value"].subscribe((function (val){!(this.valueFromJulia["formatted_value"]) ? (WebIO.setval({"name":"formatted_value","scope":"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce","id":"ob_09","type":"observable"},val)) : undefined; return this.valueFromJulia["formatted_value"]=false}),self),this["index"].subscribe((function (val){!(this.valueFromJulia["index"]) ? (WebIO.setval({"name":"index","scope":"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce","id":"ob_07","type":"observable"},val)) : undefined; return this.valueFromJulia["index"]=false}),self)]\n", " \n", " }\n", " self.model = new AppViewModel();\n", " self.valueFromJulia = {};\n", " for (var key in json_data) {\n", " self.valueFromJulia[key] = false;\n", " }\n", " ko.applyBindings(self.model, self.dom);\n", "}\n", "]},"changes":[(function (val){return (val!=this.model["changes"]()) ? (this.valueFromJulia["changes"]=true, this.model["changes"](val)) : undefined})],"formatted_value":[(function (val){return (val!=this.model["formatted_value"]()) ? (this.valueFromJulia["formatted_value"]=true, this.model["formatted_value"](val)) : undefined})],"index":[(function (val){return (val!=this.model["index"]()) ? (this.valueFromJulia["index"]=true, this.model["index"](val)) : undefined}),(function (val){return WebIO.setval({"name":"formatted_value","scope":"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce","id":"ob_09","type":"observable"},WebIO.getval({"name":"formatted_vals","scope":"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce","id":"ob_08","type":"observable"})[(WebIO.getval({"name":"index","scope":"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce","id":"ob_07","type":"observable"})-1)])})]},"systemjs_options":null,"observables":{"formatted_vals":{"sync":false,"id":"ob_08","value":["0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0","1.1","1.2","1.3","1.4","1.5","1.6","1.7","1.8","1.9"]},"changes":{"sync":false,"id":"ob_10","value":0},"formatted_value":{"sync":false,"id":"ob_09","value":"1.0"},"index":{"sync":true,"id":"ob_07","value":10}}},"children":[{"props":{"attributes":{"class":"interact-flex-row"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"attributes":{"class":"interact-flex-row-left"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"className":"interact ","style":{"padding":"5px 10px 0px 10px"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"label"},"children":["σx"]}]},{"props":{"attributes":{"class":"interact-flex-row-center"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"max":19,"min":1,"attributes":{"type":"range","data-bind":"numericValue: index, valueUpdate: 'input', event: {change : function () {this.changes(this.changes()+1)}}","orient":"horizontal"},"step":1,"className":"slider slider is-fullwidth","style":{}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"input"},"children":[]}]},{"props":{"attributes":{"class":"interact-flex-row-right"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"attributes":{"data-bind":"text: formatted_value"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"p"},"children":[]}]}]}]}]},{"props":{"className":"field"},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{},"nodeType":"Scope","type":"node","instanceArgs":{"imports":{"data":[{"name":"knockout","type":"js","url":"/assetserver/88bf0b823d344fcff0b77616d12840286b6c8fa3-knockout.js"},{"name":"knockout_punches","type":"js","url":"/assetserver/2bd5b097e96d6b4fb8b3b86c01ec3eb6f00ba8bc-knockout_punches.js"},{"name":null,"type":"js","url":"/assetserver/33fc17ead5d6c83c74b2449f7c19558c51387837-all.js"},{"name":null,"type":"css","url":"/assetserver/f0f1a82ab037979b58e3919f91c0a1436c2b13ea-style.css"},{"name":null,"type":"css","url":"/assetserver/84fa6bb423ab1a438691a358fbcb123d0820e96c-main.css"}],"type":"async_block"},"id":"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357","handlers":{"formatted_vals":[(function (val){return (val!=this.model["formatted_vals"]()) ? (this.valueFromJulia["formatted_vals"]=true, this.model["formatted_vals"](val)) : undefined})],"_promises":{"importsLoaded":[function (ko, koPunches) {\n", " ko.punches.enableAll();\n", " ko.bindingHandlers.numericValue = {\n", " init : function(element, valueAccessor, allBindings, data, context) {\n", " var stringified = ko.observable(ko.unwrap(valueAccessor()));\n", " stringified.subscribe(function(value) {\n", " var val = parseFloat(value);\n", " if (!isNaN(val)) {\n", " valueAccessor()(val);\n", " }\n", " })\n", " valueAccessor().subscribe(function(value) {\n", " var str = JSON.stringify(value);\n", " if ((str == "0") && (["-0", "-0."].indexOf(stringified()) >= 0))\n", " return;\n", " if (["null", ""].indexOf(str) >= 0)\n", " return;\n", " stringified(str);\n", " })\n", " ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n", " }\n", " };\n", " var json_data = JSON.parse("{\\"formatted_vals\\":[\\"0.0\\",\\"0.1\\",\\"0.2\\",\\"0.3\\",\\"0.4\\",\\"0.5\\",\\"0.6\\",\\"0.7\\",\\"0.8\\",\\"0.9\\",\\"1.0\\",\\"1.1\\",\\"1.2\\",\\"1.3\\",\\"1.4\\",\\"1.5\\",\\"1.6\\",\\"1.7\\",\\"1.8\\",\\"1.9\\",\\"2.0\\",\\"2.1\\",\\"2.2\\",\\"2.3\\",\\"2.4\\",\\"2.5\\",\\"2.6\\",\\"2.7\\",\\"2.8\\",\\"2.9\\",\\"3.0\\",\\"3.1\\",\\"3.2\\",\\"3.3\\",\\"3.4\\",\\"3.5\\",\\"3.6\\",\\"3.7\\",\\"3.8\\",\\"3.9\\",\\"4.0\\"],\\"changes\\":0,\\"formatted_value\\":\\"2.0\\",\\"index\\":21}");\n", " var self = this;\n", " function AppViewModel() {\n", " for (var key in json_data) {\n", " var el = json_data[key];\n", " this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n", " }\n", " \n", " \n", " [this["formatted_vals"].subscribe((function (val){!(this.valueFromJulia["formatted_vals"]) ? (WebIO.setval({"name":"formatted_vals","scope":"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357","id":"ob_13","type":"observable"},val)) : undefined; return this.valueFromJulia["formatted_vals"]=false}),self),this["changes"].subscribe((function (val){!(this.valueFromJulia["changes"]) ? (WebIO.setval({"name":"changes","scope":"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357","id":"ob_15","type":"observable"},val)) : undefined; return this.valueFromJulia["changes"]=false}),self),this["formatted_value"].subscribe((function (val){!(this.valueFromJulia["formatted_value"]) ? (WebIO.setval({"name":"formatted_value","scope":"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357","id":"ob_14","type":"observable"},val)) : undefined; return this.valueFromJulia["formatted_value"]=false}),self),this["index"].subscribe((function (val){!(this.valueFromJulia["index"]) ? (WebIO.setval({"name":"index","scope":"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357","id":"ob_12","type":"observable"},val)) : undefined; return this.valueFromJulia["index"]=false}),self)]\n", " \n", " }\n", " self.model = new AppViewModel();\n", " self.valueFromJulia = {};\n", " for (var key in json_data) {\n", " self.valueFromJulia[key] = false;\n", " }\n", " ko.applyBindings(self.model, self.dom);\n", "}\n", "]},"changes":[(function (val){return (val!=this.model["changes"]()) ? (this.valueFromJulia["changes"]=true, this.model["changes"](val)) : undefined})],"formatted_value":[(function (val){return (val!=this.model["formatted_value"]()) ? (this.valueFromJulia["formatted_value"]=true, this.model["formatted_value"](val)) : undefined})],"index":[(function (val){return (val!=this.model["index"]()) ? (this.valueFromJulia["index"]=true, this.model["index"](val)) : undefined}),(function (val){return WebIO.setval({"name":"formatted_value","scope":"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357","id":"ob_14","type":"observable"},WebIO.getval({"name":"formatted_vals","scope":"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357","id":"ob_13","type":"observable"})[(WebIO.getval({"name":"index","scope":"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357","id":"ob_12","type":"observable"})-1)])})]},"systemjs_options":null,"observables":{"formatted_vals":{"sync":false,"id":"ob_13","value":["0.0","0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0","1.1","1.2","1.3","1.4","1.5","1.6","1.7","1.8","1.9","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","3.0","3.1","3.2","3.3","3.4","3.5","3.6","3.7","3.8","3.9","4.0"]},"changes":{"sync":false,"id":"ob_15","value":0},"formatted_value":{"sync":false,"id":"ob_14","value":"2.0"},"index":{"sync":true,"id":"ob_12","value":21}}},"children":[{"props":{"attributes":{"class":"interact-flex-row"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"attributes":{"class":"interact-flex-row-left"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"className":"interact ","style":{"padding":"5px 10px 0px 10px"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"label"},"children":["μy"]}]},{"props":{"attributes":{"class":"interact-flex-row-center"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"max":41,"min":1,"attributes":{"type":"range","data-bind":"numericValue: index, valueUpdate: 'input', event: {change : function () {this.changes(this.changes()+1)}}","orient":"horizontal"},"step":1,"className":"slider slider is-fullwidth","style":{}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"input"},"children":[]}]},{"props":{"attributes":{"class":"interact-flex-row-right"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"attributes":{"data-bind":"text: formatted_value"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"p"},"children":[]}]}]}]}]},{"props":{"className":"field"},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{},"nodeType":"Scope","type":"node","instanceArgs":{"imports":{"data":[{"name":"knockout","type":"js","url":"/assetserver/88bf0b823d344fcff0b77616d12840286b6c8fa3-knockout.js"},{"name":"knockout_punches","type":"js","url":"/assetserver/2bd5b097e96d6b4fb8b3b86c01ec3eb6f00ba8bc-knockout_punches.js"},{"name":null,"type":"js","url":"/assetserver/33fc17ead5d6c83c74b2449f7c19558c51387837-all.js"},{"name":null,"type":"css","url":"/assetserver/f0f1a82ab037979b58e3919f91c0a1436c2b13ea-style.css"},{"name":null,"type":"css","url":"/assetserver/84fa6bb423ab1a438691a358fbcb123d0820e96c-main.css"}],"type":"async_block"},"id":"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0","handlers":{"formatted_vals":[(function (val){return (val!=this.model["formatted_vals"]()) ? (this.valueFromJulia["formatted_vals"]=true, this.model["formatted_vals"](val)) : undefined})],"_promises":{"importsLoaded":[function (ko, koPunches) {\n", " ko.punches.enableAll();\n", " ko.bindingHandlers.numericValue = {\n", " init : function(element, valueAccessor, allBindings, data, context) {\n", " var stringified = ko.observable(ko.unwrap(valueAccessor()));\n", " stringified.subscribe(function(value) {\n", " var val = parseFloat(value);\n", " if (!isNaN(val)) {\n", " valueAccessor()(val);\n", " }\n", " })\n", " valueAccessor().subscribe(function(value) {\n", " var str = JSON.stringify(value);\n", " if ((str == "0") && (["-0", "-0."].indexOf(stringified()) >= 0))\n", " return;\n", " if (["null", ""].indexOf(str) >= 0)\n", " return;\n", " stringified(str);\n", " })\n", " ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n", " }\n", " };\n", " var json_data = JSON.parse("{\\"formatted_vals\\":[\\"0.1\\",\\"0.2\\",\\"0.3\\",\\"0.4\\",\\"0.5\\",\\"0.6\\",\\"0.7\\",\\"0.8\\",\\"0.9\\"],\\"changes\\":0,\\"formatted_value\\":\\"0.5\\",\\"index\\":5}");\n", " var self = this;\n", " function AppViewModel() {\n", " for (var key in json_data) {\n", " var el = json_data[key];\n", " this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n", " }\n", " \n", " \n", " [this["formatted_vals"].subscribe((function (val){!(this.valueFromJulia["formatted_vals"]) ? (WebIO.setval({"name":"formatted_vals","scope":"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0","id":"ob_18","type":"observable"},val)) : undefined; return this.valueFromJulia["formatted_vals"]=false}),self),this["changes"].subscribe((function (val){!(this.valueFromJulia["changes"]) ? (WebIO.setval({"name":"changes","scope":"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0","id":"ob_20","type":"observable"},val)) : undefined; return this.valueFromJulia["changes"]=false}),self),this["formatted_value"].subscribe((function (val){!(this.valueFromJulia["formatted_value"]) ? (WebIO.setval({"name":"formatted_value","scope":"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0","id":"ob_19","type":"observable"},val)) : undefined; return this.valueFromJulia["formatted_value"]=false}),self),this["index"].subscribe((function (val){!(this.valueFromJulia["index"]) ? (WebIO.setval({"name":"index","scope":"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0","id":"ob_17","type":"observable"},val)) : undefined; return this.valueFromJulia["index"]=false}),self)]\n", " \n", " }\n", " self.model = new AppViewModel();\n", " self.valueFromJulia = {};\n", " for (var key in json_data) {\n", " self.valueFromJulia[key] = false;\n", " }\n", " ko.applyBindings(self.model, self.dom);\n", "}\n", "]},"changes":[(function (val){return (val!=this.model["changes"]()) ? (this.valueFromJulia["changes"]=true, this.model["changes"](val)) : undefined})],"formatted_value":[(function (val){return (val!=this.model["formatted_value"]()) ? (this.valueFromJulia["formatted_value"]=true, this.model["formatted_value"](val)) : undefined})],"index":[(function (val){return (val!=this.model["index"]()) ? (this.valueFromJulia["index"]=true, this.model["index"](val)) : undefined}),(function (val){return WebIO.setval({"name":"formatted_value","scope":"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0","id":"ob_19","type":"observable"},WebIO.getval({"name":"formatted_vals","scope":"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0","id":"ob_18","type":"observable"})[(WebIO.getval({"name":"index","scope":"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0","id":"ob_17","type":"observable"})-1)])})]},"systemjs_options":null,"observables":{"formatted_vals":{"sync":false,"id":"ob_18","value":["0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9"]},"changes":{"sync":false,"id":"ob_20","value":0},"formatted_value":{"sync":false,"id":"ob_19","value":"0.5"},"index":{"sync":true,"id":"ob_17","value":5}}},"children":[{"props":{"attributes":{"class":"interact-flex-row"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"attributes":{"class":"interact-flex-row-left"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"className":"interact ","style":{"padding":"5px 10px 0px 10px"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"label"},"children":["σy"]}]},{"props":{"attributes":{"class":"interact-flex-row-center"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"max":9,"min":1,"attributes":{"type":"range","data-bind":"numericValue: index, valueUpdate: 'input', event: {change : function () {this.changes(this.changes()+1)}}","orient":"horizontal"},"step":1,"className":"slider slider is-fullwidth","style":{}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"input"},"children":[]}]},{"props":{"attributes":{"class":"interact-flex-row-right"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[{"props":{"attributes":{"data-bind":"text: formatted_value"}},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"p"},"children":[]}]}]}]}]},{"props":{},"nodeType":"Scope","type":"node","instanceArgs":{"imports":{"data":[],"type":"async_block"},"id":"scope-4c616732-3ed4-4a12-ba19-997bb9deb0b4","handlers":{"obs-output":[function (updated_htmlstr) {\n", " var el = this.dom.querySelector("#out");\n", " WebIO.propUtils.setInnerHtml(el, updated_htmlstr);\n", "}]},"systemjs_options":null,"observables":{"obs-output":{"sync":false,"id":"ob_23","value":"<div class='display:none'></div><unsafe-script style='display:none'>\\nWebIO.mount(this.previousSibling,{&quot;props&quot;:{&quot;attributes&quot;:{&quot;class&quot;:&quot;interact-flex-row&quot;}},&quot;nodeType&quot;:&quot;DOM&quot;,&quot;type&quot;:&quot;node&quot;,&quot;instanceArgs&quot;:{&quot;namespace&quot;:&quot;html&quot;,&quot;tag&quot;:&quot;div&quot;},&quot;children&quot;:[{&quot;props&quot;:{&quot;setInnerHtml&quot;:&quot;&lt;img src=&#39;data:image/png;base64,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&#39;&gt;&lt;/img&gt;&quot;},&quot;nodeType&quot;:&quot;DOM&quot;,&quot;type&quot;:&quot;node&quot;,&quot;instanceArgs&quot;:{&quot;namespace&quot;:&quot;html&quot;,&quot;tag&quot;:&quot;div&quot;},&quot;children&quot;:[]}]})</unsafe-script>"}}},"children":[{"props":{"id":"out","setInnerHtml":"<div class='display:none'></div><unsafe-script style='display:none'>\\nWebIO.mount(this.previousSibling,{&quot;props&quot;:{&quot;attributes&quot;:{&quot;class&quot;:&quot;interact-flex-row&quot;}},&quot;nodeType&quot;:&quot;DOM&quot;,&quot;type&quot;:&quot;node&quot;,&quot;instanceArgs&quot;:{&quot;namespace&quot;:&quot;html&quot;,&quot;tag&quot;:&quot;div&quot;},&quot;children&quot;:[{&quot;props&quot;:{&quot;setInnerHtml&quot;:&quot;&lt;img src=&#39;data:image/png;base64,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&#39;&gt;&lt;/img&gt;&quot;},&quot;nodeType&quot;:&quot;DOM&quot;,&quot;type&quot;:&quot;node&quot;,&quot;instanceArgs&quot;:{&quot;namespace&quot;:&quot;html&quot;,&quot;tag&quot;:&quot;div&quot;},&quot;children&quot;:[]}]})</unsafe-script>"},"nodeType":"DOM","type":"node","instanceArgs":{"namespace":"html","tag":"div"},"children":[]}]}]})\n", "
" ], "text/plain": [ "Widget{:manipulate,Any}(OrderedDict{Symbol,Any}(:μx=>Widget{:slider,Float64}(OrderedDict{Symbol,Any}(:changes=>Observable{Int64} with 1 listeners. Value:\n", "0,:index=>Observable{Any} with 2 listeners. Value:\n", "21,:formatted_vals=>Observable{Any} with 1 listeners. Value:\n", "[\"0.0\", \"0.1\", \"0.2\", \"0.3\", \"0.4\", \"0.5\", \"0.6\", \"0.7\", \"0.8\", \"0.9\" … \"3.1\", \"3.2\", \"3.3\", \"3.4\", \"3.5\", \"3.6\", \"3.7\", \"3.8\", \"3.9\", \"4.0\"],:formatted_value=>Observable{String} with 1 listeners. Value:\n", "\"2.0\",:value=>Observable{Float64} with 2 listeners. Value:\n", "2.0), Observable{Float64} with 2 listeners. Value:\n", "2.0, Scope(\"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1\", Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :label), Any[\"μx\"], Dict{Symbol,Any}(:className=>\"interact \",:style=>Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\")), 1)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-left\")), 2), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :input), Any[], Dict{Symbol,Any}(:max=>41,:min=>1,:attributes=>Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change : function () {this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\"),:step=>1,:className=>\"slider slider is-fullwidth\",:style=>Dict{Any,Any}()), 0)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-center\")), 1), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :p), Any[], Dict{Symbol,Any}(:attributes=>Dict(\"data-bind\"=>\"text: formatted_value\")), 0)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-right\")), 1)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row\")), 7), Dict{String,Tuple{Observables.AbstractObservable,Union{Nothing, Bool}}}(\"formatted_vals\"=>(Observable{Any} with 1 listeners. Value:\n", "[\"0.0\", \"0.1\", \"0.2\", \"0.3\", \"0.4\", \"0.5\", \"0.6\", \"0.7\", \"0.8\", \"0.9\" … \"3.1\", \"3.2\", \"3.3\", \"3.4\", \"3.5\", \"3.6\", \"3.7\", \"3.8\", \"3.9\", \"4.0\"], nothing),\"changes\"=>(Observable{Int64} with 1 listeners. Value:\n", "0, nothing),\"formatted_value\"=>(Observable{String} with 1 listeners. Value:\n", "\"2.0\", nothing),\"index\"=>(Observable{Any} with 2 listeners. Value:\n", "21, nothing)), Set(String[]), nothing, Any[\"knockout\"=>\"/Users/bert/.julia/packages/Knockout/JIqpG/src/../assets/knockout.js\", \"knockout_punches\"=>\"/Users/bert/.julia/packages/Knockout/JIqpG/src/../assets/knockout_punches.js\", \"/Users/bert/.julia/packages/InteractBase/3SqBl/src/../assets/all.js\", \"/Users/bert/.julia/packages/InteractBase/3SqBl/src/../assets/style.css\", \"/Users/bert/.julia/packages/InteractBulma/Ohu5Y/src/../assets/main.css\"], Dict{Any,Any}(\"formatted_vals\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"formatted_vals\\\"]()) ? (this.valueFromJulia[\\\"formatted_vals\\\"]=true, this.model[\\\"formatted_vals\\\"](val)) : undefined})\")],\"_promises\"=>Dict{Any,Any}(\"importsLoaded\"=>Any[JSString(\"function (ko, koPunches) {\\n ko.punches.enableAll();\\n ko.bindingHandlers.numericValue = {\\n init : function(element, valueAccessor, allBindings, data, context) {\\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\\n stringified.subscribe(function(value) {\\n var val = parseFloat(value);\\n if (!isNaN(val)) {\\n valueAccessor()(val);\\n }\\n })\\n valueAccessor().subscribe(function(value) {\\n var str = JSON.stringify(value);\\n if ((str == \\\"0\\\") && ([\\\"-0\\\", \\\"-0.\\\"].indexOf(stringified()) >= 0))\\n return;\\n if ([\\\"null\\\", \\\"\\\"].indexOf(str) >= 0)\\n return;\\n stringified(str);\\n })\\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\\n }\\n };\\n var json_data = JSON.parse(\\\"{\\\\\\\"formatted_vals\\\\\\\":[\\\\\\\"0.0\\\\\\\",\\\\\\\"0.1\\\\\\\",\\\\\\\"0.2\\\\\\\",\\\\\\\"0.3\\\\\\\",\\\\\\\"0.4\\\\\\\",\\\\\\\"0.5\\\\\\\",\\\\\\\"0.6\\\\\\\",\\\\\\\"0.7\\\\\\\",\\\\\\\"0.8\\\\\\\",\\\\\\\"0.9\\\\\\\",\\\\\\\"1.0\\\\\\\",\\\\\\\"1.1\\\\\\\",\\\\\\\"1.2\\\\\\\",\\\\\\\"1.3\\\\\\\",\\\\\\\"1.4\\\\\\\",\\\\\\\"1.5\\\\\\\",\\\\\\\"1.6\\\\\\\",\\\\\\\"1.7\\\\\\\",\\\\\\\"1.8\\\\\\\",\\\\\\\"1.9\\\\\\\",\\\\\\\"2.0\\\\\\\",\\\\\\\"2.1\\\\\\\",\\\\\\\"2.2\\\\\\\",\\\\\\\"2.3\\\\\\\",\\\\\\\"2.4\\\\\\\",\\\\\\\"2.5\\\\\\\",\\\\\\\"2.6\\\\\\\",\\\\\\\"2.7\\\\\\\",\\\\\\\"2.8\\\\\\\",\\\\\\\"2.9\\\\\\\",\\\\\\\"3.0\\\\\\\",\\\\\\\"3.1\\\\\\\",\\\\\\\"3.2\\\\\\\",\\\\\\\"3.3\\\\\\\",\\\\\\\"3.4\\\\\\\",\\\\\\\"3.5\\\\\\\",\\\\\\\"3.6\\\\\\\",\\\\\\\"3.7\\\\\\\",\\\\\\\"3.8\\\\\\\",\\\\\\\"3.9\\\\\\\",\\\\\\\"4.0\\\\\\\"],\\\\\\\"changes\\\\\\\":0,\\\\\\\"formatted_value\\\\\\\":\\\\\\\"2.0\\\\\\\",\\\\\\\"index\\\\\\\":21}\\\");\\n var self = this;\\n function AppViewModel() {\\n for (var key in json_data) {\\n var el = json_data[key];\\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\\n }\\n \\n \\n [this[\\\"formatted_vals\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"formatted_vals\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"formatted_vals\\\",\\\"scope\\\":\\\"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1\\\",\\\"id\\\":\\\"ob_03\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"formatted_vals\\\"]=false}),self),this[\\\"changes\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"changes\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1\\\",\\\"id\\\":\\\"ob_05\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"changes\\\"]=false}),self),this[\\\"formatted_value\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"formatted_value\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"formatted_value\\\",\\\"scope\\\":\\\"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1\\\",\\\"id\\\":\\\"ob_04\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"formatted_value\\\"]=false}),self),this[\\\"index\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"index\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1\\\",\\\"id\\\":\\\"ob_02\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"index\\\"]=false}),self)]\\n \\n }\\n self.model = new AppViewModel();\\n self.valueFromJulia = {};\\n for (var key in json_data) {\\n self.valueFromJulia[key] = false;\\n }\\n ko.applyBindings(self.model, self.dom);\\n}\\n\")]),\"changes\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"changes\\\"]()) ? (this.valueFromJulia[\\\"changes\\\"]=true, this.model[\\\"changes\\\"](val)) : undefined})\")],\"formatted_value\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"formatted_value\\\"]()) ? (this.valueFromJulia[\\\"formatted_value\\\"]=true, this.model[\\\"formatted_value\\\"](val)) : undefined})\")],\"index\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"index\\\"]()) ? (this.valueFromJulia[\\\"index\\\"]=true, this.model[\\\"index\\\"](val)) : undefined})\"), JSString(\"(function (val){return WebIO.setval({\\\"name\\\":\\\"formatted_value\\\",\\\"scope\\\":\\\"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1\\\",\\\"id\\\":\\\"ob_04\\\",\\\"type\\\":\\\"observable\\\"},WebIO.getval({\\\"name\\\":\\\"formatted_vals\\\",\\\"scope\\\":\\\"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1\\\",\\\"id\\\":\\\"ob_03\\\",\\\"type\\\":\\\"observable\\\"})[(WebIO.getval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-4ba54b13-d2c1-42a7-80b9-41e2e57dc0e1\\\",\\\"id\\\":\\\"ob_02\\\",\\\"type\\\":\\\"observable\\\"})-1)])})\")]), ConnectionPool(Channel{Any}(sz_max:9223372036854775807,sz_curr:4), Set(AbstractConnection[]), Channel{AbstractConnection}(sz_max:32,sz_curr:0))), ##52#53{#dom#15{##dom#13#14{Dict{Any,Any},DOM}},typeof(scope)}(#dom#15{##dom#13#14{Dict{Any,Any},DOM}}(##dom#13#14{Dict{Any,Any},DOM}(Dict{Any,Any}(:className=>\"field\"), DOM(:html, :div))), scope)),:σx=>Widget{:slider,Float64}(OrderedDict{Symbol,Any}(:changes=>Observable{Int64} with 1 listeners. Value:\n", "0,:index=>Observable{Any} with 2 listeners. Value:\n", "10,:formatted_vals=>Observable{Any} with 1 listeners. Value:\n", "[\"0.1\", \"0.2\", \"0.3\", \"0.4\", \"0.5\", \"0.6\", \"0.7\", \"0.8\", \"0.9\", \"1.0\", \"1.1\", \"1.2\", \"1.3\", \"1.4\", \"1.5\", \"1.6\", \"1.7\", \"1.8\", \"1.9\"],:formatted_value=>Observable{String} with 1 listeners. Value:\n", "\"1.0\",:value=>Observable{Float64} with 2 listeners. Value:\n", "1.0), Observable{Float64} with 2 listeners. Value:\n", "1.0, Scope(\"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce\", Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :label), Any[\"σx\"], Dict{Symbol,Any}(:className=>\"interact \",:style=>Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\")), 1)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-left\")), 2), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :input), Any[], Dict{Symbol,Any}(:max=>19,:min=>1,:attributes=>Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change : function () {this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\"),:step=>1,:className=>\"slider slider is-fullwidth\",:style=>Dict{Any,Any}()), 0)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-center\")), 1), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :p), Any[], Dict{Symbol,Any}(:attributes=>Dict(\"data-bind\"=>\"text: formatted_value\")), 0)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-right\")), 1)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row\")), 7), Dict{String,Tuple{Observables.AbstractObservable,Union{Nothing, Bool}}}(\"formatted_vals\"=>(Observable{Any} with 1 listeners. Value:\n", "[\"0.1\", \"0.2\", \"0.3\", \"0.4\", \"0.5\", \"0.6\", \"0.7\", \"0.8\", \"0.9\", \"1.0\", \"1.1\", \"1.2\", \"1.3\", \"1.4\", \"1.5\", \"1.6\", \"1.7\", \"1.8\", \"1.9\"], nothing),\"changes\"=>(Observable{Int64} with 1 listeners. Value:\n", "0, nothing),\"formatted_value\"=>(Observable{String} with 1 listeners. Value:\n", "\"1.0\", nothing),\"index\"=>(Observable{Any} with 2 listeners. Value:\n", "10, nothing)), Set(String[]), nothing, Any[\"knockout\"=>\"/Users/bert/.julia/packages/Knockout/JIqpG/src/../assets/knockout.js\", \"knockout_punches\"=>\"/Users/bert/.julia/packages/Knockout/JIqpG/src/../assets/knockout_punches.js\", \"/Users/bert/.julia/packages/InteractBase/3SqBl/src/../assets/all.js\", \"/Users/bert/.julia/packages/InteractBase/3SqBl/src/../assets/style.css\", \"/Users/bert/.julia/packages/InteractBulma/Ohu5Y/src/../assets/main.css\"], Dict{Any,Any}(\"formatted_vals\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"formatted_vals\\\"]()) ? (this.valueFromJulia[\\\"formatted_vals\\\"]=true, this.model[\\\"formatted_vals\\\"](val)) : undefined})\")],\"_promises\"=>Dict{Any,Any}(\"importsLoaded\"=>Any[JSString(\"function (ko, koPunches) {\\n ko.punches.enableAll();\\n ko.bindingHandlers.numericValue = {\\n init : function(element, valueAccessor, allBindings, data, context) {\\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\\n stringified.subscribe(function(value) {\\n var val = parseFloat(value);\\n if (!isNaN(val)) {\\n valueAccessor()(val);\\n }\\n })\\n valueAccessor().subscribe(function(value) {\\n var str = JSON.stringify(value);\\n if ((str == \\\"0\\\") && ([\\\"-0\\\", \\\"-0.\\\"].indexOf(stringified()) >= 0))\\n return;\\n if ([\\\"null\\\", \\\"\\\"].indexOf(str) >= 0)\\n return;\\n stringified(str);\\n })\\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\\n }\\n };\\n var json_data = JSON.parse(\\\"{\\\\\\\"formatted_vals\\\\\\\":[\\\\\\\"0.1\\\\\\\",\\\\\\\"0.2\\\\\\\",\\\\\\\"0.3\\\\\\\",\\\\\\\"0.4\\\\\\\",\\\\\\\"0.5\\\\\\\",\\\\\\\"0.6\\\\\\\",\\\\\\\"0.7\\\\\\\",\\\\\\\"0.8\\\\\\\",\\\\\\\"0.9\\\\\\\",\\\\\\\"1.0\\\\\\\",\\\\\\\"1.1\\\\\\\",\\\\\\\"1.2\\\\\\\",\\\\\\\"1.3\\\\\\\",\\\\\\\"1.4\\\\\\\",\\\\\\\"1.5\\\\\\\",\\\\\\\"1.6\\\\\\\",\\\\\\\"1.7\\\\\\\",\\\\\\\"1.8\\\\\\\",\\\\\\\"1.9\\\\\\\"],\\\\\\\"changes\\\\\\\":0,\\\\\\\"formatted_value\\\\\\\":\\\\\\\"1.0\\\\\\\",\\\\\\\"index\\\\\\\":10}\\\");\\n var self = this;\\n function AppViewModel() {\\n for (var key in json_data) {\\n var el = json_data[key];\\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\\n }\\n \\n \\n [this[\\\"formatted_vals\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"formatted_vals\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"formatted_vals\\\",\\\"scope\\\":\\\"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce\\\",\\\"id\\\":\\\"ob_08\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"formatted_vals\\\"]=false}),self),this[\\\"changes\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"changes\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce\\\",\\\"id\\\":\\\"ob_10\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"changes\\\"]=false}),self),this[\\\"formatted_value\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"formatted_value\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"formatted_value\\\",\\\"scope\\\":\\\"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce\\\",\\\"id\\\":\\\"ob_09\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"formatted_value\\\"]=false}),self),this[\\\"index\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"index\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce\\\",\\\"id\\\":\\\"ob_07\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"index\\\"]=false}),self)]\\n \\n }\\n self.model = new AppViewModel();\\n self.valueFromJulia = {};\\n for (var key in json_data) {\\n self.valueFromJulia[key] = false;\\n }\\n ko.applyBindings(self.model, self.dom);\\n}\\n\")]),\"changes\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"changes\\\"]()) ? (this.valueFromJulia[\\\"changes\\\"]=true, this.model[\\\"changes\\\"](val)) : undefined})\")],\"formatted_value\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"formatted_value\\\"]()) ? (this.valueFromJulia[\\\"formatted_value\\\"]=true, this.model[\\\"formatted_value\\\"](val)) : undefined})\")],\"index\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"index\\\"]()) ? (this.valueFromJulia[\\\"index\\\"]=true, this.model[\\\"index\\\"](val)) : undefined})\"), JSString(\"(function (val){return WebIO.setval({\\\"name\\\":\\\"formatted_value\\\",\\\"scope\\\":\\\"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce\\\",\\\"id\\\":\\\"ob_09\\\",\\\"type\\\":\\\"observable\\\"},WebIO.getval({\\\"name\\\":\\\"formatted_vals\\\",\\\"scope\\\":\\\"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce\\\",\\\"id\\\":\\\"ob_08\\\",\\\"type\\\":\\\"observable\\\"})[(WebIO.getval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-b2cdd369-f329-483a-82fb-04f269a831ce\\\",\\\"id\\\":\\\"ob_07\\\",\\\"type\\\":\\\"observable\\\"})-1)])})\")]), ConnectionPool(Channel{Any}(sz_max:9223372036854775807,sz_curr:4), Set(AbstractConnection[]), Channel{AbstractConnection}(sz_max:32,sz_curr:0))), ##52#53{#dom#15{##dom#13#14{Dict{Any,Any},DOM}},typeof(scope)}(#dom#15{##dom#13#14{Dict{Any,Any},DOM}}(##dom#13#14{Dict{Any,Any},DOM}(Dict{Any,Any}(:className=>\"field\"), DOM(:html, :div))), scope)),:μy=>Widget{:slider,Float64}(OrderedDict{Symbol,Any}(:changes=>Observable{Int64} with 1 listeners. Value:\n", "0,:index=>Observable{Any} with 2 listeners. Value:\n", "21,:formatted_vals=>Observable{Any} with 1 listeners. Value:\n", "[\"0.0\", \"0.1\", \"0.2\", \"0.3\", \"0.4\", \"0.5\", \"0.6\", \"0.7\", \"0.8\", \"0.9\" … \"3.1\", \"3.2\", \"3.3\", \"3.4\", \"3.5\", \"3.6\", \"3.7\", \"3.8\", \"3.9\", \"4.0\"],:formatted_value=>Observable{String} with 1 listeners. Value:\n", "\"2.0\",:value=>Observable{Float64} with 2 listeners. Value:\n", "2.0), Observable{Float64} with 2 listeners. Value:\n", "2.0, Scope(\"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357\", Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :label), Any[\"μy\"], Dict{Symbol,Any}(:className=>\"interact \",:style=>Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\")), 1)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-left\")), 2), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :input), Any[], Dict{Symbol,Any}(:max=>41,:min=>1,:attributes=>Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change : function () {this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\"),:step=>1,:className=>\"slider slider is-fullwidth\",:style=>Dict{Any,Any}()), 0)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-center\")), 1), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :p), Any[], Dict{Symbol,Any}(:attributes=>Dict(\"data-bind\"=>\"text: formatted_value\")), 0)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-right\")), 1)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row\")), 7), Dict{String,Tuple{Observables.AbstractObservable,Union{Nothing, Bool}}}(\"formatted_vals\"=>(Observable{Any} with 1 listeners. Value:\n", "[\"0.0\", \"0.1\", \"0.2\", \"0.3\", \"0.4\", \"0.5\", \"0.6\", \"0.7\", \"0.8\", \"0.9\" … \"3.1\", \"3.2\", \"3.3\", \"3.4\", \"3.5\", \"3.6\", \"3.7\", \"3.8\", \"3.9\", \"4.0\"], nothing),\"changes\"=>(Observable{Int64} with 1 listeners. Value:\n", "0, nothing),\"formatted_value\"=>(Observable{String} with 1 listeners. Value:\n", "\"2.0\", nothing),\"index\"=>(Observable{Any} with 2 listeners. Value:\n", "21, nothing)), Set(String[]), nothing, Any[\"knockout\"=>\"/Users/bert/.julia/packages/Knockout/JIqpG/src/../assets/knockout.js\", \"knockout_punches\"=>\"/Users/bert/.julia/packages/Knockout/JIqpG/src/../assets/knockout_punches.js\", \"/Users/bert/.julia/packages/InteractBase/3SqBl/src/../assets/all.js\", \"/Users/bert/.julia/packages/InteractBase/3SqBl/src/../assets/style.css\", \"/Users/bert/.julia/packages/InteractBulma/Ohu5Y/src/../assets/main.css\"], Dict{Any,Any}(\"formatted_vals\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"formatted_vals\\\"]()) ? (this.valueFromJulia[\\\"formatted_vals\\\"]=true, this.model[\\\"formatted_vals\\\"](val)) : undefined})\")],\"_promises\"=>Dict{Any,Any}(\"importsLoaded\"=>Any[JSString(\"function (ko, koPunches) {\\n ko.punches.enableAll();\\n ko.bindingHandlers.numericValue = {\\n init : function(element, valueAccessor, allBindings, data, context) {\\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\\n stringified.subscribe(function(value) {\\n var val = parseFloat(value);\\n if (!isNaN(val)) {\\n valueAccessor()(val);\\n }\\n })\\n valueAccessor().subscribe(function(value) {\\n var str = JSON.stringify(value);\\n if ((str == \\\"0\\\") && ([\\\"-0\\\", \\\"-0.\\\"].indexOf(stringified()) >= 0))\\n return;\\n if ([\\\"null\\\", \\\"\\\"].indexOf(str) >= 0)\\n return;\\n stringified(str);\\n })\\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\\n }\\n };\\n var json_data = JSON.parse(\\\"{\\\\\\\"formatted_vals\\\\\\\":[\\\\\\\"0.0\\\\\\\",\\\\\\\"0.1\\\\\\\",\\\\\\\"0.2\\\\\\\",\\\\\\\"0.3\\\\\\\",\\\\\\\"0.4\\\\\\\",\\\\\\\"0.5\\\\\\\",\\\\\\\"0.6\\\\\\\",\\\\\\\"0.7\\\\\\\",\\\\\\\"0.8\\\\\\\",\\\\\\\"0.9\\\\\\\",\\\\\\\"1.0\\\\\\\",\\\\\\\"1.1\\\\\\\",\\\\\\\"1.2\\\\\\\",\\\\\\\"1.3\\\\\\\",\\\\\\\"1.4\\\\\\\",\\\\\\\"1.5\\\\\\\",\\\\\\\"1.6\\\\\\\",\\\\\\\"1.7\\\\\\\",\\\\\\\"1.8\\\\\\\",\\\\\\\"1.9\\\\\\\",\\\\\\\"2.0\\\\\\\",\\\\\\\"2.1\\\\\\\",\\\\\\\"2.2\\\\\\\",\\\\\\\"2.3\\\\\\\",\\\\\\\"2.4\\\\\\\",\\\\\\\"2.5\\\\\\\",\\\\\\\"2.6\\\\\\\",\\\\\\\"2.7\\\\\\\",\\\\\\\"2.8\\\\\\\",\\\\\\\"2.9\\\\\\\",\\\\\\\"3.0\\\\\\\",\\\\\\\"3.1\\\\\\\",\\\\\\\"3.2\\\\\\\",\\\\\\\"3.3\\\\\\\",\\\\\\\"3.4\\\\\\\",\\\\\\\"3.5\\\\\\\",\\\\\\\"3.6\\\\\\\",\\\\\\\"3.7\\\\\\\",\\\\\\\"3.8\\\\\\\",\\\\\\\"3.9\\\\\\\",\\\\\\\"4.0\\\\\\\"],\\\\\\\"changes\\\\\\\":0,\\\\\\\"formatted_value\\\\\\\":\\\\\\\"2.0\\\\\\\",\\\\\\\"index\\\\\\\":21}\\\");\\n var self = this;\\n function AppViewModel() {\\n for (var key in json_data) {\\n var el = json_data[key];\\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\\n }\\n \\n \\n [this[\\\"formatted_vals\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"formatted_vals\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"formatted_vals\\\",\\\"scope\\\":\\\"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357\\\",\\\"id\\\":\\\"ob_13\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"formatted_vals\\\"]=false}),self),this[\\\"changes\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"changes\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357\\\",\\\"id\\\":\\\"ob_15\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"changes\\\"]=false}),self),this[\\\"formatted_value\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"formatted_value\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"formatted_value\\\",\\\"scope\\\":\\\"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357\\\",\\\"id\\\":\\\"ob_14\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"formatted_value\\\"]=false}),self),this[\\\"index\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"index\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357\\\",\\\"id\\\":\\\"ob_12\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"index\\\"]=false}),self)]\\n \\n }\\n self.model = new AppViewModel();\\n self.valueFromJulia = {};\\n for (var key in json_data) {\\n self.valueFromJulia[key] = false;\\n }\\n ko.applyBindings(self.model, self.dom);\\n}\\n\")]),\"changes\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"changes\\\"]()) ? (this.valueFromJulia[\\\"changes\\\"]=true, this.model[\\\"changes\\\"](val)) : undefined})\")],\"formatted_value\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"formatted_value\\\"]()) ? (this.valueFromJulia[\\\"formatted_value\\\"]=true, this.model[\\\"formatted_value\\\"](val)) : undefined})\")],\"index\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"index\\\"]()) ? (this.valueFromJulia[\\\"index\\\"]=true, this.model[\\\"index\\\"](val)) : undefined})\"), JSString(\"(function (val){return WebIO.setval({\\\"name\\\":\\\"formatted_value\\\",\\\"scope\\\":\\\"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357\\\",\\\"id\\\":\\\"ob_14\\\",\\\"type\\\":\\\"observable\\\"},WebIO.getval({\\\"name\\\":\\\"formatted_vals\\\",\\\"scope\\\":\\\"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357\\\",\\\"id\\\":\\\"ob_13\\\",\\\"type\\\":\\\"observable\\\"})[(WebIO.getval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-88bbf9a3-ff52-44bb-bd21-c461cbdd7357\\\",\\\"id\\\":\\\"ob_12\\\",\\\"type\\\":\\\"observable\\\"})-1)])})\")]), ConnectionPool(Channel{Any}(sz_max:9223372036854775807,sz_curr:4), Set(AbstractConnection[]), Channel{AbstractConnection}(sz_max:32,sz_curr:0))), ##52#53{#dom#15{##dom#13#14{Dict{Any,Any},DOM}},typeof(scope)}(#dom#15{##dom#13#14{Dict{Any,Any},DOM}}(##dom#13#14{Dict{Any,Any},DOM}(Dict{Any,Any}(:className=>\"field\"), DOM(:html, :div))), scope)),:σy=>Widget{:slider,Float64}(OrderedDict{Symbol,Any}(:changes=>Observable{Int64} with 1 listeners. Value:\n", "0,:index=>Observable{Any} with 2 listeners. Value:\n", "5,:formatted_vals=>Observable{Any} with 1 listeners. Value:\n", "[\"0.1\", \"0.2\", \"0.3\", \"0.4\", \"0.5\", \"0.6\", \"0.7\", \"0.8\", \"0.9\"],:formatted_value=>Observable{String} with 1 listeners. Value:\n", "\"0.5\",:value=>Observable{Float64} with 2 listeners. Value:\n", "0.5), Observable{Float64} with 2 listeners. Value:\n", "0.5, Scope(\"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0\", Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :label), Any[\"σy\"], Dict{Symbol,Any}(:className=>\"interact \",:style=>Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\")), 1)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-left\")), 2), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :input), Any[], Dict{Symbol,Any}(:max=>9,:min=>1,:attributes=>Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change : function () {this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\"),:step=>1,:className=>\"slider slider is-fullwidth\",:style=>Dict{Any,Any}()), 0)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-center\")), 1), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :p), Any[], Dict{Symbol,Any}(:attributes=>Dict(\"data-bind\"=>\"text: formatted_value\")), 0)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row-right\")), 1)], Dict{Symbol,Any}(:attributes=>Dict(\"class\"=>\"interact-flex-row\")), 7), Dict{String,Tuple{Observables.AbstractObservable,Union{Nothing, Bool}}}(\"formatted_vals\"=>(Observable{Any} with 1 listeners. Value:\n", "[\"0.1\", \"0.2\", \"0.3\", \"0.4\", \"0.5\", \"0.6\", \"0.7\", \"0.8\", \"0.9\"], nothing),\"changes\"=>(Observable{Int64} with 1 listeners. Value:\n", "0, nothing),\"formatted_value\"=>(Observable{String} with 1 listeners. Value:\n", "\"0.5\", nothing),\"index\"=>(Observable{Any} with 2 listeners. Value:\n", "5, nothing)), Set(String[]), nothing, Any[\"knockout\"=>\"/Users/bert/.julia/packages/Knockout/JIqpG/src/../assets/knockout.js\", \"knockout_punches\"=>\"/Users/bert/.julia/packages/Knockout/JIqpG/src/../assets/knockout_punches.js\", \"/Users/bert/.julia/packages/InteractBase/3SqBl/src/../assets/all.js\", \"/Users/bert/.julia/packages/InteractBase/3SqBl/src/../assets/style.css\", \"/Users/bert/.julia/packages/InteractBulma/Ohu5Y/src/../assets/main.css\"], Dict{Any,Any}(\"formatted_vals\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"formatted_vals\\\"]()) ? (this.valueFromJulia[\\\"formatted_vals\\\"]=true, this.model[\\\"formatted_vals\\\"](val)) : undefined})\")],\"_promises\"=>Dict{Any,Any}(\"importsLoaded\"=>Any[JSString(\"function (ko, koPunches) {\\n ko.punches.enableAll();\\n ko.bindingHandlers.numericValue = {\\n init : function(element, valueAccessor, allBindings, data, context) {\\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\\n stringified.subscribe(function(value) {\\n var val = parseFloat(value);\\n if (!isNaN(val)) {\\n valueAccessor()(val);\\n }\\n })\\n valueAccessor().subscribe(function(value) {\\n var str = JSON.stringify(value);\\n if ((str == \\\"0\\\") && ([\\\"-0\\\", \\\"-0.\\\"].indexOf(stringified()) >= 0))\\n return;\\n if ([\\\"null\\\", \\\"\\\"].indexOf(str) >= 0)\\n return;\\n stringified(str);\\n })\\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\\n }\\n };\\n var json_data = JSON.parse(\\\"{\\\\\\\"formatted_vals\\\\\\\":[\\\\\\\"0.1\\\\\\\",\\\\\\\"0.2\\\\\\\",\\\\\\\"0.3\\\\\\\",\\\\\\\"0.4\\\\\\\",\\\\\\\"0.5\\\\\\\",\\\\\\\"0.6\\\\\\\",\\\\\\\"0.7\\\\\\\",\\\\\\\"0.8\\\\\\\",\\\\\\\"0.9\\\\\\\"],\\\\\\\"changes\\\\\\\":0,\\\\\\\"formatted_value\\\\\\\":\\\\\\\"0.5\\\\\\\",\\\\\\\"index\\\\\\\":5}\\\");\\n var self = this;\\n function AppViewModel() {\\n for (var key in json_data) {\\n var el = json_data[key];\\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\\n }\\n \\n \\n [this[\\\"formatted_vals\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"formatted_vals\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"formatted_vals\\\",\\\"scope\\\":\\\"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0\\\",\\\"id\\\":\\\"ob_18\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"formatted_vals\\\"]=false}),self),this[\\\"changes\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"changes\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0\\\",\\\"id\\\":\\\"ob_20\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"changes\\\"]=false}),self),this[\\\"formatted_value\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"formatted_value\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"formatted_value\\\",\\\"scope\\\":\\\"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0\\\",\\\"id\\\":\\\"ob_19\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"formatted_value\\\"]=false}),self),this[\\\"index\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"index\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0\\\",\\\"id\\\":\\\"ob_17\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"index\\\"]=false}),self)]\\n \\n }\\n self.model = new AppViewModel();\\n self.valueFromJulia = {};\\n for (var key in json_data) {\\n self.valueFromJulia[key] = false;\\n }\\n ko.applyBindings(self.model, self.dom);\\n}\\n\")]),\"changes\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"changes\\\"]()) ? (this.valueFromJulia[\\\"changes\\\"]=true, this.model[\\\"changes\\\"](val)) : undefined})\")],\"formatted_value\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"formatted_value\\\"]()) ? (this.valueFromJulia[\\\"formatted_value\\\"]=true, this.model[\\\"formatted_value\\\"](val)) : undefined})\")],\"index\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"index\\\"]()) ? (this.valueFromJulia[\\\"index\\\"]=true, this.model[\\\"index\\\"](val)) : undefined})\"), JSString(\"(function (val){return WebIO.setval({\\\"name\\\":\\\"formatted_value\\\",\\\"scope\\\":\\\"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0\\\",\\\"id\\\":\\\"ob_19\\\",\\\"type\\\":\\\"observable\\\"},WebIO.getval({\\\"name\\\":\\\"formatted_vals\\\",\\\"scope\\\":\\\"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0\\\",\\\"id\\\":\\\"ob_18\\\",\\\"type\\\":\\\"observable\\\"})[(WebIO.getval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-70b08ae5-558a-45eb-9f83-50461148baa0\\\",\\\"id\\\":\\\"ob_17\\\",\\\"type\\\":\\\"observable\\\"})-1)])})\")]), ConnectionPool(Channel{Any}(sz_max:9223372036854775807,sz_curr:4), Set(AbstractConnection[]), Channel{AbstractConnection}(sz_max:32,sz_curr:0))), ##52#53{#dom#15{##dom#13#14{Dict{Any,Any},DOM}},typeof(scope)}(#dom#15{##dom#13#14{Dict{Any,Any},DOM}}(##dom#13#14{Dict{Any,Any},DOM}(Dict{Any,Any}(:className=>\"field\"), DOM(:html, :div))), scope))), Observable{Any} with 0 listeners. Value:\n", "Figure(PyObject
), nothing, getfield(Main, Symbol(\"##5#8\")){Observable{Any}}(Observable{Any} with 0 listeners. Value:\n", "Figure(PyObject
)))" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "using Reactive, Interact, PyPlot, Distributions\n", "f = figure()\n", "@manipulate for μx=0:0.1:4, σx=0.1:0.1:1.9,μy=0:0.1:4, σy=0.1:0.1:0.9; withfig(f) do\n", " μz = μx+μy; σz = sqrt(σx^2 + σy^2)\n", " x = Normal(μx, σx)\n", " y = Normal(μy, σy)\n", " z = Normal(μz, σz)\n", " range_min = minimum([μx-2*σx, μy-2*σy, μz-2*σz])\n", " range_max = maximum([μx+2*σx, μy+2*σy, μz+2*σz])\n", " range_grid = range(range_min, stop=range_max, length=100)\n", " plot(range_grid, pdf.(x,range_grid), \"k-\")\n", " plot(range_grid, pdf.(y,range_grid), \"b-\")\n", " plot(range_grid, pdf.(z,range_grid), \"r-\")\n", " legend([L\"p_X\", L\"p_Y\", L\"p_Z\"])\n", " grid()\n", " end\n", "end\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### PDF for the Product of Two Variables\n", "\n", "- [Question] - Given two continuous random **independent** variables\n", "$X$ and $Y$, with PDF's $p_x(x)$ and $p_y(y)$. What is the PDF of \n", "$$Z = X Y \\,\\text{?}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- [Answer] - The product distribution $p_z(z)$ for $Z=XY$ is given by \n", "$$\n", "p_z(x) = \\int_{-\\infty}^{\\infty} p_x(x) \\,p_y(z/x)\\, \\frac{1}{|x|}\\,\\mathrm{d}x\n", "$$\n", " - For proof, see [https://en.wikipedia.org/wiki/Product_distribution](https://en.wikipedia.org/wiki/Product_distribution)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Generally, this intergral does not lead to an analytical expression for $p_z(z)$. For example, the product of two independent variables that are both normally (Gaussian) distributed does not lead to a normal distribution." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Exception: the distribution of the product of two variables that both have [log-normal distributions](https://en.wikipedia.org/wiki/Log-normal_distribution) is again a lognormal distribution.\n", " - If $X$ has a normal distribution, then $Y=\\exp(X)$ has a log-normal distribution." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Expectation and Variance\n", "\n", "- The **expected value** or **mean** is defined as \n", "$$\\mathrm{E}[f] \\triangleq \\int f(x) \\,p(x) \\,\\mathrm{d}{x}$$ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The **variance** is defined as \n", "$$\\mathrm{var}[f] \\triangleq \\mathrm{E} \\left[(f(x)-\\mathrm{E}[f(x)])^2 \\right]$$ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The **covariance** matrix between _vectors_ $x$ and $y$ is defined as\n", "$$\\begin{align*}\n", " \\mathrm{cov}[x,y] &\\triangleq \\mathrm{E}\\left[ (x-\\mathrm{E}[x]) (y^T-\\mathrm{E}[y^T]) \\right]\\\\\n", " &= \\mathrm{E}[x y^T] - \\mathrm{E}[x]\\mathrm{E}[y^T]\n", "\\end{align*}$$\n", " - Also useful as: $\\mathrm{E}[xy^T] = \\mathrm{cov}[x,y] + \\mathrm{E}[x]\\mathrm{E}[y^T]$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Example: Mean and Variance for the Sum of Two Variables\n", "\n", "- For any distribution of $x$ and $y$ and $z=x+y$,\n", "\n", "\\begin{align*}\n", " \\mathrm{E}[z] &= \\int_z z \\left[\\int_x p_x(x)p_y(z-x) \\,\\mathrm{d}{x} \\right] \\,\\mathrm{d}{z} \\\\\n", "&= \\int_x p_x(x) \\left[ \\int_z z p_y(z-x)\\,\\mathrm{d}{z} \\right] \\,\\mathrm{d}{x} \\\\\n", " &= \\int_x p_x(x) \\left[ \\int_{y^\\prime} (y^\\prime +x)p_y(y^\\prime)\\,\\mathrm{d}{y^\\prime} \\right] \\,\\mathrm{d}{x} \\notag\\\\\n", "&= \\int_x p_x(x) \\left( \\mathrm{E}[y]+x \\right) \\,\\mathrm{d}{x} \\notag\\\\\n", " &= \\mathrm{E}[x] + \\mathrm{E}[y] \\qquad \\text{(always; follows from SRG-3a)}\n", "\\end{align*}" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Derive as an exercise that\n", "\n", "\\begin{align*}\n", "\\mathrm{var}[z] &= \\mathrm{var}[x] + \\mathrm{var}[y] + 2\\mathrm{cov}[x,y] \\qquad \\text{(always, see SRG-3b)} \\notag\\\\\n", " &= \\mathrm{var}[x] + \\mathrm{var}[y] \\qquad \\text{(if X and Y are independent)}\n", "\\end{align*}" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "\n", "### Linear Transformations\n", "\n", "No matter how $x$ is distributed, we can easily derive that **(do as exercise)**\n", "\n", "$$\\begin{align}\n", "\\mathrm{E}[Ax +b] &= A\\mathrm{E}[x] + b \\tag{SRG-3a}\\\\\n", "\\mathrm{cov}[Ax +b] &= A\\,\\mathrm{cov}[x]\\,A^T \\tag{SRG-3b}\n", "\\end{align}$$\n", "\n", "- (The tag (SRG-3a) refers to the corresponding eqn number in Sam Roweis' Gaussian Identities notes.)\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Review Probability Theory\n", "\n", "- Interpretation as a degree of belief, i.e. a state-of-knowledge, not as a property of nature." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- We can do everything with only the **sum rule** and the **product rule**. In practice, **Bayes rule** and **marginalization** are often very useful for computing\n", "\n", "$$p(\\,\\text{what-we-want-to-know}\\,|\\,\\text{what-we-already-know}\\,)\\,.$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Bayes rule $$ p(\\theta|D) = \\frac{p(D|\\theta)p(\\theta)} {p(D)} $$ is the fundamental rule for learning!" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- That's really about all you need to know about probability theory, but you need to _really_ know it, so do the exercises." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "open(\"../../styles/aipstyle.html\") do f\n", " display(\"text/html\", read(f,String))\n", "end" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Julia 1.0.2", "language": "julia", "name": "julia-1.0" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.0.2" }, "widgets": { "state": { "0c9c7079-a918-4ed4-ad45-8de3d7874019": { "views": [ { "cell_index": 12 } ] }, "261fa34c-df0a-4604-a2ff-35a9cb4d9fb2": { "views": [ { "cell_index": 20 } ] }, "42bb27af-6a2c-4a24-bcd3-1d8b8aec035c": { "views": [ { "cell_index": 20 } ] }, "50e83b63-be9e-4e83-987a-8b3ee9bbabd6": { "views": [ { "cell_index": 20 } ] }, "8053293d-ebc1-46b4-ac1c-afeb3a53d190": { "views": [ { "cell_index": 20 } ] }, "f496660b-92e4-41a4-a67b-b3ca19795f03": { "views": [ { "cell_index": 12 } ] } }, "version": "1.2.0" } }, "nbformat": 4, "nbformat_minor": 1 }