diff --git a/examples/.meta.jl b/examples/.meta.jl index 676418994..f08a814f4 100644 --- a/examples/.meta.jl +++ b/examples/.meta.jl @@ -141,7 +141,23 @@ return ( description = "In this example we create a non-conjugate model and use a nonlinear link function between variables. We show how to extend the functionality of `RxInfer` and to create a custom factor node with arbitrary message passing update rules.", category = :problem_specific ), - (filename = "Universal Mixtures.ipynb", title = "Universal Mixtures", description = "Universal mixture modeling.", category = :problem_specific), - (filename = "Tiny Benchmark.ipynb", title = "Tiny Benchmark", description = "Tiny Benchmark for Internal testing.", category = :hidden_examples) + ( + filename = "Universal Mixtures.ipynb", + title = "Universal Mixtures", + description = "Universal mixture modeling.", + category = :problem_specific + ), + ( + filename = "Litter Model.ipynb", + title = "Litter Model", + description = "Using Bayesian Inference and RxInfer to estimate daily litter events (adapted from https://learnableloop.com/posts/LitterModel_PORT.html)", + category = :problem_specific + ), + ( + filename = "Tiny Benchmark.ipynb", + title = "Tiny Benchmark", + description = "Tiny Benchmark for Internal testing.", + category = :hidden_examples + ), ] ) diff --git a/examples/Project.toml b/examples/Project.toml index afd02ec43..8621c0c54 100644 --- a/examples/Project.toml +++ b/examples/Project.toml @@ -26,3 +26,4 @@ StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" StatsFuns = "4c63d2b9-4356-54db-8cca-17b64c39e42c" StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" Weave = "44d3d7a6-8a23-5bf8-98c5-b353f8df5ec9" +XLSX = "fdbf4ff8-1666-58a4-91e7-1b58723a45e0" diff --git a/examples/data/litter_incidents.xlsx b/examples/data/litter_incidents.xlsx new file mode 100644 index 000000000..b4eee2cc8 Binary files /dev/null and b/examples/data/litter_incidents.xlsx differ diff --git a/examples/problem_specific/Litter Model.ipynb b/examples/problem_specific/Litter Model.ipynb new file mode 100644 index 000000000..2a11878f6 --- /dev/null +++ b/examples/problem_specific/Litter Model.ipynb @@ -0,0 +1,1293 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Litter Model\n", + "\n", + "Adapted from [LearnableLoopAI](https://learnableloop.com/posts/LitterModel_PORT.html)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m project at `~/.julia/dev/RxInfer/examples`\n" + ] + } + ], + "source": [ + "# Activate local environment, see `Project.toml`\n", + "import Pkg; Pkg.activate(\"..\"); Pkg.instantiate();" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "using RxInfer, Random, Distributions, Plots, LaTeXStrings, XLSX, DataFrames" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this project the client is responsible for the delittering of a mile-long beach walk-way in the Pacific Northwest in the USA. The density of foot traffic is roughly uniform along its length. Volunteers provide their services for cleaning up litter." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Symbols | Nomenclature |Notation (KUF)\n", + "informed by Powell Universal Framework (PUF), Bert de Vries, AIF literature" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Taxonomy of Machine Learning\n", + "\n", + "## Supervised Learning\n", + "### State Functions\n", + "- **Provision (Acquisition)**\n", + " - $\\mathbf{p}_{i} = f_p(i)$\n", + "\n", + "### Observation Functions\n", + "- **Response**: $\\mathbf{r}_{i} = f_{r}(\\breve{\\mathbf{s}}_{i})$\n", + "- **Observation with Noise**: $\\mathbf{y}_i = \\mathbf{\\breve{s}}_t + \\mathbf{v}_t$\n", + " - Covariate noise (optional)\n", + " - Observation noise: $\\mathbf{v}_{i} = \\mathcal{N}(\\mathbf{\\breve{m}}_{i}, \\mathbf{\\breve{\\Sigma}_V})$\n", + "\n", + "### Observation Sets\n", + "- Without state noise: $(\\mathbf{\\breve{s}}, y)$\n", + "- With state noise: $(\\mathbf{z}, y)$\n", + "\n", + "## Unsupervised Learning\n", + "### State Functions\n", + "- **Provision (Acquisition)**\n", + " - $\\mathbf{p}_{i} = f_p(i)$\n", + "\n", + "### Observation Functions\n", + "- **Response**: $\\mathbf{r}_{i} = f_{r}(\\breve{\\mathbf{s}}_{i})$\n", + "- **Direct Observation**: $\\mathbf{y}_t = \\mathbf{\\breve{s}}_t$\n", + "\n", + "### Observation Sets\n", + "- Unordered independent observations: $y$\n", + "\n", + "## Sequential/Series Learning\n", + "### State Functions\n", + "- **Provision (Transition)**\n", + " - Base transition: $\\mathbf{p}_{t} = f_p(\\breve{\\mathbf{s}}_{t-1})$\n", + " - Complete state equation:\n", + " $\\mathbf{\\breve{s}}_t = f_B(\\mathbf{\\breve{s}}_{t-1})+ f_E(\\mathbf{a}_t) + \\mathbf{w}_{dt} + \\mathbf{w}_t$\n", + " - Components:\n", + " - Action: $f_E(\\mathbf{a}_t)$ (optional)\n", + " - System noise: $\\mathbf{w}_{t} = \\mathcal{N}(\\mathbf{p}_{t}, \\mathbf{\\breve{\\Sigma}_W})$\n", + " - Disturbance/exogenous: $\\mathbf{w}_{dt}$ (optional)\n", + "\n", + "### Observation Functions\n", + "- **Response**: $\\mathbf{r}_{t} = f_r(\\breve{\\mathbf{s}}_{t}) = f_A(\\breve{\\mathbf{s}}_{t}) = \\breve{\\mathbf{A}} \\breve{\\mathbf{s}}_{t}$\n", + "- **Observation with Noise**: $\\mathbf{y}_t = f_A(\\mathbf{\\breve{s}}_t) + \\mathbf{v}_t$\n", + " - Observation noise: $\\mathbf{v}_{t} = \\mathcal{N}(\\mathbf{r}_{t}, \\mathbf{\\breve{\\Sigma}_V})$\n", + "\n", + "### Observation Sequence\n", + "- Ordered correlated observations $y$ (time/spatial)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Overall Structure\n", + "- Experiment has one-to-many Batches\n", + "\t- Batch (into the page) has one-to-many Sequences\n", + "\t\t- Sequence (down the page) has one-to-many Datapoints\n", + "\t\t\t- Datapoint (into the page) has one-to-many Matrices\n", + "\t\t\t\t- Matrix (down the page) has one-to-many Vectors\n", + "\t\t\t\t\t- Vector (towards right) has one-to-many Components\n", + "\t\t\t\t\t\t- Component/Element of type\n", + "\t\t\t\t\t\t\t- Numerical [continuous/proportional]\n", + "\t\t\t\t\t\t\t\t- int/real/float (continuous)\n", + "\t\t\t\t\t\t\t- Categorical [non-continuous/non-formal]\n", + "\t\t\t\t\t\t\t\t- AIF calls it 'discrete'\n", + "\t\t\t\t\t\t\t\t- ordinal (ordered)\n", + "\t\t\t\t\t\t\t\t- nominal (no order)\n", + "\t\t\t\t\t\t\t- for computers, elements need to be numbers, so categoricals encoded as numbers too\n", + "- Most complex Datapoint handled is a multispectral image, i.e. 3D" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### True vs Inferred variables:\n", + "- True variables associated with Generative Process `genpr`\n", + " - e.g. $\\breve{s}, \\breve{\\mathbf{s}}, \\breve{\\theta}$\n", + "- Inferred variables associated with Generative Model `agent`\n", + " - e.g. $s, \\mathbf{s}, \\theta$\n", + "\n", + "### General\n", + "Global code variables will be prefixed with an underscore '_'." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Active Inference: Bridging Minds and Machines\n", + "\n", + "In recent years, the landscape of machine learning has undergone a profound transformation with the emergence of active inference, a novel paradigm that draws inspiration from the principles of biological systems to inform intelligent decision-making processes. Unlike traditional approaches to machine learning, which often passively receive data and adjust internal parameters to optimize performance, active inference represents a dynamic and interactive framework where agents actively engage with their environment to gather information and make decisions in real-time.\n", + "\n", + "At its core, active inference is rooted in the notion of agents as embodied entities situated within their environments, constantly interacting with and influencing their surroundings. This perspective mirrors the fundamental processes observed in living organisms, where perception, action, and cognition are deeply intertwined to facilitate adaptive behavior. By leveraging this holistic view of intelligence, active inference offers a unified framework that seamlessly integrates perception, decision-making, and action, thereby enabling agents to navigate complex and uncertain environments more effectively.\n", + "\n", + "One of the defining features of active inference is its emphasis on the active acquisition of information. Rather than waiting passively for sensory inputs, agents proactively select actions that are expected to yield the most informative outcomes, thus guiding their interactions with the environment. This active exploration not only enables agents to reduce uncertainty and make more informed decisions but also allows them to actively shape their environments to better suit their goals and objectives.\n", + "\n", + "Furthermore, active inference places a strong emphasis on the hierarchical organization of decision-making processes, recognizing that complex behaviors often emerge from the interaction of multiple levels of abstraction. At each level, agents engage in a continuous cycle of prediction, inference, and action, where higher-level representations guide lower-level processes while simultaneously being refined and updated based on incoming sensory information.\n", + "\n", + "The applications of active inference span a wide range of domains, including robotics, autonomous systems, neuroscience, and cognitive science. In robotics, active inference offers a promising approach for developing robots that can adapt and learn in real-time, even in unpredictable and dynamic environments. In neuroscience and cognitive science, active inference provides a theoretical framework for understanding the computational principles underlying perception, action, and decision-making in biological systems.\n", + "\n", + "In conclusion, active inference represents a paradigm shift in machine learning, offering a principled and unified framework for understanding and implementing intelligent behavior in artificial systems. By drawing inspiration from the principles of biological systems, active inference holds the promise of revolutionizing our approach to building intelligent machines and understanding the nature of intelligence itself." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Business Understanding\n", + "Although the current project covers a small part of the span of *Active Inference*, we would nevertheless like to execute it within this context.\n", + "\n", + "The client is responsible for the delittering of a mile-long beach walk-way in the Pacific Northwest in the USA. The density of foot traffic is roughly uniform along its length. Volunteers provide their services for cleaning up litter. One of the key determinants of the client's planning is an estimation of the number of daily litter events along this walkway. The client does not want to over-engage his team of volunteers, nor does he want litter to become too noticeable." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Data Understanding\n", + "The number of daily litter events will be modeled by a Poisson distribution with parameter $\\theta$. This parameter, usually denoted by $\\lambda$, represents both the mean as well as the variance of the Poisson distribution. The $\\theta$ parameter will be learned or inferred by a model.\n", + "\n", + "For additional insight, we will simulate some litter event data." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Data Preparation\n", + "We will use simulated data to prepare the model. To apply the model we will use data gathered from observations along the walk-way. There is no need to perform additional data preparation." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Modeling" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Core Elements" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This section attempts to answer three important questions:\n", + "\n", + "- What metrics are we going to track?\n", + "- What decisions do we intend to make?\n", + "- What are the sources of uncertainty?\n", + "\n", + "For this problem, the only metric we are interested in is the daily number of litter events so that we can use Bayesian inference to estimate the mean of the Poisson distribution that that represents the littering events." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Environment Model (Generative Process)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The number of daily litter events will be given by\n", + "$$\n", + "n^{Daily} \\sim Pois(\\theta)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### State variables" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We do not have state variables. The only variable that needs to be inferred is $\\theta$, the mean (and variance) of the generative process, i.e. the Poisson distribution." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Decision variables" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There will be no decision variables for this project." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Exogenous information variables" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We assume that the volunteers that inspect the walk-way do not miscount litter events. Consequently we will not make provision for exogenous information variables." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Next State function" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The *provision* function, $f_p()$, provides another state/datapoint, called the *provision/pre-state*. Because this is a *combinatorial* system, the provision function *acquires* the next state/datapoint making use of a simulation or a data set.\n", + "\n", + "$$\\mathbf{p}_{i} = f_p(i)$$" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "## provision function, provides another state/datapoint from simulation\n", + "function fˢⁱᵐₚ(s; θ̆, 𝙼, 𝚅, 𝙲, rng)\n", + " dp = Vector{Vector{Vector{Float64}}}(undef, 𝙼)\n", + " for m in 1:𝙼 ## Matrices\n", + " dp[m] = Vector{Vector{Float64}}(undef, 𝚅)\n", + " for v in 1:𝚅 ## Vectors\n", + " dp[m][v] = Vector{Float64}(undef, 𝙲)\n", + " for c in 1:𝙲 ## Components\n", + " dp[m][v][c] = float(rand(rng, Poisson(θ̆)))\n", + " end\n", + " end\n", + " end\n", + " s̆ = dp\n", + " return s̆\n", + "end\n", + "\n", + "_s = 1 ## s for sequence\n", + "_θ̆ˢⁱᵐ = 15 ## lambda of Poisson distribution\n", + "_rng = MersenneTwister(57)\n", + "## _s̆ = fˢⁱᵐₚ(_s, θ̆=_θ̆ˢⁱᵐ, 𝙼=3, 𝚅=4, 𝙲=5, rng=_rng) ## color image with 3 colors, 4 rows, 5 cols of elements\n", + "## _s̆ = fˢⁱᵐₚ(_s, θ̆=_θ̆ˢⁱᵐ, 𝙼=1, 𝚅=4, 𝙲=5, rng=_rng) ## b/w image with 4 rows, 5 cols of elements\n", + "_s̆ = fˢⁱᵐₚ(_s, θ̆=_θ̆ˢⁱᵐ, 𝙼=1, 𝚅=1, 𝙲=5, rng=_rng) ## vector with 5 elements\n", + "## _s̆ = fˢⁱᵐₚ(_s, θ̆=_θ̆ˢⁱᵐ, 𝙼=1, 𝚅=1, 𝙲=1, rng=_rng) ## vector with 1 element\n", + ";" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "fᶠˡᵈₚ (generic function with 1 method)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "## provision function, provides another state/datapoint from field\n", + "function fᶠˡᵈₚ(s; 𝙼, 𝚅, 𝙲, df)\n", + " dp = Vector{Vector{Vector{Float64}}}(undef, 𝙼)\n", + " for m in 1:𝙼 ## Matrices\n", + " dp[m] = Vector{Vector{Float64}}(undef, 𝚅)\n", + " for v in 1:𝚅 ## Vectors\n", + " dp[m][v] = Vector{Float64}(undef, 𝙲)\n", + " for c in 1:𝙲 ## Components\n", + " dp[m][v][c] = df[s, :incidents]\n", + " end\n", + " end\n", + " end\n", + " s̆ = dp\n", + " return s̆\n", + "end\n", + "## _s = 1 ## s for sequence\n", + "## dp = fᶠˡᵈₚ(_s, 𝙼=3, 𝚅=4, 𝙲=5, df=_fld_df) ## color image with 3 colors, 4 rows, 5 cols of elements\n", + "## dp = fᶠˡᵈₚ(_s, 𝙼=1, 𝚅=4, 𝙲=5, df=_fld_df) ## b/w image with 4 rows, 5 cols of elements\n", + "## dp = fᶠˡᵈₚ(_s, 𝙼=1, 𝚅=1, 𝙲=5, df=_fld_df) ## vector with 5 elements\n", + "## dp = fᶠˡᵈₚ(_s, 𝙼=1, 𝚅=1, 𝙲=1, df=_fld_df) ## vector with 1 element" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because there is no noise to be combined with, the next state becomes\n", + "\n", + "$$\\breve{\\mathbf{s}}_{i} = \\mathbf{p}_{i}$$\n", + "\n", + "The breve/bowl indicates that the parameters and variables are hidden and not observed." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Observation function" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The *response* function, $f_r()$, provides the *response* to the state/datapoint, called the *response*:\n", + "$$\\mathbf{r}_{i} = f_{r}(\\breve{\\mathbf{s}}_{i})$$" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "## response function, provides the response to a state/datapoint\n", + "function fᵣ(s̆)\n", + " return s̆ ## no noise\n", + "end\n", + "fᵣ(_s̆);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because there is no noise to be combined with, the next observation becomes\n", + "\n", + "$$\\mathbf{y}_i = \\mathbf{\\breve{s}}_i$$\n", + "\n", + "The `breve/bowl` indicates that the parameters and variables are hidden and not observed." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Implementation of the Environment Model (Generative Process)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's simulate some data with IID observations from a Poisson distribution, that represents the litter incidents. We also assume that the mean incidents per day is 15:" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "## Data comes from either a simulation/lab (sim|lab) OR from the field (fld)\n", + "## Data are handled either in batches (batch) OR online as individual points (point)\n", + "function sim_data(rng, 𝚂, 𝙳, 𝙼, 𝚅, 𝙲, θ̆)\n", + " p = Vector{Vector{Vector{Vector{Vector{Float64}}}}}(undef, 𝚂)\n", + " s̆ = Vector{Vector{Vector{Vector{Vector{Float64}}}}}(undef, 𝚂)\n", + " r = Vector{Vector{Vector{Vector{Vector{Float64}}}}}(undef, 𝚂)\n", + " y = Vector{Vector{Vector{Vector{Vector{Float64}}}}}(undef, 𝚂)\n", + " for s in 1:𝚂 ## sequences\n", + " p[s] = Vector{Vector{Vector{Vector{Float64}}}}(undef, 𝙳)\n", + " s̆[s] = Vector{Vector{Vector{Vector{Float64}}}}(undef, 𝙳)\n", + " r[s] = Vector{Vector{Vector{Vector{Float64}}}}(undef, 𝙳)\n", + " y[s] = Vector{Vector{Vector{Vector{Float64}}}}(undef, 𝙳)\n", + " for d in 1:𝙳 ## datapoints\n", + " p[s][d] = fˢⁱᵐₚ(s; θ̆=θ̆, 𝙼=𝙼, 𝚅=𝚅, 𝙲=𝙲, rng=rng)\n", + " s̆[s][d] = p[s][d] ## no system noise\n", + " r[s][d] = fᵣ(s̆[s][d])\n", + " y[s][d] = r[s][d]\n", + " end\n", + " end\n", + " return y\n", + "end;\n", + "\n", + "function fld_data(df, 𝚂, 𝙳, 𝙼, 𝚅, 𝙲)\n", + " p = Vector{Vector{Vector{Vector{Vector{Float64}}}}}(undef, 𝚂)\n", + " s̆ = Vector{Vector{Vector{Vector{Vector{Float64}}}}}(undef, 𝚂)\n", + " r = Vector{Vector{Vector{Vector{Vector{Float64}}}}}(undef, 𝚂)\n", + " y = Vector{Vector{Vector{Vector{Vector{Float64}}}}}(undef, 𝚂)\n", + " for s in 1:𝚂 ## sequences\n", + " p[s] = Vector{Vector{Vector{Vector{Float64}}}}(undef, 𝙳)\n", + " s̆[s] = Vector{Vector{Vector{Vector{Float64}}}}(undef, 𝙳)\n", + " r[s] = Vector{Vector{Vector{Vector{Float64}}}}(undef, 𝙳)\n", + " y[s] = Vector{Vector{Vector{Vector{Float64}}}}(undef, 𝙳)\n", + " for d in 1:𝙳 ## datapoints\n", + " p[s][d] = fᶠˡᵈₚ(s; 𝙼=𝙼, 𝚅=𝚅, 𝙲=𝙲, df=df)\n", + " s̆[s][d] = p[s][d] ## no system noise\n", + " r[s][d] = fᵣ(s̆[s][d])\n", + " y[s][d] = r[s][d]\n", + " end\n", + " end\n", + " return y\n", + "end;" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "## number of Batches in an experiment\n", + "## _𝙱 = 1 ## not used yet\n", + "\n", + "## number of Sequences/examples in a batch\n", + "_𝚂 = 365\n", + "## _𝚂 = 3\n", + "\n", + "## number of Datapoints in a sequence\n", + "_𝙳 = 1\n", + "## _𝙳 = 2\n", + "## _𝙳 = 3\n", + "\n", + "## number of Matrices in a datapoint\n", + "_𝙼 = 1\n", + "\n", + "## number of Vectors in a matrix\n", + "_𝚅 = 1\n", + "\n", + "## number of Components in a vector\n", + "_𝙲 = 1\n", + "\n", + "_θ̆ˢⁱᵐ = 15 ## hidden lambda of Poisson distribution\n", + "_rng = MersenneTwister(57);" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "_yˢⁱᵐ = sim_data(_rng, _𝚂, _𝙳, _𝙼, _𝚅, _𝙲, _θ̆ˢⁱᵐ) ## simulated data\n", + "_yˢⁱᵐ = first.(first.(first.(first.(_yˢⁱᵐ))));" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[10.0, 18.0, 20.0, 17.0, 10.0, 16.0, 18.0, 19.0, 18.0, 14.0]" + ] + } + ], + "source": [ + "## methods(print)\n", + "## print(_yˢⁱᵐ[1:2])\n", + "\n", + "## Customize the display width to control positioning or prevent wrapping\n", + "## io = IOContext(stdout, :displaysize => (50, 40)) ## (rows, cols)\n", + "## print(io, _yˢⁱᵐ[1:3])\n", + "## print(io, _yˢⁱᵐ)\n", + "\n", + "print(IOContext(stdout, :displaysize => (24, 5)), _yˢⁱᵐ[1:10]);" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdd2AU1dYA8HNnZkvKpgMJIaSQUARCSUB61ycoGAQpTwQBMSKi8p4Nwa685/Pp9xCVpiCCgrQEEBCQJlKEBDAxBEgjIb0nm+xmd2fmfn9MWJZNstkkm8ae31/JnZk7Z+7cmbOzO3OHUEoBIYQQsldMaweAEEIItSZMhPYlNzf34sWLFy5cSE9P1+v1ZlOPHDmycOHCU6dOtWRIly5dWrhwYVRUVEuutC779u2LjIy8dOlSy6969+7dCxcuvHz5srFk1apVCxcuVKvVLbD2rVu3Lly48Nq1ay2wLoTaGkyE9uLQoUMDBgzw8fF58MEHhw4dGhAQ4OrqOn78+MOHDxvniY+P37RpU2JiYksGlpKSsmnTppiYmIYuuG3btm+//da2wcTExGzYsCE5OdnCPMnJycSEi4uLr6/v4MGDX3jhhaNHj4qi2LhVX7x4cdOmTWlpacaSAwcObNq0SavVNq5Co9LSUrlc7uTkZGGes2fPbtq0KSsry1iyY8eODRs21Pzp5NChQxs2bCgrK2tiVNZYvHixvA7u7u4tEEBd/vrrrw0bNsTHx7diDMiGuNYOALWE7du3P/XUUwDw0EMPDRs2zNXVNS0t7cqVKydPnhwyZMjEiROl2bp27TpmzBhfX99WDdZar7/+enFx8cKFC1tl7XK5fNSoUdLfGo0mMTHx0qVLa9eu7dev37Zt2/r06dPQCoODg8eMGdOxY0dbRwqUUoPBYPlugB49eowZM8bDw8NY8vbbbycnJy9cuJBlWdM5V69effTo0bFjx7q6uto8VDM8zxsMhuDg4C5duphNcnBwaO61W3DixImXX375888/79u3byuGgWwFE+H9TxCEf/zjH5TSzZs3P/PMM6aTUlNT8/Pzjf/OmDFjxowZLR1f++Th4XHs2DHjv5TSs2fPLl++/Pfffx8zZsz58+dDQkIaVOFzzz333HPP2TpMay1btmzZsmWttXbLXnjhhTYbG7o/YCK8/yUlJeXm5np4eMybN89sUlBQUFBQkPHfvLy8zMxMf39/Ly8vqeTGjRsVFRV9+/ZlGObo0aM3b9708PB47LHHjJcOCQkJv//+e1VV1YgRI8LCwkwrT0lJKS0tfeCBB0w/vIuieOXKFQcHhwceeMBCzAaD4cKFC6mpqXl5eR07dhw+fLhpXikvL09KSpKucmJjY6VCR0fHXr16Geepqqo6efJkUlISpbR3795jxozhOPPeTik9c+bMlStXFArFqFGjLIdkGSFkxIgRJ0+enDhx4q+//vrKK68cPHjQdIbExMS4uLjs7GyZTNa3b9+RI0cyzD0/TGRlZeXm5nbr1s3Nza1m/aWlpSkpKe7u7qb7S1JSUpKamurh4REYGNjo+DMyMgoKCrp3765SqSoqKm7cuKHT6QDg8uXLUpxKpbJ79+5xcXHl5eUAkJCQIP1BCBk4cKCxHkEQzp07FxcXp9frAwMDH3roIbOvZOPj4/V6fVhYmE6nO3r0aEpKSteuXZ944olGRy5VGBoaKpPJap3Ur18/012fmJh47ty5oqKizp07jx8/3sfHx3SR9PT0wsJCqR3Onz9/6dIlhmGGDx8+YMAA0xpu374NAJmZmcbuFxIS4uLiAgCiKJ4/fz45ObmgoMDT0zMgIGDYsGEKhaLRG4haAkX3O+kXLxcXFylzWPDpp58CwNdff20sGTlyJACcOXOmd+/exj7j6up65swZvV7/7LPPmval1157zbQ26ex29epV08KKigoACA0NNZZs374dAN566y3TEumcYkQImTNnjlarlWY4evRozZ7cv39/Yw179+41O8H16NEjPj7eNJKSkpJx48aZzrN48eK33noLAH788UcLrZSUlAQA3t7etU5NTEwkhABAWlqaVJKbm1szRfXq1evatWumC7722msAsHv3bmPJkCFDACAvL49Smp+fr1AounTpwvO82RpfeuklAFi3bl1dARcXFwMAx3EWNioyMhIAjh49Sik9e/Zszebt3r17Tk5OzXLTai9evGj6WQQAOnXqdPjwYdMVBQQEEEIuX77s7+8vzTNy5Mi6opI62Oeff24h8lmzZgHA3r17zcpv3brFMExISIgoilJJfn7+pEmTTMNTKBQff/yx6VILFiwAgH379hl/L5A8//zzxnnCw8NrtoO0mWlpaaGhoWaTPD09LcSP2gK8Web+FxgY6ObmVl5evmjRotzc3EbUMGfOHH9//8OHD1+8ePEf//hHWVnZ008/vXz58iNHjmzZsiU2NnbLli0eHh6ffvrpb7/91vSA8/PzJ06cuGvXrtjY2MTExKioqPDw8G3btklZ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", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/html": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "_rθ = range(0, _𝚂, length=1*_𝚂)\n", + "_p = plot(title=\"Simulated Daily Litter Events\", xlabel=\"Day\")\n", + "_p = plot!(_rθ, _yˢⁱᵐ, linetype=:steppre, label=\"# daily events\", c=1)\n", + "plot(_p)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Uncertainty Model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Agent Model (Generative Model)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this project, we are going to perform an exact inference for a litter model that can be represented as:\n", + "\n", + "$$\\begin{aligned}\n", + "p(\\theta) &= \\mathrm{\\Gamma}(\\theta \\mid \\alpha^{\\Gamma}, \\theta^{\\Gamma}),\\\\\n", + "p(x_i \\mid \\theta) &= \\mathrm{Pois}(x_i \\mid \\theta),\\\\\n", + "\\end{aligned}$$\n", + "\n", + "where $x_i \\in \\{0, 1, ...\\}$ is an observation induced by a Poisson likelihood while $p(\\theta)$ is a Gamma prior distribution on the parameter of the Poisson distribution.\n", + "We are interested in inferring the posterior distribution of $\\theta$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The generative model is:\n", + "\n", + "$$\n", + "\\begin{aligned}\n", + "p(x_:,\\theta) &= p(x_: \\mid \\theta) \\cdot p(\\theta) \\\\\n", + " &= p(x_{1:N} \\mid \\theta) \\cdot p(\\theta) \\\\\n", + " &= \\prod_{i=1}^N{p(x_i \\mid \\theta)} \\cdot p(\\theta) \\\\\n", + " &= \\prod_{i=1}^N{\\mathrm{Pois}(x_i \\mid \\theta)} \\cdot \\Gamma(\\theta \\mid \\alpha^{\\Gamma}, \\theta^{\\Gamma})\n", + "\\end{aligned}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Implementation of the Agent Model (Generative Model)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will use the RxInfer Julia package. RxInfer stands at the forefront of Bayesian inference tools within the Julia ecosystem, offering a powerful and versatile platform for probabilistic modeling and analysis. Built upon the robust foundation of the Julia programming language, RxInfer provides researchers, data scientists, and practitioners with a streamlined workflow for conducting Bayesian inference tasks with unprecedented speed and efficiency.\n", + "\n", + "At its core, RxInfer leverages cutting-edge techniques from the realm of reactive programming to enable dynamic and interactive model specification and estimation. This unique approach empowers users to define complex probabilistic models with ease, seamlessly integrating prior knowledge, data, and domain expertise into the modeling process.\n", + "\n", + "With RxInfer, conducting Bayesian inference tasks becomes a seamless and intuitive experience. The package offers a rich set of tools for performing parameter estimation, model comparison, and uncertainty quantification, all while leveraging the high-performance capabilities of Julia to deliver results in a fraction of the time required by traditional methods.\n", + "\n", + "Whether tackling problems in machine learning, statistics, finance, or any other field where uncertainty reigns supreme, RxInfer equips users with the tools they need to extract meaningful insights from their data and make informed decisions with confidence.\n", + "\n", + "RxInfer represents a paradigm shift in the world of Bayesian inference, combining the expressive power of Julia with the flexibility of reactive programming to deliver a state-of-the-art toolkit for probabilistic modeling and analysis. With its focus on speed, simplicity, and scalability, RxInfer is poised to become an indispensable tool for researchers and practitioners seeking to harness the power of Bayesian methods in their work." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "To transfer the above factorized generative model to the RxInfer package, we need to include each of the factors:\n", + "\n", + "- $N$ Kronecker-$\\delta$ factors (for the N observations)\n", + "- $1$ Gamma factor (for the prior distribution)\n", + "- $N$ Poisson factors (for the litter events)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "## parameters for the prior distribution\n", + "_αᴳᵃᵐ, _θᴳᵃᵐ = 350., .05;" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [], + "source": [ + "## Litter model: Gamma-Poisson\n", + "@model function litter_model(x, αᴳᵃᵐ, θᴳᵃᵐ)\n", + " ## prior on θ parameter of the model\n", + " θ ~ Gamma(shape=αᴳᵃᵐ, rate=θᴳᵃᵐ) ## 1 Gamma factor\n", + "\n", + " ## assume daily number of litter incidents is a Poisson distribution\n", + " for i in eachindex(x)\n", + " x[i] ~ Poisson(θ) ## not θ̃; N Poisson factors\n", + " end\n", + "end" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Agent (Policy) Evaluation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Evaluate with simulated data" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Inference results:\n", + " Posteriors | available for (θ)\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "_result = infer(\n", + " model= litter_model(αᴳᵃᵐ= _αᴳᵃᵐ, θᴳᵃᵐ= _θᴳᵃᵐ), \n", + " data= (x= _yˢⁱᵐ, )\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "GammaShapeRate{Float64}(a=5873.0, b=365.05)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "_θˢⁱᵐ = _result.posteriors[:θ]" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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nToVHh5+++23K4pSUFBgMpmKnOKWlpZ2+PBhjuM6derk0pNqtVptNltgYKDLGyMnJ0dVVf2BLBaL3uMliqKjSPp7Ri8Sx3GF67upqalHjx6VZblx48bNmzd3+a3zv0lqauqhQ4dMJlP79u31R3SH3W7ft2+f/p/Svn17xzvHcfGrV6/qr6de5tDQUIZhCl/HZrONGjXqueee079imkwmQRD27NkzZMiQTp069e7de926dZqmDRkyJCYm5r///e/KlSvPnz/frl27bdu2zZ49WxTFs2fPnjp16umnn5YkKTk5OT09fejQoaqqHjp0qEuXLm4+nYp44oknRowYsW3bNk8NOKgCfBjCVcuFCxeIKCgoqNQvSkuXLiWiRYsWOY706tWLiPSxBo5XvmHDhseOHdM0bfHixY4PVkEQFi9e7Hy1YcOGEdGff/7pfFCWZSKKj493HClcI9yyZcutt97q/Lf29/d/8cUXHXWLInsxmzVrpv+2X79+RJSUlOS4oKqqr732mvMnVK1atT788EPngulNxNOmTfvqq6+cP4MGDx5cUFBQ8us2ceJEIlq/fv3EiRMdcZKbm6tpWmZm5qOPPur8/SMuLm7r1q3Od9+0aVNMTIzzc/Hz83O8mHq3R4cOHVweVO+OWrJkieOIc43w888/L/wS9e3bVz/zk08+cWk8DA4O/uGHHxyX2r59+zvvvLNly5aSn3iRNUKHt99+2+Vvrbcorly50nFkw4YN0dHRLn/rZcuWaf97Y7i488479TvqX1DOnTvXrVs3/VedOnXSNG3Lli1ENGbMGMdD6DXCtWvXjh071vEVxN/f/5133nEu7UsvvUREX375pcuziImJEQRBv/30008XLtLs2bM1TdMDsnXr1s73vXLlyoABA5xTp23btgcPHnQ+58EHHySinTt3uhTvgw8+KPnF1y1dujQ0NNT57zh//nxVVfXfPvroo4ULfP369SIvtWDBgpCQEEfFMT8/n4iWLl3qTjEqifz8/KCgoNGjR/u6IMZBjdBd9evXDwkJyc3NnTVr1uzZs12+8Lpj7NixNpttyZIl4eHh33333bp164YMGTJlypQXXnjhmWeeadOmTXJy8vz586dMmdK5c+cOHTpUsMDHjh1TVfX111+Pi4sLDg4+efLkkiVL3njjDUEQZs+eTURxcXHLly9/8cUXMzIyli1bpn/QOH8cuJg5c+Zbb71Vr169N998Mz4+/vDhw/PmzXvyySdFUZw8ebLzmVu2bHnvvffGjh17xx13ZGVlLViw4LvvvmvUqNGCBQtKLfbs2bOvXLkybdq0Fi1aXLhwgeO4/Pz8rl27Hjt2rHfv3o888khERMRff/319ttv9+nTZ/fu3e3atSOi1NTUQYMGMQwzZ86c9u3bcxyXmpq6efPmjIyMiryGd9xxx/Lly8ePHx8WFjZ37lz9YP369Yloz549Y8aMiYiIWLRoUYsWLWRZvnTp0oYNG5wHGqxfv/6dd96ZOHFi9+7dy12GYcOGTZ8+/dSpU5cuXdIf2kVKSsqQIUP0toq2bdsyDJOamrpp0yb9ud96663Lly9/9tlnWZZdtGiRfpfIyEjnK9x///0Mw8ydOzc6Otox0btIc+bMyc7Ofv/995s0aXLixIlXX311ypQpQUFBTzzxhPvP6JFHHgkODp43b167du3GjRunH9T/joUVFBTcc889J06c6NWr17hx4/z8/NavX//JJ5907dp13759LkNYp0yZcvXq1blz58bGxh44cGDRokVPP/10u3btOnbsWEJ5Fi5cOH369PDw8IULF95yyy3Jycnz5s2bOXNmXl6e/p1jzJgxXbt2femll65fv+74T3FuXHEQRXHx4sX333+/o6kmJSWFiAICAtx/fXwuMDDwvvvu+/bbb9977z3nmvHNzNdJXJXMmzdPf9Fq1ao1aNCgN998MzExsXAFsbgaYfPmzR2NVJqmderUiYh4nt+zZ4/joP5R9fTTTzuOlLtG6PxYumvXrkVGRoaEhFitVsfB4voIXWqEJ0+eZFk2ICAgJSXFcU5iYqJ+MCMjQz/iGDTkXDE6ffo0x3G1a9fWSqTXCP39/Z375zRNmzFjhstromnapk2biKhbt276j5988gkRvf7668VdvHw1Qh0V1Uf4/PPPE9G3335bwjOaMmUKEU2cOLGEc7TSaoSapulTzRw1S5ca4fvvv09ECxcuLOEhiusj1GuEbdu2tdlszseLqxHyPO/cSLB//36GYWrWrOmo7rtTI9SK7yMsXCN87bXXiKhHjx7Ob9Hp06cT0cCBAx1H9BphdHR0Zmam46D+D+vyznFx7do1s9nMcdyhQ4ccB0+fPq0fdH4bNG7cuMj/FGdff/01/bsn9dNPPyWin376qYR7VUK//PILEX399de+LohBMGq0DGbOnLlu3bpmzZplZWWtX7/++eef79ixY3R09Pz5890Z3Dxz5kzndkU9aXr37q13wjsfPHv2bMVLW7iXJSIiok+fPrm5uUeOHCnr1dauXauq6ujRo2NjYx0HO3To0L9/f4vF4tL+1qlTp4EDBzp+jIuLa9OmzfXr13Nyckp9oNGjR+vZrFNVdeXKlSaTyWWQXu/evdu3b799+3Z9goHew3f9+vWyPq9y05sESn7EF1988cyZM3PmzKngY+mNzDdu3CjytxV/7i+99FKRXaSFDRkyxLl/rm3btn379s3Ozta/l3jDV199RUSzZ8927hKeOXNmQEDAzz//7PKOmj59unNj9ZAhQ4jozJkzJVz/+++/t9vtQ4YMadOmjeNgXFzciBEjFEVZu3ZtmUq7ceNGIsrIyPjmf/TNJdq2bVum65TVyZMnN7thx44dkiS5c8FevXpFRkZ+8cUXXi125YEgLJvBgwefOHHi9OnTy5Yte/zxx6Oioq5evZqQkDB27NhS79uyZUvnH/VBMS4H9TarIicYlcOhQ4cmTZp07733tmzZsnHjxo0bN9YT69q1a+W4FBHdeeedLsfvvvtux28dCk/0joqKIqLU1NRSH8jlI+P06dNZWVm1a9f+4osvVvwbwzCapulfGu65554aNWosWbLk7rvvXrRokd6BVNbnWCb33Xcfx3FPPfXUwIEDly1bdvLkycLnhIWFNW7cODw8vIKPZbFYqPjmtd69ewcFBc2fP/+ee+5ZvHjx4cOHy/rci2uWLOz22293OaJ/jXN5A3iKKIrJyckcxzl/WSSisLCwFi1aKIriMhPR5Y2n16RL/m8q7o191113EdHhw4fLVODffvutefPmzgOIdu3aFRcX51g+xkuKHLZTmF77cedMnufbt2+/cePGajKnEH2E5REXFxcXFzd+/HhZlufNm/fyyy9/+umnzz77bOvWrUu4l8sIT33oh8sgRv2gRybPfv7553rTVrt27W655Rb9n/Pvv/++ceOGKIplvZr+1VvPM2f6EcfYP13hNVn0wS/uPC+XQbN6R1dqaur48eOLPF9vTIuMjNy8efOzzz67a9cufRBQVFTU2LFjZ86c6aWl/du1a/fjjz8+//zzGzZs2LBhAxHFxcVNnTp1/PjxhYezVoRjvGJERESRJ9SvX/+3336bOnXqtm3btm7dSkT16tWbMGHCjBkz3OzJLu7KhRX+QNffAMXVVisoNzdXVdW6desWHosbHR29b98+l8d1+Rdz511X3BtbH3zk8sYuWV5eXmpq6uDBg/V2WiI6d+5cdnZ2cW9dD4qPj3dnYLb75syZExsbK4ri119/7RiufBNDjbBCeJ6fNWuWnn9eXXzE5XucywzrwiwWy6RJkwIDAw8cOJCYmLhmzZrly5cvX7683Ku+6dWRwgud6F8YyzS5u2Qu3231vvq2bdtmFUOvkhJR+/btd+3adfny5VWrVo0aNSo3N3fOnDmOlbr0yxb+OlzqK1mCvn37Hj169PTp08uXLx8yZMiFCxcmTpyo92l50I4dO2w2W1BQUAkLqt1xxx1//vnnxYsXP//88+HDh2dnZ7/00ksTJkxw8yHcT+7CbwD9iEtttfDrbLPZ3HwIZ/pls7OzC1/QU288D76x9aqn88CcDRs2MAzj1dUYvOGVV16RJGnp0qXx8fHVpHUUQegB+hdqfQCLx9WuXZv+VzFyOH36dMn3OnbsWF5e3j333OPc86EfdzlTr4PqswlL0LRp0yLvrrdNNWvWrOS7l1uTJk0EQUhKSgoICKhZFJe6QlRU1PDhwz/77LOTJ0+GhoauXbtWH79eo0YNk8lUuCOt1FeSiDiOK+H1iYuLGzdu3LfffvvXX38xDLNy5cpyPdGiKYqiD4154IEHSp2hWK9evZEjR65ater48eNBQUGrVq1yxHzJT8F9J06ccDmiL7qmvz2omLdrTk6Oy1p9br7rAgIC6tWrZ7PZXHrN9SZT58ctN/0KhZeO0/vRy3R9fcqp8xyeTz/9dODAgY4lQ70nIyPjnHtKfc1feuml48eP69/nHn300T179pw7d87b5fc5BKG78vLy/vzzz8LHU1NTExMTqVBvn6fog1Nc5vzpAwVLoI/tdlmod/v27fpoPWd6r2Spa4oOGDCAiJYtW+b81f769etffPEFy7L9+/cv+e7lFhwc3L9/f33aSeHfOioKhWsMUVFR9erV0/43i5xl2fr161++fFkfzq5LT0//5ptvSi1DZGRkZmamSwtb4Uds3bq12Wx2rlskJydv3LgxKSmp1IcoUlZW1rBhw7Zv316zZs2XX365uNMKl6RBgwZ16tTRF0xwPIXc3NzyVcucrVq1ynl+xfXr19euXSsIQp8+fRwPTYVaRz744AOX6+hNrO70VetvPJfVR1evXp2RkdG+ffvCTZpl1b9/f4ZhPv/8c+dW1oKCgo8++oiInMd8lUpv1XdMn926deupU6feeuutCpbQHRcvXtzvBn2RihKuM2vWrF9//fWzzz7TW1CGDx9ORF9++aUBT8G30Eforhs3bujT+8aMGdOpU6eIiIjs7Oy//vrrzTffzM3Nbdu2rWNKsmf16dOH47j333+/efPm//nPf9LT0z/66KMffvih5Hs1adIkLCxsy5YtixYteuKJJ8xm888//zxx4sSwsDCX3u9WrVrt3Llz8uTJw4cPDwoKCgwMdBmYoLv77rv79Onz66+/Dho0aOHChXFxcUeOHHnyyScLCgrGjBnj1R0JFixYsG3btoSEhGvXrg0fPrxp06Y5OTkpKSkbNmzYv3//b7/9RkRz585NSkoaMWJEq1atoqOj9Vfp+PHjLVu2rFevnn6d/v37L1myZPjw4e+++269evUOHDgwffp0d0ZLtmrVatOmTZMmTfrPf/7j7+8fHh5+6623jh071mQyPfLII02bNo2IiLhw4cL8+fNtNpvzmgkrVqzQ5xGW+sWFiFJSUlasWEFEsixnZmYePHhw06ZNFoulbt26X3/9dcOGDYu748svv3zhwoURI0a0aNFCH7314Ycfnj17tl27do5xOq1atUpKSpowYcLgwYMDAgJCQ0PL3Ug+cODADz74oEWLFkeOHBk/frzFYpk8ebJjYmK3bt2Cg4O/++67t99+++GHH7ZYLGvWrHnnnXcCAwOde6YjIyPDw8P37Nnz1ltvtWrVymQyNWrUyHm0sMPzzz//5Zdffvjhh3Xr1h03bpy/v//333//7LPPMgzzxhtvlO8pOGvevPnw4cNXrVrVr1+/pUuXtmzZ8tSpU5MnT05PTx8wYECR/wvFiY6ObtSokf7lw2azPfXUU4sXL/Zs111x2rZtW/GBqc8///xXX331999/OxqEGzdu3LFjxy+++EKfFXMzM3zCRlWVmZnZvn37IntTevbsqa8lqCtuHuGpU6ecL/jxxx8T0auvvup8UG/Ha9WqlfPBN99807nnLCIiYvfu3VTaPMLvvvvOZZzI448/rk/Acp79dunSJecxPiWsLJOdna0/EWdDhw51npXoWFnG5dUbNGgQER05cqSEV1ifR/jzzz8X/tXhw4eLrHA7ZpIV+ZnYuHFjfe0eXVZWlstopvvvv1+f41/yPMKDBw/qFR2dvrJMkR0/nTp1unr1quOOZZpH6IJl2RYtWrz++uvOE+N0LvMIi/yQatq06cmTJx13SU5Odv6y4rKyjN1ud3mI4uYRfvjhh459gnSDBg1ymYP45ZdfOrfiBgUF/fDDDy7zCDVN+/rrr53HtpSwsszOnTtdBukEBgZ+8sknzufo41MSExOdD1qtViJq2bJlya9/QUHBAw884PIC9u3b12VZUXfmEb7zzjvPPfecxWIZN27cggULSn7cSmXevHnBwcHOkyl1+gxdl1Wcbj6M5uVR5jeZa9eubd++/eLFi6mpqWazuUGDBnfddZfLR8OFCxeOHz/eokULx5S7AwcOZGVlde7c2XlMQVpaWlJSUuPGjZ2/7CuKsnXr1qCgIJdx6vv37//pp59yc3Pj4+MffPDBmjVr/vHHHwEBAZ07d9ZPSE9P37dvX8OGDZ2neaWkpGzcuPHcuXM1a9bs0aPH7bfffvr06QsXLrRu3dp5oKCmaefPn798+bLdbnfUCPft25eent61a1eX8QI7d+7ctm1bdnZ27dq1e/fu7TLyPj09/ciRIw0aNHCpIx4+fPj69eu33357ketx6JKTky9fvnzrrbcWOd9AVdVt27b9+eefmZmZoaGh9evX79atm/NLl5KSsmvXrpSUlJycnLp16zZr1qx3794uwybtdvs333xz8ODBwMDAu+66q2fPnpcvXz558mTTpk0di7YkJiZmZGR0797deU0NRVHOnTuXlpYmSZJeIySi48eP79mzJzU1NS8vLyYmpk2bNnfffbfzV6UTJ06kpKQ0aNCg5GbzK1euOPdRcRwXGhrauHHj4haSPXv27MmTJ1u3bu2o7J49e3bXrl0XLlzIycmJiopq0aJFz549XXYOUVU1JSUlNTVVFEVHjXDPnj0Wi+Wee+5x+YaXlZX1119/1a9f3zFC59SpUxcvXmzTpk1wcPD3339/6NAhQRC6du1a+LuRfvK6desyMjJiYmIeeOCB6OjoXbt22e32Hj16OJ+md/7pXx30GqGiKJs2bQoJCXFZVLOgoODHH388evSo3W5v2rTpwIEDXRbHOXr06LVr1zp27Oj8oqmqumXLluIaOVzs3bv3999/z8jIqFWrVvfu3QtPqNi9e7fVau3Ro0fJcxW+/fbbCxcu9OnTx0t9JV7yyy+/1KhRo/CzlmX5vffea9y4sd5GfbNCEAIAQLWGwTIAAFCtIQgBAKBaQxACAEC1hiAEAIBqzQdBuHv37s2bN7t/vpdWbAH3aZrmkeVPoSLwj+Bzqs0i5bguxgYG88Y/gg+CcMeOHfosJTfpk4HAhxRFKcc63eBZ+EfwOcuhndk/fOTrUlR33vhHQNMoAABUawhCAACo1hCEAABQrSEIAQCgWkMQAgBAtYYgBACAag1BCAAA1RqCEAAAqjUEIQCAzyw7+Nm3yT/6uhTVHV/6KZWDqqo7duzAKlPlVnizXwDwudNZ537M3NS7UfcQU7Cvy1J9VZkgPHnyZP/+/d3ZaRqKtGXLFkmSXDYiBwDfyrRm1TAHbTm/c1B8X1+XpfqqMkGoqmpsbOzvv//u64JUVTzPa5rm61IAwL9ct2TeWqdVujXT1wWp1lA/AADwDbsi2lUxPCDshvWGr8tSrSEIAQB847olo6ZfjQDB/4Y9x9dlqdYQhAAAvpFhyaxhCgkSAnJsub4uS7WGIAQA8I10S2aIOSRACMgREYS+hCAEAPCNDGtmkCkgQAjItef5uizVWpUZNVqYqtG7x1W7Ytwj9ohm2oczxj0eANzUrhVkhJiDA4SAfNGiahrL4OPFN6pwEBJRSp6WZjHu4brVdX2bXrp0SZIkIoqMjAwICHAcP3/+/KFDhwYNGkREoiiuXLny1KlT3bt3HzhwoH7CBx988MQTT5hMJqPKDgCVzg1rdmRwJMewZt6UL+VjTr2vVOEgZBka14xLyTNubly7QtXBnj17KooSHBx87ty5Tp06rV27tmbNmkQ0derUxx9/XD9nxIgRqqoOGjRo1qxZFy5cmDRpEhGlpKR8+OGHzzzzjGGFB4DKpkCymjkzEQWZAnNsuQhCX0EfYUUtWLDg4MGDaWlp2dnZ8+fPJ6KzZ88eOHCgX79+RJScnLxjx44vv/xy2LBhq1atmj9/vl6DfOqppxYtWqQoBjbsAkAlUyBb/TgTEQUKgTnoJvQdBKFnBAYGdu3a9dSpU0S0evXq/v3764uZbdq0qUuXLoIgEFHr1q3tdvuRI0eIKDY2tkaNGjt37vRtsQHAh6yS1cybiCiQ98+xY+Coz1ThptFKJT09fePGjQ8++CAR7dmz5+GHH9aPp6WlnThxYvz48fqPmqalpqa2a9eOiNq2bbt79+5u3br5qMgA4GMW2WLmzUQUICAIfQlBWFEjR44UBEHTtAEDBsyYMYOIrly5Urt2bf23mqZFREToyUdEGzdudCz4GRERkZaW5pMyA0BlYJNtJtZERP6oEfoUgrCiPvzww4EDB4aEhDiOmM1mu92u346KioqIiBg3bpz+4yuvvBIdHa3fttlszgNNAaC6scg2vUZo4gSrbPV1caov9BFWVGBgoMXeBw8AACAASURBVHMKElHTpk3Pnz+v3+7Vq9euXbv0QTEnTpxQVbV169b6r1JSUuLj440tLABUFoqmqKoqsDwRmTiTRbL5ukTVF4LQ8+69917HKJiWLVu2b99+1KhR33///ciRI6dPn67PHZRlOTExsVevXj4tKQD4jEWy+vFm/bbACRbJwDnR8G8IwgoZO3Zs4VrdkCFD9u7dm5n5zwZja9asadOmzS+//DJ16tTp06frB3/77bfbbrstNjbWyNICQOXhHIRm3mSVUSP0mardRxgdSDVMxi1KxBX62uAINmcBAQEzZsxYsmTJq6++SkR+fn76IBpnb7/99ptvvumdYgJAFWCRLPpseiISGJNVQh+hz1TtIAw1UWilXKTsmWeeKSgoKOGE77//vkaNGoaVBwAqG4tsNTvVCC2oEfpOFQ5CVdM+P/aVXRYNe8Q763W6pXZzd85kWTY4uKTVkpCCANWcRbKauX++yJs4AU2jPlSFg5BhSFKUbAN3djaxgsuR48eP22w2lmXr1avnmDtIRKdPn05MTBw2bBgR2Wy2pUuXnj17tmvXrkOHDtVP0CcU9u3bt7jHmj9//rPPPuvn5+eF5wEAvvfvIDTZFQShz1TlICSmV8OuV/KvGfaIcTUbuhwZPHiwoiihoaGXLl2Ki4tbv369HodTp0596qmn9HMeeeSR4ODgwYMHv/HGG6mpqXq34r59+1RVLSEI8/Ly3n333eeee85rzwYAfMkiW03cP9+tUSP0LYwaragFCxbs27fv4sWLmqbpi24nJycfO3bs3nvvJaLjx4/v3bv3008/vf/++1etWvX222+LolttuePHj1+yZIm+QjcA3HwsktX0v8EyJtZsl+2+LU91hiD0DLPZ3Llz55SUFCL66quvBgwYwDAMEf3+++9dunTheZ6ImjdvrijK4cOHne948eLFyMjIPXv2ENHx48cjIiKSkpKIKCYmpk6dOtu3b/fBkwEA77NKVhPvqBHyNgSh71ThptFK5fz58z/++OPIkSOJaM+ePXrvIBGlpaUlJSU5L7rtsr5oTEzMxx9/PHTo0F27dj300ENvvfVWixYt9F/ddttte/bs6dmzp4HPAwAMUiBb9YVGiUjgBEmVsUm9ryAIK2rkyJEsywYGBt533316/9/Vq1fDw8P13zIMU79+fUeY/fbbb0yhN3r//v1///331q1bDxgw4LHHHnMcr1279pUrV4x4DgBguHwx3zFYhiHGxAp2xe7PY3ycDyAIK+q///3v/fff73zE39/fav1nbmxUVFRKSoq+PRMRTZo0ybHotrPo6OicnJzbbrvN+aDFYgkKCvJOqQHAxwokSy2/mo4fTbzJKlkRhD6BPkLPa968ud5ZSER9+vTZtWuXPubl6NGjLMs6Ft12SExMXLhw4e+//z5v3rwDBw44jqekpDRt2tSwYgOAkaySTd+VV2fmsMqazyAIPe/ee+/dsWOHfrtp06Z33XXX0KFDv/zyyxEjRiQkJOi71TvcuHHjkUceWbZsWY8ePd5///2HHnooNzeXiGRZ/vvvv7EqN8DNyq7aBaepyWbOjCD0FQRhhUyfPr1ly5YuBwcPHnzo0KH09HT9x9WrV/fo0SMxMfHVV1+dNGmSy8lJSUmvvvqq3rj64IMPzpo1Kzk5mYg2btzYoUOHBg0aeP9JAIAP2CU7z/1/55SJFzBw1Feqdh9hREB4iKmklcw8i2VdvzeMHTu28Gl+fn4JCQmLFi3SpxUKgvDkk08Wd83OnTt37tzZ8eOoUaP0G2+//faiRYs8UGgAqJRsiqhvRqgzsSbszesrVTsIA4WAQKEybvLuWFam3DCDEODmJiqi86qNJs5kQ9Ooj1TtIKy6RowYoWmar0sBAD5jV+wC5xSELI8+Ql9BH2GFHDlyJDs72/Hj1atX9R4+Ipo8eXLhnZi2bNny6aefElFsbGzDhv+/cumMGTMqOGXQarXOmzdv2LBhH3zwgaqqFbkUABhAVETeqWlUwKhR30EQVsgDDzywbds2x49r1qx5+umn9duHDh2SZdnl/GPHjm3durXwdVavXn3jxo2KlOSxxx5LSkp6/PHH161b98ILL1TkUgBgALsiOY8aFTjUCH0GTaPe8vPPPzumw4uiePLkSecqoO7KlSv5+flNmjRxOX758mVRFBs2bKgvQ2O322VZ9vf3T0pKioyMdCxb43DmzJktW7akpqaaTKYWLVo0b978hRdeCAkJ8c4zAwAPkFTJZbAM+gh9BUHoLaGhodeuXQsPD9+7d+99993XtGnTzMzM+Pj4gIB/RveMHz9+48aNcXFxoaGhiqLoBy9duvTggw8qisLzvKIoP/74Y2Rk5H//+9/Vq1crisKy7LFjxxYuXPj44487P9aWLVs6depkMpmIKCoqSn/QHj16GPyUAcBNqqYpqsyxnOMIz/FGbjMOzqp2EFr2/qFJxs28MTe+ha9T3+XgggULvvjiC/32mTNnClfXxo0bN2fOnLFjxxYUFLRv375Dhw5EtHHjxs2bNx8/fjw4OHjVqlXff/+9fvLEiRMHDx6sb0M4a9as2bNnL1++nIgOHTp05MiRBg0a/PHHH6NHj3YJwqtXrx4/fvyhhx7Sf8zNzXVZ2hsAKhVRsQuswND/rzwssLwV8wh9pCoHoaqKl09rknHfofjwuoWDsGvXrp06ddJvb9iw4cKFC86/zc7OPnLkiL4rRWBg4AMPPKCfsHXr1sGDBwcHBxPRo48+OmbMGCKSJGnTpk1dunRZsWIFEcmyvHv3bv06nTt31ifXd+rU6dKlS5IkOa9Qw3FcgwYNHCuaHj16lOM4AoDKyq6IAmdyPsKzvB1Noz5SlYOQZUPvn+DrQlDHjh0HDRqk3z5//rxLEBYUFPA8rzdaElFgYKB+Iz8/PyIiQr/NcZyfnx8RWSwWSZJsNps+EjU0NHTixIkud+R5XtM0RVGcgzA6OtrPz88RhAkJCUUu7Q0AlYRdEU3svz5+BZbPVfJ8VZ5qrioHYVVQt25df3//w4cP33rrrUSUmJioj6Bp3rz5r7/+qp+TnJycl5dHRDVq1IiNjW3Xrl3//v3L9Ci9e/eeOnVqfn5+UFDQmTNncnJyHJVUAKiE7LK9cI1QRB+hjyAIvYvjuBdffHHYsGHPPffcsWPHDhw4cPfddxPRqFGjFi5cOGXKlNtuu+3TTz91jC9dvHjxhAkTJk2aFBMTc/r0aUVR5syZU+qjREVFPfroo/fdd9/QoUPfe++9hIQEvYoJAJWTXbGbuH99/PKsYFfRR+gbCMIKefnll9u0aeP4sXv37rGxsfrtd999V4+3GTNmNG7cePfu3a1atdqwYUNGRgYRhYSE/PXXXytXrjxx4sSyZcv27t1bt25dIrrvvvvi4+N/+OGHxMTE2NjYgQMHEtFdd93luKwgCMuXL3fZwkJ/uDVr1hw7dmzu3Ll9+/b19hMHgIqwK6LA/qtGKLC8XZZ8VZ5qDkFYIcOHD3f+sU2bNo5cdF5udPDgwYMHD3a5b2Rk5Isvvqjfdt53sHnz5s2bN3c+s1mzZs2aNdNvcxw3bty4wiVhWfbRRx8t59MAAGPZZVH494g2gRXsCmqEvoGVZQAAjGb/9/pqRMSzHPoIfQVBCABgNLtiL9Q0KogamkZ9A0EIAGA0u2znmX83jXICVpbxFQQhAIDR7IrovAcTEQksLyoIQt9AEAIAGM2uiDz7rxohz/GigqZR30AQAgAYzS7bXYOQ5SUVNULfqErTJzIyMt58801fl6Kq0jTN10UAgH/YFZFj/tU0yjOcqmmqprIM6idGqzJB2KBBg9GjRztvBw9l8sorr2AlboBKwibbBM7141dgBVER/XgsC2W0KhOEQUFBc+fO9XUpAAA8wKbYTazr+lA8x9sRhL6AOjgAgNFsiiiwrvUQEytg4KhPIAgBAIwmyjaec60RmjjBjiD0BQQhAIDRrLK9cI2QZ3kEoU8gCAEAjCYqEl9osIwJi8v4CIIQAMBokiIKhQfLMLyIqYS+gCAEADCaXZFc1holIp4VsAGFTyAIAQCMJmsSX6iPUODQR+gb7s4jTE1N3bJly6FDh6KioqZNm1b4hIsXL77xxhuOH0eMGNGlSxfPlBEA4OYiyq77EZK+JSGC0BfcrRFu2LBh7dq1R48e3bBhQ5EnXL9+/bvvvmv3P+Hh4Z4rJADATcWuykUFIWqEvuFujXDChAkTJkxYtmzZmjVrijsnODh43LhxHioYAMBNS1Yll0W3iYjHTkw+4skl1m7cuDF27Njg4OB+/fr16NHDg1cGALiZiIpU1DxCDjVCn/BYEIaEhDz55JPNmzc/f/78gw8++Nprrz311FNFnnnq1KmtW7f+9ddfjiNLly6NiYkp7sr5+fmeKiSUjyzLkiTJsuzrglRr+EfwObvNJstyXl5exS8lKZJolzTpX3vCaArlWnI9cv2bWFn/EQICAkrdb8BjQdikSRPHYJm4uLgZM2YUF4QxMTGdO3cePXq0/qMgCE2bNuX5kkoSHBzsqXJCOehB6O/v7+uCVHf4R/Atxs9P5XmP/BUUTQ4KCGIZxvmgv8mP4Vn8lUvl8ZfIK7tPxMfHZ2RkaJrG/PvPrPPz84uNje3Zs6c3HhoAoJKTVJllWLbQx6PA8jbF7pMiVXMVnUe4YsWKK1euENHFixcVRSEiWZaXLVvWqVOnIlMQAKCaE4taVoaIOJbDhHqfcDcIf/7551q1ak2bNm337t21atVyNGw+/fTTp06dIqIVK1ZERkZ27NgxJiZm7969y5cv91aRAQCqMlGRCu/KSxg16jvuNo327t377Nmzjh9NJpN+IyMjIzAwkIhef/31SZMmXb58uXbt2vXq1WNZrFkDAFCE4mqEPIu1Rn3D3SAUBKFmzZqFj4eEhDhu16lTp06dOp4pFwDATUpUilhWhvQglCXjywOotwEAGEoqalkZIhJYTlQQhD6AIAQAMFSxNUKGt6Np1BcQhAAAhhIVkWeKCEKO4yXUCH0BQQgAYChJlfmi1jrh0TTqIwhCAABD2RVRKKpGyDO8rCEIfQBBCABgKFERea6Y6ROYR+gLCEIAAENJqsQxRTaN8mga9QkEIQCAoUSliM0IiYhnOUnFHi8+gCAEADCUqIjFBCFGjfoGghAAwFCiIrHFrCwjqQhCH0AQAgAYSlIkvqjVmDmGk9E06gsIQgAAQ4mqxFMRTaMswzAMI6uK8UWq5hCEAACGsit2vqjdJ4hIYE2YQWE8BCEAgKHsssQVNViG0E3oIwhCAABDSWrRo0aJSMCcel9AEAIAGMqu2IvcmJew3KiPIAgBAAwlKsU2jQqsIKJp1HAIQgAAQ0mKVOQ2TITlRn0EQQgAYCibIgpcMUHIcZKCqYRGQxACABhKVKQid6gnDJbxEQQhAIChpGIW3SYijsH0CR9AEAIAGKq4bZgIfYQ+giAEADCUpIp8cX2EDCtiuVHDIQgBAAwlKhJfTI2QQ43QFxCEAACGklSluMEy2JLQJxCEAACGkksaLMNiZRnjIQgBAAwlqzJXzIR6juUwatR4CEIAAEOJqiQUv/sE+giNhyAEADCUqilscUHIcFhr1HgIQgAA40iqzDIsQ0yRv+VYXpRRIzQaghAAwDiSIhW3PT0R8SxnU+xGlgcIQQgAYCRRFYubO0FEPMvLmFBvOAQhAIBxJEUSSgpCzo7BMoZDEAIAGEdS5eImERIRz6CP0AcQhAAAxhFLqRHyGDVqPAQhAIBxJFUqbjY9EXHYmNcXEIQAAMaRFKm4rSeISMA8Ql9AEAIAGEdUi916grD7hI8gCAEAjCMpUinTJ7DotuEQhAAAxilhe3oi4hle0hCERkMQAgAYRyyxj5DnOGzDZDwEIQCAcUSlpBohx3CSqhhZHiAEIQCAkSRV4tliP3h5lpMwWMZwCEIAAONIisSVMFiGEbDWqPEQhAAAxhFViafim0Y57FDvAwhCAADjSIrEcSWMGuVUTdVIM7JIgCAEADCOpEps8YNliIhlOAkDR42FIAQAMI6oSCXsPkFEAstL6CY0FoIQAMA4olLSEmtEJHA8phIaDEEIAGAcURG5EmuEPMNjvIzBEIQAAMYRFbGEtUaJiOew7rbREIQAAMYRVbHkPkKeFTBYxmAIQgAA44iyxLNCCScIDDapNxqCEADAOCXvR0hEHMdik3qDIQgBAIwjKXIJE+oJg2V8AUEIAGAcUZWEkmuELIfBMgZDEAIAGKfkRbeJSGAFzCM0GIIQAMA4Je9QT0Qcw2GwjMEQhAAAxpFUsYQd6omI5zgZNUJjIQgBAIxT6hJrLLGoERoMQQgAYBxJVUpZWYbFWqNGQxACABhHLm33CZ7B3rxGQxACABhHVmWOKalGyLHYj9BoCEIAAOOIqiSUWCNkUSM0HIIQAMAgGmmqprClbcxrx4R6YyEIAQAMIisyy3AMMSWcw7GcXUaN0FAIQgAAg4iqJJQ4ZJSIeJaTVNQIDYUgBAAwiKRKJc+dICKe5e2K3ZjygA5BCABgEElxIwgZDtswGQxBCABgELG0SYRExHOYUG80BCEAgEFEVRJK3J6e9D5CBKGxEIQAAAZxp2mUY3g7BssYC0EIAGAQNwfLYPcJgyEIAQAMIikSV1ofocDydqwsYyx3g3D16tUPPvhgs2bNlixZUtw5s2fPjoiICAsLmzp1qqqqHiohAMBNQlQkvsSFRgl9hL7gbhDm5OT07t07Ojo6Ozu7yBPWr1//+eef79u3Lzk5+ffff//kk088V0gAgJtBqQuNEhHH8lhr1GDuBuFTTz01duzYOnXqFHfCypUrx48fHxMTU7t27WeeeQZBCADgQlKkkhcaJSIB+xEazmN9hCdPnrzlllv027fccsupU6c8dWUAgJuDpJayPT0RcQwvo0ZorFJaq92XnZ0dHBys3w4JCcnKylJVlWWLCNojR46sWbNm3rx5+o9ms/nvv/9u1KhRcVfOz8/3VCGhfGRZliRJlrHahS/hH8Hn7DabLMt5eXnlvkJuQR5pZLVaSzhHViRRkSryKDe3sv4jBAQEcFxpixhUoDz/EhYWlpubq9/OyckJCwsrMgWJqHXr1g0bNpw7d677F3dELPiEHoT+/v6+Lkh1h38E32L8/FSer8hfgTNxZsFU8r+SSRUkVcbfugQef3E81jQaHx9/5MgR/fbRo0ebNm3qqSsDANwcREViS5tHyLKcqikaacYUCcj9ILx06dL+/fuzsrLS0tL2799//fp1Ijp16tRDDz2kn/DEE08sX7787NmzaWlpixcvHj16tLeKDABQNUmKxDOlfOoyxLAMJ2PdbQO52zT69ddff/XVV0SUkZExfvz4mTNnPvDAAzab7dy5c/oJAwcOPH78eLdu3VRVHTly5GOPPealEgMAVFGiG4NlSB84qkoCV8qqpOAp7gbhtGnTpk2b5nKwdevW+/btc/yYkJCQkJDgsaIBANxcJEXiuNI/dQWOFxUpEDloFCyxBgBgEFEVOTdqhDzDiwrW3TYOghAAwCB2WRRKGyxDRAInYHEZIyEIAQAMYlcld2qEHMtjuVEjIQgBAAwiKSJf2uRuIhJYDqusGQlBCABgEMmN3SdI7yNE06iBEIQAAAaRVIlzo4+Q5zgMljESghAAwCB2RRLcGjWKwTKGQhACABhEdm8eIYc+QmMhCAEADGJX3FpZBpvUGwxBCABgEFmVeHf6CBkOg2WMhCAEADCIpMluziPEYBkjIQgBAAzi5soyHMtJ2H3CQAhCAACDyKrEuzNYhmFFFTVC4yAIAQAMIipu9RFiiTWDIQgBAAwiuTdYRsBgGWMhCAEADCKrsjvTJziWt8toGjUOghAAwAiSKrMMyzBMqWfyLJZYMxSCEADACKIi8qxbu87zLI8l1oyEIAQAMIKkSu7MnSAinuXtit3b5QEHBCEAgBHcHDJKetOojBqhcRCEAABGEBXRxLnVNCqwPBbdNhKCEADACKLi1maERMQzvF1F06hxEIQAAEaQFElgS587QUQ8y4tYYs1ACEIAACOIqsgz7o0a5XgRg2UMhCAEADCCqEh8GWqE6CM0DoIQAMAIoiLxnFtBKLA8Ft02EoIQAMAIZZpQjz5CIyEIAQCMIKoiz7g1alRgeQlLrBkIQQgAYARRkTjWrY9cHtswGQtBCABgBMntlWUEVsA2TEZCEAIAGEFURM69plGGYRhiFE3xdpFAhyAEADCCqEg85+5HLlZZMxKCEADACKIq8eTW9Aki4jkBG1AYBkEIAGAEu2LnOLeaRgk1QmMhCAEAjCAqkpvTJ4jIxAnYpN4wCEIAACOIiujmEmuEVdaMhSAEADCCXbG7OX2C/glC1AgNgiAEADCC+/MISZ9KiCA0CoIQAMAIZeoj5DkOTaOGQRACABjBroqC26NGeeLtqBEaBUEIAGAEu1yGplGe49A0ahgEIQCAESS3N+Yl9BEaC0EIAGAESRHdrxFyDId1tw2DIAQAMIKolWWwDIumUeMgCAEAjCApEs+52zTKsRg1ahwEIQCAEeyKKLCCmydjQr2REIQAAEYQFUlwf9Qow2H6hGEQhAAARhAVsQxBiBqhgRCEAABep2qaqims+9MnOMEmYz9CgyAIAQC8TlREgRUYYtw8n2c4O6ZPGAVBCADgdaIi8py7I2VIbxpFjdAoCEIAAK+zK3b3h4wSEc9hP0LjIAgBALxOVCST2ytuE5HAoo/QOAhCAACvK9MkQiLiOV7CqFGjIAgBALyurE2jAstbFdQIDYIgBADwOntZJhESkQm7TxgIQQgA4HWiLPJlqhFygh01QqMgCAEAvM6ulGF7esJ+hMZCEAIAeJ2oiO7vyktEAsvbMX3CKAhCAACvs5dlV14iElheRNOoURCEAABeZ1fsZRosw7G8qmmqpnqvSOCAIAQA8Dq7InJlaRolIhMrYCcmYyAIAQC8zi6LPFOGUaOEgaMGQhACAHidqIpCWWuEnGDHKmuGQBACAHidXbbzZZk+QUQCa0LTqDEQhAAAXmeTy7bEGhEJLI91t42BIAQA8DqbYivT9AkiMvEYLGMQBCEAgNeJilSm6ROk782LIDQEghAAwOvK0zTKYEtCgyAIAQC8rqy7TxCmTxgIQQgA4HV2uWyLbhORwHKYPmEMBCEAgNeJStm2YSIinsNgGYMgCAEAvE5UyzyPkGc5BKExEIQAAF5XnlGjGCxjlDL8YVRVPXLkCMuyt9xyC8MwLr9VFCU3N9fxY0BAgNls9kwZAQCqOLGM2zARkcDxNgyWMYS7f5icnJyePXuKoqgoSmho6K+//hoUFOR8wqFDh26//faYmBj9x3nz5j300EMeLiwAQNVkk0UTZyrTXXhsSWgUd5tGly5dGhYWdvDgwcOHD/M8v2LFisLn1K9f/+z/IAUBABxEtTxLrFklm5fKA87cDcJvvvlm1KhRLMtyHDdq1KhvvvmmyNMuXbqUmZnpueIBAFR5kiozxHBM2cZkmDgBTaPGcLdp9OLFiw0bNtRvx8bGXrp0qfA5aWlpvXr1unr1avPmzb/66qvY2NgiL2WxWM6fP79582b9R4Zh7r77bkEo23clAICqwibbytouSnrTqIxRo0ZwNwitVqvJ9M8f0s/Pr6CgwOWEZs2aZWRkBAUF2Wy2MWPGjBs37rfffivyUqmpqXv27Ll69ar+I8MwUVFR9evXL+6hCwoKCo/NASPJsixJkqIovi5ItYZ/BJ+z2+2yLOfn55f1jlnWLIE12WxlbOdUKN9uKcfD3dzK+o8QEBDAsqXUxd0NwsjIyKysLP12ZmZm3bp1XU4IDAzUb/j5+U2dOrVLly6aphVZ3CZNmkRGRs6dO9fNh9Y0zWVgDhhMD0J/f39fF6Rawz+C75nNCs+X46+Qreb48SY/P78y3SvIL0AiGX90F974R3C3zbpDhw67du3Sb+/cubNjx44lnHzx4sVatWrh2ysAABHZFLtQjqZRTrDJGCxjBHdrhM8880z//v0bN24sy/KyZcv++OMP/XjdunXXrVvXuXPn5cuX5+fnx8fHp6SkzJ07d+rUqV4rMwBAVWKT7eYyDhklIjNrtisIQiO4G4RdunT55ptvPv30U5Zlf/jhh/bt2+vHR40aFRkZSUStWrX68ssvd+3aVbt27Y8++mjAgAHeKjIAQJVik20CV+YgNHG8FSvLGKIMKx306tWrV69eLgfnz5+v37jzzjvvvPNOj5ULAOBmYZPt5Rg1auJMaBo1BtYaBQDwLptiK+tseiIycSYsum0MBCEAgHfZZDvPcmW9F8/yqqoqGqYteR2CEADAu2yy3VT2PkLSF5dBN6H3IQgBALzLJtvKuvWEzsyZrOgm9D4EIQCAd9kUu6nsfYREZObNGC9jAAQhAIB3WSQLX66mUQE1QkOUp7YOAADus8l2P748G5Wb2YrOoBBV2nBBXX9BO5ih5Ulk5qhFTaZffeahRmyNMk/ouGkhCAEAvMsq24LNweW4o6kCNUKN6LOT6kv71Uh/uqMOM645G8CTqNC5PO2LM9pzidLkllzCraxfmUez3oQQhAAA3mWTbAJTvlGj5dybN91Kw7bJaQU07RY2vsa/ln2OCWK61aV0K7PqjPbFOvnre7i24dV9XWj0EQIAeJdVsZvLN32CL0/T6PFsrf0PcriZmduec0lBhwh/Ztot7AMNmd6/ymvOquUo280ENUIAAO+yybbyDZbhGb6sTaMHM7V7N8qj4tmukaXXc7rUYesHMlP+VrNEmti8+taLqu8zBwAwhl0Wy1kjZIUyBeGJG1qfX+VxzdxKQV2DIOaNduwbB9UVydW3XoggBADwLptiK8d+hETEc4L7fYTXrHTvr8rwOPb2iLJ9sEf4M6+0ZWftV9dfqKZZiCAEAPAuu1zOCfUmt/fmlVQa9Lt8dyR1r1ueT/W6AUxCG3bMDuVAhlaOu1d1CEIAAO+yKWI59iMkIjNnsshWd86c9rfCYyMd1AAAFfVJREFUMszDjco/GSIuhBnfjB20WcmofjP4EYQAAN5lL9d+hERk4gR3gnDDRfW7FG1yS7aC0yA612HviGCGbZPValYtRBACAHiRTbZzDMsx5fmwNXGmUvsIr1lpzA7l2VvYQE9MAni0EXvFQguPVq/OQgQhAIAXWWWrn+BXvvsKXOmjRsfsVHpEsc2KmS9YVhxLz7Zi5x9RDmVWo1ohghAAwIsskrV8C40SkYk1WUtsGv3qrHryhvZwY09+kkf4MY83YYdtU+zVZktgBCEAgBcVSBY/rpw1QjNvLiEIM+30zJ/KxOYs7+kl0rrVZcPMzJwD1SUJEYQAAF5kkSzmco2UISJ/zlQgFRuE0/5SOtdhm3ioUdTF2GbsimT1YPVoIEUQAgB4kUW2ljsI/Xg/SzFBuOea9utlbVictz7Da5poZDw7eoeiVIMoRBACAHhRgWQxlbeP0MyZbbJNI9csUjR6crcyMo7x9+YmSt3rsizRu8dv/hGkCEIAAC+ySOWvETIMI7BFrLL2cbLKEN1VrkVkyvDoROOasa8fVFILbvJaIYIQAMCLLJK1fLPpdf6Cv0WyOB/JEWnWfmV004pOn3dHdCBzbz32mb9u8kohghAAwIusslUo10KjOn/enP/vIHz1oNKhNtso2KDddB+IZf+8pv2RdjNXChGEAABelCfmm/ny1wj9eL8CqcDx47k87dNT6lCPThwsmYmj0fHMU7sV6eatFiIIAQC8qECy+nHlHCxDRH6cucCpRvhcojoghg0tf7CWR6cItoaJlibdtEmIIAQA8CKLaDGXd9QoEZl5U4H4TxAmXtd2XdUGxvjgc3t0U/aNg0q6WzthVD0IQgAALyqowKhRIjJzJkeNcOrfytDGjNmbUyaKEx3AdK/Lztx7c641gyAEAPAii2wxV6Bp1MT76UH400XtakE59931iAcbsRsu3pxrzSAIAQC8yCJZKzJYxszyBZJF1ei5ROXROMaIORPFCORpaCN20p83YaUQQQgA4EUW2eZXkaZR3q9AKlh9RhVY6ljbx5/YPaPZdCutS7nZRs0gCAEAvMhagSXWiMiPM9+wF7y0Xx3utWVF3ccy9Fg8O+1v1XZzVQt9/8oCANysNNJsiq0ifYR+vPl4Zl69AKZ5qO9aRZ20rsnUD2Leubm2sEcQAgB4i0WyCqyJY8r/ScuS+UxOwdC4SpGCulFNmAVHlSuW0s+sKhCEAADekifmBwoBFbnCnuumIN7aMKgSBWGkP9Mzik24iaZSIAgBALwlT8z35/3LffcckXZcMwXyBaWfaqwHGrE/X1IPZNwkUykQhAAA3pJrzwsUyh+Ea8+pTUIDRSXPg0XyiACOhjZmn/7zJtm1F0EIAOAtufY8f8GvfPdNt2pbr6hd6vjLsqhola4dslcUm2Wjr8/dDKNmEIQAAN6SK+aVu2n0v6e19uFMkMAIvJ9dzvdswSqOYejxeHba36pF9nVRKgxBCADgLXn2fL9yLSuTkqcdzFQ7RbBEZOYCrVKup4vmAS1rMvE1mPmHK11ttawQhAAA3pIr5vlx5Wka/fSUemcka2aJiMx8QOUMQiIaGce8l6Sm5FXtvkIEIQCAt9yw5waUffrE4SztUgG1DftnyoSJ87dKlW68jC7cj7mvATv5z6rdU4ggBADwlryyD5bRNPo4We1el+H+N3XQxPlb5UpaIySigTHskSzt50tVuFKIIAQA8JZce55/GadPbLmiaUTNnBZUM3F+VrmS1giJSGDpiabs03sUa5UdNYMgBADwllwxP6Aso0ZFhVadUe+J+tduSwLnZ6usTaO628KYBkHMG4eq6qgZBCEAgLfki/n+fBmaRr9J0aIDmPqB/zpo4gMKpBseLpmnjY5nPjyhnrhRJRtIEYQAAN6SJxW4P48ww6b9dEnpXtd1WVET619pR4061DIzDzdkx+6skmvNIAgBALzCJtsZjUyc4Ob5K09p7cLYGoWmHZr5gEo7atTZf+qzN0RadqLqjSBFEAIAeEWWLbuGXw03Tz6WrSVla53rFLHLRGWePuGMYeipFuxL+5RLBVWsWoggBADwikxrVogpyJ0zFY0+OKH2iGKEoj6S/YVgS6XvI9TVD2T61WfH7KhiDaQIQgAAr8i0Zgebg90588cLmj9Hxe1Bz7NmTVMlxebR0nnLkFj2Yj59fLIqNZAiCAEAvCLTmhXkxrIy6Tbt6xSld3RJn8b+php59kzPFc2LOJaeacXOTFTOVZ111xCEAABekWHNDjQFlnraB8fVjrXZWuaSzvHng/KlLI+VzMvqBzJDGrKPblWqSgspghAAwCuuW66HmEppGt12RUuz0h0RRTeKOvjxwVWlRqgbEMOqGr16oGpMsUcQAgB4RYYlO7jEwTLZIn2crPSrz3Kl5CCZ+cB8sSoFIUM0uSX34Qlt65UqUCtEEAIAeEWWLSvYXFIQLj2utgljo9zYncJfCMq1Z3isZIYINdEzrdhHtypXLL4uSmkQhAAAXpFlvVHC9IlfL2lpBdpdkaVVBomIyI8Pya9qQUhEbWoxvaKYwZtlqXKPIUUQAgB4nqwqVtnqV8z6apcLtP+eUQY2KL1RVOcvVLE+QocHG7Ecwzy9p1J3FiIIAQA871pBeqhfKMsUEXR2heYdVrvVZWu7vRy3Px+cJ1aZUaPOGKJnWrGbU7V3j1XeWiGCEADA8y7npdX2DyvyV++fUGuamNvC3KsMEhGRHx8sygVVZU69C3+OXryNfeOw+uOFSpqFCEIAAM+7nHelpn9o4eMbLmnJN7T/1C9DChIRwzBB5rBsW5qHSme0CD9mZht29E5l97XKOIgUQQgA4HmXclNrFlpx+1CmtuaM8kBD1lT2j95gU60sS6pnCucLTUKYZ1tyg36XD2RUuixEEAIAeN6l3NSwfzeNns/TFhxR7o/lahbaaMkdAeaaWdYqHIREdGsYM6EZ2+dX+WBm5cpCBCEAgOel5l8J96/p+PGqVZt9QO1dj23g1nYURQgWamVYLnmmcL7TKYId14ztvVHeU5naSBGEAAAepmhKhjWrlt8/fYTXbdqLe9U7IpgWxewv4Y4gU3hVrxHqbo9gJ7fkBv4u/3SxsmQhghAAwMMu5abVNIdyLE9EV63azES1bW2mXXj5U5CIQvzCblivaFolHXhZJreFMS+04cbsVN45WimeDoIQAMDDkjJOxtSIJqJzedrziWqH2kzHiqUgEfGsOUCocd1y3gPlqwTiazDzOrAfJqvDtioFso8LgyAEAPCwY9dPRAVF/p2uvbRP6RFV0bqgQ1hAvdTcEx65VGUQ4cfMa89l2Knt9z4ePoMgBADwsGPXk4/eiHovSX24IVfcvvPlUNM/6lLOcU9drTIwczSpBXtfDNNzozx7vyr6qKEUQQgA4ElHs6wXctOT8yPGNGWjSt+XtwzC/Oul5SZ78oqVw9112UUduT/StFbr5F8v+6BqiCAEAPAMm0KvHlDv+2WvvznmkUZ8IO/h6weaa2kapRec8/B1K4EwP2ZmG3ZoY/bJ3co9v8h/phsahwhCAICKklX6/LQa/438xxWtc80dLcKbeaw91AlDTL0aLY9d2+qFa1cKHcKZxZ24VjWZBzYrd22Qf7ygKoYEYhmCMDExcd68eStXrrRarUWecOXKlSVLlixcuPD8+fOeKR0AQOWWI9LiY2rjr+Ulx9RJLdjJza1X845EBTf10sPF1Gh5In27okpeur7PcSz1jmY/6MzdEcG8sE9tsEaetV9JvuHdPHQ3CNeuXdu/f3+73f7tt992795dUVw3l7p8+XKbNm2SkpJSU1Nvu+225OSbsCEbAEBnkWn9BfXhLUrMV9KGi9rkFuyr7bjmocyfF7+uF9JC4NzeYKmMgsxhNf3r7kv9wUvXryQ4lu6uy87vwM1szSZlU7eflaZfy8/vVbZe0Wxe2NnQrTZsTdPmzJmzdOnShx9+WJblFi1a/PLLLwMGDHA+57333uvZs+fy5cuJSFXVhQsXfvTRR54vLwCAj9gVSrcxKw+rf6Sqf6VrzUKZjrWZZV34YOGfE67mnzl6bfM9jZ/wajFaRfbYfu7zhrXaRgQ28uoDVQaxwczjwcxj8XQ6R9uXoU3eo1wsMF94hELLtV5rcdwKwrS0tBMnTvTr14+IeJ7v3bv35s2bXYJw8+bNU6ZM0W/369dv7NixniwmAIBRrDJl2rVrVkqzaBfzKSVPO3GDkm5onS9rPUUmMV27PYIZ24xzHgujadrJjP9r795jmsryOICf2wcttCBUHr1FkRktSHRlDJYVfJDII4AyGKMTg/5jiIkxIdFEJVGDGoL8IZpIIiYY0X/EiUYdEBQIIlRW3IpSHsH4nEUppesLW9pSeh/7x3W7ndWBKpTT4f4+f53enPR+k97TX+7rnPbml5XLVeulou+dTtQzMnHIT2Tmlb6j637YERu2VkgIvbo7X0AgFDOHiJlDoIUoGDmC/aa1DHpYCA0Gg1wul8s//7pKpbK7u/vLPkql0tXBaDSyLEt8bXVmo9Go0+n279/PfSQIYs+ePXPnfn0FS4TQ/o7GEafZk5zAS1iWZVlWIIBHq3CiaVoonP1/eR5iv+WeEcUiyu0FNRYhikE0S7AIUQxLsYhmCYpBDgZRDDvOECyLJEIkFSKpkPUXElIRChKxGSFIY/+dfPfvH4UXbWb0TzNCCDmZMSdtHx3/+Nb2L5k4JIH8WeE/n6K8cPHuj8ID1CuUMt2b35pfVIbKFsj95ooFEonw8180gQjkjWd1fEMAwS4L/UUi9LQW+vn5fbUSufOoEAqFQtbtuGMY5ssB6d6HYZgJ/jSFQqFUKg0J+TwvO0EQYrF4gv6BfgE04RPz0fEWFEJfQNG0CArhdxEJkPiPB69YgEQChBASEUhMfO4gESI/AZIK/7+zi9IiCbKIfgoLdG2RCsOkIkmIdM7C4OjQP1mP3pt+/jj26fdPA+/tHxz0+KjTOuMBMKDHKZFAOL1/Rx4VQpIkrVar2WwOCgpCCA0PD7tO/tz7GI1Grm00GkmS/LMiHB4enpycfPDgQQ8jFiWsCQwMnLwf8BqKopxOp7+/P+4gvGaxWGAg4DVqbbRZ9X//2y+4g/xPuDg0PDAUd4oZZbFYAqQB0/udHhVVlUoVHx9fU1ODEHI4HA0NDVlZWQghm83W29vL9cnKyuI6IIRqa2szMzOnNygAAADgDZ7OfHDs2LH8/Hy9Xt/Z2RkdHZ2eno4Q0uv1q1at4q6I7t69W6PRbNu2LSAgoKampqOjw4upAQAAgGni6WXW3NxcrVYbHR1dUFDQ0NDAXZ/l3qPgOnBP0KSlpSUmJvb09CxcuHC6Ip46dYqicK/SwW/d3d23b9/GnYLvysvLx8bGcKfgtaGhoTdv/vJrxP/VVVRUjI6OTu93Euw3PX01HUpLSy0Wy/Hjxz3sr1AoXrx4oVAovJoKTODMmTPd3d2VlZW4g/DavHnzHjx4MG/ePNxB+KvxZNHYi57cs7/hDsJrarW6vr4+JiZmGr8TngMEAADAa1AIAQAA8BoUQgAAALyG4R7hjh07ampqXC/UT2pgYGD+/PnwNjdGFovF4XCEhvLrdSVf8+bNG5VKBZPLYPSjlCWlgn94eSUEMLHBwUGlUikSefrKQ15eXnFx8cR9MBRCu90+ODjo+Xh2OBwSicSrkcDEGIahaVosFk/eFXgNDATsYCD4gm8dCCRJTjoZCIZCCAAAAPgOuN4IAACA16AQAgAA4DUohAAAAHgNCiEAAABe8/QJVCwYhrl06VJXV9eiRYvy8/PhkbmZ9/Llyzt37rg+5uTkkCSJMQ9/mEymzs5Og8GQmprqPnPv69evL1y4YLVaN2/enJiYiDHhrMcwzNOnT7u6uqxW686dO13bb926NTg4yLWDgoK2bt2KKSAv9Pb2NjQ0DA8Pq9Xq7du3u9aHt9ls586dGxgYSEpK2rJlyxT34tNnhPv27Tt58qRarb527RocbVh0dnaWlpa++i+Y9HnGpKSklJSUFBYW6nQ610aTyaTRaEZGRiIiIjIyMlpbW/EFnP3a29vXrVtXUVGxa9cu9+2nT5+ur6/nRgTMwe1VDMOkpaUNDg5GRUXduHEjMTHRav28+PD69eubmprUanVRUdGkrwlOjvVV79+/9/f3f/bsGcuyFotFLpf39fXhDsU7v/76a3p6Ou4UfETTNMuyy5cvr66udm0sLi7Ozc3l2idOnMjMzMQTjh+4n6Cvr08gELhvz8jIuHz5MqZQvGO327nG+Pg4SZJ1dXUsy7a3t4eFhY2NjbEs29nZGRISYrPZprIX3z0jfPjwoVKpVKvVCCG5XL5y5UqtVos7FB8ZjcaysrLz58+bTCbcWXjkq1MpabVabilQhFB6ejqMCK+aYDar5ubmsrKy2tpahmFmMhIPSaVSV3tsbIy7NNrW1rZ27VruZllCQoJAIOjp6ZnKXny3EA4PD4eFhbk+RkREDA0NYczDT4GBgfHx8SMjIzdv3ly8ePGjR49wJ+I1o9HoGhTh4eE2m21kZARvJB6KjY2VyWTv3r07cOBARkYGTdO4E/FCUVFRXFzcmjVr0BfVITw8fIrVwXcflhGJRO5HmNPp9PPzw5iHn7Kzs7Ozs7n23r17jxw5UldXhzcSn4lEItci1VwDpvuaeeXl5Vzj8OHDsbGxNTU1mzZtwhtp1quqqqqurtZqtdxpukgkcn9eYerVwXfPCFUqlXuRNxgMKpUKYx6QnJz86tUr3Cl4LTIy0jUoDAZDcHCwTCbDG4nP5HJ5fHw8DApvu3jx4tGjR1taWhYsWMBtiYyMNBgMXJuiKJPJNMXq4LuFMDk52el03rt3DyH0+vXrx48fZ2Vl4Q7FO3a7nWuwLFtXV7d06VK8eXguJyfn+vXr3H2pq1ev5uTk4E7EOzRNO51Orj08PKzT6ZYsWYI30ux25cqVQ4cONTY2ur9EtGHDBq1W+/btW4RQY2OjQqFYtmzZVPbi05NuV1ZWFhUVZWdn3717Ny8vr6SkBHci3tm4caPZbI6MjOzr6zObzU1NTe6HI/CegoKCjo6OJ0+eREREKBSKs2fPajQaq9WakpIik8lIkmxtbW1ra4uNjcWddNb69OlTamqq3W7v7+9PSEgIDQ1taGgwmUzx8fFJSUkSiaS5uTknJ6eqqoogCNxhZyez2axQKJRKpVKp5LYUFhZybw3u3r27ubl59erVdXV15eXlU3y/zqcLIULoyZMner1erVavWLECdxY++vjxo06n+/DhA0mSycnJcJt2xjx//txsNrs+xsTEBAYGIoQcDkdLS8vo6GhaWprni3qC70BRVHd3t+ujWCzmTjuePn3a399PUdTSpUvj4uLwBZz9aJrW6/XuW6KiolyPydy/f39gYECj0SxatGiKO/L1QggAAAB4le/eIwQAAABmABRCAAAAvAaFEAAAAK9BIQQAAMBrUAgBAADwGhRCAAAAvAaFEAAAAK9BIQQAAMBrUAgBAADwGhRCAAAAvAaFEAAAAK/9BzsLVzRAgxw6AAAAAElFTkSuQmCC", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/html": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "_rθ = range(0, 20, length=500)\n", + "_p = plot(title=\"Simulation results: Distribution of \"*L\"θ^{\\mathrm{sim}}=λ\")\n", + "plot!(_rθ, (x) -> pdf(Gamma(_αᴳᵃᵐ, _θᴳᵃᵐ), x), fillalpha=0.3, fillrange=0, label=\"P(θ)\", c=1,)\n", + "plot!(_rθ, (x) -> pdf(_θˢⁱᵐ, x), fillalpha=0.3, fillrange=0, label=\"P(θ|x)\", c=3)\n", + "vline!([_θ̆ˢⁱᵐ], label=\"Hidden θ\", c=2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Evaluation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following data comes from the inspections of the volunteers over a period of 12 months:" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[5.0, 7.0, 6.0, 10.0, 8.0, 5.0, 7.0, 9.0, 13.0, 9.0]" + ] + } + ], + "source": [ + "_fld_df = DataFrame(XLSX.readtable(\"../data/litter_incidents.xlsx\", \"Sheet1\"))\n", + "_yᶠˡᵈ = fld_data(_fld_df, _𝚂, _𝙳, _𝙼, _𝚅, _𝙲) ## field data\n", + "_yᶠˡᵈ = first.(first.(first.(first.(_yᶠˡᵈ))))\n", + "print(IOContext(stdout, :displaysize => (24, 30)), _yᶠˡᵈ[1:10]);" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdd2AUVf4A8O+bspvdZBPSCAHSgFCF0Kt0gmBBQRRFQBEQPRE823F65wk/9UA8TzzRQwTBAtKLEuEIaCgSSugoAdIpIYQkZPtOeb8/JiybLckm2ZDIfj9/Zd++mfnOe2/mu5Od2UcopYAQQgj5K6ahA0AIIYQaEiZCdIesWLFi2rRpFy9erNFSZWVl06ZN++CDD6qt+eabb77wwgu1ja5OXnnllT/96U/2l0VFRdOmTfv3v/99Z7b+pz/96ZVXXrkz20Lo7kQR8hGdTse788ADD1BKp0yZAgD79u2r0TovXboEAAMHDqy2ZlxcHMdxVdf5xz/+YR/5DMOEhoYmJCSMGjXqnXfeuXjxYo0CcxQVFaXVau0vL1y4AAAjR46s9QrtPv30U57nn3vuuSrqaLXaqKgo+8vCwsKlS5fu3r3bqZrRaFy6dOnmzZvrHpU3PA0GnudnzZp1Z2Jwa9OmTUuXLjWbzQ0YA2psuIZKwOjuY7PZBEEYMGAAz/OO5R07dgSADh06DBkypEmTJg0U3W1xcXGJiYnK39euXdu9e/eOHTvmzZv3/PPPf/jhh1qttqYrHDBggNls9nWYAACSJAmCIIpiFXUGDx6s0WjsL7OysmbOnDlx4sRhw4Y5VisvL585c2bfvn0feeSR+gjViafBAACtW7e+AwF48v777x89enTcuHEBAQENGAZqVDARIh/bsmVLRESEa/ncuXPnzp175+Nx9fjjjzv+r9VkMn333Xdz5879/PPPL1++vHnzZoap2VcGGzdu9HWMNZCSktKAW6+ap8GAUKOCiRDdIbm5uTdu3Gjfvn1gYKBjeXl5+e7du/Py8jiO6969e79+/Qgh1a6tvLz8p59+unTpUvPmzUePHl2XC02tVjtjxowBAwb07dt327Zta9euffLJJ+3vWq3W9PT03NzcwsLCZs2a3Xvvva4XNKdOnZJluWvXrm7Xn52dXVpa2qZNm5CQEKe3srKyysrKEhMTg4ODax3/iRMnGIbp0qULAOTn52dmZgJASUlJRkaGUqF58+aEkFOnTgGA0Wi0l0dERMTFxdnXU1paunv37oKCApVK1bt37169ejluxWAwZGZmhoeHx8fHX7lyZdeuXUVFRQ899FD79u1rF7aywuDgYPvVuZ1erz9//rzTWzabLS0t7dy5c5IktWvXbtiwYWq12nGpY8eO8TzfuXNnk8m0ffv2vLy8qKioUaNGRUZGKhUsFsvZs2eNRiMAnDx5UhkzHMclJSUpFcrKyvbv35+XlydJUkRERLdu3Tp06FC7vUN/MA39v1l091BOTNevX3f7rtvvCD///HOn9NCnT5+CggJ7BbffEe7Zs6dp06b2RUJCQrZv3+79d4Svv/6623ffeustp22tXLkyKCjIMTyGYZ599lmr1eq4YNXfEX7yyScA8Je//MVpczabLTo6OiAg4MaNG54CXrx4MQA8++yzVeyU43eEzz//vOsxPn/+/IULF7qWO672gw8+cPqAMnTo0KKiInuFtLQ0AJgyZcqiRYs4ruID9BdffOEpqqoHA6X05s2bWq02LCzMYrE4vfXuu+8CwLx58+wlO3fujI2NdQwvPj7+0KFDjkvxPN+yZcsDBw5ER0fbq+l0uh07digVzp4969oITZs2Vd799ttvnfoaAObMmVNFy6O7BiZC5DM1TYRLliwBgJiYmBUrVpw+fTo9Pf35558nhHTu3Nl+cnRNhDk5OUFBQSzLvvvuu1lZWb/99tvLL7+s0+mCg4PrmAiPHTsGACqVymQyKSULFy6cOHHihg0bjh079ttvv23YsEG57HvzzTcdF6w6EZaVlQUGBkZERDid8detWwcAkydPriLgmibC33//XVlk2LBhu27Jzs7Ozc1du3YtAHTo0MFefvbsWWUpJfG0adPmm2++OXv27IEDB5TO6tevnyiKSh0lEcbExAQGBs6bNy81NXXXrl3Hjx/3FFW1iZBS+tRTTwHAxo0bncrbt29PCMnKyrJvmuf54ODghQsXHj169Pjx4++9955arQ4NDc3Pz7cvpdQJDw+fMWNGampqenr6nDlzCCERERFGo5FSajAYdu3a1bZtWwDYsGGD0ghpaWmU0vz8fJVKFRYWtnLlyszMzNzc3H379s2bN++f//xnFfGjuwYmQuQzyrkvKSmpR2VlZWXUJRFev35dq9WGhoY6Xv9RSp977jkAWL58ufLSNRFOmzYNAN566y3HpSZPngwAdUyEFotFuQ7Izs72tIaSkpKoqKiQkBBBEOyF1d41OmPGDABYu3at46pGjBgBAPv3768i4JomQkrpgQMHAGDi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", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/html": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "_rθ = range(0, _𝚂, length=1*_𝚂)\n", + "_p = plot(title=\"Field Daily Litter Events\", xlabel=\"Day\")\n", + "_p = plot!(_rθ, _yᶠˡᵈ, linetype=:steppre, label=\"# daily events\", c=1)\n", + "plot(_p)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Inference results:\n", + " Posteriors | available for (θ)\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "_result = infer(\n", + " model=litter_model(αᴳᵃᵐ= _αᴳᵃᵐ, θᴳᵃᵐ= _θᴳᵃᵐ), \n", + " data= (x= _yᶠˡᵈ, )\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "GammaShapeRate{Float64}(a=3200.0, b=365.05)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "_θᶠˡᵈ = _result.posteriors[:θ]" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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7NixQ5KkI0eOhIWF0TRN07TpLQwcOND0ZsPCwjIyMl577TW5PUA+0ZkzZ0JDQ998803TKeRZTrZt27Z06dKQkBD5RPXr1z9w4IB5aZcsWRIWFrZr1y6Ld9GpU6eIiAj58Ycffij/N3p7e5uK9Nlnn0mSVFBQEBoa2qtXL/PX6vX69957z1QP8/b2HjNmzP379833mTZtWlhY2IULF8yLFxkZeeTIkeJ/+bJjx461bdvWNLavWbNmP/74o+mnM2bMCAsLk78m1qlTRy5wenq61UOtX79epVLdu3dPfmo0Gmma/vLLL20phntt2LCBEHLo0CF3F6Rc8cTGDSjK48ePLSpwN2/e7Ny58/3797t27dq2bVuO43bv3j137twrV65s2bKlcA8OmSAIffv2PXbsWHR09IgRI2ia/uGHH+Li4hiGsaUMd+7c+eyzzw4cONCtW7dBgwYlJiZSFCWK4sCBA3fv3h0aGvrqq68GBgaePXt2586dp06dOnv2rByZWVlZHTt2vH//fr9+/Vq2bKlWq5OSko4cOXLmzJkhQ4YQQkRRvHPnTuH7H1lZWXfu3MnKyrJapGrVqnXr1i0+Pl6r1Xbr1k3eGB0dTQj5888/O3fuLIri8OHDGzdubDQa7969++OPP165cqVDhw7ynsuXL//0008nTZq0fPnyEt9+USZMmPDxxx8nJCSkp6cHBgYSQjIzMxMTE00VhcePH3fs2PHx48cDBgxo0aIFwzBJSUmHDh1KSEjo169fYGBgt27dvv32W0mSTG9BTndCyL179+7cuTNq1KjffvutV69eNWvWlGvSBQUFiYmJjx49sijM119//csvv4wdOzYqKurq1atr167t3bv33r17e/bsKe+QkZFx586d3NxcixfevXv33r178uPIyMhWrVrt2LEjODjYokiiKCYmJpq3+oqiOGDAgH379oWGhr777rtarXb37t1r1649ceLE6dOn5V8IIeThw4d37tz56KOP9u3b179//7CwsISEhIMHD/bu3fvy5cumfk9W7d69e+DAgYSQl156KTo6+tatW999912fPn1WrVo1ZswYQkjDhg3z8vI2bdqUlZXVtWtXOS9NXzvMSZL08ccfy79J029YFEXPbOy10LdvX19f3/Xr15v+KOAC7k5ieIb8Hfzf//73wmc9efJEevp9X65DyFq2bEkIWbFihWlLQUFB165dCSHbtm2TtxSuEa5cuZIQ0qZNG71eL28xGo2dO3eW/yWKrxH+61//IoTQNH3s2DHz7Z9//jkh5Pnnn8/LyzNtXLp0KSFk0KBB8tONGzcSQqZPn25xTPndSU/7iTRv3txih//+97+EELk6IjOvEcpomq5Vq5bFC+fOnUsIWbZsmflGQRDkKqzs9ddfJ4RMmjSpmHctlVQjlCQpKCiIEPLzzz/LTxcsWEAIiY+Pl5+uWbOGEPLWW29ZvMr03iVJqlKlip+fX+EjR0VFEUJq1aqVlpZmvv3nn38mhIwdO9a0xTTvpXkVcOfOnYSQ0NBQjuPkLe+99x4hZP369RYnCg0NZRjG9FS+32b685nIX8UaNmxo2iL/R0VHR2dlZclbBEGQv9yMGzfOtNvQoUMJIb6+vpcuXTJtnDp1KiHEvF5bWF5enpymO3fuNH/7NE17e3s/fPjQtFG+uW56p1YdOXKEELJ27VrTFrk30NatW4t5lecYPXp0pUqVzC80cBLuEXqiJUuWvPOswt/6CSG//vrr77//3qVLlwkTJpg2arXajz/+mBCyfv36oo6/du1aQsjcuXNNTZQqlcquXqmDBg2KjY013/L555/TNL1y5UqdTmfaOHny5KioqJ07d8qVDzmSTfUDk9LrAldQUFD4jBajLMaMGbNt27aJEyc6eS45CJ88eWL1p86/99mzZ9vYa79Lly6myh8hpG/fvm3btk1MTDQNKnC5VatWEULmzp1r6slF0/THH3/Msuz69evlv4LJa6+9FhMTY3o6adIkQkjxY3t27dqVnp7euXNn87k95ad5eXk//PCDXaXds2cPISQ8PPzOU8eOHSOEmJfKhXJzczNsUPw9dXMvvfRSdna2/C7AJRTQFFABffvtt6bbb7Lnnnuu8G7yvf2IiIhz586Zb+c4jqbp//u//7N6cEmSEhISWJaNi4sz396hQwdvb28bO86Yqo+yu3fvJiYmylWWtLQ0i5Jfv379xo0bzZs3b9++vVqtXrBgwaNHj+RPZ/PULA2xsbELFy6cOHHipUuXXnzxxRYtWhTuatSwYcOGDRs6fy65e4jVrkyEkI4dO7IsO2fOnJSUlL59+7Zu3dreAWEWv/NimKegaYvcRt2jRw+7TmoLQRDOnTtHUdTzzz9vvj00NLRhw4YXL168fPly69atTdtbtWplvps8DsHUJGvV2bNnCSEvvPCCxfbevXvv2LFD/qntDh48GBISsnfvXtOWDRs2BAcHF98267Bt27ZZ9EG1yt/ff9CgQbYcMC4uztfXd926dXING5yHIPRErVq1klvDiidHzjfffPPNN98U/mlRd9RycnL0ev1zzz1X+I6gHFq2lFBuwrUoyd27d4uaaEMeKl63bt3vvvtu6tSpX3755ZdffqnRaGJjYydOnNi/f39bTuqAHj16fPLJJ++///78+fPnz5/v6+vbs2fP1157Te4r6EKiKModIIvqrxgdHb169epXX331888///zzz7VabVxc3OTJk3v37m3jKWyf1tLir0MIkb9XldKMM1lZWUajMTg4uHC016pV6+LFixbnlavOJnKzRPH9h+VeshbfDk1brLaXFMVgMFy/fn3MmDGmEQiPHj365JNPXnnllaLuqTvp5ZdfduHRJEmaMWNGkyZNDh48aLohDU5CECqYfG9/6tSpVieasdpNgDytslidnMz2cRQWISo/bdCgwRdffGF1/6ZNm8oPhg4d2r9//2PHjh0+fPjIkSMHDx48ePDgrFmz5s+fX8zpnOksPnPmzEmTJh08ePDo0aOHDh3aunXrtm3b1q5dO3r0aIePWdilS5eys7NVKlUxzWujRo0aMmTI0aNHDx8+fPjw4X379u3bt++jjz6aPXu2LaewvSuHRVMkefqXLXGsm2Oz68n/acX8Rzk/xq6oUzhw/NTUVEmSzGuo+/btE0XR+fkQyoAkSf/6178aNWo0evToVq1abdq0Sb7DCk5CECqY3IXPaDTa1X/My8uratWqDx48yMzMNJ/Nq6CgwKJV03Z16tShaTo5OTkuLq7ElWvUanXPnj3l5ruTJ0/26NFj8eLF7733nlar9fHxYVm28NQqf/31V4lloChKenY4o4mPj8/AgQPlPocbNmx46aWX5s6d69oglIfSd+/evahRfTKNRvP888/LTYhHjx59/vnn58+f//bbb8shJ3e+db4wt2/ftrrFNLJFvkUqV9NNDAaDxT+AXEMq6rdq4uPjExgYKM89ZhoUIb/w1q1b5ud1mNx8Kh/N3J9//mn6qY3km7imHrmEkPXr17du3bpjx45OFrK0iaI4YcIEPz8/+a5qVFTUunXrEIQugc4yCvbiiy+yLLt9+3ar05MWQ+5WKvdjNPn2228dnm47ICCgQ4cO2dnZ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XMTWZta+ffseP348NDR02rRpBw4ckNtn5XEU8g5yD5pu3bq1atXq8uXL4eHOjj42WbJkCc+7qp8COOLSpUv79+93dykquv/+9796vd7dpajQrl69amr3AndZtmxZbm6ua49JSXb1u3KFhQsX5uTkLFiwwMb9/f39b9265e/v+Ao44KSlS5deunTpm2++cXdBKrSaNWuePn26Zs2a7i5IxbVmzZojR46sW7fO3QWp0CIiIn788cd69eq58JgVqB8gAABAYQhCAACo0BCEAABQobnhHuHYsWN37dplGlBfoqSkpOeee65Cjeb2NDk5OQaDITAQaya4071796pXr47JZdwoNze3oKAgKMgFs86Cw5KTk6tVq8aytg55GDFixEcffVT8Pm4IwoKCguTkZNuvZ4PBoNGUyVIcUARRFAVBwIQa7oULwe1wIXgCey+EkJCQEicDcUMQAgAAeA60NwIAQIWGIAQAgAoNQQgAABUaghAAACo0W3uguoUoiuvXr79w4ULdunXHjRuHLnNl7/bt20eOHDE97dOnT0hIiBvLU3E8ePAgISEhJSWla9eu5jP33r17d82aNXl5eYMGDWrVqpUbS1juiaJ448aNCxcu5OXlvfLKK6bt+/btS05Olh9XqlRp2LBhbipghfDHH38cOHDg/v37ERERI0eONK0Pn5+fHx8fn5SU1LZt28GDBzt5Fo+uEc6cOfPTTz+NiIjYtm0b/tvcIiEhYeHChXeewqTPZaZz587z589/6623zp49a9r44MGDli1bZmZmVq1atUePHj///LP7Clj+nTx5Mi4ubtmyZZMmTTLf/sUXX/z444/yFXHv3j13Fa8iEEWxW7duycnJtWrV2rFjR6tWrfLy8uQfvfjiiz/99FNERMScOXNKHCZYMslTPX782MvL6+bNm5Ik5eTk+Pj8f3t385LMFscBfBJ7ARVKyleoTWaSJGFCSS+LUkqSomV/QtCiTS0KC6JVrtwEQdLKoiCoZpEhllMU2AsWokQQFJhKUTaUWjrNXQyIcC+Xh0fqSOf3WZ05m/mCM3wZZ+aMMBgMog6FnbW1NZPJhDoFjhiGYVm2paXF5XLlJufm5gYHB7nxwsJCX18fmnB44H6CYDDI4/Hy581m8+rqKqJQ2EmlUtzg8/NTLpeTJMmy7NHRUU1NTTqdZln27OysqqoqmUwWspfivSI8PT2VyWQqlYogCKFQ2NbWRlEU6lA4ikajdrt9eXk5Ho+jzoKR/1xKiaIo7lOgBEGYTCY4I77V/6xm5fF47Hb79vb219fXT0bCUEVFRW6cTqe5v0Z9Pl9XVxd3s0yv1/N4vKurq0L2UrxFGIvF8pcykkqlDw8PCPPgSSQS6XS6RCKxs7PT2Nh4fn6OOhHWotFo7qSQSCTJZDKRSKCNhCG1Wi0QCJ6eniYmJsxmM8MwqBNhwWazaTSazs5O4l/tIJFICmyH4n1Yhs/n5x9hmUymrKwMYR48WSwWi8XCjcfHx2dmZkiSRBsJZ3w+P/eRam4Ay339PIfDwQ2mp6fVavXW1tbw8DDaSL+e0+l0uVwURXGX6Xw+P/95hcLboXivCBUKRX7JRyIRhUKBMA8wGo23t7eoU2BNqVTmTopIJFJZWSkQCNBGwplQKNTpdHBSfLeVlZXZ2Vmv11tXV8fNKJXKSCTCjbPZbDweL7AdircIjUZjJpM5PDwkCOL+/v7i4qK/vx91KOykUiluwLIsSZJarRZtHsxZrdbNzU3uvtTGxobVakWdCDsMw2QyGW4ci8X8fn9TUxPaSL/b+vr61NSU2+3Of4loYGCAoqjHx0eCINxut1gsbm5uLmQvRb3o9tLSks1ms1gs+/v7IyMj8/PzqBNhZ2hoiKZppVIZDAZpmt7b28s/HMH3GRsbOzk5CYfDUqlULBYvLi4aDIb39/fu7m6BQCCXyw8ODnw+n1qtRp3013p9fe3p6UmlUqFQSK/XV1dX7+7uxuNxnU7X3t5eXl7u8XisVqvT6SwpKUEd9neiaVosFstkMplMxs1MTk5ybw2Ojo56PJ6Ojg6SJB0OR4Hv1xV1ERIEEQ6HA4GASqVqbW1FnQVHLy8vfr//+flZLpcbjUa4Tftjbm5uaJrObTY0NIhEIoIgPj4+vF7v29tbb2/vn3/UE/yFbDZ7eXmZ2ywtLeUuO66vr0OhUDab1Wq1Go0GXcDfj2GYQCCQP1NbW5t7TOb4+Pju7s5gMNTX1xe4o2IvQgAAAOBbFe89QgAAAOAHQBECAADAGhQhAAAArEERAgAAwBoUIQAAAKxBEQIAAMAaFCEAAACsQRECAADAGhQhAAAArEERAgAAwBoUIQAAAKz9A76ROECaNRoKAAAAAElFTkSuQmCC", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/html": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "_rθ = range(0, 20, length=500)\n", + "_p = plot(title=\"Field results: Distribution of \"*L\"θ^{\\mathrm{fld}}=λ\")\n", + "plot!(_rθ, (x) -> pdf(Gamma(_αᴳᵃᵐ, _θᴳᵃᵐ), x), fillalpha=0.3, fillrange=0, label=\"P(θ)\", c=1,)\n", + "plot!(_rθ, (x) -> pdf(_θᶠˡᵈ, x), fillalpha=0.3, fillrange=0, label=\"P(θ|x)\", c=3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The actual generative process actually had a much lower mean daily litter events, around about 8 events per day. The client can work with this value during planning of how to use his volunteers in the field." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 1.10.5", + "language": "julia", + "name": "julia-1.10" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "1.10.5" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}