From 8bfa908ac7f05f615b57a245922954dd8d6d852a Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 22 May 2024 02:44:14 +0000 Subject: [PATCH 01/51] Added pymc as an optional dependency in pyproject.toml --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 543b8b6b..4f000f5d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,6 +64,7 @@ all_extras = [ "statsmodels>=0.12.1", "tabulate", "uncertainties", + "pymc=5.15.0, ] dev = [ From 4634059bbf819ae047472f9937db39e1af947312 Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 23 May 2024 17:01:41 +0000 Subject: [PATCH 02/51] Added WIP Bayesian Linear Regression code and notebook --- examples/04_pymc_bayesian.ipynb | 2636 ++++++++++++++++++++++++++++++ skpro/regression/bayesian.py | 348 ++++ skpro/regression/bayesian_wip.py | 116 ++ 3 files changed, 3100 insertions(+) create mode 100644 examples/04_pymc_bayesian.ipynb create mode 100644 skpro/regression/bayesian.py create mode 100644 skpro/regression/bayesian_wip.py diff --git a/examples/04_pymc_bayesian.ipynb b/examples/04_pymc_bayesian.ipynb new file mode 100644 index 00000000..0cecd61e --- /dev/null +++ b/examples/04_pymc_bayesian.ipynb @@ -0,0 +1,2636 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "RQirXZwKipys" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import pymc as pm\n", + "import matplotlib.pyplot as plt\n", + "import arviz as az\n", + "\n", + "from skpro.regression.bayesian_wip import BayesianLinearRegression\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RdBN6n_m_0me" + }, + "source": [ + "This notebook serves to demonstrate the use of the `BayesianLinearRegression` regressor. This `skpro` class implements Bayesian linear regression using `PyMC` as a backend. It assumes weakly-informative Bayesian priors for both the intercepts and slopes of the model.\n", + "\n", + "Compared to a traditional OLS Linear Regression, Bayesian Linear Regression offers several benefits:\n", + "\n", + "1. It provides full posterior distributions of model parameters, allowing for direct assessment of uncertainty in predictions.\n", + "2. It enables the inclusion of prior information or beliefs about parameters, improving estimates when data is limited.\n", + "3. It regularizes parameter estimates through priors, reducing overfitting compared to traditional linear regression.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "2RI4KS5__80T" + }, + "source": [ + "## Data Generation" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "HiSOh5L6AFuh" + }, + "source": [ + "We will first create a synthetic data" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "id": "xo4qpkVhisFX" + }, + "outputs": [], + "source": [ + "# Generate synthetic data\n", + "np.random.seed(42)\n", + "X = np.linspace(0, 100, 100)\n", + "X = pd.DataFrame({'feature1': X, 'feature2': X**2}) # Example with two features\n", + "true_intercepts = 1\n", + "true_slopes = np.array([2, -1]) # True coefficients for feature1 and feature2\n", + "true_sigma = 0.1\n", + "y = true_intercepts + np.dot(X, true_slopes) + np.random.normal(0, true_sigma, size=len(X))\n", + "y = pd.DataFrame(y, columns = [\"target\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "gGN3FJI769EJ", + "outputId": "a282cc16-8276-4aa4-e4b6-45b1ddaa99bf" + }, + "outputs": [ + { + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "summary": "{\n \"name\": \"X\",\n \"rows\": 100,\n \"fields\": [\n {\n \"column\": \"feature1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 29.304537349375778,\n \"min\": 0.0,\n \"max\": 100.0,\n \"num_unique_values\": 100,\n \"samples\": [\n 83.83838383838385,\n 53.535353535353536,\n 70.70707070707071\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"feature2\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 3028.4407753565247,\n \"min\": 0.0,\n \"max\": 10000.0,\n \"num_unique_values\": 100,\n \"samples\": [\n 7028.874604632182,\n 2866.0340781552904,\n 4999.489847974697\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", + "type": "dataframe", + "variable_name": "X" + }, + "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", + "
feature1feature2
00.0000000.000000
11.0101011.020304
22.0202024.081216
33.0303039.182736
44.04040416.324865
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "text/plain": [ + " feature1 feature2\n", + "0 0.000000 0.000000\n", + "1 1.010101 1.020304\n", + "2 2.020202 4.081216\n", + "3 3.030303 9.182736\n", + "4 4.040404 16.324865" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "4Ou3ibBO-sxU", + "outputId": "7780d3ff-4b43-4fa3-ff34-02cc09f24ef9" + }, + "outputs": [ + { + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "summary": "{\n \"name\": \"y\",\n \"rows\": 100,\n \"fields\": [\n {\n \"column\": \"target\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2971.7594824548437,\n \"min\": -9799.023458713338,\n \"max\": 1.9860715394778208,\n \"num_unique_values\": 100,\n \"samples\": [\n -6860.249663977242,\n -2757.9022034556992,\n -4857.039567000005\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", + "type": "dataframe", + "variable_name": "y" + }, + "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", + "
target
01.049671
11.986072
21.023957
3-1.969827
4-7.267472
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "text/plain": [ + " target\n", + "0 1.049671\n", + "1 1.986072\n", + "2 1.023957\n", + "3 -1.969827\n", + "4 -7.267472" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "X0ddXs1Ii0Yb", + "outputId": "eae00da2-a8da-47ed-dea6-745815efcdf0" + }, + "outputs": [ + { + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "summary": "{\n \"name\": \"X_new\",\n \"rows\": 50,\n \"fields\": [\n {\n \"column\": \"feature1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 14.577379737113251,\n \"min\": 1.0,\n \"max\": 50.0,\n \"num_unique_values\": 50,\n \"samples\": [\n 14.0,\n 40.0,\n 31.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"feature2\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 1,\n \"max\": 1,\n \"num_unique_values\": 1,\n \"samples\": [\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", + "type": "dataframe", + "variable_name": "X_new" + }, + "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", + "
feature1feature2
01.01
12.01
23.01
34.01
45.01
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "text/plain": [ + " feature1 feature2\n", + "0 1.0 1\n", + "1 2.0 1\n", + "2 3.0 1\n", + "3 4.0 1\n", + "4 5.0 1" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Generate new data points for prediction\n", + "X_new = pd.DataFrame({'feature1': np.linspace(1, 50, 50), 'feature2': 1})\n", + "X_new.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BGh7C1ZgAhjJ" + }, + "source": [ + "We then create an instance of the `BayesianLinearRegression` and fit it with our training data." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 37 + }, + "id": "yvgLcSFQiwpV", + "outputId": "24031b3c-12f6-4475-fa22-fc204713ce94" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + " 100.00% [3500/3500 01:00<00:00 Sampling chain 0, 0 divergences]\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%timeit\n", + "model = BayesianLinearRegression()\n", + "model.fit(X, y)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "n70jIDv3EKBo" + }, + "source": [ + "# Model checking" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 624 + }, + "id": "Hs4FcW38-66-", + "outputId": "90203ffd-93ce-480b-c309-5cc8e24c2e3c" + }, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "%3\n", + "\n", + "\n", + "clusterobs_id (100) x pred_id (2)\n", + "\n", + "obs_id (100) x pred_id (2)\n", + "\n", + "\n", + "clusterobs_id (100)\n", + "\n", + "obs_id (100)\n", + "\n", + "\n", + "clusterpred_id (2)\n", + "\n", + "pred_id (2)\n", + "\n", + "\n", + "cluster100\n", + "\n", + "100\n", + "\n", + "\n", + "\n", + "X\n", + "\n", + "X\n", + "~\n", + "MutableData\n", + "\n", + "\n", + "\n", + "mu\n", + "\n", + "mu\n", + "~\n", + "Deterministic\n", + "\n", + "\n", + "\n", + "X->mu\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "y\n", + "\n", + "y\n", + "~\n", + "MutableData\n", + "\n", + "\n", + "\n", + "y_obs\n", + "\n", + "y_obs\n", + "~\n", + "Normal\n", + "\n", + "\n", + "\n", + "y_obs->y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "intercepts\n", + "\n", + "intercepts\n", + "~\n", + "Normal\n", + "\n", + "\n", + "\n", + "intercepts->mu\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "sigma\n", + "\n", + "sigma\n", + "~\n", + "HalfNormal\n", + "\n", + "\n", + "\n", + "sigma->y_obs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "slopes\n", + "\n", + "slopes\n", + "~\n", + "Normal\n", + "\n", + "\n", + "\n", + "slopes->mu\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "mu->y_obs\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.visualize_model()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "sq0u7FdvEd1V" + }, + "source": [ + "# Predictions" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Lq1MgQKGF4_B" + }, + "source": [ + "Given a fresh set of test data `X_new`, we can get point predictions using the `predict` method." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 258 + }, + "id": "Ubr9p6ilk0Vx", + "outputId": "aa576405-837d-4d09-cc5e-447e3326e6c6" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + " 100.00% [2000/2000 00:00<00:00]\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "summary": "{\n \"name\": \"mean_predictions\",\n \"rows\": 50,\n \"fields\": [\n {\n \"column\": \"obs_id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 14,\n \"min\": 0,\n \"max\": 49,\n \"num_unique_values\": 50,\n \"samples\": [\n 13,\n 39,\n 30\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"target\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0074288604116297145,\n \"min\": 0.9836918613575216,\n \"max\": 1.0129947397070393,\n \"num_unique_values\": 50,\n \"samples\": [\n 0.9913898666368613,\n 0.9999220099679004,\n 1.0035707679705115\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", + "type": "dataframe", + "variable_name": "mean_predictions" + }, + "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", + "
target
obs_id
00.986227
10.983692
20.987381
30.986519
40.985443
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "text/plain": [ + " target\n", + "obs_id \n", + "0 0.986227\n", + "1 0.983692\n", + "2 0.987381\n", + "3 0.986519\n", + "4 0.985443" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mean_predictions = model.predict(X_new)\n", + "mean_predictions.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RPv23wgLGERx" + }, + "source": [ + "Alternatively, we can obtain the posterior predictive distribution for each data point in `X_new` using the `predict_proba` method." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "J6AXCG3IL1tJ" + }, + "source": [ + "Note: The posterior predictive distribution is a distribution of predicted target values given a set of observed data. It incorporates the uncertainty in the model parameters by integrating over the posterior distribution of the parameters. Mathematically, the posterior predictive distribution is given by:\n", + "$$\n", + "p(y_{\\text{pred}} | X_{\\text{new}}, \\mathbf{X}_{\\text{train}}, \\mathbf{y}_{\\text{train}}) = \\int p(y_{\\text{pred}} | X_{\\text{new}}, \\mathbf{\\theta}) p(\\mathbf{\\theta} | \\mathbf{X}_{\\text{train}}, \\mathbf{y}_{\\text{train}}) \\, d\\mathbf{\\theta}\n", + "$$\n", + "\n", + "where:\n", + "- $y_{\\text{pred}}$ is the new predicted data point.\n", + "- $X_{\\text{new}}$ is the new input.\n", + "- $\\mathbf{X}_{\\text{train}}$ is the set of observed inputs.\n", + "- $\\mathbf{y}_{\\text{train}}$ is the set of observed outputs.\n", + "- $\\mathbf{\\theta}$ represents the model parameters.\n", + "- $p(y_{\\text{pred}} | X_{\\text{new}}, \\mathbf{\\theta})$ is the likelihood of the new data point given the model parameters.\n", + "- $p(\\mathbf{\\theta} | \\mathbf{X}_{\\text{train}}, \\mathbf{y}_{\\text{train}})$ is the posterior distribution of the model parameters given the observed data.\n", + "\n", + "The posterior predictive distribution thus accounts for the uncertainty in the parameters by averaging the likelihood $p(y_{\\text{pred}} | X_{\\text{new}}, \\mathbf{\\theta})$ over the posterior distribution of the parameters $p(\\mathbf{\\theta} | \\mathbf{X}_{\\text{train}}, \\mathbf{y}_{\\text{train}})$.\n", + "\n", + "Note that this posterior predictive distribution is returned by `predict_proba` as an xarray DataArray, allowing us to easily plot the results or compute summary statistics such as means, percentiles, and credible intervals." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 37 + }, + "id": "wm0pwT-A8rQJ", + "outputId": "fbed459a-0ef9-4556-fd41-fb15bb1aec2f" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + " 100.00% [2000/2000 00:00<00:00]\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "predict_proba = model.predict_proba(X_new)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 424 + }, + "id": "QCMFWS6Y8ZXg", + "outputId": "8500acdc-94d9-4752-fba8-31cf0b2c03a1" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'y_obs' (chain: 1, draw: 2000, obs_id: 50)>\n",
+              "array([[[  2.90819869,   4.17953503,   5.38214984, ...,  61.82284529,\n",
+              "          63.06312322,  64.19782556],\n",
+              "        [ -1.58903552,  -2.70163151,  -3.97064121, ..., -64.47375776,\n",
+              "         -65.615485  , -66.99784199],\n",
+              "        [  0.16621532,   1.51332295,   2.73401697, ...,  63.17478991,\n",
+              "          64.75852273,  65.76898938],\n",
+              "        ...,\n",
+              "        [  1.83138227,   2.97761083,   4.12161047, ...,  59.84917721,\n",
+              "          61.08815253,  62.48395636],\n",
+              "        [  0.42235325,  -0.14596321,  -0.78837251, ..., -29.68464821,\n",
+              "         -30.29557345, -30.91119145],\n",
+              "        [  0.17610928,  -1.43831733,  -3.34122786, ..., -82.72257485,\n",
+              "         -84.46072474, -86.50860871]]])\n",
+              "Coordinates:\n",
+              "  * chain    (chain) int64 0\n",
+              "  * draw     (draw) int64 0 1 2 3 4 5 6 7 ... 1993 1994 1995 1996 1997 1998 1999\n",
+              "  * obs_id   (obs_id) int64 0 1 2 3 4 5 6 7 8 9 ... 41 42 43 44 45 46 47 48 49
" + ], + "text/plain": [ + "\n", + "array([[[ 2.90819869, 4.17953503, 5.38214984, ..., 61.82284529,\n", + " 63.06312322, 64.19782556],\n", + " [ -1.58903552, -2.70163151, -3.97064121, ..., -64.47375776,\n", + " -65.615485 , -66.99784199],\n", + " [ 0.16621532, 1.51332295, 2.73401697, ..., 63.17478991,\n", + " 64.75852273, 65.76898938],\n", + " ...,\n", + " [ 1.83138227, 2.97761083, 4.12161047, ..., 59.84917721,\n", + " 61.08815253, 62.48395636],\n", + " [ 0.42235325, -0.14596321, -0.78837251, ..., -29.68464821,\n", + " -30.29557345, -30.91119145],\n", + " [ 0.17610928, -1.43831733, -3.34122786, ..., -82.72257485,\n", + " -84.46072474, -86.50860871]]])\n", + "Coordinates:\n", + " * chain (chain) int64 0\n", + " * draw (draw) int64 0 1 2 3 4 5 6 7 ... 1993 1994 1995 1996 1997 1998 1999\n", + " * obs_id (obs_id) int64 0 1 2 3 4 5 6 7 8 9 ... 41 42 43 44 45 46 47 48 49" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "predict_proba" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JfT19ChHTMxB" + }, + "source": [ + "We can also perform quantile predictions using the `predict_quantile` method." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 258 + }, + "id": "ZKNeOme2I8Ms", + "outputId": "024ea4ce-e114-4185-8c6f-5a73a4c99b4f" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + " 100.00% [2000/2000 00:00<00:00]\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "summary": "{\n \"name\": \"quantile_df\",\n \"rows\": 50,\n \"fields\": [\n {\n \"column\": [\n \"target\",\n 0.25\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 10.106138835876934,\n \"min\": -33.780298926131366,\n \"max\": 0.03822775378937613,\n \"num_unique_values\": 50,\n \"samples\": [\n -8.82678893484809,\n -26.828066351236334,\n -20.522545433440058\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"target\",\n 0.5\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.13115695226576296,\n \"min\": 0.9062230294634588,\n \"max\": 1.4130425570446827,\n \"num_unique_values\": 50,\n \"samples\": [\n 1.1676233585626918,\n 1.1864888144953207,\n 0.9884604716984486\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"target\",\n 0.75\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9.983064632298548,\n \"min\": 1.9956041064677459,\n \"max\": 35.46082001236215,\n \"num_unique_values\": 50,\n \"samples\": [\n 10.818820379199396,\n 28.638943422585733,\n 22.481073344771943\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", + "type": "dataframe", + "variable_name": "quantile_df" + }, + "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", + "
target
0.250.500.75
00.0382280.9679941.995604
1-0.5927700.9753282.538072
2-1.2746620.9841123.168724
3-1.9137090.9500163.871534
4-2.6591200.9768644.575994
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "text/plain": [ + " target \n", + " 0.25 0.50 0.75\n", + "0 0.038228 0.967994 1.995604\n", + "1 -0.592770 0.975328 2.538072\n", + "2 -1.274662 0.984112 3.168724\n", + "3 -1.913709 0.950016 3.871534\n", + "4 -2.659120 0.976864 4.575994" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "quantile_df = model.predict_quantile(X_new, alpha = [0.25, 0.5, 0.75])\n", + "quantile_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "MLdPZU7rU6hh" + }, + "source": [ + "We can also" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 492 + }, + "id": "ITi0HaKlJFAV", + "outputId": "ddf9455a-22d2-41d3-e163-e2dbf7555350" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + " 100.00% [2000/2000 00:00<00:00]\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABjZUlEQVR4nO3dd3xT5eI/8E+aNulM2kInLR2UqQJaVlEQoZeKC1xXr4PidYE4EFHxIlMQBRyoCIoKcq8K1wGOe0X4InupKKAo/ACBlpKkpStNN8nz++O5J2m66E7TfN6v13k1OTk9eXLaJp8+UyWEECAiIiLyAF6uLgARERFRW2HwISIiIo/B4ENEREQeg8GHiIiIPAaDDxEREXkMBh8iIiLyGAw+RERE5DEYfIiIiMhjMPgQERGRx2DwIaJmGTFiBEaMGGG/f/r0aahUKqxevdplZWqoCRMmID4+vsHHBgYGtm6BAKxevRoqlQo//fRTqz+XO//siJqKwYfIhY4cOYJ77rkHXbp0gVarRXR0NO655x78/vvvri6ak99//x1z5szB6dOnXV2UVlVSUoI5c+Zg27ZtLX5um82GNWvWYPDgwQgNDUVQUBB69OiB8ePHY9++fS3+fERUO29XF4DIU33xxRf429/+htDQUNx///1ISEjA6dOn8f777+Ozzz7DunXrMHbsWFcXE4AMPnPnzsWIESNq1JBs2rTJNYVqAStXroTNZrPfLykpwdy5cwHAqSakJTz++ONYtmwZxo4di7vvvhve3t44duwYvv32WyQmJmLIkCEt+nxNERcXh9LSUvj4+Li6KESthsGHyAVOnjyJe++9F4mJidixYwfCwsLsjz3xxBMYNmwY7rnnHhw+fBgJCQkuLOnFaTQaVxehydrqA95kMuHtt9/Ggw8+iHfffdfpsddffx05OTltUo6LUalU8PX1dXUxiFoVm7qIXGDx4sUoKSnBu+++6xR6AKBz58545513YLFYsHjxYvv+uvqjzJkzByqVymnfqlWrMHLkSISHh0Or1aJPnz5Yvnx5je+Nj4/HDTfcgF27dmHQoEHw9fVFYmIi1qxZYz9m9erVuP322wEA11xzDVQqFVQqlb05qHo/kbocPXoUt912G0JDQ+Hr64sBAwbgq6++cjqmsrISc+fORffu3eHr64tOnTrhqquuwubNm+s8b0FBAdRqNd544w37vvPnz8PLywudOnWCEMK+f9KkSYiMjLTfr3pNT58+bf9ZzJ071/4658yZ4/R8WVlZGDduHAIDAxEWFoZp06bBarXW+9pPnToFIQSuvPLKGo+pVCqEh4fX2F9eXo6pU6ciLCwMAQEBuPnmm2sEpC+//BLXX389oqOjodVq0a1bN7zwwgu1lufdd99Ft27d4Ofnh0GDBmHnzp01jqmtj4/St6khrzs3Nxf33nsvdDodgoODkZ6ejkOHDrHfELUrDD5ELvD1118jPj4ew4YNq/Xx4cOHIz4+Hl9//XWTzr98+XLExcXhH//4B1555RXExsbikUcewbJly2oce+LECdx22234y1/+gldeeQUhISGYMGECjhw5Yi/L448/DgD4xz/+gX/+85/45z//id69eze4PEeOHMGQIUPwxx9/YPr06XjllVcQEBCAcePGYf369fbj5syZg7lz5+Kaa67BW2+9hRkzZqBr1674+eef6zx3cHAwLr30UuzYscO+b9euXVCpVMjLy3PqL7Vz5846r3lYWJg9HN58883213nLLbfYj7FarUhLS0OnTp2wZMkSXH311XjllVdq1OJUFxcXBwD49NNPUVJSUu+xisceewyHDh3C7NmzMWnSJHz99dd49NFHnY5ZvXo1AgMDMXXqVCxduhTJycmYNWsWpk+f7nTc+++/j4cffhiRkZFYtGgRrrzyStx0003IzMxsUFka8rptNhtuvPFGfPLJJ0hPT8eCBQtgMBiQnp7eoOcgajOCiNpUQUGBACDGjh1b73E33XSTACDMZrMQQoj09HQRFxdX47jZs2eL6n/KJSUlNY5LS0sTiYmJTvvi4uIEALFjxw77vuzsbKHVasVTTz1l3/fpp58KAGLr1q01znv11VeLq6++2n7/1KlTAoBYtWqVfd+oUaPEZZddJsrKyuz7bDabGDp0qOjevbt9X79+/cT1119f4zkuZvLkySIiIsJ+f+rUqWL48OEiPDxcLF++XAghRG5urlCpVGLp0qX246pf05ycHAFAzJ49u8ZzpKenCwBi3rx5Tvsvv/xykZycfNEyjh8/XgAQISEh4uabbxZLliwRf/zxR43jVq1aJQCI1NRUYbPZ7PuffPJJoVarRUFBgX1fbT/nhx9+WPj7+9uvdUVFhQgPDxf9+/cX5eXl9uPeffddAeCiP7uGvu7PP/9cABCv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nDmN666TNVsxMSEIDFTh4YcnAJBNXc88M6XO61pQUIAHHngAYWFh0Ol0GDlyJA4dOlTvz6K5GHyIiKjdqaiowIEDB5Cammrf5+XlhdTUVOzdu7fB5ykpKUFlZWWNmodt27YhPDwcPXv2xKRJk5Cbm1vvefbu3YvLLrsMERER9n1paWkwm804cuRIg8ry1VdfITc312l9LyHk1xtvvAkREeEYPvwqfPnlV/bh57X13fn0008QGBiI++9/uMZzPP74U6isrMSXX37eoDIBQFFREe6+Ox2bN+/C99/vQ1JSd9xyy3UoKipyOm7hwrm45Za/Yt++wxg9+jrcf//dyMvLQ0xMLD76SD7fL78cw8mTBixatLRBz3377bcjOzsb3377LQ4cOIArrrgCo0aNQl5eXoPL31huE3yWL1+Ovn37QqfTQafTISUlBd9++6398bKyMkyePBmdOnVCYGAgbr31VphMJheWmIiImur8+fOwWq1OQQMAIiIiYDQaG3yeZ599FtHR0U4B6tprr8WaNWuwZcsWvPzyy9i+fTvGjBkDqzLpTS2MRmOtZVEea4j3338faWlpiImJgc0m++yoVIGYP/8VfPDBp/j3v/+DK6+8CvfcMw7//e9XdZ7nxIn/h4SEbtDU0mYYFRUNnU6H48f/X4PKBAAjRozEnXfeg549e6FXr9548813UVpagl27tjsdd/fdE/DXv/4N3bolYc6cF2GxWHDgwA9Qq9UICZHBMiwsHBERkdDr9Rd93l27duGHH37Ap59+igEDBqB79+5YsmQJgoOD8dlnnzW4/I3lNn18YmJi8NJLL6F79+4QQuDDDz/E2LFj8csvv+CSSy7Bk08+if/85z/49NNPodfr8eijj+KWW27B7t27XV10IiJygZdeeglr167Ftm3b4Ovra99/55132m9fdtll6Nu3L7p164Zt27Zh1KhRGDNmDHbu3AkAiIuLa3CNTn3Onj2L7777Dp988m+UljpGZYWEdMYTT0y11+oMGjQQBsM5vP76Ylx//U11nk8oVUV1qC0U1cVkMuGFF57Hzp3bkJOTDavVipKSEmRmZjgdd+mlfe23AwICoNPpkJOT3eDnqe7QoUOwWCzo1KmT0/7S0lKcPHmyyee9GLcJPjfeeKPT/QULFmD58uXYt28fYmJi8P777+Pjjz/GyJEjAQCrVq1C7969sW/f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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "model.plot_posterior_predictive(X_new)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AcPkFWWaWv5B" + }, + "source": [ + "## Getting Parameters" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "mnHPS8HnW7iq" + }, + "source": [ + "Here, we see that the model manages to recover the real slope of 2 and -1." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 326 + }, + "id": "8poKhnnhxZHu", + "outputId": "66cf4fac-41b3-40be-8e2b-412564099ab8" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.10/dist-packages/arviz/utils.py:184: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", + " numba_fn = numba.jit(**self.kwargs)(self.function)\n" + ] + }, + { + "data": { + "text/plain": [ + "array([[,\n", + " ]], dtype=object)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7YAAADaCAYAAACSJN4kAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAnMklEQVR4nO3de3xU9Z3/8feZSTIhQgIh3KLc1aByE5E01CKuWS7LoyJatNRVtGqtC64urgVqhVLXRasrfeyWRfuoGt3a1vKrl13K4qKCVEFULhWQUkEuthBQaBIukszl8/tjZg4ZEiCBZGbO8Ho+HvOAOfM9Zz6f8z23T75nZhwzMwEAAAAA4FG+VAcAAAAAAMCZoLAFAAAAAHgahS0AAAAAwNMobAEAAAAAnkZhCwAAAADwNApbAAAAAICnUdgCAAAAADyNwhYAAAAA4GkUtgAAAAAAT6OwBZpp+fLlchxHO3bsSHUoAACgFXCuB7yHwhYAAAAA4GkUtgAAAAAAT6OwBRrxpz/9SRMmTFDnzp2Vm5urHj16aOLEiQqFQo22DwaD+sEPfqBevXopJydHvXr10g9+8AMFg0G3zY4dO+Q4jp5++mndc889KioqUtu2bXXDDTfo888/T1heKBTS3LlzVVJSokAgoHPPPVcPPPCAamtrE9o89NBD6tu3r3Jzc1VUVKQrrrhC77zzTuusFAAAMgjneiCzZKU6ACAdjRs3Th06dNCCBQtUVFSkv/zlL1q8eLEikUij7SdPnqyFCxfqwQcf1PDhw7Vy5Uo98sgj+vTTT/XLX/4yoe3DDz+sr3zlK3rhhRe0a9cuzZgxQ9ddd51+//vfu23+/u//XosWLdKMGTP0la98RZs2bdKsWbO0a9cuvfTSS5Kkxx57TPPmzdMjjzyiwYMHq7q6Wh9++KEOHDjQeisGAIAMwbkeyDAGIMHnn39ukuy1115r9PVly5aZJNu+fbuZmW3YsMEk2cMPP5zQ7uGHHzZJtnHjRjMz2759u0myQYMGWSQScdstXLjQJNn//d//mZnZihUrTJK9+OKLCct74YUXTJJt2LDBzMzGjRtnEyZMaJGcAQA4m3CuBzIPtyIDx+nYsaP69OmjGTNm6Oc//7m2bt160vYrVqyQFP3La33x5/HX466//no5juM+nzBhgrKysvTee+9JkpYsWaLc3FxNmDBBoVDIfYwePTpheZdffrkWL16sBx98UO+++67q6urOIGsAAM4enOuBzENhCxzHcRwtXbpUQ4cO1YwZM3TBBReob9+++tnPftZo+/jtQN26dUuY3rVr14TX4zp37pzw3O/3q6ioSLt375Yk7du3T0ePHlVeXp6ys7PdR5cuXSRJ+/fvlyR9//vf15w5c/Tf//3fuuKKK9SxY0d9+9vf5vYkAABOgXM9kHn4jC3QiD59+uiFF16QmekPf/iDfvrTn+quu+5S7969lZ2dndC2sLBQkrRnzx716tXLnV5ZWZnwety+ffsSnofDYX3xxRcqLi6WFP0r8jnnnKPly5c3Glu8XXZ2tqZPn67p06ersrJSixYt0rRp01RbW6sXX3zxtHMHAOBswLkeyCyM2AIn4TiOBg8erCeffFKStHHjxgZtRowYIUkNvjgifsKJvx7329/+VmbmPn/llVcUCoVUVlYmSRozZowOHz6sw4cPa+jQoQ0e8ZNdfV27dtUdd9yh8vLyRmMEAACN41wPZAZGbIHjfPTRR7r33nt144036vzzz1c4HFZFRYWys7N11VVXqaqqKqF9//79NWnSJM2ePVvBYND9psR/+Zd/0be+9S1dcsklCe3379+viRMn6vbbb9fOnTs1Y8YMXXHFFSovL5ckjRw5UpMmTdKECRM0bdo0DRs2TFL0JwQWL16sf/u3f1Pfvn01fvx4DRo0SEOGDFGHDh20bt06LVmyRFOmTEnKegIAwKs41wMZKLXfXQWkn71799ott9xiF1xwgbVp08Y6dOhgI0aMcL/J8PhvSjQzq62ttQcffNB69OhhWVlZ1qNHD3vwwQetrq7ObRP/psSnnnrKpk6daoWFhZaXl2ff+MY3bO/evQkxhMNh+8lPfmIDBw60QCBg+fn5NmjQIPve975n1dXVZmb2xBNPWGlpqXXo0MFyc3PtwgsvtDlz5lgwGGz9lQQAgIdxrgcyj2NW7z4JAK1mx44d6t27t5577jndeuutqQ4HAAC0MM71QOrwGVsAAAAAgKdR2AIAAAAAPI1bkQEAAAAAnsaILQAAAADA0yhsAQAAAACeRmELAAAAAPC0rKY0ikQi2r17t9q1ayfHcVo7JgAATsnMdPDgQRUXF8vn4++0Z4pzPQAg3TTnXN+kwnb37t3q3r17iwQHAEBL+uyzz3TeeeelOgzP41wPAEhXTTnXN6mwbdeunbvA/Pz8M48MAIAzVFNTo+7du7vnKJwZzvUAgHTTnHN9kwrb+C1J+fn5nOwAAGmF22ZbBud6AEC6asq5ng8lAQCQAebOnavLL79c7dq1U+fOnXXttddqy5YtqQ4LAICkoLAFACADvP3225oyZYree+89LV26VMFgUKNGjdLhw4dTHRoAAK2uSbciAwCA9LZkyZKE5xUVFercubPWrFmjESNGpCgqAACSIzWF7Y53pV5fTclbAwBwNqiurpYkFRYWNvp6bW2tamtr3ec1NTWSpAOH63TUOapwxJSb5ZdJipgpYiZHjhxHikRMPp8jn+MoFIlIJvl8joLhiPw+R/7YZ6HCZpJJWX6fwhGTmcnvcxSx6Hv6HCkUe5Ltb/wmMjNTOGJuu3MCWQqFI4pY7DWLTs+JvYfPd+xzWHWhiNpk++U4UjBs8jnHPqcVXWY03iyfTxEz+RxHvljbUCSicMSUk+Vz83ZiOUUi0djlSD7HkaPocr8MhuVzFM0xEm2bl+1XMBKRJDlyFI7E1mVsXsXWr5mU5XfkyJGZySSZSYGs6Hqx2PqKvpvkxFZXMBTRl8GwAll++X3RVyMWXV+Oov1S/5Npfl88BrnvHTGT34n2S7bfkeM4qgtFZDJl+33yOY6y/NH+PhoMKxSOrves2DZgiq4TSXIcxeaJ91+8rx3VhsM6UhtW29wsN+dIbJuQRecLx+KRHbcd1Pt//W2l/rqKtovOG99us/0++R1HPp+jUDiiYNiOtYutD5/jKPqWx9ZDvI/89T7XF45ti4Esv0LhiHyxdRkMR5QT66dIRDrRL5JE94Hov4Fsn/JyottyXTjibi/xdRpfl25eZqoLR5Tt90X704m+V3y7jG1g7rYaeyrH3T6jywqbKRQ2N0Z3e6o3jyTVhSMKhc2dL75t1s+t/n5R/30cRY8Lh2pDCmT55fNF90+z6HKzfI6OhiLKjm7Q7n4aju2D8Rjqf6bSSYjxWBwRix6PwrHtKdvvKBQxRSLHbUCxhWT5fApFous7y+80up4iJh0NhhXI8qk2FFGW/9gxLRg2tcnxyxdrd6g2pBy/79h6ih0HgxFzp8dzisdoFj1Oxf8f3958jqOcrOj2WhsOu8el+GunUr9FfJ+Ib+fx40p8nUlyj4d14YjMTG2yo8f7cKxBls9x+yA+b4N9LT4xFkBtMCIzKSfLp2y/4x4vpYbbmGLr/WgwHDsOH2sQCkfzzvL5dPjQ0VPmHpf8wnbD/5N+e7t0/TPSgG8k/e0BAMh0kUhE9913n7761a+qf//+jbaZO3eu5syZ02D6qm1fKK9tbSNzAACQXEcOHWxy2+QXtge2J/4LAABa1JQpU7Rx40a98847J2wzc+ZMTZs2zX0e/0mFYb0K1aZtO+Vk+RSJmJzYKKbjHBtJPBoMR0eoYqOx8dGk+Ahv/C/+8RHEYGyE1eeTO1ISHVms1yb+Z/2Y+iNJWb7oiNuXdWGFIqbs2AiKLzYSF46Y+57hiCnL77ijfvER3fqjPPFl+2MjBHWxUZn4CIokBbL80eWZJYwKOo6U7fNFRynt2GirWXQkT47ceKIjxdFRtlA4FncslyO14eiIRCyX+PqNjxz5HCc2unZsvcQHRuIjnVJ03QSy/NER5lgs8ZFaf2wZ9cVjy8ny6WgwrLaBLDmO446CR0e94znKHd0yHRutzPH7FIxER97c0c168cX7ov7ITHwE68u6sNrk+N31Hx9BDtUb5XJHbnRslKe+ulDEXXj9UcNoe8eNpS4UHZGPj+zHR8Czjm0ICobjo+nRecMRc0eb62878fzj69TvOLJYfHWhiHKz/dE7FhznhHcfxEeN/b7oKFldKCKf47gx+XzREcH66/P4Ubis2Ehf2EzZvvhofmwbVMORtfoj2PGR3hy/zx21q99eShwhjvdPfB3UhqIja/VH8Rp7n3h84bCpoE22jgRD7mim3+dERz2z/ToaCisrdsdEbSjs3m3RYESwXoD1ly8pNhof218ix0b5fPXuiIgLhiMKRUy52f5jxxyLHduOiz96Z4m5+cdz9DmOakORettbdBTYvaMjYsry+5Tld9xRx/ixKH73RLjecdUXO44pdidMMBzdj+N3fcTvlIgfT+rvZ405ft1lHXf7QHz01x/LORQ7FtSFIu7xLRwxd9822QlH9ePbQTymUCQS3ceDYbXJ9isYG/HP9vvq9Z+5ccb7MBwx906EUOzOnpys6DZaGwrr8MHsk2SciM/YAgCQQaZOnapFixZpxYoVJ/0x+0AgoEAg0GB6p/xc5ee3ac0QT1t+btMvcNJdJuWCs8XpbbMFJ5gvcTr7Q6Zo38LLq3GCTW5LYQsAQAYwM91zzz165ZVXtHz5cvXu3TvVIQEAkDQUtgAAZIApU6bol7/8pV577TW1a9dOlZWVkqSCggK1aZOeI7AAALQUfscWAIAMsGDBAlVXV2vkyJHq1q2b+3jppZdSHRoAAK2OEVsAADJA/EtgAAA4GzFiCwAAAADwNApbAAAAAICnUdgCAAAAADyNwhYAAAAA4GkUtgAAAAAAT6OwBQAAAAB4GoUtAAAAAMDTKGwBAAAAAJ5GYQsAAAAA8DQKWwAAAACAp1HYAgAAAAA8jcIWAAAAAOBpFLYAAAAAAE+jsAUAAAAAeBqFLQAAAADA0yhsAQAAAACeRmELAAAAAPA0ClsAAAAAgKdR2AIAAAAAPI3CFgAAAADgaRS2AAAAAABPo7AFAAAAAHgahS0AAAAAwNMobAEAAAAAnkZhCwAAAADwNApbAAAAAICnUdgCAAAAADyNwhYAAAAA4GkUtgAAAAAAT6OwBQAAAAB4GoUtAAAAAMDTKGwBAAAAAJ5GYQsAAAAA8DQKWwAAAACAp1HYAgAAAAA8jcIWAAAAAOBpFLYAAGSAFStW6Otf/7qKi4vlOI5effXVVIcEAEDSUNgCAJABDh8+rEGDBmn+/PmpDgUAgKTLSnUAAADgzI0dO1Zjx45NdRgAAKQEhS0AAGeh2tpa1dbWus9rampSGA0AAGeGW5EBADgLzZ07VwUFBe6je/fuqQ4JAIDTRmELAMBZaObMmaqurnYfn332WapDAgDgtHErMgAAZ6FAIKBAIJDqMAAAaBGM2AIAAAAAPI0RWwAAMsChQ4e0detW9/n27du1fv16FRYWqkePHimMDACA1kdhCwBABvjwww911VVXuc+nTZsmSZo8ebIqKipSFBUAAMlBYQsAQAYYOXKkzCzVYQAAkBJ8xhYAAAAA4GkUtgAAAAAAT6OwBQAAAAB4GoUtAAAAAMDTKGwBAAAAAJ5GYQsAAAAA8DQKWwAAAACAp1HYAgAAAAA8jcIWAAAAAOBpFLYAAAAAAE+jsAUAAAAAeBqFLQAAAADA0yhsAQAAAACeRmELAAAAAPA0ClsAAAAAgKdR2AIAAAAAPI3CFgAAAADgaRS2AAAAAABPo7AFAAAAAHgahS0AAAAAwNMobAEAAAAAnkZhCwAAAADwNApbAAAAAICnUdgCAAAAADyNwhYAAAAA4GkUtgAAAAAAT6OwBQAAAAB4GoUtAAAAAMDTKGwBAAAAAJ5GYQsAAAAA8DQKWwAAAACAp1HYAgAAAAA8jcIWAAAAAOBpFLYAAAAAAE+jsAUAAAAAeBqFLQAAGWT+/Pnq1auXcnNzVVpaqvfffz/VIQEA0OoobAEAyBAvvfSSpk2bptmzZ2vt2rUaNGiQRo8erX379qU6NAAAWhWFLQAAGeLJJ5/UnXfeqdtuu00XX3yxnnrqKeXl5enZZ59NdWgAALQqClsAADJAXV2d1qxZo/Lycneaz+dTeXm5Vq1alcLIAABofVmpDgAAAJy5L774QuFwWF26dEmY3qVLF/3xj39s0L62tla1tbXu85qamlaPEQCA1sKILQAAZ6G5c+eqoKDAfXTv3j3VIQEAcNoobAEAyABFRUXy+/3au3dvwvS9e/eqa9euDdrPnDlT1dXV7uOzzz5LVqgAALQ4ClsAADJATk6OLrvsMr355pvutEgkojfffFNlZWUN2gcCAeXn5yc8AADwKj5jCwBAhpg2bZomT56soUOHatiwYfrJT36iw4cP67bbbkt1aAAAtCoKWwAAMsSNN96ozz//XLNmzVJlZaUGDx6sJUuWNPhCKQAAMg2FLQAAGWTq1KmaOnVqqsMAACCp+IwtAAAAAMDTKGwBAAAAAJ5GYQsAAAAA8DQKWwAAAACAp1HYAgAAAAA8jcIWAAAAAOBpFLYAAAAAAE+jsAUAAAAAeBqFLQAAAADA0yhsAQAAAACeRmELAAAAAPA0ClsAAAAAgKdR2AIAAAAAPI3CFgAAAADgaRS2AAAAAABPo7AFAAAAAHgahS0AAAAAwNMobAEAAAAAnkZhCwAAAADwNApbAAAAAICnUdgCAAAAADyNwhYAAAAA4GkUtgAAAAAAT6OwBQAAAAB4GoUtAAAAAMDTKGwBAAAAAJ5GYQsAAAAA8DQKWwAAAACAp1HYAgAAAAA8jcIWAAAAAOBpFLYAAAAAAE+jsAUAAAAAeBqFLQAAAADA0yhsAQAAAACeRmELAAAAAPA0ClsAAAAAgKdR2AIAkAEeeeQRDR8+XHl5eWrfvn2qwwEAIKkobAEAyAB1dXWaOHGi7r777lSHAgBA0mUl/R2PViX+CwA4Kzzx+hYVtMnWnSP6pDqUjDRnzhxJUkVFRWoDAQAgBZJf2O7dlPgvACDj7a76Uj9dtlWSdPVFndWnU9sUR4Ta2lrV1ta6z2tqaqL/+fxP0lH6BwCQBg4eanLT5Be2hb2lT5dJhfzFHgDOFh/vrnH/v7emlsI2DcydO9cd5U2w72PpSF7yAwIA4HiHjjS5afIL26tnS+2KpWF3Jv2tAQCpUX5xF33wYLkKz8mRk+pgPGTGjBl67LHHTtpm8+bN6tevX7OXPXPmTE2bNs19XlNTo+7du0sXXSPl5zd7eQAAtLiamlO3iUl+YdumvXTlA0l/WwBAanVqF0h1CJ5z//3369Zbbz1pmz59Tu8OqEAgoECgkT7x+aIPAABSrRnno+QXtgAAoEk6deqkTp06pToMAADSHoUtAAAZYNeuXTpw4IB27dqlcDis9evXS5LOP/98tW3LZ5oBAJmNwhYAgAwwa9YsPf/88+7zSy+9VJK0bNkyjRw5MkVRAQCQHE0qbM1MUr2fAgAAIMXi56T4OepsV1FRcUa/Ycu5HgCQbppzrm9SYXvw4EFJin5bIgAAaeTgwYMqKChIdRiet3//fkmc6wEA6acp53rHmlD+RiIR7d69W+3atZPjnNkPNcR/TuCzzz5T/ln4cwLkT/7kT/7k3zL5m5kOHjyo4uJi+fgW3zNWVVWlDh06aNeuXRnzh4JM3OfIyRvIKf1lWj5SZubUnHN9k0ZsfT6fzjvvvBYJLi4/Pz9jVvjpIH/yJ3/yP1u1ZP6ZUoClg/gFQ0FBQcZtn5m4z5GTN5BT+su0fKTMy6mp53r+xA0AAAAA8DQKWwAAAACApyW9sA0EApo9e7YCgUCy3zotkD/5kz/5k//ZmX+6y8T+ISdvICdvyLScMi0fKTNzao4mfXkUAAAAAADpiluRAQAAAACeRmELAAAAAPA0ClsAAAAAgKdR2AIAAAAAPC0phe0jjzyi4cOHKy8vT+3bt2/SPGamWbNmqVu3bmrTpo3Ky8v1ySeftG6greTAgQO66aablJ+fr/bt2+v222/XoUOHTjrPyJEj5ThOwuO73/1ukiI+M/Pnz1evXr2Um5ur0tJSvf/++ydtv3DhQvXr10+5ubkaMGCAFi9enKRIW0dz8q+oqGjQz7m5uUmMtmWtWLFCX//611VcXCzHcfTqq6+ecp7ly5dryJAhCgQCOv/881VRUdHqcbaW5ua/fPnyBv3vOI4qKyuTE3ALmjt3ri6//HK1a9dOnTt31rXXXqstW7accr5M2/+9rLnH7lRpyrbWlHPorl27NG7cOOXl5alz58564IEHFAqFkpmK64c//GGDePv16+e+fvToUU2ZMkUdO3ZU27Ztdf3112vv3r0Jy0infCSpV69ejR7fpkyZIskbfXSqY3pTrlWbcg340Ucf6Wtf+5pyc3PVvXt3/fjHP05JTsFgUNOnT9eAAQN0zjnnqLi4WLfccot2796dsIzG+vbRRx9NSU6n6qNbb721QaxjxoxJaOOlPpLU6H7lOI4ef/xxt0069VEyJaWwraur08SJE3X33Xc3eZ4f//jH+vd//3c99dRTWr16tc455xyNHj1aR48ebcVIW8dNN92kTZs2aenSpVq0aJFWrFih73znO6ec784779SePXvchxc2uJdeeknTpk3T7NmztXbtWg0aNEijR4/Wvn37Gm2/cuVKTZo0SbfffrvWrVuna6+9Vtdee602btyY5MhbRnPzl6T8/PyEft65c2cSI25Zhw8f1qBBgzR//vwmtd++fbvGjRunq666SuvXr9d9992nO+64Q6+//norR9o6mpt/3JYtWxK2gc6dO7dShK3n7bff1pQpU/Tee+9p6dKlCgaDGjVqlA4fPnzCeTJt//ey0zl2pUpTt7WTnUPD4bDGjRunuro6rVy5Us8//7wqKio0a9asZKfjuuSSSxLifeedd9zX/umf/kn/8z//o4ULF+rtt9/W7t27dd1117mvp2M+H3zwQUI+S5culSRNnDjRbZPufXSqY3pTrlVPdQ1YU1OjUaNGqWfPnlqzZo0ef/xx/fCHP9TPfvazpOd05MgRrV27Vg899JDWrl2rl19+WVu2bNE111zToO2PfvSjhL675557UpJTU867Y8aMSYj1V7/6VcLrXuojSQm57NmzR88++6wcx9H111+f0C5d+iipLImee+45KygoOGW7SCRiXbt2tccff9ydVlVVZYFAwH71q1+1YoQt7+OPPzZJ9sEHH7jT/vd//9ccx7G//OUvJ5zvyiuvtHvvvTcJEbasYcOG2ZQpU9zn4XDYiouLbe7cuY22v+GGG2zcuHEJ00pLS+2uu+5q1ThbS3Pzb+o+4UWS7JVXXjlpm+9973t2ySWXJEy78cYbbfTo0a0YWXI0Jf9ly5aZJPvrX/+alJiSad++fSbJ3n777RO2ybT938uae+xKJ41ta6c6hy5evNh8Pp9VVla60xYsWGD5+flWW1vbmuE2avbs2TZo0KBGX6uqqrLs7GxbuHChO23z5s0myVatWmVm6ZdPY+69917r27evRSIRM/NeHx1/TG/KtWpTrgH/8z//0zp06JCQ0/Tp062kpKSVM2raeer99983SbZz5053Ws+ePW3evHknnCdVOTWWz+TJk238+PEnnCcT+mj8+PH2N3/zNwnT0rWPWltafsZ2+/btqqysVHl5uTutoKBApaWlWrVqVQoja75Vq1apffv2Gjp0qDutvLxcPp9Pq1evPum8L774ooqKitS/f3/NnDlTR44cae1wz0hdXZ3WrFmT0G8+n0/l5eUn7LdVq1YltJek0aNHe66fpdPLX5IOHTqknj17qnv37ho/frw2bdqUjHDTQib1/5kYPHiwunXrpr/927/Vu+++m+pwWkR1dbUkqbCw8IRt6P/0cLrHrnRxom3tZOfQVatWacCAAerSpYs7bfTo0aqpqUnZMfiTTz5RcXGx+vTpo5tuukm7du2SJK1Zs0bBYDChf/r166cePXq4/ZOO+dRXV1enX/ziF/r2t78tx3Hc6V7ro/qacq3alGvAVatWacSIEcrJyXHbjB49Wlu2bNFf//rXJGVzYtXV1XIcp8FHCR999FF17NhRl156qR5//PGEW8TTLafly5erc+fOKikp0d133639+/cnxOrlPtq7d69+97vf6fbbb2/wmpf6qKVkpTqAxsQ/X1b/YBZ/7rXPnlVWVja4rTArK0uFhYUnzeVb3/qWevbsqeLiYn300UeaPn26tmzZopdffrm1Qz5tX3zxhcLhcKP99sc//rHReSorKzOin6XTy7+kpETPPvusBg4cqOrqaj3xxBMaPny4Nm3apPPOOy8ZYafUifq/pqZGX375pdq0aZOiyJKjW7dueuqppzR06FDV1tbq5z//uUaOHKnVq1dryJAhqQ7vtEUiEd1333366le/qv79+5+wXSbt/152OseudHGibe1U59ATbXvx15KttLRUFRUVKikp0Z49ezRnzhx97Wtf08aNG1VZWamcnJwGhUX9fSXd8jneq6++qqqqKt16663uNK/10fGacq3alGvAyspK9e7du8Ey4q916NChVeJviqNHj2r69OmaNGmS8vPz3en/+I//qCFDhqiwsFArV67UzJkztWfPHj355JOS0iunMWPG6LrrrlPv3r21bds2ff/739fYsWO1atUq+f1+z/fR888/r3bt2iV8NEHyVh+1pNMubGfMmKHHHnvspG02b96c8OUHmaSp+Z+u+vf2DxgwQN26ddPVV1+tbdu2qW/fvqe9XKSXsrIylZWVuc+HDx+uiy66SE8//bQefvjhFEaGZCgpKVFJSYn7fPjw4dq2bZvmzZun//qv/0phZGdmypQp2rhxY8JnBIHWcKJtzWvn0LFjx7r/HzhwoEpLS9WzZ0/95je/yYg/8D3zzDMaO3asiouL3Wle66OzTTAY1A033CAz04IFCxJemzZtmvv/gQMHKicnR3fddZfmzp2rQCCQ7FBP6pvf/Kb7/wEDBmjgwIHq27evli9frquvvjqFkbWMZ599VjfddFODLx71Uh+1pNO+Ffn+++/X5s2bT/ro06fPaS27a9euktTgG//27t3rvpZqTc2/a9euDb58IxQK6cCBA83KpbS0VJK0devWFs2jJRUVFcnv9zer37p27ZrW/dwcp5P/8bKzs3XppZemdT+3pBP1f35+fkZczJ2OYcOGebr/p06dqkWLFmnZsmWnvOsgk/Z/L2uJY1cqNGdbO/4ceqJtL/5aqrVv314XXnihtm7dqq5du6qurk5VVVUJber3Tzrns3PnTr3xxhu64447TtrOa33UlGvVplwDpmOe8aJ2586dWrp0acJobWNKS0sVCoW0Y8cOSemZU1yfPn1UVFSUsJ15sY8k6fe//722bNlyyn1L8lYfnYnTLmw7deqkfv36nfRR/77t5ujdu7e6du2qN998051WU1Oj1atXJ4xupVJT8y8rK1NVVZXWrFnjzvvWW28pEom4B/GmWL9+vaTorYvpKicnR5dddllCv0UiEb355psn7LeysrKE9pK0dOnStOnn5jid/I8XDoe1YcOGtO7nlpRJ/d9S1q9f78n+NzNNnTpVr7zyit56660Gtzg1hv5PDy1x7Eqm09nWjj+HlpWVacOGDQkXtPEL+IsvvrhV4m6OQ4cOadu2berWrZsuu+wyZWdnJ/TPli1btGvXLrd/0jmf5557Tp07d9a4ceNO2s5rfdSUa9WmXAOWlZVpxYoVCgaDbpulS5eqpKQkJbeDxovaTz75RG+88YY6dux4ynnWr18vn8/n3tKbbjnV9+c//1n79+9P2M681kdxzzzzjC677DINGjTolG291EdnJBnfULVz505bt26dzZkzx9q2bWvr1q2zdevW2cGDB902JSUl9vLLL7vPH330UWvfvr299tpr9tFHH9n48eOtd+/e9uWXXyYj5BY1ZswYu/TSS2316tX2zjvv2AUXXGCTJk1yX//zn/9sJSUltnr1ajMz27p1q/3oRz+yDz/80LZv326vvfaa9enTx0aMGJGqFJrs17/+tQUCAauoqLCPP/7YvvOd71j79u3dbzW8+eabbcaMGW77d99917KysuyJJ56wzZs32+zZsy07O9s2bNiQqhTOSHPznzNnjr3++uu2bds2W7NmjX3zm9+03Nxc27RpU6pSOCMHDx50929J9uSTT9q6devcb1OcMWOG3XzzzW77Tz/91PLy8uyBBx6wzZs32/z5883v99uSJUtSlcIZaW7+8+bNs1dffdU++eQT27Bhg917773m8/nsjTfeSFUKp+3uu++2goICW758ue3Zs8d9HDlyxG2T6fu/l53q2JVOTrWtNeUcGgqFrH///jZq1Chbv369LVmyxDp16mQzZ85MSU7333+/LV++3LZv327vvvuulZeXW1FRke3bt8/MzL773e9ajx497K233rIPP/zQysrKrKysLG3ziQuHw9ajRw+bPn16wnSv9NGpjulNuVY91TVgVVWVdenSxW6++WbbuHGj/frXv7a8vDx7+umnk55TXV2dXXPNNXbeeefZ+vXrE/av+Lfnrly50ubNm2fr16+3bdu22S9+8Qvr1KmT3XLLLSnJ6WT5HDx40P75n//ZVq1aZdu3b7c33njDhgwZYhdccIEdPXrUXYaX+iiuurra8vLybMGCBQ3mT7c+SqakFLaTJ082SQ0ey5YtOxaIZM8995z7PBKJ2EMPPWRdunSxQCBgV199tW3ZsiUZ4ba4/fv326RJk6xt27aWn59vt912W0JRv3379oT1sWvXLhsxYoQVFhZaIBCw888/3x544AGrrq5OUQbN8x//8R/Wo0cPy8nJsWHDhtl7773nvnbllVfa5MmTE9r/5je/sQsvvNBycnLskksusd/97ndJjrhlNSf/++67z23bpUsX+7u/+ztbu3ZtCqJuGfGfrzn+Ec958uTJduWVVzaYZ/DgwZaTk2N9+vRJOA54TXPzf+yxx6xv376Wm5trhYWFNnLkSHvrrbdSE/wZaizv44/rZ8P+72UnO3alk1Nta009h+7YscPGjh1rbdq0saKiIrv//vstGAymIKPoz5x169bNcnJy7Nxzz7Ubb7zRtm7d6r7+5Zdf2j/8wz9Yhw4dLC8vzyZMmGB79uxJWEY65RP3+uuvm6QG129e6aNTHdObcq16qmtAM7M//OEPdsUVV1ggELBzzz3XHn300ZTkFL8ePdk1+5o1a6y0tNQKCgosNzfXLrroIvvXf/3XhEIxmTmdLJ8jR47YqFGjrFOnTpadnW09e/a0O++8s8Ef7LzUR3FPP/20tWnTxqqqqhrMn259lEyOmVlLjPwCAAAAAJAKafk7tgAAAAAANBWFLQAAAADA0yhsAQAAAACeRmELAAAAAPA0ClsAAAAAgKdR2AIAAAAAPI3CFgAAAADgaRS2AAAAAABPo7AFAAAAAHgahS0AAAAAwNMobAEAAAAAnkZhCwAAAADwtP8P20qrWNJ8xeMAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "az.plot_trace(model.trace.posterior[\"slopes\"])" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py new file mode 100644 index 00000000..ba9a48cf --- /dev/null +++ b/skpro/regression/bayesian.py @@ -0,0 +1,348 @@ +"""Probabilistic linear regression by PyMC""" + + +__author__ = ["meraldoantonio"] + +from skpro.regression.base import BaseProbaRegressor +import pymc as pm +import numpy as np +import arviz as az + +# todo: for imports of skpro soft dependencies: +# make sure to fill in the "python_dependencies" tag with the package import name +# import soft dependencies only inside methods of the class, not at the top of the file + + +# todo: change class name and write docstring +class BayesianLinearRegression(BaseProbaRegressor): + """Custom probabilistic supervised regressor. todo: write docstring. + + todo: describe your custom regressor here + + Parameters + ---------- + parama : int + descriptive explanation of parama + paramb : string, optional (default='default') + descriptive explanation of paramb + paramc : boolean, optional (default= whether paramb is not the default) + descriptive explanation of paramc + and so on + est : skpro.estimator, BaseEstimator descendant + descriptive explanation of est + est2: another estimator + descriptive explanation of est2 + and so on + """ + + # todo: fill out estimator tags here + # tags are inherited from parent class if they are not set + # tags inherited from base are "safe defaults" which can usually be left as-is + _tags = { + # packaging info + # -------------- + "authors": ["meraldoantonio"], # authors, GitHub handles + "maintainers": ["maintainer1", "maintainer2"], # maintainers, GitHub handles + # author = significant contribution to code at some point + # maintainer = algorithm maintainer role, "owner" + # specify one or multiple authors and maintainers, only for skpro contribution + # remove maintainer tag if maintained by skpro/sktim core team + # + "python_version": None, # PEP 440 python version specifier to limit versions + "python_dependencies": None, # PEP 440 python dependencies specifier, + # e.g., "numba>0.53", or a list, e.g., ["numba>0.53", "numpy>=1.19.0"] + # delete if no python dependencies or version limitations + # + # estimator tags + # -------------- + "capability:multioutput": False, # can the estimator handle multi-output data? + "capability:missing": True, # can the estimator handle missing data? + "X_inner_mtype": "pd_DataFrame_Table", # type seen in internal _fit, _predict + "y_inner_mtype": "pd_DataFrame_Table", # type seen in internal _fit + } + + # todo: fill init + # params should be written to self and never changed + # super call must not be removed, change class name + # parameter checks can go after super call + def __init__(self, paramname, paramname2="paramname2default"): + # estimators should precede parameters + # if estimators have default values, set None and initialize below + + # todo: write any hyper-parameters and components to self + self.paramname = paramname + self.paramname2 = paramname2 + + # leave this as is + super().__init__() + + # todo: optional, parameter checking logic (if applicable) should happen here + # if writes derived values to self, should *not* overwrite self.parama etc + # instead, write to self._parama, self._newparam (starting with _) + + # todo: default estimators should have None arg defaults + # and be initialized here + # do this only with default estimators, not with parameters + # if est2 is None: + # self.estimator = MyDefaultEstimator() + + # todo: if tags of estimator depend on component tags, set these here + # only needed if estimator is a composite + # tags set in the constructor apply to the object and override the class + # + # example 1: conditional setting of a tag + # if est.foo == 42: + # self.set_tags(handles-missing-data=True) + # example 2: cloning tags from component + # self.clone_tags(est2, ["enforce_index_type", "handles-missing-data"]) + + # todo: implement this, mandatory + def _fit(self, X, y): + """Fit regressor to training data. + + Writes to self: + Sets fitted model attributes ending in "_". + + Parameters + ---------- + X : pandas DataFrame + feature instances to fit regressor to + y : pandas DataFrame, must be same length as X + labels to fit regressor to + + Returns + ------- + self : reference to self + """ + # insert logic for estimator here + # fitted parameters should be written to parameters ending in underscore + + # self must be returned at the end + return self + + # todo: implement this, mandatory + def _predict(self, X): + """Predict labels for data from features. + + State required: + Requires state to be "fitted" = self.is_fitted=True + + Accesses in self: + Fitted model attributes ending in "_" + + Parameters + ---------- + X : pandas DataFrame, must have same columns as X in `fit` + data to predict labels for + + Returns + ------- + y : pandas DataFrame, same length as `X`, same columns as `y` in `fit` + labels predicted for `X` + """ + # implement logic for prediction here + # this can read out parameters fitted in fit, or hyperparameters from init + # no attributes should be written to self + + y_pred = "placeholder" + # returned object should be pd.DataFrame + # same length as X, same columns as y in fit + return y_pred + + # todo: implement at least one of the probabilistic prediction methods + # _predict_proba, _predict_interval, _predict_quantiles + # if one is implemented, the other two are filled in by default + # implementation of _predict_proba is preferred, if possible + # + # CAVEAT: if not implemented, _predict_proba assumes normal distribution + # this can be inconsistent with _predict_interval or _predict_quantiles + def _predict_proba(self, X): + """Predict distribution over labels for data from features. + + State required: + Requires state to be "fitted". + + Accesses in self: + Fitted model attributes ending in "_" + + Parameters + ---------- + X : pandas DataFrame, must have same columns as X in `fit` + data to predict labels for + + Returns + ------- + y_pred : skpro BaseDistribution, same length as `X` + labels predicted for `X` + """ + # if implementing _predict_proba (otherwise delete this method) + # todo: adapt the following by filling in logic to produce prediction values + + # boilerplate code to create correct output index + index = X.index + y_cols = self._y_cols # columns from y in fit, not automatically stored + columns = y_cols + + # values = logic to produce prediction values + # replace this import by the distribution you are using + # the distribution type can be conditional, e.g., data or parameter dependent + from skpro.distributions import SomeDistribution + + values = None # fill in values + y_pred = SomeDistribution(values, index=index, columns=columns) + + return y_pred + + # todo: implement at least one of the probabilistic prediction methods, see above + # delete the methods that are not implemented and filled by default + def _predict_interval(self, X, coverage): + """Compute/return interval predictions. + + private _predict_interval containing the core logic, + called from predict_interval and default _predict_quantiles + + Parameters + ---------- + X : pandas DataFrame, must have same columns as X in `fit` + data to predict labels for + coverage : guaranteed list of float of unique values + nominal coverage(s) of predictive interval(s) + + Returns + ------- + pred_int : pd.DataFrame + Column has multi-index: first level is variable name from ``y`` in fit, + second level coverage fractions for which intervals were computed, + in the same order as in input `coverage`. + Third level is string "lower" or "upper", for lower/upper interval end. + Row index is equal to row index of ``X``. + Entries are lower/upper bounds of interval predictions, + for var in col index, at nominal coverage in second col index, + lower/upper depending on third col index, for the row index. + Upper/lower interval end are equivalent to + quantile predictions at alpha = 0.5 - c/2, 0.5 + c/2 for c in coverage. + """ + # if implementing _predict_interval (otherwise delete this method) + # todo: adapt the following by filling in logic to produce prediction values + + # boilerplate code to create correct pandas output index + # only if using pandas, for other mtypes, use appropriate data structure + import pandas as pd + + index = X.index + y_cols = self._y_cols # columns from y in fit, not automatically stored + columns = pd.MultiIndex.from_product( + [y_cols, coverage, ["lower", "upper"]], + ) + + # values = logic to produce prediction values + values = None # fill in values + pred_int = pd.DataFrame(values, index=index, columns=columns) + + return pred_int + + # todo: implement at least one of the probabilistic prediction methods, see above + # delete the methods that are not implemented and filled by default + def _predict_quantiles(self, X, alpha): + """Compute/return quantile predictions. + + private _predict_quantiles containing the core logic, + called from predict_quantiles and default _predict_interval + + Parameters + ---------- + X : pandas DataFrame, must have same columns as X in `fit` + data to predict labels for + alpha : guaranteed list of float + A list of probabilities at which quantile predictions are computed. + + Returns + ------- + quantiles : pd.DataFrame + Column has multi-index: first level is variable name from ``y`` in fit, + second level being the values of alpha passed to the function. + Row index is equal to row index of ``X``. + Entries are quantile predictions, for var in col index, + at quantile probability in second col index, for the row index. + """ + # if implementing _predict_quantiles (otherwise delete this method) + # todo: adapt the following by filling in logic to produce prediction values + + # boilerplate code to create correct pandas output index + # only if using pandas, for other mtypes, use appropriate data structure + import pandas as pd + + index = X.index + y_cols = self._y_cols # columns from y in fit, not automatically stored + columns = pd.MultiIndex.from_product( + [y_cols, alpha], + ) + + # values = logic to produce prediction values + values = None # fill in values + quantiles = pd.DataFrame(values, index=index, columns=columns) + + return quantiles + + # todo: return default parameters, so that a test instance can be created + # required for automated unit and integration testing of estimator + @classmethod + def get_test_params(cls, parameter_set="default"): + """Return testing parameter settings for the estimator. + + Parameters + ---------- + parameter_set : str, default="default" + Name of the set of test parameters to return, for use in tests. If no + special parameters are defined for a value, will return `"default"` set. + + Returns + ------- + params : dict or list of dict, default = {} + Parameters to create testing instances of the class + Each dict are parameters to construct an "interesting" test instance, i.e., + `MyClass(**params)` or `MyClass(**params[i])` creates a valid test instance. + `create_test_instance` uses the first (or only) dictionary in `params` + """ + + # todo: set the testing parameters for the estimators + # Testing parameters can be dictionary or list of dictionaries + # + # this can, if required, use: + # class properties (e.g., inherited); parent class test case + # imported objects such as estimators from skpro or sklearn + # important: all such imports should be *inside get_test_params*, not at the top + # since imports are used only at testing time + # + # The parameter_set argument is not used for most automated, module level tests. + # It can be used in custom, estimator specific tests, for "special" settings. + # A parameter dictionary must be returned *for all values* of parameter_set, + # i.e., "parameter_set not available" errors should never be raised. + # + # A good parameter set should primarily satisfy two criteria, + # 1. Chosen set of parameters should have a low testing time, + # ideally in the magnitude of few seconds for the entire test suite. + # This is vital for the cases where default values result in + # "big" models which not only increases test time but also + # run into the risk of test workers crashing. + # 2. There should be a minimum two such parameter sets with different + # sets of values to ensure a wide range of code coverage is provided. + # + # example 1: specify params as dictionary + # any number of params can be specified + # params = {"est": value0, "parama": value1, "paramb": value2} + # + # example 2: specify params as list of dictionary + # note: Only first dictionary will be used by create_test_instance + # params = [{"est": value1, "parama": value2}, + # {"est": value3, "parama": value4}] + # + # example 3: parameter set depending on param_set value + # note: only needed if a separate parameter set is needed in tests + # if parameter_set == "special_param_set": + # params = {"est": value1, "parama": value2} + # return params + # + # # "default" params + # params = {"est": value3, "parama": value4} + # return params diff --git a/skpro/regression/bayesian_wip.py b/skpro/regression/bayesian_wip.py new file mode 100644 index 00000000..78f3289a --- /dev/null +++ b/skpro/regression/bayesian_wip.py @@ -0,0 +1,116 @@ +""" +Note: this is WIP; to be converted into an skpro class +""" + +import numpy as np +import pandas as pd +import pymc as pm +import matplotlib.pyplot as plt +import arviz as az + +class BayesianLinearRegression: + def __init__(self): + self.model = None + self.trace = None + self.fitted = False + + def fit(self, X, y): + assert isinstance(X, pd.DataFrame), "X must be a pd.DataFrame!" + assert isinstance(y, pd.DataFrame), "y must be a pd.DataFrame!" + assert len(y.columns) == 1, "y must have only one column!" + self.X = X + self.y = y + self.y_vals = y.values[:,0] # we need a 1-dimensional array for compatibility with pymc + self.X_cols = X.columns + self.y_cols = y.columns + + with pm.Model() as self.model: + # Mutable data containers + X_data = pm.MutableData("X", self.X, dims = ("obs_id", "pred_id")) + y_data = pm.MutableData("y", self.y_vals, dims = ("obs_id")) + + # Priors for unknown model parameters + self.intercepts = pm.Normal("intercepts", mu=0, sigma=1) + self.slopes = pm.Normal("slopes", mu=0, sigma=1, dims=("pred_id")) + self.sigma = pm.HalfNormal("sigma", sigma=1) + + # Expected value of outcome + self.mu = pm.Deterministic("mu", self.intercepts + pm.math.dot(X_data, self.slopes)) + + # Likelihood (sampling distribution) of observations + Y_obs = pm.Normal("y_obs", mu=self.mu, sigma=self.sigma, observed=y_data, dims =("obs_id")) + + # Sample from the posterior + self.trace = pm.sample( + draws=2000, + tune=1500, + chains=1, + random_seed=42, + target_accept=0.90, # Target acceptance probability; higher value leads to higher accuracy but slower sampling + return_inferencedata=True, # Return an InferenceData object + progressbar=True + ) + + self.fitted = True + + def predict_proba(self, X_new): + """ + Get the full posterior predictive distribution samples as xarray DataArray + """ + if not self.fitted: + raise RuntimeError("The model must be fitted before making predictions.") + + assert isinstance(X_new, pd.DataFrame), "X must be a pd.DataFrame" + assert X_new.columns.equals(self.X_cols), f"The columns of X must be the same as the columns of the training data: {self.X_cols}" + + with self.model: + # Set the X_new to be the 'X' variable and then sample + pm.set_data({"X": X_new}) + self.trace.extend(pm.sample_posterior_predictive(self.trace, random_seed=42)) + return self.trace.posterior_predictive["y_obs"] # Note: returns y_obs as xarray.core.dataarray.DataArray containing the posterior samples + + def predict(self, X_new): + """ + Get the mean of the posterior predictive distribution + """ + y_pred_proba = self.predict_proba(X_new) + y_pred = y_pred_proba.mean(dim = ["chain", "draw"]).to_dataframe() + y_pred.columns = self.y_cols + return y_pred + + def predict_quantile(self, X_new, alpha): + index = X_new.index + columns = pd.MultiIndex.from_product( + [self.y_cols, alpha], + ) + predict_proba = self.predict_proba(X_new) + + values = [] + for a_ in alpha: + val_ = predict_proba.quantile(a_, dim=["chain", "draw"]).to_numpy() + values.append(val_) + values = np.stack(values).T + quantiles = pd.DataFrame(values, index=index, columns=columns) + return quantiles + + def visualize_model(self): + """ + Use graphviz to visualize the composition of the model + """ + if not self.fitted: + raise RuntimeError("The model must be fitted before visualization can be done.") + return pm.model_to_graphviz(self.model) + + def plot_posterior_predictive(self, X_new): + if not self.fitted: + raise RuntimeError("The model must be fitted before plotting predictions.") + + quantile_df = model.predict_quantile(X_new, alpha = [0.25, 0.5, 0.75]) + plt.plot(quantile_df.index, quantile_df["target"][0.50], label='0.50 Quantile', color='blue') + plt.fill_between(quantile_df.index, quantile_df["target"][0.25], quantile_df["target"][0.75], color='blue', alpha=0.2, label='0.25-0.75 Quantile') + + plt.xlabel('Index') + plt.ylabel('Target') + plt.title('Quantiles with Shading') + plt.legend() + plt.show() From be4d12a4f176c35c450a643412c083ee907ec4a9 Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 23 May 2024 17:14:24 +0000 Subject: [PATCH 03/51] Added comments --- skpro/regression/bayesian.py | 49 ++++++++++++++++++++++++++++++-- skpro/regression/bayesian_wip.py | 12 ++++++-- 2 files changed, 55 insertions(+), 6 deletions(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index ba9a48cf..26cc6fa2 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -1,3 +1,8 @@ +""" +Note: this is WIP; it will be filled in with the codes from `bayesian_wip.py` +""" + + """Probabilistic linear regression by PyMC""" @@ -65,13 +70,14 @@ class BayesianLinearRegression(BaseProbaRegressor): # params should be written to self and never changed # super call must not be removed, change class name # parameter checks can go after super call - def __init__(self, paramname, paramname2="paramname2default"): + def __init__(self): # estimators should precede parameters # if estimators have default values, set None and initialize below # todo: write any hyper-parameters and components to self - self.paramname = paramname - self.paramname2 = paramname2 + self.model = None + self.trace = None + self.fitted = False # leave this as is super().__init__() @@ -118,6 +124,43 @@ def _fit(self, X, y): # fitted parameters should be written to parameters ending in underscore # self must be returned at the end + assert isinstance(X, pd.DataFrame), "X must be a pd.DataFrame!" + assert isinstance(y, pd.DataFrame), "y must be a pd.DataFrame!" + assert len(y.columns) == 1, "y must have only one column!" + self.X = X + self.y = y + self.y_vals = y.values[:,0] # we need a 1-dimensional array for compatibility with pymc + self.X_cols = X.columns + self.y_cols = y.columns + + with pm.Model() as self.model: + # Mutable data containers + X_data = pm.MutableData("X", self.X, dims = ("obs_id", "pred_id")) + y_data = pm.MutableData("y", self.y_vals, dims = ("obs_id")) + + # Priors for unknown model parameters + self.intercepts = pm.Normal("intercepts", mu=0, sigma=1) + self.slopes = pm.Normal("slopes", mu=0, sigma=1, dims=("pred_id")) + self.sigma = pm.HalfNormal("sigma", sigma=1) + + # Expected value of outcome + self.mu = pm.Deterministic("mu", self.intercepts + pm.math.dot(X_data, self.slopes)) + + # Likelihood (sampling distribution) of observations + Y_obs = pm.Normal("y_obs", mu=self.mu, sigma=self.sigma, observed=y_data, dims =("obs_id")) + + # Sample from the posterior + self.trace = pm.sample( + draws=2000, + tune=1500, + chains=1, + random_seed=42, + target_accept=0.90, # Target acceptance probability; higher value leads to higher accuracy but slower sampling + return_inferencedata=True, # Return an InferenceData object + progressbar=True + ) + + self.fitted = True return self # todo: implement this, mandatory diff --git a/skpro/regression/bayesian_wip.py b/skpro/regression/bayesian_wip.py index 78f3289a..9c120d3a 100644 --- a/skpro/regression/bayesian_wip.py +++ b/skpro/regression/bayesian_wip.py @@ -1,5 +1,5 @@ """ -Note: this is WIP; to be converted into an skpro class +Note: this is WIP; to be converted into an skpro class inside the `bayesian.py` """ import numpy as np @@ -104,8 +104,7 @@ def visualize_model(self): def plot_posterior_predictive(self, X_new): if not self.fitted: raise RuntimeError("The model must be fitted before plotting predictions.") - - quantile_df = model.predict_quantile(X_new, alpha = [0.25, 0.5, 0.75]) + quantile_df = self.predict_quantile(X_new, alpha = [0.25, 0.5, 0.75]) plt.plot(quantile_df.index, quantile_df["target"][0.50], label='0.50 Quantile', color='blue') plt.fill_between(quantile_df.index, quantile_df["target"][0.25], quantile_df["target"][0.75], color='blue', alpha=0.2, label='0.25-0.75 Quantile') @@ -114,3 +113,10 @@ def plot_posterior_predictive(self, X_new): plt.title('Quantiles with Shading') plt.legend() plt.show() + + """ + Other planned methods: + - plot_prior_predictive + - plot_priors + - plot_posteriors + """ \ No newline at end of file From 054a7df5450424a5c0013c2c39e665b00b0a484a Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Fri, 24 May 2024 04:01:38 +0000 Subject: [PATCH 04/51] Changed MutableData to Data --- skpro/regression/bayesian_wip.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/skpro/regression/bayesian_wip.py b/skpro/regression/bayesian_wip.py index 9c120d3a..dd8c60c3 100644 --- a/skpro/regression/bayesian_wip.py +++ b/skpro/regression/bayesian_wip.py @@ -26,8 +26,8 @@ def fit(self, X, y): with pm.Model() as self.model: # Mutable data containers - X_data = pm.MutableData("X", self.X, dims = ("obs_id", "pred_id")) - y_data = pm.MutableData("y", self.y_vals, dims = ("obs_id")) + X_data = pm.Data("X", self.X, dims = ("obs_id", "pred_id")) + y_data = pm.Data("y", self.y_vals, dims = ("obs_id")) # Priors for unknown model parameters self.intercepts = pm.Normal("intercepts", mu=0, sigma=1) From eb54e18e83b4657fd0d7421aa3e6107dbd73411e Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Fri, 31 May 2024 12:22:54 +0000 Subject: [PATCH 05/51] Fixed typo in pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4f000f5d..e3e3c3ff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,7 +64,7 @@ all_extras = [ "statsmodels>=0.12.1", "tabulate", "uncertainties", - "pymc=5.15.0, + "pymc", ] dev = [ From eebfb67681040f2a9956f505bc0f258d7e26132f Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 03:28:35 +0000 Subject: [PATCH 06/51] BayesianLinearRegressor fitted to skpro template, fit and predict work --- skpro/regression/bayesian.py | 235 +++++++++-------------------------- 1 file changed, 59 insertions(+), 176 deletions(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index 26cc6fa2..84adc813 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -1,17 +1,12 @@ -""" -Note: this is WIP; it will be filled in with the codes from `bayesian_wip.py` -""" - - -"""Probabilistic linear regression by PyMC""" - +"""Simple bayesian linear regression with normal priors; coded on pymc backend""" +# copyright: skpro developers __author__ = ["meraldoantonio"] from skpro.regression.base import BaseProbaRegressor -import pymc as pm + +import pandas as pd import numpy as np -import arviz as az # todo: for imports of skpro soft dependencies: # make sure to fill in the "python_dependencies" tag with the package import name @@ -19,45 +14,34 @@ # todo: change class name and write docstring -class BayesianLinearRegression(BaseProbaRegressor): - """Custom probabilistic supervised regressor. todo: write docstring. - - todo: describe your custom regressor here +class BayesianLinearRegressor(BaseProbaRegressor): + """BayesianLinearRegression with normal priors for slopes and intercept and halfnormal prior for noise. Parameters ---------- + (to do) + parama : int + descriptive explanation of parama + paramb : string, optional (default='default') + descriptive explanation of paramb + paramc : boolean, optional (default= whether paramb is not the default) + descriptive explanation of paramc + parama : int descriptive explanation of parama paramb : string, optional (default='default') descriptive explanation of paramb paramc : boolean, optional (default= whether paramb is not the default) descriptive explanation of paramc - and so on - est : skpro.estimator, BaseEstimator descendant - descriptive explanation of est - est2: another estimator - descriptive explanation of est2 - and so on """ - # todo: fill out estimator tags here - # tags are inherited from parent class if they are not set - # tags inherited from base are "safe defaults" which can usually be left as-is _tags = { # packaging info # -------------- "authors": ["meraldoantonio"], # authors, GitHub handles - "maintainers": ["maintainer1", "maintainer2"], # maintainers, GitHub handles - # author = significant contribution to code at some point - # maintainer = algorithm maintainer role, "owner" - # specify one or multiple authors and maintainers, only for skpro contribution - # remove maintainer tag if maintained by skpro/sktim core team - # - "python_version": None, # PEP 440 python version specifier to limit versions - "python_dependencies": None, # PEP 440 python dependencies specifier, - # e.g., "numba>0.53", or a list, e.g., ["numba>0.53", "numpy>=1.19.0"] - # delete if no python dependencies or version limitations - # + "python_version": None, + "python_dependencies": ["pymc"], + # estimator tags # -------------- "capability:multioutput": False, # can the estimator handle multi-output data? @@ -66,32 +50,21 @@ class BayesianLinearRegression(BaseProbaRegressor): "y_inner_mtype": "pd_DataFrame_Table", # type seen in internal _fit } - # todo: fill init - # params should be written to self and never changed - # super call must not be removed, change class name - # parameter checks can go after super call - def __init__(self): - # estimators should precede parameters - # if estimators have default values, set None and initialize below - # todo: write any hyper-parameters and components to self - self.model = None - self.trace = None - self.fitted = False + def __init__(self, intercept_sigma=10, slopes_sigma=10, noise_sigma=10, chains=2, draws=2000): + + # priors + self.intercept_sigma = intercept_sigma + self.slopes_sigma = slopes_sigma + self.noise_sigma = noise_sigma + self.chains = chains + self.draws = draws - # leave this as is super().__init__() # todo: optional, parameter checking logic (if applicable) should happen here # if writes derived values to self, should *not* overwrite self.parama etc # instead, write to self._parama, self._newparam (starting with _) - - # todo: default estimators should have None arg defaults - # and be initialized here - # do this only with default estimators, not with parameters - # if est2 is None: - # self.estimator = MyDefaultEstimator() - # todo: if tags of estimator depend on component tags, set these here # only needed if estimator is a composite # tags set in the constructor apply to the object and override the class @@ -120,50 +93,40 @@ def _fit(self, X, y): ------- self : reference to self """ - # insert logic for estimator here - # fitted parameters should be written to parameters ending in underscore - # self must be returned at the end - assert isinstance(X, pd.DataFrame), "X must be a pd.DataFrame!" - assert isinstance(y, pd.DataFrame), "y must be a pd.DataFrame!" + import pymc as pm assert len(y.columns) == 1, "y must have only one column!" self.X = X self.y = y - self.y_vals = y.values[:,0] # we need a 1-dimensional array for compatibility with pymc + self.y_vals = y.values[:,0] # we need a 1-dimensional array for compatibility with pymc self.X_cols = X.columns - self.y_cols = y.columns + self._y_cols = y.columns with pm.Model() as self.model: + # Mutable data containers X_data = pm.MutableData("X", self.X, dims = ("obs_id", "pred_id")) y_data = pm.MutableData("y", self.y_vals, dims = ("obs_id")) # Priors for unknown model parameters - self.intercepts = pm.Normal("intercepts", mu=0, sigma=1) - self.slopes = pm.Normal("slopes", mu=0, sigma=1, dims=("pred_id")) - self.sigma = pm.HalfNormal("sigma", sigma=1) + self.intercept = pm.Normal("intercept", mu=0, sigma=self.intercept_sigma) + self.slopes = pm.Normal("slopes", mu=0, sigma=self.slopes_sigma, shape = X.shape[1], dims=("pred_id")) + self.noise = pm.HalfNormal("noise", sigma=self.noise_sigma) # Expected value of outcome - self.mu = pm.Deterministic("mu", self.intercepts + pm.math.dot(X_data, self.slopes)) + self.mu = pm.Deterministic("mu", self.intercept + pm.math.dot(X_data, self.slopes)) # Likelihood (sampling distribution) of observations - Y_obs = pm.Normal("y_obs", mu=self.mu, sigma=self.sigma, observed=y_data, dims =("obs_id")) - - # Sample from the posterior - self.trace = pm.sample( - draws=2000, - tune=1500, - chains=1, - random_seed=42, - target_accept=0.90, # Target acceptance probability; higher value leads to higher accuracy but slower sampling - return_inferencedata=True, # Return an InferenceData object - progressbar=True - ) - - self.fitted = True + y_obs = pm.Normal("y_obs", mu=self.mu, sigma=self.noise, observed=y_data, dims =("obs_id")) + + # Constructing the posterior + self.trace = pm.sample(chains = self.chains, draws = self.draws) + + # Constructing the in-sample posterior predictive + self.trace.extend(pm.sample_posterior_predictive(self.trace)) + return self - # todo: implement this, mandatory def _predict(self, X): """Predict labels for data from features. @@ -187,9 +150,7 @@ def _predict(self, X): # this can read out parameters fitted in fit, or hyperparameters from init # no attributes should be written to self - y_pred = "placeholder" - # returned object should be pd.DataFrame - # same length as X, same columns as y in fit + y_pred = self._predict_proba(X).mean() return y_pred # todo: implement at least one of the probabilistic prediction methods @@ -229,103 +190,25 @@ def _predict_proba(self, X): # values = logic to produce prediction values # replace this import by the distribution you are using # the distribution type can be conditional, e.g., data or parameter dependent - from skpro.distributions import SomeDistribution - - values = None # fill in values - y_pred = SomeDistribution(values, index=index, columns=columns) + import pymc as pm + from skpro.distributions import Empirical + + with self.model: + # Set the X to be the new 'X' variable and then sample posterior predictive + pm.set_data({"X": X}) + self.trace.extend(pm.sample_posterior_predictive(self.trace, random_seed=42, predictions=True)) + + # Note: returns y_obs as xarray.core.dataarray.DataArray containing the posterior predictive samples + predict_proba = self.trace.predictions["y_obs"] + predict_proba_df = predict_proba.to_dataframe() + predict_proba_df = predict_proba_df.reset_index() + predict_proba_df["sample_id"] = predict_proba_df["chain"]*self.draws + predict_proba_df["draw"] + predict_proba_df = predict_proba_df[["obs_id", "sample_id", "y_obs"]] + predict_proba_df = predict_proba_df.set_index(["sample_id", "obs_id"]) + y_pred = Empirical(spl=predict_proba_df) return y_pred - # todo: implement at least one of the probabilistic prediction methods, see above - # delete the methods that are not implemented and filled by default - def _predict_interval(self, X, coverage): - """Compute/return interval predictions. - - private _predict_interval containing the core logic, - called from predict_interval and default _predict_quantiles - - Parameters - ---------- - X : pandas DataFrame, must have same columns as X in `fit` - data to predict labels for - coverage : guaranteed list of float of unique values - nominal coverage(s) of predictive interval(s) - - Returns - ------- - pred_int : pd.DataFrame - Column has multi-index: first level is variable name from ``y`` in fit, - second level coverage fractions for which intervals were computed, - in the same order as in input `coverage`. - Third level is string "lower" or "upper", for lower/upper interval end. - Row index is equal to row index of ``X``. - Entries are lower/upper bounds of interval predictions, - for var in col index, at nominal coverage in second col index, - lower/upper depending on third col index, for the row index. - Upper/lower interval end are equivalent to - quantile predictions at alpha = 0.5 - c/2, 0.5 + c/2 for c in coverage. - """ - # if implementing _predict_interval (otherwise delete this method) - # todo: adapt the following by filling in logic to produce prediction values - - # boilerplate code to create correct pandas output index - # only if using pandas, for other mtypes, use appropriate data structure - import pandas as pd - - index = X.index - y_cols = self._y_cols # columns from y in fit, not automatically stored - columns = pd.MultiIndex.from_product( - [y_cols, coverage, ["lower", "upper"]], - ) - - # values = logic to produce prediction values - values = None # fill in values - pred_int = pd.DataFrame(values, index=index, columns=columns) - - return pred_int - - # todo: implement at least one of the probabilistic prediction methods, see above - # delete the methods that are not implemented and filled by default - def _predict_quantiles(self, X, alpha): - """Compute/return quantile predictions. - - private _predict_quantiles containing the core logic, - called from predict_quantiles and default _predict_interval - - Parameters - ---------- - X : pandas DataFrame, must have same columns as X in `fit` - data to predict labels for - alpha : guaranteed list of float - A list of probabilities at which quantile predictions are computed. - - Returns - ------- - quantiles : pd.DataFrame - Column has multi-index: first level is variable name from ``y`` in fit, - second level being the values of alpha passed to the function. - Row index is equal to row index of ``X``. - Entries are quantile predictions, for var in col index, - at quantile probability in second col index, for the row index. - """ - # if implementing _predict_quantiles (otherwise delete this method) - # todo: adapt the following by filling in logic to produce prediction values - - # boilerplate code to create correct pandas output index - # only if using pandas, for other mtypes, use appropriate data structure - import pandas as pd - - index = X.index - y_cols = self._y_cols # columns from y in fit, not automatically stored - columns = pd.MultiIndex.from_product( - [y_cols, alpha], - ) - - # values = logic to produce prediction values - values = None # fill in values - quantiles = pd.DataFrame(values, index=index, columns=columns) - - return quantiles # todo: return default parameters, so that a test instance can be created # required for automated unit and integration testing of estimator @@ -388,4 +271,4 @@ def get_test_params(cls, parameter_set="default"): # # # "default" params # params = {"est": value3, "parama": value4} - # return params + # return params \ No newline at end of file From 2bacfa05ca439ba87f17ff4b4a4c66e940f44b41 Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 05:42:07 +0000 Subject: [PATCH 07/51] Finished predict_proba method in BayesianLinearRegressor --- skpro/regression/bayesian.py | 120 +++++++++++++++--------------- skpro/regression/bayesian_wip.py | 122 ------------------------------- 2 files changed, 57 insertions(+), 185 deletions(-) delete mode 100644 skpro/regression/bayesian_wip.py diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index 84adc813..1e91a1d7 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -1,4 +1,4 @@ -"""Simple bayesian linear regression with normal priors; coded on pymc backend""" +"""Simple Bayesian Linear Regressor with normal priors for slopes and intercept and half-normal prior for noise; coded on pymc backend""" # copyright: skpro developers __author__ = ["meraldoantonio"] @@ -8,33 +8,26 @@ import pandas as pd import numpy as np -# todo: for imports of skpro soft dependencies: -# make sure to fill in the "python_dependencies" tag with the package import name -# import soft dependencies only inside methods of the class, not at the top of the file - - -# todo: change class name and write docstring class BayesianLinearRegressor(BaseProbaRegressor): - """BayesianLinearRegression with normal priors for slopes and intercept and halfnormal prior for noise. + """Bayesian Linear Regressor with normal priors for slopes and intercept and half-normal prior for noise. Parameters ---------- - (to do) - parama : int - descriptive explanation of parama - paramb : string, optional (default='default') - descriptive explanation of paramb - paramc : boolean, optional (default= whether paramb is not the default) - descriptive explanation of paramc - - parama : int - descriptive explanation of parama - paramb : string, optional (default='default') - descriptive explanation of paramb - paramc : boolean, optional (default= whether paramb is not the default) - descriptive explanation of paramc + intercept_mu : float, optional (default=0) + Mean of the normal prior for the intercept. + intercept_sigma : float, optional (default=10) + Standard deviation of the normal prior for the intercept. + slopes_mu : float, optional (default=0) + Mean of the normal prior for the slopes. + slopes_sigma : float, optional (default=10) + Standard deviation of the normal prior for the slopes. + noise_sigma : float, optional (default=10) + Standard deviation of the half-normal prior for the noise. + chains : int, optional (default=2) + Number of MCMC chains to run. + draws : int, optional (default=2000) + Number of MCMC draws to sample from each chain. """ - _tags = { # packaging info # -------------- @@ -51,17 +44,27 @@ class BayesianLinearRegressor(BaseProbaRegressor): } - def __init__(self, intercept_sigma=10, slopes_sigma=10, noise_sigma=10, chains=2, draws=2000): + def __init__(self, intercept_mu=0, intercept_sigma=10, slopes_mu=0, slopes_sigma=10, noise_sigma=10, chains=2, draws=2000): - # priors + # hyperparameters for priors self.intercept_sigma = intercept_sigma + self.intercept_mu = intercept_mu self.slopes_sigma = slopes_sigma + self.slopes_mu = slopes_mu self.noise_sigma = noise_sigma self.chains = chains self.draws = draws super().__init__() + # Assertions to check validity of input parameters + assert self.intercept_sigma > 0, "intercept_sigma must be positive" + assert self.slopes_sigma > 0, "slopes_sigma must be positive" + assert self.noise_sigma > 0, "noise_sigma must be positive" + assert isinstance(self.chains, int) and self.chains > 0, "chains must be a positive integer" + assert isinstance(self.draws, int) and self.draws > 0, "draws must be a positive integer" + + # todo: optional, parameter checking logic (if applicable) should happen here # if writes derived values to self, should *not* overwrite self.parama etc # instead, write to self._parama, self._newparam (starting with _) @@ -96,21 +99,21 @@ def _fit(self, X, y): import pymc as pm assert len(y.columns) == 1, "y must have only one column!" - self.X = X - self.y = y - self.y_vals = y.values[:,0] # we need a 1-dimensional array for compatibility with pymc - self.X_cols = X.columns + self._X = X + self._y = y + self._y_vals = y.values[:,0] # we need a 1-dimensional array for compatibility with pymc + self._X_cols = X.columns self._y_cols = y.columns with pm.Model() as self.model: # Mutable data containers - X_data = pm.MutableData("X", self.X, dims = ("obs_id", "pred_id")) - y_data = pm.MutableData("y", self.y_vals, dims = ("obs_id")) + X_data = pm.Data("X", self._X, dims = ("obs_id", "pred_id")) + y_data = pm.Data("y", self._y_vals, dims = ("obs_id")) # Priors for unknown model parameters - self.intercept = pm.Normal("intercept", mu=0, sigma=self.intercept_sigma) - self.slopes = pm.Normal("slopes", mu=0, sigma=self.slopes_sigma, shape = X.shape[1], dims=("pred_id")) + self.intercept = pm.Normal("intercept", mu=self.intercept_mu, sigma=self.intercept_sigma) + self.slopes = pm.Normal("slopes", mu=self.slopes_mu, sigma=self.slopes_sigma, shape = self._X.shape[1], dims=("pred_id")) self.noise = pm.HalfNormal("noise", sigma=self.noise_sigma) # Expected value of outcome @@ -149,17 +152,10 @@ def _predict(self, X): # implement logic for prediction here # this can read out parameters fitted in fit, or hyperparameters from init # no attributes should be written to self - + assert X.columns.equals(self._X_cols), f"The columns of X must be the same as the columns of the training data: {self._X_cols}" y_pred = self._predict_proba(X).mean() return y_pred - # todo: implement at least one of the probabilistic prediction methods - # _predict_proba, _predict_interval, _predict_quantiles - # if one is implemented, the other two are filled in by default - # implementation of _predict_proba is preferred, if possible - # - # CAVEAT: if not implemented, _predict_proba assumes normal distribution - # this can be inconsistent with _predict_interval or _predict_quantiles def _predict_proba(self, X): """Predict distribution over labels for data from features. @@ -176,38 +172,36 @@ def _predict_proba(self, X): Returns ------- - y_pred : skpro BaseDistribution, same length as `X` + pred_proba_dist : skpro BaseDistribution, same length as `X` labels predicted for `X` """ - # if implementing _predict_proba (otherwise delete this method) - # todo: adapt the following by filling in logic to produce prediction values - # boilerplate code to create correct output index - index = X.index - y_cols = self._y_cols # columns from y in fit, not automatically stored - columns = y_cols - - # values = logic to produce prediction values - # replace this import by the distribution you are using - # the distribution type can be conditional, e.g., data or parameter dependent import pymc as pm from skpro.distributions import Empirical - + + y_cols = self._y_cols # columns from y in fit, not automatically stored + index = X.index with self.model: # Set the X to be the new 'X' variable and then sample posterior predictive pm.set_data({"X": X}) self.trace.extend(pm.sample_posterior_predictive(self.trace, random_seed=42, predictions=True)) - # Note: returns y_obs as xarray.core.dataarray.DataArray containing the posterior predictive samples - predict_proba = self.trace.predictions["y_obs"] - predict_proba_df = predict_proba.to_dataframe() - predict_proba_df = predict_proba_df.reset_index() - predict_proba_df["sample_id"] = predict_proba_df["chain"]*self.draws + predict_proba_df["draw"] - predict_proba_df = predict_proba_df[["obs_id", "sample_id", "y_obs"]] - predict_proba_df = predict_proba_df.set_index(["sample_id", "obs_id"]) - y_pred = Empirical(spl=predict_proba_df) - - return y_pred + # Extract posterior predictive distributions as an xarray DataArray + pred_proba_xarray = self.trace.predictions["y_obs"] + + # Convert data to pd.DataFrame and format it appropriately for subsequent conversion into a skpro Empirical distribution + pred_proba_df = pred_proba_xarray.to_dataframe() + pred_proba_df = pred_proba_df.reset_index() + + # Create a new 'sample_id' column by combining the 'chain' and 'draw' columns + pred_proba_df["sample_id"] = pred_proba_df["chain"] * self.draws + pred_proba_df["draw"] + pred_proba_df = pred_proba_df[["obs_id", "sample_id", "y_obs"]] + pred_proba_df = pred_proba_df.rename(columns = {"y_obs": y_cols[0]}) + pred_proba_df = pred_proba_df.set_index(["sample_id", "obs_id"]) + + # Convert data to skpro Empirical distribution + pred_proba_dist = Empirical(spl=pred_proba_df, index = index, columns = y_cols) + return pred_proba_dist # todo: return default parameters, so that a test instance can be created diff --git a/skpro/regression/bayesian_wip.py b/skpro/regression/bayesian_wip.py deleted file mode 100644 index dd8c60c3..00000000 --- a/skpro/regression/bayesian_wip.py +++ /dev/null @@ -1,122 +0,0 @@ -""" -Note: this is WIP; to be converted into an skpro class inside the `bayesian.py` -""" - -import numpy as np -import pandas as pd -import pymc as pm -import matplotlib.pyplot as plt -import arviz as az - -class BayesianLinearRegression: - def __init__(self): - self.model = None - self.trace = None - self.fitted = False - - def fit(self, X, y): - assert isinstance(X, pd.DataFrame), "X must be a pd.DataFrame!" - assert isinstance(y, pd.DataFrame), "y must be a pd.DataFrame!" - assert len(y.columns) == 1, "y must have only one column!" - self.X = X - self.y = y - self.y_vals = y.values[:,0] # we need a 1-dimensional array for compatibility with pymc - self.X_cols = X.columns - self.y_cols = y.columns - - with pm.Model() as self.model: - # Mutable data containers - X_data = pm.Data("X", self.X, dims = ("obs_id", "pred_id")) - y_data = pm.Data("y", self.y_vals, dims = ("obs_id")) - - # Priors for unknown model parameters - self.intercepts = pm.Normal("intercepts", mu=0, sigma=1) - self.slopes = pm.Normal("slopes", mu=0, sigma=1, dims=("pred_id")) - self.sigma = pm.HalfNormal("sigma", sigma=1) - - # Expected value of outcome - self.mu = pm.Deterministic("mu", self.intercepts + pm.math.dot(X_data, self.slopes)) - - # Likelihood (sampling distribution) of observations - Y_obs = pm.Normal("y_obs", mu=self.mu, sigma=self.sigma, observed=y_data, dims =("obs_id")) - - # Sample from the posterior - self.trace = pm.sample( - draws=2000, - tune=1500, - chains=1, - random_seed=42, - target_accept=0.90, # Target acceptance probability; higher value leads to higher accuracy but slower sampling - return_inferencedata=True, # Return an InferenceData object - progressbar=True - ) - - self.fitted = True - - def predict_proba(self, X_new): - """ - Get the full posterior predictive distribution samples as xarray DataArray - """ - if not self.fitted: - raise RuntimeError("The model must be fitted before making predictions.") - - assert isinstance(X_new, pd.DataFrame), "X must be a pd.DataFrame" - assert X_new.columns.equals(self.X_cols), f"The columns of X must be the same as the columns of the training data: {self.X_cols}" - - with self.model: - # Set the X_new to be the 'X' variable and then sample - pm.set_data({"X": X_new}) - self.trace.extend(pm.sample_posterior_predictive(self.trace, random_seed=42)) - return self.trace.posterior_predictive["y_obs"] # Note: returns y_obs as xarray.core.dataarray.DataArray containing the posterior samples - - def predict(self, X_new): - """ - Get the mean of the posterior predictive distribution - """ - y_pred_proba = self.predict_proba(X_new) - y_pred = y_pred_proba.mean(dim = ["chain", "draw"]).to_dataframe() - y_pred.columns = self.y_cols - return y_pred - - def predict_quantile(self, X_new, alpha): - index = X_new.index - columns = pd.MultiIndex.from_product( - [self.y_cols, alpha], - ) - predict_proba = self.predict_proba(X_new) - - values = [] - for a_ in alpha: - val_ = predict_proba.quantile(a_, dim=["chain", "draw"]).to_numpy() - values.append(val_) - values = np.stack(values).T - quantiles = pd.DataFrame(values, index=index, columns=columns) - return quantiles - - def visualize_model(self): - """ - Use graphviz to visualize the composition of the model - """ - if not self.fitted: - raise RuntimeError("The model must be fitted before visualization can be done.") - return pm.model_to_graphviz(self.model) - - def plot_posterior_predictive(self, X_new): - if not self.fitted: - raise RuntimeError("The model must be fitted before plotting predictions.") - quantile_df = self.predict_quantile(X_new, alpha = [0.25, 0.5, 0.75]) - plt.plot(quantile_df.index, quantile_df["target"][0.50], label='0.50 Quantile', color='blue') - plt.fill_between(quantile_df.index, quantile_df["target"][0.25], quantile_df["target"][0.75], color='blue', alpha=0.2, label='0.25-0.75 Quantile') - - plt.xlabel('Index') - plt.ylabel('Target') - plt.title('Quantiles with Shading') - plt.legend() - plt.show() - - """ - Other planned methods: - - plot_prior_predictive - - plot_priors - - plot_posteriors - """ \ No newline at end of file From 1a373ea5162b75bfe9fd74060a0c5f5c3e9f71cf Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 06:11:36 +0000 Subject: [PATCH 08/51] Fixed indexing bugs --- skpro/regression/bayesian.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index 1e91a1d7..417b41f2 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -105,7 +105,7 @@ def _fit(self, X, y): self._X_cols = X.columns self._y_cols = y.columns - with pm.Model() as self.model: + with pm.Model(coords={"obs_id": X.index, "pred_id": X.columns}) as self.model: # Mutable data containers X_data = pm.Data("X", self._X, dims = ("obs_id", "pred_id")) @@ -183,7 +183,7 @@ def _predict_proba(self, X): index = X.index with self.model: # Set the X to be the new 'X' variable and then sample posterior predictive - pm.set_data({"X": X}) + pm.set_data({"X": X}, coords={"obs_id": X.index, "pred_id": X.columns}) self.trace.extend(pm.sample_posterior_predictive(self.trace, random_seed=42, predictions=True)) # Extract posterior predictive distributions as an xarray DataArray From 3f02932661bb779fb4837ae3027d0875c84e4e9e Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 06:13:32 +0000 Subject: [PATCH 09/51] Deleted template comments --- skpro/regression/bayesian.py | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index 417b41f2..db87592e 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -64,21 +64,6 @@ def __init__(self, intercept_mu=0, intercept_sigma=10, slopes_mu=0, slopes_sigma assert isinstance(self.chains, int) and self.chains > 0, "chains must be a positive integer" assert isinstance(self.draws, int) and self.draws > 0, "draws must be a positive integer" - - # todo: optional, parameter checking logic (if applicable) should happen here - # if writes derived values to self, should *not* overwrite self.parama etc - # instead, write to self._parama, self._newparam (starting with _) - # todo: if tags of estimator depend on component tags, set these here - # only needed if estimator is a composite - # tags set in the constructor apply to the object and override the class - # - # example 1: conditional setting of a tag - # if est.foo == 42: - # self.set_tags(handles-missing-data=True) - # example 2: cloning tags from component - # self.clone_tags(est2, ["enforce_index_type", "handles-missing-data"]) - - # todo: implement this, mandatory def _fit(self, X, y): """Fit regressor to training data. @@ -149,9 +134,7 @@ def _predict(self, X): y : pandas DataFrame, same length as `X`, same columns as `y` in `fit` labels predicted for `X` """ - # implement logic for prediction here - # this can read out parameters fitted in fit, or hyperparameters from init - # no attributes should be written to self + assert X.columns.equals(self._X_cols), f"The columns of X must be the same as the columns of the training data: {self._X_cols}" y_pred = self._predict_proba(X).mean() return y_pred From 4b7cca431074b5ff6ba99e34557afde26640df4e Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 06:17:52 +0000 Subject: [PATCH 10/51] Added an example in the docstring --- skpro/regression/bayesian.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index db87592e..90a1f824 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -27,6 +27,19 @@ class BayesianLinearRegressor(BaseProbaRegressor): Number of MCMC chains to run. draws : int, optional (default=2000) Number of MCMC draws to sample from each chain. + + Example + ------- + >>> from skpro.regression.bayesian import BayesianLinearRegressor + >>> from sklearn.datasets import load_diabetes # doctest: +SKIP + >>> from sklearn.model_selection import train_test_split # doctest: +SKIP + >>> X, y = load_diabetes(return_X_y=True, as_frame=True) # doctest: +SKIP + >>> X_train, X_test, y_train, y_test = train_test_split(X, y) # doctest: +SKIP + + >>> bayes_model= BayesianLinearRegressor() # doctest: +SKIP + >>> bayes_model.fit(X_train, y_train) # doctest: +SKIP + >>> y_test_pred_proba = bayes_model.predict_proba(X_test) # doctest: +SKIP + >>> y_test_pred = bayes_model.predict(X_test) # doctest: +SKIP """ _tags = { # packaging info @@ -134,7 +147,7 @@ def _predict(self, X): y : pandas DataFrame, same length as `X`, same columns as `y` in `fit` labels predicted for `X` """ - + assert X.columns.equals(self._X_cols), f"The columns of X must be the same as the columns of the training data: {self._X_cols}" y_pred = self._predict_proba(X).mean() return y_pred From b0f89c4f3b4b4787cbddd071fce8dd9182c09538 Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 06:19:50 +0000 Subject: [PATCH 11/51] Added a visualize_model method --- skpro/regression/bayesian.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index 90a1f824..525a109a 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -261,4 +261,13 @@ def get_test_params(cls, parameter_set="default"): # # # "default" params # params = {"est": value3, "parama": value4} - # return params \ No newline at end of file + # return params + + def visualize_model(self): + """ + Use graphviz to visualize the composition of the model + """ + import pymc as pm + if not self._is_fitted: + raise RuntimeError("The model must be fitted before visualization can be done.") + return pm.model_to_graphviz(self.model) \ No newline at end of file From 41857d1fa91879225bf578c5bf9ed4bee5603853 Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 06:36:31 +0000 Subject: [PATCH 12/51] Added mutability=True in pm.Data --- skpro/regression/bayesian.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index 525a109a..ecee129f 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -106,8 +106,8 @@ def _fit(self, X, y): with pm.Model(coords={"obs_id": X.index, "pred_id": X.columns}) as self.model: # Mutable data containers - X_data = pm.Data("X", self._X, dims = ("obs_id", "pred_id")) - y_data = pm.Data("y", self._y_vals, dims = ("obs_id")) + X_data = pm.Data("X", self._X, dims = ("obs_id", "pred_id"), mutable=True) + y_data = pm.Data("y", self._y_vals, dims = ("obs_id"), mutable=True) # Priors for unknown model parameters self.intercept = pm.Normal("intercept", mu=self.intercept_mu, sigma=self.intercept_sigma) From a3b4c648c56e0cf036445aae4b88bc347c3198fb Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 06:43:31 +0000 Subject: [PATCH 13/51] Pinned the version of pymc in pyproject.toml to 5.15.0 (earlier versions have diff. behaviors wrt tensor mutability) --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e3e3c3ff..e181dfb8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,7 +64,7 @@ all_extras = [ "statsmodels>=0.12.1", "tabulate", "uncertainties", - "pymc", + "pymc>=5.15.0", ] dev = [ From bea9481418cc7386f0c518a875c69c7e351a3f21 Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 14:00:49 +0000 Subject: [PATCH 14/51] Removed mutable=True in pm.Data which is to be deprecated --- skpro/regression/bayesian.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index ecee129f..525a109a 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -106,8 +106,8 @@ def _fit(self, X, y): with pm.Model(coords={"obs_id": X.index, "pred_id": X.columns}) as self.model: # Mutable data containers - X_data = pm.Data("X", self._X, dims = ("obs_id", "pred_id"), mutable=True) - y_data = pm.Data("y", self._y_vals, dims = ("obs_id"), mutable=True) + X_data = pm.Data("X", self._X, dims = ("obs_id", "pred_id")) + y_data = pm.Data("y", self._y_vals, dims = ("obs_id")) # Priors for unknown model parameters self.intercept = pm.Normal("intercept", mu=self.intercept_mu, sigma=self.intercept_sigma) From 0016acfb66ec03461f1c9419dda1a89f42ce825f Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 14:24:26 +0000 Subject: [PATCH 15/51] Added get_prior method --- skpro/regression/bayesian.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index 525a109a..f6effbd0 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -102,6 +102,7 @@ def _fit(self, X, y): self._y_vals = y.values[:,0] # we need a 1-dimensional array for compatibility with pymc self._X_cols = X.columns self._y_cols = y.columns + self._predict_done = False with pm.Model(coords={"obs_id": X.index, "pred_id": X.columns}) as self.model: @@ -128,6 +129,37 @@ def _fit(self, X, y): return self + def get_prior(self, return_type = "xarray"): + """Extracts the prior distribution""" + import pymc as pm + from skpro.distributions import Empirical + + assert return_type in ["xarray", "numpy", "dataframe"], "return_type must be one of 'xarray', 'numpy' or 'dataframe" + + with self.model: + # if we've previously used the model for prediction, we need to reset the reference of 'X' to the training data + if self._predict_done: + pm.set_data({"X": self._X}, coords={"obs_id": self._X.index, "pred_id": self._X.columns}) + self.trace.extend(pm.sample_prior_predictive(samples=self.draws)) + prior = self.trace.prior + + if return_type == "xarray": + return prior + elif return_type == "numpy": + intercept = prior["intercept"].values.squeeze() + slopes = prior["slopes"].values.squeeze() + noise = prior["noise"].values.squeeze() + return {"intercept": intercept, "slopes": slopes, "noise": noise} + else: + intercept = prior["intercept"].values.squeeze() + slopes = prior["slopes"].values.squeeze() + noise = prior["noise"].values.squeeze() + return pd.DataFrame({"intercept": intercept, "slopes": slopes, "noise": noise}) + + + + + def _predict(self, X): """Predict labels for data from features. @@ -181,6 +213,7 @@ def _predict_proba(self, X): # Set the X to be the new 'X' variable and then sample posterior predictive pm.set_data({"X": X}, coords={"obs_id": X.index, "pred_id": X.columns}) self.trace.extend(pm.sample_posterior_predictive(self.trace, random_seed=42, predictions=True)) + self._predict_done = True # a flag # Extract posterior predictive distributions as an xarray DataArray pred_proba_xarray = self.trace.predictions["y_obs"] From c43f83662d7960453d4a967fffe88c201bdbfd0c Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 14:46:23 +0000 Subject: [PATCH 16/51] Added get posterior method --- skpro/regression/bayesian.py | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index f6effbd0..3dda093a 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -26,7 +26,7 @@ class BayesianLinearRegressor(BaseProbaRegressor): chains : int, optional (default=2) Number of MCMC chains to run. draws : int, optional (default=2000) - Number of MCMC draws to sample from each chain. + Number of MCMC draws to sample from each chain; will be applied to all sampling steps. Example ------- @@ -132,14 +132,14 @@ def _fit(self, X, y): def get_prior(self, return_type = "xarray"): """Extracts the prior distribution""" import pymc as pm - from skpro.distributions import Empirical assert return_type in ["xarray", "numpy", "dataframe"], "return_type must be one of 'xarray', 'numpy' or 'dataframe" - + with self.model: # if we've previously used the model for prediction, we need to reset the reference of 'X' to the training data if self._predict_done: pm.set_data({"X": self._X}, coords={"obs_id": self._X.index, "pred_id": self._X.columns}) + # todo: uniformize the number of chains during sampling self.trace.extend(pm.sample_prior_predictive(samples=self.draws)) prior = self.trace.prior @@ -155,10 +155,28 @@ def get_prior(self, return_type = "xarray"): slopes = prior["slopes"].values.squeeze() noise = prior["noise"].values.squeeze() return pd.DataFrame({"intercept": intercept, "slopes": slopes, "noise": noise}) + + def get_posterior(self, return_type = "xarray"): + """Extracts the prior distribution""" + import pymc as pm - - - + assert self._is_fitted,"The model must be fitted before posterior can be returned." + assert return_type in ["xarray", "numpy", "dataframe"], "return_type must be one of 'xarray', 'numpy' or 'dataframe" + + posterior = self.trace.posterior + + if return_type == "xarray": + return posterior + elif return_type == "numpy": + intercept = posterior["intercept"].stack({"sample":("chain", "draw")}).values + slopes = posterior["slopes"].stack({"sample":("chain", "draw")}).values + noise = posterior["noise"].stack({"sample":("chain", "draw")}).values + return {"intercept": intercept, "slopes": slopes, "noise": noise} + else: + intercept = posterior["intercept"].stack({"sample":("chain", "draw")}).values + slopes = posterior["slopes"].stack({"sample":("chain", "draw")}).values + noise = posterior["noise"].stack({"sample":("chain", "draw")}).values + return pd.DataFrame({"intercept": intercept, "slopes": slopes, "noise": noise}) def _predict(self, X): """Predict labels for data from features. @@ -301,6 +319,5 @@ def visualize_model(self): Use graphviz to visualize the composition of the model """ import pymc as pm - if not self._is_fitted: - raise RuntimeError("The model must be fitted before visualization can be done.") + assert self._is_fitted,"The model must be fitted before visualization can be done." return pm.model_to_graphviz(self.model) \ No newline at end of file From e4d093393be63ac1c29485cd483dce92251a1327 Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 14:49:37 +0000 Subject: [PATCH 17/51] Added methods to return prior and posterior summary statistics --- skpro/regression/bayesian.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index 3dda093a..055e37dd 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -155,6 +155,17 @@ def get_prior(self, return_type = "xarray"): slopes = prior["slopes"].values.squeeze() noise = prior["noise"].values.squeeze() return pd.DataFrame({"intercept": intercept, "slopes": slopes, "noise": noise}) + + def get_prior_summary(self): + """ + Get the summary statistics of the prior + """ + import arviz as az + import pymc as pm + # if we've previously used the model for prediction, we need to reset the reference of 'X' to the training data + if self._predict_done: + pm.set_data({"X": self._X}, coords={"obs_id": self._X.index, "pred_id": self._X.columns}) + return az.summary(self.trace.prior, var_names = ["intercept", "slopes", "noise"]) def get_posterior(self, return_type = "xarray"): """Extracts the prior distribution""" @@ -177,7 +188,17 @@ def get_posterior(self, return_type = "xarray"): slopes = posterior["slopes"].stack({"sample":("chain", "draw")}).values noise = posterior["noise"].stack({"sample":("chain", "draw")}).values return pd.DataFrame({"intercept": intercept, "slopes": slopes, "noise": noise}) - + + def get_posterior_summary(self): + """ + Get the summary statistics of the posterior + """ + import arviz as az + import pymc as pm + # if we've previously used the model for prediction, we need to reset the reference of 'X' to the training data + assert self._is_fitted,"The model must be fitted before posterior summary can be returned." + return az.summary(self.trace.posterior, var_names = ["intercept", "slopes", "noise"]) + def _predict(self, X): """Predict labels for data from features. From a150c5c8b315d254fded7feeb3433ef3005bbbef Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 15:35:24 +0000 Subject: [PATCH 18/51] Added plot_ppc method --- skpro/regression/bayesian.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index 055e37dd..b3e1aa7c 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -167,6 +167,11 @@ def get_prior_summary(self): pm.set_data({"X": self._X}, coords={"obs_id": self._X.index, "pred_id": self._X.columns}) return az.summary(self.trace.prior, var_names = ["intercept", "slopes", "noise"]) + def plot_ppc(self, **kwargs): + """Plot the prior predictive check""" + import arviz as az + return az.plot_ppc(self.trace, **kwargs) + def get_posterior(self, return_type = "xarray"): """Extracts the prior distribution""" import pymc as pm From b0b4bd13eec2c129271d1f5607215b4fcead7d27 Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 16:31:30 +0000 Subject: [PATCH 19/51] Deleted old sample notebook --- examples/04_pymc_bayesian.ipynb | 2636 ------------------------------- 1 file changed, 2636 deletions(-) delete mode 100644 examples/04_pymc_bayesian.ipynb diff --git a/examples/04_pymc_bayesian.ipynb b/examples/04_pymc_bayesian.ipynb deleted file mode 100644 index 0cecd61e..00000000 --- a/examples/04_pymc_bayesian.ipynb +++ /dev/null @@ -1,2636 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "id": "RQirXZwKipys" - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "import pymc as pm\n", - "import matplotlib.pyplot as plt\n", - "import arviz as az\n", - "\n", - "from skpro.regression.bayesian_wip import BayesianLinearRegression\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "RdBN6n_m_0me" - }, - "source": [ - "This notebook serves to demonstrate the use of the `BayesianLinearRegression` regressor. This `skpro` class implements Bayesian linear regression using `PyMC` as a backend. It assumes weakly-informative Bayesian priors for both the intercepts and slopes of the model.\n", - "\n", - "Compared to a traditional OLS Linear Regression, Bayesian Linear Regression offers several benefits:\n", - "\n", - "1. It provides full posterior distributions of model parameters, allowing for direct assessment of uncertainty in predictions.\n", - "2. It enables the inclusion of prior information or beliefs about parameters, improving estimates when data is limited.\n", - "3. It regularizes parameter estimates through priors, reducing overfitting compared to traditional linear regression.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "2RI4KS5__80T" - }, - "source": [ - "## Data Generation" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "HiSOh5L6AFuh" - }, - "source": [ - "We will first create a synthetic data" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "id": "xo4qpkVhisFX" - }, - "outputs": [], - "source": [ - "# Generate synthetic data\n", - "np.random.seed(42)\n", - "X = np.linspace(0, 100, 100)\n", - "X = pd.DataFrame({'feature1': X, 'feature2': X**2}) # Example with two features\n", - "true_intercepts = 1\n", - "true_slopes = np.array([2, -1]) # True coefficients for feature1 and feature2\n", - "true_sigma = 0.1\n", - "y = true_intercepts + np.dot(X, true_slopes) + np.random.normal(0, true_sigma, size=len(X))\n", - "y = pd.DataFrame(y, columns = [\"target\"])" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 206 - }, - "id": "gGN3FJI769EJ", - "outputId": "a282cc16-8276-4aa4-e4b6-45b1ddaa99bf" - }, - "outputs": [ - { - "data": { - "application/vnd.google.colaboratory.intrinsic+json": { - "summary": "{\n \"name\": \"X\",\n \"rows\": 100,\n \"fields\": [\n {\n \"column\": \"feature1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 29.304537349375778,\n \"min\": 0.0,\n \"max\": 100.0,\n \"num_unique_values\": 100,\n \"samples\": [\n 83.83838383838385,\n 53.535353535353536,\n 70.70707070707071\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"feature2\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 3028.4407753565247,\n \"min\": 0.0,\n \"max\": 10000.0,\n \"num_unique_values\": 100,\n \"samples\": [\n 7028.874604632182,\n 2866.0340781552904,\n 4999.489847974697\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", - "type": "dataframe", - "variable_name": "X" - }, - "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", - "
feature1feature2
00.0000000.000000
11.0101011.020304
22.0202024.081216
33.0303039.182736
44.04040416.324865
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "text/plain": [ - " feature1 feature2\n", - "0 0.000000 0.000000\n", - "1 1.010101 1.020304\n", - "2 2.020202 4.081216\n", - "3 3.030303 9.182736\n", - "4 4.040404 16.324865" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 206 - }, - "id": "4Ou3ibBO-sxU", - "outputId": "7780d3ff-4b43-4fa3-ff34-02cc09f24ef9" - }, - "outputs": [ - { - "data": { - "application/vnd.google.colaboratory.intrinsic+json": { - "summary": "{\n \"name\": \"y\",\n \"rows\": 100,\n \"fields\": [\n {\n \"column\": \"target\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2971.7594824548437,\n \"min\": -9799.023458713338,\n \"max\": 1.9860715394778208,\n \"num_unique_values\": 100,\n \"samples\": [\n -6860.249663977242,\n -2757.9022034556992,\n -4857.039567000005\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", - "type": "dataframe", - "variable_name": "y" - }, - "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", - "
target
01.049671
11.986072
21.023957
3-1.969827
4-7.267472
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "text/plain": [ - " target\n", - "0 1.049671\n", - "1 1.986072\n", - "2 1.023957\n", - "3 -1.969827\n", - "4 -7.267472" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "y.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 206 - }, - "id": "X0ddXs1Ii0Yb", - "outputId": "eae00da2-a8da-47ed-dea6-745815efcdf0" - }, - "outputs": [ - { - "data": { - "application/vnd.google.colaboratory.intrinsic+json": { - "summary": "{\n \"name\": \"X_new\",\n \"rows\": 50,\n \"fields\": [\n {\n \"column\": \"feature1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 14.577379737113251,\n \"min\": 1.0,\n \"max\": 50.0,\n \"num_unique_values\": 50,\n \"samples\": [\n 14.0,\n 40.0,\n 31.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"feature2\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 1,\n \"max\": 1,\n \"num_unique_values\": 1,\n \"samples\": [\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", - "type": "dataframe", - "variable_name": "X_new" - }, - "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", - "
feature1feature2
01.01
12.01
23.01
34.01
45.01
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "text/plain": [ - " feature1 feature2\n", - "0 1.0 1\n", - "1 2.0 1\n", - "2 3.0 1\n", - "3 4.0 1\n", - "4 5.0 1" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Generate new data points for prediction\n", - "X_new = pd.DataFrame({'feature1': np.linspace(1, 50, 50), 'feature2': 1})\n", - "X_new.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "BGh7C1ZgAhjJ" - }, - "source": [ - "We then create an instance of the `BayesianLinearRegression` and fit it with our training data." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 37 - }, - "id": "yvgLcSFQiwpV", - "outputId": "24031b3c-12f6-4475-fa22-fc204713ce94" - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [3500/3500 01:00<00:00 Sampling chain 0, 0 divergences]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "%timeit\n", - "model = BayesianLinearRegression()\n", - "model.fit(X, y)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "n70jIDv3EKBo" - }, - "source": [ - "# Model checking" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 624 - }, - "id": "Hs4FcW38-66-", - "outputId": "90203ffd-93ce-480b-c309-5cc8e24c2e3c" - }, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "%3\n", - "\n", - "\n", - "clusterobs_id (100) x pred_id (2)\n", - "\n", - "obs_id (100) x pred_id (2)\n", - "\n", - "\n", - "clusterobs_id (100)\n", - "\n", - "obs_id (100)\n", - "\n", - "\n", - "clusterpred_id (2)\n", - "\n", - "pred_id (2)\n", - "\n", - "\n", - "cluster100\n", - "\n", - "100\n", - "\n", - "\n", - "\n", - "X\n", - "\n", - "X\n", - "~\n", - "MutableData\n", - "\n", - "\n", - "\n", - "mu\n", - "\n", - "mu\n", - "~\n", - "Deterministic\n", - "\n", - "\n", - "\n", - "X->mu\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "y\n", - "\n", - "y\n", - "~\n", - "MutableData\n", - "\n", - "\n", - "\n", - "y_obs\n", - "\n", - "y_obs\n", - "~\n", - "Normal\n", - "\n", - "\n", - "\n", - "y_obs->y\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "intercepts\n", - "\n", - "intercepts\n", - "~\n", - "Normal\n", - "\n", - "\n", - "\n", - "intercepts->mu\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "sigma\n", - "\n", - "sigma\n", - "~\n", - "HalfNormal\n", - "\n", - "\n", - "\n", - "sigma->y_obs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "slopes\n", - "\n", - "slopes\n", - "~\n", - "Normal\n", - "\n", - "\n", - "\n", - "slopes->mu\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "mu->y_obs\n", - "\n", - "\n", - "\n", - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "model.visualize_model()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "sq0u7FdvEd1V" - }, - "source": [ - "# Predictions" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Lq1MgQKGF4_B" - }, - "source": [ - "Given a fresh set of test data `X_new`, we can get point predictions using the `predict` method." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 258 - }, - "id": "Ubr9p6ilk0Vx", - "outputId": "aa576405-837d-4d09-cc5e-447e3326e6c6" - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [2000/2000 00:00<00:00]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.google.colaboratory.intrinsic+json": { - "summary": "{\n \"name\": \"mean_predictions\",\n \"rows\": 50,\n \"fields\": [\n {\n \"column\": \"obs_id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 14,\n \"min\": 0,\n \"max\": 49,\n \"num_unique_values\": 50,\n \"samples\": [\n 13,\n 39,\n 30\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"target\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0074288604116297145,\n \"min\": 0.9836918613575216,\n \"max\": 1.0129947397070393,\n \"num_unique_values\": 50,\n \"samples\": [\n 0.9913898666368613,\n 0.9999220099679004,\n 1.0035707679705115\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", - "type": "dataframe", - "variable_name": "mean_predictions" - }, - "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", - "
target
obs_id
00.986227
10.983692
20.987381
30.986519
40.985443
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "text/plain": [ - " target\n", - "obs_id \n", - "0 0.986227\n", - "1 0.983692\n", - "2 0.987381\n", - "3 0.986519\n", - "4 0.985443" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mean_predictions = model.predict(X_new)\n", - "mean_predictions.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "RPv23wgLGERx" - }, - "source": [ - "Alternatively, we can obtain the posterior predictive distribution for each data point in `X_new` using the `predict_proba` method." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "J6AXCG3IL1tJ" - }, - "source": [ - "Note: The posterior predictive distribution is a distribution of predicted target values given a set of observed data. It incorporates the uncertainty in the model parameters by integrating over the posterior distribution of the parameters. Mathematically, the posterior predictive distribution is given by:\n", - "$$\n", - "p(y_{\\text{pred}} | X_{\\text{new}}, \\mathbf{X}_{\\text{train}}, \\mathbf{y}_{\\text{train}}) = \\int p(y_{\\text{pred}} | X_{\\text{new}}, \\mathbf{\\theta}) p(\\mathbf{\\theta} | \\mathbf{X}_{\\text{train}}, \\mathbf{y}_{\\text{train}}) \\, d\\mathbf{\\theta}\n", - "$$\n", - "\n", - "where:\n", - "- $y_{\\text{pred}}$ is the new predicted data point.\n", - "- $X_{\\text{new}}$ is the new input.\n", - "- $\\mathbf{X}_{\\text{train}}$ is the set of observed inputs.\n", - "- $\\mathbf{y}_{\\text{train}}$ is the set of observed outputs.\n", - "- $\\mathbf{\\theta}$ represents the model parameters.\n", - "- $p(y_{\\text{pred}} | X_{\\text{new}}, \\mathbf{\\theta})$ is the likelihood of the new data point given the model parameters.\n", - "- $p(\\mathbf{\\theta} | \\mathbf{X}_{\\text{train}}, \\mathbf{y}_{\\text{train}})$ is the posterior distribution of the model parameters given the observed data.\n", - "\n", - "The posterior predictive distribution thus accounts for the uncertainty in the parameters by averaging the likelihood $p(y_{\\text{pred}} | X_{\\text{new}}, \\mathbf{\\theta})$ over the posterior distribution of the parameters $p(\\mathbf{\\theta} | \\mathbf{X}_{\\text{train}}, \\mathbf{y}_{\\text{train}})$.\n", - "\n", - "Note that this posterior predictive distribution is returned by `predict_proba` as an xarray DataArray, allowing us to easily plot the results or compute summary statistics such as means, percentiles, and credible intervals." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 37 - }, - "id": "wm0pwT-A8rQJ", - "outputId": "fbed459a-0ef9-4556-fd41-fb15bb1aec2f" - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [2000/2000 00:00<00:00]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "predict_proba = model.predict_proba(X_new)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 424 - }, - "id": "QCMFWS6Y8ZXg", - "outputId": "8500acdc-94d9-4752-fba8-31cf0b2c03a1" - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.DataArray 'y_obs' (chain: 1, draw: 2000, obs_id: 50)>\n",
-              "array([[[  2.90819869,   4.17953503,   5.38214984, ...,  61.82284529,\n",
-              "          63.06312322,  64.19782556],\n",
-              "        [ -1.58903552,  -2.70163151,  -3.97064121, ..., -64.47375776,\n",
-              "         -65.615485  , -66.99784199],\n",
-              "        [  0.16621532,   1.51332295,   2.73401697, ...,  63.17478991,\n",
-              "          64.75852273,  65.76898938],\n",
-              "        ...,\n",
-              "        [  1.83138227,   2.97761083,   4.12161047, ...,  59.84917721,\n",
-              "          61.08815253,  62.48395636],\n",
-              "        [  0.42235325,  -0.14596321,  -0.78837251, ..., -29.68464821,\n",
-              "         -30.29557345, -30.91119145],\n",
-              "        [  0.17610928,  -1.43831733,  -3.34122786, ..., -82.72257485,\n",
-              "         -84.46072474, -86.50860871]]])\n",
-              "Coordinates:\n",
-              "  * chain    (chain) int64 0\n",
-              "  * draw     (draw) int64 0 1 2 3 4 5 6 7 ... 1993 1994 1995 1996 1997 1998 1999\n",
-              "  * obs_id   (obs_id) int64 0 1 2 3 4 5 6 7 8 9 ... 41 42 43 44 45 46 47 48 49
" - ], - "text/plain": [ - "\n", - "array([[[ 2.90819869, 4.17953503, 5.38214984, ..., 61.82284529,\n", - " 63.06312322, 64.19782556],\n", - " [ -1.58903552, -2.70163151, -3.97064121, ..., -64.47375776,\n", - " -65.615485 , -66.99784199],\n", - " [ 0.16621532, 1.51332295, 2.73401697, ..., 63.17478991,\n", - " 64.75852273, 65.76898938],\n", - " ...,\n", - " [ 1.83138227, 2.97761083, 4.12161047, ..., 59.84917721,\n", - " 61.08815253, 62.48395636],\n", - " [ 0.42235325, -0.14596321, -0.78837251, ..., -29.68464821,\n", - " -30.29557345, -30.91119145],\n", - " [ 0.17610928, -1.43831733, -3.34122786, ..., -82.72257485,\n", - " -84.46072474, -86.50860871]]])\n", - "Coordinates:\n", - " * chain (chain) int64 0\n", - " * draw (draw) int64 0 1 2 3 4 5 6 7 ... 1993 1994 1995 1996 1997 1998 1999\n", - " * obs_id (obs_id) int64 0 1 2 3 4 5 6 7 8 9 ... 41 42 43 44 45 46 47 48 49" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "predict_proba" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "JfT19ChHTMxB" - }, - "source": [ - "We can also perform quantile predictions using the `predict_quantile` method." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 258 - }, - "id": "ZKNeOme2I8Ms", - "outputId": "024ea4ce-e114-4185-8c6f-5a73a4c99b4f" - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [2000/2000 00:00<00:00]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.google.colaboratory.intrinsic+json": { - "summary": "{\n \"name\": \"quantile_df\",\n \"rows\": 50,\n \"fields\": [\n {\n \"column\": [\n \"target\",\n 0.25\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 10.106138835876934,\n \"min\": -33.780298926131366,\n \"max\": 0.03822775378937613,\n \"num_unique_values\": 50,\n \"samples\": [\n -8.82678893484809,\n -26.828066351236334,\n -20.522545433440058\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"target\",\n 0.5\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.13115695226576296,\n \"min\": 0.9062230294634588,\n \"max\": 1.4130425570446827,\n \"num_unique_values\": 50,\n \"samples\": [\n 1.1676233585626918,\n 1.1864888144953207,\n 0.9884604716984486\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"target\",\n 0.75\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9.983064632298548,\n \"min\": 1.9956041064677459,\n \"max\": 35.46082001236215,\n \"num_unique_values\": 50,\n \"samples\": [\n 10.818820379199396,\n 28.638943422585733,\n 22.481073344771943\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", - "type": "dataframe", - "variable_name": "quantile_df" - }, - "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", - "
target
0.250.500.75
00.0382280.9679941.995604
1-0.5927700.9753282.538072
2-1.2746620.9841123.168724
3-1.9137090.9500163.871534
4-2.6591200.9768644.575994
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "text/plain": [ - " target \n", - " 0.25 0.50 0.75\n", - "0 0.038228 0.967994 1.995604\n", - "1 -0.592770 0.975328 2.538072\n", - "2 -1.274662 0.984112 3.168724\n", - "3 -1.913709 0.950016 3.871534\n", - "4 -2.659120 0.976864 4.575994" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "quantile_df = model.predict_quantile(X_new, alpha = [0.25, 0.5, 0.75])\n", - "quantile_df.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "MLdPZU7rU6hh" - }, - "source": [ - "We can also" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 492 - }, - "id": "ITi0HaKlJFAV", - "outputId": "ddf9455a-22d2-41d3-e163-e2dbf7555350" - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [2000/2000 00:00<00:00]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABjZUlEQVR4nO3dd3xT5eI/8E+aNulM2kInLR2UqQJaVlEQoZeKC1xXr4PidYE4EFHxIlMQBRyoCIoKcq8K1wGOe0X4InupKKAo/ACBlpKkpStNN8nz++O5J2m66E7TfN6v13k1OTk9eXLaJp8+UyWEECAiIiLyAF6uLgARERFRW2HwISIiIo/B4ENEREQeg8GHiIiIPAaDDxEREXkMBh8iIiLyGAw+RERE5DEYfIiIiMhjMPgQERGRx2DwIaJmGTFiBEaMGGG/f/r0aahUKqxevdplZWqoCRMmID4+vsHHBgYGtm6BAKxevRoqlQo//fRTqz+XO//siJqKwYfIhY4cOYJ77rkHXbp0gVarRXR0NO655x78/vvvri6ak99//x1z5szB6dOnXV2UVlVSUoI5c+Zg27ZtLX5um82GNWvWYPDgwQgNDUVQUBB69OiB8ePHY9++fS3+fERUO29XF4DIU33xxRf429/+htDQUNx///1ISEjA6dOn8f777+Ozzz7DunXrMHbsWFcXE4AMPnPnzsWIESNq1JBs2rTJNYVqAStXroTNZrPfLykpwdy5cwHAqSakJTz++ONYtmwZxo4di7vvvhve3t44duwYvv32WyQmJmLIkCEt+nxNERcXh9LSUvj4+Li6KESthsGHyAVOnjyJe++9F4mJidixYwfCwsLsjz3xxBMYNmwY7rnnHhw+fBgJCQkuLOnFaTQaVxehydrqA95kMuHtt9/Ggw8+iHfffdfpsddffx05OTltUo6LUalU8PX1dXUxiFoVm7qIXGDx4sUoKSnBu+++6xR6AKBz58545513YLFYsHjxYvv+uvqjzJkzByqVymnfqlWrMHLkSISHh0Or1aJPnz5Yvnx5je+Nj4/HDTfcgF27dmHQoEHw9fVFYmIi1qxZYz9m9erVuP322wEA11xzDVQqFVQqlb05qHo/kbocPXoUt912G0JDQ+Hr64sBAwbgq6++cjqmsrISc+fORffu3eHr64tOnTrhqquuwubNm+s8b0FBAdRqNd544w37vvPnz8PLywudOnWCEMK+f9KkSYiMjLTfr3pNT58+bf9ZzJ071/4658yZ4/R8WVlZGDduHAIDAxEWFoZp06bBarXW+9pPnToFIQSuvPLKGo+pVCqEh4fX2F9eXo6pU6ciLCwMAQEBuPnmm2sEpC+//BLXX389oqOjodVq0a1bN7zwwgu1lufdd99Ft27d4Ofnh0GDBmHnzp01jqmtj4/St6khrzs3Nxf33nsvdDodgoODkZ6ejkOHDrHfELUrDD5ELvD1118jPj4ew4YNq/Xx4cOHIz4+Hl9//XWTzr98+XLExcXhH//4B1555RXExsbikUcewbJly2oce+LECdx22234y1/+gldeeQUhISGYMGECjhw5Yi/L448/DgD4xz/+gX/+85/45z//id69eze4PEeOHMGQIUPwxx9/YPr06XjllVcQEBCAcePGYf369fbj5syZg7lz5+Kaa67BW2+9hRkzZqBr1674+eef6zx3cHAwLr30UuzYscO+b9euXVCpVMjLy3PqL7Vz5846r3lYWJg9HN58883213nLLbfYj7FarUhLS0OnTp2wZMkSXH311XjllVdq1OJUFxcXBwD49NNPUVJSUu+xisceewyHDh3C7NmzMWnSJHz99dd49NFHnY5ZvXo1AgMDMXXqVCxduhTJycmYNWsWpk+f7nTc+++/j4cffhiRkZFYtGgRrrzyStx0003IzMxsUFka8rptNhtuvPFGfPLJJ0hPT8eCBQtgMBiQnp7eoOcgajOCiNpUQUGBACDGjh1b73E33XSTACDMZrMQQoj09HQRFxdX47jZs2eL6n/KJSUlNY5LS0sTiYmJTvvi4uIEALFjxw77vuzsbKHVasVTTz1l3/fpp58KAGLr1q01znv11VeLq6++2n7/1KlTAoBYtWqVfd+oUaPEZZddJsrKyuz7bDabGDp0qOjevbt9X79+/cT1119f4zkuZvLkySIiIsJ+f+rUqWL48OEiPDxcLF++XAghRG5urlCpVGLp0qX246pf05ycHAFAzJ49u8ZzpKenCwBi3rx5Tvsvv/xykZycfNEyjh8/XgAQISEh4uabbxZLliwRf/zxR43jVq1aJQCI1NRUYbPZ7PuffPJJoVarRUFBgX1fbT/nhx9+WPj7+9uvdUVFhQgPDxf9+/cX5eXl9uPeffddAeCiP7uGvu7PP/9cABCv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nDmN666TNVsxMSEIDFTh4YcnAJBNXc88M6XO61pQUIAHHngAYWFh0Ol0GDlyJA4dOlTvz6K5GHyIiKjdqaiowIEDB5Cammrf5+XlhdTUVOzdu7fB5ykpKUFlZWWNmodt27YhPDwcPXv2xKRJk5Cbm1vvefbu3YvLLrsMERER9n1paWkwm804cuRIg8ry1VdfITc312l9LyHk1xtvvAkREeEYPvwqfPnlV/bh57X13fn0008QGBiI++9/uMZzPP74U6isrMSXX37eoDIBQFFREe6+Ox2bN+/C99/vQ1JSd9xyy3UoKipyOm7hwrm45Za/Yt++wxg9+jrcf//dyMvLQ0xMLD76SD7fL78cw8mTBixatLRBz3377bcjOzsb3377LQ4cOIArrrgCo0aNQl5eXoPL31huE3yWL1+Ovn37QqfTQafTISUlBd9++6398bKyMkyePBmdOnVCYGAgbr31VphMJheWmIiImur8+fOwWq1OQQMAIiIiYDQaG3yeZ599FtHR0U4B6tprr8WaNWuwZcsWvPzyy9i+fTvGjBkDqzLpTS2MRmOtZVEea4j3338faWlpiImJgc0m++yoVIGYP/8VfPDBp/j3v/+DK6+8CvfcMw7//e9XdZ7nxIn/h4SEbtDU0mYYFRUNnU6H48f/X4PKBAAjRozEnXfeg549e6FXr9548813UVpagl27tjsdd/fdE/DXv/4N3bolYc6cF2GxWHDgwA9Qq9UICZHBMiwsHBERkdDr9Rd93l27duGHH37Ap59+igEDBqB79+5YsmQJgoOD8dlnnzW4/I3lNn18YmJi8NJLL6F79+4QQuDDDz/E2LFj8csvv+CSSy7Bk08+if/85z/49NNPodfr8eijj+KWW27B7t27XV10IiJygZdeeglr167Ftm3b4Ovra99/55132m9fdtll6Nu3L7p164Zt27Zh1KhRGDNmDHbu3AkAiIuLa3CNTn3Onj2L7777Dp988m+UljpGZYWEdMYTT0y11+oMGjQQBsM5vP76Ylx//U11nk8oVUV1qC0U1cVkMuGFF57Hzp3bkJOTDavVipKSEmRmZjgdd+mlfe23AwICoNPpkJOT3eDnqe7QoUOwWCzo1KmT0/7S0lKcPHmyyee9GLcJPjfeeKPT/QULFmD58uXYt28fYmJi8P777+Pjjz/GyJEjAQCrVq1C7969sW/f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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "model.plot_posterior_predictive(X_new)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "AcPkFWWaWv5B" - }, - "source": [ - "## Getting Parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "mnHPS8HnW7iq" - }, - "source": [ - "Here, we see that the model manages to recover the real slope of 2 and -1." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 326 - }, - "id": "8poKhnnhxZHu", - "outputId": "66cf4fac-41b3-40be-8e2b-412564099ab8" - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.10/dist-packages/arviz/utils.py:184: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", - " numba_fn = numba.jit(**self.kwargs)(self.function)\n" - ] - }, - { - "data": { - "text/plain": [ - "array([[,\n", - " ]], dtype=object)" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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MkUdO3ZU27Ztdf3112vv3r0Jy0infCSpV69ejR7fpkyZIskbfXSqY3pTrlWbcg340Ucf6Wtf+5pyc3PVvXt3/fjHP05JTsFgUNOnT9eAAQN0zjnnqLi4WLfccot2796dsIzG+vbRRx9NSU6n6qNbb721QaxjxoxJaOOlPpLU6H7lOI4ef/xxt0069VEyJaWwraur08SJE3X33Xc3eZ4f//jH+vd//3c99dRTWr16tc455xyNHj1aR48ebcVIW8dNN92kTZs2aenSpVq0aJFWrFih73znO6ec784779SePXvchxc2uJdeeknTpk3T7NmztXbtWg0aNEijR4/Wvn37Gm2/cuVKTZo0SbfffrvWrVuna6+9Vtdee602btyY5MhbRnPzl6T8/PyEft65c2cSI25Zhw8f1qBBgzR//vwmtd++fbvGjRunq666SuvXr9d9992nO+64Q6+//norR9o6mpt/3JYtWxK2gc6dO7dShK3n7bff1pQpU/Tee+9p6dKlCgaDGjVqlA4fPnzCeTJt//ey0zl2pUpTt7WTnUPD4bDGjRunuro6rVy5Us8//7wqKio0a9asZKfjuuSSSxLifeedd9zX/umf/kn/8z//o4ULF+rtt9/W7t27dd1117mvp2M+H3zwQUI+S5culSRNnDjRbZPufXSqY3pTrlVPdQ1YU1OjUaNGqWfPnlqzZo0ef/xx/fCHP9TPfvazpOd05MgRrV27Vg899JDWrl2rl19+WVu2bNE111zToO2PfvSjhL675557UpJTU867Y8aMSYj1V7/6VcLrXuojSQm57NmzR88++6wcx9H111+f0C5d+iipLImee+45KygoOGW7SCRiXbt2tccff9ydVlVVZYFAwH71q1+1YoQt7+OPPzZJ9sEHH7jT/vd//9ccx7G//OUvJ5zvyiuvtHvvvTcJEbasYcOG2ZQpU9zn4XDYiouLbe7cuY22v+GGG2zcuHEJ00pLS+2uu+5q1ThbS3Pzb+o+4UWS7JVXXjlpm+9973t2ySWXJEy78cYbbfTo0a0YWXI0Jf9ly5aZJPvrX/+alJiSad++fSbJ3n777RO2ybT938uae+xKJ41ta6c6hy5evNh8Pp9VVla60xYsWGD5+flWW1vbmuE2avbs2TZo0KBGX6uqqrLs7GxbuHChO23z5s0myVatWmVm6ZdPY+69917r27evRSIRM/NeHx1/TG/KtWpTrgH/8z//0zp06JCQ0/Tp062kpKSVM2raeer99983SbZz5053Ws+ePW3evHknnCdVOTWWz+TJk238+PEnnCcT+mj8+PH2N3/zNwnT0rWPWltafsZ2+/btqqysVHl5uTutoKBApaWlWrVqVQoja75Vq1apffv2Gjp0qDutvLxcPp9Pq1evPum8L774ooqKitS/f3/NnDlTR44cae1wz0hdXZ3WrFmT0G8+n0/l5eUn7LdVq1YltJek0aNHe66fpdPLX5IOHTqknj17qnv37ho/frw2bdqUjHDTQib1/5kYPHiwunXrpr/927/Vu+++m+pwWkR1dbUkqbCw8IRt6P/0cLrHrnRxom3tZOfQVatWacCAAerSpYs7bfTo0aqpqUnZMfiTTz5RcXGx+vTpo5tuukm7du2SJK1Zs0bBYDChf/r166cePXq4/ZOO+dRXV1enX/ziF/r2t78tx3Hc6V7ro/qacq3alGvAVatWacSIEcrJyXHbjB49Wlu2bNFf//rXJGVzYtXV1XIcp8FHCR999FF17NhRl156qR5//PGEW8TTLafly5erc+fOKikp0d133639+/cnxOrlPtq7d69+97vf6fbbb2/wmpf6qKVkpTqAxsQ/X1b/YBZ/7rXPnlVWVja4rTArK0uFhYUnzeVb3/qWevbsqeLiYn300UeaPn26tmzZopdffrm1Qz5tX3zxhcLhcKP99sc//rHReSorKzOin6XTy7+kpETPPvusBg4cqOrqaj3xxBMaPny4Nm3apPPOOy8ZYafUifq/pqZGX375pdq0aZOiyJKjW7dueuqppzR06FDV1tbq5z//uUaOHKnVq1dryJAhqQ7vtEUiEd1333366le/qv79+5+wXSbt/152OseudHGibe1U59ATbXvx15KttLRUFRUVKikp0Z49ezRnzhx97Wtf08aNG1VZWamcnJwGhUX9fSXd8jneq6++qqqqKt16663uNK/10fGacq3alGvAyspK9e7du8Ey4q916NChVeJviqNHj2r69OmaNGmS8vPz3en/+I//qCFDhqiwsFArV67UzJkztWfPHj355JOS0iunMWPG6LrrrlPv3r21bds2ff/739fYsWO1atUq+f1+z/fR888/r3bt2iV8NEHyVh+1pNMubGfMmKHHHnvspG02b96c8OUHmaSp+Z+u+vf2DxgwQN26ddPVV1+tbdu2qW/fvqe9XKSXsrIylZWVuc+HDx+uiy66SE8//bQefvjhFEaGZCgpKVFJSYn7fPjw4dq2bZvmzZun//qv/0phZGdmypQp2rhxY8JnBIHWcKJtzWvn0LFjx7r/HzhwoEpLS9WzZ0/95je/yYg/8D3zzDMaO3asiouL3Wle66OzTTAY1A033CAz04IFCxJemzZtmvv/gQMHKicnR3fddZfmzp2rQCCQ7FBP6pvf/Kb7/wEDBmjgwIHq27evli9frquvvjqFkbWMZ599VjfddFODLx71Uh+1pNO+Ffn+++/X5s2bT/ro06fPaS27a9euktTgG//27t3rvpZqTc2/a9euDb58IxQK6cCBA83KpbS0VJK0devWFs2jJRUVFcnv9zer37p27ZrW/dwcp5P/8bKzs3XppZemdT+3pBP1f35+fkZczJ2OYcOGebr/p06dqkWLFmnZsmWnvOsgk/Z/L2uJY1cqNGdbO/4ceqJtL/5aqrVv314XXnihtm7dqq5du6qurk5VVVUJber3Tzrns3PnTr3xxhu64447TtrOa33UlGvVplwDpmOe8aJ2586dWrp0acJobWNKS0sVCoW0Y8cOSemZU1yfPn1UVFSUsJ15sY8k6fe//722bNlyyn1L8lYfnYnTLmw7deqkfv36nfRR/77t5ujdu7e6du2qN998051WU1Oj1atXJ4xupVJT8y8rK1NVVZXWrFnjzvvWW28pEom4B/GmWL9+vaTorYvpKicnR5dddllCv0UiEb355psn7LeysrKE9pK0dOnStOnn5jid/I8XDoe1YcOGtO7nlpRJ/d9S1q9f78n+NzNNnTpVr7zyit56660Gtzg1hv5PDy1x7Eqm09nWjj+HlpWVacOGDQkXtPEL+IsvvrhV4m6OQ4cOadu2berWrZsuu+wyZWdnJ/TPli1btGvXLrd/0jmf5557Tp07d9a4ceNO2s5rfdSUa9WmXAOWlZVpxYoVCgaDbpulS5eqpKQkJbeDxovaTz75RG+88YY6dux4ynnWr18vn8/n3tKbbjnV9+c//1n79+9P2M681kdxzzzzjC677DINGjTolG291EdnJBnfULVz505bt26dzZkzx9q2bWvr1q2zdevW2cGDB902JSUl9vLLL7vPH330UWvfvr299tpr9tFHH9n48eOtd+/e9uWXXyYj5BY1ZswYu/TSS2316tX2zjvv2AUXXGCTJk1yX//zn/9sJSUltnr1ajMz27p1q/3oRz+yDz/80LZv326vvfaa9enTx0aMGJGqFJrs17/+tQUCAauoqLCPP/7YvvOd71j79u3dbzW8+eabbcaMGW77d99917KysuyJJ56wzZs32+zZsy07O9s2bNiQqhTOSHPznzNnjr3++uu2bds2W7NmjX3zm9+03Nxc27RpU6pSOCMHDx50929J9uSTT9q6devcb1OcMWOG3XzzzW77Tz/91PLy8uyBBx6wzZs32/z5883v99uSJUtSlcIZaW7+8+bNs1dffdU++eQT27Bhg917773m8/nsjTfeSFUKp+3uu++2goICW758ue3Zs8d9HDlyxG2T6fu/l53q2JVOTrWtNeUcGgqFrH///jZq1Chbv369LVmyxDp16mQzZ85MSU7333+/LV++3LZv327vvvuulZeXW1FRke3bt8/MzL773e9ajx497K233rIPP/zQysrKrKysLG3ziQuHw9ajRw+bPn16wnSv9NGpjulNuVY91TVgVVWVdenSxW6++WbbuHGj/frXv7a8vDx7+umnk55TXV2dXXPNNXbeeefZ+vXrE/av+Lfnrly50ubNm2fr16+3bdu22S9+8Qvr1KmT3XLLLSnJ6WT5HDx40P75n//ZVq1aZdu3b7c33njDhgwZYhdccIEdPXrUXYaX+iiuurra8vLybMGCBQ3mT7c+SqakFLaTJ082SQ0ey5YtOxaIZM8995z7PBKJ2EMPPWRdunSxQCBgV199tW3ZsiUZ4ba4/fv326RJk6xt27aWn59vt912W0JRv3379oT1sWvXLhsxYoQVFhZaIBCw888/3x544AGrrq5OUQbN8x//8R/Wo0cPy8nJsWHDhtl7773nvnbllVfa5MmTE9r/5je/sQsvvNBycnLskksusd/97ndJjrhlNSf/++67z23bpUsX+7u/+ztbu3ZtCqJuGfGfrzn+Ec958uTJduWVVzaYZ/DgwZaTk2N9+vRJOA54TXPzf+yxx6xv376Wm5trhYWFNnLkSHvrrbdSE/wZaizv44/rZ8P+72UnO3alk1Nta009h+7YscPGjh1rbdq0saKiIrv//vstGAymIKPoz5x169bNcnJy7Nxzz7Ubb7zRtm7d6r7+5Zdf2j/8wz9Yhw4dLC8vzyZMmGB79uxJWEY65RP3+uuvm6QG129e6aNTHdObcq16qmtAM7M//OEPdsUVV1ggELBzzz3XHn300ZTkFL8ePdk1+5o1a6y0tNQKCgosNzfXLrroIvvXf/3XhEIxmTmdLJ8jR47YqFGjrFOnTpadnW09e/a0O++8s8Ef7LzUR3FPP/20tWnTxqqqqhrMn259lEyOmVlLjPwCAAAAAJAKafk7tgAAAAAANBWFLQAAAADA0yhsAQAAAACeRmELAAAAAPA0ClsAAAAAgKdR2AIAAAAAPI3CFgAAAADgaRS2AAAAAABPo7AFAAAAAHgahS0AAAAAwNMobAEAAAAAnkZhCwAAAADwtP8P20qrWNJ8xeMAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "az.plot_trace(model.trace.posterior[\"slopes\"])" - ] - } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "name": "python" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -} From 45698aa1915e9b65a48ba0c5280c1e1128dd173a Mon Sep 17 00:00:00 2001 From: meraldoantonio Date: Thu, 6 Jun 2024 16:40:23 +0000 Subject: [PATCH 20/51] Added example notebook --- examples/04_BayesianLinearRegressor.ipynb | 5815 +++++++++++++++++++++ 1 file changed, 5815 insertions(+) create mode 100644 examples/04_BayesianLinearRegressor.ipynb diff --git a/examples/04_BayesianLinearRegressor.ipynb b/examples/04_BayesianLinearRegressor.ipynb new file mode 100644 index 00000000..f76525ae --- /dev/null +++ b/examples/04_BayesianLinearRegressor.ipynb @@ -0,0 +1,5815 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "5041e82f2cec4d18afadc01334823e21": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_8bf13818fd184881993e49113f14aaa4", + "msg_id": "", + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "Sampling chain 0, 0 divergences \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 0%\u001b[0m \u001b[36m0:00:00\u001b[0m\n", + "text/html": "
Sampling chain 0, 0 divergences ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:00\n
\n" + }, + "metadata": {} + } + ] + } + }, + "8bf13818fd184881993e49113f14aaa4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "aaa3b0bdfa1d49169356cde19bae9c94": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_27aa1995a5e54ad5b61296623e65ca55", + "msg_id": "", + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "Sampling chain 1, 0 divergences \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 0%\u001b[0m \u001b[36m0:00:00\u001b[0m\n", + "text/html": "
Sampling chain 1, 0 divergences ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:00\n
\n" + }, + "metadata": {} + } + ] + } + }, + "27aa1995a5e54ad5b61296623e65ca55": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "140c47265a9d4413bcd5d6cb82c8813a": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_4afa3bbfa3e94be2b99d17c0a0d236c6", + "msg_id": "", + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:01\u001b[0m\n", + "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 100% 0:00:01\n
\n" + }, + "metadata": {} + } + ] + } + }, + "4afa3bbfa3e94be2b99d17c0a0d236c6": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2b6f7349e109440997ec97f6115eb5e8": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_046257170ed44b08903c7ab551b34710", + "msg_id": "", + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;237m╺\u001b[0m\u001b[38;5;237m━\u001b[0m \u001b[35m 95%\u001b[0m \u001b[36m0:00:01\u001b[0m\n", + "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━  95% 0:00:01\n
\n" + }, + "metadata": {} + } + ] + } + }, + "046257170ed44b08903c7ab551b34710": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3c5c53cbd13b4cc7bba3539d0b015549": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_8f2d3226d202475a83b7d0a5399bd4ac", + "msg_id": "", + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m\u001b[38;5;237m━━━\u001b[0m \u001b[35m 91%\u001b[0m \u001b[36m0:00:01\u001b[0m\n", + "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━  91% 0:00:01\n
\n" + }, + "metadata": {} + } + ] + } + }, + "8f2d3226d202475a83b7d0a5399bd4ac": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cb9ebd7e5af34a66bb4be9d0cf6676e8": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_76228f3f57924d8099807a14a3be0f83", + "msg_id": "", + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;237m╺\u001b[0m\u001b[38;5;237m━\u001b[0m \u001b[35m 96%\u001b[0m \u001b[36m0:00:01\u001b[0m\n", + "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━  96% 0:00:01\n
\n" + }, + "metadata": {} + } + ] + } + }, + "76228f3f57924d8099807a14a3be0f83": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1bad078ae919428db9df21002e47f44d": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_21a450b922714993904c09aa3416a5c9", + "msg_id": "", + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m\u001b[38;5;237m━━━━━━━━━\u001b[0m \u001b[35m 77%\u001b[0m \u001b[36m0:00:01\u001b[0m\n", + "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━  77% 0:00:01\n
\n" + }, + "metadata": {} + } + ] + } + }, + "21a450b922714993904c09aa3416a5c9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b77a1bc131de475d97ff0ba200776613": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_52c38d3a9e42417d9a1f645afe4af9f4", + "msg_id": "", + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "Sampling chain 0, 0 divergences \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 0%\u001b[0m \u001b[36m0:00:00\u001b[0m\n", + "text/html": "
Sampling chain 0, 0 divergences ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:00\n
\n" + }, + "metadata": {} + } + ] + } + }, + "52c38d3a9e42417d9a1f645afe4af9f4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "23f5b7fa704041a8bf0026ed755ed07e": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_1b671855504d4104b5cebff3edfc244d", + "msg_id": "", + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "Sampling chain 1, 0 divergences \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 0%\u001b[0m \u001b[36m0:00:00\u001b[0m\n", + "text/html": "
Sampling chain 1, 0 divergences ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:00\n
\n" + }, + "metadata": {} + } + ] + } + }, + "1b671855504d4104b5cebff3edfc244d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5969efae24fd4b1baeaf30d6bcbedfe6": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_8955971da43241e9857ec6047c192fb5", + "msg_id": "", + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m\u001b[38;5;237m━\u001b[0m \u001b[35m 96%\u001b[0m \u001b[36m0:00:01\u001b[0m\n", + "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸  96% 0:00:01\n
\n" + }, + "metadata": {} + } + ] + } + }, + "8955971da43241e9857ec6047c192fb5": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + } + } + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# Environment Set Up" + ], + "metadata": { + "id": "Ac4ZP2Yb1yu9" + } + }, + { + "cell_type": "markdown", + "source": [ + "The code below downloads the relevant `skpro` development branch from github and install it.\n", + "\n", + "It also \"corrects\" the version of `pymc` that comes pre-installed on Google Colab." + ], + "metadata": { + "id": "sQQlIVzx2D-i" + } + }, + { + "cell_type": "code", + "source": [ + "!git clone -b pymc_dev --single-branch https://github.com/meraldoantonio/skpro.git\n", + "!pip install --editable skpro[dev,test]\n", + "!pip uninstall pymc -y\n", + "!pip install pymc==5.15.0" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "swdmYItOAvjp", + "outputId": "c524cb8b-1ada-42b3-9b16-88aec0fdc8c3" + }, + "execution_count": 1, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Cloning into 'skpro'...\n", + "remote: Enumerating objects: 3383, done.\u001b[K\n", + "remote: Counting objects: 100% (77/77), done.\u001b[K\n", + "remote: Compressing objects: 100% (42/42), done.\u001b[K\n", + "remote: Total 3383 (delta 51), reused 58 (delta 35), pack-reused 3306\u001b[K\n", + "Receiving objects: 100% (3383/3383), 2.79 MiB | 15.37 MiB/s, done.\n", + "Resolving deltas: 100% (2170/2170), done.\n", + "Obtaining file:///content/skpro\n", + " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Checking if build backend supports build_editable ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build editable ... \u001b[?25l\u001b[?25hdone\n", + " Preparing editable metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + "\u001b[33mWARNING: skpro 2.3.0 does not provide the extra 'test'\u001b[0m\u001b[33m\n", + "\u001b[0mRequirement already satisfied: numpy<1.27,>=1.21.0 in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (1.25.2)\n", + "Requirement already satisfied: pandas<2.3.0,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (2.0.3)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (24.0)\n", + "Collecting scikit-base<0.8.0,>=0.6.1 (from skpro==2.3.0)\n", + " Downloading scikit_base-0.7.8-py3-none-any.whl (130 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m130.1/130.1 kB\u001b[0m \u001b[31m2.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: scikit-learn<1.5.0,>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (1.2.2)\n", + "Requirement already satisfied: scipy<2.0.0,>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (1.11.4)\n", + "Collecting backoff (from skpro==2.3.0)\n", + " Downloading backoff-2.2.1-py3-none-any.whl (15 kB)\n", + "Collecting httpx (from skpro==2.3.0)\n", + " Downloading httpx-0.27.0-py3-none-any.whl (75 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m75.6/75.6 kB\u001b[0m \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting pre-commit (from skpro==2.3.0)\n", + " Downloading pre_commit-3.7.1-py2.py3-none-any.whl (204 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m204.3/204.3 kB\u001b[0m \u001b[31m17.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: pytest in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (7.4.4)\n", + "Collecting pytest-cov (from skpro==2.3.0)\n", + " Downloading pytest_cov-5.0.0-py3-none-any.whl (21 kB)\n", + "Collecting pytest-randomly (from skpro==2.3.0)\n", + " Downloading pytest_randomly-3.15.0-py3-none-any.whl (8.7 kB)\n", + "Collecting pytest-timeout (from skpro==2.3.0)\n", + " Downloading pytest_timeout-2.3.1-py3-none-any.whl (14 kB)\n", + "Collecting pytest-xdist (from skpro==2.3.0)\n", + " Downloading pytest_xdist-3.6.1-py3-none-any.whl (46 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m46.1/46.1 kB\u001b[0m \u001b[31m4.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: wheel in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (0.43.0)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas<2.3.0,>=1.1.0->skpro==2.3.0) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas<2.3.0,>=1.1.0->skpro==2.3.0) (2023.4)\n", + "Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas<2.3.0,>=1.1.0->skpro==2.3.0) (2024.1)\n", + "Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<1.5.0,>=0.24.0->skpro==2.3.0) (1.4.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<1.5.0,>=0.24.0->skpro==2.3.0) (3.5.0)\n", + "Requirement already satisfied: anyio in /usr/local/lib/python3.10/dist-packages (from httpx->skpro==2.3.0) (3.7.1)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx->skpro==2.3.0) (2024.6.2)\n", + "Collecting httpcore==1.* (from httpx->skpro==2.3.0)\n", + " Downloading httpcore-1.0.5-py3-none-any.whl (77 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.9/77.9 kB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: idna in /usr/local/lib/python3.10/dist-packages (from httpx->skpro==2.3.0) (3.7)\n", + "Requirement already satisfied: sniffio in /usr/local/lib/python3.10/dist-packages (from httpx->skpro==2.3.0) (1.3.1)\n", + "Collecting h11<0.15,>=0.13 (from httpcore==1.*->httpx->skpro==2.3.0)\n", + " Downloading h11-0.14.0-py3-none-any.whl (58 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m6.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting cfgv>=2.0.0 (from pre-commit->skpro==2.3.0)\n", + " Downloading cfgv-3.4.0-py2.py3-none-any.whl (7.2 kB)\n", + "Collecting identify>=1.0.0 (from pre-commit->skpro==2.3.0)\n", + " Downloading identify-2.5.36-py2.py3-none-any.whl (98 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m99.0/99.0 kB\u001b[0m \u001b[31m11.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting nodeenv>=0.11.1 (from pre-commit->skpro==2.3.0)\n", + " Downloading nodeenv-1.9.1-py2.py3-none-any.whl (22 kB)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from pre-commit->skpro==2.3.0) (6.0.1)\n", + "Collecting virtualenv>=20.10.0 (from pre-commit->skpro==2.3.0)\n", + " Downloading virtualenv-20.26.2-py3-none-any.whl (3.9 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.9/3.9 MB\u001b[0m \u001b[31m36.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: iniconfig in /usr/local/lib/python3.10/dist-packages (from pytest->skpro==2.3.0) (2.0.0)\n", + "Requirement already satisfied: pluggy<2.0,>=0.12 in /usr/local/lib/python3.10/dist-packages (from pytest->skpro==2.3.0) (1.5.0)\n", + "Requirement already satisfied: exceptiongroup>=1.0.0rc8 in /usr/local/lib/python3.10/dist-packages (from pytest->skpro==2.3.0) (1.2.1)\n", + "Requirement already satisfied: tomli>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from pytest->skpro==2.3.0) (2.0.1)\n", + "Collecting coverage[toml]>=5.2.1 (from pytest-cov->skpro==2.3.0)\n", + " Downloading coverage-7.5.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (231 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m231.6/231.6 kB\u001b[0m \u001b[31m10.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting execnet>=2.1 (from pytest-xdist->skpro==2.3.0)\n", + " Downloading execnet-2.1.1-py3-none-any.whl (40 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m40.6/40.6 kB\u001b[0m \u001b[31m2.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas<2.3.0,>=1.1.0->skpro==2.3.0) (1.16.0)\n", + "Collecting distlib<1,>=0.3.7 (from virtualenv>=20.10.0->pre-commit->skpro==2.3.0)\n", + " Downloading distlib-0.3.8-py2.py3-none-any.whl (468 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m468.9/468.9 kB\u001b[0m \u001b[31m24.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: filelock<4,>=3.12.2 in /usr/local/lib/python3.10/dist-packages (from virtualenv>=20.10.0->pre-commit->skpro==2.3.0) (3.14.0)\n", + "Requirement already satisfied: platformdirs<5,>=3.9.1 in /usr/local/lib/python3.10/dist-packages (from virtualenv>=20.10.0->pre-commit->skpro==2.3.0) (4.2.2)\n", + "Building wheels for collected packages: skpro\n", + " Building editable for skpro (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for skpro: filename=skpro-2.3.0-0.editable-py3-none-any.whl size=9518 sha256=f5c29b43c43defa295b1d1d3e20807c3ee947b804489d169f5a5e1dad138b88d\n", + " Stored in directory: /tmp/pip-ephem-wheel-cache-47ejwvrc/wheels/18/22/02/ac6e62f41612ef012e5a6b0b2fe4f17078a1e950fcc60872d4\n", + "Successfully built skpro\n", + "Installing collected packages: distlib, virtualenv, scikit-base, nodeenv, identify, h11, execnet, coverage, cfgv, backoff, pytest-xdist, pytest-timeout, pytest-randomly, pre-commit, httpcore, skpro, pytest-cov, httpx\n", + "Successfully installed backoff-2.2.1 cfgv-3.4.0 coverage-7.5.3 distlib-0.3.8 execnet-2.1.1 h11-0.14.0 httpcore-1.0.5 httpx-0.27.0 identify-2.5.36 nodeenv-1.9.1 pre-commit-3.7.1 pytest-cov-5.0.0 pytest-randomly-3.15.0 pytest-timeout-2.3.1 pytest-xdist-3.6.1 scikit-base-0.7.8 skpro-2.3.0 virtualenv-20.26.2\n", + "Found existing installation: pymc 5.10.4\n", + "Uninstalling pymc-5.10.4:\n", + " Successfully uninstalled pymc-5.10.4\n", + "Collecting pymc==5.15.0\n", + " Downloading pymc-5.15.0-py3-none-any.whl (482 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m482.7/482.7 kB\u001b[0m \u001b[31m8.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: arviz>=0.13.0 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (0.15.1)\n", + "Requirement already satisfied: cachetools>=4.2.1 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (5.3.3)\n", + "Requirement already satisfied: cloudpickle in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (2.2.1)\n", + "Requirement already satisfied: numpy>=1.15.0 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (1.25.2)\n", + "Requirement already satisfied: pandas>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (2.0.3)\n", + "Collecting pytensor<2.21,>=2.20 (from pymc==5.15.0)\n", + " Downloading pytensor-2.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.7/1.7 MB\u001b[0m \u001b[31m46.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: rich>=13.7.1 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (13.7.1)\n", + "Requirement already satisfied: scipy>=1.4.1 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (1.11.4)\n", + "Requirement already satisfied: typing-extensions>=3.7.4 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (4.12.1)\n", + "Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc==5.15.0) (67.7.2)\n", + "Requirement already satisfied: matplotlib>=3.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc==5.15.0) (3.7.1)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc==5.15.0) (24.0)\n", + "Requirement already satisfied: xarray>=0.21.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc==5.15.0) (2023.7.0)\n", + "Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc==5.15.0) (1.3.0)\n", + "Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc==5.15.0) (0.7.0)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc==5.15.0) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc==5.15.0) (2023.4)\n", + "Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc==5.15.0) (2024.1)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from pytensor<2.21,>=2.20->pymc==5.15.0) (3.14.0)\n", + "Requirement already satisfied: etuples in /usr/local/lib/python3.10/dist-packages (from pytensor<2.21,>=2.20->pymc==5.15.0) (0.3.9)\n", + "Requirement already satisfied: logical-unification in /usr/local/lib/python3.10/dist-packages (from pytensor<2.21,>=2.20->pymc==5.15.0) (0.4.6)\n", + "Requirement already satisfied: miniKanren in /usr/local/lib/python3.10/dist-packages (from pytensor<2.21,>=2.20->pymc==5.15.0) (1.0.3)\n", + "Requirement already satisfied: cons in /usr/local/lib/python3.10/dist-packages (from pytensor<2.21,>=2.20->pymc==5.15.0) (0.4.6)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc==5.15.0) (3.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc==5.15.0) (2.16.1)\n", + "Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf>=1.0.2->arviz>=0.13.0->pymc==5.15.0) (3.9.0)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich>=13.7.1->pymc==5.15.0) (0.1.2)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2->arviz>=0.13.0->pymc==5.15.0) (1.2.1)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2->arviz>=0.13.0->pymc==5.15.0) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2->arviz>=0.13.0->pymc==5.15.0) (4.53.0)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2->arviz>=0.13.0->pymc==5.15.0) (1.4.5)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2->arviz>=0.13.0->pymc==5.15.0) (9.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2->arviz>=0.13.0->pymc==5.15.0) (3.1.2)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=0.24.0->pymc==5.15.0) (1.16.0)\n", + "Requirement already satisfied: toolz in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.21,>=2.20->pymc==5.15.0) (0.12.1)\n", + "Requirement already satisfied: multipledispatch in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.21,>=2.20->pymc==5.15.0) (1.0.0)\n", + "Installing collected packages: pytensor, pymc\n", + " Attempting uninstall: pytensor\n", + " Found existing installation: pytensor 2.18.6\n", + " Uninstalling pytensor-2.18.6:\n", + " Successfully uninstalled pytensor-2.18.6\n", + "Successfully installed pymc-5.15.0 pytensor-2.20.0\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Note: after running the above cell, remember to restart the session for the changes to take effect." + ], + "metadata": { + "id": "ZUj41v7ne9eY" + } + }, + { + "cell_type": "markdown", + "source": [ + "# Introduction" + ], + "metadata": { + "id": "HAxBG7mR2Ar1" + } + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "RQirXZwKipys" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import pymc as pm\n", + "import matplotlib.pyplot as plt\n", + "import arviz as az\n", + "from skpro.regression.bayesian import BayesianLinearRegressor" + ] + }, + { + "cell_type": "markdown", + "source": [ + "This notebook serves to demonstrate the use of the `skpro`'s `BayesianLinearRegressor` regressor. This class implements Bayesian linear regression using `PyMC` as a backend. It assumes weakly-informative Bayesian priors for both the intercepts and slopes of the model.\n", + "\n", + "Compared to a traditional OLS Linear Regression, Bayesian Linear Regression offers several benefits:\n", + "\n", + "1. It provides full posterior distributions of model parameters, allowing for direct assessment of uncertainty in predictions.\n", + "2. It enables the inclusion of prior information or beliefs about parameters, improving estimates when data is limited.\n", + "3. It regularizes parameter estimates through priors, reducing overfitting compared to traditional linear regression.\n" + ], + "metadata": { + "id": "RdBN6n_m_0me" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Data Generation" + ], + "metadata": { + "id": "2RI4KS5__80T" + } + }, + { + "cell_type": "markdown", + "source": [ + "We will first create synthetic data with just one feature (`feature1`) and 50 data points. The true relationship between the data $\\mathbf{x}$ and the target variable ($y_{\\text{true}}$) is given by the equation:\n", + "\n", + "\\begin{equation}\n", + "y_{\\text{true}} = \\text{intercept}_{\\text{true}} + \\mathbf{x} \\cdot \\mathbf{m}_{\\text{true}}\n", + "\\end{equation}\n", + "\n", + "\n", + "where $\\text{intercept}_{\\text{true}} = 1$ and $\\mathbf{m}_{\\text{true}} = 2$.\n", + "\n", + "The observed target values ($y_{\\text{train}}$) are generated by adding Gaussian noise to the true target values:\n", + "\n", + "\\begin{equation}\n", + "y = y_{\\text{true}} + \\mathcal{N}(0, \\sigma_{\\text{true}})\n", + "\\end{equation}\n", + "Here, $\\sigma_{\\text{true}} = 0.5$.\n" + ], + "metadata": { + "id": "HiSOh5L6AFuh" + } + }, + { + "cell_type": "code", + "source": [ + "N = 50\n", + "np.random.seed(42)\n", + "# Creating 50 random data points containing 1 feature\n", + "feature1 = np.random.uniform(0, 1, N)\n", + "X_train = pd.DataFrame({'feature1': feature1})\n", + "\n", + "# Set the relationship between the feature and the target variable\n", + "TRUE_INTERCEPT = 1\n", + "TRUE_SLOPES = np.array([2])\n", + "TRUE_SIGMA = 0.5\n", + "\n", + "# Calculating the true target variable\n", + "y_true = TRUE_INTERCEPT + np.dot(X_train, TRUE_SLOPES)\n", + "y_train = y_true + np.random.normal(0, TRUE_SIGMA, size=len(X_train))\n", + "\n", + "# Combine the features and targets into a single DataFrame\n", + "train_data = pd.concat([X_train, pd.Series(y_true, name='y_true'), pd.Series(y_train, name='y_train')], axis=1)\n", + "train_data = train_data.sort_values(by=\"feature1\")\n", + "train_data = train_data.reset_index(drop=True)\n", + "\n", + "# Display the train_data DataFrame\n", + "train_data.head()" + ], + "metadata": { + "id": "xo4qpkVhisFX", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "outputId": "44218333-4b7d-42f7-9b02-b8f9a2caf30d" + }, + "execution_count": 2, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " feature1 y_true y_train\n", + "0 0.020584 1.041169 1.203211\n", + "1 0.034389 1.068777 1.807724\n", + "2 0.046450 1.092901 0.770341\n", + "3 0.058084 1.116167 0.885848\n", + "4 0.065052 1.130103 1.112190" + ], + "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", + "
feature1y_truey_train
00.0205841.0411691.203211
10.0343891.0687771.807724
20.0464501.0929010.770341
30.0580841.1161670.885848
40.0650521.1301031.112190
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "train_data", + "summary": "{\n \"name\": \"train_data\",\n \"rows\": 50,\n \"fields\": [\n {\n \"column\": \"feature1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.2888832009796587,\n \"min\": 0.020584494295802447,\n \"max\": 0.9699098521619943,\n \"num_unique_values\": 50,\n \"samples\": [\n 0.18485445552552704,\n 0.7080725777960455,\n 0.5247564316322378\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"y_true\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5777664019593174,\n \"min\": 1.041168988591605,\n \"max\": 2.9398197043239884,\n \"num_unique_values\": 50,\n \"samples\": [\n 1.369708911051054,\n 2.416145155592091,\n 2.049512863264476\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"y_train\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7124113988130022,\n \"min\": 0.5727762857011593,\n \"max\": 3.6800929024136693,\n \"num_unique_values\": 50,\n \"samples\": [\n 1.6263426276077322,\n 1.534625077910724,\n 1.8949066753388686\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 2 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "The line chart below plots the relationship between `feature1` and the targets - both the theoretical `y_true`, represented by the red line, and the observed `y_train`, represented by the blue dots." + ], + "metadata": { + "id": "zUygtX7Ad698" + } + }, + { + "cell_type": "code", + "source": [ + "# Plot feature1 vs true_target\n", + "plt.figure(figsize=(10, 6))\n", + "plt.scatter(train_data['feature1'], train_data['y_train'], label='Observed `y-train` (containing noise)', alpha=0.6)\n", + "plt.plot(train_data['feature1'], train_data['y_true'], color='red', label='Theoretical `y_true`', linewidth=2)\n", + "plt.xlabel('feature1')\n", + "plt.ylabel('y_true & y_train')\n", + "plt.title('feature1 vs y_true & y_train')\n", + "plt.legend()\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 564 + }, + "id": "QVyAMRueJ6F-", + "outputId": "0e190fed-d7d6-48c8-81bf-77d88aec530c" + }, + "execution_count": 3, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "We will also create synthetic testing data to evaluate the models' performance on new, unseen data points. The following code generates 30 new testing data points." + ], + "metadata": { + "id": "uB-IoGsjd3vA" + } + }, + { + "cell_type": "code", + "source": [ + "# Generate new data points for prediction\n", + "N_test = 30\n", + "X_test = pd.DataFrame({'feature1': np.linspace(0, 1, N_test)})\n", + "X_test.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "X0ddXs1Ii0Yb", + "outputId": "5f04ae6d-1dd8-475d-ac91-cc77564c3a24" + }, + "execution_count": 4, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " feature1\n", + "0 0.000000\n", + "1 0.034483\n", + "2 0.068966\n", + "3 0.103448\n", + "4 0.137931" + ], + "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", + "
feature1
00.000000
10.034483
20.068966
30.103448
40.137931
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "X_test", + "summary": "{\n \"name\": \"X_test\",\n \"rows\": 30,\n \"fields\": [\n {\n \"column\": \"feature1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.30356580795963806,\n \"min\": 0.0,\n \"max\": 1.0,\n \"num_unique_values\": 30,\n \"samples\": [\n 0.9310344827586207,\n 0.5172413793103449,\n 0.7931034482758621\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 4 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# OLS" + ], + "metadata": { + "id": "4cwRHryxiA7t" + } + }, + { + "cell_type": "markdown", + "source": [ + "To determine the relationship between the features and the target variable, we will train and inspect a model.\n", + "\n", + "First, we'll train an Ordinary Least Squares (OLS) regression model using the `statsmodels` library." + ], + "metadata": { + "id": "E5LjqpmoiDV1" + } + }, + { + "cell_type": "code", + "source": [ + "import statsmodels.api as sm\n", + "\n", + "# Fit a linear regression model using statsmodels\n", + "X_train_with_const = sm.add_constant(X_train)\n", + "ols_model = sm.OLS(y_train, X_train_with_const).fit()" + ], + "metadata": { + "id": "P7Af9sHKKdx8" + }, + "execution_count": 5, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "When fitted to the data, the `ols_model` above use maximum likelihood to find estimates of the model parameters. A downside of this approach is that it only gives point estimates - that is, single values for the slope and intercept without providing information about the distribution of these estimates.\n", + "\n", + "\n", + "The code below shows how we can extract out the estimated parameters from `ols_model`. As we can see, the point estimates for the slopes, intercept, and standard deviation are quite close to the true values we set earlier." + ], + "metadata": { + "id": "T65gKYllh18N" + } + }, + { + "cell_type": "code", + "source": [ + "y_train_pred = ols_model.predict(X_train_with_const)\n", + "residuals = y_train_pred - y_train\n", + "\n", + "# Print the true model and estimated model\n", + "print('True data generating model:')\n", + "print(f'y_true = {TRUE_SLOPES[0]:.2f}x + {TRUE_INTERCEPT:.2f}')\n", + "print(f'True standard deviation: {TRUE_SIGMA}\\n')\n", + "\n", + "print('Estimated MLE model:')\n", + "print(f'y_hat = {ols_model.params[1]:.2f}x + {ols_model.params[0]:.2f}')\n", + "print(f'Standard deviation of residuals: {residuals.std():.2f}')" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Wk34Pkp87aM4", + "outputId": "5c51cafe-0779-4080-f134-0b8366ef8c9c" + }, + "execution_count": 6, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "True data generating model:\n", + "y_true = 2.00x + 1.00\n", + "True standard deviation: 0.5\n", + "\n", + "Estimated MLE model:\n", + "y_hat = 1.89x + 1.05\n", + "Standard deviation of residuals: 0.46\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "\n", + "Using the trained `ols_model`, we can also create point predictions on the unseen `X_test` along with the corresponding confidence interval. The latter provides a range within which we expect the true parameter to lie with a certain level of confidence (e.g., 95%)." + ], + "metadata": { + "id": "evk3LGh6nEkU" + } + }, + { + "cell_type": "code", + "source": [ + "# Predict y_test using the linear model\n", + "X_test_with_const = sm.add_constant(X_test)\n", + "predictions = ols_model.get_prediction(X_test_with_const)\n", + "pred_summary = predictions.summary_frame(alpha=0.05)\n", + "\n", + "# Extract predicted values and confidence intervals\n", + "y_test_pred = pred_summary['mean']\n", + "conf_int_lower = pred_summary['obs_ci_lower']\n", + "conf_int_upper = pred_summary['obs_ci_upper']\n", + "\n", + "# Plot the predictions with the confidence intervals\n", + "plt.figure(figsize=(10, 6))\n", + "plt.scatter(X_test['feature1'], y_test_pred, color='blue', label='Predicted values')\n", + "plt.fill_between(X_test['feature1'], conf_int_lower, conf_int_upper, color='lightblue', alpha=0.4, label='95% Confidence Interval')\n", + "plt.xlabel('Feature 1')\n", + "plt.ylabel('Predicted Target')\n", + "plt.title('Predictions with 95% Confidence Interval')\n", + "plt.legend()\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 564 + }, + "id": "rPVevWfb2xyY", + "outputId": "ffd8191e-9b6d-4321-8edb-05159563e741" + }, + "execution_count": 7, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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G4B70+P169eja9euGDduHNq0aYM///wTO3fuxBdffFFi22V5Ffc+DvRnTSDuuOMOTJ48GZMnT0aNGjUKzawNHjwYr732GgYOHIi77roL586dwxtvvIFmzZph7969IX/NRBRikYjyI6KqzxuVXFqM9qhRo0RMTEyx9y9cuFB07txZWK1WERcXJ9q2bSumTJkiTp065TtH0zQxY8YMkZycLKxWq7j66qvF/v37C8X5XhpH7rVlyxZx3XXXibi4OBETEyPatWvnFyusqqp49NFHRe3atYUkSX6RxrgkjlwIIXbu3CkGDBggYmNjhc1mE3379hVbt24N6PNz6Rh37twphg8fLho2bCjMZrOoU6eOuOGGG8T27dtL+rT6vPHGGwKAeOihh/yO9+vXTwAQX375pd/xouLIi3v9xcVkF/d5udSff/4phgwZIpKSkoTJZBKpqaniqaeeKhRPfuHCBXH33XeLZs2aCZvNJsxms7jsssvErFmzhNPpLPLae/fuFSaTSezatavQfYsXLxaNGzcWNWvWFJMmTRKqqpY4Tq+ff/5ZjBs3TjRu3FiYTCYRFxcnrrrqKvGPf/xD5Ofn+85zuVxixowZIjU1VRiNRpGSkiKmTZvmd44QhaO1vfr06SP69Onjux1oHLkQgX8vCCFEVlaWmDZtmmjWrJkwmUyiVq1aokePHuKVV17xfV6D/Rrv379f3HzzzSIhIUFYLBbRsmVL8fTTT/udc/bsWTF+/HiRkpIijEajSEpKEtdee61YuHBhoee4VHFx5IGMr6TvYyEC+1lT3NesoKuuuqrISHqvt99+WzRv3lyYzWbRqlUrsWjRIvHMM88UGg/jyImijyREmFegEhERERERVXJc40RERERERFQKFk5ERERERESlYOFERERERERUChZOREREREREpWDhREREREREVAoWTkRERERERKWodhvg6rqOU6dOIS4uDpIkRXo4REREREQUIUIIZGVloV69epDlkueUql3hdOrUKaSkpER6GEREREREFCV+/fVXNGjQoMRzql3hFBcXB8D9ybHb7REeDRERERERRUpmZiZSUlJ8NUJJql3h5G3Ps9vtLJyIiIiIiCigJTwMhyAiIiIiIioFCyciIiIiIqJSsHAiIiIiIiIqRbVb40REREQUDYQQUFUVmqZFeihEVZrRaISiKOW+TtQUTi+++CKmTZuGCRMmYM6cOcWet3z5cjz99NM4duwYmjdvjpdeegmDBg2quIESERERlZPT6cTp06eRm5sb6aEQVXmSJKFBgwaIjY0t13WionD6/vvvsWDBArRr167E87Zu3Yrhw4cjLS0NN9xwA5YsWYKhQ4di586duPzyyytotERERERlp+s6jh49CkVRUK9ePZhMpoASvYgoeEIInD9/Hr/99huaN29erpknSQghQji2oGVnZ6NTp07417/+heeffx4dOnQodsZp2LBhyMnJwerVq33HunXrhg4dOmD+/PkBPV9mZibi4+ORkZHBOHIiIiKqcPn5+Th69CgaNWoEm80W6eEQVXl5eXk4duwYUlNTYbFY/O4LpjaIeDjE+PHjMXjwYPTr16/Uc7dt21bovAEDBmDbtm3FPsbhcCAzM9Pvg4iIiCjSZDniv4YRVQuhmtGNaKve0qVLsXPnTnz//fcBnX/mzBnUrVvX71jdunVx5syZYh+TlpaGGTNmlGucRERERERUvUXsTx2//vorJkyYgA8++KDQlFkoTZs2DRkZGb6PX3/9NWzPRUREREREVVPECqcdO3bg3Llz6NSpEwwGAwwGAzZu3Ii///3vMBgMRUZzJiUl4ezZs37Hzp49i6SkpGKfx2w2w263+30QERERUXQbPXo0hg4d6rt99dVXY+LEiRU+jg0bNkCSJKSnp4ftOY4dOwZJkrB79+6wPQeVX8QKp2uvvRb79u3D7t27fR9dunTBiBEjsHv37iITL7p3744vv/zS79i6devQvXv3iho2ERERUbU1evRoSJIESZJgMpnQrFkzPPfcc1BVNezPvWLFCsycOTOgcyui2KHqJ2JrnOLi4gpFiMfExKBmzZq+4yNHjkT9+vWRlpYGAJgwYQL69OmDV199FYMHD8bSpUuxfft2LFy4sMLHT0RERBRpmgZs3gycPg0kJwO9egEh2OezRAMHDsSiRYvgcDiwZs0ajB8/HkajEdOmTSt0rtPphMlkCsnz1qhRIyTXISqrqI5zOXHiBE6fPu273aNHDyxZsgQLFy5E+/bt8eGHH2LVqlXcw4mIiIiqnRUrgMaNgb59gbvucv9/48bu4+FkNpuRlJSERo0a4aGHHkK/fv3wf//3fwAutte98MILqFevHlq2bAnAvbb9jjvuQEJCAmrUqIEhQ4bg2LFjvmtqmoZJkyYhISEBNWvWxJQpU3DpjjmXtuo5HA489dRTSElJgdlsRrNmzfD222/j2LFj6Nu3LwAgMTERkiRh9OjRANx7aKWlpSE1NRVWq9X3+2RBa9asQYsWLWC1WtG3b1+/cRblrrvuwrBhw/yOuVwu1KpVC++99x4A4PPPP0fPnj19r++GG27AkSNHir3m4sWLkZCQ4Hds1apVhdLhPv74Y3Tq1AkWiwVNmjTBjBkzfLN/Qgg8++yzaNiwIcxmM+rVq4fHHnusxNdCJYuKDXC9NmzYUOJtALj99ttx++23V8yAiIiIiKLQihXAbbcBl+7GefKk+/iHHwK33FIxY7Farfjjjz98t7/88kvY7XasW7cOgLuIGDBgALp3747NmzfDYDDg+eefx8CBA7F3716YTCa8+uqrWLx4Md555x20bt0ar776KlauXIlrrrmm2OcdOXIktm3bhr///e9o3749jh49it9//x0pKSn46KOPcOutt+LgwYOw2+2wWq0A3GnL//73vzF//nw0b94cmzZtwt13343atWujT58++PXXX3HLLbdg/PjxuP/++7F9+3Y88cQTJb7+ESNG4Pbbb0d2djZiY2MBAGvXrkVubi5uvvlmAEBOTg4mTZqEdu3aITs7G3/7299w8803Y/fu3WWOpd+8eTNGjhyJv//97+jVqxeOHDmC+++/HwDwzDPP4KOPPsLrr7+OpUuX4rLLLsOZM2ewZ8+eMj0XeYhqJiMjQwAQGRkZkR4KERERVUN5eXnixx9/FHl5eWV6vKoK0aCBEO6yqfCHJAmRkuI+L9RGjRolhgwZIoQQQtd1sW7dOmE2m8XkyZN999etW1c4HA7fY95//33RsmVLoeu675jD4RBWq1WsXbtWCCFEcnKyePnll333u1wu0aBBA99zCSFEnz59xIQJE4QQQhw8eFAAEOvWrStynOvXrxcAxIULF3zH8vPzhc1mE1u3bvU7d8yYMWL48OFCCCGmTZsm2rRp43f/U089VehaBblcLlGrVi3x3nvv+Y4NHz5cDBs2rMjzhRDi/PnzAoDYt2+fEEKIo0ePCgBi165dQgghFi1aJOLj4/0es3LlSlHwV/drr71WzJo1y++c999/XyQnJwshhHj11VdFixYthNPpLHYc1UVJ33PB1AZR3apHRERERP42bwZ++634+4UAfv3VfV44rF69GrGxsbBYLLj++usxbNgwPPvss77727Zt67euac+ePTh8+DDi4uIQGxuL2NhY1KhRA/n5+Thy5AgyMjJw+vRpdO3a1fcYg8GALl26FDsGb5BYnz59Ah734cOHkZubi+uuu843jtjYWLz33nu+trmffvrJbxwASg0hMxgMuOOOO/DBBx8AcM8uffzxxxgxYoTvnEOHDmH48OFo0qQJ7HY7GjduDMC9LKWs9uzZg+eee87vtYwbNw6nT59Gbm4ubr/9duTl5aFJkyYYN24cVq5cWSEhHlVZVLXqEREREVHJCiz/Dsl5werbty/mzZsHk8mEevXqwWDw/3UyJibG73Z2djY6d+7sKywKql27dpnG4G29C0Z2djYA4NNPP0X9+vX97jObzWUah9eIESPQp08fnDt3DuvWrYPVasXAgQN99994441o1KgR3nzzTdSrVw+6ruPyyy+H0+ks8nqyLBda4+VyuQq9nhkzZuCWInoyLRYLUlJScPDgQXzxxRdYt24dHn74YcyePRsbN26E0Wgs1+stL10ICAHIEgqt24pmLJyIiIiIKpHk5NCeF6yYmBg0a9Ys4PM7deqEZcuWoU6dOsXup5mcnIxvv/0WvXv3BgCoqoodO3agU6dORZ7ftm1b6LqOjRs3ol+/foXu9854FdwXtE2bNjCbzThx4kSxM1WtW7f2BV14ffPNN6W+xh49eiAlJQXLli3DZ599httvv91XnPzxxx84ePAg3nzzTfTq1QsAsGXLlhKvV7t2bWRlZSEnJ8dXiF66x1OnTp1w8ODBEr8WVqsVN954I2688UaMHz8erVq1wr59+4r9vIaLEAIC7oJJ0wV0T01oNsioPGUTCyciIiKiSqVXL6BBA3cQxKXhEAAgSe77Pb+jR9yIESMwe/ZsDBkyBM899xwaNGiA48ePY8WKFZgyZQoaNGiACRMm4MUXX0Tz5s3RqlUrvPbaayXuwdS4cWOMGjUK9913ny8c4vjx4zh37hzuuOMONGrUCJIkYfXq1Rg0aBCsVivi4uIwefJkPP7449B1HT179kRGRga+/vpr2O12jBo1Cg8++CBeffVVPPnkkxg7dix27NiBxYsXB/Q677rrLsyfPx8///wz1q9f7zuemJiImjVrYuHChUhOTsaJEycwderUEq/VtWtX2Gw2TJ8+HY899hi+/fbbQuP429/+hhtuuAENGzbEbbfdBlmWsWfPHuzfvx/PP/88Fi9eDE3TfNf697//DavVikaNGgX0espLCHeBpAsBzTPD5C6fpEpVLBXENU5ERERElYiiAHPnuv99aZeT9/acOeHfzylQNpsNmzZtQsOGDXHLLbegdevWGDNmDPLz830zUE888QTuuecejBo1Ct27d0dcXJwvka448+bNw2233YaHH34YrVq1wrhx45CTkwMAqF+/PmbMmIGpU6eibt26eOSRRwAAM2fOxNNPP420tDS0bt0aAwcOxKefforU1FQAQMOGDfHRRx9h1apVaN++PebPn49Zs2YF9DpHjBiBH3/8EfXr18dVV13lOy7LMpYuXYodO3bg8ssvx+OPP47Zs2eXeK0aNWrg3//+N9asWYO2bdviP//5j986MgAYMGAAVq9ejf/973+44oor0K1bN7z++uu+wighIQFvvvkmrrrqKrRr1w5ffPEFPvnkE9SsWTOg11MWwjOj5NJ0ODwfLl2HEO73piJJUKTC79vKQhKXNlBWcZmZmYiPj0dGRkax08VERERE4ZKfn4+jR48iNTUVFoulzNdZsQKYMME/KCIlxV00VVQUOZHwzCjpAtB04ZlVcs8rSRKKnF1yxwO6W/XkCqiiSvqeC6Y2YKseERERUSV0yy3AkCHu9LzTp91rmnr1ip6ZJqq6dCE8H4WLJVmqvK14pWHhRERERFRJKQpw9dWRHgVVdUWFOxRcr1SVi6WCWDgREREREZGfksIdZAmoXHl4ocHCiYiIiIiIChVL7thw4VuvVB2LpYJYOBERERERVVMlr1eqzOHhocfCiYiIiIioGvEVSzrcbXjVJNyhvFg4ERERERFVYQx3CA0WTkREREREVQzDHUKPhRMRERFRlFB1HZpecc+nyIBBlivuCSmsGO4QXiyciIiIiKKAquv4JT0XLk1U2HMaFQlNEmwsngLw7LPPYt68eTh37hxWrlyJVatWIT09HatWrSr2MVdffTU6dOiAOXPmhG1cDHdwq4jPNb9LiIiIiKKApgMuTUCRAJMihf1DkdzPF8wMV1ZWFiZOnIhGjRrBarWiR48e+P777/3OGT16NCRJ8vsYOHCg736Hw4F77rkHdrsdLVq0wBdffOH3+NmzZ+PRRx8NaDyZmZn4y1/+glatWsFisSApKQn9+vXDihUrIEToCtCffvoJM2bMwIIFC3D69Glcf/31mDt3LhYvXhyy5wiU8BRKqq7Dobo/nJoOVXd/IWVJgiJ5i6bAWIwG/N/HHwc8hvfefRd1a9Usw+grN844EREREUURRZYqaAZIhxbk7NbYsWOxf/9+vP/++6hXrx7+/e9/o1+/fvjxxx9Rv35933kDBw7EokWLfLfNZrPv3wsXLsSOHTuwbds2fPbZZ7jrrrtw9uxZSJKEo0eP4s0338T27dtLHUt6ejp69uyJjIwMPP/887jiiitgMBiwceNGTJkyBddccw0SEhKCen3FOXLkCABgyJAhkCSp0GsKt4IteN7ZJV+4gwQolXRWSdM0QJYhV5IZz8oxSiIiIiKKqLy8PHz00Ud4+eWX0bt3bzRr1gzPPvssmjVrhnnz5vmdazabkZSU5PtITEz03ffTTz/hpptuwmWXXYbx48fj/Pnz+P333wEADz30EF566SXY7fZSxzN9+nQcO3YM3377LUaNGoU2bdqgRYsWGDduHHbv3o3Y2FgAwIULFzBy5EgkJibCZrPh+uuvx6FDh3zXWbx4MRISErB27Vq0bt0asbGxGDhwIE6fPg3A3aJ34403AgBkWfYVTqNHj8bQoUN918nJycHIkSMRGxuL5ORkvPrqq4XG7HA4MHnyZNSvXx8xMTHo2rUrNmzYUOJYBgwYgGO/nYRT0+HSdWgCeG/xInTp0B6JsTY0SWmAiY895rtGeno6Hrz/fjRITkLtGokYcF0/7N2zp9TPp9exY8dgMRqwauVK9O93LRLtcbiiUyd8s20bAGDjxg24f+wYZGRkwGI0wGI0YOZzM3yvb+qUJ9GkUUPUiLejV4/u2Ljx4uvzzlSt/uQTdGrXFlaLBW+99RYsFgvS09P9xjFhwgRcc801AIA//vgDw4cPR/369WGz2dC2bVv85z//Cfg1hQoLJyIiIiIqlaqq0DQNFovF77jVasWWLVv8jm3YsAF16tRBy5Yt8dBDD+GPP/7w3de+fXts2bIFeXl5WLt2LZKTk1GrVi188MEHsFgsuPnmm0sdi67rWLp0KUaMGIF69eoVuj82NhYGg7uxavTo0di+fTv+7//+D9u2bYMQAoMGDYLL5fKdn5ubi1deeQXvv/8+Nm3ahBMnTmDy5MkAgMmTJ/tmz06fPu0rqC715JNPYuPGjfj444/xv//9Dxs2bMDOnTv9znnkkUewbds2LF26FHv37sXtt9+OgQMH+go5IQRyc3Px8uzZeGvRYqz96iucOPErpk2Z4p5ZkiS8vWA+Jj72KMaMGYsdu3bjwxUr0bRpU99z3HXnMJw/fw4ff7Ia2779Dh07dsT1A/rjzz//LPXzWtAzf3saj0+ahO+270DzFs0x8p67oaoqunfvgVdefQ12ux3Hfv0Nx379DY9PegIAMPGxx/DNN9/gvQ8+wPc7d+GW227DTYMH43CBQjU3Nxevzn4Z/1qwAPv278eIESOQkJCAjz76yHeOpmlYtmwZRowYAQDIz89H586d8emnn2L//v24//77cc899+C7774L6jWVm6hmMjIyBACRkZER6aEQERFRNZSXlyd+/PFHkZeX53c836WJ/ecyxc9/ZIlfLuSE/ePnP7LE/nOZIt+lBTz27t27iz59+oiTJ08KVVXF+++/L2RZFi1atPCd85///Ed8/PHHYu/evWLlypWidevW4oorrhCqqgohhHA6neLhhx8WjRs3Fl26dBGbN28Wf/zxh2jSpIk4ceKE+Mtf/iKaNm0q+vfvL3777bcix3H27FkBQLz22msljvfnn38WAMTXX3/tO/b7778Lq9Uq/vvf/wohhFi0aJEAIA4fPuw754033hB169b13V65cqW49NfmUaNGiSFDhgghhMjKyhImk8l3TSGE+OOPP4TVahUTJkwQQghx/PhxoSiKOHnypN91rr32WvHU1KnCoWpiwVtvCwBi308HRK5TFXkuVcz9+z9E3bp1Rb5LFfkuVdSrV088NW2a73bBjy/XbxB2u11kZOf4HW/StKn457/mFfmYfJcqAIj/fviRyHep4sChwwKAmLdgoe/+XXv2CgBiz779It+lioVvvS3i4+P9rvHzkV+Eoijil+Mn/I73veYa8eRTT/keB0B8u32HyHWqQtN1IYQQEyZMENdcc43vc7J27VphNpvFhQsXiv3aDh48WDzxxBO+23369PF9ri9V3PecEMHVBlzjREREREQBef/993Hfffehfv36UBQFnTp1wvDhw7Fjxw7fOXfeeafv323btkW7du3QtGlTbNiwAddeey2MRiPeeOMNv+vee++9eOyxx7Br1y6sWrUKe/bswcsvv4zHHnvMbybCSwQY/PDTTz/BYDCga9euvmM1a9ZEy5Yt8dNPP/mO2Ww2v1mb5ORknDt3LqDnANxroJxOp9/z1KhRAy1btvTd3rdvHzRN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KFkNXK9ERERERJUHCycKmaLWK8WbDYjjeiUiIiIiquRYOFG5qLo3Mtx/vVKspwXPyPVKRERERFQFsHCioPjWK2k6VCGgyBLMsoyaVjNiTAbYDFyvRERERERVDwsnKlWR65WMCuLNBtiMBlgMMtcrEREREVGVxsKJisT1SkREREREF7FwIh+uVyIiIiIiKhoLp2qM65WIiIiIiALDwqmaKXm9kgIL91ciIiIiIiqEhVM1wPVKRERERETlw8KpiipuvVKM0YAYrlciIiIiIgoKC6cqwrdeSdeh6QKyJMGscL0SEREREVEosHCqxIQQcHlmljQhYJQlWA0K7Gb3rBLXKxERERERhQYLp0qmqPVKcWYD7FyvREREREQUNiycKgHNM6vk1HXIcK9Xqmk1IdZTLJm4XomIiIiIKKxYOEUhIQRU4Q13EFA865VqWM2wGRXYjAYYuF6JiIiIiKjCsHCKEpeuVzLIEiyKjPgYI2wGBVYj1ysREREREUUKC6co4NIFMp0qTLKMOJOCOLPRvRkt1ysREREREUUFFk4RZlZk1I0xI9bkTsLjeiUiIiIioujDwinCEixGJFiMkR4GERERERGVgNMbREREREREpWDhREREREREVAoWTkRERERERKWIisLpjTfeQOPGjWGxWNC1a1d89913JZ6/fPlytGrVChaLBW3btsWaNWsqaKRERERERFQdRbxwWrZsGSZNmoRnnnkGO3fuRPv27TFgwACcO3euyPO3bt2K4cOHY8yYMdi1axeGDh2KoUOHYv/+/RU8ciIiIiIiqi4kIYSI5AC6du2KK664Av/85z8BALquIyUlBY8++iimTp1a6Pxhw4YhJycHq1ev9h3r1q0bOnTogPnz55f6fJmZmYiPj0dGRgbsdnvoXggREREREVUqwdQGEZ1xcjqd2LFjB/r16+c7Jssy+vXrh23bthX5mG3btvmdDwADBgwo9nyHw4HMzEy/DyIiIiIiomBEtHD6/fffoWka6tat63e8bt26OHPmTJGPOXPmTFDnp6WlIT4+3veRkpISmsETEREREVG1EfE1TuE2bdo0ZGRk+D5+/fXXSA+JiIiIiIgqGUMkn7xWrVpQFAVnz571O3727FkkJSUV+ZikpKSgzjebzTCbzaEZMBERERERVUsRnXEymUzo3LkzvvzyS98xXdfx5Zdfonv37kU+pnv37n7nA8C6deuKPZ+IiIiIiKi8IjrjBACTJk3CqFGj0KVLF1x55ZWYM2cOcnJycO+99wIARo4cifr16yMtLQ0AMGHCBPTp0wevvvoqBg8ejKVLl2L79u1YuHBhJF8GERERERFVYREvnIYNG4bz58/jb3/7G86cOYMOHTrg888/9wVAnDhxArJ8cWKsR48eWLJkCf76179i+vTpaN68OVatWoXLL788Ui+BiIiIiIiquIjv41TRuI8TEREREREBlWgfJyIiIiIiosqAhRMREREREVEpWDgRERERERGVgoUTERERERFRKSKeqlfRvFkYmZmZER4JERERERFFkrcmCCQvr9oVTllZWQCAlJSUCI+EiIiIiIiiQVZWFuLj40s8p9rFkeu6jlOnTiEuLg6SJEV6OMjMzERKSgp+/fVXxqNTqfh+oWDxPUPB4nuGgsX3DAUrmt4zQghkZWWhXr16fnvHFqXazTjJsowGDRpEehiF2O32iL9xqPLg+4WCxfcMBYvvGQoW3zMUrGh5z5Q20+TFcAgiIiIiIqJSsHAiIiIiIiIqBQunCDObzXjmmWdgNpsjPRSqBPh+oWDxPUPB4nuGgsX3DAWrsr5nql04BBERERERUbA440RERERERFQKFk5ERERERESlYOFERERERERUChZOREREREREpWDhFGZvvPEGGjduDIvFgq5du+K7774r8fzly5ejVatWsFgsaNu2LdasWVNBI6VoEcx75s0330SvXr2QmJiIxMRE9OvXr9T3GFU9wf6c8Vq6dCkkScLQoUPDO0CKOsG+Z9LT0zF+/HgkJyfDbDajRYsW/O9TNRPse2bOnDlo2bIlrFYrUlJS8PjjjyM/P7+CRkuRtmnTJtx4442oV68eJEnCqlWrSn3Mhg0b0KlTJ5jNZjRr1gyLFy8O+ziDxcIpjJYtW4ZJkybhmWeewc6dO9G+fXsMGDAA586dK/L8rVu3Yvjw4RgzZgx27dqFoUOHYujQodi/f38Fj5wiJdj3zIYNGzB8+HCsX78e27ZtQ0pKCvr374+TJ09W8MgpUoJ9z3gdO3YMkydPRq9evSpopBQtgn3POJ1OXHfddTh27Bg+/PBDHDx4EG+++Sbq169fwSOnSAn2PbNkyRJMnToVzzzzDH766Se8/fbbWLZsGaZPn17BI6dIycnJQfv27fHGG28EdP7Ro0cxePBg9O3bF7t378bEiRMxduxYrF27NswjDZKgsLnyyivF+PHjfbc1TRP16tUTaWlpRZ7//+3df0zV1R/H8Re/LjeIYEwB2UAB13RKhFoE5ljODS2p1ZpsOqKGEmFrjhWyubgSoOSEmj/Qkib94TJrWQ2dMylXkv0hgbOpFNyof8DNzSU/Krhwvn985933Knq/9yb3Xun52D4b99xzLu/P3Xt398W598OaNWvMU0895TKWlZVlXn755SmtE4HD0565mcPhMFFRUebDDz+cqhIRYLzpGYfDYXJyckxzc7MpKioyzzzzjA8qRaDwtGf27dtnUlNTzejoqK9KRIDxtGc2btxoli9f7jJWXl5uli5dOqV1IjBJMkePHr3jnIqKCrNgwQKXsYKCApOXlzeFlXmOHacpMjo6qo6ODq1YscI5FhwcrBUrVujs2bOTrjl79qzLfEnKy8u77XxML970zM1GRkY0Njam2NjYqSoTAcTbnnnrrbcUFxen4uJiX5SJAOJNz3z55ZfKzs7Wxo0bFR8fr4ULF2rbtm0aHx/3VdnwI296JicnRx0dHc6P89ntdh0/flxPPvmkT2rGvedeeQ8c6u8CpqurV69qfHxc8fHxLuPx8fG6fPnypGsGBgYmnT8wMDBldSJweNMzN9u8ebMSExNvefHB9ORNz5w5c0YffPCBurq6fFAhAo03PWO32/X1119r3bp1On78uHp6elRWVqaxsTHZbDZflA0/8qZn1q5dq6tXr+rxxx+XMUYOh0OlpaV8VA+3dbv3wNevX9eff/6p++67z0+VuWLHCZgm6uvrdfjwYR09elRWq9Xf5SAADQ4OqrCwUAcOHNCMGTP8XQ7uERMTE4qLi9P777+vxYsXq6CgQFu2bNH+/fv9XRoC1OnTp7Vt2zY1NTXpxx9/1GeffaZjx46ppqbG36UB/wg7TlNkxowZCgkJ0ZUrV1zGr1y5ooSEhEnXJCQkeDQf04s3PXPDzp07VV9fr1OnTumhhx6ayjIRQDztmd7eXvX19Sk/P985NjExIUkKDQ1Vd3e30tLSprZo+JU3rzOzZs1SWFiYQkJCnGPz58/XwMCARkdHZbFYprRm+Jc3PfPmm2+qsLBQ69evlySlp6dreHhYJSUl2rJli4KD+bs9XN3uPfADDzwQMLtNEjtOU8ZisWjx4sVqa2tzjk1MTKitrU3Z2dmTrsnOznaZL0lfffXVbedjevGmZyRpx44dqqmp0YkTJ7RkyRJflIoA4WnPzJs3TxcuXFBXV5fzePrpp51XMUpKSvJl+fADb15nli5dqp6eHmfIlqSff/5Zs2bNIjT9C3jTMyMjI7eEoxvB2xgzdcXinnXPvAf299UpprPDhw+b8PBw09LSYi5evGhKSkpMTEyMGRgYMMYYU1hYaCorK53z29vbTWhoqNm5c6e5dOmSsdlsJiwszFy4cMFfpwAf87Rn6uvrjcViMZ9++qnp7+93HoODg/46BfiYpz1zM66q9+/jac/8/vvvJioqyrz66qumu7vbtLa2mri4OFNbW+uvU4CPedozNpvNREVFmY8++sjY7XZz8uRJk5aWZtasWeOvU4CPDQ4Oms7OTtPZ2WkkmcbGRtPZ2Wl+++03Y4wxlZWVprCw0DnfbrebiIgI88Ybb5hLly6ZvXv3mpCQEHPixAl/ncKkCE5TbPfu3SY5OdlYLBbz6KOPmh9++MF5X25urikqKnKZf+TIEfPggw8ai8ViFixYYI4dO+bjiuFvnvTM7NmzjaRbDpvN5vvC4Teevs78L4LTv5OnPfP999+brKwsEx4eblJTU01dXZ1xOBw+rhr+5EnPjI2Nma1bt5q0tDRjtVpNUlKSKSsrM9euXfN94fCLb775ZtL3Jzf6pKioyOTm5t6y5uGHHzYWi8WkpqaagwcP+rxud4KMYc8UAAAAAO6E7zgBAAAAgBsEJwAAAABwg+AEAAAAAG4QnAAAAADADYITAAAAALhBcAIAAAAANwhOAAAAAOAGwQkAAAAA3CA4AQAAAIAbBCcAgN+8+OKLCgoKuuXo6em5K4/f0tKimJiYu/JY3vr222+Vn5+vxMREBQUF6fPPP/drPQAA7xCcAAB+tXLlSvX397scKSkp/i7rFmNjY16tGx4eVkZGhvbu3XuXKwIA+BLBCQDgV+Hh4UpISHA5QkJCJElffPGFFi1aJKvVqtTUVFVXV8vhcDjXNjY2Kj09XZGRkUpKSlJZWZmGhoYkSadPn9ZLL72kP/74w7mTtXXrVkmadOcnJiZGLS0tkqS+vj4FBQXp448/Vm5urqxWqw4dOiRJam5u1vz582W1WjVv3jw1NTXd8fxWrVql2tpaPfvss3fh2QIA+EuovwsAAGAy3333nV544QXt2rVLy5YtU29vr0pKSiRJNptNkhQcHKxdu3YpJSVFdrtdZWVlqqioUFNTk3JycvTuu++qqqpK3d3dkqT777/foxoqKyvV0NCgzMxMZ3iqqqrSnj17lJmZqc7OTm3YsEGRkZEqKiq6u08AACCgEJwAAH7V2trqEmhWrVqlTz75RNXV1aqsrHQGktTUVNXU1KiiosIZnDZt2uRcN2fOHNXW1qq0tFRNTU2yWCyKjo5WUFCQEhISvKpt06ZNeu6555y3bTabGhoanGMpKSm6ePGi3nvvPYITAExzBCcAgF898cQT2rdvn/N2ZGSkJOn8+fNqb29XXV2d877x8XH99ddfGhkZUUREhE6dOqXt27fr8uXLun79uhwOh8v9/9SSJUucPw8PD6u3t1fFxcXasGGDc9zhcCg6Ovof/y4AQGAjOAEA/CoyMlJz5869ZXxoaEjV1dUuOz43WK1W9fX1afXq1XrllVdUV1en2NhYnTlzRsXFxRodHb1jcAoKCpIxxmVssos/3AhxN+qRpAMHDigrK8tl3o3vZAEApi+CEwAgIC1atEjd3d2ThipJ6ujo0MTEhBoaGhQc/N9rHR05csRljsVi0fj4+C1rZ86cqf7+fuftX375RSMjI3esJz4+XomJibLb7Vq3bp2npwMAuMcRnAAAAamqqkqrV69WcnKynn/+eQUHB+v8+fP66aefVFtbq7lz52psbEy7d+9Wfn6+2tvbtX//fpfHmDNnjoaGhtTW1qaMjAxFREQoIiJCy5cv1549e5Sdna3x8XFt3rxZYWFhbmuqrq7Wa6+9pujoaK1cuVJ///23zp07p2vXrqm8vHzSNUNDQy7/l+rXX39VV1eXYmNjlZyc/M+eJACAz3A5cgBAQMrLy1Nra6tOnjypRx55RI899pjeeecdzZ49W5KUkZGhxsZGvf3221q4cKEOHTqk7du3uzxGTk6OSktLVVBQoJkzZ2rHjh2SpIaGBiUlJWnZsmVau3atXn/99f/rO1Hr169Xc3OzDh48qPT0dOXm5qqlpeWO/3fq3LlzyszMVGZmpiSpvLxcmZmZqqqq8vapAQD4QZC5+UPeAAAAAAAX7DgBAAAAgBsEJwAAAABwg+AEAAAAAG4QnAAAAADADYITAAAAALhBcAIAAAAANwhOAAAAAOAGwQkAAAAA3CA4AQAAAIAbBCcAAAAAcIPgBAAAAABu/AfmOXpgftAZ4QAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Bayesian Inference" + ], + "metadata": { + "id": "v0cZgX_YnwA9" + } + }, + { + "cell_type": "markdown", + "source": [ + "Now let's switch our attention to bayesian linear regression. Bayesian linear regression estimates the relationship between variables by incorporating prior knowledge or beliefs along with the observed data. Instead of providing single point estimates for the model parameters (like the slope and intercept), it calculates their probability distributions.\n", + "\n", + "`skpro` provides an implementation of Bayesian linear regression through the `BayesianLinearRegressor` class. Here, we create an instance of the `BayesianLinearRegressor` and fit it to our training data." + ], + "metadata": { + "id": "OrAkF1x4u6hn" + } + }, + { + "cell_type": "code", + "source": [ + "%timeit\n", + "y_train = pd.DataFrame(y_train)\n", + "y_train.columns = [\"target\"]\n", + "bayes_model = BayesianLinearRegressor(intercept_mu=0, intercept_sigma=10,\n", + " slopes_mu=0, slopes_sigma=10,\n", + " noise_sigma=10)\n", + "bayes_model.fit(X_train, y_train)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 177, + "referenced_widgets": [ + "5041e82f2cec4d18afadc01334823e21", + "8bf13818fd184881993e49113f14aaa4", + "aaa3b0bdfa1d49169356cde19bae9c94", + "27aa1995a5e54ad5b61296623e65ca55", + "140c47265a9d4413bcd5d6cb82c8813a", + "4afa3bbfa3e94be2b99d17c0a0d236c6" + ] + }, + "id": "yvgLcSFQiwpV", + "outputId": "2a2166e3-45ef-4eda-974b-61f5a09ca74a" + }, + "execution_count": 8, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "5041e82f2cec4d18afadc01334823e21" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [], + "text/html": [ + "
\n"
+            ]
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "\n"
+            ],
+            "text/html": [
+              "
\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "aaa3b0bdfa1d49169356cde19bae9c94" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [], + "text/html": [ + "
\n"
+            ]
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "\n"
+            ],
+            "text/html": [
+              "
\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/arviz/utils.py:184: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", + " numba_fn = numba.jit(**self.kwargs)(self.function)\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "140c47265a9d4413bcd5d6cb82c8813a" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [], + "text/html": [ + "
\n"
+            ]
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "\n"
+            ],
+            "text/html": [
+              "
\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "BayesianLinearRegressor()" + ], + "text/html": [ + "
BayesianLinearRegressor()
Please rerun this cell to show the HTML repr or trust the notebook.
" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Theory" + ], + "metadata": { + "id": "MX3zjVyq4WsM" + } + }, + { + "cell_type": "markdown", + "source": [ + "In this section, we will explore the theoretical framework used in Bayesian linear regression.\n", + "\n", + "Bayesian linear regression directly applies Bayes' Theorem to estimate the posterior distributions of the model parameters. As a reminder, here is the Bayes Theorem:\n", + "\n", + "\\begin{align*}\n", + "P(\\theta \\mid D) &= \\frac{P(D \\mid \\theta) \\times P(\\theta)}{P(D)} \\\\\n", + "\\text{posterior} &= \\frac{\\text{likelihood} \\times \\text{prior}}{\\text{marginal likelihood}}\n", + "\\end{align*}\n", + "\n", + "\n", + "Where:\n", + "\n", + "- $\\theta$ represents the model parameters, which in our case consist of the intercept $\\beta_{0}$, the slopes $\\beta$ and the noise $\\sigma$\n", + "- $D$ represents the observed training data, which consist of $\\mathbf{X}_{\\text{train}}$ and $\\mathbf{y}_{\\text{train}}$\n", + "- $P(\\theta \\mid D)$ is the posterior distribution of the parameters - given the data.\n", + "- $P(D \\mid \\theta)$ is the likelihood of the data given the parameters.\n", + "- $P(\\theta)$ is the prior distribution of the parameters.\n", + "- $P(D)$ is the marginal likelihood (evidence), a normalizing constant ensuring the posterior is a valid probability distribution.\n", + "\n" + ], + "metadata": { + "id": "NVVm_Idgo0Ac" + } + }, + { + "cell_type": "markdown", + "source": [ + "### Prior" + ], + "metadata": { + "id": "C0-M9HLMp2TZ" + } + }, + { + "cell_type": "markdown", + "source": [ + "The prior $P(\\theta)$ reflects our beliefs about the parameters before observing any data. In our case, since we don't have any strong beliefs about the parameters, we shall use weekly informative priors for our parameters:" + ], + "metadata": { + "id": "_bog-nh1p4LC" + } + }, + { + "cell_type": "markdown", + "source": [ + "\\begin{align*}\n", + "\\text{intercept} &== \\beta_{0} &\\sim \\mathcal{N}(0, 10) \\\\\n", + "\\text{slopes} &== \\beta &\\sim \\mathcal{N}(0, 10) \\\\\n", + "\\text{noise} &== \\sigma &\\sim \\text{HalfNormal}(10)\n", + "\\end{align*}\n" + ], + "metadata": { + "id": "xfpa-cWKL5aR" + } + }, + { + "cell_type": "markdown", + "source": [ + "These priors are specified when we instantiate our model: `BayesianLinearRegressor(intercept_mu=0, intercept_sigma=10,\n", + " slopes_mu=0, slopes_sigma=10,\n", + " noise_sigma=10)`" + ], + "metadata": { + "id": "6iGXbmNdqGlR" + } + }, + { + "cell_type": "markdown", + "source": [ + "We can extract the prior through the `get_prior` method of the `bayes_model`. We see that these prior distributions match the distributions we set during model instantiation." + ], + "metadata": { + "id": "zQkLzcuUAXxj" + } + }, + { + "cell_type": "code", + "source": [ + "prior = bayes_model.get_prior(\"numpy\")" + ], + "metadata": { + "id": "tMJemx6wrDyw" + }, + "execution_count": 9, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Plot the prior distributions\n", + "fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", + "\n", + "# Plot prior for intercept\n", + "axes[0].hist(prior[\"intercept\"], bins=80, density=True, alpha=0.75)\n", + "axes[0].set_title('Prior of Intercept')\n", + "axes[0].set_xlabel('Intercept')\n", + "axes[0].set_ylabel('Density')\n", + "\n", + "# Plot prior for slope\n", + "axes[1].hist(prior[\"slopes\"], bins=80, density=True, alpha=0.75)\n", + "axes[1].set_title('Prior of Slope')\n", + "axes[1].set_xlabel('Slope')\n", + "axes[1].set_ylabel('Density')\n", + "\n", + "# Plot prior for sigma\n", + "axes[2].hist(prior[\"noise\"], bins=80, density=True, alpha=0.75)\n", + "axes[2].set_title('Prior of Sigma')\n", + "axes[2].set_xlabel('Sigma')\n", + "axes[2].set_ylabel('Density')\n", + "\n", + "plt.tight_layout()\n", + "plt.show()\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 507 + }, + "id": "NsBM2sC_q9pA", + "outputId": "61572779-c2b6-4c21-c2c6-a123d5854973" + }, + "execution_count": 10, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHqCAYAAADrpwd3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB4lUlEQVR4nOzde1zUVf7H8TeIQKB4QQUxFW95F/JGuJaabJBuhhl5Wy/karlRJuUaroKXbSlL08SVqNTcMlz7GVkaRaTdRE3QzFLXXBVTQc1VEhMUvr8/fDjryIwCDgwMr+fjMY/dOd/z/c7nQM6H+cz5nuNkGIYhAAAAAAAAAABQgrO9AwAAAAAAAAAAoKqiiA4AAAAAAAAAgBUU0QEAAAAAAAAAsIIiOgAAAAAAAAAAVlBEBwAAAAAAAADACoroAAAAAAAAAABYQREdAAAAAAAAAAArKKIDAAAAAAAAAGAFRXQAAAAAAAAAAKygiA5UE+PHj5e/v7+9wyjhn//8pzp06KDatWurfv369g4HAIBqqybleicnJ82ePdsm1wIAoKKRowFQRAcqwcqVK+Xk5GR6uLu764477lBUVJRyc3PtHV657du3T+PHj1ebNm30+uuvKykpyWrf2bNny8nJSadPny7z6xw/flyzZ8/Wrl27biHaquXChQuaPXu2Nm/ebO9QAAA2QK6/4uuvv9b999+vZs2ayd3dXS1atNADDzyg1atXV1LEAACYI0dfQY4Gbo2LvQMAapK5c+eqVatWunjxor7++mstW7ZMGzdu1J49e+Th4XHDc19//XUVFxdXUqSls3nzZhUXF2vx4sVq27Zthb3O8ePHNWfOHPn7+yswMLDCXqcyXbhwQXPmzJEk9e/f377BAABspibn+rVr12r48OEKDAzUlClT1KBBAx06dEhffvmlXn/9dY0aNaqSogYAoCRydOly9G+//SYXF8qFwPX4VwFUovvvv189e/aUJP3pT3+St7e3Fi5cqA8++EAjR460eE5+fr48PT1Vu3Ztm8VRXFyswsJCubu739J1Tp48KUnVdhmXqz9bAABspSbn+tmzZ6tTp07aunWrXF1dLV4HAAB7IUeXLkffalyAo2I5F8CO7r33XknSoUOHJF1ZZ61OnTo6ePCgBg0apLp162r06NGmY9evwZafn69nnnlGzZs3l5ubm9q3b6+XX35ZhmGY9XNyclJUVJTeeecdde7cWW5ubkpNTb1hbP/4xz9Mff38/PTEE0/o7NmzpuP+/v6Ki4uTJDVu3Lhc66b1799fXbp00Y8//qgBAwbIw8NDzZo10/z58019Nm/erF69ekmSIiMjTbfgrVy50tRn27ZtCgsLU7169eTh4aF+/frpm2++MXutq8vJ/Pjjjxo1apQaNGigvn37mo6//fbb6t27tzw8PNSgQQPdc889+vTTT82u8fHHH+vuu++Wp6en6tatq8GDB+uHH34w63P1d/if//xHoaGh8vT0lJ+fn+bOnWv6vRw+fFiNGzeWJM2ZM8c0JtadAwDHU5Ny/cGDB9WrV68SH84lqUmTJjeMRZJ27typ+++/X15eXqpTp44GDhyorVu3mvW5ekv+l19+qccee0ze3t7y8vLS2LFj9d///rfENUuTuwEANRM5+orrc7Sla23evFk9e/aUu7u72rRpo9dee830GdvSWNeuXatOnTrptttuU3BwsL7//ntJ0muvvaa2bdvK3d1d/fv31+HDh83O/+qrrxQREaEWLVrIzc1NzZs319SpU/Xbb7/d8OcFVAZmogN2dPDgQUmSt7e3qe3y5csKDQ1V37599fLLL1u9rcwwDA0ZMkSbNm3ShAkTFBgYqE8++UTTpk3TsWPH9Morr5j1//zzz/Wvf/1LUVFRatSo0Q03RZk9e7bmzJmjkJAQTZ48Wfv379eyZcv07bff6ptvvlHt2rW1aNEirVq1Su+//76WLVumOnXqqFu3bmX+Gfz3v/9VWFiYHnroIT3yyCN67733NH36dHXt2lX333+/OnbsqLlz5yo2NlaTJk3S3XffLUnq06ePaVz333+/evToobi4ODk7O2vFihW699579dVXX6l3795mrxcREaF27drp73//u+mPmzlz5mj27Nnq06eP5s6dK1dXV23btk2ff/657rvvPklXNmwZN26cQkND9eKLL+rChQtatmyZ+vbtq507d5r9PIuKihQWFqa77rpL8+fPV2pqquLi4nT58mXNnTtXjRs31rJlyzR58mQNHTpUDz30kCSV6+cHAKjaalKub9mypdLT0/Xzzz/r9ttvL8NPSfrhhx909913y8vLS3/5y19Uu3Ztvfbaa+rfv7+++OILBQUFmfWPiopS/fr1NXv2bFPsR44c0ebNm00f6MuSuwEANQ85unR27typ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HDigkSNHqnXr1vLy8jIt25qdnX2LIwQcCxuLAjBz/WafTk5ON72N6/z585ozZ44eeuihEseuTfLXfjCXpNtuu+2G16xVq5YyMzNVq1Yts2N16tS5YTwAAOAKd3d3/f73v9fvf/97zZo1S3/6058UFxen8ePH2/y1rq6fvmHDBjVr1szsmJubm81fDwCA6q4i8vS1n+mdnJxu+hn/gQceUMuWLfX666/Lz89PxcXF6tKli9meJwAoogMoo9q1a6uoqMisrXv37tq/f7/atm1bpmt169ZN6enpioyMLHHszjvvVFFRkU6ePKm7777b6jUuX76sHTt2mL6F379/v86ePauOHTtKklxdXUvECwBATdWpUyezTcqu6tixo1auXKn8/HzTl97ffPONnJ2d1b59e1O/7777Tr/99pvpi/CtW7eqTp06at68uRo2bCg3NzdlZ2erX79+lTIeAAAcibU83b59e7399tsqKCgwfTF9dY+yW/HLL79o//79ev31102fu7/++utbvi7giFjOBUCZ+Pv7Kz09XTk5Ofrvf/8rSYqNjdWqVas0Z84c/fDDD9q7d6+Sk5M1c+bMG14rLi5O7777ruLi4rR37159//33evHFFyVJd9xxh0aPHq2xY8dq3bp1OnTokLZv3674+Hht2LDBdI3atWvrySef1LZt25SZmanx48frrrvuMhXV/f39dejQIe3atUunT58u1aYtAABUd7/88ovuvfdevf3229q9e7cOHTqktWvXav78+XrwwQdL9B89erTc3d01btw47dmzR5s2bdKTTz6pMWPGyMfHx9SvsLBQEyZM0I8//qiNGzcqLi5OUVFRcnZ2Vt26dfXss89q6tSpeuutt3Tw4EFlZWVpyZIleuuttypz+AAAVGllzdOjRo1ScXGxJk2apL179+qTTz7Ryy+/LOnKzPLyatCggby9vZWUlKSffvpJn3/+uaKjo8t9PcCRUUQHUCYLFixQWlqamjdvrjvvvFOSFBoaqo8++kiffvqpevXqpbvuukuvvPKKWrZsecNr9e/fX2vXrtX69esVGBioe++9V9u3bzcdX7FihcaOHatnnnlG7du3V3h4uL799lu1aNHC1MfDw0PTp0/XqFGj9Lvf/U516tTRmjVrTMeHDRumsLAwDRgwQI0bN9a7775r458IAABVT506dRQUFKRXXnlF99xzj7p06aJZs2Zp4sSJSkhIKNHfw8NDn3zyic6cOaNevXrp4Ycf1sCBA0v0HThwoNq1a6d77rlHw4cP15AhQzR79mzT8Xnz5mnWrFmKj49Xx44dFRYWpg0bNqhVq1YVPWQAAKqNsuZpr/9v745NFIiiMIz+awHmYmZsYDNOrB1oZCBMZmQTIgjm1iFoFxOOFczGC/sWVhYV95wCHjf+4N3b7+d0OuVyuWQymWS9Xqeu6yRfV6j+Vq/Xy/F4zPl8zng8znK5zHa7vfs9eGcfXdd1zx4C4B673S6LxSJt2z57FAB4e7PZLG3bfvvNHAB4rMPhkPl8ntvt9uO9MeBv2IkOAAAAAC9sv99nNBplOBzmer1mtVqlqioBHR5ERAcAAACAF9Y0Teq6TtM0GQwGmU6n2Ww2zx4L/g3rXAAAAAAAoMBhUQAAAAAAKBDRAQAAAACgQEQHAAAAAIACER0AAAAAAApEdAAAAAAAKBDRAQAAAACgQEQHAAAAAIACER0AAAAAAApEdAAAAAAAKPgEbdQOn7ISmgIAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "bayes_model.get_prior_summary()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 160 + }, + "id": "wp2NeUd5FR0b", + "outputId": "1a557f53-33c7-4090-8efd-349142dccfc3" + }, + "execution_count": 11, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "Shape validation failed: input_shape: (1, 2000), minimum_shape: (chains=2, draws=4)\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd \\\n", + "intercept 0.001 10.017 -19.801 18.383 0.221 0.164 \n", + "slopes[feature1] -0.084 10.012 -18.886 18.268 0.228 0.161 \n", + "noise 7.969 6.147 0.003 19.085 0.134 0.095 \n", + "\n", + " ess_bulk ess_tail r_hat \n", + "intercept 2052.0 1921.0 NaN \n", + "slopes[feature1] 1926.0 1926.0 NaN \n", + "noise 2069.0 1632.0 NaN " + ], + "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", + " \n", + " \n", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept0.00110.017-19.80118.3830.2210.1642052.01921.0NaN
slopes[feature1]-0.08410.012-18.88618.2680.2280.1611926.01926.0NaN
noise7.9696.1470.00319.0850.1340.0952069.01632.0NaN
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"bayes_model\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 4.625059603219545,\n \"min\": -0.084,\n \"max\": 7.969,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.001,\n -0.084,\n 7.969\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.2329035656143623,\n \"min\": 6.147,\n \"max\": 10.017,\n \"num_unique_values\": 3,\n \"samples\": [\n 10.017,\n 10.012,\n 6.147\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_3%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 11.179072427233546,\n \"min\": -19.801,\n \"max\": 0.003,\n \"num_unique_values\": 3,\n \"samples\": [\n -19.801,\n -18.886,\n 0.003\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_97%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.44225143677927575,\n \"min\": 18.268,\n \"max\": 19.085,\n \"num_unique_values\": 3,\n \"samples\": [\n 18.383,\n 18.268,\n 19.085\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.05236729259120938,\n \"min\": 0.134,\n \"max\": 0.228,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.221,\n 0.228,\n 0.134\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.039,\n \"min\": 0.095,\n \"max\": 0.164,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.164,\n 0.161,\n 0.095\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_bulk\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 78.11743296686939,\n \"min\": 1926.0,\n \"max\": 2069.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 2052.0,\n 1926.0,\n 2069.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_tail\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 168.31617074224727,\n \"min\": 1632.0,\n \"max\": 1926.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 1921.0,\n 1926.0,\n 1632.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"r_hat\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 11 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Note that, choosing the correct priors is crucial because priors influence the posterior distribution, especially with limited data. Poorly chosen priors can distort the posterior, resulting in misleading inferences and predictions.\n", + "\n", + "In the subsequent section, we will look at \"prior predictive checks\" that we can use to sanity check our chosen priors." + ], + "metadata": { + "id": "U1dsfMRXPKaC" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Likelihood" + ], + "metadata": { + "id": "357km3vOvZ5H" + } + }, + { + "cell_type": "markdown", + "source": [ + "\n", + "\n", + "The likelihood function $P(D \\mid \\theta)$ represents how likely it is to observe the given data, $D$, given a set of parameters $\\theta$.\n", + "\n", + "For linear regression, we are assume that each observed data point $y_i$ is normally distributed around its predicted value $\\beta_0 + X_i \\beta$, with variance $\\sigma^2$.\n", + " \n", + "$$P(D \\mid \\beta, \\sigma) = \\prod_{i=1}^{n} \\mathcal{N}(y_i \\mid \\beta_0 + X_i \\beta, \\sigma^2)$$\n", + "\n", + "where:\n", + "\n", + "- $y_i$ are the observed target values,\n", + "- $X_i$ are the observed feature values,\n", + "- $\\beta_0$ is the intercept,\n", + "- $\\beta$ are the slopes/regression coefficients for the features,\n", + "- $\\sigma$ is the standard deviation of the errors.\n" + ], + "metadata": { + "id": "tc1LBmZFsrdP" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Posterior" + ], + "metadata": { + "id": "NLgMBNm84GLT" + } + }, + { + "cell_type": "markdown", + "source": [ + "The posterior distribution, denoted as $P(\\theta \\mid D)$, represents the updated beliefs about the parameters $\\theta$ after observing the data $D$. PyMC obtains the posterior distribution using Markov Chain Monte Carlo (MCMC) algorithms, which iteratively explore the parameter space, generating a sequence of samples that approximate the posterior distribution.\n", + "\n", + "We can extract the posterior using the `get_posterior` method of the `bayes_model`. Note that these posterior distributions are significantly narrower than the priors set up earlier, indicating that the data has provided substantial information to refine our estimates. Additionally, observe that these posterior distributions are close to the true values, reflecting the accuracy of the model.\n" + ], + "metadata": { + "id": "AxE8vm_v4LLw" + } + }, + { + "cell_type": "code", + "source": [ + "posterior = bayes_model.get_posterior(\"numpy\")" + ], + "metadata": { + "id": "qRskX-is8n13" + }, + "execution_count": 12, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", + "\n", + "# Plot posterior for intercept\n", + "axes[0].hist(posterior[\"intercept\"], bins=80, density=True, alpha=0.75)\n", + "axes[0].axvline(TRUE_INTERCEPT, color='r', linestyle='--', linewidth=2, label=f'True Intercept: {TRUE_INTERCEPT}')\n", + "axes[0].set_title('Posterior of Intercept')\n", + "axes[0].set_xlabel('Intercept')\n", + "axes[0].set_ylabel('Density')\n", + "axes[0].legend()\n", + "\n", + "# Plot posterior for slope\n", + "axes[1].hist(posterior[\"slopes\"][0], bins=80, density=True, alpha=0.75)\n", + "axes[1].axvline(TRUE_SLOPES[0], color='r', linestyle='--', linewidth=2, label=f'True Slope: {TRUE_SLOPES[0]}')\n", + "axes[1].set_title('Posterior of Slope')\n", + "axes[1].set_xlabel('Slope')\n", + "axes[1].set_ylabel('Density')\n", + "axes[1].legend()\n", + "\n", + "# Plot posterior for sigma\n", + "axes[2].hist(posterior[\"noise\"], bins=80, density=True, alpha=0.75)\n", + "axes[2].axvline(TRUE_SIGMA, color='r', linestyle='--', linewidth=2, label=f'True Sigma: {TRUE_SIGMA}')\n", + "axes[2].set_title('Posterior of Sigma')\n", + "axes[2].set_xlabel('Sigma')\n", + "axes[2].set_ylabel('Density')\n", + "axes[2].legend()\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 507 + }, + "id": "jd21mYjJ9SQF", + "outputId": "92859ea3-62cb-4b97-9505-bff5e5d7ea78" + }, + "execution_count": 29, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAABdIAAAHqCAYAAAAAkLx0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACWp0lEQVR4nOzde1wUZf//8feCsqACnjipqJSGqXk+hFZaWaRmkmXpXbeIqd2G962RWXTwWJK3eeqEWirardHZuss0NbFfqZkalZWWpmIGeEggUFFhfn/4de9WDi64MMvyej4e89CZuWb2M7PK59oP115jMQzDEAAAAAAAAAAAKJaH2QEAAAAAAAAAAODKKKQDAAAAAAAAAFAKCukAAAAAAAAAAJSCQjoAAAAAAAAAAKWgkA4AAAAAAAAAQCkopAMAAAAAAAAAUAoK6QAAAAAAAAAAlIJCOgAAAAAAAAAApaCQDgAAAAAAAABAKSikA1VQUlKSLBaLDhw4YHYodr7++mv16NFDtWvXlsViUWpqqtkhAQDgVqpTH6B3797q3bv3ZZ8HAAAzkbsB90EhHdXChcR1YfH29tZVV12lsWPHKjMz0+mvd/LkSU2ZMkUpKSlOP7erOnv2rAYPHqw//vhDc+fO1euvv65mzZoV2zYlJUUWi0XvvPNOuV5rxowZWrVq1WVE63peeeUVJSUlmR0GALgd+gAVryx9AEk6cOCAYmJidOWVV8rb21vBwcG64YYbNHny5EqMGgDgqsjdFY/cDZRPDbMDACrTtGnTFBYWptOnT+uLL75QYmKiVq9erV27dqlWrVpOe52TJ09q6tSpklQhv439+9//riFDhshqtTr93OW1b98+HTx4UK+++qpGjhxZoa81Y8YM3X333YqKiqrQ16lMr7zyiho2bKjhw4ebHQoAuCX6ABWnLH2AvXv3qmvXrvLx8dGIESPUvHlzpaena+fOnZo5c6bt3gEAQO6uOBWVuz/99NOKDh0wFYV0VCt9+/ZVly5dJEkjR45UgwYNNGfOHH3wwQcaOnSoydFdWl5enmrXri1PT095eno67bwnT5687I7IkSNHJEl169Z1QkSV7/Tp0/Ly8pKHB1/UAQB3RB+geJXdB5g7d65yc3OVmppaZOTbhfMAACCRu0viyrnby8vrsuICXB0VI1RrN910kyRp//79kqRz585p+vTpuvLKK2W1WtW8eXM98cQTys/Ptztu+/btioyMVMOGDeXj46OwsDCNGDFC0vmvPAUEBEiSpk6davs62pQpU2zH7969W3fffbfq168vb29vdenSRR9++KHda1z4OtumTZv00EMPKTAwUE2aNLHbd/Eca6+88oratGkjq9WqRo0aKTY2VllZWXZtevfurbZt22rHjh264YYbVKtWLT3xxBOl3qfPPvtM119/vWrXrq26detq4MCB+umnn2z7hw8frl69ekmSBg8eLIvFUubf5E+ZMkUWi0V79+7V8OHDVbduXfn7+ysmJkYnT560tbNYLMrLy9OyZcts9/avo7gPHz6sESNGKCgoSFarVW3atNGSJUvsXuvC1DLJycl66qmn1LhxY9WqVUs5OTmSpK+++kr9+vVTvXr1VLt2bbVr107z58+3O0dZ3sPPP/9cDz74oBo0aCA/Pz8NGzZMJ06csLVr3ry5fvjhB23atMl2TcwrBwAViz6AOX2Affv2qUmTJsV+fTwwMLDUWKTzH9gfeOABBQUFydvbW+3bt9eyZcvs2hw4cEAWi0XPP/+85s6dq2bNmsnHx0e9evXSrl27ipzTkfcEAGA+crfr5+7i5kg/ePCg7rjjDtWuXVuBgYF6+OGHtXbtWlksFrvpdC5c63fffadevXqpVq1aatGihW1K2E2bNql79+7y8fFReHi41q9fX+R1HnroIYWHh8vHx0cNGjTQ4MGDXW5uelRtjEhHtbZv3z5JUoMGDSSd/y33smXLdPfdd+uRRx7RV199pYSEBP300096//33JZ3/AHfrrbcqICBAjz/+uOrWrasDBw7ovffekyQFBAQoMTFRY8aM0Z133qlBgwZJktq1aydJ+uGHH9SzZ081btxYjz/+uGrXrq233npLUVFRevfdd3XnnXfaxfjQQw8pICBAkyZNUl5eXonXMmXKFE2dOlV9+vTRmDFjtGfPHiUmJurrr7/Wl19+qZo1a9raHj9+XH379tWQIUN0//33KygoqMTzrl+/Xn379tUVV1yhKVOm6NSpU3rxxRfVs2dP7dy5U82bN9eDDz6oxo0ba8aMGfrXv/6lrl27lnrO0txzzz0KCwtTQkKCdu7cqddee02BgYGaOXOmJOn111/XyJEj1a1bN40ePVqSdOWVV0qSMjMzde2118pisWjs2LEKCAjQJ598ogceeEA5OTkaP3683WtNnz5dXl5emjBhgvLz8+Xl5aV169bp9ttvV0hIiMaNG6fg4GD99NNP+uijjzRu3DhJZX8Px44dq7p162rKlCm29+XgwYO2gv68efP0z3/+U3Xq1NGTTz4pSeW+fwAAx9AHMKcP0KxZM61fv16fffaZrSDiqFOnTql3797au3evxo4dq7CwML399tsaPny4srKybHn6guXLl+vPP/9UbGysTp8+rfnz5+umm27S999/b4uxrO8JAMA85O6ql7vz8vJ00003KT093fb5euXKldq4cWOx7U+cOKHbb79dQ4YM0eDBg5WYmKghQ4ZoxYoVGj9+vP7xj3/ob3/7m2bNmqW7775bhw4dkq+vr6TzD0/dvHmzhgwZoiZNmujAgQNKTExU79699eOPPzp1OiBUYwZQDSxdutSQZKxfv944evSocejQISM5Odlo0KCB4ePjY/z2229GamqqIckYOXKk3bETJkwwJBmfffaZYRiG8f777xuSjK+//rrE1zt69KghyZg8eXKRfTfffLNxzTXXGKdPn7ZtKywsNHr06GG0bNmySMzXXXedce7cuWKvZ//+/YZhGMaRI0cMLy8v49ZbbzUKCgps7V566SVDkrFkyRLbtl69ehmSjAULFlz6xhmG0aFDByMwMNA4fvy4bdu3335reHh4GMOGDbNt27hxoyHJePvtty95zuLaTp482ZBkjBgxwq7tnXfeaTRo0MBuW+3atY3o6Ogi533ggQeMkJAQ49ixY3bbhwwZYvj7+xsnT560e/0rrrjCts0wDOPcuXNGWFiY0axZM+PEiRN25ygsLLT9vazvYefOnY0zZ87Ytv/73/82JBkffPCBbVubNm2MXr16FbkmAMDloQ/gWn2AXbt2GT4+PoYko0OHDsa4ceOMVatWGXl5eUXa9urVyy43zps3z5Bk/Oc//7FtO3PmjBEREWHUqVPHyMnJMQzDMPbv329Isr2/F3z11VeGJOPhhx+2bXP0PQEAVB5yt/vk7tmzZxuSjFWrVtm2nTp1ymjVqpUhydi4cWORa125cqVt2+7duw1JhoeHh7F161bb9rVr1xqSjKVLl9q2/fWz/QVbtmwxJBnLly+/5HUCjmBqF1Qrffr0UUBAgEJDQzVkyBDVqVNH77//vho3bqzVq1dLkuLi4uyOeeSRRyRJH3/8saT/zSH20Ucf6ezZs2V6/T/++EOfffaZ7rnnHv355586duyYjh07puPHjysyMlK//PKLDh8+bHfMqFGjLjmf2vr163XmzBmNHz/ebo7vUaNGyc/Pzxb7BVarVTExMZeMNz09XampqRo+fLjq169v296uXTvdcssttnvmTP/4xz/s1q+//nodP37cNu1KSQzD0LvvvqsBAwbIMAzbvT127JgiIyOVnZ2tnTt32h0THR0tHx8f2/o333yj/fv3a/z48UXmirNYLJLK9x6OHj3abkTBmDFjVKNGjQq5fwCA4tEHOM/sPkCbNm2Umpqq+++/XwcOHND8+fMVFRWloKAgvfrqq6Ueu3r1agUHB9vNi1uzZk3961//Um5urjZt2mTXPioqSo0bN7atd+vWTd27d7fFXp73BABQecjd51Xl3L1mzRo1btxYd9xxh22bt7e3Ro0aVWz7OnXqaMiQIbb18PBw1a1bV1dffbW6d+9u237h77/++qtt218/2589e1bHjx9XixYtVLdu3SK1AKC8mNoF1crLL7+sq666SjVq1FBQUJDCw8NtievgwYPy8PBQixYt7I4JDg5W3bp1dfDgQUlSr169dNddd2nq1KmaO3euevfuraioKP3tb3+75FO49+7dK8Mw9PTTT+vpp58uts2RI0fsPvSFhYVd8rouxBYeHm633cvLS1dccYVt/wWNGzd26CEgJZ1Xkq6++mqtXbvW9gAVZ2natKnder169SSd/4qXn59ficcdPXpUWVlZWrRokRYtWlRsm4sfhHLxvb3wVcG2bduW+DrleQ9btmxpt79OnToKCQlhrjYAqET0Ac5zhT7AVVddpddff10FBQX68ccf9dFHH+nf//63Ro8erbCwMPXp06fEmFq2bFnkweBXX321XcwXXJx/L7z2W2+9Jal87wkAoPKQu8+r6rn7yiuvtA1Mu+Di9+2CJk2aFGnr7++v0NDQItsk2T177NSpU0pISNDSpUt1+PBhGYZh25edne34xQKloJCOaqVbt262p36X5OIf2sXtf+edd7R161b997//1dq1azVixAjNnj1bW7duVZ06dUo8trCwUJI0YcIERUZGFtvm4oTy19+qOktFnNNZSvrt/V+TYHEu3Nv7779f0dHRxba5MM/dBeW5D+V5DwEA5qMPUHHnLC9PT09dc801uuaaaxQREaEbb7xRK1asKPHDuLOR0wHAtZG7K+6c5VXRubukeoAjdYJ//vOfWrp0qcaPH6+IiAj5+/vLYrFoyJAhtvcSuFwU0oH/06xZMxUWFuqXX36xjWySzj/AMisrq8gTqq+99lpde+21evbZZ7Vy5Urdd999Sk5O1siRI0tM5ldccYWk819DduaHxAux7dmzx/YaknTmzBnt37+/3K/11/NebPfu3WrYsKFTR6M7qrj7GxAQIF9fXxUUFJT7ei88tHTXrl0lnqM87+Evv/yiG2+80baem5ur9PR09evXz7btUh1AAEDFoQ9Q+nkvVhF9gAuFkvT09FJj+u6771RYWGg3Kn337t12MV/wyy+/FDnHzz//rObNm0uquPcEAFDxyN2ln/diZubuH3/8UYZh2N3nvXv3Oi2OC9555x1FR0dr9uzZtm2nT59WVlaW018L1RdzpAP/50JRc968eXbb58yZI0nq37+/pPNfHbp4dHSHDh0kSfn5+ZJkexr0xT+wAwMD1bt3by1cuLDYZHP06NFyxd6nTx95eXnphRdesItt8eLFys7OtsVeViEhIerQoYOWLVtmdy27du3Sp59+alcIrky1a9cucm89PT1111136d1339WuXbuKHOPIve3UqZPCwsI0b968Iue/cF/L8x4uWrTIbj6+xMREnTt3Tn379i31mgAAlYM+QFEV1Qf4f//v/xU7R+2FeVuL+zr6Bf369VNGRobefPNN27Zz587pxRdfVJ06ddSrVy+79qtWrbKbu3bbtm366quvbPm3ot4TAEDFI3cX5Yq5OzIyUocPH9aHH35o23b69OlLzq1eHp6enkXe6xdffFEFBQVOfy1UX4xIB/5P+/btFR0drUWLFikrK0u9evXStm3btGzZMkVFRdlGFC9btkyvvPKK7rzzTl155ZX6888/9eqrr8rPz8+WmHx8fNS6dWu9+eabuuqqq1S/fn21bdtWbdu21csvv6zrrrtO11xzjUaNGqUrrrhCmZmZ2rJli3777Td9++23ZY49ICBA8fHxmjp1qm677Tbdcccd2rNnj1555RV17dpV999/f7nvy6xZs9S3b19FRETogQce0KlTp/Tiiy/K399fU6ZMKfd5L0fnzp21fv16zZkzR40aNVJYWJi6d++u5557Ths3blT37t01atQotW7dWn/88Yd27typ9evX648//ij1vB4eHkpMTNSAAQPUoUMHxcTEKCQk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IiL07LPP6siRIwoMDJQkrVu3Tn5+frZR7Y5ITU2Vh4eH7RwVhYeNAu6iVy/p1lvP/4lq46abbtL27du1fPly/fLLL5o8ebJdsvb19dWECRP08MMPa9myZdq3b5927typF198scgDPy9HYGCgfHx8tGbNGmVmZio7O1uSNHXqVCUkJOiFF17Qzz//rO+//15Lly695LxlU6ZM0ezZs/XCCy/ol19+scUsSX369FFERISioqL06aef6sCBA9q8ebOefPJJu8Tt7e2t6Ohoffvtt/p//+//6V//+pfuuece22+1mzdvru+++0579uzRsWPHbKMDhg0bpvj4+FLjS0tLU2pqqtLS0lRQUKDU1FSlpqbaRhUAAIpBX8UUFdFXSE1N1cCBA/XOO+/oxx9/1N69e7V48WItWbJEAwcOLPaYhx56SIcOHdI///lP7d69Wx988IEmT56suLg42/zo0vkcGxcXpz179uiNN97Qiy++aHtmylVXXaX77rtPw4YN03vvvaf9+/dr27ZtSkhI0Mcff2w7R6tWrfT++++XeE82btyo/v3761//+pfuuusuZWRkKCMjw+6h5QCqEfITKoCr5N8HH3xQu3fv1mOPPaaff/5Zb731lu2B3H+dSq2smjZtKi8vL7344ov69ddf9eGHH2r69OlF2t1888166aWXSjzPrbfeqtatW+vvf/+7vv32W61du1ZPPfWUYmNjbSPzt23bplatWunw/03fs2XLFs2bN0/ffvutfv31V61YscL2oNZ69eqV+5ocwYh0wF2sWGF2BDBBZGSknn76aU2cOFGnT5/WiBEjNGzYMH3//fe2NtOnT1dAQIASEhL066+/qm7duurUqZOeeOIJp8VRo0YNvfDCC5o2bZomTZqk66+/XikpKRo5cqRq1aqlWbNm6dFHH1Xt2rV1zTXXaPz48aWeLzo6WqdPn9bcuXM1YcIENWzYUHfffbek88l+9erVevLJJxUTE6OjR48qODhYN9xwg91DSlq0aKFBgwapX79++uOPP3T77bfrlVdese0fNWqUUlJS1KVLF+Xm5mrjxo3q3bu30tLS7D7QF2fSpEl2nZsLc9hdOAcAoBj0VUxREX2FJk2aqHnz5po6daoOHDggi8ViW3/44YeLPaZx48ZavXq1Hn30UbVv317169fXAw88oKeeesqu3bBhw3Tq1Cl169ZN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ADiHr6+v5s2bp3nz5pkdClwA30YCUJ2YXki/WGFhod1ULH8VERGhDRs2aPz48bZt69atK3FOden8fGxWq9XZYQJVFl+fAwAAAAAAAMrG1EJ6fHy8+vbtq6ZNm+rPP//UypUrlZKSorVr10qShg0bpsaNGyshIUGSNG7cOPXq1UuzZ89W//79lZycrO3bt2vRokVmXgYAAAAAAAAAwI2ZWkg/cuSIhg0bpvT0dPn7+6tdu3Zau3atbrnlFklSWlqa3dPAe/TooZUrV+qpp57SE088oZYtW2rVqlVq27atWZcAmObikeUhD78gz8ICFXh4mhQRAABAKTZskM6dk2q43JdiAQDVGfkJgINM/SmxePHiUvenpKQU2TZ48GANHjy4giICqq704GZmhwAAACpYlZ6LNjzc7AgAACiK/ATAQR6XbgIAAAAAAAAAQPVFIR0AAAAAAAAAgFIwARTgJnpu+1ReZ07rjJe3vux2q9nhAAAA2Fu5Ujp5UqpVS/rb38yOBgCA88hPABzEiHTATfzt3Zf14OvP6W/vvmx2KADcxOeff64BAwaoUaNGslgsWrVqVanthw8fLovFUmRp06aNrc2UKVOK7G/VqlUFXwkAlzBxojRq1Pk/AQBwFeQnAA5iRDoAAChWXl6e2rdvrxEjRmjQoEGXbD9//nw999xztvVz586pffv2RR4S3qZNG61fv962XqMG3REAAAB3UdyDsV1BlX5gNwCXwCdXAABQrL59+6pv374Ot/f395e/v79tfdWqVTpx4oRiYmLs2tWoUUPBwcFOixMAAAAAgIrG1C4AAKBCLF68WH369FGzZs3stv/yyy9q1KiRrrjiCt13331KS0sr9Tz5+fnKycmxWwAAAAAAqEwU0gEAgNP9/vvv+uSTTzRy5Ei77d27d1dSUpLWrFmjxMRE7d+/X9dff73+/PPPEs+VkJBgG+3u7++v0NDQig4fAAAAAAA7TO0CAACcbtmyZapbt66ioqLstv91qph27dqpe/fuatasmd566y098MADxZ4rPj5ecXFxtvWcnByK6cBfuOpctAAAAIA7oZAOAACcyjAMLVmyRH//+9/l5eVVatu6devqqquu0t69e0tsY7VaZbVanR0mAAAAAAAOY2oXAADgVJs2bdLevXtLHGH+V7m5udq3b59CQkIqITIAAAAAAMqHQjoAAChWbm6uUlNTlZqaKknav3+/UlNTbQ8HjY+P17Bhw4oct3jxYnXv3l1t27Ytsm/ChAnatGmTDhw4oM2bN+vOO++Up6enhg4dWqHXAgAAAADA5WBqF8BNZPk1sPsTAC7X9u3bdeONN9rWL8xTHh0draSkJKWnp9uK6hdkZ2fr3Xff1fz584s952+//aahQ4fq+PHjCggI0HXXXaetW7cqICCg4i4EgGsIDrb/EwCAS3D0OSDFtUseHeHYi5CfADiIQjrgJp58conZIQBwM71795ZhGCXuT0pKKrLN399fJ0+eLPGY5ORkZ4QGoCravt3sCAAAKIr8BMBBTO0CAAAAAAAAAEApKKQDAAAAAAAAAFAKCukAAAAAAAAAAJSCOdIBNzHyPzNVJy9HubX99Nr9j5kdDgAAgL0HH5T++EOqX19auNDsaAAAOI/8BMBBFNIBN9Hx+81qkHVUx+sGmB0KAABAUR9/LB0+LDVubHYkAAD8D/kJgIOY2gUAAAAAAAAAgFIwIh2oAoYs2mJ2CAAAAAAAAEC1xYh0AAAAAAAAAABKQSEdAAAAAAAAAIBSUEgHAAAAAAAAAKAUFNIBAAAAAAAAACgFDxsFAAAAqoHiHl6ePDrChEgAAACAqocR6QAAAAAAAAAAlIIR6YCb2Nz1FtU++afyavmaHQoAAEBRQ4dKJ05I9eqZHQkAAP9DfgLgIArpgJtYcfdYs0MAAAAo2axZZkcAAEBR5CcADmJqFwAAAAAAAAAASkEhHQAAAAAAOKR58+ayWCxFltjYWLNDAwCgQjG1C4ByG7Joi9khAADg1si1AFzN119/rYKCAtv6rl27dMstt2jw4MEmRgUAQMWjkA64idmThqhe9jGd8G+oR6Ylmx0OAACAvVatpN9/lxo1knbvNjsaAOUUEBBgt/7cc8/pyiuvVK9evUyKCLhM5CcADmJqF8BNeOefUq3TJ+Wdf8rsUAAAAIrKzZX+/PP8nwDcwpkzZ/Sf//xHI0aMkMViMTscoHzITwAcxIh0AAAAAABQZqtWrVJWVpaGDx9eYpv8/Hzl5+fb1nNyciohMgAAnI8R6QAAAAAAoMwWL16svn37qlGjRiW2SUhIkL+/v20JDQ2txAgBAHAeCukAAAAAAKBMDh48qPXr12vkyJGltouPj1d2drZtOXToUCVFCACAczG1CwAAAAAAKJOlS5cqMDBQ/fv3L7Wd1WqV1WqtpKgAAKg4FNIBEw1ZtKXItuTRESZEAgAAAACOKSws1NKlSxUdHa0aNSgrAACqB6Z2AQAAAAAADlu/fr3S0tI0YsQIs0MBAKDS8KtjAAAAAADgsFtvvVWGYZgdBgAAlYoR6QAAAAAAAAAAlIIR6YCbWHzfRNU8m6+zNXmQDwAAKJ8KfX7LggXSqVOSj49zzgcAgDOQnwA4iEI64CZ2tutpdggAAAAlu/12syMAAKAo8hMABzG1CwAAAAAAAAAApaCQDgAAAAAAAABAKZjaBXATYQd3q8a5szpXo6b2N2tldjgAAAD2duzQ02/tKNJXcdoc7AAAlMeOHdKZM5KXl9S5s9nRAHBhFNIBNzHhlcfUIOuojtcNUOzMD8wOBwAAwN7AgZp++DB9FQCAaxk4UDp8WGrcWPrtN7OjAeDCKKQDAAAAMM2QRVuKbGOUOgAAAFyNqXOkJyQkqGvXrvL19VVgYKCioqK0Z8+eUo9JSkqSxWKxW7y9vSspYgAAAAAAAABAdWNqIX3Tpk2KjY3V1q1btW7dOp09e1a33nqr8vLySj3Oz89P6enptuXgwYOVFDEAAAAAAAAAoLoxdWqXNWvW2K0nJSUpMDBQO3bs0A033FDicRaLRcHBwRUdHgAAAAAAAAAA5o5Iv1h2drYkqX79+qW2y83NVbNmzRQaGqqBAwfqhx9+KLFtfn6+cnJy7BYA5huyaIvdAsD1fP755xowYIAaNWoki8WiVatWldo+JSWlyPRrFotFGRkZdu1efvllNW/eXN7e3urevbu2bdtWgVcBAAAAAMDlc5lCemFhocaPH6+ePXuqbdu2JbYLDw/XkiVL9MEHH+g///mPCgsL1aNHD/1WwpOVExIS5O/vb1tCQ0Mr6hIAAHAreXl5at++vV5++eUyHbdnzx67KdgCAwNt+958803FxcVp8uTJ2rlzp9q3b6/IyEgdOXLE2eEDAAAAAOA0pk7t8lexsbHatWuXvvjii1LbRUREKCIiwrbeo0cPXX311Vq4cKGmT59epH18fLzi4uJs6zk5ORTTAQBwQN++fdW3b98yHxcYGKi6desWu2/OnDkaNWqUYmJiJEkLFizQxx9/rCVLlujxxx+/nHABAAAAAKgwLjEifezYsfroo4+0ceNGNWnSpEzH1qxZUx07dtTevXuL3W+1WuXn52e3AACAitOhQweFhITolltu0ZdffmnbfubMGe3YsUN9+vSxbfPw8FCfPn20ZUvJUzwxTRsAAAAAwGymFtINw9DYsWP1/vvv67PPPlNYWFiZz1FQUKDvv/9eISEhFRAhAABwVEhIiBYsWKB3331X7777rkJDQ9W7d2/t3LlTknTs2DEVFBQoKCjI7rigoKAi86j/FdO0AQAAAADMZurULrGxsVq5cqU++OAD+fr62j5E+/v7y8fHR5I0bNgwNW7cWAkJCZKkadOm6dprr1WLFi2UlZWlWbNm6eDBgxo5cqRp1wG4gkemrpTFkAyL2ZEAqK7Cw8MVHh5uW+/Ro4f27dunuXPn6vXXXy/3eZmmDXA95XpQ+E8/KWbJV/RVAACVwuFc9dNPkmFIFhIUgNKZWkhPTEyUJPXu3dtu+9KlSzV8+HBJUlpamjw8/jdw/sSJExo1apQyMjJUr149de7cWZs3b1br1q0rK2zAJZ32rm12CABQRLdu3WzPP2nYsKE8PT2VmZlp1yYzM1PBwcElnsNqtcpqtVZonAAqga+vTvnQXwEAuBhfX7MjAFBFmFpINwzjkm1SUlLs1ufOnau5c+dWUEQAAMCZUlNTbdOveXl5qXPnztqwYYOioqIkSYWFhdqwYYPGjh1rYpRA9VWukeUAAABANWRqIR0AALiu3Nxcu4d579+/X6mpqapfv76aNm2q+Ph4HT58WMuXL5ckzZs3T2FhYWrTpo1Onz6t1157TZ999pk+/fRT2zni4uIUHR2tLl26qFu3bpo3b57y8vIUExNT6dcHAAAAAICjKKQDbqLfujdU63SeTnrX1upbhpodDgA3sH37dt1444229QvzlEdHRyspKUnp6elKS0uz7T9z5oweeeQRHT58WLVq1VK7du20fv16u3Pce++9Onr0qCZNmqSMjAx16NBBa9asKfIAUgBuaM4c3b3xB/oqAFBFue23mObMkXJyJD8/6S/P5QGAi1FIB9xE//XJapB1VMfrBvDhFIBT9O7du9Rp2JKSkuzWJ06cqIkTJ17yvGPHjmUqF6A6mjNHdx8+TF8FAOBa5syRDh+WGjemkA6gVBTSAQAAAAAAqoniRpYnj44wIRIAqFo8zA4AAAAAAAAAAABXRiEdAAAAAAAAAIBSUEgHAAAAAAAAAKAUFNIBAAAAAAAAACgFhXQAAAAAAAAAAEpRw+wAANgr7gnqAAAAAAAAAMzDiHQAAAAAAAAAAErBiHTATexvGq7j9QKV41vP7FCcprjR+cmjI0yIBACA6utyvi3312MnNAiTn1ddt+qrAIC7qNbfjO7USQoNlQICzI4EgIujkA64iedj/212CAAAACWirwIAcEkffmh2BACqCKZ2AQAAAAAAAACgFIxIB1ClMN0LAAAAAAAAKhsj0gEAAAAAAAAAKAUj0gE3MeHlifL784RyfOsxBykAAHA59FUA93H48GE99thj+uSTT3Ty5Em1aNFCS5cuVZcuXcwODSi7O+6Qjh49/7BR5ksHUAoK6YCbCEvbowZZR3W8Lk8aBwAAroe+CuAeTpw4oZ49e+rGG2/UJ598ooCAAP3yyy+qV6+e2aEB5bNzp3T4sNS4sdmRAHBxFNIBAAAAAIBDZs6cqdDQUC1dutS2LSwszMSIAACoHMyRDgAAAAAAHPLhhx+qS5cuGjx4sAIDA9WxY0e9+uqrJbbPz89XTk6O3QIAQFVEIR0AAAAAADjk119/VWJiolq2bKm1a9dqzJgx+te//qVly5YV2z4hIUH+/v62JTQ0tJIjBgDAOZjaBYBLGLJoi9khAAAAALiEwsJCdenSRTNmzJAkdezYUbt27dKCBQsUHR1dpH18fLzi4uJs6zk5ORTTAQBVEiPSAQAAAACAQ0JCQtS6dWu7bVdffbXS0tKKbW+1WuXn52e3AABQFTEiHUCVV9xo9uTRESZEAgAAALi3nj17as+ePXbbfv75ZzVr1sykiAAAqByMSAcAAAAAAA55+OGHtXXrVs2YMUN79+7VypUrtWjRIsXGxpodGgAAFYpCOgAAAAAAcEjXrl31/vvv64033lDbtm01ffp0zZs3T/fdd5/ZoQEAUKGY2gVwEx/3GaJap/N00ru22aEAAIBycPcHb9NXAdzH7bffrttvv93sMADniIuTcnIk5u8HcAkU0gE3sfqWoWaHAAAAUCL6KgAAlxQXZ3YEAKoICukAAAAAAACAiv+GWPLoCBMiAeBqmCMdAAAAAAAAAIBSMCIdqCQVPe+p9+k8WQzJsEinmXsUAAC4GPoqAABXM2TRFvITAIdRSAfcxOzJf1ODrKM6XjdAsTM/MDscAAAAO/RVAACuiPwEwFFM7QIAAAAAAAAAQCkopAMAAAAAAAAAUAoK6QAAAAAAAAAAlIJCOgAAAAAAAAAApaCQDgAAAAAAAABAKSikAwAAAAAAAABQCgrpAAAAAAAAAACUoobZAQAAAADApQxZtKXItuTRESZEAgBVR3E/OwEA5cOIdAAAAAAAAAAASsGIdMBNPP/QTNU4d1bnatQ0OxQAbuLzzz/XrFmztGPHDqWnp+v9999XVFRUie3fe+89JSYmKjU1Vfn5+WrTpo2mTJmiyMhIW5spU6Zo6tSpdseFh4dr9+7dFXUZAFwEfRUAgCsiPwFwFIV0wE3sb9bK7BAAuJm8vDy1b99eI0aM0KBBgy7Z/vPPP9ctt9yiGTNmqG7dulq6dKkGDBigr776Sh07drS1a9OmjdavX29br1GD7ghQHdBXAQC4IvITAEfxyRUAABSrb9++6tu3r8Pt582bZ7c+Y8YMffDBB/rvf/9rV0ivUaOGgoODnRUmAAAAAAAVjjnSAQBAhSgsLNSff/6p+vXr223/5Zdf1KhRI11xxRW67777lJaWVup58vPzlZOTY7cAAAAAAFCZGJEOuIlO332pmmfzdbamVTvb9TQ7HADQ888/r9zcXN1zzz22bd27d1dSUpLCw8OVnp6uqVOn6vrrr9euXbvk6+tb7HkSEhKKzKsOoOqhrwIAcEXkJwCOopAOuIkHVvxbDbKO6njdAO1s94HZ4QCo5lauXKmpU6fqgw8+UGBgoG37X6eKadeunbp3765mzZrprbfe0gMPPFDsueLj4xUXF2dbz8nJUWhoaMUFD6BC0FcBALgi8hMAR1FIBwAATpWcnKyRI0fq7bffVp8+fUptW7duXV111VXau3dviW2sVqusVquzwwQAAAAAwGGmzpGekJCgrl27ytfXV4GBgYqKitKePXsuedzbb7+tVq1aydvbW9dcc41Wr15dCdECAIBLeeONNxQTE6M33nhD/fv3v2T73Nxc7du3TyEhIZUQHQAAAAAA5WNqIX3Tpk2KjY3V1q1btW7dOp09e1a33nqr8vLySjxm8+bNGjp0qB544AF98803ioqKUlRUlHbt2lWJkQMA4P5yc3OVmpqq1NRUSdL+/fuVmppqezhofHy8hg0bZmu/cuVKDRs2TLNnz1b37t2VkZGhjIwMZWdn29pMmDBBmzZt0oEDB7R582bdeeed8vT01NChQyv12gAAAAAAKAtTC+lr1qzR8OHD1aZNG7Vv315JSUlKS0vTjh07Sjxm/vz5uu222/Too4/q6quv1vTp09WpUye99NJLlRg5AADub/v27erYsaM6duwoSYqLi1PHjh01adIkSVJ6erqtqC5JixYt0rlz5xQbG6uQkBDbMm7cOFub3377TUOHDlV4eLjuueceNWjQQFu3blVAQEDlXhwAAAAAAGXgUnOkXxixVr9+/RLbbNmyxe6BY5IUGRmpVatWVWRoAKqYIYu22K0nj44wKRKg6urdu7cMwyhxf1JSkt16SkrKJc+ZnJx8mVEBAAAAAFD5XKaQXlhYqPHjx6tnz55q27Ztie0yMjIUFBRkty0oKEgZGRnFts/Pz1d+fr5tPScnxzkBAwAAAAAAAACqBVOndvmr2NhY7dq1y+kj1RISEuTv729bQkNDnXp+AAAAAAAAAIB7c4lC+tixY/XRRx9p48aNatKkSaltg4ODlZmZabctMzNTwcHBxbaPj49Xdna2bTl06JDT4gYAAAAAAAAAuD9TC+mGYWjs2LF6//339dlnnyksLOySx0RERGjDhg1229atW6eIiOLnP7ZarfLz87NbAHd02uqjk961dNrqY3YoAAAARdBXAQC4IvITAEeZOkd6bGysVq5cqQ8++EC+vr62ec79/f3l43P+B9iwYcPUuHFjJSQkSJLGjRunXr16afbs2erfv7+Sk5O1fft2LVq0yLTrAFzBI9N4gB8AAHBd9FUAAK6I/ATAUaaOSE9MTFR2drZ69+6tkJAQ2/Lmm2/a2qSlpSk9Pd223qNHD61cuVKLFi1S+/bt9c4772jVqlWlPqAUAAAAAAAAAIDyMnVEumEYl2yTkpJSZNvgwYM1ePDgCogIAAAAAAAAAAB7LvGwUQAAAAAAAAAAXJWpI9IBOM9977yk2if/VF4tX624e6zZ4QAAANihrwIAFWvIoi1mh1AlkZ8AOIoR6YCb6PH1Ot305X/V4+t1ZocCAABQBH0VwD1MmTJFFovFbmnVqpXZYQHlRn4C4ChGpAMAAAAAAIe1adNG69evt63XqEFpAQDg/sh2AAAAAADAYTVq1FBwcLDZYQAAUKmY2gUAAAAAADjsl19+UaNGjXTFFVfovvvuU1paWolt8/PzlZOTY7cAAFAVlauQ/uuvvzo7DgAA4CTkaQAAcDFn9Q+6d++upKQkrVmzRomJidq/f7+uv/56/fnnn8W2T0hIkL+/v20JDQ11ShwAAFS2chXSW7RooRtvvFH/+c9/dPr0aWfHBAAALgN5Gqg8QxZtsVsAwFU5q3/Qt29fDR48WO3atVNkZKRWr16trKwsvfXWW8W2j4+PV3Z2tm05dOhQuV8bAAAzlauQvnPnTrVr105xcXEKDg7Wgw8+qG3btjk7NgAAUA7kaQAAcLGK6h/UrVtXV111lfbu3VvsfqvVKj8/P7sFAICqqFyF9A4dOmj+/Pn6/ffftWTJEqWnp+u6665T27ZtNWfOHB09etTZcQIAAAeRpwEAwMUqqn+Qm5urffv2KSQkxMkRAwDgWi7rYaM1atTQoEGD9Pbbb2vmzJnau3evJkyYoNDQUA0bNkzp6enOihMAAJQReRpwXRdPCcO0MAAqy+X2DyZMmKBNmzbpwIED2rx5s+688055enpq6NChlXQFAACY47IK6du3b9dDDz2kkJAQzZkzRxMmTNC+ffu0bt06/f777xo4cKCz4gRwCd9c00NbO92ob67pYXYoAFwEeRqAK6GvAriGy+0f/Pbbbxo6dKjCw8N1zz33qEGDBtq6dasCAgIq6QoA5yI/AXBUjfIcNGfOHC1dulR79uxRv379tHz5cvXr108eHufr8mFhYUpKSlLz5s2dGSuAUrx2/2NmhwDARZCnAbgi+iqAuZzVP0hOTq6EaIHKQ34C4KhyFdITExM1YsQIDR8+vMR50AIDA7V48eLLCg6oyviKNgCzkKcBAMDF6B8AAHB5ylVIX7dunZo2bWr7zfUFhmHo0KFDatq0qby8vBQdHe2UIAEAgOPI0wAA4GL0DwAAuDzlmiP9yiuv1LFjx4ps/+OPPxQWFnbZQQEAgPIjTwMAgIvRPwAA4PKUa0S6YRjFbs/NzZW3t/dlBQSgfJ59doTq5hxXll8DPfnkErPDcTnFTbWTPDrChEiAikeeBuCK6KsA5qJ/ABTPkfzE50kAUhkL6XFxcZIki8WiSZMmqVatWrZ9BQUF+uqrr9ShQwenBgjAMXVzjqtB1lGzwwBgIvI0AFdGXwUwB/0DoHTkJwCOKlMh/ZtvvpF0/jfZ33//vby8vGz7vLy81L59e02YMMG5EQIAAIeQpwG4Cx7aDjgP/QMAAJyjTIX0jRs3SpJiYmI0f/58+fn5VUhQAACg7MjTAADgYvQPAABwjnLNkb506VJnxwEAAJyEPA0AAC5G/wAAgMvjcCF90KBBSkpKkp+fnwYNGlRq2/fee++yAwMAAI4jTwMAgIvRPwAAwHkcLqT7+/vLYrHY/g4AAFwHeRoAAFyM/gEAAM7jcCH9r18D4ythAAC4FvI0AAC4GP0DAACcx6M8B506dUonT560rR88eFDz5s3Tp59+6rTAAABA+ZCnAQDAxegfAABwecpVSB84cKCWL18uScrKylK3bt00e/ZsDRw4UImJiU4NEAAAlA15GgAAXIz+AQAAl8fhqV3+aufOnZo7d64k6Z133lFwcLC++eYbvfvuu5o0aZLGjBnj1CABXNrKu2Lldea0znh5mx0KAJORpwG4IvoqgLnoHwDFIz8BcFS5CuknT56Ur6+vJOnTTz/VoEGD5OHhoWuvvVYHDx50aoAAHPNlt1vNDgGAiyBPA3BF9FUAc9E/AIpHfgLgqHJN7dKiRQutWrVKhw4d0tq1a3Xrred/6Bw5ckR+fn5ODRAAAJQNeRoAAFyM/gEAAJenXIX0SZMmacKECWrevLm6d++uiIgISed/q92xY0enBggAAMqGPA0AAC5G/wAAgMtTrqld7r77bl133XVKT09X+/btbdtvvvlm3XnnnU4LDnBFQxZtKbIteXSECZHYC8k4KM/CAhV4eCo9uJnZ4QAwEXkagCuirwKYi/4BUDzyEwBHlauQLknBwcEKDg6229atW7fLDghA+Tw1919qkHVUx+sGKHbmB2aHA8BkzsjTn3/+uWbNmqUdO3YoPT1d77//vqKioko9JiUlRXFxcfrhhx8UGhqqp556SsOHD7dr8/LLL2vWrFnKyMhQ+/bt9eKLL9KHAKoB+iqA+fgcDxRV3vx08SA7VxhgB6BilauQnpeXp+eee04bNmzQkSNHVFhYaLf/119/dUpwAACg7JyVp/Py8tS+fXuNGDFCgwYNumT7/fv3q3///vrHP/6hFStWaMOGDRo5cqRCQkIUGRkpSXrzzTcVFxenBQsWqHv37po3b54iIyO1Z88eBQYGlv1iAQCAQ/gcDwDA5SlXIX3kyJHatGmT/v73vyskJEQWi8XZcQEAgHJyVp7u27ev+vbt63D7BQsWKCwsTLNnz5YkXX311friiy80d+5cWyF9zpw5GjVqlGJiYmzHfPzxx1qyZIkef/zxcsUJAAAujc/xQMVy1WlgAThPuQrpn3zyiT7++GP17NnT2fEAVVJxCRMAzGJWnt6yZYv69Oljty0yMlLjx4+XJJ05c0Y7duxQfHy8bb+Hh4f69OmjLVtK/jman5+v/Px823pOTo5zAwcAoBrgczwAAJfHozwH1atXT/Xr13d2LAAAwAnMytMZGRkKCgqy2xYUFKScnBydOnVKx44dU0FBQbFtMjIySjxvQkKC/P39bUtoaGiFxA8AgDvjczwAAJenXIX06dOna9KkSTp58qSz4wEAAJfJ3fJ0fHy8srOzbcuhQ4fMDgkAgCrH3foHAABUtnJN7TJ79mzt27dPQUFBat68uWrWrGm3f+fOnU4JDgAAlJ1ZeTo4OFiZmZl22zIzM+Xn5ycfHx95enrK09Oz2DbBwcElntdqtcpqtVZIzEBlYAo4AK6Az/EAAFyechXSo6KinBwGAABwFrPydEREhFavXm23bd26dYqIOP+QJS8vL3Xu3FkbNmywxVhYWKgNGzZo7NixlR0uAADVCp/jAQC4POUqpE+ePNnZcQAAACdxVp7Ozc3V3r17bev79+9Xamqq6tevr6ZNmyo+Pl6HDx/W8uXLJUn/+Mc/9NJLL2nixIkaMWKEPvvsM7311lv6+OOPbeeIi4tTdHS0unTpom7dumnevHnKy8tTTEyMU2IGKhIjywFUZXyOBwDg8pSrkC5JWVlZeuedd7Rv3z49+uijql+/vnbu3KmgoCA1btzYmTECAIAyckae3r59u2688UbbelxcnCQpOjpaSUlJSk9PV1pamm1/WFiYPv74Yz388MOaP3++mjRpotdee02RkZG2Nvfee6+OHj2qSZMmKSMjQx06dNCaNWuKPIAUAAA4H5/jAQAov3IV0r/77jv16dNH/v7+OnDggEaNGqX69evrvffeU1pamm1kGoDK8+QTi+VRWKhCj3I9QxiAG3FWnu7du7cMwyhxf1JSUrHHfPPNN6Wed+zYsUzlAlRD9FUAc/E5Hige+QmAo8r1UyIuLk7Dhw/XL7/8Im9vb9v2fv366fPPP3dacAAcl+XfUH/UC1SWf0OzQwFgMvI0AFdEXwUwF/0DoHjkJwCOKteI9K+//loLFy4ssr1x48bKyMi47KAAAED5kacBAMDF6B+4H57dAQCVq1wj0q1Wq3Jycops//nnnxUQEHDZQQEAgPIjTwMAgIvRPwAA4PKUq5B+xx13aNq0aTp79qwkyWKxKC0tTY899pjuuusupwYIwDE3f75K/da9oZs/X2V2KABMRp4G4IroqwDmon8AFI/8BMBR5Sqkz549W7m5uQoICNCpU6fUq1cvtWjRQr6+vnr22WedHSMABwz6eKmGvfOiBn281OxQAJiMPA3AFdFXAcxF/wAoHvkJgKPKNUe6v7+/1q1bpy+//FLffvutcnNz1alTJ/Xp08fZ8QEAgDIiTwMAgItVRP/gueeeU3x8vMaNG6d58+Y5L1gAAFxQmQvphYWFSkpK0nvvvacDBw7IYrEoLCxMwcHBMgxDFoulIuIEAAAOIE8DAICLVUT/4MLDS9u1a1cBEQMA4HrKNLWLYRi64447NHLkSB0+fFjXXHON2rRpo4MHD2r48OG68847y/Tin3/+uQYMGKBGjRrJYrFo1apVpbZPSUmRxWIpsvCEcQDlMWTRliILUJU5O08DAICqryL6B7m5ubrvvvv06quvql69ehUQNQAArqdMI9KTkpL0+eefa8OGDbrxxhvt9n322WeKiorS8uXLNWzYMIfOl5eXp/bt22vEiBEaNGiQw3Hs2bNHfn5+tvXAwECHjwUAwF05O08DgKu7+JfgyaMjTIoEcF0V0T+IjY1V//791adPHz3zzDOlts3Pz1d+fr5tPScnp2wXAACAiyjTiPQ33nhDTzzxRJHkK0k33XSTHn/8ca1YscLh8/Xt21fPPPNMmX8DHhgYqODgYNvi4VGuZ6YCAOBWnJ2nAQBA1efs/kFycrJ27typhIQEh9onJCTI39/ftoSGhjr8WgAAuJIyVaC/++473XbbbSXu79u3r7799tvLDupSOnTooJCQEN1yyy368ssvS22bn5+vnJwcuwUAAHfkKnkaAMzCtG1AUc7sHxw6dEjjxo3TihUr5O3t7dAx8fHxys7Oti2HDh1y6DgAAFxNmQrpf/zxh4KCgkrcHxQUpBMnTlx2UCUJCQnRggUL9O677+rdd99VaGioevfurZ07d5Z4DL/9BgBUF2bnaQAA4Hqc2T/YsWOHjhw5ok6dOqlGjRqqUaOGNm3apBdeeEE1atRQQUFBkWOsVqv8/PzsFgAAqqIyzZFeUFCgGjVKPsTT01Pnzp277KBKEh4ervDwcNt6jx49tG/fPs2dO1evv/56scfEx8crLi7Otp6Tk0MxHQDglszO0wAAwPU4s39w88036/vvv7fbFhMTo1atWumxxx6Tp6fnZcUKAIArK1Mh3TAMDR8+XFartdj9f32ASGXp1q2bvvjiixL3W63WEuMF3El6UKhO+tRRtl89s0MBYBJXzNMAcAF9FcAczuwf+Pr6qm3btnbbateurQYNGhTZDlQV5CcAjipTIT06OvqSbcrypG9nSE1NVUhISKW+JuCKnol7yewQAJjMFfM0AFxAXwUwB/0DoHTkJwCOKlMhfenSpU598dzcXO3du9e2vn//fqWmpqp+/fpq2rSp4uPjdfjwYS1fvlySNG/ePIWFhalNmzY6ffq0XnvtNX322Wf69NNPnRoXAABVkbPzNAAAqPoqun+QkpJSoecHAMBVlKmQ7mzbt2/XjTfeaFu/MJd5dHS0kpKSlJ6errS0NNv+M2fO6JFHHtHhw4dVq1YttWvXTuvXr7c7BwAAAABcMGTRliLbkkdHmBAJAAAAqjJTC+m9e/eWYRgl7k9KSrJbnzhxoiZOnFjBUQEAAAAAAAAA8D+mFtIBOM/YxVPkm5ulP+vU1UsPTDE7HAAAADv0VQAAroj8BMBRFNIBN3H1z9+oQdZRHa8bYHYoAAAARdBXAQC4IvITAEdRSAcAAACcpLj5uAEAAABUfR5mBwAAAAAAAAAAgCujkA4AAAAAAAAAQCkopAMAAAAAAAAAUAoK6QAAAAAAAAAAlIJCOgAAAAAAAAAApaCQDgAAAAAAAABAKSikAwAAAAAAAABQihpmBwDAOT677g7VOpWrkz51zA4FAACgCPoqAABXRH4C4CgK6YCbeHfAA2aHAAAAUCL6KgAAV1TZ+WnIoi1FtiWPjqjUGACUD1O7AAAAAAAAAABQCgrpAAAAAAAAAACUgkI6AAAAAAAAAAClYI50wE28/NhANcg6quN1AxQ78wOzwwEAALBDXwUA4IrITwAcxYh0AAAAAAAAAABKwYh0AAAAANXKkEVbimxLHh1hQiQAAHdWXL4BUHUxIh0AAAAAAAAAgFJQSAcAAAAAAAAAoBQU0gEAQIlefvllNW/eXN7e3urevbu2bdtWYtvevXvLYrEUWfr3729rM3z48CL7b7vttsq4FAAAAAAAyo050oFSMJ9Z9cOcqcD/vPnmm4qLi9OCBQvUvXt3zZs3T5GRkdqzZ48CAwOLtH/vvfd05swZ2/rx48fVvn17DR482K7dbbfdpqVLl9rWrVZrxV0EUE70AQAAZuEzCQC4JkakAwCAYs2ZM0ejRo1STEyMWrdurQULFqhWrVpasmRJse3r16+v4OBg27Ju3TrVqlWrSCHdarXatatXr15lXA4AAAAAAOVGIR0AABRx5swZ7dixQ3369LFt8/DwUJ8+fbRli2MjdRcvXqwhQ4aodu3adttTUlIUGBio8PBwjRkzRsePHy/1PPn5+crJybFbAAAAAACoTBTSAQBAEceOHVNBQYGCgoLstgcFBSkjI+OSx2/btk27du3SyJEj7bbfdtttWr58uTZs2KCZM2dq06ZN6tu3rwoKCko8V0JCgvz9/W1LaGho+S4KAAAAAIByYo50wE28PGKyapw7o3M1vMwOBQC0ePFiXXPNNerWrZvd9iFDhtj+fs0116hdu3a68sorlZKSoptvvrnYc8XHxysuLs62npOTQzEdqILoqwAAXBH5CYCjKKQDbuLH8E5mhwDAjTRs2FCenp7KzMy0256Zmang4OBSj83Ly1NycrKmTZt2yde54oor1LBhQ+3du7fEQrrVauWBpIAboK8CAHBF5CcAjmJqFwAAUISXl5c6d+6sDRs22LYVFhZqw4YNioiIKPXYt99+W/n5+br//vsv+Tq//fabjh8/rpCQkMuOGQAAAACAisKIdAAAUKy4uDhFR0erS5cu6tatm+bNm6e8vDzFxMRIkoYNG6bGjRsrISHB7rjFixcrKipKDRo0sNuem5urqVOn6q677lJwcLD27duniRMnqkWLFoqMjKy06wIuNmSRYw/QBQAAAFB9UUgH3ETrPTtt87rx1TQAznDvvffq6NGjmjRpkjIyMtShQwetWbPG9gDStLQ0eXjYf7ltz549+uKLL/Tpp58WOZ+np6e+++47LVu2TFlZWWrUqJFuvfVWTZ8+nalbgGqAvgoAwBWRnwA4ikI64CZil0xVg6yjOl43QLEzPzA7HABuYuzYsRo7dmyx+1JSUopsCw8Pl2EYxbb38fHR2rVrnRkegCqEvgoAwBWRnwA4ijnSAQAAAAAAAAAoBYV0AAAAAADgkMTERLVr105+fn7y8/NTRESEPvnkE7PDAgCgwlFIBwAAAAAADmnSpImee+457dixQ9u3b9dNN92kgQMH6ocffjA7NAAAKhRzpAMAAAAAAIcMGDDAbv3ZZ59VYmKitm7dqjZt2pgUFQAAFY9COgAAAAAAKLOCggK9/fbbysvLU0RERLFt8vPzlZ+fb1vPycmprPAAAHAqCumotoYs2mK3njy6+I4fAABwLxf3AQAAZfP9998rIiJCp0+fVp06dfT++++rdevWxbZNSEjQ1KlTKzlCAACcjznSAQAAAACAw8LDw5WamqqvvvpKY8aMUXR0tH788cdi28bHxys7O9u2HDp0qJKjBQDAORiRDgAAAAAAHObl5aUWLVpIkjp37qyvv/5a8+fP18KFC4u0tVqtslqtlR0iUOXxLXrA9TAiHQAAAAAAlFthYaHdPOgAALgjRqQDbiJ25gdmhwAAAFAi+iqAe4iPj1ffvn3VtGlT/fnnn1q5cqVSUlK0du1as0MDyoX8BMBRFNIBAAAAAIBDjhw5omHDhik9PV3+/v5q166d1q5dq1tuucXs0AAAqFAU0gEAAAAAgEMWL15sdggAAJiCQjrwfy5+kAcAAAAAAAAASBTSAbdx138Xq9apXJ30qaN3BzxgdjgAAAB26KsAAFwR+QmAoyikA27ipi8+VIOsozpeN4DkDwAAXA59FQCAK3KF/MQ35IGqwcPsAAAAAAAAAAAAcGUU0gEAAAAAAAAAKIWphfTPP/9cAwYMUKNGjWSxWLRq1apLHpOSkqJOnTrJarWqRYsWSkpKqvA4AQAAAAAAAADVl6lzpOfl5al9+/YaMWKEBg0adMn2+/fvV//+/fWPf/xDK1as0IYNGzRy5EiFhIQoMjKyEiIGAAAA4I6Km582eXSECZEAAADAFZlaSO/bt6/69u3rcPsFCxYoLCxMs2fPliRdffXV+uKLLzR37lwK6QAAAAAAAACAClGl5kjfsmWL+vTpY7ctMjJSW7bwdGMAAAAAAAAAQMUwdUR6WWVkZCgoKMhuW1BQkHJycnTq1Cn5+PgUOSY/P1/5+fm29ZycnAqPE4B7ufir3nzNGwAAAAAAoHqpUiPSyyMhIUH+/v62JTQ01OyQAAAAAAAAAABVSJUakR4cHKzMzEy7bZmZmfLz8yt2NLokxcfHKy4uzraek5NDMb0aKu7hUe7mp6s6yjc3S3/WqWt2KAAAAEXQVwEAuCLyEwBHValCekREhFavXm23bd26dYqIKHmaBavVKqvVWtGhAaZ76YEpZocAAABQIvoqAFB+1WFwmFnITwAcZerULrm5uUpNTVVqaqokaf/+/UpNTVVaWpqk86PJhw0bZmv/j3/8Q7/++qsmTpyo3bt365VXXtFbb72lhx9+2IzwAQAAAAAAAADVgKmF9O3bt6tjx47q2LGjJCkuLk4dO3bUpEmTJEnp6em2orokhYWF6eOPP9a6devUvn17zZ49W6+99poiIyNNiR8AAAAAAAAA4P5Mndqld+/eMgyjxP1JSUnFHvPNN99UYFQAAAAAAAAAAPxPlZojHUDJnpozVv45J5TtV0/PxL1kdjhurbj5CZNHF31Wg6PtAACoDuirAABcEfkJgKMopANuIiTzkBpkHVWtU7lmhwIAAFAEfRUAgCsiPwFwlKlzpAMAAAAAAAAA4OoYkQ4AAAAAAAC4MKYOBczHiHQAAAAAAAAAAErBiHQAcILiRgcAACoOo7IAAAAAVCZGpAMAAAAAAAAAUApGpAMAAABAMS7+5gPfegAAAKi+GJEOAAAAAAAAAEApKKQDAAAAAAAAAFAKpnYB3MR7/WNkzT+lfKuP2aEAcCMvv/yyZs2apYyMDLVv314vvviiunXrVmzbpKQkxcTE2G2zWq06ffq0bd0wDE2ePFmvvvqqsrKy1LNnTyUmJqply5YVeh0AzEdfBQDgishPABxFIR1wExtuiDI7BABu5s0331RcXJwWLFig7t27a968eYqMjNSePXsUGBhY7DF+fn7as2ePbd1isdjt//e//60XXnhBy5YtU1hYmJ5++mlFRkbqxx9/lLe3d4VeD6qni+e4hnnoqwAAXBH5CYCjmNoFAAAUa86cORo1apRiYmLUunVrLViwQLVq1dKSJUtKPMZisSg4ONi2BAUF2fYZhqF58+bpqaee0sCBA9WuXTstX75cv//+u1atWlUJVwQAAAAAQPkwIh0AABRx5swZ7dixQ/Hx8bZtHh4e6tOnj7ZsKXmEb25urpo1a6bCwkJ16tRJM2bMUJs2bSRJ+/fvV0ZGhvr06WNr7+/vr+7du2vLli0aMmRIxV0QqgVGnwMAAACoKBTSATdRN/uYPAoLVejhoSz/hmaHA6CKO3bsmAoKCuxGlEtSUFCQdu/eXewx4eHhWrJkidq1a6fs7Gw9//zz6tGjh3744Qc1adJEGRkZtnNcfM4L+4qTn5+v/Px823pOTk55LwuAieirAABcEfkJgKMopANu4tkZD6hB1lEdrxug2JkfmB0OgGooIiJCERERtvUePXro6quv1sKFCzV9+vRynzchIUFTp051RogATERfBQDgishPABzFHOkAAKCIhg0bytPTU5mZmXbbMzMzFRwc7NA5atasqY4dO2rv3r2SZDuurOeMj49Xdna2bTl06FBZLgUAAAAAgMtGIR0AABTh5eWlzp07a8OGDbZthYWF2rBhg92o89IUFBTo+++/V0hIiCQpLCxMwcHBdufMycnRV199Veo5rVar/Pz87BYAAAAAACoThXQAAFCsuLg4vfrqq1q2bJl++uknjRkzRnl5eYqJiZEkDRs2zO5hpNOmTdOnn36qX3/9VTt37tT999+vgwcPauTIkZIki8Wi8ePH65lnntGHH36o77//XsOGDVOjRo0UFRVlxiUCAIAySkhIUNeuXeXr66vAwEBFRUVpz549ZocFAECFY450AABQrHvvvVdHjx7VpEmTlJGRoQ4dOmjNmjW2h4WmpaXJw+N/v5M/ceKERo0apYyMDNWrV0+dO3fW5s2b1bp1a1ubiRMnKi8vT6NHj1ZWVpauu+46rVmzRt7e3pV+fQAAoOw2bdqk2NhYde3aVefOndMTTzyhW2+9VT/++KNq165tdngAAFQYCukAAKBEY8eO1dixY4vdl5KSYrc+d+5czZ07t9TzWSwWTZs2TdOmTXNWiAAAoBKtWbPGbj0pKUmBgYHasWOHbrjhBpOiqrqGLNpidggAAAdRSAcAAAAAAOWSnZ0tSapfv36x+/Pz85Wfn29bz8nJqZS4AABwNgrpAAAAAACgzAoLCzV+/Hj17NlTbdu2LbZNQkKCpk6dWsmRuS5GoANA1cXDRgEAAAAAQJnFxsZq165dSk5OLrFNfHy8srOzbcuhQ4cqMUIAAJyHEekAAAAAAKBMxo4dq48++kiff/65mjRpUmI7q9Uqq9VaiZEBAFAxKKQDbuKZh1+QZ2GBCjw8zQ4FAACgCPoqgHswDEP//Oc/9f777yslJUVhYWFmhwRcFvITAEdRSAfcRHpwM7NDAAAAKBF9FcA9xMbGauXKlfrggw/k6+urjIwMSZK/v798fHxMjg4oO/ITAEcxRzoAAAAAAHBIYmKisrOz1bt3b4WEhNiWN9980+zQAACoUIxIBwAAAAAADjEMw+wQAAAwBYV0wE303PapvM6c1hkvb33Z7VazwwEAALBDXwUA4IrITwAcRSEdcBN/e/dlNcg6quN1A0j+AADA5dBXAQC4InfLT0MWbSmyLXl0hAmRAO6HOdIBAAAAAAAAACgFI9IBAAAAwAGM8gMAAKi+GJEOAAAAAAAAAEApKKQDAAAAAAAAAFAKCukAAAAAAAAAAJSCQjoAAAAAAAAAAKXgYaMAAAAAUE7FPYC0ODyUFAAAoGqjkA634+iHGQAAAAAAAABwBIV0wE1k+TWw+xMAAMCV0FcBALii6pCfLh5wyLekgPKhkI4qjdHn//Pkk0vMDgEAAKBE9FUAAK6I/ATAUTxsFAAAAAAAAACAUlBIBwAAAAAAAACgFEztAgAAAJfGVG4AAABF0UcCKheFdMBNjPzPTNXJy1FubT+9dv9jZocDAABgh74KAMAVkZ8AOIpCOuAmOn6/WQ2yjup43QCzQwEAACiCvsqlFTeyMHl0hAmRAED1QX4C4CjmSAcAAAAAAAAAoBQU0gEAAAAAAAAAKAWFdAAAAAAAAAAASuEShfSXX35ZzZs3l7e3t7p3765t27aV2DYpKUkWi8Vu8fb2rsRoAaD8hizaUmQBAAAAAACAazO9kP7mm28qLi5OkydP1s6dO9W+fXtFRkbqyJEjJR7j5+en9PR023Lw4MFKjBgAAAAAAAAAUJ3UMDuAOXPmaNSoUYqJiZEkLViwQB9//LGWLFmixx9/vNhjLBaLgoODKzNMAAAAACi34r6Fljw6woRIAAAAUB6mFtLPnDmjHTt2KD4+3rbNw8NDffr00ZYtJU93kJubq2bNmqmwsFCdOnXSjBkz1KZNm2Lb5ufnKz8/37aek5PjvAsAgErCh28AAAAAAADzmFpIP3bsmAoKChQUFGS3PSgoSLt37y72mPDwcC1ZskTt2rVTdna2nn/+efXo0UM//PCDmjRpUqR9QkKCpk6dWiHxAwAAAAAAAFUJA7WA8jF9apeyioiIUETE//5z9+jRQ1dffbUWLlyo6dOnF2kfHx+vuLg423pOTo5CQ0MrJVY4Hw9mLNnmrreo9sk/lVfL1+xQUEYX/7umAwMAcEf0VQAAroj8BMBRphbSGzZsKE9PT2VmZtptz8zMdHgO9Jo1a6pjx47au3dvsfutVqusVutlxwq4uhV3jzU7BAAAgBLRVwEAuCLyEwBHmVpI9/LyUufOnbVhwwZFRUVJkgoLC7VhwwaNHevYD7KCggJ9//336tevXwVGiorG14oAAAAAAADMQV0GuDTTp3aJi4tTdHS0unTpom7dumnevHnKy8tTTEyMJGnYsGFq3LixEhISJEnTpk3TtddeqxYtWigrK0uzZs3SwYMHNXLkSDMvAwAAAAAAAADgpkwvpN977706evSoJk2apIyMDHXo0EFr1qyxPYA0LS1NHh4etvYnTpzQqFGjlJGRoXr16qlz587avHmzWrdubdYlAAAAAECZ8fwfAACAqsPj0k0q3tixY3Xw4EHl5+frq6++Uvfu3W37UlJSlJSUZFufO3eurW1GRoY+/vhjdezY0YSoAdcye9IQLRnXR7MnDTE7FABu5OWXX1bz5s3l7e2t7t27a9u2bSW2ffXVV3X99derXr16qlevnvr06VOk/fDhw2WxWOyW2267raIvA4ALoK8CAHBF5CcAjnKJQjqAy+edf0q1Tp+Ud/4ps0MB4CbefPNNxcXFafLkydq5c6fat2+vyMhIHTlypNj2KSkpGjp0qDZu3KgtW7YoNDRUt956qw4fPmzX7rbbblN6erpteeONNyrjcgCYjL4KAMAVkZ8AOIpCOgAAKNacOXM0atQoxcTEqHXr1lqwYIFq1aqlJUuWFNt+xYoVeuihh9ShQwe1atVKr732mu0h4n9ltVoVHBxsW+rVq1cZlwMAAAAAQLlRSAcAAEWcOXNGO3bsUJ8+fWzbPDw81KdPH23Z4ticvidPntTZs2dVv359u+0pKSkKDAxUeHi4xowZo+PHjzs1dgAAAAAAnI1COgAAKOLYsWMqKCiwPfz7gqCgIGVkZDh0jscee0yNGjWyK8bfdtttWr58uTZs2KCZM2dq06ZN6tu3rwoKCko8T35+vnJycuwWAABgjs8//1wDBgxQo0aNZLFYtGrVKrNDAgCgUtQwOwAAAOB+nnvuOSUnJyslJUXe3t627UOG/O8hTtdcc43atWunK6+8UikpKbr55puLPVdCQoKmTp1a4TEDAIBLy8vLU/v27TVixAgNGjTI7HAAAKg0jEgHAABFNGzYUJ6ensrMzLTbnpmZqeDg4FKPff755/Xcc8/p008/Vbt27Upte8UVV6hhw4bau3dviW3i4+OVnZ1tWw4dOuT4hQAAAKfq27evnnnmGd15551mhwIAQKViRDoAACjCy8tLnTt31oYNGxQVFSVJtgeHjh07tsTj/v3vf+vZZ5/V2rVr1aVLl0u+zm+//abjx48rJCSkxDZWq1VWq7XM1wDXM2RR0fn1k0dHONQOAAAAAMxEIR0AABQrLi5O0dHR6tKli7p166Z58+YpLy9PMTExkqRhw4apcePGSkhIkCTNnDlTkyZN0sqVK9W8eXPbXOp16tRRnTp1lJubq6lTp+quu+5ScHCw9u3bp4kTJ6pFixaKjIw07ToBAEDFyc/PV35+vm2dZ50AAKoqCukAAKBY9957r44ePapJkyYpIyNDHTp00Jo1a2wPIE1LS5OHx/9miUtMTNSZM2d09913251n8uTJmjJlijw9PfXdd99p2bJlysrKUqNGjXTrrbdq+vTpjDgHAMBNVZdnnTj6rSsAQNVFIR1wE4vvm6iaZ/N1tibFKADOM3bs2BKncklJSbFbP3DgQKnn8vHx0dq1a50UGYCqhr4KUD3Fx8crLi7Otp6Tk6PQ0FATIwLskZ8AOIpCOuAmdrbraXYIAAAAJaKvUj6MckVVx7NO4OrITyVz9Lk15CVUFxTSAQAAAACAQ3Jzc7V3717b+v79+5Wamqr69euradOmJkYGAEDFopAOAAAAAAAcsn37dt1444229QvTtkRHRyspKcmkqAAAqHgU0gE3EXZwt2qcO6tzNWpqf7NWZocDAABgh74K4B569+4twzDMDgNwGvITAEdRSAfcxIRXHlODrKM6XjdAsTM/MDscAAAAO/RVAACuiPwEwFEU0uGyHH2oBQAAAAAArobPtKguLv63zsNH4a48zA4AAAAAAAAAAABXxoh0AHAjxY16YTQAAAAAAADA5WFEOgAAAAAAAAAApaCQDgAAAAAAAABAKSikAwAAAAAAAABQCuZIBwAAAAA3w3NTAAAAnItCOioUHXig7Ir7fwMAAAAAAADzMLULAAAAAAAAAAClYEQ64CYembpSFkMyLGZHAgAAUBR9FQCAKyI/AXAUhXRUOqatqBinvWubHQIAADaO5nv6BdUHfRUAgCsiPwFwFFO7AAAAAAAAAABQCkakAwAA4LIwqhwAAAAXFNc3TB4dUe52gKugkA64iX7r3lCt03k66V1bq28ZanY4AAAAduirAABcEfkJgKMopMOpGJFmnv7rk9Ug66iO1w0g+VcT5Z1/mN/wAwDMQF/FeRjBBwDOQ34C4CjmSAcAAAAAAAAAoBQU0gEAAAAAAAAAKAVTuwAAAAAAAACoMEwFDHfAiHQAAAAAAAAAAErBiHQAAACUCSOKgKqJh5QCZcf/G6ByVfT/Of5P43IwIh0AAAAAAAAAgFIwIh0AAAAAqji+KQKUHSNTAQBlwYh0AAAAAAAAAABKwYh0wE3sbxqu4/UCleNbz+xQAABVAKPwUNnoqwBwF3wDxL2QnwA4ikJ6NXNxwucDs/t4PvbfZocAAABQIvoqAABXRH4C4CgK6QAAAJDECDsAAMiFAICSUEhHEY5+1ZsOBgAAAAAAAIDqgEI6AAAAAFRTjg6OYUpIAABQ3VFIB9zEhJcnyu/PE8rxrcccb3AKHkQIAHAm+ioAAFdEfgLgKArpgJsIS9ujBllHdbxugNmhAABMxsPF4YroqwAwE1OToiTkp6qH/88wi4fZAQAAAAAAAAAA4MoYkV7N8Vs8AJLjPwuY7gUAAJQFfQcAwOWq7NoVuQslYUQ6AAAAAAAAAAClcIkR6S+//LJmzZqljIwMtW/fXi+++KK6detWYvu3335bTz/9tA4cOKCWLVtq5syZ6tevXyVGXHkc/a1bRf9mjJHrgPuo6P/PrvJzqziMLCg7Z+dowzA0efJkvfrqq8rKylLPnj2VmJioli1bVsblVHnl/TdMHgdwuSq7/+Ds/MyzI5yvrH0EAHBVzsxxfOZ0b6aPSH/zzTcVFxenyZMna+fOnWrfvr0iIyN15MiRYttv3rxZQ4cO1QMPPKBvvvlGUVFRioqK0q5duyo5cgAA3FtF5Oh///vfeuGFF7RgwQJ99dVXql27tiIjI3X69OnKuiwAAHCZytpHAADAHZg+In3OnDkaNWqUYmJiJEkLFizQxx9/rCVLlujxxx8v0n7+/Pm67bbb9Oijj0qSpk+frnXr1umll17SggULKjV2yfHfNFX0b6QYaQbALBX92/uLMZK98jg7RxuGoXnz5umpp57SwIEDJUnLly9XUFCQVq1apSFDhlTexQEAgHIrax8BAAB3YGoh/cyZM9qxY4fi4+Nt2zw8PNSnTx9t2VJ8MWXLli2Ki4uz2xYZGalVq1ZVZKgAAFQrFZGj9+/fr4yMDPXp08e239/fX927d9eWLVtMK6Q78xcll/ML9vLil+kAgMpUnj5CRSIPAqgMl/OzxpHpxS7n/FVpkFd5p1pzlcFtphbSjx07poKCAgUFBdltDwoK0u7du4s9JiMjo9j2GRkZxbbPz89Xfn6+bT07O1uSlJOTczmh25w9lVdkW3HndrSdI8cBxfnTKFTN//uTfzeoChz9WenIcY5y5s9iZ+WRC+cxDMMp53OWisjRF/4sSx6XXCeXO/Nc/JxGdURfBRc48nPRWT/jK+P8rprLK0pZ+whm5HGgLMhPqGzO/nzg7JxZkcqbj13lM7npU7tUtISEBE2dOrXI9tDQ0Ap7zffGO7cd4Ij3Lvwl+7g0/hYzQwEcUt6fgc7+2ekqcfz555/y9/d37kndhCvn8so+F1CV0VfBBY78XKzon50VcX5yefHMyONAWZCfUNlc5TOtK7ic2M34TG5qIb1hw4by9PRUZmam3fbMzEwFBwcXe0xwcHCZ2sfHx9t9zbywsFB//PGHGjRoIIvFcplXUHY5OTkKDQ3VoUOH5OfnV+mvX9VwvxzHvSob7lfZcL8cV9Z7ZRiG/vzzTzVq1KgSonNcReToC39mZmYqJCTErk2HDh1KjIVcXrG4HtflTtcicT2uzJ2uRar863HVXF5RytpHcLU8XpW42/9NV8V9rhzc58rBfS67suRxUwvpXl5e6ty5szZs2KCoqChJ55Pqhg0bNHbs2GKPiYiI0IYNGzR+/HjbtnXr1ikiovh5caxWq6xWq922unXrOiP8y+Ln58c/6DLgfjmOe1U23K+y4X45riz3yhVHr1VEjg4LC1NwcLA2bNhgK5zn5OToq6++0pgxY0qMhVxeObge1+VO1yJxPa7Mna5FqtzrccVcXlHK2kdw1Txelbjb/01XxX2uHNznysF9LhtH87jpU7vExcUpOjpaXbp0Ubdu3TRv3jzl5eXZnv49bNgwNW7cWAkJCZKkcePGqVevXpo9e7b69++v5ORkbd++XYsWLTLzMgAAcDvOztEWi0Xjx4/XM888o5YtWyosLExPP/20GjVqZPsgDgAAXN+l+ggAALgj0wvp9957r44ePapJkyYpIyNDHTp00Jo1a2wPLklLS5OHh4etfY8ePbRy5Uo99dRTeuKJJ9SyZUutWrVKbdu2NesSAABwSxWRoydOnKi8vDyNHj1aWVlZuu6667RmzRp5e3tX+vUBAIDyuVQfAQAAd2R6IV2Sxo4dW+LXxFNSUopsGzx4sAYPHlzBUVUMq9WqyZMnF/lqG4rH/XIc96psuF9lw/1ynLvdK2fnaIvFomnTpmnatGnOCrHSudt7zPW4Lne6FonrcWXudC2S+12PqyqtjwDn4N9y5eA+Vw7uc+XgPlcsi2EYhtlBAAAAAAAAAADgqjwu3QQAAAAAAAAAgOqLQjoAAAAAAAAAAKWgkA4AAAAAAAAAQCkopFeAl19+Wc2bN5e3t7e6d++ubdu2ldo+KytLsbGxCgkJkdVq1VVXXaXVq1dXUrTmKuu9mjdvnsLDw+Xj46PQ0FA9/PDDOn36dCVFa67PP/9cAwYMUKNGjWSxWLRq1apLHpOSkqJOnTrJarWqRYsWSkpKqvA4XUVZ79d7772nW265RQEBAfLz81NERITWrl1bOcGarDz/ti748ssvVaNGDXXo0KHC4nM15blf+fn5evLJJ9WsWTNZrVY1b95cS5Ysqfhg4ZCK+vla1hznDBXxs2/KlCmyWCx2S6tWrSrwKv6nrNeTkpJSJFaLxaKMjAy7dma8N1LZr2f48OHFXk+bNm1sbcx6fxISEtS1a1f5+voqMDBQUVFR2rNnzyWPe/vtt9WqVSt5e3vrmmuuKdLnNQxDkyZNUkhIiHx8fNSnTx/98ssvFXUZksp3La+++qquv/561atXT/Xq1VOfPn2K/Dsq7v277bbbKvJSJJXvepKSkorE6u3tbdfGjPdGKt/19P7/7d13VFRXHgfw79BRRKyAaFBcJUYFNCqxxS6WtcWCvawlFrLWjZpEB3TtbtxdYzQaApooGD22iB3F2AuCohIiiCUKGllRASPK/PaPHN5xpM4IMwN8P+dwdN677/n73cvc+/zNzJv27XN97vTs2VNpY6zxIXqTvmtSaGgoVCoV+vbtW7wBlhK69HNh5kTKHethhqFLPxdmTaTCYyG9iG3duhUzZsyAWq3GpUuX4OnpCR8fHzx8+DDX9pmZmejSpQtu3bqF7du3Iy4uDhs2bICLi4uBIzc8Xftqy5YtmDNnDtRqNWJjYxEYGIitW7fis88+M3DkxpGeng5PT0+sWbOmUO0TExPRs2dPdOjQAdHR0Zg2bRrGjRtXZorDuvbXzz//jC5dumDfvn2IjIxEhw4d0KtXL0RFRRVzpMana19lS01NxciRI9GpU6diisw06dNfgwYNQnh4OAIDAxEXF4eQkBC4u7sXY5Ski+KYX3Vd44pKcc19DRs2RFJSkvJz8uTJ4gg/B33np7i4OK14q1evruwz1tgAuufzn//8RyuPu3fvonLlyhg4cKBWO2OMz/HjxzFlyhScPXsWhw8fxsuXL9G1a1ekp6fneczp06cxZMgQjB07FlFRUejbty/69u2Lq1evKm2WL1+O//73v1i3bh3OnTuH8uXLw8fHp1jfOKFPLhERERgyZAiOHTuGM2fOoFatWujatSvu3bun1a5bt25aYxMSElJseWTTJx8AsLe314r19u3bWvuNMTaAfvns2LFDK5erV6/C3Nw8x3PHGOND9Dp916Rbt25h1qxZaNu2rYEiLdn06eeC5kTKifUww9C1nwu7JlIhCRWpFi1ayJQpU5THWVlZUqNGDVmyZEmu7deuXStubm6SmZlpqBBNhq59NWXKFOnYsaPWthkzZkjr1q2LNU5TBEB27tyZb5tPP/1UGjZsqLXN19dXfHx8ijEy01SY/srNe++9JwEBAUUfkAnTpa98fX3liy++ELVaLZ6ensUal6kqTH/t379fKlasKCkpKYYJit5KUc2vuq5xxaGo5j5TeY4XJp9jx44JAHn8+HGebUxhbET0G5+dO3eKSqWSW7duKdtMZXwePnwoAOT48eN5thk0aJD07NlTa5u3t7d8/PHHIiKi0WjEyclJVqxYoexPTU0Va2trCQkJKZ7Ac1GYXN706tUrqVChgmzcuFHZNmrUKOnTp08xRKibwuQTFBQkFStWzHO/qYyNiH7js2rVKqlQoYKkpaUp20xlfKhs02dNevXqlbRq1Uq+/fZb/h4Xkq79XNCcSLljPcww3vZaNrc1kQqP70gvQpmZmYiMjETnzp2VbWZmZujcuTPOnDmT6zF79uxBy5YtMWXKFDg6OqJRo0ZYvHgxsrKyDBW2UejTV61atUJkZKTykZWbN29i37596NGjh0FiLmnOnDmj1b8A4OPjk2f/kjaNRoNnz56hcuXKxg7FJAUFBeHmzZtQq9XGDsXk7dmzB82aNcPy5cvh4uKC+vXrY9asWXj+/LmxQyM9FTS/6rPGmYq85r4bN26gRo0acHNzw7Bhw3Dnzh0jRVg4Xl5ecHZ2RpcuXXDq1Clle0keGwAIDAxE586d4erqqrXdFMbnyZMnAJDvulnQcycxMRHJyclabSpWrAhvb2+Djk9hcnlTRkYGXr58meOYiIgIVK9eHe7u7pg0aRJSUlKKNNbCKGw+aWlpcHV1Ra1atdCnTx9cu3ZN2WcqYwPoNz6BgYEYPHgwypcvr7XdFMaHyi5916QFCxagevXqGDt2rCHCLPH07ef85kTKifUwwyiKa9m81kQqHAtjB1CaPHr0CFlZWXB0dNTa7ujoiF9++SXXY27evImjR49i2LBh2LdvH+Lj4zF58mS8fPmyVBeo9OmroUOH4tGjR2jTpg1EBK9evcLEiRPLzK1ddJWcnJxr/z59+hTPnz+Hra2tkSIrGVauXIm0tDQMGjTI2KGYnBs3bmDOnDk4ceIELCy4jBTk5s2bOHnyJGxsbLBz5048evQIkydPRkpKCoKCgowdHumhoPn18ePHOq9xpiK3uc/b2xvBwcFwd3dHUlISAgIC0LZtW1y9ehUVKlQwYrQ5OTs7Y926dWjWrBlevHiBb7/9Fu3bt8e5c+fQtGlTva4/TMX9+/exf/9+bNmyRWu7KYyPRqPBtGnT0Lp1azRq1CjPdnk9d7LvYZ/9Z35tilthc3nT7NmzUaNGDa3/2Hbr1g0fffQR6tSpg4SEBHz22Wfo3r07zpw5A3Nz8+IIP4fC5uPu7o7vvvsOHh4eePLkCVauXIlWrVrh2rVrqFmzpkmMDaDf+Jw/fx5Xr15FYGCg1nZTGB8q2/RZk06ePInAwEBER0cbIMLSQZ9+LmhOpJxYDzOMt72WzWtNpMJjBcTINBoNqlevjvXr18Pc3Bzvv/8+7t27hxUrVnDieENERAQWL16Mr7/+Gt7e3oiPj8fUqVOxcOFCzJs3z9jhUSmyZcsWBAQEYPfu3Vr31SUgKysLQ4cORUBAAOrXr2/scEoEjUYDlUqFzZs3o2LFigCAL7/8EgMGDMDXX3/NF7XIZOQ193Xv3l35u4eHB7y9veHq6ooff/zR5N4N5+7urvX9A61atUJCQgJWrVqF77//3oiRvb2NGzfCwcEhx5fKmcL4TJkyBVevXjXYvfOLkz65LF26FKGhoYiIiND6MrrBgwcrf2/cuDE8PDxQt25dREREGOz7RQqbT8uWLdGyZUvlcatWrdCgQQN88803WLhwYXGHWWj6jE9gYCAaN26MFi1aaG03hfEh0sWzZ88wYsQIbNiwAVWrVjV2OKVaSZkTSzrWwwwvrzWRCo+F9CJUtWpVmJub48GDB1rbHzx4ACcnp1yPcXZ2hqWlpda7Hho0aIDk5GRkZmbCysqqWGM2Fn36at68eRgxYgTGjRsH4M8L3vT0dEyYMAGff/45zMx4p6LXOTk55dq/9vb2LNzlIzQ0FOPGjcO2bdtyfPyc/ryAv3jxIqKiouDn5wfgzwsgEYGFhQUOHTqEjh07GjlK0+Ls7AwXFxeliA78Oc+LCH777TfUq1fPiNGRPgqaX83NzXVe44xNl7nPwcEB9evXR3x8vIGiezstWrRQim76XH+YAhHBd999hxEjRhR4bWjo8fHz88PevXvx888/F/guvbyeO9l9n/3ngwcP4OzsrNXGy8uraAPPhS65ZFu5ciWWLl2KI0eOwMPDI9+2bm5uqFq1KuLj4w1SqNUnn2yWlpZo0qSJ8ntk7LEB9MsnPT0doaGhWLBgQYFtDT0+RLquSQkJCbh16xZ69eqlbNNoNAAACwsLxMXFoW7dusUbdAlUFGv/m3Mi5cR6mGG8ze+zLmsi5Y2VxyJkZWWF999/H+Hh4co2jUaD8PBwrVczX9e6dWvEx8crCyAA/Prrr3B2di7Vk4Y+fZWRkZGjWJ494YpI8QVbQrVs2VKrfwHg8OHDefYvASEhIRgzZgxCQkLQs2dPY4djkuzt7RETE4Po6GjlZ+LEiXB3d0d0dDS8vb2NHaLJad26Ne7fv4+0tDRl26+//gozMzN+NLSEKmh+1WeNMyZd5760tDQkJCRoFdNMWXR0tBJrSRubbMePH0d8fHyh3mFuqPEREfj5+WHnzp04evQo6tSpU+AxBT136tSpAycnJ602T58+xblz54p1fPTJBQCWL1+OhQsX4sCBA2jWrFmB7X/77TekpKSY5Ni8KSsrCzExMUqsxhob4O3y2bZtG168eIHhw4cX2NZQ40OUTdc16d13381xHd67d2906NAB0dHRqFWrliHDLzGKYu1/c06knFgPM4y3+X3WZU2kfBjta05LqdDQULG2tpbg4GC5fv26TJgwQRwcHCQ5OVlEREaMGCFz5sxR2t+5c0cqVKggfn5+EhcXJ3v37pXq1avLP//5T2OlYDC69pVarZYKFSpISEiI3Lx5Uw4dOiR169aVQYMGGSsFg3r27JlERUVJVFSUAJAvv/xSoqKi5Pbt2yIiMmfOHBkxYoTS/ubNm1KuXDn5xz/+IbGxsbJmzRoxNzeXAwcOGCsFg9K1vzZv3iwWFhayZs0aSUpKUn5SU1ONlYLB6NpXb1Kr1eLp6WmgaI1P1/569uyZ1KxZUwYMGCDXrl2T48ePS7169WTcuHHGSoHeUBzza0FrnKnkUpi5b+bMmRIRESGJiYly6tQp6dy5s1StWlUePnxYrLnok8+qVatk165dcuPGDYmJiZGpU6eKmZmZHDlyRGljrLHRJ59sw4cPF29v71zPaazxmTRpklSsWFEiIiK0fncyMjKUNm9ey506dUosLCxk5cqVEhsbK2q1WiwtLSUmJkZps3TpUnFwcJDdu3fLlStXpE+fPlKnTh15/vy5SeWydOlSsbKyku3bt2sd8+zZMxH5c6xnzZolZ86ckcTERDly5Ig0bdpU6tWrJ3/88Uex5aJvPgEBAXLw4EFJSEiQyMhIGTx4sNjY2Mi1a9e0cjb02OibT7Y2bdqIr69vju3GHB+i1+n6f+I3jRo1Svr06WOgaEsuXfu5MHMi5cR6mGHoO2/ktSaSblhILwarV6+Wd955R6ysrKRFixZy9uxZZV+7du1k1KhRWu1Pnz4t3t7eYm1tLW5ubrJo0SJ59eqVgaM2Dl366uXLl+Lv7y9169YVGxsbqVWrlkyePFkeP35s+MCN4NixYwIgx092H40aNUratWuX4xgvLy+xsrISNzc3CQoKMnjcxqJrf7Vr1y7f9qWZPr9brytrhXR9+is2NlY6d+4stra2UrNmTZkxY4ZWAYCMq7jm1/zWOFPJpTBzn6+vrzg7O4uVlZW4uLiIr6+vxMfHF3su+uSzbNky5TqhcuXK0r59ezl69GiO8xpjbPTJR0QkNTVVbG1tZf369bme01jjk1seALSeC7ld9/74449Sv359sbKykoYNG0pYWJjWfo1GI/PmzRNHR0extraWTp06SVxcnMnl4urqmusxarVaREQyMjKka9euUq1aNbG0tBRXV1cZP368QV6w0SefadOmKc8JR0dH6dGjh1y6dEnrvMYYG33zERH55ZdfBIAcOnQoxzmNOT5Eb9K1fvA6FtILT5d+LsycSLljPcwwdO3n/NZE0o1KhPfEICIiIiIiIiIiIiLKC++RTkRERERERERERESUDxbSiYiIiIiIiIiIiIjywUI6EREREREREREREVE+WEgnIiIiIiIiIiIiIsoHC+lERERERERERERERPlgIZ2IiIiIiIiIiIiIKB8spBMRERERERERERER5YOFdCIiIiIiIiIiIiKifLCQTkRERERUyqhUKuzatcvYYRAREZEOuH4TmTYW0olKgdGjR6Nv376Fbl/SFmd/f394eXkZOwwiIiKT8fvvv2PSpEl45513YG1tDScnJ/j4+ODUqVPGDo2IiIjyUND6nZSUhO7duxs5SiLKi4WxAyCikuvly5ewtLQ0dhhERERlTv/+/ZGZmYmNGzfCzc0NDx48QHh4OFJSUowdGhEREeWhoPXbycnJyBESUX74jnSiUqZ9+/b4+9//jk8//RSVK1eGk5MT/P39lf21a9cGAPTr1w8qlUp5DAC7d+9G06ZNYWNjAzc3NwQEBODVq1fKfpVKhbVr16J3794oX748Fi1aBAD46aef0Lx5c9jY2KBq1aro16+fcsyLFy8wa9YsuLi4oHz58vD29kZERISyPzg4GA4ODti1axfq1asHGxsb+Pj44O7du8r+gIAAXL58GSqVCiqVCsHBwUXeb0RERCVFamoqTpw4gWXLlqFDhw5wdXVFixYtMHfuXPTu3TvXY2JiYtCxY0fY2tqiSpUqmDBhAtLS0pT92Z9uCwgIQLVq1WBvb4+JEyciMzNTaaPRaLBkyRLUqVMHtra28PT0xPbt24s9XyIiotKgMOv3m58eP336NLy8vGBjY4NmzZph165dUKlUiI6OBgBERERApVLh4MGDaNKkCWxtbdGxY0c8fPgQ+/fvR4MGDWBvb4+hQ4ciIyNDOe+BAwfQpk0bODg4oEqVKvjrX/+KhIQEQ3YHUYnEQjpRKbRx40aUL18e586dw/Lly7FgwQIcPnwYAHDhwgUAQFBQEJKSkpTHJ06cwMiRIzF16lRcv34d33zzDYKDg5VieTZ/f3/069cPMTEx+Nvf/oawsDD069cPPXr0QFRUFMLDw9GiRQulvZ+fH86cOYPQ0FBcuXIFAwcORLdu3XDjxg2lTUZGBhYtWoRNmzbh1KlTSE1NxeDBgwEAvr6+mDlzJho2bIikpCQkJSXB19e3WPuPiIjIlNnZ2cHOzg67du3CixcvCmyfnp4OHx8fVKpUCRcuXMC2bdtw5MgR+Pn5abULDw9HbGwsIiIiEBISgh07diAgIEDZv2TJEmzatAnr1q3DtWvXMH36dAwfPhzHjx8v8hyJiIhKG13X76dPn6JXr15o3LgxLl26hIULF2L27Nm5tvX398dXX32F06dP4+7duxg0aBD+/e9/Y8uWLQgLC8OhQ4ewevVqpX16ejpmzJiBixcvIjw8HGZmZujXrx80Gk2R5UtUKgkRlXijRo2SPn36iIhIu3btpE2bNlr7mzdvLrNnz1YeA5CdO3dqtenUqZMsXrxYa9v3338vzs7OWsdNmzZNq03Lli1l2LBhucZ1+/ZtMTc3l3v37uX4t+bOnSsiIkFBQQJAzp49q+yPjY0VAHLu3DkREVGr1eLp6ZlH9kRERGXP9u3bpVKlSmJjYyOtWrWSuXPnyuXLl5X9r6/169evl0qVKklaWpqyPywsTMzMzCQ5OVlE/ryWqFy5sqSnpytt1q5dK3Z2dpKVlSV//PGHlCtXTk6fPq0Vx9ixY2XIkCHFmCkREVHpocv6vXbtWqlSpYo8f/5c2b9hwwYBIFFRUSIicuzYMQEgR44cUdosWbJEAEhCQoKy7eOPPxYfH5884/r9998FgMTExBRRpkSlE9+RTlQKeXh4aD12dnbGw4cP8z3m8uXLWLBggfIquZ2dHcaPH4+kpCStj4A1a9ZM67jo6Gh06tQp13PGxMQgKysL9evX1zrv8ePHtT42ZmFhgebNmyuP3333XTg4OCA2NrbQORMREZUl/fv3x/3797Fnzx5069YNERERaNq0aa63P4uNjYWnpyfKly+vbGvdujU0Gg3i4uKUbZ6enihXrpzyuGXLlkhLS8Pdu3cRHx+PjIwMdOnSRWtN37RpEz8KTkREVEi6rN9xcXHw8PCAjY2Nsu31T3+/7vUagKOjI8qVKwc3Nzetba/XBG7cuIEhQ4bAzc0N9vb2yi1f79y585YZEpVu/LJRolLozS8AValUBX5EKy0tDQEBAfjoo49y7Ht94X79P+EAYGtrm+85zc3NERkZCXNzc619dnZ2+cZDRERE+bOxsUGXLl3QpUsXzJs3D+PGjYNarcbo0aOL/N/Kvp96WFgYXFxctPZZW1sX+b9HRERUWhXH+v16DUClUhVYE+jVqxdcXV2xYcMG1KhRAxqNBo0aNdL6bhQiyomFdKIyyNLSEllZWVrbmjZtiri4OPzlL3/R6VweHh4IDw/HmDFjcuxr0qQJsrKy8PDhQ7Rt2zbPc7x69QoXL15UXl2Pi4tDamoqGjRoAACwsrLKES8RERFpe++997S+oCxbgwYNEBwcjPT0dOUF8VOnTsHMzAzu7u5Ku8uXL+P58+fKi+Rnz56FnZ0datWqhcqVK8Pa2hp37txBu3btDJIPERFRWZDX+u3u7o4ffvgBL168UF60zv6Os7eRkpKCuLg4bNiwQfl/+smTJ9/6vERlAW/tQlQG1a5dG+Hh4UhOTsbjx48BAPPnz8emTZsQEBCAa9euITY2FqGhofjiiy/yPZdarUZISAjUajViY2MRExODZcuWAQDq16+PYcOGYeTIkdixYwcSExNx/vx5LFmyBGFhYco5LC0t8cknn+DcuXOIjIzE6NGj8cEHHyiF9dq1ayMxMRHR0dF49OhRob6YhYiIqLRKSUlBx44d8cMPP+DKlStITEzEtm3bsHz5cvTp0ydH+2HDhsHGxgajRo3C1atXcezYMXzyyScYMWIEHB0dlXaZmZkYO3Ysrl+/jn379kGtVsPPzw9mZmaoUKECZs2ahenTp2Pjxo1ISEjApUuXsHr1amzcuNGQ6RMREZVIuq7fQ4cOhUajwYQJExAbG4uDBw9i5cqVAP58h7m+KlWqhCpVqmD9+vWIj4/H0aNHMWPGDL3PR1SWsJBOVAb961//wuHDh1GrVi00adIEAODj44O9e/fi0KFDaN68OT744AOsWrUKrq6u+Z6rffv22LZtG/bs2QMvLy907NgR58+fV/YHBQVh5MiRmDlzJtzd3dG3b19cuHAB77zzjtKmXLlymD17NoYOHYrWrVvDzs4OW7duVfb3798f3bp1Q4cOHVCtWjWEhIQUcY8QERGVHHZ2dvD29saqVavw4YcfolGjRpg3bx7Gjx+Pr776Kkf7cuXK4eDBg/jf//6H5s2bY8CAAejUqVOOtp06dUK9evXw4YcfwtfXF71794a/v7+yf+HChZg3bx6WLFmCBg0aoFu3bggLC0OdOnWKO2UiIqIST9f1297eHj/99BOio6Ph5eWFzz//HPPnzwegfftVXZmZmSE0NBSRkZFo1KgRpk+fjhUrVuh9PqKyRCUiYuwgiKjsCg4OxrRp05CammrsUIiIiMqs0aNHIzU1NdePlhMREZFp2Lx5M8aMGYMnT57k+31lRFQ8eI90IiIiIiIiIiIiE7Np0ya4ubnBxcUFly9fxuzZszFo0CAW0YmMhIV0IiIiIiIiIiIiE5OcnIz58+cjOTkZzs7OGDhwIBYtWmTssIjKLN7ahYiIiIiIiIiIiIgoH/yyUSIiIiIiIiIiIiKifLCQTkRERERERERERESUDxbSiYiIiIiIiIiIiIjywUI6EREREREREREREVE+WEgnIiIiIiIiIiIiIsoHC+lERERERERERERERPlgIZ2IiIiIiIiIiIiIKB8spBMRERERERERERER5YOFdCIiIiIiIiIiIiKifPwf6DguONnnizwAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "bayes_model.get_posterior_summary()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 143 + }, + "id": "GySjZVJp-AEW", + "outputId": "40449077-41fe-420b-8a7f-73ba0c2163a2" + }, + "execution_count": 26, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", + "intercept 1.053 0.127 0.812 1.284 0.003 0.002 1597.0 \n", + "slopes[feature1] 1.881 0.240 1.458 2.362 0.006 0.004 1581.0 \n", + "noise 0.475 0.051 0.386 0.573 0.001 0.001 2614.0 \n", + "\n", + " ess_tail r_hat \n", + "intercept 1823.0 1.0 \n", + "slopes[feature1] 1947.0 1.0 \n", + "noise 2406.0 1.0 " + ], + "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", + " \n", + " \n", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept1.0530.1270.8121.2840.0030.0021597.01823.01.0
slopes[feature1]1.8810.2401.4582.3620.0060.0041581.01947.01.0
noise0.4750.0510.3860.5730.0010.0012614.02406.01.0
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"bayes_model\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7066946535338536,\n \"min\": 0.475,\n \"max\": 1.881,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.053,\n 1.881,\n 0.475\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.09510169994975554,\n \"min\": 0.051,\n \"max\": 0.24,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.127,\n 0.24,\n 0.051\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_3%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5397493245325401,\n \"min\": 0.386,\n \"max\": 1.458,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.812,\n 1.458,\n 0.386\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_97%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.9007520931606728,\n \"min\": 0.573,\n \"max\": 2.362,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.284,\n 2.362,\n 0.573\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.002516611478423583,\n \"min\": 0.001,\n \"max\": 0.006,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.003,\n 0.006,\n 0.001\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0015275252316519468,\n \"min\": 0.001,\n \"max\": 0.004,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.002,\n 0.004,\n 0.001\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_bulk\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 591.8380972304278,\n \"min\": 1581.0,\n \"max\": 2614.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 1597.0,\n 1581.0,\n 2614.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_tail\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 307.1226682179831,\n \"min\": 1823.0,\n \"max\": 2406.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 1823.0,\n 1947.0,\n 2406.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"r_hat\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0,\n \"min\": 1.0,\n \"max\": 1.0,\n \"num_unique_values\": 1,\n \"samples\": [\n 1.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 26 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Additionally, note that apart from using the convenience functions provided by the BayesianLinearRegressor, such as `get_posterior_summary`, you can directly access the `trace` attribute of the model instance. This `trace` object contains the samples generated by the MCMC algorithms, capturing the posterior distribution of the model parameters.\n", + "\n", + "Once you have the `trace` object, you can use the `arviz` library to analyze and visualize any distributions created during the model's lifetime, such as the prior and posterior distributions. `arviz` provides a rich set of tools for diagnostics, plotting, and summarizing the results of Bayesian models. This allows for a thorough examination of the model's behavior and the reliability of the inferred parameters.\n", + "\n", + "For example, here, we use `arviz`'s `plot_posterior` to plot the posterior distribution of the `intercept ` variable." + ], + "metadata": { + "id": "Uogi7LOhH7oR" + } + }, + { + "cell_type": "code", + "source": [ + "az.plot_posterior(bayes_model.trace, var_names = \"intercept\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 530 + }, + "id": "4nYXl4CWNo6r", + "outputId": "bfce2215-6b77-471f-ca59-d4bdabc221cb" + }, + "execution_count": 30, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/arviz/utils.py:184: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", + " numba_fn = numba.jit(**self.kwargs)(self.function)\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 30 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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MBiQUdJ1I7g72GBYMO9GoM6nUEi4qWHBru1neXcCWQ4GAzJK+m6EcB9YKfljSvLQDXrddT6H3QlkMfiKS0anTq3BDiPtRjh//jzuv/9++Pr6QqVSISgoCE899RTy8/NbfI558+ZBkiRIkoQDBw402a/RaLBw4UL4+fnBzs4OkZGROH36dLPnqq+vR79+/XDDDTe0aTVAXR3XsmbNGkiShLlz5za7/coPBwcH+Pn5ITIyEi+//DLOnTvX6vMakyHdusDH2RZl1fWcIpksBoMBGZ3DSQUoauhGGG5E3Qh//vknhgwZgu+//x6urq645ZZboFKpsHLlSgwcOBDp6enXPcfu3buxatWqa74Z//vf/8bixYvh4uKCSZMm4dChQ7jxxhtRVtZ0tb/ly5cjLi4OK1eulG266NDQUERFRSEqKgq33XYbwsPDce7cObz//vsIDw/HAw88gNLSUllqay+FQsJtA/0AAD+fypC5GqLOwWBARscYuxEqKytx3333obKyEgsXLsT58+fx008/4cKFC1iwYAHS09Mxb968a56juroajz76KPr27YuRI0c2e0xdXR3ef/99REREICYmBps2bcKqVauQl5eH//znP42OzcnJwVtvvYVHH30UAwcONNhzba3Ro0djzZo1WLNmDb7//nvs3LkTubm52Lx5M4KCgvDdd99h+vTpqKurk63G9pg1MAAAsOdiLtdOIItgHK+6RA3q1RrsaFg0yZi6EX7++Wfk5OSgV69eWLRokX67JEn417/+haCgIOzcuROxsbFXPcfixYuRkJCAzz//HNbW1s0ek5KSguLiYtxzzz1QqVQAgHvvvRe2traIiYlpdOxLL70Ea2tr/POf/2z/EzQwSZJwyy234MiRI/Dz88PevXvx2WefyV1Wm/TycUJvX2fUqQV+O8M5Dcj8MRiQUTmUVIDCilq4GVk3wokTJwAAY8eOhULR+NfG2toao0aNAgD8+uuvzX79mTNn8MEHH+Chhx7C6NGjr/o4RUVFAIAuXbrotykUCri4uOj3AUB0dDS++eYbvPfee3BzM57r9HdeXl545513AACffPKJzNW03ayB/gCAX9idQBaAwYCMyqaYTADA1H7G040AABUVFQAav2Ffyd1dOzNjcy0GGo0GjzzyCFxdXfH+++9f83G6du0KALh06ZJ+W1FREfLy8vT7NBoNnnrq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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Model checking\n", + "\n" + ], + "metadata": { + "id": "n70jIDv3EKBo" + } + }, + { + "cell_type": "markdown", + "source": [ + "Before using our Bayesian model to make predictions, it is advisable to perform some sanity checks to ascertain the correctness of the model set up and the assumptions. This section describes some of the most commonly used checks." + ], + "metadata": { + "id": "M2VKn5Kg3iBv" + } + }, + { + "cell_type": "markdown", + "source": [ + "## `graphviz` Visualization" + ], + "metadata": { + "id": "_J-ZmDE2sGOm" + } + }, + { + "cell_type": "markdown", + "source": [ + "One way to understand the `bayes_model` is to visualize its composition using the `.visualize_model` method. This method uses the `graphviz` library to generate a graphical representation of the model, illustrating the relationships and dependencies between the priors, likelihood, data and the posterior.\n", + "\n", + "\n", + "The graphviz diagram will show the following:\n", + "\n", + "- Ovals indicate stochastic nodes (random variables).\n", + "- Rectangles represent deterministic nodes (computed values).\n", + "- Shaded shapes (like the shaded ovals for X and y) indicate observed data or fixed inputs.\n", + "- Unshaded shapes represent latent variables or parameters that the model is trying to infer." + ], + "metadata": { + "id": "fZZb1BcpLAo7" + } + }, + { + "cell_type": "code", + "source": [ + "bayes_model.visualize_model()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 624 + }, + "id": "Hs4FcW38-66-", + "outputId": "dab0a1ef-c8d4-410a-c0c6-0d6de935f538" + }, + "execution_count": 31, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "image/svg+xml": "\n\n\n\n\n\n%3\n\n\nclusterobs_id (50) x pred_id (1)\n\nobs_id (50) x pred_id (1)\n\n\nclusterobs_id (50)\n\nobs_id (50)\n\n\nclusterpred_id (1)\n\npred_id (1)\n\n\ncluster50\n\n50\n\n\n\nX\n\nX\n~\nData\n\n\n\nmu\n\nmu\n~\nDeterministic\n\n\n\nX->mu\n\n\n\n\n\ny\n\ny\n~\nData\n\n\n\ny_obs\n\ny_obs\n~\nNormal\n\n\n\ny_obs->y\n\n\n\n\n\nintercept\n\nintercept\n~\nNormal\n\n\n\nintercept->mu\n\n\n\n\n\nnoise\n\nnoise\n~\nHalfNormal\n\n\n\nnoise->y_obs\n\n\n\n\n\nslopes\n\nslopes\n~\nNormal\n\n\n\nslopes->mu\n\n\n\n\n\nmu->y_obs\n\n\n\n\n\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 31 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Posterior Predictive Check\n" + ], + "metadata": { + "id": "D8VaZ4EE9NEV" + } + }, + { + "cell_type": "markdown", + "source": [ + "A posterior predictive check (PPC) is a method used in Bayesian statistics to assess the fit of a model by comparing observed data to data simulated from the model. It involves generating new data sets from the posterior distribution of the model parameters and comparing these to the actual observed data. This process helps to identify discrepancies between the model predictions and the observed data, thereby providing a way to evaluate the adequacy of the model." + ], + "metadata": { + "id": "ytujeec43zoq" + } + }, + { + "cell_type": "markdown", + "source": [ + "The `BayesianLinearRegressor` class provides a convenient method, `plot_ppc` to visually perform PPC.\n", + "\n", + "The resulting plot will show the following components:\n", + "\n", + "1. **Blue Lines**: represent the posterior predictive samples, which are the range of possible values that the model predicts for the observed data, given the posterior distribution of the parameters.\n", + "\n", + "2. **Black Line**: represents the density of the observed data values, i.e. the actual distribution of the data.\n", + "\n", + "3. **Orange Dashed Line**: represents the mean of the posterior predictive distribution, whichprovides a central tendency of the model's predictions.\n", + "\n", + "The plot is used to visually assess the goodness of fit of the Bayesian model. By comparing the observed data distribution (black line) to the posterior predictive samples (blue lines) and their mean (orange dashed line), we can see if there are significant discrepancies. If the observed data closely follows the central tendency and falls within the range of the posterior predictive samples (like what we see in the plot below), it suggests that the model fits the data well.\n" + ], + "metadata": { + "id": "UJcKVLBVLZoG" + } + }, + { + "cell_type": "code", + "source": [ + "bayes_model.plot_ppc()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 530 + }, + "id": "gF7Fsraqr9FG", + "outputId": "618e9e70-4fdd-4983-cb4d-274a06f46358" + }, + "execution_count": 33, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/IPython/core/events.py:89: UserWarning: Creating legend with loc=\"best\" can be slow with large amounts of data.\n", + " func(*args, **kwargs)\n", + "/usr/local/lib/python3.10/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Creating legend with loc=\"best\" can be slow with large amounts of data.\n", + " fig.canvas.print_figure(bytes_io, **kw)\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAG8CAYAAABDr6ZqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9eZhlVX3vAX/2vM9Yp+aqrp4BGxqQmRCRNwRQQIMD0CZXiRi99/G+GhPFJyrDNUqijzfeG43GJPd14sYkhmAgVxONosEpooKICgg90HPNdeqMe95rvX/sU6e7uqu7q6EbGnt9nqegz977rL32rlNn/fZv+P40KaVEoVAoFArFSYv+fE9AoVAoFArF84syBhQKhUKhOMlRxoBCoVAoFCc5yhhQKBQKheIkRxkDCoVCoVCc5ChjQKFQKBSKkxxlDCgUCoVCcZJjLucgIQTj4+OUSiU0TTvec1IoFAqFQnEMkFLSbDZZsWIFun7o5/9lGQPj4+OsWrXqmE1OoVAoFArFc8fu3btZuXLlIfcvyxgolUrdwcrl8rGZmUKhUCgUiuNKo9Fg1apV3XX8UCzLGFgIDZTLZWUMKBQKhULxAuNIIX6VQKhQKBQKxUmOMgYUCoVCoTjJUcaAQqFQKBQnOcvKGVAoFL/6CCGIouj5noZCoTgKLMvCMIxnPY4yBhQKBVEUsX37doQQz/dUFArFUVKpVBgZGXlWOkDKGFAoTnKklExMTGAYBqtWrTqsMIlCoThxkFLieR7T09MAjI6OPuOxlDGgUJzkJEmC53msWLGCfD7/fE9HoVAcBblcDoDp6WmGhoaecchAPQIoFCc5aZoCYNv28zwThULxTFgw4uM4fsZjKGNAoVAARxYlUSgUJybH4m9XGQMKhUKhUJzkKGNAoVAoFIqTHGUMKBSKFzRvetOb0DQNTdMwDIP169fzjne8g3q9fszOcdddd3Hvvfces/EA1q5dyx133HFMx3w+SZIETdO46667utuO9hoPdZ81TeMzn/nMsZim4hCoagKFQvGC58UvfjH/5//8H9I05eGHH+aOO+5gz5493Hfffcdk/LvuuouVK1dy/fXXH5PxAO677z4GBweP2XgnIkd7jYe6zw8++CCnnHLKsZ6eYj+UMaBQKJ4VQkrSVGLoGrr+/CQhlkolLrnkEgAuvfRS2u02t99+e7fc6kTC931yuRznnXfeMRvrWHGsxzsW1wh0f7eK44cKEygUimeMlJIoEQgpCTv/PxFYWIR27twJwL//+79zwQUX4LouY2Nj3H777d2SSoBdu3Zx/fXXMzAwQD6f5/TTT+djH/sYAJdffjnf+c53+Pu///tuOOLb3/42AJ7nccsttzA2NobjOFx88cV873vfWzQXTdP45Cc/yVvf+lb6+vp4xSteARzsQk+ShFtvvZWxsTFc1+WCCy7g/vvvXzTW2rVrue2227jtttsYGRlh48aNS17/jh070DSNf/qnf+KGG26gUCiwdu1avvCFLyxrvNnZWd7ylrcwODhILpfjiiuu4PHHH1/03p/85CdceOGFuK7LxRdfzKOPPnrQPJYKE3ziE5/g9NNPx3EcVq5cydvf/vYj3uf9wwRveMMbuOKKKw4619ve9jYuuOCC7uvt27dz4403UqlUKBaLvOY1r2HPnj1L3i+F8gwoFIoDkFLix+mRDwTiVCCExLEMokQQJim2+eyfMXKW8azKpRaMgJGRER599FF+67d+i9e+9rX86Z/+KY8//njXGPjIRz4CwM0330wQBHz2s5+lXC6zefPmrqrbX/3VX3HTTTcxNDTEBz7wAQA2btyIlJIbbriBn/3sZ9x5552sWrWKu+66i6uvvpqnnnqKVatWdefzoQ99iGuvvZZ//Md/xDSX/tp93/vex1/+5V/yoQ99iI0bN/KZz3yGV7ziFTzyyCOcffbZ3eM+97nPcdFFF/G5z33uiPfhXe96F69//eu59957ufvuu7n55ps57bTTFj1pHzheGIZceeWVhGHIX/zFX1CpVPjYxz7GVVddxdatWykUCrRaLa699lpOOeUU7rnnHnbv3s3rX//6I87n/e9/Px/60Ie45ZZbeNnLXka1WuVrX/vaYe/zgWzatIkbb7yRmZmZbghCCMG9997Lu971LiAzZi677DJWrlzJ5z73OQzD4IMf/CCvfOUr+elPf6pUNpdAGQMKhWIRfpyy8f1ff17n8MSdV5O3j+7rKUmSbs7Ahz/8Yc4//3xWrlzJLbfcwhlnnME//dM/oWka1157LWma8sEPfpD3vOc99PX18dBDD/HFL36R6667DoDf/M3f7I67ceNGyuUyAwMDixbRb37zm/z7v/87Dz30EBdeeCEAL3/5yznnnHP43//7f/Pxj3+8e+ypp57K5z//+UPOfW5ujk996lP86Z/+Ke9+97sBuPrqqzn77LP50z/9U+6+++7usa7rct999x3SqNifSy65hI9+9KPd8R5//HH+5//8n4tyKQ4c7zOf+QxbtmxZZNBcfvnlrFu3jk9/+tO8853v5POf/zyNRoMvf/nL3QU5TVP+4A/+4JBzqVar/Nmf/Rm33XYbf/Inf9Ld/ju/8zvAoe/zgVxzzTXk83nuvfde3vrWtwLw3e9+l6mpKTZt2gTAxz/+cYQQ3H///ZRKJQAuvPBC1q9fz5e//GVe85rXHPHenWwo80ihULzg+c///E8sy8J1XV760pcyNjbGP/zDP6BpGg8//DDXX3/9Ik/Dpk2b8H2fxx57DIBzzz2XW2+9lb/9279lfHx8Wef81re+xbp16zj33HNJkqRrjFx++eX85Cc/WXTstddee9ixHnvsMYIg4IYbbuhu03WdG264gYceemjRsS972cuWZQgAvOpVr1r0+rrrrjvieN/61re45JJLGB0d7V6Xbdtccskl3et6+OGH+fVf//VFyYELhtSh+NGPfkQYhrzxjW9c1twPheu6XHfdddxzzz3dbffccw/nn38+69ev717D1VdfTS6X617D8PAwp59++kG/G0WG8gwoFIpF5CyDJ+68+ojHxalASoltGou2CSlxzGfXUjVnHd37zznnHD7zmc9gGAarV6+mv7+/u29iYuKgJMLh4eHuPoC7776b973vfbzjHe+g0Wjwa7/2a3ziE5/g4osvPuQ5Z2dn2b59O5ZlHbRvzZo1i14fKYlxYR5LzXNh33LH2p8DM/kHBweZmpo67Hizs7M88MADS17Xb/zGbwAwNTW15NiHY25uDnh2zXQW2D9U0N/fz7333ss73/nO7v7Z2VnuuuuuRWWOCxyrpMZfNZQxoFAoFqFp2rJc9GGcYugaprHPwShElkiYs599f/WjoVgsdl31BzI6OtqN/y+wsCAuLExjY2N84QtfIE1TfvCDH3Drrbdy3XXXMT4+fsjGL319faxfv36RC3+BA/s8HCn/YWEe09PTrFu3btE8D1w8jyaXYmZm5qDXC4bQocbr6+vj0ksvXRTmWGDB5T48PMyuXbsOe64DWTDQJiYmOO2005Y1/0OxECq477772LBhA5OTk90QwcI1bNq0ife85z2HnIdiMSpMoFAojhopJUJm5YT7k5UWyhOmqgDgoosu4l/+5V+Q+83pS1/6ErlcjrPOOmvRsYZhcNlll/He976X6enp7tOsbduEYbjo2CuuuII9e/bQ39/PhRdeuOjnxS9+8VHN8ayzzsJ13UWCO1JK7r333sN6J47El7/85UWvv/KVr3DRRRcd9j1XXHEFmzdv5tRTTz3oujZs2ABk8fcHH3yQ2dnZRWMfjksuuQTXdfm7v/u7Qx6z1H1eioVQwZe+9CW+9KUvLQoRLFzD448/zjnnnHPQNexvbCn2oTwDCoXiqJGSbvnXgeiahhAS3TgxGh/dfvvtXHDBBfz2b/82b37zm3n88cd5//vfzzvf+U76+vqo1+tcc801vPGNb+RFL3oRrVaLD3/4w5x55pldF/qGDRv453/+Z77xjW/Q19fHhg0bePnLX85v/uZvcuWVV/Le976XDRs2MD8/z49//GMGBga6iYDLob+/n7e//e3ccccdaJrGxo0b+exnP8tTTz3FF7/4xWd87T/84Q/5oz/6I6666iruvvtuHnroIb7//e8f9j0333wzf/3Xf83ll1/OLbfcwpo1a5ienuZ73/seF198MTfddBO/93u/x5133sl1113Hbbfdxp49e/jkJz952HF7e3t53/vex5/8yZ8QBAFXXXUVtVqNr371q93kyqXu84I34kA2bdrEpk2bePTRRw+617fccgtf+MIXuOqqq3jb297GyMgI4+PjfPOb3+T1r389V1555VHcxZMEuQzq9boEZL1eX87hCoXiBYTv+/KJJ56Qvu8v+z1xksogTpbcFyWpDOP0WE3viNx8883y0ksvPewxX/3qV+V5550nbduWo6Oj8rbbbpNxHEsppQyCQL7lLW+Rp512mnRdVw4ODspNmzbJ7du3d9+/c+dOeeWVV8pisSgB+cADD0gps3t36623yrVr10rLsuSKFSvkq1/9avnd7363+15AfvrTnz5oTmvWrJG3335793Ucx/J973ufHB0dlbZty/PPP19+/etfP+x7DsX27dslIP/xH/9RvvrVr5a5XE6uWrVK3nXXXcsar1qtyre97W1yxYoV0rZtuWrVKvlf/st/kT//+c+7x/z4xz+W559/vnQcR55//vnyxz/+sQTk5z//+cOO/7GPfUyeeuqp0rZtuXLlSvmOd7yju+9Q93mpe+j7viyVShKQ27ZtO+gadu3aJW+66SY5MDAgHceR69evl//1v/5XuXPnziPevxcah/sbXu76rUl5ZH9eo9Ggp6eHer1OuVw+jqaJQqF4rgmCgO3bt7Nu3Tpc113We6IkRdM0LOPgSGMqBHEqcY8yCVBx7NixYwfr1q3j/vvv56qrrnq+p6M4zhzub3i567fKGVAoFEeNkFk4YCl0TUNKyTKeMxQKxQmCMgYUCsVBSCmJU0GSiiX3SSk5VBsCTdNA01C2gELxwkElECoUikXITp8BDchMAbGofPBwyYML6GQNjHROjCTCk421a9cqz4ziqFCeAYVCsYgklWiAberYhk6cLnb5CymPuMRrmoZaihSKFw7KGFAoFF2klCRCYJk6mqZlbYk1SITc75hD5wssoGucUFoDCoXi8ChjQKFQdEmFRNe0RYu9aWik+xkDAsmRRPA0lTOgULygUMaAQqHokoolVAU71QGiYxAs5AwcDl1DVRQoFC8glDGgUCiAQ0sML4QL0s7ifrhKgv3foyoKFIoXDsoYUCgUAKRSHl5iWMrO4n74SoIFsi4FyhpQKF4IKGNAoVAAIAQHeQUW0PWs34BYhleg+x4tEyd6rhBC8Dd/8zecd9555PN5+vr6eNWrXnVQ/3pN0/jMZz7z3E3sOWLr1q1omsa3v/3t53sqihcgyhhQKBQAHff/oVUF6XgHlttB97lOInzzm9/MH/7hH3L11Vfzr//6r3zuc58jCAIuvfRSvv71rz93E1EoXoAo0SGFQrGsXACjU2K4VD+CpdB47soL77nnHv7v//2/fOELX+Cmm27qbn/Vq17FNddcw80338y2bdsoFArPyXyWwvd9crnc83Z+heJwKM+AQqFAsgxVQS0rMVyupuBzKTz0l3/5l5x++um84Q1vWLRd13U++MEPMjU1xT333NPdHgQB/+2//TfK5TIjIyN89KMfXfS+7373u7zkJS+hVCpRqVS46KKL+OY3v9nd73ket9xyC2NjYziOw8UXX8z3vve9RWNomsYnP/lJ3vrWt9LX18crXvEK3vCGN3DFFVccNP+3ve1tXHDBBd3X27dv58Ybb6RSqVAsFnnNa17Dnj17Fr3nG9/4BmeccQa5XI4rr7ySHTt2HPV9UygWUJ4BhUKxqFxQSonneQcdI4SkGSbgmOjLSBwQUhLGKal99F8z+Xx+WUmKAHEc88Mf/pB3vOMdS77n13/91+nv7+d73/seb3rTmwD48Ic/zMtf/nLuuecevvWtb/Ge97yH1atX89u//ds0Gg2uu+46Xvva13LnnXeSJAk//elPqVarQHZ/brjhBn72s59x5513smrVKu666y6uvvpqnnrqKVatWtU994c+9CGuvfZa/vEf/xHTNGk0Gtx4443MzMwwODiY3SchuPfee3nXu94FwOzsLJdddhkrV67kc5/7HIZh8MEPfpBXvvKV/PSnP0XXdXbt2sWrX/1qrrzySv78z/+cRx99lDe/+c1HfZ8Vii7L6ZW83H7ICoXihYfv+/Lnv3hMNlttKaWUrVZLkjkLnrefVqu17PlPTExIQP7FX/zFIY8599xz5TXXXCOllBKQF1xwwaL9r3vd6+S5554rpZTyoYcekoBsNBpLjnX//fdLQD700EPdbUIIefbZZ8s//MM/7G4D5KWXXnrQvS6VSvJv/uZvutseeOABCcht27ZJKaW8/fbb5ejo6KLz79mzR9q2Le+77z4ppZS33HKLHBkZkWEYdo+55ZZbJCAfeOCBQ94Hxa8mvu/LJ554Qvq+f9C+5a7fKkygUCiQHFli+FeJ66677qDXP//5z4miiFNOOYViscgb3vAG/vVf/5Vms7no2G9961usW7eOc889lyRJSJKENE25/PLLD6pcuPbaaxe9dl2X6667blHI4p577uH8889n/fr13fGvvvpqcrlcd/zh4WFOP/307vgPP/ww11xzDbZtH/KaFIqjQYUJFIqTnDgVnTBB9jqfz9NqtTp9CrKov9GJ/3tRQs4yFnUxPBxhnGLo2rKPXyCfzy/72P7+fmzbZteuXYc8Zvfu3Zx//vnd1wsu+v1fCyGYnp5m5cqVfP3rX+eP//iPuf7669E0jVe96lV88pOfZGRkhNnZWbZv345lWQedZ82aNYteDw0NHXTMpk2buqGC/v5+7r33Xt75znd298/OznLXXXdx1113HfTe8847D4CpqSl+7dd+7aBrUCieKcoYUChOcsIkJasczKwBTdPI5/OEicDSQEMjFQJd1zBtiWno2ObyFncrEWgay65AeCZYlsUll1zC1772NT760Y8uyhtIUsGPfvgj5ubmuOyyy7rbZ2ZmFo0xMzODruvdxfslL3kJ999/P+12m6997Wv84R/+IW9/+9v553/+Z/r6+li/fj133333QXPZ/0kdlpZtvuaaa8jn89x3331s2LCByclJNm3a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BRfgOM5yD+WU4j/+4z946KGH+OVf/mXOP//8/vZGo8F73vMe4jjm05/+9PIN8BTmRS96ERs2bFjuYTypePWrX83znve8w7ZfdtllvOAFL2B+fp677757GUZ2aiOlxHXdw7bbts0v/uIvAvDggw+e7GE9qbjuuuv46U9/yic/+Uksy1ru4awoTqkwQcGRueWWWwC48sorD3vtqquuAuCb3/zmyRxSwQpl0VC37eLRsVSUUvzf//t/AXjqU5+6zKM5dfnBD37Addddx/vf/37OPffc5R7Ok4Yoirj++uvZt28f9Xqdiy66iEsuueSoz1Pc0U8Ctm3bBsCWLVsOe218fJxqtdrfp6DgRLF7926+/vWvs3r1ap72tKct93BOWeI45gMf+ABaa2ZnZ/n3f/937rvvPq6++mquuOKK5R7eKUkURfzqr/4q559/Pn/wB3+w3MN5UjExMcHVV199yLaLLrqIf/qnf2Lz5s1LPk9hDDwJaDabwKO3oazX6/19CgpOBEmS8OY3v5koivjQhz5UuHAfgziOed/73tf/XQjBu971Lj74wQ8u46hObf74j/+Ybdu2cddddxWfraPg6quv5rLLLuOpT30q1WqVBx54gA9/+MPccMMNXHHFFdx9993UarUlneu4GwO///u/TxRFS97/He94xxFXvAUFBacGSine+ta38q1vfYtrrrmGN7/5zcs9pFOaarWK1hqlFPv27eOmm27iPe95D7fddhtf+cpXDus1v9K57bbb+Mu//Ev+5E/+pAijHCXXXnvtIb+ff/75fOYznwHghhtu4B/+4R945zvfuaRzHXdj4GMf+9hRlYP80i/9UmEMPA6LHoFHW/23Wi0GBwdP5pAKVghKKX7t136Nz372s7zpTW/i7/7u75Z7SE8apJSsW7eO3/qt32JkZITXve51XHfddXzoQx9a7qGdMqRpylve8hae/vSn8+53v3u5h3Pa8Pa3v50bbriBW2+9dfmMgU6nc7xPueJZNJa2bdvGhRdeeMhrExMTdDodLr744uUYWsFpjFKKq6++ms985jO88Y1v5Prrry9q5I+RxeTfxWTgAkOn0+nnOx2pEgPg2c9+NgD/+q//yqte9aqTNbQnNSMjIwBHtTAvcgaeBDzvec/jgx/8IP/2b//GG97whkNe++pXv9rfp6DgeHGwIfD617+eG264oYjlPgH2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3HPPPY871j179vCjH/2Il73sZUh59I+ClX79CgpOJwpjoGDF4vs+b3nLW5iamuKzn/0so6OjvOpVr3pC5/zt3/5tpJT89V//NXfeeWd/exzH/M7v/A5BEPDqV7+a9evXH3bszp07ed/73nfItr//+7/ntttuY9WqVbzmNa/pb//IRz7CxMTEYef4yle+AnDE8z+Sm266CeCYVQdX+vUrKDitWO5yhoKC5eT+++/XQggN6He9613H5ZzXXXddXzTnRS96kX7DG96g169frwG9ZcuWxxTNcRxHn3feefqNb3yjvuiiizSgHcfRN9988yHHNBoNLaXUz3zmM/XrXvc6/drXvlZv3bpVA3poaEg/8MADjzvOq666SnuepzudzjH/rSv5+hUUnE4UxkDBimdxornvvvuO2zm//OUv6yuuuEI3Gg3tuq4+66yz9B/8wR/oubm5w/ZdnMw+9alP6e9+97v6iiuu0LVaTVerVX3FFVfoW2+99bBjPvOZz+hf/uVf1meffbau1Wq6Vqvpc889V7/zne/UDz/88OOOr91ua8/zjlkc6GBW4vUrKDjdEFprffL9EQUFpwa33XYbz3nOc3je857HLbfcstzDOWnceOON/NIv/RIf/ehH+a3f+q1jPs9KvX4FBacbRc5AwYrmuuuuA+A//+f/vMwjObnUajWuvfZaXv3qVz+h86zU61dQcLpReAYKVhzf/e53+cQnPsE999zD97//fS644ALuuOOOY8qoX4kU16+g4PTj2GTCCgqexDzwwAN88pOfpFar8bKXvYy/+Zu/edSJ7F3vehczMzNLOu/1119/HEd56lJcv4KC04/CM1BQ8Bhs3LjxUcVsHklxKx1Ocf0KCp4cFMZAQUFBQUHBCqcI8hUUFBQUFKxwCmOgoKCgoKBghVMYAwUFBQUFBSucwhgoKCgoKChY4RTGQEFBQUFBwQqnMAYKCgoKCgpWOIUxUFBQUFBQsMIpjIGCgoKCgoIVzv8f/lzE8RAtAWwAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Predictions" + ], + "metadata": { + "id": "sq0u7FdvEd1V" + } + }, + { + "cell_type": "markdown", + "source": [ + "Now, it's time to use the trained `bayes_model` to perform out-of-sample prediction. As mentioned earlier, a significant benefit of using the Bayesian model is that it generates a full distribution for each test data point, rather than a single point estimate. This provides a more comprehensive understanding of the uncertainty and variability in the predictions.\n", + "\n", + "In our class, this is accomplished using the `predict_proba` method, which returns an `skpro` `Empirical` distribution.\n" + ], + "metadata": { + "id": "OQ0mq2TcOh1i" + } + }, + { + "cell_type": "markdown", + "source": [ + "## `predict_proba`" + ], + "metadata": { + "id": "LhZvCf9QNdQX" + } + }, + { + "cell_type": "code", + "source": [ + "y_pred_proba_bayes = bayes_model.predict_proba(X_test)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 33, + "referenced_widgets": [ + "2b6f7349e109440997ec97f6115eb5e8", + "046257170ed44b08903c7ab551b34710" + ] + }, + "id": "wm0pwT-A8rQJ", + "outputId": "3c0869ac-a8c2-476f-c04c-8e054c977314" + }, + "execution_count": 35, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "2b6f7349e109440997ec97f6115eb5e8" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [], + "text/html": [ + "
\n"
+            ]
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "\n"
+            ],
+            "text/html": [
+              "
\n",
+              "
\n" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "type(y_pred_proba_bayes)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 186 + }, + "id": "vVSLDsTHO8ks", + "outputId": "9d7cab41-1ea6-482f-bcf5-06e462e88798" + }, + "execution_count": 38, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "skpro.distributions.empirical.Empirical" + ], + "text/html": [ + "
\n", + "
skpro.distributions.empirical.Empirical
def __init__(spl, weights=None, time_indep=True, index=None, columns=None)
/content/skpro/skpro/distributions/empirical.pyEmpirical distribution, or weighted sum of delta distributions.\n",
+              "\n",
+              "This distribution represents an empirical distribution, or, more generally,\n",
+              "a weighted sum of delta distributions.\n",
+              "\n",
+              "The distribution is parameterized by support in ``spl``, and optionally\n",
+              "weights in ``weights``.\n",
+              "\n",
+              "For the scalar case, the distribution is parameterized as follows:\n",
+              "let :math:`s_i, i = 1 \\dots N` the entries of ``spl``,\n",
+              "and :math:`w_i, i = 1 \\dots N` the entries of ``weights``; if ``weights=None``,\n",
+              "by default we define :math:`p_i = \\frac{1}{N}`, otherwise we\n",
+              "define :math:`p_i := \\frac{w_i}{\\sum_{i=1}^N w_i}`\n",
+              "\n",
+              "The distribution is the unique distribution that takes value :math:`s_i` with\n",
+              "probability :math:`p_i`. In particluar, if ``weights`` was ``None``,\n",
+              "the distribution is the uniform distribution supported on the :math:`s_i`.\n",
+              "\n",
+              "Parameters\n",
+              "----------\n",
+              "spl : pd.DataFrame\n",
+              "    empirical sample; for scalar distributions, rows are samples;\n",
+              "    for dataframe-like distributions,\n",
+              "    first (lowest) index is sample, further indices are instance indices\n",
+              "weights : pd.Series, with same index and length as spl, optional, default=None\n",
+              "    if not passed, ``spl`` is assumed to be unweighted\n",
+              "time_indep : bool, optional, default=True\n",
+              "    if True, ``sample`` will sample individual instance indices independently\n",
+              "    if False, ``sample`` will sample entire instances from ``spl``\n",
+              "index : pd.Index, optional, default = RangeIndex\n",
+              "columns : pd.Index, optional, default = RangeIndex\n",
+              "\n",
+              "Example\n",
+              "-------\n",
+              ">>> import pandas as pd\n",
+              ">>> from skpro.distributions.empirical import Empirical\n",
+              "\n",
+              ">>> spl_idx = pd.MultiIndex.from_product(\n",
+              "...     [[0, 1], [0, 1, 2]], names=["sample", "time"]\n",
+              "... )\n",
+              ">>> spl = pd.DataFrame(\n",
+              "...     [[0, 1], [2, 3], [10, 11], [6, 7], [8, 9], [4, 5]],\n",
+              "...     index=spl_idx,\n",
+              "...     columns=["a", "b"],\n",
+              "... )\n",
+              ">>> dist = Empirical(spl)\n",
+              ">>> empirical_sample = dist.sample(3)\n",
+              "\n",
+              "scalar distribution:\n",
+              ">>> spl = pd.Series([1, 2, 3, 4, 3])\n",
+              ">>> dist = Empirical(spl)\n",
+              ">>> empirical_sample = dist.sample(3)
\n", + " \n", + "
" + ] + }, + "metadata": {}, + "execution_count": 38 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "The returned distribution is known as the **posterior predictive distribution**. This distribution provides probabilistic forecasts for future observations by incorporating uncertainty about the model parameters and data variability.\n", + "\n", + "The posterior predictive distribution enables us to make probabilistic statements about future observations and understand the variability in our predictions.\n" + ], + "metadata": { + "id": "YfBP3uCNPGHa" + } + }, + { + "cell_type": "markdown", + "source": [ + "\n", + "The posterior predictive distribution is given by:\n", + "\n", + "$$\n", + "p(y_{\\text{pred}} \\mid X_{\\text{new}}, X_{\\text{train}}, y_{\\text{train}}) = \\int p(y_{\\text{pred}} \\mid X_{\\text{new}}, \\theta) p(\\theta \\mid X_{\\text{train}}, y_{\\text{train}}) \\, d\\theta\n", + "$$\n", + "\n", + "where:\n", + "- $y_{\\text{pred}}$ is the new predicted data point.\n", + "- $X_{\\text{new}}$ is the new input.\n", + "- $\\mathbf{X}_{\\text{train}}$ is the set of observed inputs.\n", + "- $\\mathbf{y}_{\\text{train}}$ is the set of observed outputs.\n", + "- $\\mathbf{\\theta}$ represents the model parameters.\n", + "- $p(y_{\\text{pred}} | X_{\\text{new}}, \\mathbf{\\theta})$ is the likelihood of the new data point given the model parameters.\n", + "- $p(\\mathbf{\\theta} | \\mathbf{X}_{\\text{train}}, \\mathbf{y}_{\\text{train}})$ is the posterior distribution of the model parameters given the observed data.\n", + "\n", + "The above equation states that to obtain the distribution of the predictions $y_{\\text{pred}}$, we need to perform two iterative sampling:\n", + "\n", + "1. First, we sample from the posterior distribution $p(\\theta \\mid X_{\\text{train}}, y_{\\text{train}})$**\n", + "\n", + "2. Afterwards, for each sampled $\\theta$ from the posterior, we sample $y_{\\text{pred}}$ from the predictive distribution $p(y_{\\text{pred}} \\mid X_{\\text{new}}, \\theta)$.\n", + "\n", + "In practice, PyMC conveniently handles this sequential sampling process for us." + ], + "metadata": { + "id": "7EAsEgp1OC1-" + } + }, + { + "cell_type": "markdown", + "source": [ + "## `predict`" + ], + "metadata": { + "id": "Lq1MgQKGF4_B" + } + }, + { + "cell_type": "markdown", + "source": [ + "If point predictions are what we're after, we've got the `predict` method to do so. Internally, this `predict` method calls the `predict_proba` method above and averages the resulting posterior predictive distribution to provide a single point estimate for each test data point." + ], + "metadata": { + "id": "VEVzKOuDQc3h" + } + }, + { + "cell_type": "code", + "source": [ + "y_pred_bayes = bayes_model.predict(X_test)\n", + "y_pred_bayes.tail()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 222, + "referenced_widgets": [ + "3c5c53cbd13b4cc7bba3539d0b015549", + "8f2d3226d202475a83b7d0a5399bd4ac" + ] + }, + "id": "Ubr9p6ilk0Vx", + "outputId": "cb55cae2-fb0e-40cf-afea-dff158187445" + }, + "execution_count": 34, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "3c5c53cbd13b4cc7bba3539d0b015549" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [], + "text/html": [ + "
\n"
+            ]
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "\n"
+            ],
+            "text/html": [
+              "
\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " target\n", + "25 2.672331\n", + "26 2.724899\n", + "27 2.818421\n", + "28 2.868590\n", + "29 2.939366" + ], + "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", + "
target
252.672331
262.724899
272.818421
282.868590
292.939366
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"y_pred_bayes\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"target\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.10758134273845044,\n \"min\": 2.6723309945129343,\n \"max\": 2.9393662256722624,\n \"num_unique_values\": 5,\n \"samples\": [\n 2.7248988378363985,\n 2.9393662256722624,\n 2.818421480472809\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 34 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## `predict_quantiles`" + ], + "metadata": { + "id": "LsMh_hqrQ2hf" + } + }, + { + "cell_type": "markdown", + "source": [ + "The advantage of obtaining a full predictive distribution for our test set is that we can quantify our uncertainty by calculating quantiles. This can be conveniently achieved using the `predict_quantiles` method. Here, we use `predict_quantiles` to get the 25-th and 75-th percentiles of the posterior predictive distributions.\n", + "\n", + "We'll then use these quantiles to plot our predictions together with their uncertainty.\n" + ], + "metadata": { + "id": "JfT19ChHTMxB" + } + }, + { + "cell_type": "code", + "source": [ + "y_pred_bayes_quantiles = bayes_model.predict_quantiles(X_test, [0.25, 0.75])\n", + "y_pred_bayes_quantiles.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 253, + "referenced_widgets": [ + "cb9ebd7e5af34a66bb4be9d0cf6676e8", + "76228f3f57924d8099807a14a3be0f83" + ] + }, + "id": "ZKNeOme2I8Ms", + "outputId": "9f34d337-c288-496e-a7eb-95cc15c834dc" + }, + "execution_count": 41, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "cb9ebd7e5af34a66bb4be9d0cf6676e8" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [], + "text/html": [ + "
\n"
+            ]
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "\n"
+            ],
+            "text/html": [
+              "
\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " target \n", + " 0.25 0.75\n", + "0 0.721486 1.390735\n", + "1 0.779420 1.446154\n", + "2 0.860220 1.514363\n", + "3 0.924821 1.560804\n", + "4 0.985909 1.631594" + ], + "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", + "
target
0.250.75
00.7214861.390735
10.7794201.446154
20.8602201.514363
30.9248211.560804
40.9859091.631594
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "y_pred_bayes_quantiles", + "summary": "{\n \"name\": \"y_pred_bayes_quantiles\",\n \"rows\": 30,\n \"fields\": [\n {\n \"column\": [\n \"target\",\n 0.25\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5699277396317782,\n \"min\": 0.7214862641549812,\n \"max\": 2.602302605537751,\n \"num_unique_values\": 30,\n \"samples\": [\n 2.4907321379952627,\n 1.7018566293529784,\n 2.2260452502169157\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"target\",\n 0.75\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5701992981658766,\n \"min\": 1.390735176332671,\n \"max\": 3.2729045926831097,\n \"num_unique_values\": 30,\n \"samples\": [\n 3.1487639439744752,\n 2.3506379113927873,\n 2.879692488059529\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 41 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## `predict_interval`" + ], + "metadata": { + "id": "kLWYUUfsShKw" + } + }, + { + "cell_type": "markdown", + "source": [ + "Lastly, the model comes with the `predict_interval` method. This method returns the **credible interval**, which is a range within which a certain proportion of the posterior distribution lies. For example, a 95% credible interval for a parameter $\\theta$ means that there is a 95% probability that $\\theta$ lies within this interval, given the observed data and the prior distribution." + ], + "metadata": { + "id": "L3JDkpCcS9i0" + } + }, + { + "cell_type": "code", + "source": [ + "y_pred_bayes_interval = bayes_model.predict_interval(X_test, 0.95)\n", + "y_pred_bayes_interval.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 285, + "referenced_widgets": [ + "1bad078ae919428db9df21002e47f44d", + "21a450b922714993904c09aa3416a5c9" + ] + }, + "id": "jnkLPPPySgPP", + "outputId": "a7c8e888-2688-467a-da2e-bb41f48da1d7" + }, + "execution_count": 49, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "1bad078ae919428db9df21002e47f44d" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [], + "text/html": [ + "
\n"
+            ]
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "\n"
+            ],
+            "text/html": [
+              "
\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " target \n", + " 0.95 \n", + " lower upper\n", + "0 0.083531 2.052145\n", + "1 0.109154 2.061604\n", + "2 0.191369 2.150412\n", + "3 0.232867 2.191096\n", + "4 0.359840 2.280539" + ], + "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", + "
target
0.95
lowerupper
00.0835312.052145
10.1091542.061604
20.1913692.150412
30.2328672.191096
40.3598402.280539
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "y_pred_bayes_interval", + "summary": "{\n \"name\": \"y_pred_bayes_interval\",\n \"rows\": 30,\n \"fields\": [\n {\n \"column\": [\n \"target\",\n 0.95,\n \"lower\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.572368229303372,\n \"min\": 0.0835312331597271,\n \"max\": 1.9404594582085812,\n \"num_unique_values\": 30,\n \"samples\": [\n 1.848535652861253,\n 1.1090691278249034,\n 1.5738930271236604\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"target\",\n 0.95,\n \"upper\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5776823695711081,\n \"min\": 2.052145277500318,\n \"max\": 3.9436564277264408,\n \"num_unique_values\": 30,\n \"samples\": [\n 3.7679418880674245,\n 2.9815161320170707,\n 3.491163695604988\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 49 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Plot the predictions with the confidence intervals\n", + "plt.figure(figsize=(10, 6))\n", + "plt.scatter(X_test['feature1'], y_pred_bayes, color='blue', label='Predicted values')\n", + "plt.fill_between(X_test['feature1'], y_pred_bayes_interval[\"target\"][0.95][\"lower\"], y_pred_bayes_interval[\"target\"][0.95][\"upper\"], color='lightblue', alpha=0.4, label='95% Confidence Interval')\n", + "plt.xlabel('Feature 1')\n", + "plt.ylabel('Predicted Target')\n", + "plt.title('Predictions with 95% Credible Interval')\n", + "plt.legend()\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 564 + }, + "id": "Fk5B-LcERJJT", + "outputId": "ba91cf7e-5ade-46e0-c6f8-1385d37f9cbf" + }, + "execution_count": 51, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAIjCAYAAAA0vUuxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACX80lEQVR4nOzdd3xUVd4G8OeWaemhJkAIvSkgxUITFRREWbAiooAKqy4qiKCgr6uIgmtnd13AiqIoFsBVcRELCIoFiAioFKUo1UJ6ptx7zvvHFBjSZpIpKc/38xmTuXPmzrlDEvPknPM7ipRSgoiIiIiIiMqlxrsDRERERERENR2DExERERERUSUYnIiIiIiIiCrB4ERERERERFQJBiciIiIiIqJKMDgRERERERFVgsGJiIiIiIioEgxORERERERElWBwIiIiIiIiqgSDExHVK61atcL48eMD99esWQNFUbBmzZqIvYaiKLj//vsjdr5427t3LxRFwaJFi0Ju+9hjj0W/Y/Xcrl27cMEFFyA1NRWKomDFihVYtGgRFEXB3r17K33+yd8LFF917ecGUV3E4EREMeP/pc5/s9vt6NChA2655RYcOXIk3t0Ly8qVK+v1LznRvP7du3fj8ssvR3p6OhISEtC/f398+umnpdqNHz8+6OvJf+vUqVNQu9zcXIwZMwbp6elo06YNnn/++VLn2rhxIxISErBnz56w+vrTTz/hxhtvRJs2bWC325GSkoJ+/fph3rx5KCkpCe/CwzRu3Dhs3boVDz30EBYvXozevXtH9fXiQVEU3HLLLVV67pIlS/DUU09FtkNEVK/p8e4AEdU/DzzwAFq3bg2n04n169dj/vz5WLlyJbZt24aEhISY9uXss89GSUkJrFZrWM9buXIlnn766TLDQ0lJCXS97vx4zc7ORklJCSwWS+BYRddfHb/88gv69OkDTdMwffp0JCYm4sUXX8QFF1yAjz/+GGeffXZQe5vNhueeey7oWGpqatD9adOmYc2aNZg1axZ2796NiRMnonPnzujbty8AQEqJ2267DVOmTEHr1q1D7uv777+PK664AjabDWPHjsWpp54Kt9uN9evXY/r06di+fTueeeaZKr4TFSspKcGGDRtwzz33BAWLa6+9FldddRVsNltUXrc2WbJkCbZt24YpU6bEuytEVEfUnf+zE1GtceGFFwb+Oj5hwgQ0bNgQTzzxBN555x2MHj26zOcUFRUhMTEx4n1RVRV2uz2i54z0+eLNPzoYCw8//DByc3Oxbds2dOzYEQAwceJEdOrUCbfffjs2bdoU1F7XdVxzzTUVnvO9997DI488grFjxwIAvvvuO7z77ruB4PTqq69i3759uPvuu0Pu5549e3DVVVchOzsbn3zyCTIzMwOPTZo0Cbt378b7778f8vnC9dtvvwEA0tLSgo5rmgZN06L2uvWdEAJut7vOfY8TUWg4VY+I4u68884DgMA0qfHjxyMpKQk//fQThg0bhuTkZIwZMwaA9xeXp556CqeccgrsdjuaNm2KG2+8EceOHQs6p5QSDz74IFq0aIGEhASce+652L59e6nXLm+N01dffYVhw4YhPT0diYmJ6NatG+bNmxfo39NPPw0AQVPE/Mpaq5CTk4MLL7wQKSkpSEpKwqBBg/Dll18GtfFPZfz8888xdepUNG7cGImJibjkkksCvyj7bdy4EUOGDEGjRo3gcDjQunVrXH/99RW+z1OnTkXDhg0hpQwcu/XWW6EoCv75z38Gjh05cgSKomD+/PkASq9xquz6/Z555hm0bdsWNpsNp59+Or755psK+wcA69atQ48ePQKhCQASEhLwl7/8BZs3b8auXbtKPcc0TeTn55d7zpKSEqSnpwfuN2jQAMXFxQC8gXzGjBmYO3cukpKSKu2f3yOPPILCwkI8//zzQaHJr127dpg8eXLgvmEYmD17duD9aNWqFe6++264XK6g57Vq1QoXX3wx1q9fjzPOOAN2ux1t2rTByy+/HGhz//33Izs7GwAwffp0KIqCVq1aAUCZa5xC/V4AvNMap0yZgqysLNhsNrRr1w7/+Mc/IIQItDlxHVso/8Y//vgjLr/8cjRo0AB2ux29e/fGf//738rf5DL4v1/feOMNPPTQQ2jRogXsdjsGDRqE3bt3B9qdc845eP/997Fv377A16f/PQIAl8uF++67D+3atYPNZkNWVhbuvPPOUv8e/qmCr776Kk455RTYbDa8++67aNCgAa677rpS/cvPz4fdbse0adMAAG63G3//+9/Rq1cvpKamIjExEQMGDChz6ikR1XwccSKiuPvpp58AAA0bNgwcMwwDQ4YMQf/+/fHYY48FpvDdeOONWLRoEa677jrcdttt2LNnD/79738jJycHn3/+eWA62d//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ugtZWVmw2Wxo164dnn/+eezduxfnnnsuACA9PR2KomD8+PEAvHtozZ07F61bt4bD4UD37t3x1ltvBb3OypUr0aFDBzgcDpx77rlB/SzL1VdfjVGjRgUd83g8aNSoEV5++WUAwP/+9z/0798/cH0XX3wxfvrpp3LPuWjRIqSlpQUdW7FiRanqcO+88w569uwJu92ONm3aYNasWYHRPykl7r//frRs2RI2mw3NmjXDbbfdVuG1UMXiFpw2bdqEo0ePomfPntB1HbquY+3atfjnP/8JXddhmmap52RkZODIkSNBx44cOYKMjIxyX8dmsyElJSXoRkRERFSbLVsGXH458OuvwccPHPAej3Z4OpHD4YDb7Q7c//jjj7Fjxw6sXr0a7733HjweD4YMGYLk5GSsW7cOn3/+OZKSkjB06NDA8x5//HEsWrQIL7zwAtavX48///wTy5cvr/B1x44di9deew3//Oc/8cMPP2DhwoVISkpCVlYW3n77bQDAjh07cOjQIcybNw+AdybSyy+/jAULFmD79u24/fbbcc0112Dt2rUAvAHv0ksvxfDhw/Htt99iwoQJmDFjRoX9GDNmDN59910UFhYGjq1atQrFxcW45JJLAABFRUWYOnUqNm7ciI8//hiqquKSSy6BECLMd/u4devWYezYsZg8eTK+//57LFy4EIsWLcJDDz0EAHj77bfx5JNPYuHChdi1axdWrFiBrl27Vvn1CICMk/z8fLl169agW+/eveU111wjt27dWuZzrrzySnnxxRcHHevTp4+88cYbQ37dvLw8CUDm5eVVq/9EREREVVFSUiK///57WVJSUqXnG4aULVpICZR9UxQps7K87SJt3LhxcsSIEVJKKYUQcvXq1dJms8lp06YFHm/atKl0uVyB5yxevFh27NhRCiECx1wul3Q4HHLVqlVSSikzMzPlI488Enjc4/HIFi1aBF5LSikHDhwoJ0+eLKWUcseOHRKAXL16dZn9/PTTTyUAeezYscAxp9MpExIS5BdffBHU9oYbbpCjR4+WUko5c+ZM2aVLl6DH77rrrlLnOpHH45GNGjWSL7/8cuDY6NGj5ahRo8psL6WUv/32mwQQ+J13z549EoDMycmRUkr54osvytTU1KDnLF++XJ74q/ugQYPknDlzgtosXrxYZmZmSimlfPzxx2WHDh2k2+0utx/1RUXfc+Fkg7itcUpOTsapp54adCwxMRENGzYMHB87diyaN2+OuXPnAgAmT56MgQMH4vHHH8dFF12E119/HRs3bsQzzzwT8/4TERERxcO6daVHmk4kJfDLL95255wT+dd/7733kJSUBI/HAyEErr76atx///2Bx7t27Rq0rmnLli3YvXs3kpOTg87jdDrx008/IS8vD4cOHcKZZ54ZeEzXdfTu3bvUdD2/b7/9FpqmYeDAgSH3e/fu3SguLsb5558fdNztdqNHjx4AgB9++CGoHwDQp0+fCs+r6zquvPJKvPrqq7j22mtRVFSEd955B6+//nqgza5du/D3v/8dX331FX7//ffASNP+/ftL/T4cqi1btuDzzz8PjDAB3imPTqcTxcXFuOKKK/DUU0+hTZs2GDp0KIYNG4bhw4dD1+Na4qBWq9Hv3P79+4N21e7bty+WLFmC//u//8Pdd9+N9u3bY8WKFVX+giMiIiKqbQ4dimy7cJ177rmYP38+rFYrmjVrVuoX8cTExKD7hYWF6NWrF1599dVS52rcuHGV+uBwOMJ+jn8q3fvvv4/mzZsHPWaz2arUD78xY8Zg4MCBOHr0KFavXg2Hw4GhQ4cGHh8+fDiys7Px7LPPolmzZhBC4NRTTw2a4ngiVVVLhUaPx1PqembNmoVLL7201PPtdjuysrKwY8cOfPTRR1i9ejX+9re/4dFHH8XatWthsViqdb3VJaWEkICqoNS6rZqsRgWnNWvWVHgfAK644gpcccUVsekQERERUQ2TmRnZduFKTExEu3btQm7fs2dPLF26FE2aNCl3rXlmZia++uornH322QAAwzCwadMm9OzZs8z2Xbt2hRACa9euLXNLG/+I14lr5rt06QKbzYb9+/eXO1LVuXPnQKELvy+//LLSa+zbty+ysrKwdOlSfPDBB7jiiisC4eSPP/7Ajh078Oyzz2LAgAEAgPXr11d4vsaNG6OgoABFRUWBIHryHk89e/bEjh07Kvy3cDgcGD58OIYPH45JkyahU6dO2Lp1a7nva7RJKWFKCUNISAnYdBW1JzbVsOBERERERBUbMABo0cJbCKKsmWyK4n3c9zt63I0ZMwaPPvooRowYgQceeAAtWrTAvn37sGzZMtx5551o0aIFJk+ejIcffhjt27dHp06d8MQTT1S4B1OrVq0wbtw4XH/99fjnP/+J7t27Y9++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/BF4rHv37li/fj1KSkqwatUqZGZmolGjRnj11Vdht9txySWXVNoXIQRef/11jBkzBs2aNSv1eFJSEnTdO7Fq/Pjx2LhxI/773/9iw4YNkFJi2LBh8Hg8gfbFxcV47LHHsHjxYnz22WfYv38/pk2bBgCYNm1aYPTs0KFDpUKM3/Tp07F27Vq88847+PDDD7FmzRps3rw5qM0tt9yCDRs24PXXX8d3332HK664AkOHDg0KchX1BQDmz5+PSZMm4a9//Su2bt2Kd955B23atoXHFHAZJi6/4gocPnIUy999F59/+TVO69EDFw8dgrxjxyqcfney+/5+L26fOhVfb9yE9h3aY+y118AwDPTp0xePPf4EUlJSsPeXX7H3l19x+9Q7AABTbrsNX375JV5+9VV8szkHl15+Of5y0UXYfdL1Pf7oI/jPwoXYum0bxowZg7S0NLz99tuBNqZpYunSpRgzZgwAwOl0olevXnj//fexbds2/PWvf8W1116Lr7/+OsSriRBZz+Tl5UkAMi8vL95dISIionqopKREfv/997KkpCTouNNjym1H8+XOPwrkz8eKon7b+UeB3HY0Xzo9Zsh979Onjxw4cKA8cOCANAxDLl68WKqqKjt06BBo89prr8l33nlHfvfdd3L58uWyc+fO8vTTT5eGYUgppXS73fJvf/ubbNWqlezdu7dct26d/OOPP2SbNm3k/v375T333CPbtm0rL7jgAvnrr7+W2Y8jR45IAPKJJ56osL87d+6UAOTnn38eOPb7779Lh8Mh33jjDSmllC+++KIEIHfv3h1o8/TTT8umTZsG7i9fvlye/GvzuHHj5IgRI6SUUhYUFEir1Ro4p5RS/vHHH9LhcMjJkydLKaXct2+f1DRNHjhwIOg8gwYNkjNnzgy5L82aNZN333239JimdBmmLHYbssjtkUVuj1z96RqZkpIicwuLpNNjBG5t2raV//7P/KBjJ94AyDfeels6PYb8cdduCUDOX/hM4PGcLd9JAHLL1m3S6THkM889L1NTU4POsfOnn6WmafLnffuDjp973nly+l13BZ4HQH61cZMsdhvSFEJKKeXkyZPleeedF7jGVatWSZvNJo8dO1buv+1FF10k77jjjsD9gQMHBt7rk5X3PSdleNmAa5yIiIiIKCSLFy/G9ddfj+bNm0PTNPTs2ROjR4/Gpk2bAm2u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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Effect of Sample Size" + ], + "metadata": { + "id": "AcPkFWWaWv5B" + } + }, + { + "cell_type": "markdown", + "source": [ + "Lastly, let's take a look at how the size of training sample affects the width of the posterior distribution.\n", + "\n", + "To remind ourselves - here is the summary statistics we obtained after training a model with 50 data points." + ], + "metadata": { + "id": "AKU_wnMHVb08" + } + }, + { + "cell_type": "code", + "source": [ + "bayes_model.get_posterior_summary()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 143 + }, + "id": "mnCENyCf8zbi", + "outputId": "40183b13-4505-4042-96a4-f13e9715629f" + }, + "execution_count": 52, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", + "intercept 1.053 0.127 0.812 1.284 0.003 0.002 1597.0 \n", + "slopes[feature1] 1.881 0.240 1.458 2.362 0.006 0.004 1581.0 \n", + "noise 0.475 0.051 0.386 0.573 0.001 0.001 2614.0 \n", + "\n", + " ess_tail r_hat \n", + "intercept 1823.0 1.0 \n", + "slopes[feature1] 1947.0 1.0 \n", + "noise 2406.0 1.0 " + ], + "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", + " \n", + " \n", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept1.0530.1270.8121.2840.0030.0021597.01823.01.0
slopes[feature1]1.8810.2401.4582.3620.0060.0041581.01947.01.0
noise0.4750.0510.3860.5730.0010.0012614.02406.01.0
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"bayes_model\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7066946535338536,\n \"min\": 0.475,\n \"max\": 1.881,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.053,\n 1.881,\n 0.475\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.09510169994975554,\n \"min\": 0.051,\n \"max\": 0.24,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.127,\n 0.24,\n 0.051\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_3%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5397493245325401,\n \"min\": 0.386,\n \"max\": 1.458,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.812,\n 1.458,\n 0.386\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_97%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.9007520931606728,\n \"min\": 0.573,\n \"max\": 2.362,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.284,\n 2.362,\n 0.573\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.002516611478423583,\n \"min\": 0.001,\n \"max\": 0.006,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.003,\n 0.006,\n 0.001\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0015275252316519468,\n \"min\": 0.001,\n \"max\": 0.004,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.002,\n 0.004,\n 0.001\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_bulk\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 591.8380972304278,\n \"min\": 1581.0,\n \"max\": 2614.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 1597.0,\n 1581.0,\n 2614.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_tail\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 307.1226682179831,\n \"min\": 1823.0,\n \"max\": 2406.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 1823.0,\n 1947.0,\n 2406.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"r_hat\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0,\n \"min\": 1.0,\n \"max\": 1.0,\n \"num_unique_values\": 1,\n \"samples\": [\n 1.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 52 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Now, let's generate a synthetic dataset with 500 datapoints and use it to train another model." + ], + "metadata": { + "id": "_1l0aeM3Vr5T" + } + }, + { + "cell_type": "code", + "source": [ + "N = 500\n", + "\n", + "# Creating 500 random data points containing 1 feature\n", + "feature1 = np.random.uniform(0, 1, N)\n", + "X_train = pd.DataFrame({'feature1': feature1})\n", + "\n", + "# Set the relationship between the feature and the target variable\n", + "TRUE_INTERCEPT = 1\n", + "TRUE_SLOPES = np.array([2])\n", + "TRUE_SIGMA = 0.5\n", + "\n", + "# Calculating the true target variable\n", + "y_true = TRUE_INTERCEPT + np.dot(X_train, TRUE_SLOPES)\n", + "y_train = y_true + np.random.normal(0, TRUE_SIGMA, size=len(X_train))\n", + "\n", + "bayes_model_500 = BayesianLinearRegressor(intercept_mu=0, intercept_sigma=10,\n", + " slopes_mu=0, slopes_sigma=10,\n", + " noise_sigma=10)\n", + "bayes_model_500.fit(X_train, y_train)" + ], + "metadata": { + "id": "snDXFrdn84Sn", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 123, + "referenced_widgets": [ + "b77a1bc131de475d97ff0ba200776613", + "52c38d3a9e42417d9a1f645afe4af9f4", + "23f5b7fa704041a8bf0026ed755ed07e", + "1b671855504d4104b5cebff3edfc244d", + "5969efae24fd4b1baeaf30d6bcbedfe6", + "8955971da43241e9857ec6047c192fb5" + ] + }, + "outputId": "4315a88d-4bde-40eb-ceb0-b08eeb10530d" + }, + "execution_count": 53, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "b77a1bc131de475d97ff0ba200776613" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [], + "text/html": [ + "
\n"
+            ]
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "\n"
+            ],
+            "text/html": [
+              "
\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "23f5b7fa704041a8bf0026ed755ed07e" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [], + "text/html": [ + "
\n"
+            ]
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "\n"
+            ],
+            "text/html": [
+              "
\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "5969efae24fd4b1baeaf30d6bcbedfe6" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [], + "text/html": [ + "
\n"
+            ]
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "\n"
+            ],
+            "text/html": [
+              "
\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "BayesianLinearRegressor()" + ], + "text/html": [ + "
BayesianLinearRegressor()
Please rerun this cell to show the HTML repr or trust the notebook.
" + ] + }, + "metadata": {}, + "execution_count": 53 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "We see that with this 10x increase in training set size, we obtain narrower posteriors, as evidenced by the lower `sd` values in the summary. It is noteworthy that the reduction of the standard deviation, which is around 3x, is less than the 10x reduction one might expect." + ], + "metadata": { + "id": "LuficUuTV0DH" + } + }, + { + "cell_type": "code", + "source": [ + "bayes_model_500.get_posterior_summary()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 143 + }, + "id": "l5Rlj1XLTu9E", + "outputId": "9a5d0be8-1f99-4414-e988-5cb2fa2313a8" + }, + "execution_count": 54, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", + "intercept 0.947 0.043 0.867 1.033 0.001 0.001 2051.0 \n", + "slopes[feature1] 2.113 0.076 1.982 2.267 0.002 0.001 2107.0 \n", + "noise 0.504 0.016 0.473 0.533 0.000 0.000 2384.0 \n", + "\n", + " ess_tail r_hat \n", + "intercept 2163.0 1.0 \n", + "slopes[feature1] 2020.0 1.0 \n", + "noise 2071.0 1.0 " + ], + "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", + " \n", + " \n", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept0.9470.0430.8671.0330.0010.0012051.02163.01.0
slopes[feature1]2.1130.0761.9822.2670.0020.0012107.02020.01.0
noise0.5040.0160.4730.5330.0000.0002384.02071.01.0
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"bayes_model_500\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.8311323600967538,\n \"min\": 0.504,\n \"max\": 2.113,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.947,\n 2.113,\n 0.504\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.03004995840263344,\n \"min\": 0.016,\n \"max\": 0.076,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.043,\n 0.076,\n 0.016\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_3%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7826815018469092,\n \"min\": 0.473,\n \"max\": 1.982,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.867,\n 1.982,\n 0.473\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_97%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.8925162930352214,\n \"min\": 0.533,\n \"max\": 2.267,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.033,\n 2.267,\n 0.533\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.001,\n \"min\": 0.0,\n \"max\": 0.002,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.001,\n 0.002,\n 0.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0005773502691896258,\n \"min\": 0.0,\n \"max\": 0.001,\n \"num_unique_values\": 2,\n \"samples\": [\n 0.0,\n 0.001\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_bulk\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 178.30404743957254,\n \"min\": 2051.0,\n \"max\": 2384.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 2051.0,\n 2107.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_tail\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 72.47298347200379,\n \"min\": 2020.0,\n \"max\": 2163.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 2163.0,\n 2020.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"r_hat\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0,\n \"min\": 1.0,\n \"max\": 1.0,\n \"num_unique_values\": 1,\n \"samples\": [\n 1.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 54 + } + ] + }, + { + "cell_type": "code", + "source": [ + "bayes_model.get_posterior_summary()/bayes_model_500.get_posterior_summary()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 143 + }, + "id": "4FyJcn9FWHQV", + "outputId": "27a32c99-7a24-4e95-c03f-2e75b5872fb2" + }, + "execution_count": 55, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd \\\n", + "intercept 1.111932 2.953488 0.936563 1.242982 3.0 2.0 \n", + "slopes[feature1] 0.890204 3.157895 0.735621 1.041906 3.0 4.0 \n", + "noise 0.942460 3.187500 0.816068 1.075047 inf inf \n", + "\n", + " ess_bulk ess_tail r_hat \n", + "intercept 0.778645 0.842811 1.0 \n", + "slopes[feature1] 0.750356 0.963861 1.0 \n", + "noise 1.096477 1.161758 1.0 " + ], + "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", + " \n", + " \n", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept1.1119322.9534880.9365631.2429823.02.00.7786450.8428111.0
slopes[feature1]0.8902043.1578950.7356211.0419063.04.00.7503560.9638611.0
noise0.9424603.1875000.8160681.075047infinf1.0964771.1617581.0
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "repr_error": "Out of range float values are not JSON compliant: inf" + } + }, + "metadata": {}, + "execution_count": 55 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# References" + ], + "metadata": { + "id": "cNKM7EPXJXij" + } + }, + { + "cell_type": "markdown", + "source": [ + "(WIP)" + ], + "metadata": { + "id": "5Ffs-tVRURxh" + } + }, + { + "cell_type": "markdown", + "source": [ + "https://discourse.pymc.io/t/how-to-use-the-posterior-predictive-distribution-for-checking-a-model-from-pymc/11593/9\n", + "\n", + "https://www.pymc.io/projects/docs/en/v5.15.1/api/generated/pymc.sample_prior_predictive.html\n", + "\n", + "https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf" + ], + "metadata": { + "id": "KzuX_hc8vsD7" + } + }, + { + "cell_type": "code", + "source": [ + "12" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "H8NNxB0WUQx1", + "outputId": "63865169-72a3-4adc-a0e0-178fcc164c39" + }, + "execution_count": 56, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "12" + ] + }, + "metadata": {}, + "execution_count": 56 + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "SFmXY53DYO5a" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file From 63968dbfe630cfbbc7eff4a483a9fd38f0c5574a Mon Sep 17 00:00:00 2001 From: Meraldo Antonio Date: Thu, 13 Jun 2024 23:31:15 +0800 Subject: [PATCH 21/51] Updated experiment to also look into posterior predictive --- examples/04_BayesianLinearRegressor.ipynb | 13165 +++++++++++--------- 1 file changed, 7573 insertions(+), 5592 deletions(-) diff --git a/examples/04_BayesianLinearRegressor.ipynb b/examples/04_BayesianLinearRegressor.ipynb index f76525ae..bf14206b 100644 --- a/examples/04_BayesianLinearRegressor.ipynb +++ b/examples/04_BayesianLinearRegressor.ipynb @@ -1,5815 +1,7796 @@ { - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "Ac4ZP2Yb1yu9" + }, + "source": [ + "# Environment Set Up" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "sQQlIVzx2D-i" + }, + "source": [ + "The code below downloads the relevant `skpro` development branch from github and install it.\n", + "\n", + "It also \"corrects\" the version of `pymc` that comes pre-installed on Google Colab." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { "colab": { - "provenance": [] - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" + "base_uri": "https://localhost:8080/" }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "5041e82f2cec4d18afadc01334823e21": { - "model_module": "@jupyter-widgets/output", - "model_name": "OutputModel", - "model_module_version": "1.0.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_8bf13818fd184881993e49113f14aaa4", - "msg_id": "", - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "Sampling chain 0, 0 divergences \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 0%\u001b[0m \u001b[36m0:00:00\u001b[0m\n", - "text/html": "
Sampling chain 0, 0 divergences ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:00\n
\n" - }, - "metadata": {} - } - ] - } - }, - "8bf13818fd184881993e49113f14aaa4": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "aaa3b0bdfa1d49169356cde19bae9c94": { - "model_module": "@jupyter-widgets/output", - "model_name": "OutputModel", - "model_module_version": "1.0.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_27aa1995a5e54ad5b61296623e65ca55", - "msg_id": "", - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "Sampling chain 1, 0 divergences \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 0%\u001b[0m \u001b[36m0:00:00\u001b[0m\n", - "text/html": "
Sampling chain 1, 0 divergences ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:00\n
\n" - }, - "metadata": {} - } - ] - } - }, - "27aa1995a5e54ad5b61296623e65ca55": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "140c47265a9d4413bcd5d6cb82c8813a": { - "model_module": "@jupyter-widgets/output", - "model_name": "OutputModel", - "model_module_version": "1.0.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_4afa3bbfa3e94be2b99d17c0a0d236c6", - "msg_id": "", - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:01\u001b[0m\n", - "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 100% 0:00:01\n
\n" - }, - "metadata": {} - } - ] - } - }, - "4afa3bbfa3e94be2b99d17c0a0d236c6": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2b6f7349e109440997ec97f6115eb5e8": { - "model_module": "@jupyter-widgets/output", - "model_name": "OutputModel", - "model_module_version": "1.0.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_046257170ed44b08903c7ab551b34710", - "msg_id": "", - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;237m╺\u001b[0m\u001b[38;5;237m━\u001b[0m \u001b[35m 95%\u001b[0m \u001b[36m0:00:01\u001b[0m\n", - "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━  95% 0:00:01\n
\n" - }, - "metadata": {} - } - ] - } - }, - "046257170ed44b08903c7ab551b34710": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3c5c53cbd13b4cc7bba3539d0b015549": { - "model_module": "@jupyter-widgets/output", - "model_name": "OutputModel", - "model_module_version": "1.0.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_8f2d3226d202475a83b7d0a5399bd4ac", - "msg_id": "", - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m\u001b[38;5;237m━━━\u001b[0m \u001b[35m 91%\u001b[0m \u001b[36m0:00:01\u001b[0m\n", - "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━  91% 0:00:01\n
\n" - }, - "metadata": {} - } - ] - } - }, - "8f2d3226d202475a83b7d0a5399bd4ac": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "cb9ebd7e5af34a66bb4be9d0cf6676e8": { - "model_module": "@jupyter-widgets/output", - "model_name": "OutputModel", - "model_module_version": "1.0.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_76228f3f57924d8099807a14a3be0f83", - "msg_id": "", - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;237m╺\u001b[0m\u001b[38;5;237m━\u001b[0m \u001b[35m 96%\u001b[0m \u001b[36m0:00:01\u001b[0m\n", - "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━  96% 0:00:01\n
\n" - }, - "metadata": {} - } - ] - } - }, - "76228f3f57924d8099807a14a3be0f83": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "1bad078ae919428db9df21002e47f44d": { - "model_module": "@jupyter-widgets/output", - "model_name": "OutputModel", - "model_module_version": "1.0.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_21a450b922714993904c09aa3416a5c9", - "msg_id": "", - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m\u001b[38;5;237m━━━━━━━━━\u001b[0m \u001b[35m 77%\u001b[0m \u001b[36m0:00:01\u001b[0m\n", - "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━  77% 0:00:01\n
\n" - }, - "metadata": {} - } - ] - } - }, - "21a450b922714993904c09aa3416a5c9": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "b77a1bc131de475d97ff0ba200776613": { - "model_module": "@jupyter-widgets/output", - "model_name": "OutputModel", - "model_module_version": "1.0.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_52c38d3a9e42417d9a1f645afe4af9f4", - "msg_id": "", - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "Sampling chain 0, 0 divergences \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 0%\u001b[0m \u001b[36m0:00:00\u001b[0m\n", - "text/html": "
Sampling chain 0, 0 divergences ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:00\n
\n" - }, - "metadata": {} - } - ] - } - }, - "52c38d3a9e42417d9a1f645afe4af9f4": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "23f5b7fa704041a8bf0026ed755ed07e": { - "model_module": "@jupyter-widgets/output", - "model_name": "OutputModel", - "model_module_version": "1.0.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_1b671855504d4104b5cebff3edfc244d", - "msg_id": "", - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "Sampling chain 1, 0 divergences \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 0%\u001b[0m \u001b[36m0:00:00\u001b[0m\n", - "text/html": "
Sampling chain 1, 0 divergences ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:00\n
\n" - }, - "metadata": {} - } - ] - } - }, - "1b671855504d4104b5cebff3edfc244d": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5969efae24fd4b1baeaf30d6bcbedfe6": { - "model_module": "@jupyter-widgets/output", - "model_name": "OutputModel", - "model_module_version": "1.0.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_8955971da43241e9857ec6047c192fb5", - "msg_id": "", - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m\u001b[38;5;237m━\u001b[0m \u001b[35m 96%\u001b[0m \u001b[36m0:00:01\u001b[0m\n", - "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸  96% 0:00:01\n
\n" - }, - "metadata": {} - } - ] - } - }, - "8955971da43241e9857ec6047c192fb5": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - } - } - } + "id": "swdmYItOAvjp", + "outputId": "c524cb8b-1ada-42b3-9b16-88aec0fdc8c3" + }, + "outputs": [], + "source": [ + "# !git clone -b pymc_dev --single-branch https://github.com/meraldoantonio/skpro.git\n", + "# !pip install --editable skpro[dev,test]\n", + "# !pip uninstall pymc -y\n", + "# !pip install pymc==5.15.0" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ZUj41v7ne9eY" + }, + "source": [ + "Note: after running the above cell, remember to restart the session for the changes to take effect." + ] }, - "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "HAxBG7mR2Ar1" + }, + "source": [ + "# Introduction" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "id": "RQirXZwKipys" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import pymc as pm\n", + "import matplotlib.pyplot as plt\n", + "import arviz as az\n", + "from skpro.regression.bayesian import BayesianLinearRegressor" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RdBN6n_m_0me" + }, + "source": [ + "This notebook serves to demonstrate the use of the `skpro`'s `BayesianLinearRegressor` regressor. This class implements Bayesian linear regression using `PyMC` as a backend. It assumes weakly-informative Bayesian priors for both the intercepts and slopes of the model.\n", + "\n", + "Compared to a traditional OLS Linear Regression, Bayesian Linear Regression offers several benefits:\n", + "\n", + "1. It provides full posterior distributions of model parameters, allowing for direct assessment of uncertainty in predictions.\n", + "2. It enables the inclusion of prior information or beliefs about parameters, improving estimates when data is limited.\n", + "3. It regularizes parameter estimates through priors, reducing overfitting compared to traditional linear regression.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "2RI4KS5__80T" + }, + "source": [ + "## Data Generation" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "HiSOh5L6AFuh" + }, + "source": [ + "We will first create synthetic data with just one feature (`feature1`) and 50 data points. The true relationship between the data $\\mathbf{x}$ and the target variable ($y_{\\text{true}}$) is given by the equation:\n", + "\n", + "\\begin{equation}\n", + "y_{\\text{true}} = \\text{intercept}_{\\text{true}} + \\mathbf{x} \\cdot \\mathbf{m}_{\\text{true}}\n", + "\\end{equation}\n", + "\n", + "\n", + "where $\\text{intercept}_{\\text{true}} = 1$ and $\\mathbf{m}_{\\text{true}} = 2$.\n", + "\n", + "The observed target values ($y_{\\text{train}}$) are generated by adding Gaussian noise to the true target values:\n", + "\n", + "\\begin{equation}\n", + "y = y_{\\text{true}} + \\mathcal{N}(0, \\sigma_{\\text{true}})\n", + "\\end{equation}\n", + "Here, $\\sigma_{\\text{true}} = 0.5$.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "xo4qpkVhisFX", + "outputId": "44218333-4b7d-42f7-9b02-b8f9a2caf30d" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "# Environment Set Up" + "data": { + "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", + "
feature1y_truey_train
00.0205841.0411691.203211
10.0343891.0687771.807724
20.0464501.0929010.770341
30.0580841.1161670.885848
40.0650521.1301031.112190
\n", + "
" ], - "metadata": { - "id": "Ac4ZP2Yb1yu9" - } + "text/plain": [ + " feature1 y_true y_train\n", + "0 0.020584 1.041169 1.203211\n", + "1 0.034389 1.068777 1.807724\n", + "2 0.046450 1.092901 0.770341\n", + "3 0.058084 1.116167 0.885848\n", + "4 0.065052 1.130103 1.112190" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "N = 50\n", + "np.random.seed(42)\n", + "# Creating 50 random data points containing 1 feature\n", + "feature1 = np.random.uniform(0, 1, N)\n", + "X_train = pd.DataFrame({'feature1': feature1})\n", + "\n", + "# Set the relationship between the feature and the target variable\n", + "TRUE_INTERCEPT = 1\n", + "TRUE_SLOPES = np.array([2])\n", + "TRUE_SIGMA = 0.5\n", + "\n", + "# Calculating the true target variable\n", + "y_true = TRUE_INTERCEPT + np.dot(X_train, TRUE_SLOPES)\n", + "y_train = y_true + np.random.normal(0, TRUE_SIGMA, size=len(X_train))\n", + "\n", + "# Combine the features and targets into a single DataFrame\n", + "train_data = pd.concat([X_train, pd.Series(y_true, name='y_true'), pd.Series(y_train, name='y_train')], axis=1)\n", + "train_data = train_data.sort_values(by=\"feature1\")\n", + "train_data = train_data.reset_index(drop=True)\n", + "\n", + "# Display the train_data DataFrame\n", + "train_data.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zUygtX7Ad698" + }, + "source": [ + "The line chart below plots the relationship between `feature1` and the targets - both the theoretical `y_true`, represented by the red line, and the observed `y_train`, represented by the blue dots." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 564 }, + "id": "QVyAMRueJ6F-", + "outputId": "0e190fed-d7d6-48c8-81bf-77d88aec530c" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "The code below downloads the relevant `skpro` development branch from github and install it.\n", - "\n", - "It also \"corrects\" the version of `pymc` that comes pre-installed on Google Colab." - ], - "metadata": { - "id": "sQQlIVzx2D-i" - } + "data": { + "image/png": "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kcHGkRERERGRI3GqduREDc1b4Q65hxQ6fanVcZ2+FHIPKbwVTlUOSEREREQNjIkTNWkh/l4I1aiQpdVZzH4KgoAsrQ5hGm+E+HvZKUIiIiIicgRMnKhJk0oliIkMQjMvGdKyC1BQZECpUUBBkQFp2QVo5iXD+MhA7h1ERERE1MRx/VETwg1eresWqMbsqDDTPk6X88R9nCKCfDE+MpCtyIlqib9riIjIFTFxaiK4wWvVugWqER7gw5s9onri7xoiInJVTJyaAG7wWjNSqQTtW6jsHQaR0+LvGiIicmWscXJx3OCViGyBv2uIiMjVMXFycdzglYhsgb9riIjI1TFxcnGmDV5llW/wWlzCDV6JqH74u4aIiFwdEycXxw1eicgW+LuGiIhcHRMnF8cNXonIFvi7hoiIXB0TJxfHDV6JyBb4u4aIiFydRKj40WATkJeXB7VaDa1WCx8fH3uHYxPW9lYJ03hzg1cialD8XUNERM6mprkBF5s3EdzglYhsgb9riIjIVTFxakK4wSsR2QJ/1xARkStijRMREREREVE1mDgRERERERFVg4kTERERERFRNZg4ERERERERVYPNIVyE0SiwixURERERUSNh4uQCrO2bEqpRISYyiPumEBERERE1ACZOTu54phaf7EhFbqEeAWollGo36PSlSMnQIvOaDrOjwpg8ERERERHVE2ucnJjRKCAxOQO5hXqEalRQKdzhJpVApXBHqEaF3EI91iRnwmgU7B0qEREREZFTY+LkxNJzCpGWXYAAtRISiXk9k0QiQYBaidTsfKTnFNopQiIiIiIi18DEyYnlFxlQXGKEUuZmdVwpc0NxiRH5RQYbR0ZERERE5FqYODkxb4U75B5S6PSlVsd1+lLIPaTwVrCUjYiIiIioPpg4ObEQfy+EalTI0uogCOZ1TIIgIEurQ5jGGyH+XnaKkIiIiIjINTBxcmJSqQQxkUFo5iVDWnYBCooMKDUKKCgyIC27AM28ZBgfGcj9nIiIiIiI6omJk5PrFqjG7KgwdA9S47pOj/Srhbiu0yMiyJetyImIiIiIGgiLX1xAt0A1wgN8kJ5TiPwiA7wV7gjx9+JMExERERFRA2Hi5CKkUgnat1DZOwwiIiIiIpfEpXpERERERETVYOJERERERERUDSZORERERERE1WDiREREREREVA0mTkRERERERNVg4kRE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3nqqc+PGDY0fP14vvviik5KirWhOTSUnJ+vnn3/W+vXrdebMGWVlZalfv35OTA1XZW895eXlafz48Zo0aZJOnTql7du36/jx45o8ebKTk8MV3bp1S1FRUfrqq6+aNN/hx+UGjRo2bJhJS0trMNavXz8zZ86cR86fPXu26devX4Oxd9991zz77LMtlhFti7019Sj9+/c3ixYtcnQ0tEHNraeUlBQzf/58s2DBAhMVFdWCCdHW2FtT+/btM/7+/ubq1avOiIc2xt56Wrp0qQkPD28wtmLFChMSEtJiGdE2STK7du1qdI6jj8tZcWpEdXW1CgoKNHr06Abjo0ePVn5+/iOf8+uvvz40/6WXXtKJEyd0//79FsuKtqE5NfVPtbW1slqt6ty5c0tERBvS3HrKzMxUSUmJFixY0NIR0cY0p6Z++uknxcbGasmSJQoODlZkZKTS09N1584dZ0SGC2tOPcXHx6u8vFx79+6VMUZ//fWXduzYoVdffdUZkfGYcfRxuYejgj2OKisrVVNTo+7duzcY7969uy5fvvzI51y+fPmR8x88eKDKykoFBga2WF64vubU1D8tW7ZMt27dUnJycktERBvSnHo6e/as5syZo2PHjsnDg/8C0FBzaurcuXPKy8tTu3bttGvXLlVWVmratGm6du0a33N6wjWnnuLj47Vp0yalpKTo7t27evDggV577TV9+eWXzoiMx4yjj8tZcWoCi8XS4L4x5qExW/MfNY4nl701VScrK0sLFy7U1q1b1a1bt5aKhzamqfVUU1Ojt99+W4sWLVJkZKSz4qENsuc9qra2VhaLRZs2bdKwYcOUlJSk5cuXa8OGDaw6QZJ99VRcXKzp06fr448/VkFBgfbv36/z588rLS3NGVHxGHLkcTkfNzaiS5cucnd3f+hTkStXrjzUvdbp0aPHI+d7eHgoICCgxbKibWhOTdXZunWrJk2apO3bt2vkyJEtGRNthL31ZLVadeLECRUWFur999+X9PdBrzFGHh4eOnjwoF544QWnZIdras57VGBgoIKDg+Xv718/9vTTT8sYo/LyckVERLRoZriu5tTT4sWLNWLECH300UeSpMGDB8vX11cJCQnKyMjgzB3YxdHH5aw4NcLLy0sxMTHKyclpMJ6Tk6P4+PhHPicuLu6h+QcPHlRsbKw8PT1bLCvahubUlPT3SlNqaqo2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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot feature1 vs true_target\n", + "plt.figure(figsize=(10, 6))\n", + "plt.scatter(train_data['feature1'], train_data['y_train'], label='Observed `y-train` (containing noise)', alpha=0.6)\n", + "plt.plot(train_data['feature1'], train_data['y_true'], color='red', label='Theoretical `y_true`', linewidth=2)\n", + "plt.xlabel('feature1')\n", + "plt.ylabel('y_true & y_train')\n", + "plt.title('feature1 vs y_true & y_train')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "uB-IoGsjd3vA" + }, + "source": [ + "We will also create synthetic testing data to evaluate the models' performance on new, unseen data points. The following code generates 30 new testing data points." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 }, + "id": "X0ddXs1Ii0Yb", + "outputId": "5f04ae6d-1dd8-475d-ac91-cc77564c3a24" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "!git clone -b pymc_dev --single-branch https://github.com/meraldoantonio/skpro.git\n", - "!pip install --editable skpro[dev,test]\n", - "!pip uninstall pymc -y\n", - "!pip install pymc==5.15.0" + "data": { + "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", + "
feature1
00.000000
10.034483
20.068966
30.103448
40.137931
\n", + "
" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "swdmYItOAvjp", - "outputId": "c524cb8b-1ada-42b3-9b16-88aec0fdc8c3" - }, - "execution_count": 1, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Cloning into 'skpro'...\n", - "remote: Enumerating objects: 3383, done.\u001b[K\n", - "remote: Counting objects: 100% (77/77), done.\u001b[K\n", - "remote: Compressing objects: 100% (42/42), done.\u001b[K\n", - "remote: Total 3383 (delta 51), reused 58 (delta 35), pack-reused 3306\u001b[K\n", - "Receiving objects: 100% (3383/3383), 2.79 MiB | 15.37 MiB/s, done.\n", - "Resolving deltas: 100% (2170/2170), done.\n", - "Obtaining file:///content/skpro\n", - " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", - " Checking if build backend supports build_editable ... \u001b[?25l\u001b[?25hdone\n", - " Getting requirements to build editable ... \u001b[?25l\u001b[?25hdone\n", - " Preparing editable metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", - "\u001b[33mWARNING: skpro 2.3.0 does not provide the extra 'test'\u001b[0m\u001b[33m\n", - "\u001b[0mRequirement already satisfied: numpy<1.27,>=1.21.0 in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (1.25.2)\n", - "Requirement already satisfied: pandas<2.3.0,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (2.0.3)\n", - "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (24.0)\n", - "Collecting scikit-base<0.8.0,>=0.6.1 (from skpro==2.3.0)\n", - " Downloading scikit_base-0.7.8-py3-none-any.whl (130 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m130.1/130.1 kB\u001b[0m \u001b[31m2.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: scikit-learn<1.5.0,>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (1.2.2)\n", - "Requirement already satisfied: scipy<2.0.0,>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (1.11.4)\n", - "Collecting backoff (from skpro==2.3.0)\n", - " Downloading backoff-2.2.1-py3-none-any.whl (15 kB)\n", - "Collecting httpx (from skpro==2.3.0)\n", - " Downloading httpx-0.27.0-py3-none-any.whl (75 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m75.6/75.6 kB\u001b[0m \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting pre-commit (from skpro==2.3.0)\n", - " Downloading pre_commit-3.7.1-py2.py3-none-any.whl (204 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m204.3/204.3 kB\u001b[0m \u001b[31m17.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: pytest in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (7.4.4)\n", - "Collecting pytest-cov (from skpro==2.3.0)\n", - " Downloading pytest_cov-5.0.0-py3-none-any.whl (21 kB)\n", - "Collecting pytest-randomly (from skpro==2.3.0)\n", - " Downloading pytest_randomly-3.15.0-py3-none-any.whl (8.7 kB)\n", - "Collecting pytest-timeout (from skpro==2.3.0)\n", - " Downloading pytest_timeout-2.3.1-py3-none-any.whl (14 kB)\n", - "Collecting pytest-xdist (from skpro==2.3.0)\n", - " Downloading pytest_xdist-3.6.1-py3-none-any.whl (46 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m46.1/46.1 kB\u001b[0m \u001b[31m4.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: wheel in /usr/local/lib/python3.10/dist-packages (from skpro==2.3.0) (0.43.0)\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas<2.3.0,>=1.1.0->skpro==2.3.0) (2.8.2)\n", - "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas<2.3.0,>=1.1.0->skpro==2.3.0) (2023.4)\n", - "Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas<2.3.0,>=1.1.0->skpro==2.3.0) (2024.1)\n", - "Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<1.5.0,>=0.24.0->skpro==2.3.0) (1.4.2)\n", - "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<1.5.0,>=0.24.0->skpro==2.3.0) (3.5.0)\n", - "Requirement already satisfied: anyio in /usr/local/lib/python3.10/dist-packages (from httpx->skpro==2.3.0) (3.7.1)\n", - "Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx->skpro==2.3.0) (2024.6.2)\n", - "Collecting httpcore==1.* (from httpx->skpro==2.3.0)\n", - " Downloading httpcore-1.0.5-py3-none-any.whl (77 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.9/77.9 kB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: idna in /usr/local/lib/python3.10/dist-packages (from httpx->skpro==2.3.0) (3.7)\n", - "Requirement already satisfied: sniffio in /usr/local/lib/python3.10/dist-packages (from httpx->skpro==2.3.0) (1.3.1)\n", - "Collecting h11<0.15,>=0.13 (from httpcore==1.*->httpx->skpro==2.3.0)\n", - " Downloading h11-0.14.0-py3-none-any.whl (58 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m6.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting cfgv>=2.0.0 (from pre-commit->skpro==2.3.0)\n", - " Downloading cfgv-3.4.0-py2.py3-none-any.whl (7.2 kB)\n", - "Collecting identify>=1.0.0 (from pre-commit->skpro==2.3.0)\n", - " Downloading identify-2.5.36-py2.py3-none-any.whl (98 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m99.0/99.0 kB\u001b[0m \u001b[31m11.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting nodeenv>=0.11.1 (from pre-commit->skpro==2.3.0)\n", - " Downloading nodeenv-1.9.1-py2.py3-none-any.whl (22 kB)\n", - "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from pre-commit->skpro==2.3.0) (6.0.1)\n", - "Collecting virtualenv>=20.10.0 (from pre-commit->skpro==2.3.0)\n", - " Downloading virtualenv-20.26.2-py3-none-any.whl (3.9 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.9/3.9 MB\u001b[0m \u001b[31m36.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: iniconfig in /usr/local/lib/python3.10/dist-packages (from pytest->skpro==2.3.0) (2.0.0)\n", - "Requirement already satisfied: pluggy<2.0,>=0.12 in /usr/local/lib/python3.10/dist-packages (from pytest->skpro==2.3.0) (1.5.0)\n", - "Requirement already satisfied: exceptiongroup>=1.0.0rc8 in /usr/local/lib/python3.10/dist-packages (from pytest->skpro==2.3.0) (1.2.1)\n", - "Requirement already satisfied: tomli>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from pytest->skpro==2.3.0) (2.0.1)\n", - "Collecting coverage[toml]>=5.2.1 (from pytest-cov->skpro==2.3.0)\n", - " Downloading coverage-7.5.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (231 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m231.6/231.6 kB\u001b[0m \u001b[31m10.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting execnet>=2.1 (from pytest-xdist->skpro==2.3.0)\n", - " Downloading execnet-2.1.1-py3-none-any.whl (40 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m40.6/40.6 kB\u001b[0m \u001b[31m2.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas<2.3.0,>=1.1.0->skpro==2.3.0) (1.16.0)\n", - "Collecting distlib<1,>=0.3.7 (from virtualenv>=20.10.0->pre-commit->skpro==2.3.0)\n", - " Downloading distlib-0.3.8-py2.py3-none-any.whl (468 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m468.9/468.9 kB\u001b[0m \u001b[31m24.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: filelock<4,>=3.12.2 in /usr/local/lib/python3.10/dist-packages (from virtualenv>=20.10.0->pre-commit->skpro==2.3.0) (3.14.0)\n", - "Requirement already satisfied: platformdirs<5,>=3.9.1 in /usr/local/lib/python3.10/dist-packages (from virtualenv>=20.10.0->pre-commit->skpro==2.3.0) (4.2.2)\n", - "Building wheels for collected packages: skpro\n", - " Building editable for skpro (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for skpro: filename=skpro-2.3.0-0.editable-py3-none-any.whl size=9518 sha256=f5c29b43c43defa295b1d1d3e20807c3ee947b804489d169f5a5e1dad138b88d\n", - " Stored in directory: /tmp/pip-ephem-wheel-cache-47ejwvrc/wheels/18/22/02/ac6e62f41612ef012e5a6b0b2fe4f17078a1e950fcc60872d4\n", - "Successfully built skpro\n", - "Installing collected packages: distlib, virtualenv, scikit-base, nodeenv, identify, h11, execnet, coverage, cfgv, backoff, pytest-xdist, pytest-timeout, pytest-randomly, pre-commit, httpcore, skpro, pytest-cov, httpx\n", - "Successfully installed backoff-2.2.1 cfgv-3.4.0 coverage-7.5.3 distlib-0.3.8 execnet-2.1.1 h11-0.14.0 httpcore-1.0.5 httpx-0.27.0 identify-2.5.36 nodeenv-1.9.1 pre-commit-3.7.1 pytest-cov-5.0.0 pytest-randomly-3.15.0 pytest-timeout-2.3.1 pytest-xdist-3.6.1 scikit-base-0.7.8 skpro-2.3.0 virtualenv-20.26.2\n", - "Found existing installation: pymc 5.10.4\n", - "Uninstalling pymc-5.10.4:\n", - " Successfully uninstalled pymc-5.10.4\n", - "Collecting pymc==5.15.0\n", - " Downloading pymc-5.15.0-py3-none-any.whl (482 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m482.7/482.7 kB\u001b[0m \u001b[31m8.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: arviz>=0.13.0 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (0.15.1)\n", - "Requirement already satisfied: cachetools>=4.2.1 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (5.3.3)\n", - "Requirement already satisfied: cloudpickle in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (2.2.1)\n", - "Requirement already satisfied: numpy>=1.15.0 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (1.25.2)\n", - "Requirement already satisfied: pandas>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (2.0.3)\n", - "Collecting pytensor<2.21,>=2.20 (from pymc==5.15.0)\n", - " Downloading pytensor-2.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.7/1.7 MB\u001b[0m \u001b[31m46.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: rich>=13.7.1 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (13.7.1)\n", - "Requirement already satisfied: scipy>=1.4.1 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (1.11.4)\n", - "Requirement already satisfied: typing-extensions>=3.7.4 in /usr/local/lib/python3.10/dist-packages (from pymc==5.15.0) (4.12.1)\n", - "Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc==5.15.0) (67.7.2)\n", - "Requirement already satisfied: matplotlib>=3.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc==5.15.0) (3.7.1)\n", - "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc==5.15.0) (24.0)\n", - "Requirement already satisfied: xarray>=0.21.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc==5.15.0) (2023.7.0)\n", - "Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc==5.15.0) (1.3.0)\n", - "Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc==5.15.0) (0.7.0)\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc==5.15.0) (2.8.2)\n", - "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc==5.15.0) (2023.4)\n", - "Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc==5.15.0) (2024.1)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from pytensor<2.21,>=2.20->pymc==5.15.0) (3.14.0)\n", - "Requirement already satisfied: etuples in /usr/local/lib/python3.10/dist-packages (from pytensor<2.21,>=2.20->pymc==5.15.0) (0.3.9)\n", - "Requirement already satisfied: logical-unification in /usr/local/lib/python3.10/dist-packages (from pytensor<2.21,>=2.20->pymc==5.15.0) (0.4.6)\n", - "Requirement already satisfied: miniKanren in /usr/local/lib/python3.10/dist-packages (from pytensor<2.21,>=2.20->pymc==5.15.0) (1.0.3)\n", - "Requirement already satisfied: cons in /usr/local/lib/python3.10/dist-packages (from pytensor<2.21,>=2.20->pymc==5.15.0) (0.4.6)\n", - "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc==5.15.0) (3.0.0)\n", - "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc==5.15.0) (2.16.1)\n", - "Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf>=1.0.2->arviz>=0.13.0->pymc==5.15.0) (3.9.0)\n", - "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich>=13.7.1->pymc==5.15.0) (0.1.2)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2->arviz>=0.13.0->pymc==5.15.0) (1.2.1)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2->arviz>=0.13.0->pymc==5.15.0) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2->arviz>=0.13.0->pymc==5.15.0) (4.53.0)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2->arviz>=0.13.0->pymc==5.15.0) (1.4.5)\n", - "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2->arviz>=0.13.0->pymc==5.15.0) (9.4.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2->arviz>=0.13.0->pymc==5.15.0) (3.1.2)\n", - "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=0.24.0->pymc==5.15.0) (1.16.0)\n", - "Requirement already satisfied: toolz in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.21,>=2.20->pymc==5.15.0) (0.12.1)\n", - "Requirement already satisfied: multipledispatch in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.21,>=2.20->pymc==5.15.0) (1.0.0)\n", - "Installing collected packages: pytensor, pymc\n", - " Attempting uninstall: pytensor\n", - " Found existing installation: pytensor 2.18.6\n", - " Uninstalling pytensor-2.18.6:\n", - " Successfully uninstalled pytensor-2.18.6\n", - "Successfully installed pymc-5.15.0 pytensor-2.20.0\n" - ] - } + "text/plain": [ + " feature1\n", + "0 0.000000\n", + "1 0.034483\n", + "2 0.068966\n", + "3 0.103448\n", + "4 0.137931" ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Generate new data points for prediction\n", + "N_test = 30\n", + "X_test = pd.DataFrame({'feature1': np.linspace(0, 1, N_test)})\n", + "X_test.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4cwRHryxiA7t" + }, + "source": [ + "# OLS" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "E5LjqpmoiDV1" + }, + "source": [ + "To determine the relationship between the features and the target variable, we will train and inspect a model.\n", + "\n", + "First, we'll train an Ordinary Least Squares (OLS) regression model using the `statsmodels` library." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "id": "P7Af9sHKKdx8" + }, + "outputs": [], + "source": [ + "import statsmodels.api as sm\n", + "\n", + "# Fit a linear regression model using statsmodels\n", + "X_train_with_const = sm.add_constant(X_train)\n", + "ols_model = sm.OLS(y_train, X_train_with_const).fit()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "T65gKYllh18N" + }, + "source": [ + "When fitted to the data, the `ols_model` above use maximum likelihood to find estimates of the model parameters. A downside of this approach is that it only gives point estimates - that is, single values for the slope and intercept without providing information about the distribution of these estimates.\n", + "\n", + "\n", + "The code below shows how we can extract out the estimated parameters from `ols_model`. As we can see, the point estimates for the slopes, intercept, and standard deviation are quite close to the true values we set earlier." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "Wk34Pkp87aM4", + "outputId": "5c51cafe-0779-4080-f134-0b8366ef8c9c" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "Note: after running the above cell, remember to restart the session for the changes to take effect." - ], - "metadata": { - "id": "ZUj41v7ne9eY" - } + "name": "stdout", + "output_type": "stream", + "text": [ + "True data generating model:\n", + "y_true = 2.00x + 1.00\n", + "True standard deviation: 0.5\n", + "\n", + "Estimated MLE model:\n", + "y_hat = 1.89x + 1.05\n", + "Standard deviation of residuals: 0.46\n" + ] }, { - "cell_type": "markdown", - "source": [ - "# Introduction" - ], - "metadata": { - "id": "HAxBG7mR2Ar1" - } + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/53/dw8kq00n61732rfy3lh4k2600000gn/T/ipykernel_8652/573544366.py:10: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n", + " print(f'y_hat = {ols_model.params[1]:.2f}x + {ols_model.params[0]:.2f}')\n" + ] + } + ], + "source": [ + "y_train_pred = ols_model.predict(X_train_with_const)\n", + "residuals = y_train_pred - y_train\n", + "\n", + "# Print the true model and estimated model\n", + "print('True data generating model:')\n", + "print(f'y_true = {TRUE_SLOPES[0]:.2f}x + {TRUE_INTERCEPT:.2f}')\n", + "print(f'True standard deviation: {TRUE_SIGMA}\\n')\n", + "\n", + "print('Estimated MLE model:')\n", + "print(f'y_hat = {ols_model.params[1]:.2f}x + {ols_model.params[0]:.2f}')\n", + "print(f'Standard deviation of residuals: {residuals.std():.2f}')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "evk3LGh6nEkU" + }, + "source": [ + "\n", + "Using the trained `ols_model`, we can also create point predictions on the unseen `X_test` along with the corresponding confidence interval. The latter provides a range within which we expect the true parameter to lie with a certain level of confidence (e.g., 95%)." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 564 }, + "id": "rPVevWfb2xyY", + "outputId": "ffd8191e-9b6d-4321-8edb-05159563e741" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "id": "RQirXZwKipys" - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "import pymc as pm\n", - "import matplotlib.pyplot as plt\n", - "import arviz as az\n", - "from skpro.regression.bayesian import BayesianLinearRegressor" + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAIhCAYAAAB5deq6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACPJElEQVR4nOzdd3xUVfoG8OeWqemhBgghoRcpwrIEBVSa4LK49p8NEHURXVTEAq6CFWVREQtFKVLEBrqgCGIBRUEpsYKsJQgiCAikZ2buvef3x50ZM6ROMpOZJM/388kuc+femTPJJObNOed5JSGEABEREREREZVLjvQAiIiIiIiIoh0LJyIiIiIiokqwcCIiIiIiIqoECyciIiIiIqJKsHAiIiIiIiKqBAsnIiIiIiKiSrBwIiIiIiIiqgQLJyIiIiIiokqwcCIiIiIiIqoECyciCoulS5dCkiT/h6qqaNWqFcaNG4dDhw7VyhjatGmDsWPH+m9v3rwZkiRh8+bNQT3OZ599hhkzZuDUqVOl7jvnnHNwzjnn1Gic0eb011RYWIgZM2aU+XmbMWMGJEnC8ePHq/18K1euRK9evWC329G4cWNceeWVOHjwYKnz2rRpE/Ce8n1MmDAh4LyDBw9i5MiRiI+PR+fOnfHf//631GO9/vrraNSoEY4dOxbUWL/++muMGzcO6enpsNvtiI2NxZlnnolZs2bhxIkTwb3wIGVlZWHQoEFISEiAJEmYM2dOUO/psWPHok2bNmEdY20YO3YsYmNjq3Xtnj17MGPGDOzfvz+0gwoT38/RujJeovpOjfQAiKh+W7JkCTp16oSioiJ8/PHHmDlzJrZs2YJvvvkGMTExtTqWM888E9u2bUOXLl2Cuu6zzz7DAw88gLFjxyIxMTHgvueffz6EI4wOp7+mwsJCPPDAAwAQ8iLxmWeewaRJk3D99dfjsccew6+//or77rsPAwYMQFZWFpKSkgLOP+usszB79uyAY82aNQu4PWbMGLhcLrzxxhvYvHkzLrvsMuzZswdt27YFAOTk5ODWW2/F7Nmz0aRJkyqP9YUXXsDEiRPRsWNH3HnnnejSpQs8Hg927tyJ+fPnY9u2bXjzzTer+Zmo3HXXXYeCggK88sorSEpKQps2beB0Oqv1nm6o9uzZgwceeADnnHNOvSgiiah2sXAiorDq1q0b+vTpAwA499xzoes6HnroIbz11lu46qqryrymsLAQTqcz5GOJj49Hv379QvqY9fEX1tp6TS6XC/fddx9GjRqFF154IeD5+/fvj9mzZ+ORRx4JuCYxMbHCr2FhYSE2b96MTz/9FJmZmRg2bBjeeOMNbNq0yV843X333ejYsSPGjRtX5bFu27YNN910E4YOHYq33noLNpvNf9/QoUNxxx13YMOGDVV+vOr49ttvccMNN2DEiBEBx0P9nqbghetnFhFFFy7VI6Ja5fsl75dffgHw57Kbb775BsOGDUNcXBwGDx4MAHC73Xj44YfRqVMn2Gw2NGnSBOPGjSu1vMrj8eCuu+5C8+bN4XQ6cfbZZ+OLL74o9dzlLWv6/PPPMWrUKDRq1Ah2ux1t27bFbbfdBsBcinbnnXcCANLT0/3Lw3yPUdZSvRMnTmDixIlo2bIlrFYrMjIycO+998LlcgWcJ0kSbrnlFixfvhydO3eG0+lEjx498Pbbbwecd+zYMdx4441ITU31fx7OOussvP/+++V+nr/77jtIkoTXX3/df2zXrl2QJAldu3YNOPfvf/87evfu7b9d8jXt37/fPyvzwAMP+F9/ySWQAPD777/j//7v/5CQkIBmzZrhuuuuQ05OTrnjA8xCICcnByNHjgw4npmZieTkZKxevbrC68vidrshhAiYzYyNjUVxcTEAc/Zw2bJlWLBgQVCP++ijj0KSJCxcuDCgaPKxWq34+9//7r9tGAZmzZrlf+82bdoU1157LX799deA68455xx069YNO3bswIABA+B0OpGRkYHHHnsMhmEA+HO5lqZpmDdvnv9rAJT/nl66dCk6duwIm82Gzp07Y9myZeV+vqryPdamTRv87W9/w4YNG3DmmWfC4XCgU6dOWLx4canHPHTokP/9arVa0aJFC1xyySX4/fff/efk5uZiypQpSE9Ph9VqRcuWLXHbbbehoKCggq9C+aoyvqVLl+LSSy8FYP4Rx/d5XLp0qf+c999/H4MHD0Z8fDycTifOOussfPDBBwHP5Vueunv3blxyySVISkpC27ZtMWfOHEiShB9//LHU+O6++25YrVb/ktZNmzZh9OjRaNWqFex2O9q1a4d//vOfNVrySkS1QBARhcGSJUsEALFjx46A408//bQAIBYuXCiEEGLMmDHCYrGINm3aiJkzZ4oPPvhAbNy4Uei6Ls4//3wRExMj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dhw4cAATJkwAYC6zu/baa/3nT5gwAb/88gsmT56MvXv3YvHixVi0aBGmTJkSqZdAREREREQNQMSW6gHA5Zdfjj/++AMPPvggDh8+jG7dumH9+vVIS0sDABw+fDigp1N6ejrWr1+P22+/Hc899xxatGiBuXPn4uKLL47USyAiIiIiogYgon2cIoF9nIiIiIiICKgjfZyIiIiIiIjqChZORERERERElWDhREREREREVAkWTkRERERERJWIaKpeJPiyMHJzcyM8EiIiIiIiiiRfTVCVvLwGVzjl5eUBAFJTUyM8EiIiIiIiigZ5eXlISEio8JwGF0duGAZ+++03xMXFQZKkSA8Hubm5SE1NxcGDBxmPTlXC9wwFg+8XChbfMxQsvmcoWNH0nhFCIC8vDy1atIAsV7yLqcHNOMmyjFatWkV6GKXEx8dH/I1DdQvfMxQMvl8oWHzPULD4nqFgRct7prKZJh+GQxAREREREVWChRMREREREVElWDhFmM1mw/Tp02Gz2SI9FKoj+J6hYPD9QsHie4aCxfcMBauuvmcaXDgEERERERFRsDjjREREREREVAkWTkRERERERJVg4URERERERFQJFk5ERERERESVYOEUZs8//zzS09Nht9vRu3dvfPLJJxWev2XLFvTu3Rt2ux0ZGRmYP39+LY2UokUw75k1a9Zg6NChaNKkCeLj45GZmYmNGzfW4mgpGgT7c8bn008/haqq6NmzZ3gHSFEn2PeMy+XCvffei7S0NNhsNrRt2xaLFy+updFSNAj2PbNy5Ur06NEDTqcTKSkpGDduHP74449aGi1F2scff4xRo0ahRYsWkCQJb731VqXX1IXfgVk4hdGrr76K2267Dffeey+ysrIwYMAAjBgxAgcOHCjz/OzsbIwcORIDBgxAVlYWpk2bhkmTJmH16tW1PHKKlGDfMx9//DGGDh2K9evXY9euXTj33HMxatQoZGVl1fLIKVKCfc/45OTk4Nprr8XgwYNraaQULarznrnsssvwwQcfYNGiRdi3bx9WrVqFTp061eKoKZKCfc9s3boV1157LcaPH4/vvvsOr7/+Onbs2IHrr7++lkdOkVJQUIAePXrg2WefrdL5deZ3YEFh07dvXzFhwoSAY506dRL33HNPmeffddddolOnTgHH/vnPf4p+/fqFbYwUXYJ9z5SlS5cu4oEHHgj1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", + "text/plain": [ + "
" ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Predict y_test using the linear model\n", + "X_test_with_const = sm.add_constant(X_test)\n", + "predictions = ols_model.get_prediction(X_test_with_const)\n", + "pred_summary = predictions.summary_frame(alpha=0.05)\n", + "\n", + "# Extract predicted values and confidence intervals\n", + "y_test_pred = pred_summary['mean']\n", + "conf_int_lower = pred_summary['obs_ci_lower']\n", + "conf_int_upper = pred_summary['obs_ci_upper']\n", + "\n", + "# Plot the predictions with the confidence intervals\n", + "plt.figure(figsize=(10, 6))\n", + "plt.scatter(X_test['feature1'], y_test_pred, color='blue', label='Predicted values')\n", + "plt.fill_between(X_test['feature1'], conf_int_lower, conf_int_upper, color='lightblue', alpha=0.4, label='95% Confidence Interval')\n", + "plt.xlabel('Feature 1')\n", + "plt.ylabel('Predicted Target')\n", + "plt.title('Predictions with 95% Confidence Interval')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "v0cZgX_YnwA9" + }, + "source": [ + "# Bayesian Inference" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "OrAkF1x4u6hn" + }, + "source": [ + "Now let's switch our attention to bayesian linear regression. Bayesian linear regression estimates the relationship between variables by incorporating prior knowledge or beliefs along with the observed data. Instead of providing single point estimates for the model parameters (like the slope and intercept), it calculates their probability distributions.\n", + "\n", + "`skpro` provides an implementation of Bayesian linear regression through the `BayesianLinearRegressor` class. Here, we create an instance of the `BayesianLinearRegressor` and fit it to our training data." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 177, + "referenced_widgets": [ + "5041e82f2cec4d18afadc01334823e21", + "8bf13818fd184881993e49113f14aaa4", + "aaa3b0bdfa1d49169356cde19bae9c94", + "27aa1995a5e54ad5b61296623e65ca55", + "140c47265a9d4413bcd5d6cb82c8813a", + "4afa3bbfa3e94be2b99d17c0a0d236c6" + ] }, + "id": "yvgLcSFQiwpV", + "outputId": "2a2166e3-45ef-4eda-974b-61f5a09ca74a" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "This notebook serves to demonstrate the use of the `skpro`'s `BayesianLinearRegressor` regressor. This class implements Bayesian linear regression using `PyMC` as a backend. It assumes weakly-informative Bayesian priors for both the intercepts and slopes of the model.\n", - "\n", - "Compared to a traditional OLS Linear Regression, Bayesian Linear Regression offers several benefits:\n", - "\n", - "1. It provides full posterior distributions of model parameters, allowing for direct assessment of uncertainty in predictions.\n", - "2. It enables the inclusion of prior information or beliefs about parameters, improving estimates when data is limited.\n", - "3. It regularizes parameter estimates through priors, reducing overfitting compared to traditional linear regression.\n" - ], - "metadata": { - "id": "RdBN6n_m_0me" - } + "name": "stderr", + "output_type": "stream", + "text": [ + "Auto-assigning NUTS sampler...\n", + "Initializing NUTS using jitter+adapt_diag...\n", + "Multiprocess sampling (2 chains in 2 jobs)\n", + "NUTS: [intercept, slopes, noise]\n" + ] }, { - "cell_type": "markdown", - "source": [ - "## Data Generation" - ], - "metadata": { - "id": "2RI4KS5__80T" - } + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "cb6ae95d7cb64a73a3b105c92db0e0be", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "We will first create synthetic data with just one feature (`feature1`) and 50 data points. The true relationship between the data $\\mathbf{x}$ and the target variable ($y_{\\text{true}}$) is given by the equation:\n", - "\n", - "\\begin{equation}\n", - "y_{\\text{true}} = \\text{intercept}_{\\text{true}} + \\mathbf{x} \\cdot \\mathbf{m}_{\\text{true}}\n", - "\\end{equation}\n", - "\n", - "\n", - "where $\\text{intercept}_{\\text{true}} = 1$ and $\\mathbf{m}_{\\text{true}} = 2$.\n", - "\n", - "The observed target values ($y_{\\text{train}}$) are generated by adding Gaussian noise to the true target values:\n", - "\n", - "\\begin{equation}\n", - "y = y_{\\text{true}} + \\mathcal{N}(0, \\sigma_{\\text{true}})\n", - "\\end{equation}\n", - "Here, $\\sigma_{\\text{true}} = 0.5$.\n" + "data": { + "text/html": [ + "
\n"
       ],
-      "metadata": {
-        "id": "HiSOh5L6AFuh"
-      }
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
     },
     {
-      "cell_type": "code",
-      "source": [
-        "N = 50\n",
-        "np.random.seed(42)\n",
-        "# Creating 50 random data points containing 1 feature\n",
-        "feature1 = np.random.uniform(0, 1, N)\n",
-        "X_train = pd.DataFrame({'feature1': feature1})\n",
-        "\n",
-        "# Set the relationship between the feature and the target variable\n",
-        "TRUE_INTERCEPT = 1\n",
-        "TRUE_SLOPES = np.array([2])\n",
-        "TRUE_SIGMA = 0.5\n",
-        "\n",
-        "# Calculating the true target variable\n",
-        "y_true = TRUE_INTERCEPT + np.dot(X_train, TRUE_SLOPES)\n",
-        "y_train = y_true + np.random.normal(0, TRUE_SIGMA, size=len(X_train))\n",
-        "\n",
-        "# Combine the features and targets into a single DataFrame\n",
-        "train_data = pd.concat([X_train, pd.Series(y_true, name='y_true'), pd.Series(y_train, name='y_train')], axis=1)\n",
-        "train_data = train_data.sort_values(by=\"feature1\")\n",
-        "train_data = train_data.reset_index(drop=True)\n",
-        "\n",
-        "# Display the train_data DataFrame\n",
-        "train_data.head()"
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" ], - "metadata": { - "id": "xo4qpkVhisFX", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 206 - }, - "outputId": "44218333-4b7d-42f7-9b02-b8f9a2caf30d" - }, - "execution_count": 2, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " feature1 y_true y_train\n", - "0 0.020584 1.041169 1.203211\n", - "1 0.034389 1.068777 1.807724\n", - "2 0.046450 1.092901 0.770341\n", - "3 0.058084 1.116167 0.885848\n", - "4 0.065052 1.130103 1.112190" - ], - "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", - "
feature1y_truey_train
00.0205841.0411691.203211
10.0343891.0687771.807724
20.0464501.0929010.770341
30.0580841.1161670.885848
40.0650521.1301031.112190
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "variable_name": "train_data", - "summary": "{\n \"name\": \"train_data\",\n \"rows\": 50,\n \"fields\": [\n {\n \"column\": \"feature1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.2888832009796587,\n \"min\": 0.020584494295802447,\n \"max\": 0.9699098521619943,\n \"num_unique_values\": 50,\n \"samples\": [\n 0.18485445552552704,\n 0.7080725777960455,\n 0.5247564316322378\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"y_true\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5777664019593174,\n \"min\": 1.041168988591605,\n \"max\": 2.9398197043239884,\n \"num_unique_values\": 50,\n \"samples\": [\n 1.369708911051054,\n 2.416145155592091,\n 2.049512863264476\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"y_train\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7124113988130022,\n \"min\": 0.5727762857011593,\n \"max\": 3.6800929024136693,\n \"num_unique_values\": 50,\n \"samples\": [\n 1.6263426276077322,\n 1.534625077910724,\n 1.8949066753388686\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {}, - "execution_count": 2 - } + "text/plain": [ + "\n" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "The line chart below plots the relationship between `feature1` and the targets - both the theoretical `y_true`, represented by the red line, and the observed `y_train`, represented by the blue dots." - ], - "metadata": { - "id": "zUygtX7Ad698" - } + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling 2 chains for 1_000 tune and 2_000 draw iterations (2_000 + 4_000 draws total) took 1 seconds.\n", + "We recommend running at least 4 chains for robust computation of convergence diagnostics\n", + "Sampling: [y_obs]\n" + ] }, { - "cell_type": "code", - "source": [ - "# Plot feature1 vs true_target\n", - "plt.figure(figsize=(10, 6))\n", - "plt.scatter(train_data['feature1'], train_data['y_train'], label='Observed `y-train` (containing noise)', alpha=0.6)\n", - "plt.plot(train_data['feature1'], train_data['y_true'], color='red', label='Theoretical `y_true`', linewidth=2)\n", - "plt.xlabel('feature1')\n", - "plt.ylabel('y_true & y_train')\n", - "plt.title('feature1 vs y_true & y_train')\n", - "plt.legend()\n", - "plt.show()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 564 - }, - "id": "QVyAMRueJ6F-", - "outputId": "0e190fed-d7d6-48c8-81bf-77d88aec530c" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "bfa5c66355344989875bbfe227b0b397", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 3, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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\n" - }, - "metadata": {} - } + "text/plain": [ + "Output()" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "We will also create synthetic testing data to evaluate the models' performance on new, unseen data points. The following code generates 30 new testing data points." + "data": { + "text/html": [ + "
\n"
       ],
-      "metadata": {
-        "id": "uB-IoGsjd3vA"
-      }
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
     },
     {
-      "cell_type": "code",
-      "source": [
-        "# Generate new data points for prediction\n",
-        "N_test = 30\n",
-        "X_test = pd.DataFrame({'feature1': np.linspace(0, 1, N_test)})\n",
-        "X_test.head()"
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 206 - }, - "id": "X0ddXs1Ii0Yb", - "outputId": "5f04ae6d-1dd8-475d-ac91-cc77564c3a24" - }, - "execution_count": 4, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " feature1\n", - "0 0.000000\n", - "1 0.034483\n", - "2 0.068966\n", - "3 0.103448\n", - "4 0.137931" - ], - "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", - "
feature1
00.000000
10.034483
20.068966
30.103448
40.137931
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "variable_name": "X_test", - "summary": "{\n \"name\": \"X_test\",\n \"rows\": 30,\n \"fields\": [\n {\n \"column\": \"feature1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.30356580795963806,\n \"min\": 0.0,\n \"max\": 1.0,\n \"num_unique_values\": 30,\n \"samples\": [\n 0.9310344827586207,\n 0.5172413793103449,\n 0.7931034482758621\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {}, - "execution_count": 4 - } + "text/plain": [ + "\n" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "# OLS" + "data": { + "text/html": [ + "
BayesianLinearRegressor()
Please rerun this cell to show the HTML repr or trust the notebook.
" ], - "metadata": { - "id": "4cwRHryxiA7t" - } - }, + "text/plain": [ + "BayesianLinearRegressor()" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%timeit\n", + "y_train = pd.DataFrame(y_train)\n", + "y_train.columns = [\"target\"]\n", + "bayes_model = BayesianLinearRegressor(intercept_mu=0, intercept_sigma=10,\n", + " slopes_mu=0, slopes_sigma=10,\n", + " noise_sigma=10)\n", + "bayes_model.fit(X_train, y_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "MX3zjVyq4WsM" + }, + "source": [ + "## Theory" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "NVVm_Idgo0Ac" + }, + "source": [ + "In this section, we will explore the theoretical framework used in Bayesian linear regression.\n", + "\n", + "Bayesian linear regression directly applies Bayes' Theorem to estimate the posterior distributions of the model parameters. As a reminder, here is the Bayes Theorem:\n", + "\n", + "\\begin{align*}\n", + "P(\\theta \\mid D) &= \\frac{P(D \\mid \\theta) \\times P(\\theta)}{P(D)} \\\\\n", + "\\text{posterior} &= \\frac{\\text{likelihood} \\times \\text{prior}}{\\text{marginal likelihood}}\n", + "\\end{align*}\n", + "\n", + "\n", + "Where:\n", + "\n", + "- $\\theta$ represents the model parameters, which in our case consist of the intercept $\\beta_{0}$, the slopes $\\beta$ and the noise $\\sigma$\n", + "- $D$ represents the observed training data, which consist of $\\mathbf{X}_{\\text{train}}$ and $\\mathbf{y}_{\\text{train}}$\n", + "- $P(\\theta \\mid D)$ is the posterior distribution of the parameters - given the data.\n", + "- $P(D \\mid \\theta)$ is the likelihood of the data given the parameters.\n", + "- $P(\\theta)$ is the prior distribution of the parameters.\n", + "- $P(D)$ is the marginal likelihood (evidence), a normalizing constant ensuring the posterior is a valid probability distribution.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "C0-M9HLMp2TZ" + }, + "source": [ + "### Prior" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_bog-nh1p4LC" + }, + "source": [ + "The prior $P(\\theta)$ reflects our beliefs about the parameters before observing any data. In our case, since we don't have any strong beliefs about the parameters, we shall use weekly informative priors for our parameters:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xfpa-cWKL5aR" + }, + "source": [ + "\\begin{align*}\n", + "\\text{intercept} &== \\beta_{0} &\\sim \\mathcal{N}(0, 10) \\\\\n", + "\\text{slopes} &== \\beta &\\sim \\mathcal{N}(0, 10) \\\\\n", + "\\text{noise} &== \\sigma &\\sim \\text{HalfNormal}(10)\n", + "\\end{align*}\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6iGXbmNdqGlR" + }, + "source": [ + "These priors are specified when we instantiate our model: `BayesianLinearRegressor(intercept_mu=0, intercept_sigma=10,\n", + " slopes_mu=0, slopes_sigma=10,\n", + " noise_sigma=10)`" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zQkLzcuUAXxj" + }, + "source": [ + "We can extract the prior through the `get_prior` method of the `bayes_model`. We see that these prior distributions match the distributions we set during model instantiation." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "id": "tMJemx6wrDyw" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "To determine the relationship between the features and the target variable, we will train and inspect a model.\n", - "\n", - "First, we'll train an Ordinary Least Squares (OLS) regression model using the `statsmodels` library." - ], - "metadata": { - "id": "E5LjqpmoiDV1" - } + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [intercept, noise, slopes, y_obs]\n" + ] + } + ], + "source": [ + "prior = bayes_model.get_prior(\"numpy\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 507 }, + "id": "NsBM2sC_q9pA", + "outputId": "61572779-c2b6-4c21-c2c6-a123d5854973" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "import statsmodels.api as sm\n", - "\n", - "# Fit a linear regression model using statsmodels\n", - "X_train_with_const = sm.add_constant(X_train)\n", - "ols_model = sm.OLS(y_train, X_train_with_const).fit()" - ], - "metadata": { - "id": "P7Af9sHKKdx8" - }, - "execution_count": 5, - "outputs": [] + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHqCAYAAADrpwd3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAByKElEQVR4nO3de1yUZf7/8ffIaTyfUA4KCrolRaYLHbBYNQvSMjNrtS21Eoul1pTcErVMzSgzY02RNJTcWnU3q62NVllTs6TyAOUa626lYgZL0Camxcn794c/5+s4M4I4MAdez8djHo/muq/75vowNB/nM9d9XSbDMAwBAAAAAAAAAAAbrVw9AAAAAAAAAAAA3BVFdAAAAAAAAAAAHKCIDgAAAAAAAACAAxTRAQAAAAAAAABwgCI6AAAAAAAAAAAOUEQHAAAAAAAAAMABiugAAAAAAAAAADhAER0AAAAAAAAAAAcoogMAAAAAAAAA4ABFdMAJcnJyZDKZLA9fX1/17NlT9957r44cOdKga9xzzz3q3bt30w60EV588UX17dtX/v7+MplM+uGHH+z2O/072LVr13n/jBMnTujJJ5/U1q1bL2ywbuZPf/qTMjIyXD0MAIATkOtP+eSTTzR69GiFh4crICBAQUFBiouL0yOPPGLVb8iQIRoyZEjTDhwAgP+PPH0KeRpoOhTRASdavXq18vPzlZeXp8mTJ2vt2rWKj4/X8ePH6z338ccf15tvvtkMo2y4wsJCTZkyRUOHDtX777+v/Px8tW/f3uk/58SJE5o7dy5FdACA22vJuf7dd9/VoEGDVFlZqYULF2rTpk36wx/+oGuuuUbr169v5pEDAGCLPN2wPJ2ZmanMzMzmCAHwGr6uHgDgTaKjoxUbGytJGjp0qOrq6jR//ny99dZbuuuuu+yec+LECbVp00Z9+vRx6lh++ukntW7d+oKusW/fPknS5MmTdeWVVzpjWM2qpqbGMgsBAABnaMm5fuHChYqIiNDGjRutcuu4ceO0cOHCCxoHAADOQJ5uWJ6+5JJLLmhcQEvETHSgCV199dWSpEOHDkk6dXtYu3bttHfvXiUkJKh9+/YaNmyY5djZt479/PPPSktLU0REhPz9/dWjRw89+OCDNrdv9e7dWzfffLPeeOMNDRw4UGazWXPnzj3n2FatWqXLL79cZrNZXbp00ejRo1VUVGQ5PmTIEN19992SpKuuukomk0n33HPPecV/Ot4vv/xSI0aMULt27RQWFqZHHnlEVVVVkqSDBw+qW7dukqS5c+dabr8782f95z//0W9+8xt1795dAQEBioqK0rJly6x+1tatW2UymfTHP/5RjzzyiHr06KGAgAB9+eWXkqS///3vGjZsmDp27Kg2bdooKipK6enpVtfYtWuXbrnlFnXp0kVms1kDBw7Un//8Z6s+p28TzMvL07333qsuXbqobdu2GjlypL7++mur39+7776rQ4cOWd1WCADwLi0p11dUVCgwMNDul9OtWtX/seL7779XSkqKevToIX9/f0VGRmrWrFmWfxOcZjKZ9NBDD+mll17SRRddpICAAF1yySVat26dzTVLS0v1wAMPqGfPnvL391dERITmzp2r2traescDAPB+5OlTzs7T9pZz+eabb3T77berffv26tSpk+666y7t3LlTJpNJOTk5ln6nf4f/+te/lJiYqLZt2yokJETPPPOMJOnjjz/Wtddeq7Zt2+qiiy7SK6+8YvVzvvvuO6WkpOiSSy5Ru3bt1L17d1133XXavn37OX9fgKsxPRNoQqcLuKeLxJJUXV2tW265RQ888IBmzJjh8EOeYRi69dZbtXnzZqWlpSk+Pl6ff/655syZo/z8fOXn5ysgIMDSf8+ePSoqKtLs2bMVERGhtm3bOhxXenq6Zs6cqTvvvFPp6emqqKjQk08+qbi4OO3cuVO/+MUvlJmZqbVr1+qpp57S6tWr1a9fP6s4Gqqmpka33HKLJk2apEceeUQffPCB5s+fr44dO+qJJ55QSEiI/v73v+vGG2/UpEmTlJSUZPU7++KLLzRo0CCFh4fr+eefV3BwsDZu3KgpU6aovLxcc+bMsfp5aWlpiouLU1ZWllq1aqXu3bsrOztbkydP1uDBg5WVlaXu3bvr3//+t/75z39aztuyZYtuvPFGXXXVVcrKylLHjh21bt06jR07VidOnLD5x8qkSZN0ww036E9/+pMOHz6s2bNna8iQIfr888/VqVMnZWZm6v7779dXX33ldrcEAgCcpyXl+ri4OL388suaMmWK7rrrLv3yl7+Un59fg35PP//8s4YOHaqvvvpKc+fOVf/+/bV9+3alp6ersLBQ7777rlX/t99+W1u2bNG8efPUtm1bZWZm6s4775Svr69uv/12SacK6FdeeaVatWqlJ554Qn369FF+fr6eeuopHTx4UKtXr27Q2AAA3os83bA8ffz4cQ0dOlTff/+9nn32WfXt21d///vfNXbsWLv9a2pqdNtttyk5OVm///3v9ac//UlpaWmqrKzUhg0b9Nhjj6lnz5568cUXdc899yg6OloxMTGSTn2pLklz5sxRcHCwfvzxR7355psaMmSINm/ezFrtcF8GgAu2evVqQ5Lx8ccfGzU1NcaxY8eMv/3tb0a3bt2M9u3bG6WlpYZhGMbEiRMNScaqVatsrjFx4kSjV69elud///vfDUnGwoULrfqtX7/ekGSsWLHC0tarVy/Dx8fH2L9/f71j/d///me0bt3aGDFihFV7cXGxERAQYPzmN7+xiWvnzp0N/h2c2fd0vH/+85+t+o4YMcK4+OKLLc+/++47Q5IxZ84cm+smJiYaPXv2NI4ePWrV/tBDDxlms9n4/vvvDcMwjC1bthiSjF/96ldW/Y4dO2Z06NDBuPbaa42TJ086HH+/fv2MgQMHGjU1NVbtN998sxESEmLU1dVZxTl69Girfh999JEhyXjqqacsbTfddJPVawoA8FzkesMoLy83rr32WkOSIcnw8/MzBg0aZKSnpxvHjh2z6jt48GBj8ODBludZWVl2/03w7LPPGpKMTZs2WdokGa1bt7b8Tg3DMGpra41+/foZffv2tbQ98MADRrt27YxDhw5ZXXPRokWGJGPfvn31xgQA8A7k6QvL08uWLTMkGe+9955VvwceeMCQZKxevdrSdvp3uGHDBktbTU2N0a1bN0OSsWfPHkt7RUWF4ePjY6Smpjocd21trVFTU2MMGzbM5nM24E5YzgVwoquvvlp+fn5q3769br75ZgUHB+u9995TUFCQVb8xY8bUe633339fkmxmQN9xxx1q27atNm/ebNXev39/XXTRRfVeNz8/Xz/99JPNdcPCwnTdddfZXPdCmUwmjRw50qqtf//+ltvpzuXnn3/W5s2bNXr0aLVp00a1tbWWx4gRI/Tzzz/r448/tjrn7N/tjh07VFlZqZSUFIfLqXz55Zf617/+ZVkj7+yfU1JSov3791udc/Z6eoMGDVKvXr20ZcuWeuMCAHiulpzru3btqu3bt2vnzp165plnNGrUKP373/9WWlqaLrvsMpWXlzs89/3331fbtm0ts8hPOz3Gs8c0bNgwq9+pj4+Pxo4dqy+//FLffPONJOlvf/ubhg4dqtDQUKvcPXz4cEnStm3bGhUnAMBzkacbl6e3bdum9u3b68Ybb7Rqv/POO+32N5lMGjFihOW5r6+v+vbtq5CQEA0cONDS3qVLF3Xv3t3m839WVpZ++ctfymw2y9fXV35+ftq8ebPVcjaAu2E5F8CJ1qxZo6ioKPn6+iooKEghISE2fdq0aaMOHTrUe62Kigr5+vra3K5lMpkUHBysiooKq3Z7P8vRdR31Dw0NVV5eXoOu01Bt2rSR2Wy2agsICNDPP/9c77kVFRWqra3Viy++qBdffNFun7P/IXB2XN99950kqWfPng5/zn//+19J0vTp0zV9+vQG/Zzg4GCbPvZeFwCAdyHXS7GxsZZN22pqavTYY4/phRde0MKFCx1uMFpRUaHg4GCbL7S7d+8uX19fm1gd5dnT1+rZs6f++9//6p133nF4q/q5igUAAO9Enm58nj77iwZJdtsk+5/z/f391aVLF5u+/v7+Vp//Fy9erEceeUTJycmaP3++AgMD5ePjo8cff5wiOtwaRXTAiaKioizJypGGbi7ZtWtX1dbW6rvvvrNK2oZhqLS0VFdccUWjrytJJSUlNse+/fZbBQYGNug6zaFz587y8fHR+PHj9eCDD9rtExERYfX87N/D6d/d6Vlr9pyOOS0tTbfddpvdPhdffLHV89LSUps+paWl6tu3r8OfAwDwfOR6a35+fpozZ45eeOEFq71G7I3pk08+kWEYVnGUlZWptrbWZkyO8uzpa0mn8nf//v21YMECuz8zNDT0vOMBAHg28rS188nTn376qU27vXx8oV599VUNGTJEy5cvt2o/duyY038W4Ews5wK4qdM7hL/66qtW7Rs2bNDx48ctx89XXFycWrdubXPdb775Ru+//36jr3shTm/G8tNPP1m1t2nTRkOHDlVBQYH69+9v+Ub9zMfpf4A4MmjQIHXs2FFZWVkyDMNun4svvli/+MUv9Nlnn9n9GbGxsWrfvr3VOa+99prV8x07dujQoUNWm6AEBATYxAQAwGmeluvtfdiXZJk1dq6i9bBhw/Tjjz/qrbfesmpfs2aN5fiZNm/ebLlTTJLq6uq0fv169enTx3J32c0336x//vOf6tOnj93cTREdAHAhWlKeHjx4sI4dO6b33nvPqn3dunWNGsu5mEwmqw1ZJenzzz9Xfn6+038W4EzMRAfc1A033KDExEQ99thjqqys1DXXXGPZCXzgwIEaP358o67bqVMnPf7445o5c6YmTJigO++8UxUVFZo7d67MZrPmzJnj5Ejq1759e/Xq1Ut//etfNWzYMHXp0kWBgYHq3bu3/vCHP+jaa69VfHy8fvvb36p37946duyYvvzyS73zzjuWdeocadeunZ5//nklJSXp+uuv1+TJkxUUFKQvv/xSn332mZYuXSpJeumllzR8+HAlJibqnnvuUY8ePfT999+rqKhIe/bs0V/+8her6+7atUtJSUm64447dPjwYc2aNUs9evRQSkqKpc9ll12mN954Q8uXL1dMTIxatWpV76wIAEDL4Wm5PjExUT179tTIkSPVr18/nTx5UoWFhXr++efVrl07Pfzwww7PnTBhgpYtW6aJEyfq4MGDuuyyy/Thhx/q6aef1ogRI3T99ddb9Q8MDNR1112nxx9/XG3btlVmZqb+9a9/WX2YnzdvnvLy8jRo0CBNmTJFF198sX7++WcdPHhQubm5ysrKOudybgAAnEtLytMTJ07UCy+8oLvvvltPPfWU+vbtq/fee08bN26UJLVq5bw5uDfffLPmz5+vOXPmaPDgwdq/f7/mzZuniIgI1dbWOu3nAM5GER1wUyaTSW+99ZaefPJJrV69WgsWLFBgYKDGjx+vp59+2uab2/ORlpam7t27a8mSJVq/fr1at26tIUOG6Omnn9YvfvELJ0bRcNnZ2fr973+vW265RVVVVZo4caJycnJ0ySWXaM+ePZo/f75mz56tsrIyderUSb/4xS+sNjI5l0mTJik0NFTPPvuskpKSZBiGevfurYkTJ1r6DB06VJ9++qkWLFigqVOn6n//+5+6du2qSy65RL/+9a/tjvePf/yjxo0bp6qqKg0dOlR/+MMfrNaAe/jhh7Vv3z7NnDlTR48elWEYDmfDAwBaHk/L9bNnz9Zf//pXvfDCCyopKVFVVZVCQkJ0/fXXKy0tTVFRUQ7PNZvN2rJli2bNmqXnnntO3333nXr06KHp06fbLRbccsstuvTSSzV79mwVFxerT58+eu211zR27FhLn5CQEO3atUvz58/Xc889p2+++Ubt27dXRESEbrzxRnXu3LlRcQIAILWsPN22bVu9//77mjp1qh599FGZTCYlJCQoMzNTI0aMUKdOnRoZqa1Zs2bp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96tPnz421w0ICFBAQECDxg0AgLtr1Ez0UaNGad68eaqpqZF06tvp4uJizZgxw2b3bgAA4DrkbAAAPIMzcra/v79iYmKUl5dn1Z6Xl6dBgwbZPScuLs6m/6ZNmxQbGys/Pz/169dPe/fuVWFhoeVxyy23aOjQoSosLGSZFgBAi9CoIvqiRYv03XffqXv37vrpp580ePBg9e3bV+3bt9eCBQucPUYAANBI5GwAADyDs3J2amqqXn75Za1atUpFRUWaNm2aiouLlZycLOnUMisTJkyw9E9OTtahQ4eUmpqqoqIirVq1StnZ2Zo+fbqkUzPko6OjrR6dOnVS+/btFR0dLX9/f+f+IgAAcEONWs6lQ4cO+vDDD7Vlyxbt3r1bJ0+e1C9/+Utdf/31zh4fAAC4AORsAAA8g7Ny9tixY1VRUaF58+appKRE0dHRys3NVa9evSRJJSUlKi4utvSPiIhQbm6upk2bpmXLlik0NFRLlizhjjUAAM5w3kX0kydPKicnR2+88YYOHjwok8mkiIgIBQcH17tZCQAAaD7kbAAAPIOzc3ZKSopSUlLsHsvJybFpGzx4sPbs2dPg69u7BgAA3uy8iuiGYeiWW25Rbm6uLr/8cl122WUyDENFRUW655579MYbb+itt95qoqECAICGImfDG41bke/qIQCA05GzAQBwf+dVRM/JydEHH3ygzZs3a+jQoVbH3n//fd16661as2aN1fpqAACg+ZGzAQDwDORsAADc33ltLLp27VrNnDnTJrFL0nXXXacZM2botddec9rgAABA45CzAQDwDORsAADc33kV0T///HPdeOONDo8PHz5cn3322QUPCgAAXBhyNgAAnoGcDQCA+zuvIvr333+voKAgh8eDgoL0v//974IHBQAALgw5GwAAz0DOBgDA/Z3Xmuh1dXXy9XV8io+Pj2pray94UAAA4MKQs4FzY5NS99fY18jeeevuj7vQ4QBNhpwNAID7O68iumEYuueeexQQEGD3eFVVlVMGBQAALgw5GwAAz0DOBgDA/Z1XEX3ixIn19mHHcAAAXI+cDQCAZyBnAwDg/s6riL569WqnDyAzM1PPPfecSkpKdOmllyojI0Px8fEO+2/btk2pqanat2+fQkND9eijjyo5OdlyfOXKlVqzZo3++c9/SpJiYmL09NNP68orr3T62AEAcFdNkbMBAIDz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W3JjQ3hj/mwIT4/TG3Nwfbz1PdXTc3h9PD3Hw/W86f3uP//5j0JDQxUREaFx48bp66+/dvWQLog3/f+8detWde/eXRdddJEmT56ssrIyVw/pnLwhd5wdw2me9Fp4Q447O4bTPOV1aI7P4hTRG8EwDN1zzz1KTk5WbGys3T6lpaUKCgqyauvcubP8/f1VWlraHMNssMcee0xt27ZV165dVVxcrL/+9a+WY54UhyR99dVXevHFF5WcnGxp87QY7HH3GMrLy1VXV2czxqCgILcYX2OcHrcnxWQYhlJTU3XttdcqOjpakufEsXfvXrVr104BAQFKTk7Wm2++qUsuucRjxi9J69at0549e5Senm5zzJPiwCnelBsbwlvzZ0N4epzemIPr443vqZ6cw+vjDTke7sFb3u+uuuoqrVmzRhs3btTKlStVWlqqQYMGqaKiwtVDazRv+f95+PDheu211/T+++/r+eef186dO3XdddepqqrK1UOzyxtyh70YJM95LbwhxzmKQfKc16G5PotTRD+DvQ0+zn7s2rVLL774oiorK5WWlnbO65lMJps2wzDstjtTQ+M47fe//70KCgq0adMm+fj4aMKECTIMw6VxnG8MkvTtt9/qxhtv1B133KGkpCSrY54Sw7m46u/pfJw9FncbX2N4UkwPPfSQPv/8c61du9bmmLvHcfHFF6uwsFAff/yxfvvb32rixIn64osvLMfdffyHDx/Www8/rFdffVVms9lhP3ePw5t5Q25sCG/Inw3REnNsfVri+4s3xezJObw+np7j4X48/W9m+PDhGjNmjC677DJdf/31evfddyVJr7zyiotHduE8/bUZO3asbrrpJkVHR2vkyJF677339O9//9vyGrkbb8gdjmLwlNfCG3LcuWLwhNehOT+L+zZqhF7qoYce0rhx487Zp3fv3nrqqaf08ccfKyAgwOpYbGys7rrrLr3yyisKDg7WJ598YnX8f//7n2pqamy+/XC2hsZxWmBgoAIDA3XRRRcpKipKYWFh+vjjjxUXF+eyOM43hm+//VZDhw5VXFycVqxYYdXPU2I4F1f+PTVEYGCgfHx8bL7FKysrc4vxNUZwcLCkU99ahoSEWNrdNabf/e53evvtt/XBBx+oZ8+elnZPicPf3199+/aVdOq9dOfOnfrDH/6gxx57TJL7j3/37t0qKytTTEyMpa2u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u+46lZWV6b333lNUVJQ6dOigO++8UydOnLBc9+9//7uuvfZaderUSV27dtXNN9+sr776qjl/HYDHo4gOtDCvvPKK2rZtq08++UQLFy7UvHnzlJeXJ0nauXOnJGn16tUqKSmxPN+4caPuvvtuTZkyRV988YVeeukl5eTkaMGCBVbXnjNnjkaNGqW9e/fqvvvu07vvvqvbbrtNN910kwoKCrR582bFxsZa+t9777366KOPtG7dOn3++ee64447dOONN+o///mPpc+JEye0YMECvfLKK/roo49UWVmpcePGSZLGjh2rRx55RJdeeqlKSkpUUlKisWPHNunvDwAAd9GuXTu1a9dOb731lqqqqurtf+LECd14443q3Lmzdu7cqb/85S/6xz/+oYceesiq3+bNm1VUVKQtW7Zo7dq1evPNNzV37lzL8dmzZ2v16tVavny59u3bp2nTpunuu+/Wtm3bnB4jAACe6nzz9LFjxzRy5Ehddtll2rNnj+bPn6/HHnvMbt8nn3xSS5cu1Y4dO3T48GH9+te/VkZGhv70pz/p3XffVV5enl588UVL/+PHjys1NVU7d+7U5s2b1apVK40ePVonT550WryA1zMAeLWJEycao0aNMgzDMAYPHmxce+21VsevuOIK47HHHrM8l2S8+eabVn3i4+ONp59+2qrtj3/8oxESEmJ13tSpU636xMXFGXfddZfdcX355ZeGyWQyjhw5YtU+bNgwIy0tzTAMw1i9erUhyfj4448tx4uKigxJxieffGIYhmHMmTPHuPzyyx1EDwCAd3v99deNzp07G2az2Rg0aJCRlpZmfPbZZ5bjZ+b1FStWGJ07dzZ+/PFHy/F3333XaNWqlVFaWmoYxql/N3Tp0sU4fvy4pc/y5cuNdu3aGXV1dcaPP/5omM1mY8eOHVbjmDRpknHnnXc2YaQAAHie88nTy5cvN7p27Wr89NNPluMrV640JBkFBQWGYRjGli1bDEnGP/7xD0uf9PR0Q5Lx1VdfWdoeeOABIzEx0eG4ysrKDEnG3r17nRQp4P2YiQ60MP3797d6HhISorKysnOes3v3bs2bN8/yTXq7du00efJklZSUWN0iduYsc0kqLCzUsGHD7F5zz549MgxDF110kdV1t23bZnVbma+vr9V1+/Xrp06dOqmoqKjBMQMA4K3GjBmjb7/9Vm+//bYSExO1detW/fKXv7S7vFlRUZEuv/xytW3b1tJ2zTXX6OTJk9q/f7+l7fLLL1ebNm0sz+Pi4vTjjz/q8OHD+uKLL/Tzzz/rhhtusMrfa9as4bZwAADOcj55ev/+/erfv7/MZrOl7corr7R73TM/1wcFBalNmzaKjIy0ajvzc/5XX32l3/zmN4qMjFSHDh0UEREhSSouLr7QEIEWg41FgRbm7M0+TSZTvbdwnTx5UnPnzrVaz/y0MxP8mR/KJal169bnvKaPj492794tHx8fq2Pt2rWzGePZ7LUBANASnd4z5IYbbtATTzyhpKQkzZkzR/fcc49VP8MwHObPhuTVM//N8O6776pHjx5WxwMCAhoXAAAAXuxC8rRhGHaveebnepPJVO/n/JEjRyosLEwrV65UaGioTp48qejoaKs9TwCcG0V0AFb8/PxUV1dn1fbLX/5S+/fvV9++fc/rWv3799fmzZt177332hwbOHCg6urqVFZWpvj4eIfXqK2t1a5duyzfwO/fv18//PCD+vXrJ0ny9/e3GS8AAC3ZJZdcYrVJ2Zntr7zyio4fP2754vujjz5Sq1atdNFFF1n6ffbZZ/rpp58sX4Z//PHHateunXr27KnOnTsrICBAxcXFGjx4cLPEAwCAN3GUp/v166fXXntNVVVVli+md+3adcE/r6KiQkVFRXrppZcsn70//PDDC74u0NKwnAsAK71799bmzZtVWlqq//3vf5KkJ554QmvWrNGTTz6pffv2qaioSOvXr9fs2bPPea05c+Zo7dq1mjNnjoqKirR3714tXLhQknTRRRfprrvu0oQJE/TGG2/owIED2rlzp5599lnl5uZaruHn56ff/e53+uSTT7Rnzx7de++9uvrqqy1F9d69e+vAgQMqLCxUeXl5gzZsAQDAG1RUVOi6667Tq6++qs8//1wHDhzQX/7yFy1cuFCjRo2y6X/XXXfJbDZr4sSJ+uc//6ktW7bod7/7ncaPH6+goCBLv+rqak2aNElffPGF3nvvPc2ZM0cPPfSQWrVqpfbt22v69OmaNm2aXnnlFX311VcqKCjQsmXL9MorrzRn+AAAuLXzzdO/+c1vdPLkSd1///0qKirSxo0btWjRIkkXdid2586d1bVrV61YsUJffvml3n//faWmpjb6ekBLRREdgJXnn39eeXl5CgsL08CBAyVJiYmJ+tvf/qa8vDxdccUVuvrqq7V48WL16tXrnNcaMmSI/vKXv+jtt9/WgAEDdN111+mTTz6xHF+9erUmTJigRx55RBdffLFuueUWffLJJwoLC7P0adOmjR577DH95je/UVxcnFq3bq1169ZZjo8ZM0Y33nijhg4dqm7dumnt2rVO/o0AAOCe2rVrp6uuukovvPCCfvWrXyk6OlqPP/64Jk+erKVLl9r0b9OmjTZu3Kjvv/9eV1xxhW6//XYNGzbMpu+wYcP0i1/8Qr/61a/061//WiNHjtSTTz5pOT5//nw98cQTSk9PV1RUlBITE/XOO+9Y1lcFAADnn6c7dOigd955R4WFhRowYIBmzZqlJ554QpL1Mqrnq1WrVlq3bp12796t6OhoTZs2Tc8991yjrwe0VCbD0QJLAOBiOTk5mjp1qn744QdXDwUAgBbhnnvu0Q8//GD3NnMAANC8XnvtNd177706evToOfccA9D0WBMdAAAAAAAAcLE1a9YoMjJSPXr00GeffabHHntMv/71rymgA26AIjoAAAAAAADgYqWlpXriiSdUWlqqkJAQ3XHHHVqwYIGrhwVALOcCAAAAAAAAAIBDbCwKAAAAAAAAAIADFNEBAAAAAAAAAHCAIjoAAAAAAAAAAA5QRAcAAAAAAAAAwAGK6AAAAAAAAAAAOEARHQAAAAAAAAAAByiiAwAAAAAAAADgAEV0AAAAAAAAAAAcoIgOAAAAAAAAAIAD/w9lfoZ18cxf6QAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot the prior distributions\n", + "fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", + "\n", + "# Plot prior for intercept\n", + "axes[0].hist(prior[\"intercept\"], bins=80, density=True, alpha=0.75)\n", + "axes[0].set_title('Prior of Intercept')\n", + "axes[0].set_xlabel('Intercept')\n", + "axes[0].set_ylabel('Density')\n", + "\n", + "# Plot prior for slope\n", + "axes[1].hist(prior[\"slopes\"], bins=80, density=True, alpha=0.75)\n", + "axes[1].set_title('Prior of Slope')\n", + "axes[1].set_xlabel('Slope')\n", + "axes[1].set_ylabel('Density')\n", + "\n", + "# Plot prior for sigma\n", + "axes[2].hist(prior[\"noise\"], bins=80, density=True, alpha=0.75)\n", + "axes[2].set_title('Prior of Sigma')\n", + "axes[2].set_xlabel('Sigma')\n", + "axes[2].set_ylabel('Density')\n", + "\n", + "plt.tight_layout()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 160 }, + "id": "wp2NeUd5FR0b", + "outputId": "1a557f53-33c7-4090-8efd-349142dccfc3" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "When fitted to the data, the `ols_model` above use maximum likelihood to find estimates of the model parameters. A downside of this approach is that it only gives point estimates - that is, single values for the slope and intercept without providing information about the distribution of these estimates.\n", - "\n", - "\n", - "The code below shows how we can extract out the estimated parameters from `ols_model`. As we can see, the point estimates for the slopes, intercept, and standard deviation are quite close to the true values we set earlier." - ], - "metadata": { - "id": "T65gKYllh18N" - } + "name": "stderr", + "output_type": "stream", + "text": [ + "arviz - WARNING - Shape validation failed: input_shape: (1, 2000), minimum_shape: (chains=2, draws=4)\n" + ] }, { - "cell_type": "code", - "source": [ - "y_train_pred = ols_model.predict(X_train_with_const)\n", - "residuals = y_train_pred - y_train\n", - "\n", - "# Print the true model and estimated model\n", - "print('True data generating model:')\n", - "print(f'y_true = {TRUE_SLOPES[0]:.2f}x + {TRUE_INTERCEPT:.2f}')\n", - "print(f'True standard deviation: {TRUE_SIGMA}\\n')\n", - "\n", - "print('Estimated MLE model:')\n", - "print(f'y_hat = {ols_model.params[1]:.2f}x + {ols_model.params[0]:.2f}')\n", - "print(f'Standard deviation of residuals: {residuals.std():.2f}')" + "data": { + "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", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept-0.27810.002-20.42617.5810.2230.1582020.02063.0NaN
slopes[feature1]0.1969.898-19.12217.8270.2260.1601912.01809.0NaN
noise7.9256.0870.00018.8870.1330.0942057.01802.0NaN
\n", + "
" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "Wk34Pkp87aM4", - "outputId": "5c51cafe-0779-4080-f134-0b8366ef8c9c" - }, - "execution_count": 6, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "True data generating model:\n", - "y_true = 2.00x + 1.00\n", - "True standard deviation: 0.5\n", - "\n", - "Estimated MLE model:\n", - "y_hat = 1.89x + 1.05\n", - "Standard deviation of residuals: 0.46\n" - ] - } + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd \\\n", + "intercept -0.278 10.002 -20.426 17.581 0.223 0.158 \n", + "slopes[feature1] 0.196 9.898 -19.122 17.827 0.226 0.160 \n", + "noise 7.925 6.087 0.000 18.887 0.133 0.094 \n", + "\n", + " ess_bulk ess_tail r_hat \n", + "intercept 2020.0 2063.0 NaN \n", + "slopes[feature1] 1912.0 1809.0 NaN \n", + "noise 2057.0 1802.0 NaN " ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bayes_model.get_prior_summary()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "U1dsfMRXPKaC" + }, + "source": [ + "Note that, choosing the correct priors is crucial because priors influence the posterior distribution, especially with limited data. Poorly chosen priors can distort the posterior, resulting in misleading inferences and predictions.\n", + "\n", + "In the subsequent section, we will look at \"prior predictive checks\" that we can use to sanity check our chosen priors." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "357km3vOvZ5H" + }, + "source": [ + "## Likelihood" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "tc1LBmZFsrdP" + }, + "source": [ + "\n", + "\n", + "The likelihood function $P(D \\mid \\theta)$ represents how likely it is to observe the given data, $D$, given a set of parameters $\\theta$.\n", + "\n", + "For linear regression, we are assume that each observed data point $y_i$ is normally distributed around its predicted value $\\beta_0 + X_i \\beta$, with variance $\\sigma^2$.\n", + " \n", + "$$P(D \\mid \\beta, \\sigma) = \\prod_{i=1}^{n} \\mathcal{N}(y_i \\mid \\beta_0 + X_i \\beta, \\sigma^2)$$\n", + "\n", + "where:\n", + "\n", + "- $y_i$ are the observed target values,\n", + "- $X_i$ are the observed feature values,\n", + "- $\\beta_0$ is the intercept,\n", + "- $\\beta$ are the slopes/regression coefficients for the features,\n", + "- $\\sigma$ is the standard deviation of the errors.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "NLgMBNm84GLT" + }, + "source": [ + "## Posterior" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AxE8vm_v4LLw" + }, + "source": [ + "The posterior distribution, denoted as $P(\\theta \\mid D)$, represents the updated beliefs about the parameters $\\theta$ after observing the data $D$. PyMC obtains the posterior distribution using Markov Chain Monte Carlo (MCMC) algorithms, which iteratively explore the parameter space, generating a sequence of samples that approximate the posterior distribution.\n", + "\n", + "We can extract the posterior using the `get_posterior` method of the `bayes_model`. Note that these posterior distributions are significantly narrower than the priors set up earlier, indicating that the data has provided substantial information to refine our estimates. Additionally, observe that these posterior distributions are close to the true values, reflecting the accuracy of the model.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "id": "qRskX-is8n13" + }, + "outputs": [], + "source": [ + "posterior = bayes_model.get_posterior(\"numpy\")" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 507 }, + "id": "jd21mYjJ9SQF", + "outputId": "92859ea3-62cb-4b97-9505-bff5e5d7ea78" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "\n", - "Using the trained `ols_model`, we can also create point predictions on the unseen `X_test` along with the corresponding confidence interval. The latter provides a range within which we expect the true parameter to lie with a certain level of confidence (e.g., 95%)." - ], - "metadata": { - "id": "evk3LGh6nEkU" - } + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHqCAYAAADrpwd3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACOp0lEQVR4nOzdeXhTZfr/8U9a6MLSFgpdgLKIStlBQFqQTQQEZBBBwIVNBBlhFCpTLSKLih0UtSCbOEhFsDBOAXEUFJFFhupQNh1ERhm02GllUShrC+X8/uDXfA1NuiY9afp+XVcuOCfPObmfpMn95D4nz7EYhmEIAAAAAAAAAADk42V2AAAAAAAAAAAAuCuK6AAAAAAAAAAAOEARHQAAAAAAAAAAByiiAwAAAAAAAADgAEV0AAAAAAAAAAAcoIgOAAAAAAAAAIADFNEBAAAAAAAAAHCAIjoAAAAAAAAAAA5QRAcAAAAAAAAAwAGK6KgQEhMTZbFYrLdKlSqpXr16GjNmjNLT053+eBcvXtSsWbO0fft2p+9bkrZv3y6LxeKy/ZfU/v371a1bNwUGBspisSghIcFhW4vFokmTJpXocd57770C910effvtt5o1a5Z+/PFHs0MBAI9B/i8bxcn/p0+fVlxcnJo1a6aqVasqMDBQkZGRGjFihL7++mtru7zXjrwIABULubtskLuB4qtkdgBAWVqxYoUiIyN16dIl7dy5U/Hx8dqxY4e++eYbVa1a1WmPc/HiRc2ePVuS1L17d6ftN89tt92mlJQUNWvWzOn7Lo1HHnlEFy5c0Jo1a1SjRg01bNjQJY/z3nvv6d///rcmT57skv2b4dtvv9Xs2bPVvXt3lz1vAFBRkf9dq6j5//z584qKitL58+f15z//Wa1bt9alS5f0n//8R+vWrdOBAwfUqlWrsg0eAOCWyN2u5Yrc3b9/f6WkpCg8PLwMewKUHYroqFBatGih9u3bS5J69Oih3NxcvfDCC9qwYYMeeughk6Mr3JUrV2SxWBQQEKCoqCin7ffixYuqUqVKqffz73//W+PGjVPfvn2dEFXZu3Tpkvz9/c0OAwDgZOR/+8o6/7///vv64Ycf9Pnnn6tHjx4298XExOjatWuljgUA4BnI3fa5c+6uXbu2ateuXerYAHfFdC6o0PKS2U8//SRJunz5suLi4tSoUSP5+Piobt26mjhxos6cOWOz3eeff67u3bsrODhY/v7+ql+/vgYPHqyLFy/qxx9/tCaO2bNnW3+GNnr0aOv233//vR588EGFhITI19dXTZs21aJFi2weI+9nX++++66eeuop1a1bV76+vvrhhx8c/iRs48aNio6OVpUqVVS9enX16tVLKSkpNm1mzZoli8Wiffv2aciQIapRo4YaN25c4PP073//WwMHDlSNGjXk5+enNm3a6J133rHen/ezratXr2rJkiXWPhdHXp+SkpL07LPPqk6dOgoICNBdd92lI0eOWNt1795dH330kX766Sebn/nlycnJ0YsvvqjIyEj5+vqqdu3aGjNmjE6ePGnzeA0bNtQ999yjdevWqW3btvLz87OegZCenq7x48crIiJCPj4+qlOnjoYMGaJffvnFun1WVpamTp1q87cyefJkXbhwweZx8qatefPNN3XrrbfK19dXzZo105o1a2yev/vvv1/S9QFiXp8SExOL9RwCAIqG/G9O/j99+rQkOTxDzcur8K8mb7/9tlq3bi0/Pz/VrFlTgwYN0uHDh23ajB49WtWqVdOhQ4fUs2dPVa1aVbVr19akSZN08eJFm7aGYWjx4sVq06aN/P39VaNGDQ0ZMkT//e9/C40FAFB2yN3un7vtTediGIZeeuklNWjQQH5+fmrfvr22bNmi7t2725z5n/c8vffee3r66acVHh6uatWqacCAAfrll1907tw5jR8/XrVq1VKtWrU0ZswYnT9/3iaWRYsWqWvXrgoJCVHVqlXVsmVLvfzyy7py5UqBzxlQVJyJjgrthx9+kHT9iKlhGLr33nu1detWxcXFqUuXLvr66681c+ZMpaSkKCUlRb6+vvrxxx/Vv39/denSRW+//baCgoKUnp6uzZs3KycnR+Hh4dq8ebPuvvtujR07Vo8++qj1MaTr03Z06tRJ9evX16uvvqqwsDB98skneuKJJ3Tq1CnNnDnTJsa4uDhFR0dr6dKl8vLyUkhIiDIzM/P15b333tNDDz2k3r17KykpSdnZ2Xr55ZfVvXt3bd26VXfccYdN+/vuu0/Dhw/XhAkT8hV+f+/IkSPq1KmTQkJCtGDBAgUHB2vVqlUaPXq0fvnlF8XGxlp/thUdHa0hQ4boqaeeKvFrMm3aNHXu3Fl//etflZWVpaeffloDBgzQ4cOH5e3trcWLF2v8+PE6evSo1q9fb7PttWvXNHDgQH3xxReKjY1Vp06d9NNPP2nmzJnq3r27UlNTbc4037dvnw4fPqzp06erUaNGqlq1qtLT09WhQwdduXJF06ZNU6tWrXT69Gl98skn+u233xQaGqqLFy+qW7du+vnnn61tDh06pBkzZuibb77RZ599ZjMQ2bhxo7Zt26bnn39eVatW1eLFi/XAAw+oUqVKGjJkiPr376+XXnpJ06ZN06JFi3TbbbdJUqEDJABAyZD/zcn/0dHRkqSRI0dq2rRp6tKli4KDgwt5tf5PfHy8pk2bpgceeEDx8fE6ffq0Zs2apejoaO3Zs0e33HKLte2VK1fUr18/PfbYY3rmmWe0e/duvfjii/rpp5/04YcfWts99thjSkxM1BNPPKG5c+fq119/1fPPP69OnTrp4MGDCg0NLXJ8AADXIXeXz9z97LPPKj4+XuPHj9d9992n48eP69FHH9WVK1d066235ms/bdo09ejRQ4mJifrxxx81depU63fn1q1bKykpSfv379e0adNUvXp1LViwwLrt0aNH9eCDD1oPrBw8eFBz5szRd999p7fffrvIMQMOGUAFsGLFCkOS8eWXXxpXrlwxzp07Z/zjH/8wateubVSvXt3IzMw0Nm/ebEgyXn75ZZtt165da0gyli1bZhiGYfz97383JBkHDhxw+HgnT540JBkzZ87Md1+fPn2MevXqGWfPnrVZP2nSJMPPz8/49ddfDcMwjG3bthmSjK5du+bbR95927ZtMwzDMHJzc406deoYLVu2NHJzc63tzp07Z4SEhBidOnWyrps5c6YhyZgxY0bBT9r/N3z4cMPX19dIS0uzWd+3b1+jSpUqxpkzZ6zrJBkTJ04s0n5vbJvXp379+tm0+9vf/mZIMlJSUqzr+vfvbzRo0CDfPpOSkgxJRnJyss36PXv2GJKMxYsXW9c1aNDA8Pb2No4cOWLT9pFHHjEqV65sfPvttw5jj4+PN7y8vIw9e/bYrM/72/j4449t+unv729kZmZa1129etWIjIw0br75Zuu6999/3+Y1BQCUHvnf/fL/888/b/j4+BiSDElGo0aNjAkTJhgHDx60aZf32h07dswwDMP47bffDH9//3zjhLS0NMPX19d48MEHretGjRplSDLmz59v03bOnDmGJGPXrl2GYRhGSkqKIcl49dVXbdodP37c8Pf3N2JjY4vU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9957b7G2KW/JetasWWrTpk2Jtl22bJm6d++ugIAAWSwWnTlzxqmxAUCZYcxQbrjTOOHEiRN67LHHVL9+ffn6+iosLEx9+vRRSkpKmcVQUgcPHtQDDzygiIgI+fv7q2nTppo/f77ZYQFwZ+TKCq285d+MjAz17du3zGIqrd9++00jRoxQYGCgAgMDNWLEiEK/X48ePTrf6xAVFeXSOLmwKOCp3npLSk+X6taVZs40OxoUUUZGhvX/a9eu1YwZM3TkyBHruryrSue5cuWKKleuXGbxlZXy0K+LFy/q7rvv1t133624uDizwwGAkmPMUG640zhh8ODBunLlit555x3ddNNN+uWXX7R161b9+uuvLnk8Z9q7d69q166tVatWKSIiQrt379b48ePl7e2tSZMmmR0eAHdErqzQylv+DQsLc8lju8qDDz6on3/+WZs3b5YkjR8/XiNGjNCHH35Y4HZ33323VqxYYV129cXiORMdANxIWFiY9RYYGCiLxWJdvnz5soKCgvS3v/1N3bt3l5+fn1atWmX3bOqEhAQ1bNjQZt2KFSvUtGlT+fn5KTIyUosXLy5WbN27d9cTTzyh2NhY1axZU2FhYZo1a5b1/rzHGzRokCwWi83jf/jhh2rXrp38/Px00003afbs2bp69ar1fovFoqVLl2rgwIGqWrWqXnzxRUnSxo0b1b59e/n5+alWrVq67777rNvk5OQoNjZWdevWVdWqVdWxY0dt377den9iYqKCgoK0YcMG3XrrrfLz81OvXr10/Phx6/2zZ8/WwYMHrUeuExMTi/x8TJ48Wc8884zLj3YDAJDHXcYJZ86c0a5duzR37lz16NFDDRo00O233664uDj179/f4XbffPON7rzzTvn7+ys4OFjjx4/X+fPnrffn/Qpu9uzZCgkJUUBAgB577DHl5ORY2xiGoZdfflk33XST/P391bp1a/39738v1vP4yCOPaMGCBerWrZtuuukmPfzwwxozZozWrVtXrP0AACqG8pZ/b/yF+O7du9WmTRv5+fmpffv22rBhgywWiw4cOCBJ2r59uywWiz755BO1bdtW/v7+uvPOO3XixAlt2rRJTZs2VUBAgB544AFdvHjRut/NmzfrjjvuUFBQkIKDg3XPPffo6NGjxXpuDx8+rM2bN+uvf/2roqOjFR0drbfeekv/+Mc/bA5U2JN3Jn7erWbNmsV67OKiiA4A5czTTz+tJ554QocPH1afPn2KtM1bb72lZ599VnPmzNHhw4f10ksv6bnnntM777xTrMd+5513VLVqVX311Vd6+eWX9fzzz2vLli2SpD179ki6PgjIyMiwLn/yySd6+OGH9cQTT+jbb7/Vm2++qcTERM2ZM8dm3zNnztTAgQP1zTff6JFHHtFHH32k++67T/3799f+/fu1detWtW/f3tp+zJgx+uc//6k1a9bo66+/1v3336+7775b33//vbXNxYsXNWfOHL3zzjv65z//qaysLA0fPlySNGzYMD311FNq3ry5MjIylJGRoWHDhkm6/iW+e/fuxXpuAABwB2UxTqhWrZqqVaumDRs2KDs7u0iPkfcLrho1amjPnj16//339dlnn+U783vr1q06fPiwtm3bpqSkJK1fv16zfzd9wvTp07VixQotWbJEhw4d0pQpU/Twww9rx44d1jYNGza0OdBfFGfPnnX5l28AgOdy1/x77tw5DRgwQC1bttS+ffv0wgsv6Omnn7bbdtasWVq4cKF2796t48ePa+jQoUpISNB7772njz76SFu2bNEbb7xhbX/hwgXFxMRoz5492rp1q7y8vDRo0CBdu3bN2qZ79+4FTneTkpKiwMBAdezY0bouKipKgYGB2r17d4F92759u0JCQnTrrbdq3LhxOnHiRJGek5JiOhcAFc9rr12/Fea226SNG23X/eEP0r59hW8bE3P95gKTJ0+2OSO7KF544QW9+uqr1u0aNWpkLWiPGjWqyPtp1aqVZv7/ny/ecsstWrhwobZu3apevXqpdu3akqSgoCCbn4/NmTNHzzzzjPVxbrrpJr3wwguKjY217ku6/hOuRx55xLr8wAMPaPjw4TZfnFu3bi1JOnr0qJKSkvTzzz+rTp06kqSpU6dq8+bNWrFihV566SVJ139Gt3DhQmtCfuedd9S0aVP961//0u23365q1aqpUqVK+X7uFh4ebpP4AQAVCOOEQscJlSpVUmJiosaNG6elS5fqtttuU7du3TR8+HC1atXK7mOsXr1aly5d0sqVK1W1alVJ0sKFCzVgwADNnTtXoaGhkq7/FPvtt99WlSpV1Lx5cz3//PP685//rBdeeEGXLl3Sa6+9ps8//1zR0dGSro8rdu3apTfffFPdunWTJDVu3Fi1atUqcv9TUlL0t7/9TR99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DVVVVZg3bx60Wi1OnDiBzz//HMDz/WLb3t4ebdu2xfbt23HlyhWcOnUKixcvrnd7RC0Fk+hELdQXX3yB5ORkdOrUCe7u7gAAf39/fP/990hOToanpycGDRqEDRs2oEuXLrW2NWLECBw4cACJiYlwc3ODr68vMjMzlfLY2FjMmjULS5YsQffu3fHuu+8iMzMTnTp1UupYW1sjLCwM06ZNg7e3NzQaDfbv36+UT5gwAaNHj8bIkSPRrl07JCQkvOA1QkRE1DTY2trCy8sLGzduxPDhw9GnTx988sknmDt3LjZv3vxUfWtra5w4cQK3b9+Gp6cnJk6cCD8/v6fq+vn5oVu3bhg+fDgmT56MsWPHIjIyUilfvXo1wsPDsXbtWvTs2RP+/v44evSoch9VIiIi0s/Q+dvOzg5Hjx5FTk4O3NzcsGLFCoSHhwPQvd2qoczMzLB//36cP38effr0QWhoKD777LN6t0fUUqhE3w2ViIgaSVxcHEJCQlBWVmbsrhAREbVIQUFBKCsrq/Hn5ERERGQa9u7di+DgYPz999+1PpuMiF483hOdiIiIiIiIiIjIxOzevRvOzs7o2LEjcnNzERYWhsmTJzOBTmQETKITERERERERERGZmJKSEoSHh6OkpAQODg6YNGkS1qxZY+xuEbVIvJ0LEREREREREREREZEefLAoEREREREREREREZEeTKITEREREREREREREenBJDoRERERERERERERkR5MohMRERERERERERER6cEkOhERERERERERERGRHkyiExERERERERERERHpwSQ6EREREREREREREZEeTKITEREREREREREREenBJDoRERERERERERERkR7/BY0MJZcjeL1nAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", + "\n", + "# Plot posterior for intercept\n", + "axes[0].hist(posterior[\"intercept\"], bins=80, density=True, alpha=0.75)\n", + "axes[0].axvline(TRUE_INTERCEPT, color='r', linestyle='--', linewidth=2, label=f'True Intercept: {TRUE_INTERCEPT}')\n", + "axes[0].set_title('Posterior of Intercept')\n", + "axes[0].set_xlabel('Intercept')\n", + "axes[0].set_ylabel('Density')\n", + "axes[0].legend()\n", + "\n", + "# Plot posterior for slope\n", + "axes[1].hist(posterior[\"slopes\"][0], bins=80, density=True, alpha=0.75)\n", + "axes[1].axvline(TRUE_SLOPES[0], color='r', linestyle='--', linewidth=2, label=f'True Slope: {TRUE_SLOPES[0]}')\n", + "axes[1].set_title('Posterior of Slope')\n", + "axes[1].set_xlabel('Slope')\n", + "axes[1].set_ylabel('Density')\n", + "axes[1].legend()\n", + "\n", + "# Plot posterior for sigma\n", + "axes[2].hist(posterior[\"noise\"], bins=80, density=True, alpha=0.75)\n", + "axes[2].axvline(TRUE_SIGMA, color='r', linestyle='--', linewidth=2, label=f'True Sigma: {TRUE_SIGMA}')\n", + "axes[2].set_title('Posterior of Sigma')\n", + "axes[2].set_xlabel('Sigma')\n", + "axes[2].set_ylabel('Density')\n", + "axes[2].legend()\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 143 }, + "id": "GySjZVJp-AEW", + "outputId": "40449077-41fe-420b-8a7f-73ba0c2163a2" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "# Predict y_test using the linear model\n", - "X_test_with_const = sm.add_constant(X_test)\n", - "predictions = ols_model.get_prediction(X_test_with_const)\n", - "pred_summary = predictions.summary_frame(alpha=0.05)\n", - "\n", - "# Extract predicted values and confidence intervals\n", - "y_test_pred = pred_summary['mean']\n", - "conf_int_lower = pred_summary['obs_ci_lower']\n", - "conf_int_upper = pred_summary['obs_ci_upper']\n", - "\n", - "# Plot the predictions with the confidence intervals\n", - "plt.figure(figsize=(10, 6))\n", - "plt.scatter(X_test['feature1'], y_test_pred, color='blue', label='Predicted values')\n", - "plt.fill_between(X_test['feature1'], conf_int_lower, conf_int_upper, color='lightblue', alpha=0.4, label='95% Confidence Interval')\n", - "plt.xlabel('Feature 1')\n", - "plt.ylabel('Predicted Target')\n", - "plt.title('Predictions with 95% Confidence Interval')\n", - "plt.legend()\n", - "plt.show()" + "data": { + "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", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept1.0480.1230.8201.2740.0030.0021868.01961.01.0
slopes[feature1]1.8890.2331.4562.3250.0060.0041778.02002.01.0
noise0.4750.0500.3900.5710.0010.0012528.02382.01.0
\n", + "
" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 564 - }, - "id": "rPVevWfb2xyY", - "outputId": "ffd8191e-9b6d-4321-8edb-05159563e741" - }, - "execution_count": 7, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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G4B70+P169eja9euGDduHNq0aYM///wTO3fuxBdffFFi22V5Ffc+DvRnTSDuuOMOTJ48GZMnT0aNGjUKzawNHjwYr732GgYOHIi77roL586dwxtvvIFmzZph7969IX/NRBRikYjyI6KqzxuVXFqM9qhRo0RMTEyx9y9cuFB07txZWK1WERcXJ9q2bSumTJkiTp065TtH0zQxY8YMkZycLKxWq7j66qvF/v37C8X5XhpH7rVlyxZx3XXXibi4OBETEyPatWvnFyusqqp49NFHRe3atYUkSX6RxrgkjlwIIXbu3CkGDBggYmNjhc1mE3379hVbt24N6PNz6Rh37twphg8fLho2bCjMZrOoU6eOuOGGG8T27dtL+rT6vPHGGwKAeOihh/yO9+vXTwAQX375pd/xouLIi3v9xcVkF/d5udSff/4phgwZIpKSkoTJZBKpqaniqaeeKhRPfuHCBXH33XeLZs2aCZvNJsxms7jsssvErFmzhNPpLPLae/fuFSaTSezatavQfYsXLxaNGzcWNWvWFJMmTRKqqpY4Tq+ff/5ZjBs3TjRu3FiYTCYRFxcnrrrqKvGPf/xD5Ofn+85zuVxixowZIjU1VRiNRpGSkiKmTZvmd44QhaO1vfr06SP69Onjux1oHLkQgX8vCCFEVlaWmDZtmmjWrJkwmUyiVq1aokePHuKVV17xfV6D/Rrv379f3HzzzSIhIUFYLBbRsmVL8fTTT/udc/bsWTF+/HiRkpIijEajSEpKEtdee61YuHBhoee4VHFx5IGMr6TvYyEC+1lT3NesoKuuuqrISHqvt99+WzRv3lyYzWbRqlUrsWjRIvHMM88UGg/jyImijyREmFegEhERERERVXJc40RERERERFQKFk5ERERERESlYOFERERERERUChZOREREREREpWDhREREREREVAoWTkRERERERKWodhvg6rqOU6dOIS4uDpIkRXo4REREREQUIUIIZGVloV69epDlkueUql3hdOrUKaSkpER6GEREREREFCV+/fVXNGjQoMRzql3hFBcXB8D9ybHb7REeDRERERERRUpmZiZSUlJ8NUJJql3h5G3Ps9vtLJyIiIiIiCigJTwMhyAiIiIiIioFCyciIiIiIqJSsHAiIiIiIiIqRbVb40REREQUDYQQUFUVmqZFeihEVZrRaISiKOW+TtQUTi+++CKmTZuGCRMmYM6cOcWet3z5cjz99NM4duwYmjdvjpdeegmDBg2quIESERERlZPT6cTp06eRm5sb6aEQVXmSJKFBgwaIjY0t13WionD6/vvvsWDBArRr167E87Zu3Yrhw4cjLS0NN9xwA5YsWYKhQ4di586duPzyyytotERERERlp+s6jh49CkVRUK9ePZhMpoASvYgoeEIInD9/Hr/99huaN29erpknSQghQji2oGVnZ6NTp07417/+heeffx4dOnQodsZp2LBhyMnJwerVq33HunXrhg4dOmD+/PkBPV9mZibi4+ORkZHBOHIiIiKqcPn5+Th69CgaNWoEm80W6eEQVXl5eXk4duwYUlNTYbFY/O4LpjaIeDjE+PHjMXjwYPTr16/Uc7dt21bovAEDBmDbtm3FPsbhcCAzM9Pvg4iIiCjSZDniv4YRVQuhmtGNaKve0qVLsXPnTnz//fcBnX/mzBnUrVvX71jdunVx5syZYh+TlpaGGTNmlGucRERERERUvUXsTx2//vorJkyYgA8++KDQlFkoTZs2DRkZGb6PX3/9NWzPRUREREREVVPECqcdO3bg3Llz6NSpEwwGAwwGAzZu3Ii///3vMBgMRUZzJiUl4ezZs37Hzp49i6SkpGKfx2w2w263+30QERERUXQbPXo0hg4d6rt99dVXY+LEiRU+jg0bNkCSJKSnp4ftOY4dOwZJkrB79+6wPQeVX8QKp2uvvRb79u3D7t27fR9dunTBiBEjsHv37iITL7p3744vv/zS79i6devQvXv3iho2ERERUbU1evRoSJIESZJgMpnQrFkzPPfcc1BVNezPvWLFCsycOTOgcyui2KHqJ2JrnOLi4gpFiMfExKBmzZq+4yNHjkT9+vWRlpYGAJgwYQL69OmDV199FYMHD8bSpUuxfft2LFy4sMLHT0RERBRpmgZs3gycPg0kJwO9egEh2OezRAMHDsSiRYvgcDiwZs0ajB8/HkajEdOmTSt0rtPphMlkCsnz1qhRIyTXISqrqI5zOXHiBE6fPu273aNHDyxZsgQLFy5E+/bt8eGHH2LVqlXcw4mIiIiqnRUrgMaNgb59gbvucv9/48bu4+FkNpuRlJSERo0a4aGHHkK/fv3wf//3fwAutte98MILqFevHlq2bAnAvbb9jjvuQEJCAmrUqIEhQ4bg2LFjvmtqmoZJkyYhISEBNWvWxJQpU3DpjjmXtuo5HA489dRTSElJgdlsRrNmzfD222/j2LFj6Nu3LwAgMTERkiRh9OjRANx7aKWlpSE1NRVWq9X3+2RBa9asQYsWLWC1WtG3b1+/cRblrrvuwrBhw/yOuVwu1KpVC++99x4A4PPPP0fPnj19r++GG27AkSNHir3m4sWLkZCQ4Hds1apVhdLhPv74Y3Tq1AkWiwVNmjTBjBkzfLN/Qgg8++yzaNiwIcxmM+rVq4fHHnusxNdCJYuKDXC9NmzYUOJtALj99ttx++23V8yAiIiIiKLQihXAbbcBl+7GefKk+/iHHwK33FIxY7Farfjjjz98t7/88kvY7XasW7cOgLuIGDBgALp3747NmzfDYDDg+eefx8CBA7F3716YTCa8+uqrWLx4Md555x20bt0ar776KlauXIlrrrmm2OcdOXIktm3bhr///e9o3749jh49it9//x0pKSn46KOPcOutt+LgwYOw2+2wWq0A3GnL//73vzF//nw0b94cmzZtwt13343atWujT58++PXXX3HLLbdg/PjxuP/++7F9+3Y88cQTJb7+ESNG4Pbbb0d2djZiY2MBAGvXrkVubi5uvvlmAEBOTg4mTZqEdu3aITs7G3/7299w8803Y/fu3WWOpd+8eTNGjhyJv//97+jVqxeOHDmC+++/HwDwzDPP4KOPPsLrr7+OpUuX4rLLLsOZM2ewZ8+eMj0XeYhqJiMjQwAQGRkZkR4KERERVUN5eXnixx9/FHl5eWV6vKoK0aCBEO6yqfCHJAmRkuI+L9RGjRolhgwZIoQQQtd1sW7dOmE2m8XkyZN999etW1c4HA7fY95//33RsmVLoeu675jD4RBWq1WsXbtWCCFEcnKyePnll333u1wu0aBBA99zCSFEnz59xIQJE4QQQhw8eFAAEOvWrStynOvXrxcAxIULF3zH8vPzhc1mE1u3bvU7d8yYMWL48OFCCCGmTZsm2rRp43f/U089VehaBblcLlGrVi3x3nvv+Y4NHz5cDBs2rMjzhRDi/PnzAoDYt2+fEEKIo0ePCgBi165dQgghFi1aJOLj4/0es3LlSlHwV/drr71WzJo1y++c999/XyQnJwshhHj11VdFixYthNPpLHYc1UVJ33PB1AZR3apHRERERP42bwZ++634+4UAfv3VfV44rF69GrGxsbBYLLj++usxbNgwPPvss77727Zt67euac+ePTh8+DDi4uIQGxuL2NhY1KhRA/n5+Thy5AgyMjJw+vRpdO3a1fcYg8GALl26FDsGb5BYnz59Ah734cOHkZubi+uuu843jtjYWLz33nu+trmffvrJbxwASg0hMxgMuOOOO/DBBx8AcM8uffzxxxgxYoTvnEOHDmH48OFo0qQJ7HY7GjduDMC9LKWs9uzZg+eee87vtYwbNw6nT59Gbm4ubr/9duTl5aFJkyYYN24cVq5cWSEhHlVZVLXqEREREVHJCiz/Dsl5werbty/mzZsHk8mEevXqwWDw/3UyJibG73Z2djY6d+7sKywKql27dpnG4G29C0Z2djYA4NNPP0X9+vX97jObzWUah9eIESPQp08fnDt3DuvWrYPVasXAgQN99994441o1KgR3nzzTdSrVw+6ruPyyy+H0+ks8nqyLBda4+VyuQq9nhkzZuCWInoyLRYLUlJScPDgQXzxxRdYt24dHn74YcyePRsbN26E0Wgs1+stL10ICAHIEgqt24pmLJyIiIiIKpHk5NCeF6yYmBg0a9Ys4PM7deqEZcuWoU6dOsXup5mcnIxvv/0WvXv3BgCoqoodO3agU6dORZ7ftm1b6LqOjRs3ol+/foXu9854FdwXtE2bNjCbzThx4kSxM1WtW7f2BV14ffPNN6W+xh49eiAlJQXLli3DZ599httvv91XnPzxxx84ePAg3nzzTfTq1QsAsGXLlhKvV7t2bWRlZSEnJ8dXiF66x1OnTp1w8ODBEr8WVqsVN954I2688UaMHz8erVq1wr59+4r9vIaLEAIC7oJJ0wV0T01oNsioPGUTCyciIiKiSqVXL6BBA3cQxKXhEAAgSe77Pb+jR9yIESMwe/ZsDBkyBM899xwaNGiA48ePY8WKFZgyZQoaNGiACRMm4MUXX0Tz5s3RqlUrvPbaayXuwdS4cWOMGjUK9913ny8c4vjx4zh37hzuuOMONGrUCJIkYfXq1Rg0aBCsVivi4uIwefJkPP7449B1HT179kRGRga+/vpr2O12jBo1Cg8++CBeffVVPPnkkxg7dix27NiBxYsXB/Q677rrLsyfPx8///wz1q9f7zuemJiImjVrYuHChUhOTsaJEycwderUEq/VtWtX2Gw2TJ8+HY899hi+/fbbQuP429/+hhtuuAENGzbEbbfdBlmWsWfPHuzfvx/PP/88Fi9eDE3TfNf697//DavVikaNGgX0espLCHeBpAsBzTPD5C6fpEpVLBXENU5ERERElYiiAHPnuv99aZeT9/acOeHfzylQNpsNmzZtQsOGDXHLLbegdevWGDNmDPLz830zUE888QTuuecejBo1Ct27d0dcXJwvka448+bNw2233YaHH34YrVq1wrhx45CTkwMAqF+/PmbMmIGpU6eibt26eOSRRwAAM2fOxNNPP420tDS0bt0aAwcOxKefforU1FQAQMOGDfHRRx9h1apVaN++PebPn49Zs2YF9DpHjBiBH3/8EfXr18dVV13lOy7LMpYuXYodO3bg8ssvx+OPP47Zs2eXeK0aNWrg3//+N9asWYO2bdviP//5j986MgAYMGAAVq9ejf/973+44oor0K1bN7z++uu+wighIQFvvvkmrrrqKrRr1w5ffPEFPvnkE9SsWTOg11MWwjOj5NJ0ODwfLl2HEO73piJJUKTC79vKQhKXNlBWcZmZmYiPj0dGRkax08VERERE4ZKfn4+jR48iNTUVFoulzNdZsQKYMME/KCIlxV00VVQUOZHwzCjpAtB04ZlVcs8rSRKKnF1yxwO6W/XkCqiiSvqeC6Y2YKseERERUSV0yy3AkCHu9LzTp91rmnr1ip6ZJqq6dCE8H4WLJVmqvK14pWHhRERERFRJKQpw9dWRHgVVdUWFOxRcr1SVi6WCWDgREREREZGfksIdZAmoXHl4ocHCiYiIiIiIChVL7thw4VuvVB2LpYJYOBERERERVVMlr1eqzOHhocfCiYiIiIioGvEVSzrcbXjVJNyhvFg4ERERERFVYQx3CA0WTkREREREVQzDHUKPhRMRERFRlFB1HZpecc+nyIBBlivuCSmsGO4QXiyciIiIiKKAquv4JT0XLk1U2HMaFQlNEmwsngLw7LPPYt68eTh37hxWrlyJVatWIT09HatWrSr2MVdffTU6dOiAOXPmhG1cDHdwq4jPNb9LiIiIiKKApgMuTUCRAJMihf1DkdzPF8wMV1ZWFiZOnIhGjRrBarWiR48e+P777/3OGT16NCRJ8vsYOHCg736Hw4F77rkHdrsdLVq0wBdffOH3+NmzZ+PRRx8NaDyZmZn4y1/+glatWsFisSApKQn9+vXDihUrIEToCtCffvoJM2bMwIIFC3D69Glcf/31mDt3LhYvXhyy5wiU8BRKqq7Dobo/nJoOVXd/IWVJgiJ5i6bAWIwG/N/HHwc8hvfefRd1a9Usw+grN844EREREUURRZYqaAZIhxbk7NbYsWOxf/9+vP/++6hXrx7+/e9/o1+/fvjxxx9Rv35933kDBw7EokWLfLfNZrPv3wsXLsSOHTuwbds2fPbZZ7jrrrtw9uxZSJKEo0eP4s0338T27dtLHUt6ejp69uyJjIwMPP/887jiiitgMBiwceNGTJkyBddccw0SEhKCen3FOXLkCABgyJAhkCSp0GsKt4IteN7ZJV+4gwQolXRWSdM0QJYhV5IZz8oxSiIiIiKKqLy8PHz00Ud4+eWX0bt3bzRr1gzPPvssmjVrhnnz5vmdazabkZSU5PtITEz03ffTTz/hpptuwmWXXYbx48fj/Pnz+P333wEADz30EF566SXY7fZSxzN9+nQcO3YM3377LUaNGoU2bdqgRYsWGDduHHbv3o3Y2FgAwIULFzBy5EgkJibCZrPh+uuvx6FDh3zXWbx4MRISErB27Vq0bt0asbGxGDhwIE6fPg3A3aJ34403AgBkWfYVTqNHj8bQoUN918nJycHIkSMRGxuL5ORkvPrqq4XG7HA4MHnyZNSvXx8xMTHo2rUrNmzYUOJYBgwYgGO/nYRT0+HSdWgCeG/xInTp0B6JsTY0SWmAiY895rtGeno6Hrz/fjRITkLtGokYcF0/7N2zp9TPp9exY8dgMRqwauVK9O93LRLtcbiiUyd8s20bAGDjxg24f+wYZGRkwGI0wGI0YOZzM3yvb+qUJ9GkUUPUiLejV4/u2Ljx4uvzzlSt/uQTdGrXFlaLBW+99RYsFgvS09P9xjFhwgRcc801AIA//vgDw4cPR/369WGz2dC2bVv85z//Cfg1hQoLJyIiIiIqlaqq0DQNFovF77jVasWWLVv8jm3YsAF16tRBy5Yt8dBDD+GPP/7w3de+fXts2bIFeXl5WLt2LZKTk1GrVi188MEHsFgsuPnmm0sdi67rWLp0KUaMGIF69eoVuj82NhYGg7uxavTo0di+fTv+7//+D9u2bYMQAoMGDYLL5fKdn5ubi1deeQXvv/8+Nm3ahBMnTmDy5MkAgMmTJ/tmz06fPu0rqC715JNPYuPGjfj444/xv//9Dxs2bMDOnTv9znnkkUewbds2LF26FHv37sXtt9+OgQMH+go5IQRyc3Px8uzZeGvRYqz96iucOPErpk2Z4p5ZkiS8vWA+Jj72KMaMGYsdu3bjwxUr0bRpU99z3HXnMJw/fw4ff7Ia2779Dh07dsT1A/rjzz//LPXzWtAzf3saj0+ahO+270DzFs0x8p67oaoqunfvgVdefQ12ux3Hfv0Nx379DY9PegIAMPGxx/DNN9/gvQ8+wPc7d+GW227DTYMH43CBQjU3Nxevzn4Z/1qwAPv278eIESOQkJCAjz76yHeOpmlYtmwZRowYAQDIz89H586d8emnn2L//v24//77cc899+C7774L6jWVm6hmMjIyBACRkZER6aEQERFRNZSXlyd+/PFHkZeX53c836WJ/ecyxc9/ZIlfLuSE/ePnP7LE/nOZIt+lBTz27t27iz59+oiTJ08KVVXF+++/L2RZFi1atPCd85///Ed8/PHHYu/evWLlypWidevW4oorrhCqqgohhHA6neLhhx8WjRs3Fl26dBGbN28Wf/zxh2jSpIk4ceKE+Mtf/iKaNm0q+vfvL3777bcix3H27FkBQLz22msljvfnn38WAMTXX3/tO/b7778Lq9Uq/vvf/wohhFi0aJEAIA4fPuw754033hB169b13V65cqW49NfmUaNGiSFDhgghhMjKyhImk8l3TSGE+OOPP4TVahUTJkwQQghx/PhxoSiKOHnypN91rr32WvHU1KnCoWpiwVtvCwBi308HRK5TFXkuVcz9+z9E3bp1Rb5LFfkuVdSrV088NW2a73bBjy/XbxB2u11kZOf4HW/StKn457/mFfmYfJcqAIj/fviRyHep4sChwwKAmLdgoe/+XXv2CgBiz779It+lioVvvS3i4+P9rvHzkV+Eoijil+Mn/I73veYa8eRTT/keB0B8u32HyHWqQtN1IYQQEyZMENdcc43vc7J27VphNpvFhQsXiv3aDh48WDzxxBO+23369PF9ri9V3PecEMHVBlzjREREREQBef/993Hfffehfv36UBQFnTp1wvDhw7Fjxw7fOXfeeafv323btkW7du3QtGlTbNiwAddeey2MRiPeeOMNv+vee++9eOyxx7Br1y6sWrUKe/bswcsvv4zHHnvMbybCSwQY/PDTTz/BYDCga9euvmM1a9ZEy5Yt8dNPP/mO2Ww2v1mb5ORknDt3LqDnANxroJxOp9/z1KhRAy1btvTd3rdvHzRN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KFkNXK9ERERERJUHCycKmaLWK8WbDYjjeiUiIiIiquRYOFG5qLo3Mtx/vVKspwXPyPVKRERERFQFsHCioPjWK2k6VCGgyBLMsoyaVjNiTAbYDFyvRERERERVDwsnKlWR65WMCuLNBtiMBlgMMtcrEREREVGVxsKJisT1SkREREREF7FwIh+uVyIiIiIiKhoLp2qM65WIiIiIiALDwqmaKXm9kgIL91ciIiIiIiqEhVM1wPVKRERERETlw8KpiipuvVKM0YAYrlciIiIiIgoKC6cqwrdeSdeh6QKyJMGscL0SEREREVEosHCqxIQQcHlmljQhYJQlWA0K7Gb3rBLXKxERERERhQYLp0qmqPVKcWYD7FyvREREREQUNiycKgHNM6vk1HXIcK9Xqmk1IdZTLJm4XomIiIiIKKxYOEUhIQRU4Q13EFA865VqWM2wGRXYjAYYuF6JiIiIiKjCsHCKEpeuVzLIEiyKjPgYI2wGBVYj1ysREREREUUKC6co4NIFMp0qTLKMOJOCOLPRvRkt1ysREREREUUFFk4RZlZk1I0xI9bkTsLjeiUiIiIioujDwinCEixGJFiMkR4GERERERGVgNMbREREREREpWDhREREREREVAoWTkRERERERKWIisLpjTfeQOPGjWGxWNC1a1d89913JZ6/fPlytGrVChaLBW3btsWaNWsqaKRERERERFQdRbxwWrZsGSZNmoRnnnkGO3fuRPv27TFgwACcO3euyPO3bt2K4cOHY8yYMdi1axeGDh2KoUOHYv/+/RU8ciIiIiIiqi4kIYSI5AC6du2KK664Av/85z8BALquIyUlBY8++iimTp1a6Pxhw4YhJycHq1ev9h3r1q0bOnTogPnz55f6fJmZmYiPj0dGRgbsdnvoXggREREREVUqwdQGEZ1xcjqd2LFjB/r16+c7Jssy+vXrh23bthX5mG3btvmdDwADBgwo9nyHw4HMzEy/DyIiIiIiomBEtHD6/fffoWka6tat63e8bt26OHPmTJGPOXPmTFDnp6WlIT4+3veRkpISmsETEREREVG1EfE1TuE2bdo0ZGRk+D5+/fXXSA+JiIiIiIgqGUMkn7xWrVpQFAVnz571O3727FkkJSUV+ZikpKSgzjebzTCbzaEZMBERERERVUsRnXEymUzo3LkzvvzyS98xXdfx5Zdfonv37kU+pnv3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\n" - }, - "metadata": {} - } + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", + "intercept 1.048 0.123 0.820 1.274 0.003 0.002 1868.0 \n", + "slopes[feature1] 1.889 0.233 1.456 2.325 0.006 0.004 1778.0 \n", + "noise 0.475 0.050 0.390 0.571 0.001 0.001 2528.0 \n", + "\n", + " ess_tail r_hat \n", + "intercept 1961.0 1.0 \n", + "slopes[feature1] 2002.0 1.0 \n", + "noise 2382.0 1.0 " ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bayes_model.get_posterior_summary()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Uogi7LOhH7oR" + }, + "source": [ + "Additionally, note that apart from using the convenience functions provided by the BayesianLinearRegressor, such as `get_posterior_summary`, you can directly access the `trace` attribute of the model instance. This `trace` object contains the samples generated by the MCMC algorithms, capturing the posterior distribution of the model parameters.\n", + "\n", + "Once you have the `trace` object, you can use the `arviz` library to analyze and visualize any distributions created during the model's lifetime, such as the prior and posterior distributions. `arviz` provides a rich set of tools for diagnostics, plotting, and summarizing the results of Bayesian models. This allows for a thorough examination of the model's behavior and the reliability of the inferred parameters.\n", + "\n", + "For example, here, we use `arviz`'s `plot_posterior` to plot the posterior distribution of the `intercept ` variable." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 530 }, + "id": "4nYXl4CWNo6r", + "outputId": "bfce2215-6b77-471f-ca59-d4bdabc221cb" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "# Bayesian Inference" - ], - "metadata": { - "id": "v0cZgX_YnwA9" - } + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" }, { - "cell_type": "markdown", - "source": [ - "Now let's switch our attention to bayesian linear regression. Bayesian linear regression estimates the relationship between variables by incorporating prior knowledge or beliefs along with the observed data. Instead of providing single point estimates for the model parameters (like the slope and intercept), it calculates their probability distributions.\n", - "\n", - "`skpro` provides an implementation of Bayesian linear regression through the `BayesianLinearRegressor` class. Here, we create an instance of the `BayesianLinearRegressor` and fit it to our training data." - ], - "metadata": { - "id": "OrAkF1x4u6hn" - } + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "az.plot_posterior(bayes_model.trace, var_names = \"intercept\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "n70jIDv3EKBo" + }, + "source": [ + "# Model checking\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "M2VKn5Kg3iBv" + }, + "source": [ + "Before using our Bayesian model to make predictions, it is advisable to perform some sanity checks to ascertain the correctness of the model set up and the assumptions. This section describes some of the most commonly used checks." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_J-ZmDE2sGOm" + }, + "source": [ + "## `graphviz` Visualization" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "fZZb1BcpLAo7" + }, + "source": [ + "One way to understand the `bayes_model` is to visualize its composition using the `.visualize_model` method. This method uses the `graphviz` library to generate a graphical representation of the model, illustrating the relationships and dependencies between the priors, likelihood, data and the posterior.\n", + "\n", + "\n", + "The graphviz diagram will show the following:\n", + "\n", + "- Ovals indicate stochastic nodes (random variables).\n", + "- Rectangles represent deterministic nodes (computed values).\n", + "- Shaded shapes (like the shaded ovals for X and y) indicate observed data or fixed inputs.\n", + "- Unshaded shapes represent latent variables or parameters that the model is trying to infer." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 624 }, + "id": "Hs4FcW38-66-", + "outputId": "dab0a1ef-c8d4-410a-c0c6-0d6de935f538" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "%timeit\n", - "y_train = pd.DataFrame(y_train)\n", - "y_train.columns = [\"target\"]\n", - "bayes_model = BayesianLinearRegressor(intercept_mu=0, intercept_sigma=10,\n", - " slopes_mu=0, slopes_sigma=10,\n", - " noise_sigma=10)\n", - "bayes_model.fit(X_train, y_train)" + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterobs_id (50) x pred_id (1)\n", + "\n", + "obs_id (50) x pred_id (1)\n", + "\n", + "\n", + "clusterobs_id (50)\n", + "\n", + "obs_id (50)\n", + "\n", + "\n", + "clusterpred_id (1)\n", + "\n", + "pred_id (1)\n", + "\n", + "\n", + "cluster50\n", + "\n", + "50\n", + "\n", + "\n", + "\n", + "X\n", + "\n", + "X\n", + "~\n", + "Data\n", + "\n", + "\n", + "\n", + "mu\n", + "\n", + "mu\n", + "~\n", + "Deterministic\n", + "\n", + "\n", + "\n", + "X->mu\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "y\n", + "\n", + "y\n", + "~\n", + "Data\n", + "\n", + "\n", + "\n", + "y_obs\n", + "\n", + "y_obs\n", + "~\n", + "Normal\n", + "\n", + "\n", + "\n", + "y_obs->y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "noise\n", + "\n", + "noise\n", + "~\n", + "HalfNormal\n", + "\n", + "\n", + "\n", + "noise->y_obs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "intercept\n", + "\n", + "intercept\n", + "~\n", + "Normal\n", + "\n", + "\n", + "\n", + "intercept->mu\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "slopes\n", + "\n", + "slopes\n", + "~\n", + "Normal\n", + "\n", + "\n", + "\n", + "slopes->mu\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "mu->y_obs\n", + "\n", + "\n", + "\n", + "\n", + "\n" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 177, - "referenced_widgets": [ - "5041e82f2cec4d18afadc01334823e21", - "8bf13818fd184881993e49113f14aaa4", - "aaa3b0bdfa1d49169356cde19bae9c94", - "27aa1995a5e54ad5b61296623e65ca55", - "140c47265a9d4413bcd5d6cb82c8813a", - "4afa3bbfa3e94be2b99d17c0a0d236c6" - ] - }, - "id": "yvgLcSFQiwpV", - "outputId": "2a2166e3-45ef-4eda-974b-61f5a09ca74a" - }, - "execution_count": 8, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Output()" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "5041e82f2cec4d18afadc01334823e21" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [], - "text/html": [ - "
\n"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "text/plain": [
-              "\n"
-            ],
-            "text/html": [
-              "
\n",
-              "
\n" - ] - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Output()" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "aaa3b0bdfa1d49169356cde19bae9c94" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [], - "text/html": [ - "
\n"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "text/plain": [
-              "\n"
-            ],
-            "text/html": [
-              "
\n",
-              "
\n" - ] - }, - "metadata": {} - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - "/usr/local/lib/python3.10/dist-packages/arviz/utils.py:184: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", - " numba_fn = numba.jit(**self.kwargs)(self.function)\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Output()" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "140c47265a9d4413bcd5d6cb82c8813a" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [], - "text/html": [ - "
\n"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "text/plain": [
-              "\n"
-            ],
-            "text/html": [
-              "
\n",
-              "
\n" - ] - }, - "metadata": {} - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "BayesianLinearRegressor()" - ], - "text/html": [ - "
BayesianLinearRegressor()
Please rerun this cell to show the HTML repr or trust the notebook.
" - ] - }, - "metadata": {}, - "execution_count": 8 - } + "text/plain": [ + "" ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bayes_model.visualize_model()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "D8VaZ4EE9NEV" + }, + "source": [ + "## Posterior Predictive Check\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ytujeec43zoq" + }, + "source": [ + "A posterior predictive check (PPC) is a method used in Bayesian statistics to assess the fit of a model by comparing observed data to data simulated from the model. It involves generating new data sets from the posterior distribution of the model parameters and comparing these to the actual observed data. This process helps to identify discrepancies between the model predictions and the observed data, thereby providing a way to evaluate the adequacy of the model." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UJcKVLBVLZoG" + }, + "source": [ + "The `BayesianLinearRegressor` class provides a convenient method, `plot_ppc` to visually perform PPC.\n", + "\n", + "The resulting plot will show the following components:\n", + "\n", + "1. **Blue Lines**: represent the posterior predictive samples, which are the range of possible values that the model predicts for the observed data, given the posterior distribution of the parameters.\n", + "\n", + "2. **Black Line**: represents the density of the observed data values, i.e. the actual distribution of the data.\n", + "\n", + "3. **Orange Dashed Line**: represents the mean of the posterior predictive distribution, whichprovides a central tendency of the model's predictions.\n", + "\n", + "The plot is used to visually assess the goodness of fit of the Bayesian model. By comparing the observed data distribution (black line) to the posterior predictive samples (blue lines) and their mean (orange dashed line), we can see if there are significant discrepancies. If the observed data closely follows the central tendency and falls within the range of the posterior predictive samples (like what we see in the plot below), it suggests that the model fits the data well.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 530 }, + "id": "gF7Fsraqr9FG", + "outputId": "618e9e70-4fdd-4983-cb4d-274a06f46358" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "## Theory" - ], - "metadata": { - "id": "MX3zjVyq4WsM" - } + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" }, { - "cell_type": "markdown", - "source": [ - "In this section, we will explore the theoretical framework used in Bayesian linear regression.\n", - "\n", - "Bayesian linear regression directly applies Bayes' Theorem to estimate the posterior distributions of the model parameters. As a reminder, here is the Bayes Theorem:\n", - "\n", - "\\begin{align*}\n", - "P(\\theta \\mid D) &= \\frac{P(D \\mid \\theta) \\times P(\\theta)}{P(D)} \\\\\n", - "\\text{posterior} &= \\frac{\\text{likelihood} \\times \\text{prior}}{\\text{marginal likelihood}}\n", - "\\end{align*}\n", - "\n", - "\n", - "Where:\n", - "\n", - "- $\\theta$ represents the model parameters, which in our case consist of the intercept $\\beta_{0}$, the slopes $\\beta$ and the noise $\\sigma$\n", - "- $D$ represents the observed training data, which consist of $\\mathbf{X}_{\\text{train}}$ and $\\mathbf{y}_{\\text{train}}$\n", - "- $P(\\theta \\mid D)$ is the posterior distribution of the parameters - given the data.\n", - "- $P(D \\mid \\theta)$ is the likelihood of the data given the parameters.\n", - "- $P(\\theta)$ is the prior distribution of the parameters.\n", - "- $P(D)$ is the marginal likelihood (evidence), a normalizing constant ensuring the posterior is a valid probability distribution.\n", - "\n" - ], - "metadata": { - "id": "NVVm_Idgo0Ac" - } + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAG8CAYAAABDr6ZqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeZwlZX3o/0/tdfbT+zY7w76JIiohCkFDchPUoBeNxIjRGxMxEoPk5c+AiBt6vRqT4PbKBQWNL2PcYowXFxbFEUXZZAaGWXump/fus5/aq57fH9XdM830DD0wAzPD8369Ruk6derUOTOn61vP832+X0UIIZAkSZIk6XlLfa5PQJIkSZKk55YMBiRJkiTpeU4GA5IkSZL0PCeDAUmSJEl6npPBgCRJkiQ9z8lgQJIkSZKe52QwIEmSJEnPc/pydkqShLGxMQqFAoqiHOlzkiRJkiTpMBBC0Gw2GRwcRFUPfP+/rGBgbGyMlStXHraTkyRJkiTp2TMyMsKKFSsO+PiygoFCobBwsGKxeHjOTJIkSZKkI6rRaLBy5cqF6/iBLCsYmJ8aKBaLMhiQJEmSpGPMU03xywRCSZIkSXqek8GAJEmSJD3PyWBAkiRJkp7nlpUzsFxxHBOG4eE8pCRJR5BhGGia9lyfhiRJz7HDEgwIIZiYmKBWqx2Ow0mS9Cwql8v09/fLGiKS9Dx2WIKB+UCgt7eXbDYrf6lI0jFACIHjOExNTQEwMDDwHJ+RJEnPlWccDMRxvBAIdHV1HY5zkiTpWZLJZACYmpqit7dXThlI0vPUM04gnM8RyGazz/hkJEl69s1/d2W+jyQ9fx221QRyakCSjk3yuytJklxaKEmSJEnPczIYkCRJkqTnORkMHKOGh4dRFIV77rnnuT6Vw+bLX/7yoiHre+65B0VRGB4ePqzHlSRJkhaTwQBw5ZVXoigKiqKgaRorVqzgzW9+MyMjI4ftNdasWcMHP/jBw3a8lStXMj4+zvnnn3/Yjnm0Of/88xkfH192++wDBUhveMMbGB8fPwJnKEmSdHyQwcCcl73sZYyPjzMyMsKXvvQlfvGLX3DppZeSJMlzfWr78X0fTdPo7+/HNM1nfKzD6XAezzRN+vv7n/Fyt0wmQ39//2E6q+eHmhMwXncJoqPv378kSYffEQkGhBA4QfSc/RFCHPI5z194BgcHedWrXsWNN97II488wrZt2wD4+te/zplnnollWQwMDHD11Vfjuu7C8zdt2sQll1xCuVwmm81yyimn8JWvfAWAM844g127dnHjjTcujEDMD33v2LGD17/+9XR0dFAul3nVq17FI488snDc+aHyH/zgB1x44YVkMhk++clPLnkXvH37dl772tdSKpXI5XK88pWv5OGHH154fP45X/3qV3n1q19NPp/nqquuWvLzmB9a/+lPf8pZZ52FbducddZZ3H333cs63p133skFF1xAJpNhcHCQK6+8kunp6UX/Rq6//np6e3vJ5/O88Y1vpFqtLjqHpaYJtm/fzuWXX05XVxeZTIbTTz+db3zjG8zMzLB27VoALrroIhRFYc2aNYveC0Cr1SKfz3Prrbcueq12u00+n+eWW25Z2PbZz36WU089Fdu2OfHEE/nwhz/8vFh+V2kHTDQ84kSwY6ZFFMuAQJKOd4e1N8E8N4w57QM/PBKHXpbHPnQJWfOZvbX5YixBEPCjH/2IN73pTdxwww288Y1vZOvWrfzVX/0V1WqV22+/HYA//dM/5bTTTmPDhg1kMhm2bNlCFEUA/PSnP+UFL3gBb3jDG3jve98LQE9PD1NTU/zO7/wOr3nNa/jpT3+KZVncfPPNXHjhhWzevJm+vr6F87n66qv5xCc+wTnnnIOqqvsFPL7v8/u///sMDg7y4x//GMuy+NCHPsTv/d7vsWXLFrq7uxf2/fu//3s++tGP8pnPfOYpA6err76aT3/60wwMDHDTTTfxx3/8x2zbtm1RtbonH++ee+7h0ksv5ROf+ARf+tKXqNfrXHvttbz2ta/l5z//OYqi8M///M986lOf4uabb+aCCy7gu9/9LjfeeONBz2ViYoLzzz+f0047je9+97sMDQ3x+OOPEwQBXV1d3H///Zx33nl861vf4vzzz19yRCGfz/O6172O2267jb/4i79Y2P7Nb34TIQSXX345AB/+8If513/9V/7pn/6JF7zgBWzevJl3vOMdOI7DTTfddNDzPJZFccJ43WVdd56MqTFScZhs+gyVM8/1qUmSdAQdkWDgWLdz504+/vGPs3LlSk4++WSuuuoqXv3qV3PDDTcAcPLJJ3PzzTdz2WWXceONN7J27VqGh4d573vfy+mnnw7AunXrFo7X1dWFpmnk8/lFw9Wf//znGRoa4gtf+MLCtn/+53/mBz/4AV/5ylcWAgeA/+//+/+47LLLFn5+clLd1772NUZHR9mwYcPCa/zbv/0ba9eu5eabb16Ur/D2t7+dt771rcv6LG666SZe+cpXAnDrrbdy991387nPfY4Pf/jDBzze29/+dt75znfyN3/zNwvbbrvtNlavXs0DDzzAueeeyyc/+Un+5m/+ZuGC/Pd///fcf//9fOtb3zrguXz2s59FCMH3vvc9CoUCsPhz7unpAaCzs/Og0wJvectbeOUrX8nOnTsXRhNuu+02LrvsMgqFAo7j8PGPf5x///d/54//+I8BWLt2LR/5yEe46qqr+NjHPnbcJiRWnICCZZAx00Cqr2izdapJX8FC1+SsoiQdr45IMJAxNB770CVH4tDLfv1Dde+995LP50mSBNd1Oe+88/jOd76DYRhs3LiR66+/ftH+r3jFKxBCsHHjRtauXcu1117L2972Nm699VZe8YpX8JrXvIYXvvCFB33N+++/n0ceeYR8Pr9ou+u6bN26ddG2l7zkJQc91saNGznllFMWXQRt2+a8887j0UcfPaRj7WvfBEXTNHnxi1/Mpk2bDnq8+++/n/vuu29RkDNv69atnHTSSYyOju6X/HjBBRccNBh44IEHeOlLX7oQCDxdF110EatWreIrX/kKH/jAB9i1axf33HMPP/7xj4F0ysdxHN7whjcsuujHcYzneUxMTBy3dfyr7ZChjr2jAKaukjN16m5IV956Ds9MkqQj6YgEA4qiPONh+mfbueeey7/9278tJObNTxMcyPxFYv7/r7/+eq644gruuOMO7rzzTm666Sbe+9738rGPfeyAx0iShAsvvJDPf/7z+z1WLBYX/ZzL5Q56Pgcb7n/yXexTHeupPNXxkiThve99L1deeeV+z+3r61tIynw6d9eH445cURTe/OY3c/vtt/OBD3yA22+/nZUrV3LRRRcBLJzf17/+dU499dT9nj8/AnG88YKYRAjy1uLvbjlrUGkHMhiQpOOYHPebk8lkWL9+PWvXrt0vEDj99NP3W642//P8tACkQ9bvfOc7+da3vsWHPvQhPvvZzy48ZpomcRwvOsa5557LY489xuDgIOvXr1/0p7e395DO/4wzzmDz5s1MTEwsbPM8j/vvv58zzjjjkI61r1/84hcL/x0EAb/+9a+XvEDu69xzz2Xjxo37vaf169dTKBQolUoMDQ2xYcOGRc978s9LHfe+++6j2Wwu+fj8yoonf85LufLKK9m+fTs///nPuf322/nzP/9zVDX9Opx++unYts327duXfA+6fmwFusvVDiMK9v7vrWAbOEFMnBx6Yq4kSccGGQwswz/8wz/wve99jxtvvJEtW7bw/e9/n3e9611cccUVrF27llarxVVXXcVdd93F8PAwDz30EHfccQennXbawjHWrVvHhg0bGBkZYWZmhiRJeNe73oUQgte85jXce++9DA8P8/Of/5zrrruOe++995DO8U1vehMDAwNcfvnlC9MPV1xxBZ7nHXDFwHK8//3v56677uKxxx7j7W9/O9VqlXe+850Hfc6HPvQh/vu//5urr76ahx56iO3bt3PHHXfw9re/feFCfs0113DzzTdz2223sXXrVj71qU/xk5/85KDHveqqq1AUhVe/+tXce++97Ny5kx/+8Id897vfBdJRh2w2y49+9CMmJyf3W52wrxNOOIHf+Z3f4d3vfjfbtm3jLW95y8Jj+Xye97///Vx//fX8y7/8C0888QSbNm3i61//Otdee+0yP7ljj+NHFCxjv+2aqpAxNVp+9ByclSRJzwYZDCzDJZdcwle+8hX+4z/+gzPOOIO3ve1tvPa1r+WLX/wiALquU61Wedvb3sYpp5zCJZdcQm9vL//+7/++cIyPfOQj1Go1TjrpJHp6eti9ezd9fX3cd9999PX18brXvY6TTz6ZK664gp07dzI4OHhI52jbNj/60Y8ol8tcfPHFvOxlL6NWq3HnnXc+o2HtT3/607z73e/mnHPO4cEHH+R73/veU57bRRddxF133cWmTZt4+ctfzllnncV73vMecrkclpUONV999dVcffXVXHPNNbzgBS/gvvvu4wMf+MBBj9vX18eGDRvo6Ojg0ksv5bTTTuOaa65ZWO6naRqf+9zn+MY3vsHQ0BDnnHPOQY935ZVX8tBDD3HBBRewfv36RY9df/31fOYzn+GWW27h7LPP5oILLuAf//EfF5YrHm+EADdMyFlL59sULF0GA5J0HFPEMhblNxoNSqUS9Xp9v7lsz/MWsrJt2z5iJyo9u7785S/z1re+9WnVbJCOLZ7nsX3HDvRSHycPdS25T8uPGK+5nNj3zJI3JUl6dh3s+r0vOTIgSRJCHHwVTtbQ8KOEROYNSNJxSQYDkiQhhMDSD/zrQFUVLF3FCZ86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3CmEEGJ8fFz09vaKCy+8UPzsZz8T27dvF9///vfFt7/9bZEkibj//vsFIL71rW+J8fFxMTU1tei9zPvzP/9z8fKXv3zR+/3yl78sstmsaDQaQgghPvShD4mVK1eKb3/722LHjh3iBz/4gVi5cqV43/ved8B/R/Ofx+rVq8U3vvENsWXLFvEXf/EXIpPJiD/4gz8QX/ziF8XWrVvFddddJ1RVFVu2bFl47sUXXyxe/vKXi3vvvVds375dfPGLXxSGYYg77rhjYZ8PfehD4p577hE7d+4UP/vZz8SLX/xicdFFFy06B0B0d3eLT//jZ8Tjm58QX/3qV4WmaeLWW29d2McNIhHFyd6f9/kO755ti+mmd8D3+GTbppqi7gbL3l+SpGfXwa7f+5LBgNg/GNixY4c499xzxcqVK0UQBOLlL3+5eM1rXrPoOd/5zneEoihix44dQgghCoWCuO222w74GqtXrxY33HDDom0f/OAHxYte9KJF25IkEevWrROf/OQnhRB7L4i33HLLov2eHAzceuutwrIsMT4+vrCP67qiv79/4XXnn3P99dc/1UeycAH9wQ9+sLDN930xODgorrvuuoMe78ILLxTXXHPNom27du0SgPj1r38thBBiaGhI/P3f//2ifV73utcdNBi47rrrRE9Pz8IF+8me/Jk8+b3Mu/POOxf93QkhxEUXXST+7M/+TAghRLvdFtlsdiGYm3fbbbeJfD6/ENAc6PU/8YlPLGwbHR0VgPjrv/7rhW1hGIpMJiO+8IUvCCGEuOeee4RhGGJ2dnbR8d761reKP/qjP1rytYQQ4le/+pUAxOjo6MI2QPzlX/6lcPxIxHMX/Isvvlj86Z/+6cI+jh+JOFk6GJhqeGKk0j7gaz7Z7tm2mDmE4EGSpGfXcoMBmTMw59577yWfz5PNZlm3bh2qqvKd73wHwzDYuHEjF1544aL9X/GKVyCEYOPGjQBce+21vO1tb+PCCy/khhtu4MEHH3zK17z//vt55JFHyOfzC38KhQLDw8Ns3bp10b4veclLDnqsjRs3csoppyyaG7dtm/POO49HH330kI61r30TFE3T5MUvfjGbNm066PHuv/9+br755kXv67TTTgNg69atNBoNRkdH90t+vOCCCw56Lg888AAvfelLKRQKyz7/pVx00UWsWrVqYRpn165d3HPPPVx55ZVAOuXjOA5veMMbFr2Hd7zjHbRaLSYmJg56/HPOOWfhvwcGBvbbpus6PT09C0P8999/P1EUsWrVqkWv99WvfnXRv4P//M//5MILL2RoaIhCocBFF10EsN9qi3Ne+EJg70qCoaGhhXMWQhxwmgDSJEIvXP6wv6GpRDJnQJKOefoRPfoF74GX/vXy97dL+297z6NL5xIsRXv6yXTnnnsu//Zv/7aQmJfJZA66/77tXwGuv/56rrjiCu644w7uvPNObrrpJt773vfysY997IDHSJKECy+8kM9//vP7PVYsFhf9nMvlDno+4iCf0ZOTxZ7qWE/lqY6XJAnvfe97Fy6u++rr61tIynw6y/0OxxJBRVF485vfzO23384HPvABbr/9dlauXLlwcZ0/v69//euceuqp+z2/p6fnoMc3DGO/89132/z2+ddJkoR8Pr9kADn/vF/96ldcdtllXHvttXz84x+no6OD4eFh/uAP/oAgCBY9xzSM/UoNz79WusZg6aqEALah4YXxXIXCp/6sDU05pOWIkiQdnY5sMGDY6Z9nYqkA4QjIZDKsX79+ycdOP/107rnnHv72b/92Ydt84t7pp5++sG3dunW8853v5J3vfCcf//jHuemmmxaCAdM0FyVxQRqA3HrrrQwODpLNZp/R+Z9xxhl87nOfY2JiYmF0wPM87r//ft7xjnc87eP+4he/4A//8A8BCIKAX//617z1rW896HPOPfdcNm7ceMDPE9K71Q0bNvDqV796YduGDRue8rhf+MIXaDabS44OzK+sePLnvJQrr7ySj3zkI/z85z/n9ttv58///M9R1XSg7PTTT8e2bbZv386ll176lMd6ps4991yazSatVosXvOAFS+7z85//nHK5zMc//vGFbb/85S+X3FewdOVBOPCywnmGpqIqCn6UYBtPvYpD11TC+MBJlZIkHRvkNMEy/MM//APf+973uPHGG9myZQvf//73ede73sUVV1zB2rVrabVaXHXVVdx1110MDw/z0EMPcccddywMjUMaKGzYsIGRkRFmZmZIkoR3vetdCCF4zWtew7333svw8DA///nPue6667j33nsP6Rzf9KY3MTAwwOWXX74w/XDFFVfged4BVwwsx/vf/37uuusuHnvsMd7+9rdTrVZ55zvfedDnfOhDH+K///u/ufrqq3nooYfYvn07d9xxB29/+9tpNpsA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SDIgRAkLhUJ861vfYufOnfzhD38o9L0fq+985zuYpsnPf/5z3nnnncL2TCbDHXfcQSKR4Oqrr2bQoEG9jt28eTNz5sw5YNvjjz/OypUraWxs5Kqrrips/+lPf3rIegUvv/wyoBMDIUTpMNShOvyEECVj3bp1nH322QB8//vfZ968eZ/r9R566CHuvfdefD4fX/nKV6irq+PNN99k69atjBgxguXLl9O/f//C8++//37mzJnDrFmzaGlpYeTIkZx77rl8/PHHrF69Gr/fz5/+9CemTp1aOKa6uppYLMbo0aMZMWIESineffddPvroI+rq6njrrbcYPnz45/o9hBBfHGkZEKLEnXXWWYX++FtvvfVzv94999zD888/z6RJk1i9ejVPP/00tm1z1113sWrVqgMSgf1NmDCB119/ncbGRp5//nnWrVvHV7/6VZYuXXpAIgDw6KOPMn36dBKJBC+99BIvv/wylmUxe/Zs3n33XUkEhCgx0jIgRIlbsWIFF110EZMmTWLp0qXFDkcIcQqSlgEhStxDDz0EwD//8z8XORIhxKlKWgaEKEErVqzgiSeeYO3atbz99tuMHTuWt99+G9OU/F0I8cXrXVtUCFF069evZ8GCBUSjUa644goee+yxQyYCs2fP7vMKgC0tLV9wlEKIU4W0DAhxEmtubj5sMaCDyUddCHE4kgwIIYQQZU46IIUQQogyJ8mAEEIIUeYkGRBCCCHKnCQDQgghRJmTZEAIIYQoc5IMCCGEEGVOkgEhhBCizEkyIIQQQpS5/w++3+rdoS1jagAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "bayes_model.plot_ppc()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "sq0u7FdvEd1V" + }, + "source": [ + "# Predictions" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "OQ0mq2TcOh1i" + }, + "source": [ + "Now, it's time to use the trained `bayes_model` to perform out-of-sample prediction. As mentioned earlier, a significant benefit of using the Bayesian model is that it generates a full distribution for each test data point, rather than a single point estimate. This provides a more comprehensive understanding of the uncertainty and variability in the predictions.\n", + "\n", + "In our class, this is accomplished using the `predict_proba` method, which returns an `skpro` `Empirical` distribution.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "LhZvCf9QNdQX" + }, + "source": [ + "## `predict_proba`" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 33, + "referenced_widgets": [ + "2b6f7349e109440997ec97f6115eb5e8", + "046257170ed44b08903c7ab551b34710" + ] }, + "id": "wm0pwT-A8rQJ", + "outputId": "3c0869ac-a8c2-476f-c04c-8e054c977314" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "### Prior" - ], - "metadata": { - "id": "C0-M9HLMp2TZ" - } + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_obs]\n" + ] }, { - "cell_type": "markdown", - "source": [ - "The prior $P(\\theta)$ reflects our beliefs about the parameters before observing any data. In our case, since we don't have any strong beliefs about the parameters, we shall use weekly informative priors for our parameters:" - ], - "metadata": { - "id": "_bog-nh1p4LC" - } + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "884aa6c7a04149a39ec6515538cedc0c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "\\begin{align*}\n", - "\\text{intercept} &== \\beta_{0} &\\sim \\mathcal{N}(0, 10) \\\\\n", - "\\text{slopes} &== \\beta &\\sim \\mathcal{N}(0, 10) \\\\\n", - "\\text{noise} &== \\sigma &\\sim \\text{HalfNormal}(10)\n", - "\\end{align*}\n" + "data": { + "text/html": [ + "
\n"
       ],
-      "metadata": {
-        "id": "xfpa-cWKL5aR"
-      }
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
     },
     {
-      "cell_type": "markdown",
-      "source": [
-        "These priors are specified when we instantiate our model: `BayesianLinearRegressor(intercept_mu=0, intercept_sigma=10,\n",
-        "                                      slopes_mu=0, slopes_sigma=10,\n",
-        "                                      noise_sigma=10)`"
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" ], - "metadata": { - "id": "6iGXbmNdqGlR" - } + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "y_pred_proba_bayes = bayes_model.predict_proba(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 186 }, + "id": "vVSLDsTHO8ks", + "outputId": "9d7cab41-1ea6-482f-bcf5-06e462e88798" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "We can extract the prior through the `get_prior` method of the `bayes_model`. We see that these prior distributions match the distributions we set during model instantiation." - ], - "metadata": { - "id": "zQkLzcuUAXxj" - } + "data": { + "text/plain": [ + "skpro.distributions.empirical.Empirical" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(y_pred_proba_bayes)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "YfBP3uCNPGHa" + }, + "source": [ + "The returned distribution is known as the **posterior predictive distribution**. This distribution provides probabilistic forecasts for future observations by incorporating uncertainty about the model parameters and data variability.\n", + "\n", + "The posterior predictive distribution enables us to make probabilistic statements about future observations and understand the variability in our predictions.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7EAsEgp1OC1-" + }, + "source": [ + "\n", + "The posterior predictive distribution is given by:\n", + "\n", + "$$\n", + "p(y_{\\text{pred}} \\mid X_{\\text{new}}, X_{\\text{train}}, y_{\\text{train}}) = \\int p(y_{\\text{pred}} \\mid X_{\\text{new}}, \\theta) p(\\theta \\mid X_{\\text{train}}, y_{\\text{train}}) \\, d\\theta\n", + "$$\n", + "\n", + "where:\n", + "- $y_{\\text{pred}}$ is the new predicted data point.\n", + "- $X_{\\text{new}}$ is the new input.\n", + "- $\\mathbf{X}_{\\text{train}}$ is the set of observed inputs.\n", + "- $\\mathbf{y}_{\\text{train}}$ is the set of observed outputs.\n", + "- $\\mathbf{\\theta}$ represents the model parameters.\n", + "- $p(y_{\\text{pred}} | X_{\\text{new}}, \\mathbf{\\theta})$ is the likelihood of the new data point given the model parameters.\n", + "- $p(\\mathbf{\\theta} | \\mathbf{X}_{\\text{train}}, \\mathbf{y}_{\\text{train}})$ is the posterior distribution of the model parameters given the observed data.\n", + "\n", + "The above equation states that to obtain the distribution of the predictions $y_{\\text{pred}}$, we need to perform two iterative sampling:\n", + "\n", + "1. First, we sample from the posterior distribution $p(\\theta \\mid X_{\\text{train}}, y_{\\text{train}})$**\n", + "\n", + "2. Afterwards, for each sampled $\\theta$ from the posterior, we sample $y_{\\text{pred}}$ from the predictive distribution $p(y_{\\text{pred}} \\mid X_{\\text{new}}, \\theta)$.\n", + "\n", + "In practice, PyMC conveniently handles this sequential sampling process for us." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Lq1MgQKGF4_B" + }, + "source": [ + "## `predict`" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "VEVzKOuDQc3h" + }, + "source": [ + "If point predictions are what we're after, we've got the `predict` method to do so. Internally, this `predict` method calls the `predict_proba` method above and averages the resulting posterior predictive distribution to provide a single point estimate for each test data point." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 222, + "referenced_widgets": [ + "3c5c53cbd13b4cc7bba3539d0b015549", + "8f2d3226d202475a83b7d0a5399bd4ac" + ] }, + "id": "Ubr9p6ilk0Vx", + "outputId": "cb55cae2-fb0e-40cf-afea-dff158187445" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "prior = bayes_model.get_prior(\"numpy\")" - ], - "metadata": { - "id": "tMJemx6wrDyw" - }, - "execution_count": 9, - "outputs": [] + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_obs]\n" + ] }, { - "cell_type": "code", - "source": [ - "# Plot the prior distributions\n", - "fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", - "\n", - "# Plot prior for intercept\n", - "axes[0].hist(prior[\"intercept\"], bins=80, density=True, alpha=0.75)\n", - "axes[0].set_title('Prior of Intercept')\n", - "axes[0].set_xlabel('Intercept')\n", - "axes[0].set_ylabel('Density')\n", - "\n", - "# Plot prior for slope\n", - "axes[1].hist(prior[\"slopes\"], bins=80, density=True, alpha=0.75)\n", - "axes[1].set_title('Prior of Slope')\n", - "axes[1].set_xlabel('Slope')\n", - "axes[1].set_ylabel('Density')\n", - "\n", - "# Plot prior for sigma\n", - "axes[2].hist(prior[\"noise\"], bins=80, density=True, alpha=0.75)\n", - "axes[2].set_title('Prior of Sigma')\n", - "axes[2].set_xlabel('Sigma')\n", - "axes[2].set_ylabel('Density')\n", - "\n", - "plt.tight_layout()\n", - "plt.show()\n" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 507 - }, - "id": "NsBM2sC_q9pA", - "outputId": "61572779-c2b6-4c21-c2c6-a123d5854973" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8f18a14975bc41989c1a560bdc951ab9", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 10, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHqCAYAAADrpwd3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB4lUlEQVR4nOzde1zUVf7H8TeIQKB4QQUxFW95F/JGuJaabJBuhhl5Wy/karlRJuUaroKXbSlL08SVqNTcMlz7GVkaRaTdRE3QzFLXXBVTQc1VEhMUvr8/fDjryIwCDgwMr+fjMY/dOd/z/c7nQM6H+cz5nuNkGIYhAAAAAAAAAABQgrO9AwAAAAAAAAAAoKqiiA4AAAAAAAAAgBUU0QEAAAAAAAAAsIIiOgAAAAAAAAAAVlBEBwAAAAAAAADACoroAAAAAAAAAABYQREdAAAAAAAAAAArKKIDAAAAAAAAAGAFRXQAAAAAAAAAAKygiA5UE+PHj5e/v7+9wyjhn//8pzp06KDatWurfv369g4HAIBqqybleicnJ82ePdsm1wIAoKKRowFQRAcqwcqVK+Xk5GR6uLu764477lBUVJRyc3PtHV657du3T+PHj1ebNm30+uuvKykpyWrf2bNny8nJSadPny7z6xw/flyzZ8/Wrl27biHaquXChQuaPXu2Nm/ebO9QAAA2QK6/4uuvv9b999+vZs2ayd3dXS1atNADDzyg1atXV1LEAACYI0dfQY4Gbo2LvQMAapK5c+eqVatWunjxor7++mstW7ZMGzdu1J49e+Th4XHDc19//XUVFxdXUqSls3nzZhUXF2vx4sVq27Zthb3O8ePHNWfOHPn7+yswMLDCXqcyXbhwQXPmzJEk9e/f377BAABspibn+rVr12r48OEKDAzUlClT1KBBAx06dEhffvmlXn/9dY0aNaqSogYAoCRydOly9G+//SYXF8qFwPX4VwFUovvvv189e/aUJP3pT3+St7e3Fi5cqA8++EAjR460eE5+fr48PT1Vu3Ztm8VRXFyswsJCubu739J1Tp48KUnVdhmXqz9bAABspSbn+tmzZ6tTp07aunWrXF1dLV4HAAB7IUeXLkffalyAo2I5F8CO7r33XknSoUOHJF1ZZ61OnTo6ePCgBg0apLp162r06NGmY9evwZafn69nnnlGzZs3l5ubm9q3b6+XX35ZhmGY9XNyclJUVJTeeecdde7cWW5ubkpNTb1hbP/4xz9Mff38/PTEE0/o7NmzpuP+/v6Ki4uTJDVu3Lhc66b1799fXbp00Y8//qgBAwbIw8NDzZo10/z58019Nm/erF69ekmSIiMjTbfgrVy50tRn27ZtCgsLU7169eTh4aF+/frpm2++MXutq8vJ/Pjjjxo1apQaNGigvn37mo6//fbb6t27tzw8PNSgQQPdc889+vTTT82u8fHHH+vuu++Wp6en6tatq8GDB+uHH34w63P1d/if//xHoaGh8vT0lJ+fn+bOnWv6vRw+fFiNGzeWJM2ZM8c0JtadAwDHU5Ny/cGDB9WrV68SH84lqUmTJjeMRZJ27typ+++/X15eXqpTp44GDhyorVu3mvW5ekv+l19+qccee0ze3t7y8vLS2LFj9d///rfENUuTuwEANRM5+orrc7Sla23evFk9e/aUu7u72rRpo9dee830GdvSWNeuXatOnTrptttuU3BwsL7//ntJ0muvvaa2bdvK3d1d/fv31+HDh83O/+qrrxQREaEWLVrIzc1NzZs319SpU/Xbb7/d8OcFVAZmogN2dPDgQUmSt7e3qe3y5csKDQ1V37599fLLL1u9rcwwDA0ZMkSbNm3ShAkTFBgYqE8++UTTpk3TsWPH9Morr5j1//zzz/Wvf/1LUVFRatSo0Q03RZk9e7bmzJmjkJAQTZ48Wfv379eyZcv07bff6ptvvlHt2rW1aNEirVq1Su+//76WLVumOnXqqFu3bmX+Gfz3v/9VWFiYHnroIT3yyCN67733NH36dHXt2lX333+/OnbsqLlz5yo2NlaTJk3S3XffLUnq06ePaVz333+/evToobi4ODk7O2vFihW699579dVXX6l3795mrxcREaF27drp73//u+mPmzlz5mj27Nnq06eP5s6dK1dXV23btk2ff/657rvvPklXNmwZN26cQkND9eKLL+rChQtatmyZ+vbtq507d5r9PIuKihQWFqa77rpL8+fPV2pqquLi4nT58mXNnTtXjRs31rJlyzR58mQNHTpUDz30kCSV6+cHAKjaalKub9mypdLT0/Xzzz/r9ttvL8NPSfrhhx909913y8vLS3/5y19Uu3Ztvfbaa+rfv7+++OILBQUFmfWPiopS/fr1NXv2bFPsR44c0ebNm00f6MuSuwEANQ85unR27typ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HDigkSNHqnXr1vLy8jIt25qdnX2LIwQcCxuLAjBz/WafTk5ON72N6/z585ozZ44eeuihEseuTfLXfjCXpNtuu+2G16xVq5YyMzNVq1Yts2N16tS5YTwAAOAKd3d3/f73v9fvf/97zZo1S3/6058UFxen8ePH2/y1rq6fvmHDBjVr1szsmJubm81fDwCA6q4i8vS1n+mdnJxu+hn/gQceUMuWLfX666/Lz89PxcXF6tKli9meJwAoogMoo9q1a6uoqMisrXv37tq/f7/atm1bpmt169ZN6enpioyMLHHszjvvVFFRkU6ePKm7777b6jUuX76sHTt2mL6F379/v86ePauOHTtKklxdXUvECwBATdWpUyezTcqu6tixo1auXKn8/HzTl97ffPONnJ2d1b59e1O/7777Tr/99pvpi/CtW7eqTp06at68uRo2bCg3NzdlZ2erX79+lTIeAAAcibU83b59e7399tsqKCgwfTF9dY+yW/HLL79o//79ev31102fu7/++utbvi7giFjOBUCZ+Pv7Kz09XTk5Ofrvf/8rSYqNjdWqVas0Z84c/fDDD9q7d6+Sk5M1c+bMG14rLi5O7777ruLi4rR37159//33evHFFyVJd9xxh0aPHq2xY8dq3bp1OnTokLZv3674+Hht2LDBdI3atWvrySef1LZt25SZmanx48frrrvuMhXV/f39dejQIe3atUunT58u1aYtAABUd7/88ovuvfdevf3229q9e7cOHTqktWvXav78+XrwwQdL9B89erTc3d01btw47dmzR5s2bdKTTz6pMWPGyMfHx9SvsLBQEyZM0I8//qiNGzcqLi5OUVFRcnZ2Vt26dfXss89q6tSpeuutt3Tw4EFlZWVpyZIleuuttypz+AAAVGllzdOjRo1ScXGxJk2apL179+qTTz7Ryy+/LOnKzPLyatCggby9vZWUlKSffvpJn3/+uaKjo8t9PcCRUUQHUCYLFixQWlqamjdvrjvvvFOSFBoaqo8++kiffvqpevXqpbvuukuvvPKKWrZsecNr9e/fX2vXrtX69esVGBioe++9V9u3bzcdX7FihcaOHatnnnlG7du3V3h4uL799lu1aNHC1MfDw0PTp0/XqFGj9Lvf/U516tTRmjVrTMeHDRumsLAwDRgwQI0bN9a7775r458IAABVT506dRQUFKRXXnlF99xzj7p06aJZs2Zp4sSJSkhIKNHfw8NDn3zyic6cOaNevXrp4Ycf1sCBA0v0HThwoNq1a6d77rlHw4cP15AhQzR79mzT8Xnz5mnWrFmKj49Xx44dFRYWpg0bNqhVq1YVPWQAAKqNsuZpr/9v745NFIiiMIz+awHmYmZsYDNOrB1oZCBMZmQTIgjm1iFoFxOOFczGC/sWVhYV95wCHjf+4N3b7+d0OuVyuWQymWS9Xqeu6yRfV6j+Vq/Xy/F4zPl8zng8znK5zHa7vfs9eGcfXdd1zx4C4B673S6LxSJt2z57FAB4e7PZLG3bfvvNHAB4rMPhkPl8ntvt9uO9MeBv2IkOAAAAAC9sv99nNBplOBzmer1mtVqlqioBHR5ERAcAAACAF9Y0Teq6TtM0GQwGmU6n2Ww2zx4L/g3rXAAAAAAAoMBhUQAAAAAAKBDRAQAAAACgQEQHAAAAAIACER0AAAAAAApEdAAAAAAAKBDRAQAAAACgQEQHAAAAAIACER0AAAAAAApEdAAAAAAAKPgEbdQOn7ISmgIAAAAASUVORK5CYII=\n" - }, - "metadata": {} - } + "text/plain": [ + "Output()" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "bayes_model.get_prior_summary()" + "data": { + "text/html": [ + "
\n"
       ],
-      "metadata": {
-        "colab": {
-          "base_uri": "https://localhost:8080/",
-          "height": 160
-        },
-        "id": "wp2NeUd5FR0b",
-        "outputId": "1a557f53-33c7-4090-8efd-349142dccfc3"
-      },
-      "execution_count": 11,
-      "outputs": [
-        {
-          "output_type": "stream",
-          "name": "stderr",
-          "text": [
-            "Shape validation failed: input_shape: (1, 2000), minimum_shape: (chains=2, draws=4)\n"
-          ]
-        },
-        {
-          "output_type": "execute_result",
-          "data": {
-            "text/plain": [
-              "                   mean      sd  hdi_3%  hdi_97%  mcse_mean  mcse_sd  \\\n",
-              "intercept         0.001  10.017 -19.801   18.383      0.221    0.164   \n",
-              "slopes[feature1] -0.084  10.012 -18.886   18.268      0.228    0.161   \n",
-              "noise             7.969   6.147   0.003   19.085      0.134    0.095   \n",
-              "\n",
-              "                  ess_bulk  ess_tail  r_hat  \n",
-              "intercept           2052.0    1921.0    NaN  \n",
-              "slopes[feature1]    1926.0    1926.0    NaN  \n",
-              "noise               2069.0    1632.0    NaN  "
-            ],
-            "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", - " \n", - " \n", - " \n", - "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept0.00110.017-19.80118.3830.2210.1642052.01921.0NaN
slopes[feature1]-0.08410.012-18.88618.2680.2280.1611926.01926.0NaN
noise7.9696.1470.00319.0850.1340.0952069.01632.0NaN
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "summary": "{\n \"name\": \"bayes_model\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 4.625059603219545,\n \"min\": -0.084,\n \"max\": 7.969,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.001,\n -0.084,\n 7.969\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.2329035656143623,\n \"min\": 6.147,\n \"max\": 10.017,\n \"num_unique_values\": 3,\n \"samples\": [\n 10.017,\n 10.012,\n 6.147\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_3%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 11.179072427233546,\n \"min\": -19.801,\n \"max\": 0.003,\n \"num_unique_values\": 3,\n \"samples\": [\n -19.801,\n -18.886,\n 0.003\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_97%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.44225143677927575,\n \"min\": 18.268,\n \"max\": 19.085,\n \"num_unique_values\": 3,\n \"samples\": [\n 18.383,\n 18.268,\n 19.085\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.05236729259120938,\n \"min\": 0.134,\n \"max\": 0.228,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.221,\n 0.228,\n 0.134\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.039,\n \"min\": 0.095,\n \"max\": 0.164,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.164,\n 0.161,\n 0.095\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_bulk\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 78.11743296686939,\n \"min\": 1926.0,\n \"max\": 2069.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 2052.0,\n 1926.0,\n 2069.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_tail\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 168.31617074224727,\n \"min\": 1632.0,\n \"max\": 1926.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 1921.0,\n 1926.0,\n 1632.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"r_hat\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {}, - "execution_count": 11 - } - ] + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "Note that, choosing the correct priors is crucial because priors influence the posterior distribution, especially with limited data. Poorly chosen priors can distort the posterior, resulting in misleading inferences and predictions.\n", - "\n", - "In the subsequent section, we will look at \"prior predictive checks\" that we can use to sanity check our chosen priors." + "data": { + "text/html": [ + "
\n",
+       "
\n" ], - "metadata": { - "id": "U1dsfMRXPKaC" - } + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "## Likelihood" + "data": { + "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", + "
target
252.674405
262.726014
272.820998
282.871368
292.942330
\n", + "
" ], - "metadata": { - "id": "357km3vOvZ5H" - } + "text/plain": [ + " target\n", + "25 2.674405\n", + "26 2.726014\n", + "27 2.820998\n", + "28 2.871368\n", + "29 2.942330" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_pred_bayes = bayes_model.predict(X_test)\n", + "y_pred_bayes.tail()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "LsMh_hqrQ2hf" + }, + "source": [ + "## `predict_quantiles`" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JfT19ChHTMxB" + }, + "source": [ + "The advantage of obtaining a full predictive distribution for our test set is that we can quantify our uncertainty by calculating quantiles. This can be conveniently achieved using the `predict_quantiles` method. Here, we use `predict_quantiles` to get the 25-th and 75-th percentiles of the posterior predictive distributions.\n", + "\n", + "We'll then use these quantiles to plot our predictions together with their uncertainty.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 253, + "referenced_widgets": [ + "cb9ebd7e5af34a66bb4be9d0cf6676e8", + "76228f3f57924d8099807a14a3be0f83" + ] }, + "id": "ZKNeOme2I8Ms", + "outputId": "9f34d337-c288-496e-a7eb-95cc15c834dc" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "\n", - "\n", - "The likelihood function $P(D \\mid \\theta)$ represents how likely it is to observe the given data, $D$, given a set of parameters $\\theta$.\n", - "\n", - "For linear regression, we are assume that each observed data point $y_i$ is normally distributed around its predicted value $\\beta_0 + X_i \\beta$, with variance $\\sigma^2$.\n", - " \n", - "$$P(D \\mid \\beta, \\sigma) = \\prod_{i=1}^{n} \\mathcal{N}(y_i \\mid \\beta_0 + X_i \\beta, \\sigma^2)$$\n", - "\n", - "where:\n", - "\n", - "- $y_i$ are the observed target values,\n", - "- $X_i$ are the observed feature values,\n", - "- $\\beta_0$ is the intercept,\n", - "- $\\beta$ are the slopes/regression coefficients for the features,\n", - "- $\\sigma$ is the standard deviation of the errors.\n" - ], - "metadata": { - "id": "tc1LBmZFsrdP" - } + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_obs]\n" + ] }, { - "cell_type": "markdown", - "source": [ - "## Posterior" - ], - "metadata": { - "id": "NLgMBNm84GLT" - } + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1d8c872d840942d9bd406daab64578a9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "The posterior distribution, denoted as $P(\\theta \\mid D)$, represents the updated beliefs about the parameters $\\theta$ after observing the data $D$. PyMC obtains the posterior distribution using Markov Chain Monte Carlo (MCMC) algorithms, which iteratively explore the parameter space, generating a sequence of samples that approximate the posterior distribution.\n", - "\n", - "We can extract the posterior using the `get_posterior` method of the `bayes_model`. Note that these posterior distributions are significantly narrower than the priors set up earlier, indicating that the data has provided substantial information to refine our estimates. Additionally, observe that these posterior distributions are close to the true values, reflecting the accuracy of the model.\n" + "data": { + "text/html": [ + "
\n"
       ],
-      "metadata": {
-        "id": "AxE8vm_v4LLw"
-      }
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
     },
     {
-      "cell_type": "code",
-      "source": [
-        "posterior = bayes_model.get_posterior(\"numpy\")"
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" ], - "metadata": { - "id": "qRskX-is8n13" - }, - "execution_count": 12, - "outputs": [] + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", - "\n", - "# Plot posterior for intercept\n", - "axes[0].hist(posterior[\"intercept\"], bins=80, density=True, alpha=0.75)\n", - "axes[0].axvline(TRUE_INTERCEPT, color='r', linestyle='--', linewidth=2, label=f'True Intercept: {TRUE_INTERCEPT}')\n", - "axes[0].set_title('Posterior of Intercept')\n", - "axes[0].set_xlabel('Intercept')\n", - "axes[0].set_ylabel('Density')\n", - "axes[0].legend()\n", - "\n", - "# Plot posterior for slope\n", - "axes[1].hist(posterior[\"slopes\"][0], bins=80, density=True, alpha=0.75)\n", - "axes[1].axvline(TRUE_SLOPES[0], color='r', linestyle='--', linewidth=2, label=f'True Slope: {TRUE_SLOPES[0]}')\n", - "axes[1].set_title('Posterior of Slope')\n", - "axes[1].set_xlabel('Slope')\n", - "axes[1].set_ylabel('Density')\n", - "axes[1].legend()\n", - "\n", - "# Plot posterior for sigma\n", - "axes[2].hist(posterior[\"noise\"], bins=80, density=True, alpha=0.75)\n", - "axes[2].axvline(TRUE_SIGMA, color='r', linestyle='--', linewidth=2, label=f'True Sigma: {TRUE_SIGMA}')\n", - "axes[2].set_title('Posterior of Sigma')\n", - "axes[2].set_xlabel('Sigma')\n", - "axes[2].set_ylabel('Density')\n", - "axes[2].legend()\n", - "\n", - "plt.tight_layout()\n", - "plt.show()" + "data": { + "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", + "
target
0.250.75
00.7223511.386069
10.7748281.430089
20.8508621.502768
30.9251721.553621
40.9910601.616098
\n", + "
" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 507 - }, - "id": "jd21mYjJ9SQF", - "outputId": "92859ea3-62cb-4b97-9505-bff5e5d7ea78" - }, - "execution_count": 29, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAABdIAAAHqCAYAAAAAkLx0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACWp0lEQVR4nOzde1wUZf//8feCsqACnjipqJSGqXk+hFZaWaRmkmXpXbeIqd2G962RWXTwWJK3eeqEWirardHZuss0NbFfqZkalZWWpmIGeEggUFFhfn/4de9WDi64MMvyej4e89CZuWb2M7PK59oP115jMQzDEAAAAAAAAAAAKJaH2QEAAAAAAAAAAODKKKQDAAAAAAAAAFAKCukAAAAAAAAAAJSCQjoAAAAAAAAAAKWgkA4AAAAAAAAAQCkopAMAAAAAAAAAUAoK6QAAAAAAAAAAlIJCOgAAAAAAAAAApaCQDgAAAAAAAABAKSikA1VQUlKSLBaLDhw4YHYodr7++mv16NFDtWvXlsViUWpqqtkhAQDgVqpTH6B3797q3bv3ZZ8HAAAzkbsB90EhHdXChcR1YfH29tZVV12lsWPHKjMz0+mvd/LkSU2ZMkUpKSlOP7erOnv2rAYPHqw//vhDc+fO1euvv65mzZoV2zYlJUUWi0XvvPNOuV5rxowZWrVq1WVE63peeeUVJSUlmR0GALgd+gAVryx9AEk6cOCAYmJidOWVV8rb21vBwcG64YYbNHny5EqMGgDgqsjdFY/cDZRPDbMDACrTtGnTFBYWptOnT+uLL75QYmKiVq9erV27dqlWrVpOe52TJ09q6tSpklQhv439+9//riFDhshqtTr93OW1b98+HTx4UK+++qpGjhxZoa81Y8YM3X333YqKiqrQ16lMr7zyiho2bKjhw4ebHQoAuCX6ABWnLH2AvXv3qmvXrvLx8dGIESPUvHlzpaena+fOnZo5c6bt3gEAQO6uOBWVuz/99NOKDh0wFYV0VCt9+/ZVly5dJEkjR45UgwYNNGfOHH3wwQcaOnSoydFdWl5enmrXri1PT095eno67bwnT5687I7IkSNHJEl169Z1QkSV7/Tp0/Ly8pKHB1/UAQB3RB+geJXdB5g7d65yc3OVmppaZOTbhfMAACCRu0viyrnby8vrsuICXB0VI1RrN910kyRp//79kqRz585p+vTpuvLKK2W1WtW8eXM98cQTys/Ptztu+/btioyMVMOGDeXj46OwsDCNGDFC0vmvPAUEBEiSpk6davs62pQpU2zH7969W3fffbfq168vb29vdenSRR9++KHda1z4OtumTZv00EMPKTAwUE2aNLHbd/Eca6+88oratGkjq9WqRo0aKTY2VllZWXZtevfurbZt22rHjh264YYbVKtWLT3xxBOl3qfPPvtM119/vWrXrq26detq4MCB+umnn2z7hw8frl69ekmSBg8eLIvFUubf5E+ZMkUWi0V79+7V8OHDVbduXfn7+ysmJkYnT560tbNYLMrLy9OyZcts9/avo7gPHz6sESNGKCgoSFarVW3atNGSJUvsXuvC1DLJycl66qmn1LhxY9WqVUs5OTmSpK+++kr9+vVTvXr1VLt2bbVr107z58+3O0dZ3sPPP/9cDz74oBo0aCA/Pz8NGzZMJ06csLVr3ry5fvjhB23atMl2TcwrBwAViz6AOX2Affv2qUmTJsV+fTwwMLDUWKTzH9gfeOABBQUFydvbW+3bt9eyZcvs2hw4cEAWi0XPP/+85s6dq2bNmsnHx0e9evXSrl27ipzTkfcEAGA+crfr5+7i5kg/ePCg7rjjDtWuXVuBgYF6+OGHtXbtWlksFrvpdC5c63fffadevXqpVq1aatGihW1K2E2bNql79+7y8fFReHi41q9fX+R1HnroIYWHh8vHx0cNGjTQ4MGDXW5uelRtjEhHtbZv3z5JUoMGDSSd/y33smXLdPfdd+uRRx7RV199pYSEBP300096//33JZ3/AHfrrbcqICBAjz/+uOrWrasDBw7ovffekyQFBAQoMTFRY8aM0Z133qlBgwZJktq1aydJ+uGHH9SzZ081btxYjz/+uGrXrq233npLUVFRevfdd3XnnXfaxfjQQw8pICBAkyZNUl5eXonXMmXKFE2dOlV9+vTRmDFjtGfPHiUmJurrr7/Wl19+qZo1a9raHj9+XH379tWQIUN0//33KygoqMTzrl+/Xn379tUVV1yhKVOm6NSpU3rxxRfVs2dP7dy5U82bN9eDDz6oxo0ba8aMGfrXv/6lrl27lnrO0txzzz0KCwtTQkKCdu7cqddee02BgYGaOXOmJOn111/XyJEj1a1bN40ePVqSdOWVV0qSMjMzde2118pisWjs2LEKCAjQJ598ogceeEA5OTkaP3683WtNnz5dXl5emjBhgvLz8+Xl5aV169bp9ttvV0hIiMaNG6fg4GD99NNP+uijjzRu3DhJZX8Px44dq7p162rKlCm29+XgwYO2gv68efP0z3/+U3Xq1NGTTz4pSeW+fwAAx9AHMKcP0KxZM61fv16fffaZrSDiqFOnTql3797au3evxo4dq7CwML399tsaPny4srKybHn6guXLl+vPP/9UbGysTp8+rfnz5+umm27S999/b4uxrO8JAMA85O6ql7vz8vJ00003KT093fb5euXKldq4cWOx7U+cOKHbb79dQ4YM0eDBg5WYmKghQ4ZoxYoVGj9+vP7xj3/ob3/7m2bNmqW7775bhw4dkq+vr6TzD0/dvHmzhgwZoiZNmujAgQNKTExU79699eOPPzp1OiBUYwZQDSxdutSQZKxfv944evSocejQISM5Odlo0KCB4ePjY/z2229GamqqIckYOXKk3bETJkwwJBmfffaZYRiG8f777xuSjK+//rrE1zt69KghyZg8eXKRfTfffLNxzTXXGKdPn7ZtKywsNHr06GG0bNmySMzXXXedce7cuWKvZ//+/YZhGMaRI0cMLy8v49ZbbzUKCgps7V566SVDkrFkyRLbtl69ehmSjAULFlz6xhmG0aFDByMwMNA4fvy4bdu3335reHh4GMOGDbNt27hxoyHJePvtty95zuLaTp482ZBkjBgxwq7tnXfeaTRo0MBuW+3atY3o6Ogi533ggQeMkJAQ49ixY3bbhwwZYvj7+xsnT560e/0rrrjCts0wDOPcuXNGWFiY0axZM+PEiRN25ygsLLT9vazvYefOnY0zZ87Ytv/73/82JBkffPCBbVubNm2MXr16FbkmAMDloQ/gWn2AXbt2GT4+PoYko0OHDsa4ceOMVatWGXl5eUXa9urVyy43zps3z5Bk/Oc//7FtO3PmjBEREWHUqVPHyMnJMQzDMPbv329Isr2/F3z11VeGJOPhhx+2bXP0PQEAVB5yt/vk7tmzZxuSjFWrVtm2nTp1ymjVqpUhydi4cWORa125cqVt2+7duw1JhoeHh7F161bb9rVr1xqSjKVLl9q2/fWz/QVbtmwxJBnLly+/5HUCjmBqF1Qrffr0UUBAgEJDQzVkyBDVqVNH77//vho3bqzVq1dLkuLi4uyOeeSRRyRJH3/8saT/zSH20Ucf6ezZs2V6/T/++EOfffaZ7rnnHv355586duyYjh07puPHjysyMlK//PKLDh8+bHfMqFGjLjmf2vr163XmzBmNHz/ebo7vUaNGyc/Pzxb7BVarVTExMZeMNz09XampqRo+fLjq169v296uXTvdcssttnvmTP/4xz/s1q+//nodP37cNu1KSQzD0LvvvqsBAwbIMAzbvT127JgiIyOVnZ2tnTt32h0THR0tHx8f2/o333yj/fv3a/z48UXmirNYLJLK9x6OHj3abkTBmDFjVKNGjQq5fwCA4tEHOM/sPkCbNm2Umpqq+++/XwcOHND8+fMVFRWloKAgvfrqq6Ueu3r1agUHB9vNi1uzZk3961//Um5urjZt2mTXPioqSo0bN7atd+vWTd27d7fFXp73BABQecjd51Xl3L1mzRo1btxYd9xxh22bt7e3Ro0aVWz7OnXqaMiQIbb18PBw1a1bV1dffbW6d+9u237h77/++qtt218/2589e1bHjx9XixYtVLdu3SK1AKC8mNoF1crLL7+sq666SjVq1FBQUJDCw8NtievgwYPy8PBQixYt7I4JDg5W3bp1dfDgQUlSr169dNddd2nq1KmaO3euevfuraioKP3tb3+75FO49+7dK8Mw9PTTT+vpp58uts2RI0fsPvSFhYVd8rouxBYeHm633cvLS1dccYVt/wWNGzd26CEgJZ1Xkq6++mqtXbvW9gAVZ2natKnder169SSd/4qXn59ficcdPXpUWVlZWrRokRYtWlRsm4sfhHLxvb3wVcG2bduW+DrleQ9btmxpt79OnToKCQlhrjYAqET0Ac5zhT7AVVddpddff10FBQX68ccf9dFHH+nf//63Ro8erbCwMPXp06fEmFq2bFnkweBXX321XcwXXJx/L7z2W2+9Jal87wkAoPKQu8+r6rn7yiuvtA1Mu+Di9+2CJk2aFGnr7++v0NDQItsk2T177NSpU0pISNDSpUt1+PBhGYZh25edne34xQKloJCOaqVbt262p36X5OIf2sXtf+edd7R161b997//1dq1azVixAjNnj1bW7duVZ06dUo8trCwUJI0YcIERUZGFtvm4oTy19+qOktFnNNZSvrt/V+TYHEu3Nv7779f0dHRxba5MM/dBeW5D+V5DwEA5qMPUHHnLC9PT09dc801uuaaaxQREaEbb7xRK1asKPHDuLOR0wHAtZG7K+6c5VXRubukeoAjdYJ//vOfWrp0qcaPH6+IiAj5+/vLYrFoyJAhtvcSuFwU0oH/06xZMxUWFuqXX36xjWySzj/AMisrq8gTqq+99lpde+21evbZZ7Vy5Urdd999Sk5O1siRI0tM5ldccYWk819DduaHxAux7dmzx/YaknTmzBnt37+/3K/11/NebPfu3WrYsKFTR6M7qrj7GxAQIF9fXxUUFJT7ei88tHTXrl0lnqM87+Evv/yiG2+80baem5ur9PR09evXz7btUh1AAEDFoQ9Q+nkvVhF9gAuFkvT09FJj+u6771RYWGg3Kn337t12MV/wyy+/FDnHzz//rObNm0uquPcEAFDxyN2ln/diZubuH3/8UYZh2N3nvXv3Oi2OC9555x1FR0dr9uzZtm2nT59WVlaW018L1RdzpAP/50JRc968eXbb58yZI0nq37+/pPNfHbp4dHSHDh0kSfn5+ZJkexr0xT+wAwMD1bt3by1cuLDYZHP06NFyxd6nTx95eXnphRdesItt8eLFys7OtsVeViEhIerQoYOWLVtmdy27du3Sp59+alcIrky1a9cucm89PT1111136d1339WuXbuKHOPIve3UqZPCwsI0b968Iue/cF/L8x4uWrTIbj6+xMREnTt3Tn379i31mgAAlYM+QFEV1Qf4f//v/xU7R+2FeVuL+zr6Bf369VNGRobefPNN27Zz587pxRdfVJ06ddSrVy+79qtWrbKbu3bbtm366quvbPm3ot4TAEDFI3cX5Yq5OzIyUocPH9aHH35o23b69OlLzq1eHp6enkXe6xdffFEFBQVOfy1UX4xIB/5P+/btFR0drUWLFikrK0u9evXStm3btGzZMkVFRdlGFC9btkyvvPKK7rzzTl155ZX6888/9eqrr8rPz8+WmHx8fNS6dWu9+eabuuqqq1S/fn21bdtWbdu21csvv6zrrrtO11xzjUaNGqUrrrhCmZmZ2rJli3777Td9++23ZY49ICBA8fHxmjp1qm677Tbdcccd2rNnj1555RV17dpV999/f7nvy6xZs9S3b19FRETogQce0KlTp/Tiiy/K399fU6ZMKfd5L0fnzp21fv16zZkzR40aNVJYWJi6d++u5557Ths3blT37t01atQotW7dWn/88Yd27typ9evX648//ij1vB4eHkpMTNSAAQPUoUMHxcTEKCQk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IiL07LPP6siRIwoMDJQkrVu3Tn5+frZR7Y5ITU2Vh4eH7RwVhYeNAu6iVy/p1lvP/4lq46abbtL27du1fPly/fLLL5o8ebJdsvb19dWECRP08MMPa9myZdq3b5927typF198scgDPy9HYGCgfHx8tGbNGmVmZio7O1uSNHXqVCUkJOiFF17Qzz//rO+//15Lly695LxlU6ZM0ezZs/XCCy/ol19+scUsSX369FFERISioqL06aef6sCBA9q8ebOefPJJu8Tt7e2t6Ohoffvtt/p//+//6V//+pfuuece22+1mzdvru+++0579uzRsWPHbKMDhg0bpvj4+FLjS0tLU2pqqtLS0lRQUKDU1FSlpqbaRhUAAIpBX8UUFdFXSE1N1cCBA/XOO+/oxx9/1N69e7V48WItWbJEAwcOLPaYhx56SIcOHdI///lP7d69Wx988IEmT56suLg42/zo0vkcGxcXpz179uiNN97Qiy++aHtmylVXXaX77rtPw4YN03vvvaf9+/dr27ZtSkhI0Mcff2w7R6tWrfT++++XeE82btyo/v3761//+pfuuusuZWRkKCMjw+6h5QCqEfITKoCr5N8HH3xQu3fv1mOPPaaff/5Zb731lu2B3H+dSq2smjZtKi8vL7344ov69ddf9eGHH2r69OlF2t1888166aWXSjzPrbfeqtatW+vvf/+7vv32W61du1ZPPfWUYmNjbSPzt23bplatWunw/03fs2XLFs2bN0/ffvutfv31V61YscL2oNZ69eqV+5ocwYh0wF2sWGF2BDBBZGSknn76aU2cOFGnT5/WiBEjNGzYMH3//fe2NtOnT1dAQIASEhL066+/qm7duurUqZOeeOIJp8VRo0YNvfDCC5o2bZomTZqk66+/XikpKRo5cqRq1aqlWbNm6dFHH1Xt2rV1zTXXaPz48aWeLzo6WqdPn9bcuXM1YcIENWzYUHfffbek88l+9erVevLJJxUTE6OjR48qODhYN9xwg91DSlq0aKFBgwapX79++uOPP3T77bfrlVdese0fNWqUUlJS1KVLF+Xm5mrjxo3q3bu30tLS7D7QF2fSpEl2nZsLc9hdOAcAoBj0VUxREX2FJk2aqHnz5po6daoOHDggi8ViW3/44YeLPaZx48ZavXq1Hn30UbVv317169fXAw88oKeeesqu3bBhw3Tq1Cl169ZN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ADiHr6+v5s2bp3nz5pkdClwA30YCUJ2YXki/WGFhod1ULH8VERGhDRs2aPz48bZt69atK3FOden8fGxWq9XZYQJVFl+fAwAAAAAAAMrG1EJ6fHy8+vbtq6ZNm+rPP//UypUrlZKSorVr10qShg0bpsaNGyshIUGSNG7cOPXq1UuzZ89W//79lZycrO3bt2vRokVmXgYAAAAAAAAAwI2ZWkg/cuSIhg0bpvT0dPn7+6tdu3Zau3atbrnlFklSWlqa3dPAe/TooZUrV+qpp57SE088oZYtW2rVqlVq27atWZcAmObikeUhD78gz8ICFXh4mhQRAABAKTZskM6dk2q43JdiAQDVGfkJgINM/SmxePHiUvenpKQU2TZ48GANHjy4giICqq704GZmhwAAACpYlZ6LNjzc7AgAACiK/ATAQR6XbgIAAAAAAAAAQPVFIR0AAAAAAAAAgFIwARTgJnpu+1ReZ07rjJe3vux2q9nhAAAA2Fu5Ujp5UqpVS/rb38yOBgCA88hPABzEiHTATfzt3Zf14OvP6W/vvmx2KADcxOeff64BAwaoUaNGslgsWrVqVanthw8fLovFUmRp06aNrc2UKVOK7G/VqlUFXwkAlzBxojRq1Pk/AQBwFeQnAA5iRDoAAChWXl6e2rdvrxEjRmjQoEGXbD9//nw999xztvVz586pffv2RR4S3qZNG61fv962XqMG3REAAAB3UdyDsV1BlX5gNwCXwCdXAABQrL59+6pv374Ot/f395e/v79tfdWqVTpx4oRiYmLs2tWoUUPBwcFOixMAAAAAgIrG1C4AAKBCLF68WH369FGzZs3stv/yyy9q1KiRrrjiCt13331KS0sr9Tz5+fnKycmxWwAAAAAAqEwU0gEAgNP9/vvv+uSTTzRy5Ei77d27d1dSUpLWrFmjxMRE7d+/X9dff73+/PPPEs+VkJBgG+3u7++v0NDQig4fAAAAAAA7TO0CAACcbtmyZapbt66ioqLstv91qph27dqpe/fuatasmd566y098MADxZ4rPj5ecXFxtvWcnByK6cBfuOpctAAAAIA7oZAOAACcyjAMLVmyRH//+9/l5eVVatu6devqqquu0t69e0tsY7VaZbVanR0mAAAAAAAOY2oXAADgVJs2bdLevXtLHGH+V7m5udq3b59CQkIqITIAAAAAAMqHQjoAAChWbm6u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RGljrLHRJ59sw4cPF29v71zPaazxmTRpklSsWFEiIiK0fncyMjKUNm9ey506dUosLCxk5cqVEhsbK2q1WiwtLSUmJkZps3TpUnFwcJDdu3fLlStXpE+fPlKnTh15/vy5SeWydOlSsbKyku3bt2sd8+zZMxH5c6xnzZolZ86ckcTERDly5Ig0bdpU6tWrJ3/88Uex5aJvPgEBAXLw4EFJSEiQyMhIGTx4sNjY2Mi1a9e0cjb02OibT7Y2bdqIr69vju3GHB+i1+n6f+I3jRo1Svr06WOgaEsuXfu5MHMi5cR6mGHoO2/ktSaSblhILwarV6+Wd955R6ysrKRFixZy9uxZZV+7du1k1KhRWu1Pnz4t3t7eYm1tLW5ubrJo0SJ59eqVgaM2Dl366uXLl+Lv7y9169YVGxsbqVWrlkyePFkeP35s+MCN4NixYwIgx092H40aNUratWuX4xgvLy+xsrISNzc3CQoKMnjcxqJrf7Vr1y7f9qWZPr9brytrhXR9+is2NlY6d+4stra2UrNmTZkxY4ZWAYCMq7jm1/zWOFPJpTBzn6+vrzg7O4uVlZW4uLiIr6+vxMfHF3su+uSzbNky5TqhcuXK0r59ezl69GiO8xpjbPTJR0QkNTVVbG1tZf369bme01jjk1seALSeC7ld9/74449Sv359sbKykoYNG0pYWJjWfo1GI/PmzRNHR0extraWTp06SVxcnMnl4urqmusxarVaREQyMjKka9euUq1aNbG0tBRXV1cZP368QV6w0SefadOmKc8JR0dH6dGjh1y6dEnrvMYYG33zERH55ZdfBIAcOnQoxzmNOT5Eb9K1fvA6FtILT5d+LsycSLljPcwwdO3n/NZE0o1KhPfEICIiIiIiIiIiIiLKC++RTkRERERERERERESUDxbSiYiIiIiIiIiIiIjywUI6EREREREREREREVE+WEgnIiIiIiIiIiIiIsoHC+lERERERERERERERPlgIZ2IiIiIiIiIiIiIKB8spBMRERERERERERER5YOFdCIiIiIiIiIiIiKifLCQTkRERERUyqhUKuzatcvYYRAREZEOuH4TmTYW0olKgdGjR6Nv376Fbl/SFmd/f394eXkZOwwiIiKT8fvvv2PSpEl45513YG1tDScnJ/j4+ODUqVPGDo2IiIjyUND6nZSUhO7duxs5SiLKi4WxAyCi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\n" - }, - "metadata": {} - } + "text/plain": [ + " target \n", + " 0.25 0.75\n", + "0 0.722351 1.386069\n", + "1 0.774828 1.430089\n", + "2 0.850862 1.502768\n", + "3 0.925172 1.553621\n", + "4 0.991060 1.616098" ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_pred_bayes_quantiles = bayes_model.predict_quantiles(X_test, [0.25, 0.75])\n", + "y_pred_bayes_quantiles.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kLWYUUfsShKw" + }, + "source": [ + "## `predict_interval`" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "L3JDkpCcS9i0" + }, + "source": [ + "Lastly, the model comes with the `predict_interval` method. This method returns the **credible interval**, which is a range within which a certain proportion of the posterior distribution lies. For example, a 95% credible interval for a parameter $\\theta$ means that there is a 95% probability that $\\theta$ lies within this interval, given the observed data and the prior distribution." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 285, + "referenced_widgets": [ + "1bad078ae919428db9df21002e47f44d", + "21a450b922714993904c09aa3416a5c9" + ] }, + "id": "jnkLPPPySgPP", + "outputId": "a7c8e888-2688-467a-da2e-bb41f48da1d7" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "bayes_model.get_posterior_summary()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 143 - }, - "id": "GySjZVJp-AEW", - "outputId": "40449077-41fe-420b-8a7f-73ba0c2163a2" + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_obs]\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9b92d7a86757414e9931784667ac9f69", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 26, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", - "intercept 1.053 0.127 0.812 1.284 0.003 0.002 1597.0 \n", - "slopes[feature1] 1.881 0.240 1.458 2.362 0.006 0.004 1581.0 \n", - "noise 0.475 0.051 0.386 0.573 0.001 0.001 2614.0 \n", - "\n", - " ess_tail r_hat \n", - "intercept 1823.0 1.0 \n", - "slopes[feature1] 1947.0 1.0 \n", - "noise 2406.0 1.0 " - ], - "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", - " \n", - " \n", - " \n", - "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept1.0530.1270.8121.2840.0030.0021597.01823.01.0
slopes[feature1]1.8810.2401.4582.3620.0060.0041581.01947.01.0
noise0.4750.0510.3860.5730.0010.0012614.02406.01.0
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "summary": "{\n \"name\": \"bayes_model\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7066946535338536,\n \"min\": 0.475,\n \"max\": 1.881,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.053,\n 1.881,\n 0.475\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.09510169994975554,\n \"min\": 0.051,\n \"max\": 0.24,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.127,\n 0.24,\n 0.051\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_3%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5397493245325401,\n \"min\": 0.386,\n \"max\": 1.458,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.812,\n 1.458,\n 0.386\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_97%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.9007520931606728,\n \"min\": 0.573,\n \"max\": 2.362,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.284,\n 2.362,\n 0.573\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.002516611478423583,\n \"min\": 0.001,\n \"max\": 0.006,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.003,\n 0.006,\n 0.001\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0015275252316519468,\n \"min\": 0.001,\n \"max\": 0.004,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.002,\n 0.004,\n 0.001\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_bulk\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 591.8380972304278,\n \"min\": 1581.0,\n \"max\": 2614.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 1597.0,\n 1581.0,\n 2614.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_tail\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 307.1226682179831,\n \"min\": 1823.0,\n \"max\": 2406.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 1823.0,\n 1947.0,\n 2406.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"r_hat\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0,\n \"min\": 1.0,\n \"max\": 1.0,\n \"num_unique_values\": 1,\n \"samples\": [\n 1.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {}, - "execution_count": 26 - } + "text/plain": [ + "Output()" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "Additionally, note that apart from using the convenience functions provided by the BayesianLinearRegressor, such as `get_posterior_summary`, you can directly access the `trace` attribute of the model instance. This `trace` object contains the samples generated by the MCMC algorithms, capturing the posterior distribution of the model parameters.\n", - "\n", - "Once you have the `trace` object, you can use the `arviz` library to analyze and visualize any distributions created during the model's lifetime, such as the prior and posterior distributions. `arviz` provides a rich set of tools for diagnostics, plotting, and summarizing the results of Bayesian models. This allows for a thorough examination of the model's behavior and the reliability of the inferred parameters.\n", - "\n", - "For example, here, we use `arviz`'s `plot_posterior` to plot the posterior distribution of the `intercept ` variable." + "data": { + "text/html": [ + "
\n"
       ],
-      "metadata": {
-        "id": "Uogi7LOhH7oR"
-      }
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
     },
     {
-      "cell_type": "code",
-      "source": [
-        "az.plot_posterior(bayes_model.trace, var_names = \"intercept\")"
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 530 - }, - "id": "4nYXl4CWNo6r", - "outputId": "bfce2215-6b77-471f-ca59-d4bdabc221cb" - }, - "execution_count": 30, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "/usr/local/lib/python3.10/dist-packages/arviz/utils.py:184: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", - " numba_fn = numba.jit(**self.kwargs)(self.function)\n" - ] - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": {}, - "execution_count": 30 - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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MBiQUdJ1I7g72GBYMO9GoM6nUEi4qWHBru1neXcCWQ4GAzJK+m6EcB9YKfljSvLQDXrddT6H3QlkMfiKS0anTq3BDiPtRjh//jzuv/9++Pr6QqVSISgoCE899RTy8/NbfI558+ZBkiRIkoQDBw402a/RaLBw4UL4+fnBzs4OkZGROH36dLPnqq+vR79+/XDDDTe0aTVAXR3XsmbNGkiShLlz5za7/coPBwcH+Pn5ITIyEi+//DLOnTvX6vMakyHdusDH2RZl1fWcIpksBoMBGZ3DSQUoauhGGG5E3Qh//vknhgwZgu+//x6urq645ZZboFKpsHLlSgwcOBDp6enXPcfu3buxatWqa74Z//vf/8bixYvh4uKCSZMm4dChQ7jxxhtRVtZ0tb/ly5cjLi4OK1eulG266NDQUERFRSEqKgq33XYbwsPDce7cObz//vsIDw/HAw88gNLSUllqay+FQsJtA/0AAD+fypC5GqLOwWBARscYuxEqKytx3333obKyEgsXLsT58+fx008/4cKFC1iwYAHS09Mxb968a56juroajz76KPr27YuRI0c2e0xdXR3ef/99REREICYmBps2bcKqVauQl5eH//znP42OzcnJwVtvvYVHH30UAwcONNhzba3Ro0djzZo1WLNmDb7//nvs3LkTubm52Lx5M4KCgvDdd99h+vTpqKurk63G9pg1MAAAsOdiLtdOIItgHK+6RA3q1RrsaFg0yZi6EX7++Wfk5OSgV69eWLRokX67JEn417/+haCgIOzcuROxsbFXPcfixYuRkJCAzz//HNbW1s0ek5KSguLiYtxzzz1QqVQAgHvvvRe2traIiYlpdOxLL70Ea2tr/POf/2z/EzQwSZJwyy234MiRI/Dz88PevXvx2WefyV1Wm/TycUJvX2fUqQV+O8M5Dcj8MRiQUTmUVIDCilq4GVk3wokTJwAAY8eOhULR+NfG2toao0aNAgD8+uuvzX79mTNn8MEHH+Chhx7C6NGjr/o4RUVFAIAuXbrotykUCri4uOj3AUB0dDS++eYbvPfee3BzM57r9HdeXl545513AACffPKJzNW03ayB/gCAX9idQBaAwYCMyqaYTADA1H7G040AABUVFQAav2Ffyd1dOzNjcy0GGo0GjzzyCFxdXfH+++9f83G6du0KALh06ZJ+W1FREfLy8vT7NBoNnnrq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\n" - }, - "metadata": {} - } + "text/plain": [ + "\n" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "# Model checking\n", - "\n" + "data": { + "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", + "
target
0.95
lowerupper
00.0795882.030411
10.1176962.066120
20.1997462.126981
30.2190722.175598
40.3361832.272546
\n", + "
" ], - "metadata": { - "id": "n70jIDv3EKBo" - } + "text/plain": [ + " target \n", + " 0.95 \n", + " lower upper\n", + "0 0.079588 2.030411\n", + "1 0.117696 2.066120\n", + "2 0.199746 2.126981\n", + "3 0.219072 2.175598\n", + "4 0.336183 2.272546" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_pred_bayes_interval = bayes_model.predict_interval(X_test, 0.95)\n", + "y_pred_bayes_interval.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 564 }, + "id": "Fk5B-LcERJJT", + "outputId": "ba91cf7e-5ade-46e0-c6f8-1385d37f9cbf" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "Before using our Bayesian model to make predictions, it is advisable to perform some sanity checks to ascertain the correctness of the model set up and the assumptions. This section describes some of the most commonly used checks." - ], - "metadata": { - "id": "M2VKn5Kg3iBv" - } + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAIhCAYAAAB5deq6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACWmklEQVR4nOzdd3xUVd4G8OeWaemhBIK0UERAwQjLElAQwQIuYltRUAFBBXHRRcRFF8GCiIsu6ipYKEuxLuhaEMQCgoKCBGUFeS1BEIlIS51y7z3n/WMyY4bUSWZSn+/nMyRz77l3zk0heXLO/R1FSilBREREREREZVJruwNERERERER1HYMTERERERFRBRiciIiIiIiIKsDgREREREREVAEGJyIiIiIiogowOBEREREREVWAwYmIiIiIiKgCDE5EREREREQVYHAiIiIiIiKqAIMTEdUJy5Ytg6IowYeu62jdujXGjRuHQ4cO1Ugf2rdvj7Fjxwafb9y4EYqiYOPGjWGd57PPPsPs2bNx8uTJEvvOP/98nH/++dXqZ11z6jUVFhZi9uzZpX7cZs+eDUVRcPTo0Sq/3qpVq5Ceng6n04lmzZph1KhROHjwYIl27du3D/maCjwmTpwY0u7gwYMYNmwYEhIS0LVrV/z3v/8tca7XX38dTZs2xW+//RZWX7/++muMGzcOaWlpcDqdiIuLwznnnIPHHnsMx48fD+/Cq2D//v1QFAXLli0Lbgt8Dopr3749/vSnP1XpfNVV2dcuzdq1azF79uyI9SXaxo4di/bt29d2N4ioivTa7gARUXFLly7FGWecAbfbjU8++QRz587Fpk2bsHv3bsTGxtZoX8455xxs3boV3bp1C+u4zz77DA888ADGjh2LpKSkkH3PPvtsBHtYN5x6TYWFhXjggQcAIOIh8emnn8aUKVMwYcIEPProo/j5558xc+ZMnHfeecjMzERycnJI+/79+2P+/Pkh21q0aBHyfMyYMfB6vfjPf/6DjRs34pprrsGePXvQsWNHAEBOTg7uuOMOzJ8/H82bN690X1944QXcdttt6NKlC+6++25069YNhmFgx44dWLRoEbZu3Yo33nijih+JqpswYQIuueSSGn/daFi7di2eeeaZehWeiKj+YnAiojrlzDPPRO/evQEAgwYNgmVZeOihh/Dmm29i9OjRpR5TWFiImJiYiPclISEBffv2jeg5ww1h9UFNXZPX68XMmTMxfPhwvPDCCyGv369fP8yfPx9z5swJOSYpKancz2FhYSE2btyITz/9FBkZGbjooovwn//8Bxs2bAgGp3vuuQddunTBuHHjKt3XrVu3YtKkSbjwwgvx5ptvwuFwBPddeOGFuOuuu7Bu3bpyz+F2u+FyuSr9mpXVunVrtG7dOuLnbUii9X8KEdVvnKpHRHVa4Jfen376CYB/qktcXBx2796Niy66CPHx8Rg8eDAAwOfz4eGHH8YZZ5wBh8OB5s2bY9y4cSWmVxmGgenTp6Nly5aIiYnBueeeiy+++KLEa5c1Ve/zzz/H8OHD0bRpUzidTnTs2BF33nknAP80qLvvvhsAkJaWFpweFjhHaVP1jh8/jttuuw2nnXYa7HY7OnTogPvuuw9erzeknaIouP3227FixQp07doVMTEx6NmzJ955552Qdr/99htuueUWtGnTJvhx6N+/Pz744IMyP87ffPMNFEXB66+/Htz25ZdfQlEUdO/ePaTtZZddhl69egWfF7+m/fv3B0dlHnjggeD1F58CCQC//vorrrvuOiQmJqJFixa46aabkJOTU2b/AOB///sfcnJyMGzYsJDtGRkZaNKkCVavXl3u8aXx+XyQUoaMZsbFxcHj8QDwjx4uX74czz33XFjnfeSRR6AoCp5//vmQ0BRgt9tx2WWXBZ8HpqutWbMmOA0xMGqXnZ2NW2+9Fa1bt4bdbkdaWhoeeOABmKYZcs5ffvkF11xzDeLj45GYmIiRI0ciOzu7xGuXNlUv4I033kCPHj3gdDrRoUMHPPXUU5W63u+++w6jRo1CSkoKHA4HunbtimeeeaZSx54qMB1w/vz5eOKJJ5CWloa4uDhkZGRg27ZtwXZjx44NvkbxqZj79+8HAEgp8eyzz+Lss8+Gy+VCcnIyrr76avz4448hr3f++efjzDPPxCeffIJ+/fohJiYGN910Ey6//HK0a9cOQogSffzjH/+Ic845J/j8mWeewYABA5CSkoLY2FicddZZeOyxx2AYRpU+BkRUN3HEiYjqtO+//x4AQqZI+Xw+XHbZZbj11lvxt7/9DaZpQgiBESNGYPPmzZg+fTr69euHn376CbNmzcL555+PHTt2BP96f/PNN2P58uWYNm0aLrzwQvzvf//DlVdeiby8vAr7s379egwfPhxdu3bFE088gbZt22L//v14//33AfinQR0/fhxPP/001qxZg9TUVABlj8p4PB4MGjQIP/zwAx544AH06NEDmzdvxty5c7Fr1y68++67Ie3fffddbN++HQ8++CDi4uLw2GOP4YorrsC+ffvQoUMHAMANN9yAnTt3Ys6cOTj99NNx8uRJ7Ny5E8eOHSvzurp3747U1FR88MEH+POf/wwA+OCDD+ByubBnzx788ssvaNWqFUzTxKZNm0rcJxSQmpqKdevW4ZJLLsH48eMxYcKEEp8/ALjqqqswcuRIjB8/Hrt378aMGTMAAEuWLCmzjz6fDwBKDSIOhwPfffcdPB4PnE5ncPsnn3yC+Ph4eDwedO7cGePHj8edd94JTdMA+EekzjjjDDz++ONYsGABNm3ahK+++gr9+vWDYRi45ZZbMGPGDJx++ull9utUlmXho48+Qq9evdCmTZtKH7dz507s3bsXf//735GWlobY2FhkZ2ejT58+UFUV999/Pzp27IitW7fi4Ycfxv79+7F06VIA/tGpIUOG4JdffsHcuXNx+umn491338XIkSMr/fq7du3CnXfeidmzZ6Nly5ZYtWoV7rjjDvh8PkybNq3M4/bs2YN+/fqhbdu2ePzxx9GyZUusX78eU6ZMwdGjRzFr1qxK96G4Z555BmeccQYWLFgAAJg5cyaGDRuGrKwsJCYmYubMmSgoKMB//vMfbN26NXhc4Hvu1ltvxbJlyzBlyhTMmzcPx48fx4MPPoh+/frhq6++CpmyefjwYVx//fWYPn06HnnkEaiqipMnT2LEiBH46KOPMGTIkGDbb7/9Fl988UVIqPzhhx8watQopKWlwW6346uvvsKcOXPw7bfflvs1TUT1jCQiqgOWLl0qAcht27ZJwzBkXl6efOedd2Tz5s1lfHy8zM7OllJKOWbMGAlALlmyJOT4l19+WQKQq1evDtm+fft2CUA+++yzUkop9+7dKwHIv/71ryHtVq1aJQHIMWPGBLd9/PHHEoD8+OOPg9s6duwoO3bsKN1ud5nX8o9//EMCkFlZWSX2DRw4UA4cODD4fNGiRRKAfO2110LazZs3TwKQ77//fnAbANmiRQuZm5sb3JadnS1VVZVz584NbouLi5N33nlnmf0ry/XXXy87dOgQfD5kyBB58803y+TkZPnvf/9bSinlp59+WqJfp17Tb7/9JgHIWbNm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ap2HwYmIiIioBgkhkJWVBU3T0KpVK9jt9kpV9CKi8Ekp8dtvv+Hnn39G586dqzXyVGeC09y5c3HvvffijjvuwIIFC8pst2nTJkydOhXffPMNWrVqhenTp2PixIk111EiIiKiavD5fBBCoE2bNoiJiant7hA1eM2bN8f+/fthGEa1glOdKA6xfft2PP/88+jRo0e57bKysjBs2DCcd955yMzMxL333ospU6Zg9erVNdRTIiIioshQ1TrxaxhRgxepEd1a/47Nz8/H6NGj8cILLyA5ObnctosWLULbtm2xYMECdO3aFRMmTMBNN92E+fPn11BviYiIiIioMar14DR58mRceumlGDJkSIVtt27diosuuihk28UXX4wdO3bAMIxSj/F6vcjNzQ15EBERERERhaNWg9Mrr7yCnTt3Yu7cuZVqn52djRYtWoRsa9GiBUzTxNGjR0s9Zu7cuUhMTAw+2rRpU+1+ExEREVF0zZ49G2effXbw+dixY3H55ZfXeD/2798PRVGwa9euqL6Ooih48803o/oaVD21FpwOHjyIO+64AytXroTT6az0cafOUZRSlro9YMaMGcjJyQk+Dh48WPVOExERETViY8eOhaIoUBQFNpsNHTp0wLRp01BQUBD1137yySexbNmySrWtqbBDjUutVdX78ssvceTIEfTq1Su4zbIsfPLJJ/jXv/4Fr9dboupFy5YtkZ2dHbLtyJEj0HUdTZs2LfV1HA4HHA5H5C+AiIiIqJZZFrB5M3D4MJCaCpx3HhCBdT7Ldckll2Dp0qUwDAObN2/GhAkTUFBQgIULF5ZoaxgGbDZbRF43MTExIuchqqpaG3EaPHgwdu/ejV27dgUfvXv3xujRo7Fr165SSwVmZGRgw4YNIdvef/999O7dO2LflERERET1wZo1QPv2wKBBwKhR/rft2/u3R5PD4UDLli3Rpk0bjBo1CqNHjw5OMQtMr1uyZAk6dOgAh8MBKSVycnJwyy23ICUlBQkJCbjgggvw1VdfhZz30UcfRYsWLRAfH4/x48fD4/GE7D91qp4QAvPmzUOnTp3gcDjQtm1bzJkzBwCQlpYGAEhPT4eiKDj//PODxy1duhRdu3aF0+nEGWecgWeffTbkdb744gukp6fD6XSid+/eyMzMLPfjMWPGDPTt27fE9h49emDWrFkA/BWkL7zwQjRr1gyJiYkYOHAgdu7cWeY5N27cCEVRcPLkyeC2Xbt2QVEU7N+/P7jts88+w4ABA+ByudCmTRtMmTIlZPTv2WefRefOneF0OtGiRQtcffXV5V4Lla/WglN8fDzOPPPMkEdsbCyaNm2KM888E4D/C/HGG28MHjNx4kT89NNPmDp1Kvbu3YslS5Zg8eLFmDZtWm1dBhEREVGNW7MGuPpq4OefQ7cfOuTfHu3wVJzL5Qop0vX999/jtddew+rVq4NT5S699FJkZ2dj7dq1+PLLL3HOOedg8ODBOH78OADgtddew6xZszBnzhzs2LEDqampJQLNqWbMmIF58+Zh5syZ2LNnD1566aXgvfBffPEFAOCDDz7A4cOHsaboA/LCCy/gvvvuw5w5c7B371488sgjmDlzJv79738DAAoKCvCnP/0JXbp0wZdffonZs2dX+Hvm6NGj8fnnn+OHH34Ibvvmm2+we/dujB49GgCQl5eHMWPGYPPmzdi2bRs6d+6MYcOGIS8vr7If5hJ2796Niy++GFdeeSW+/vprvPrqq9iyZQtuv/12AMCOHTswZcoUPPjgg9i3bx/WrVuHAQMGVPn1CICsQwYOHCjvuOOO4PMxY8bIgQMHhrTZuHGjTE9Pl3a7XbZv314uXLgwrNfIycmRAGROTk4EekxEREQUHrfbLffs2SPdbneVjjdNKVu3lhIo/aEoUrZp428XaWPGjJEjRowIPv/8889l06ZN5TXXXCOllHLWrFnSZrPJI0eOBNt8+OGHMiEhQXo8npBzdezYUT733HNSSikzMjLkxIkTQ/b/8Y9/lD179iz1tXNzc6XD4ZAvvPBCqf3MysqSAGRmZmbI9jZt2siXXnopZNtDDz0kMzIypJRSPvfcc7JJkyayoKAguH/hwoWlnqu4Hj16yAcffDD4fMaMGfIPf/hDme1N05Tx8fHy7bffDm4DIN944w0ppZQff/yxBCBPnDgR3J+ZmSkByKysLCmllDfccIO85ZZbQs67efNmqaqqdLvdcvXq1TIhIUHm5uaW2Y/GorzvuXCyQa3d41SajRs3hjwv7QbAioY2iYiIiBqyzZtLjjQVJyVw8KC/XbEZahHzzjvvIC4uDqZpwjAMjBgxAk8//XRwf7t27dC8efPg8y+//BL5+fkl7kd3u93BUZq9e/di4sSJIfszMjLw8ccfl9qHvXv3wuv1YvDgwZXu92+//YaDBw9i/PjxuPnmm4PbTdMM3j+1d+9e9OzZEzExMSH9qMjo0aOxZMkSzJw5E1JKvPzyy7jzzjuD+48cOYL7778fH330EX799VdYloXCwkIcOHCg0v0/1Zdffonvv/8eq1atCm6TUkIIgaysLFx44YVo164dOnTogEsuuQSXXHIJrrjiipBro/DUqeBEREREROU7fDiy7cI1aNAgLFy4EDabDa1atSpxn3lsbGzIcyEEUlNTS/yBHACSkpKq1AeXyxX2MUIIAP7pen/84x9D9gXurZdF1ZrDNWrUKPztb3/Dzp074Xa7cfDgQVx77bXB/WPHjsVvv/2GBQsWoF27dnA4HMjIyIDP5yv1fKqqlujPqWuWCiFw6623YsqUKSWOb9u2Lex2O3bu3ImNGzfi/fffx/3334/Zs2dj+/btVf64R4qUEkICqlJ2Zey6iMGJiIiIqB5JTY1su3DFxsaiU6dOlW5/zjnnIDs7G7quo3379qW26dq1K7Zt2xZyb/u2bdvKPGfnzp3hcrnw4YcfYsKECSX22+12AP6KzQEtWrTAaaedhh9//DF479GpunXrhhUrVsDtdgfDWXn9CGjdujUGDBiAVatWwe12Y8iQISFrj27evBnPPvsshg0bBsC/LE9Za5ACCI7YHT58GMnJyQBQorT6Oeecg2+++abcz4Wu6xgyZAiGDBmCWbNmISkpCR999BGuvPLKCq8p0gJhSUgJU/gDoV1TodWf3MTgRERERFSfnHce0Lq1vxBEaQMkiuLff955Nd+30gwZMgQZGRm4/PLLMW/ePHTp0gW//PIL1q5di8svvxy9e/fGHXfcgTFjxqB3794499xzsWrVKnzzzTfo0KFDqed0Op245557MH36dNjtdvTv3x+//fYbvvnmG4wfPx4pKSlwuVxYt24dWrduDafTicTERMyePRtTpkxBQkIChg4dCq/Xix07duDEiROYOnUqRo0ahfvuuw/jx4/H3//+d+zfvx/z58+v1HWOHj0as2fPhs/nwz//+c+QfZ06dcKKFSvQu3dv5Obm4u677y531KxTp05o06YNZs+ejYcffhjfffcdHn/88ZA299xzD/r27YvJkyfj5ptvRmxsLPbu3YsNGzbg6aefxjvvvIMff/wRAwYMQHJyMtauXQshBLp06VKp64kUISUsIWEVBSdAQoECiaqN7tWmWquqR0RERETh0zTgySf97586yynwfMGC6K/nVFmKomDt2rUYMGAAbrrpJpx++um49tprsX///uCozMiRI3H//ffjnnvuQa9evfDTTz9h0qRJ5Z535syZuOuuu3D//feja9euGDlyJI4cOQLAP9Ly1FNP4bnnnkOrVq0wYsQIAMCECRPw4osvYtmyZTjrrLMwcOBALFu2LFi+PC4uDm+//Tb27NmD9PR03HfffZg3b16lrvPPf/4zjh07hsLCwpCy6QCwZMkSnDhxAunp6bjhhhswZcoUpKSklHkum82Gl19+Gd9++y169uyJefPm4eGHHw5p06NHD2zatAnfffcdzjvvPKSnp2PmzJlILRpqTEpKwpo1a3DBBRega9euWLRoEV5++WV07969UtdTHVJKmELAa/ofhhCQRVPzNEWBWo9GmYpTZFUnc9ZTubm5SExMRE5ODhISEmq7O0RERNTIeDweZGVlIS0tDU6ns8rnWbMGuOOO0EIRbdr4Q1MtzMSiRu7UqXj+ESV/SCotJ1lSwqFp0GogRZX3PRdONuBUPSIiIqJ66MorgREj/NXzDh/239N03nl1Z6SJGgchJYSQME+ZiqcqSqmBqT5jcCIiIiKqpzQtOiXHicojZdE9S8I/ciSDYQloeHHpdwxORERERERUrvKm4qkNOCwVx+BERERERESlElIGw1JDn4pXEQYnIiIiIiIKCoSlxjYVryIMTkREREREjVjxaXii6P3GOBWvIgxORERERESNiJT+WCRCAhOAorCkFIUlxqVQDE5ERERERA1c8VElS0rI4KgSOA2vkhiciIiIiOoIUwhYouZeT1MBXVVr7gWpxsiicCQgYQl/YCoelBROwQsbgxMRERFRHWAKgR9PFsKwZI29pk1T0CEphuGpEp5//nk89NBDOHToEJ544gmcPHkSb775Jnbt2lXmMWPHjg22qwnF71ESIaNK/rGkhlwJryY+1vwuISIiIqoDLAEYloSmAHZNifpDU/yvF84IV15eHu688060a9cOLpcL/fr1w/bt20PajB07FoqihDz69u0b0mbq1Klo0qQJ2rZti1deeSVk32uvvYbhw4dXqj8+nw+PPfYYevbsiZiYGDRr1gz9+/fH0qVLYRhG5S+sArm5ubj99ttxzz334NChQ7jlllswbdo0fPjhhxF7jaqQUsISEoYl4DUteE0B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kSNHKhAIpK1WZIeO9IzUNNP02GOP6YUXXuD68RyTas/k5eXpgw8+0IEDB1peZWVl+vznP68DBw5o9OjRmSodPunI58x9992nTz75ROfPn2/Z9re//U22bat///5prRf+60jP1NXVybZbn2I6jiPps1kE4Eqd5hzYp0UpcsLvfvc7EwgEzIYNG8zBgwfN7NmzTSwWMx9//LExxpiFCxeaH/zgBy3jjx49aqLRqJkzZ445ePCg2bBhgwkEAubll1/26xCQYan2zAsvvGBc1zVr16411dXVLa///ve/fh0CMizVnrkaq+rlnlR7pra21vTv399897vfNR9++KHZtWuXufPOO82MGTP8OgRkWKo9s2nTJuO6rqmoqDBHjhwxe/fuNSNHjjSjRo3y6xCQYbW1taaqqspUVVUZSWbVqlWmqqrKHD9+3BjTec+BCU5ptnbtWjNgwAATDAbNiBEjzK5du1q+Nm3aNDNu3LhW49955x0zfPhwEwwGzcCBA826desyXDH8lkrPjBs3zkhq85o2bVrmC4dvUv2cuRLBKTel2jOHDh0yDz74oIlEIqZ///5m7ty5pq6uLsNVw0+p9szq1avN3XffbSKRiOnTp4959NFHzalTpzJcNfzy9ttvX/P8pLOeA1vGMGcKAAAAANfCPU4AAAAAkATBCQAAAACSIDgBAAAAQBIEJwAAAABIguAEAAAAAEkQnAAAAAAgCYITAAAAACRBcAIAAACAJAhOAAAAAJAEwQkA4JvHHntMlmW1ef3973+/Kd9/8+bN6tat2035Xh21e/duTZ48WX379pVlWXrttdd8rQcA0DEEJwCAr772ta+purq61auoqMjvstpobGzs0H4XLlzQsGHDtGbNmptcEQAgkwhOAABfhUIh9e7du9XLcRxJ0h/+8AcVFxcrHA5r0KBBWrZsmeLxeMu+q1at0j333KNYLKbCwkLNnDlT58+flyS98847evzxx3Xu3LmWmaylS5dKUrszP926ddPmzZslSR9//LEsy9JLL72kr3zlKwqHw/rtb38rSdq0aZOGDBmicDiswYMHq6Ki4prHN3HiRK1YsULf/va3b8JPCwDgF9fvAgAAaM+bb76p73//+1q9erVKS0t15MgR/fCHP5QkLVmyRJJk27ZWr16tgQMH6tixY5o5c6bmz5+viooKlZSU6Ne//rUWL16sw4cPS5K6dOmSUg0LFixQeXm5Nm3apFAopOeee05LlizRmjVrNHz4cFVVVemJJ55QLBbTtGnTbu4PAACQVQhOAABfvfHGG60CzcSJE7Vt2zY9/fTTWrhwYUsgGTRokJYvX6758+e3BKfZs2e37FdUVKTly5frxz/+sSoqKhQMBpWfny/LstS7d+8O1TZ79uxWM0XLly9XeXl5y7aioiIdPHhQv/nNbwhOAHCLIzgBAHx1//33a926dS3vY7GYJGn//v16//339fTTT7d8LZFI6NKlS6qrq1M0GtXbb7+tX/ziFzp48KBqamoUj8d16dIlXbhwoeX73IiRI0e2/P5f//qXTp48qenTp+uJJ55o2R6Px5Wfn3/DfxYAILsRnAAAvorFYvrc5z7XZrvneVq2bFm79waFw2EdP35ckyZNUllZmZYvX67u3btr7969mj59etKFHCzLkjGm1bb29rkyfHmeJ0l67rnnNHr06Fbjmu/JAgDcughOAICsNGLECB0+fLjdUCVJlZWVisfjKi8vl203rXX00ksvtRoTDAaVSCTa7NurVy9VV1e3vP/oo49UV1d3zXoKCgrUr18/HT16VI8++miqhwMA6OQITgCArLR48WJ94xvfUGFhob73ve/Jtm399a9/1QcffKAVK1bojjvuUDwe17PPPqvJkyfr3Xff1fr161t9j4EDB+r8+fN66623NGzYMEWjUUWjUT3wwANas2aNxowZI8/ztGDBAgUCgaQ1LV26VLNmzVJeXp4mTpyo+vp6VVZW6j//+Y/mzp3b7j7nz59v9VyqY8eO6cCBA+revbv+7//+78Z+SACAjGE5cgBAVpowYYLeeOMN7dy5U1/60pc0ZswYrVq1SgMGDJAk3XvvvVq1apV++ctfaujQodqyZYtWrlzZ6nuUlJSorKxMU6ZMUa9evfTMM89IksrLy1VYWKgvf/nLeuSRRzRv3jxFo9GkNc2YMUPPP/+8Nm/erHvuuUfjxo3T5s2br/ncqcrKSg0fPlzDhw+XJM2dO1fDhw/X4sWLO/qjAQD4wDJXX+QNAAAAAGiFGScAAAAASILgBAAAAABJEJwAAAAAIAmCEwAAAAAkQXACAAAAgCQITgAAAACQBMEJAAAAAJIgOAEAAABAEgQnAAAAAEiC4AQAAAAASRCcAAAAACCJ/wfogTSKOqej1QAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot the predictions with the confidence intervals\n", + "plt.figure(figsize=(10, 6))\n", + "plt.scatter(X_test['feature1'], y_pred_bayes, color='blue', label='Predicted values')\n", + "plt.fill_between(X_test['feature1'], y_pred_bayes_interval[\"target\"][0.95][\"lower\"], y_pred_bayes_interval[\"target\"][0.95][\"upper\"], color='lightblue', alpha=0.4, label='95% Confidence Interval')\n", + "plt.xlabel('Feature 1')\n", + "plt.ylabel('Predicted Target')\n", + "plt.title('Predictions with 95% Credible Interval')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AcPkFWWaWv5B" + }, + "source": [ + "# Effect of Sample Size" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AKU_wnMHVb08" + }, + "source": [ + "Lastly, let's take a look at how the size of training sample affects the width of the posteriors and posterior predictive distributions." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Posterior" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 143 }, + "id": "mnCENyCf8zbi", + "outputId": "40183b13-4505-4042-96a4-f13e9715629f" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "## `graphviz` Visualization" + "data": { + "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", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept1.0480.1230.8201.2740.0030.0021868.01961.01.0
slopes[feature1]1.8890.2331.4562.3250.0060.0041778.02002.01.0
noise0.4750.0500.3900.5710.0010.0012528.02382.01.0
\n", + "
" ], - "metadata": { - "id": "_J-ZmDE2sGOm" - } + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", + "intercept 1.048 0.123 0.820 1.274 0.003 0.002 1868.0 \n", + "slopes[feature1] 1.889 0.233 1.456 2.325 0.006 0.004 1778.0 \n", + "noise 0.475 0.050 0.390 0.571 0.001 0.001 2528.0 \n", + "\n", + " ess_tail r_hat \n", + "intercept 1961.0 1.0 \n", + "slopes[feature1] 2002.0 1.0 \n", + "noise 2382.0 1.0 " + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bayes_model.get_posterior_summary()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_1l0aeM3Vr5T" + }, + "source": [ + "Now, let's generate a synthetic dataset with 500 datapoints and use it to train another model." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 123, + "referenced_widgets": [ + "b77a1bc131de475d97ff0ba200776613", + "52c38d3a9e42417d9a1f645afe4af9f4", + "23f5b7fa704041a8bf0026ed755ed07e", + "1b671855504d4104b5cebff3edfc244d", + "5969efae24fd4b1baeaf30d6bcbedfe6", + "8955971da43241e9857ec6047c192fb5" + ] }, + "id": "snDXFrdn84Sn", + "outputId": "4315a88d-4bde-40eb-ceb0-b08eeb10530d" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "One way to understand the `bayes_model` is to visualize its composition using the `.visualize_model` method. This method uses the `graphviz` library to generate a graphical representation of the model, illustrating the relationships and dependencies between the priors, likelihood, data and the posterior.\n", - "\n", - "\n", - "The graphviz diagram will show the following:\n", - "\n", - "- Ovals indicate stochastic nodes (random variables).\n", - "- Rectangles represent deterministic nodes (computed values).\n", - "- Shaded shapes (like the shaded ovals for X and y) indicate observed data or fixed inputs.\n", - "- Unshaded shapes represent latent variables or parameters that the model is trying to infer." - ], - "metadata": { - "id": "fZZb1BcpLAo7" - } + "name": "stderr", + "output_type": "stream", + "text": [ + "Auto-assigning NUTS sampler...\n", + "Initializing NUTS using jitter+adapt_diag...\n", + "Multiprocess sampling (2 chains in 2 jobs)\n", + "NUTS: [intercept, slopes, noise]\n" + ] }, { - "cell_type": "code", - "source": [ - "bayes_model.visualize_model()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 624 - }, - "id": "Hs4FcW38-66-", - "outputId": "dab0a1ef-c8d4-410a-c0c6-0d6de935f538" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d6342a01c4504215a67091b630a31019", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 31, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "image/svg+xml": "\n\n\n\n\n\n%3\n\n\nclusterobs_id (50) x pred_id (1)\n\nobs_id (50) x pred_id (1)\n\n\nclusterobs_id (50)\n\nobs_id (50)\n\n\nclusterpred_id (1)\n\npred_id (1)\n\n\ncluster50\n\n50\n\n\n\nX\n\nX\n~\nData\n\n\n\nmu\n\nmu\n~\nDeterministic\n\n\n\nX->mu\n\n\n\n\n\ny\n\ny\n~\nData\n\n\n\ny_obs\n\ny_obs\n~\nNormal\n\n\n\ny_obs->y\n\n\n\n\n\nintercept\n\nintercept\n~\nNormal\n\n\n\nintercept->mu\n\n\n\n\n\nnoise\n\nnoise\n~\nHalfNormal\n\n\n\nnoise->y_obs\n\n\n\n\n\nslopes\n\nslopes\n~\nNormal\n\n\n\nslopes->mu\n\n\n\n\n\nmu->y_obs\n\n\n\n\n\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "execution_count": 31 - } + "text/plain": [ + "Output()" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "## Posterior Predictive Check\n" + "data": { + "text/html": [ + "
\n"
       ],
-      "metadata": {
-        "id": "D8VaZ4EE9NEV"
-      }
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
     },
     {
-      "cell_type": "markdown",
-      "source": [
-        "A posterior predictive check (PPC) is a method used in Bayesian statistics to assess the fit of a model by comparing observed data to data simulated from the model. It involves generating new data sets from the posterior distribution of the model parameters and comparing these to the actual observed data. This process helps to identify discrepancies between the model predictions and the observed data, thereby providing a way to evaluate the adequacy of the model."
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" ], - "metadata": { - "id": "ytujeec43zoq" - } + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "The `BayesianLinearRegressor` class provides a convenient method, `plot_ppc` to visually perform PPC.\n", - "\n", - "The resulting plot will show the following components:\n", - "\n", - "1. **Blue Lines**: represent the posterior predictive samples, which are the range of possible values that the model predicts for the observed data, given the posterior distribution of the parameters.\n", - "\n", - "2. **Black Line**: represents the density of the observed data values, i.e. the actual distribution of the data.\n", - "\n", - "3. **Orange Dashed Line**: represents the mean of the posterior predictive distribution, whichprovides a central tendency of the model's predictions.\n", - "\n", - "The plot is used to visually assess the goodness of fit of the Bayesian model. By comparing the observed data distribution (black line) to the posterior predictive samples (blue lines) and their mean (orange dashed line), we can see if there are significant discrepancies. If the observed data closely follows the central tendency and falls within the range of the posterior predictive samples (like what we see in the plot below), it suggests that the model fits the data well.\n" - ], - "metadata": { - "id": "UJcKVLBVLZoG" - } + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling 2 chains for 1_000 tune and 2_000 draw iterations (2_000 + 4_000 draws total) took 2 seconds.\n", + "We recommend running at least 4 chains for robust computation of convergence diagnostics\n", + "Sampling: [y_obs]\n" + ] }, { - "cell_type": "code", - "source": [ - "bayes_model.plot_ppc()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 530 - }, - "id": "gF7Fsraqr9FG", - "outputId": "618e9e70-4fdd-4983-cb4d-274a06f46358" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8f5ea9fc137b4afabd9f21d1bb169c56", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 33, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "/usr/local/lib/python3.10/dist-packages/IPython/core/events.py:89: UserWarning: Creating legend with loc=\"best\" can be slow with large amounts of data.\n", - " func(*args, **kwargs)\n", - "/usr/local/lib/python3.10/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Creating legend with loc=\"best\" can be slow with large amounts of data.\n", - " fig.canvas.print_figure(bytes_io, **kw)\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAG8CAYAAABDr6ZqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9eZhlVX3vAX/2vM9Yp+aqrp4BGxqQmRCRNwRQQIMD0CZXiRi99/G+GhPFJyrDNUqijzfeG43GJPd14sYkhmAgVxONosEpooKICgg90HPNdeqMe95rvX/sU6e7uqu7q6EbGnt9nqegz977rL32rlNn/fZv+P40KaVEoVAoFArFSYv+fE9AoVAoFArF84syBhQKhUKhOMlRxoBCoVAoFCc5yhhQKBQKheIkRxkDCoVCoVCc5ChjQKFQKBSKkxxlDCgUCoVCcZJjLucgIQTj4+OUSiU0TTvec1IoFAqFQnEMkFLSbDZZsWIFun7o5/9lGQPj4+OsWrXqmE1OoVAoFArFc8fu3btZuXLlIfcvyxgolUrdwcrl8rGZmUKhUCgUiuNKo9Fg1apV3XX8UCzLGFgIDZTLZWUMKBQKhULxAuNIIX6VQKhQKBQKxUmOMgYUCoVCoTjJUcaAQqFQKBQnOcvKGVAoFL/6CCGIouj5noZCoTgKLMvCMIxnPY4yBhQKBVEUsX37doQQz/dUFArFUVKpVBgZGXlWOkDKGFAoTnKklExMTGAYBqtWrTqsMIlCoThxkFLieR7T09MAjI6OPuOxlDGgUJzkJEmC53msWLGCfD7/fE9HoVAcBblcDoDp6WmGhoaecchAPQIoFCc5aZoCYNv28zwThULxTFgw4uM4fsZjKGNAoVAARxYlUSgUJybH4m9XGQMKhUKhUJzkKGNAoVAoFIqTHGUMKBSKFzRvetOb0DQNTdMwDIP169fzjne8g3q9fszOcdddd3Hvvfces/EA1q5dyx133HFMx3w+SZIETdO46667utuO9hoPdZ81TeMzn/nMsZim4hCoagKFQvGC58UvfjH/5//8H9I05eGHH+aOO+5gz5493Hfffcdk/LvuuouVK1dy/fXXH5PxAO677z4GBweP2XgnIkd7jYe6zw8++CCnnHLKsZ6eYj+UMaBQKJ4VQkrSVGLoGrr+/CQhlkolLrnkEgAuvfRS2u02t99+e7fc6kTC931yuRznnXfeMRvrWHGsxzsW1wh0f7eK44cKEygUimeMlJIoEQgpCTv/PxFYWIR27twJwL//+79zwQUX4LouY2Nj3H777d2SSoBdu3Zx/fXXMzAwQD6f5/TTT+djH/sYAJdffjnf+c53+Pu///tuOOLb3/42AJ7nccsttzA2NobjOFx88cV873vfWzQXTdP45Cc/yVvf+lb6+vp4xSteARzsQk+ShFtvvZWxsTFc1+WCCy7g/vvvXzTW2rVrue2227jtttsYGRlh48aNS17/jh070DSNf/qnf+KGG26gUCiwdu1avvCFLyxrvNnZWd7ylrcwODhILpfjiiuu4PHHH1/03p/85CdceOGFuK7LxRdfzKOPPnrQPJYKE3ziE5/g9NNPx3EcVq5cydvf/vYj3uf9wwRveMMbuOKKKw4619ve9jYuuOCC7uvt27dz4403UqlUKBaLvOY1r2HPnj1L3i+F8gwoFIoDkFLix+mRDwTiVCCExLEMokQQJim2+eyfMXKW8azKpRaMgJGRER599FF+67d+i9e+9rX86Z/+KY8//njXGPjIRz4CwM0330wQBHz2s5+lXC6zefPmrqrbX/3VX3HTTTcxNDTEBz7wAQA2btyIlJIbbriBn/3sZ9x5552sWrWKu+66i6uvvpqnnnqKVatWdefzoQ99iGuvvZZ//Md/xDSX/tp93/vex1/+5V/yoQ99iI0bN/KZz3yGV7ziFTzyyCOcffbZ3eM+97nPcdFFF/G5z33uiPfhXe96F69//eu59957ufvuu7n55ps57bTTFj1pHzheGIZceeWVhGHIX/zFX1CpVPjYxz7GVVddxdatWykUCrRaLa699lpOOeUU7rnnHnbv3s3rX//6I87n/e9/Px/60Ie45ZZbeNnLXka1WuVrX/vaYe/zgWzatIkbb7yRmZmZbghCCMG9997Lu971LiAzZi677DJWrlzJ5z73OQzD4IMf/CCvfOUr+elPf6pUNpdAGQMKhWIRfpyy8f1ff17n8MSdV5O3j+7rKUmSbs7Ahz/8Yc4//3xWrlzJLbfcwhlnnME//dM/oWka1157LWma8sEPfpD3vOc99PX18dBDD/HFL36R6667DoDf/M3f7I67ceNGyuUyAwMDixbRb37zm/z7v/87Dz30EBdeeCEAL3/5yznnnHP43//7f/Pxj3+8e+ypp57K5z//+UPOfW5ujk996lP86Z/+Ke9+97sBuPrqqzn77LP50z/9U+6+++7usa7rct999x3SqNifSy65hI9+9KPd8R5//HH+5//8n4tyKQ4c7zOf+QxbtmxZZNBcfvnlrFu3jk9/+tO8853v5POf/zyNRoMvf/nL3QU5TVP+4A/+4JBzqVar/Nmf/Rm33XYbf/Inf9Ld/ju/8zvAoe/zgVxzzTXk83nuvfde3vrWtwLw3e9+l6mpKTZt2gTAxz/+cYQQ3H///ZRKJQAuvPBC1q9fz5e//GVe85rXHPHenWwo80ihULzg+c///E8sy8J1XV760pcyNjbGP/zDP6BpGg8//DDXX3/9Ik/Dpk2b8H2fxx57DIBzzz2XW2+9lb/9279lfHx8Wef81re+xbp16zj33HNJkqRrjFx++eX85Cc/WXTstddee9ixHnvsMYIg4IYbbuhu03WdG264gYceemjRsS972cuWZQgAvOpVr1r0+rrrrjvieN/61re45JJLGB0d7V6Xbdtccskl3et6+OGH+fVf//VFyYELhtSh+NGPfkQYhrzxjW9c1twPheu6XHfdddxzzz3dbffccw/nn38+69ev717D1VdfTS6X617D8PAwp59++kG/G0WG8gwoFIpF5CyDJ+68+ojHxalASoltGou2CSlxzGfXUjVnHd37zznnHD7zmc9gGAarV6+mv7+/u29iYuKgJMLh4eHuPoC7776b973vfbzjHe+g0Wjwa7/2a3ziE5/g4osvPuQ5Z2dn2b59O5ZlHbRvzZo1i14fKYlxYR5LzXNh33LH2p8DM/kHBweZmpo67Hizs7M88MADS17Xb/zGbwAwNTW15NiHY25uDnh2zXQW2D9U0N/fz7333ss73/nO7v7Z2VnuuuuuRWWOCxyrpMZfNZQxoFAoFqFp2rJc9GGcYugaprHPwShElkiYs599f/WjoVgsdl31BzI6OtqN/y+wsCAuLExjY2N84QtfIE1TfvCDH3Drrbdy3XXXMT4+fsjGL319faxfv36RC3+BA/s8HCn/YWEe09PTrFu3btE8D1w8jyaXYmZm5qDXC4bQocbr6+vj0ksvXRTmWGDB5T48PMyuXbsOe64DWTDQJiYmOO2005Y1/0OxECq477772LBhA5OTk90QwcI1bNq0ife85z2HnIdiMSpMoFAojhopJUJm5YT7k5UWyhOmqgDgoosu4l/+5V+Q+83pS1/6ErlcjrPOOmvRsYZhcNlll/He976X6enp7tOsbduEYbjo2CuuuII9e/bQ39/PhRdeuOjnxS9+8VHN8ayzzsJ13UWCO1JK7r333sN6J47El7/85UWvv/KVr3DRRRcd9j1XXHEFmzdv5tRTTz3oujZs2ABk8fcHH3yQ2dnZRWMfjksuuQTXdfm7v/u7Qx6z1H1eioVQwZe+9CW+9KUvLQoRLFzD448/zjnnnHPQNexvbCn2oTwDCoXiqJGSbvnXgeiahhAS3TgxGh/dfvvtXHDBBfz2b/82b37zm3n88cd5//vfzzvf+U76+vqo1+tcc801vPGNb+RFL3oRrVaLD3/4w5x55pldF/qGDRv453/+Z77xjW/Q19fHhg0bePnLX85v/uZvcuWVV/Le976XDRs2MD8/z49//GMGBga6iYDLob+/n7e//e3ccccdaJrGxo0b+exnP8tTTz3FF7/4xWd87T/84Q/5oz/6I6666iruvvtuHnroIb7//e8f9j0333wzf/3Xf83ll1/OLbfcwpo1a5ienuZ73/seF198MTfddBO/93u/x5133sl1113Hbbfdxp49e/jkJz952HF7e3t53/vex5/8yZ8QBAFXXXUVtVqNr371q93kyqXu84I34kA2bdrEpk2bePTRRw+617fccgtf+MIXuOqqq3jb297GyMgI4+PjfPOb3+T1r389V1555VHcxZMEuQzq9boEZL1eX87hCoXiBYTv+/KJJ56Qvu8v+z1xksogTpbcFyWpDOP0WE3viNx8883y0ksvPewxX/3qV+V5550nbduWo6Oj8rbbbpNxHEsppQyCQL7lLW+Rp512mnRdVw4ODspNmzbJ7du3d9+/c+dOeeWVV8pisSgB+cADD0gps3t36623yrVr10rLsuSKFSvkq1/9avnd7363+15AfvrTnz5oTmvWrJG3335793Ucx/J973ufHB0dlbZty/PPP19+/etfP+x7DsX27dslIP/xH/9RvvrVr5a5XE6uWrVK3nXXXcsar1qtyre97W1yxYoV0rZtuWrVKvlf/st/kT//+c+7x/z4xz+W559/vnQcR55//vnyxz/+sQTk5z//+cOO/7GPfUyeeuqp0rZtuXLlSvmOd7yju+9Q93mpe+j7viyVShKQ27ZtO+gadu3aJW+66SY5MDAgHceR69evl//1v/5XuXPnziPevxcah/sbXu76rUl5ZH9eo9Ggp6eHer1OuVw+jqaJQqF4rgmCgO3bt7Nu3Tpc113We6IkRdM0LOPgSGMqBHEqcY8yCVBx7NixYwfr1q3j/vvv56qrrnq+p6M4zhzub3i567fKGVAoFEeNkFk4YCl0TUNKyTKeMxQKxQmCMgYUCsVBSCmJU0GSiiX3SSk5VBsCTdNA01C2gELxwkElECoUikXITp8BDchMAbGofPBwyYML6GQNjHROjCTCk421a9cqz4ziqFCeAYVCsYgklWiAberYhk6cLnb5CymPuMRrmoZaihSKFw7KGFAoFF2klCRCYJk6mqZlbYk1SITc75hD5wssoGucUFoDCoXi8ChjQKFQdEmFRNe0RYu9aWik+xkDAsmRRPA0lTOgULygUMaAQqHokoolVAU71QGiYxAs5AwcDl1DVRQoFC8glDGgUCiAQ0sML4QL0s7ifrhKgv3foyoKFIoXDsoYUCgUAKRSHl5iWMrO4n74SoIFsi4FyhpQKF4IKGNAoVAAIAQHeQUW0PWs34BYhleg+x4tEyd6rhBC8Dd/8zecd9555PN5+vr6eNWrXnVQ/3pN0/jMZz7z3E3sOWLr1q1omsa3v/3t53sqihcgyhhQKBQAHff/oVUF6XgHlttB97lOInzzm9/MH/7hH3L11Vfzr//6r3zuc58jCAIuvfRSvv71rz93E1EoXoAo0SGFQrGsXACjU2K4VD+CpdB47soL77nnHv7v//2/fOELX+Cmm27qbn/Vq17FNddcw80338y2bdsoFArPyXyWwvd9crnc83Z+heJwKM+AQqFAsgxVQS0rMVyupuBzKTz0l3/5l5x++um84Q1vWLRd13U++MEPMjU1xT333NPdHgQB/+2//TfK5TIjIyN89KMfXfS+7373u7zkJS+hVCpRqVS46KKL+OY3v9nd73ket9xyC2NjYziOw8UXX8z3vve9RWNomsYnP/lJ3vrWt9LX18crXvEK3vCGN3DFFVccNP+3ve1tXHDBBd3X27dv58Ybb6RSqVAsFnnNa17Dnj17Fr3nG9/4BmeccQa5XI4rr7ySHTt2HPV9UygWUJ4BhUKxqFxQSonneQcdI4SkGSbgmOjLSBwQUhLGKal99F8z+Xx+WUmKAHEc88Mf/pB3vOMdS77n13/91+nv7+d73/seb3rTmwD48Ic/zMtf/nLuuecevvWtb/Ge97yH1atX89u//ds0Gg2uu+46Xvva13LnnXeSJAk//elPqVarQHZ/brjhBn72s59x5513smrVKu666y6uvvpqnnrqKVatWtU994c+9CGuvfZa/vEf/xHTNGk0Gtx4443MzMwwODiY3SchuPfee3nXu94FwOzsLJdddhkrV67kc5/7HIZh8MEPfpBXvvKV/PSnP0XXdXbt2sWrX/1qrrzySv78z/+cRx99lDe/+c1HfZ8Vii7L6ZW83H7ICoXihYfv+/Lnv3hMNlttKaWUrVZLkjkLnrefVqu17PlPTExIQP7FX/zFIY8599xz5TXXXCOllBKQF1xwwaL9r3vd6+S5554rpZTyoYcekoBsNBpLjnX//fdLQD700EPdbUIIefbZZ8s//MM/7G4D5KWXXnrQvS6VSvJv/uZvutseeOABCcht27ZJKaW8/fbb5ejo6KLz79mzR9q2Le+77z4ppZS33HKLHBkZkWEYdo+55ZZbJCAfeOCBQ94Hxa8mvu/LJ554Qvq+f9C+5a7fKkygUCiQHFli+FeJ66677qDXP//5z4miiFNOOYViscgb3vAG/vVf/5Vms7no2G9961usW7eOc889lyRJSJKENE25/PLLD6pcuPbaaxe9dl2X6667blHI4p577uH8889n/fr13fGvvvpqcrlcd/zh4WFOP/307vgPP/ww11xzDbZtH/KaFIqjQYUJFIqTnDgVnTBB9jqfz9NqtTp9CrKov9GJ/3tRQs4yFnUxPBxhnGLo2rKPXyCfzy/72P7+fmzbZteuXYc8Zvfu3Zx//vnd1wsu+v1fCyGYnp5m5cqVfP3rX+eP//iPuf7669E0jVe96lV88pOfZGRkhNnZWbZv345lWQedZ82aNYteDw0NHXTMpk2buqGC/v5+7r33Xt75znd298/OznLXXXdx1113HfTe8847D4CpqSl+7dd+7aBrUCieKcoYUChOcsIkJasczKwBTdPI5/OEicDSQEMjFQJd1zBtiWno2ObyFncrEWgay65AeCZYlsUll1zC1772NT760Y8uyhtIUsGPfvgj5ubmuOyyy7rbZ2ZmFo0xMzODruvdxfslL3kJ999/P+12m6997Wv84R/+IW9/+9v553/+Z/r6+li/fj133333QXPZ/0kdlpZtvuaaa8jn89x3331s2LCByclJNm3a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BRfgOM5yD+WU4j/+4z946KGH+OVf/mXOP//8/vZGo8F73vMe4jjm05/+9PIN8BTmRS96ERs2bFjuYTypePWrX83znve8w7ZfdtllvOAFL2B+fp677757GUZ2aiOlxHXdw7bbts0v/uIvAvDggw+e7GE9qbjuuuv46U9/yic/+Uksy1ru4awoTqkwQcGRueWWWwC48sorD3vtqquuAuCb3/zmyRxSwQpl0VC37eLRsVSUUvzf//t/AXjqU5+6zKM5dfnBD37Addddx/vf/37OPffc5R7Ok4Yoirj++uvZt28f9Xqdiy66iEsuueSoz1Pc0U8Ctm3bBsCWLVsOe218fJxqtdrfp6DgRLF7926+/vWvs3r1ap72tKct93BOWeI45gMf+ABaa2ZnZ/n3f/937rvvPq6++mquuOKK5R7eKUkURfzqr/4q559/Pn/wB3+w3MN5UjExMcHVV199yLaLLrqIf/qnf2Lz5s1LPk9hDDwJaDabwKO3oazX6/19CgpOBEmS8OY3v5koivjQhz5UuHAfgziOed/73tf/XQjBu971Lj74wQ8u46hObf74j/+Ybdu2cddddxWfraPg6quv5rLLLuOpT30q1WqVBx54gA9/+MPccMMNXHHFFdx9993UarUlneu4GwO///u/TxRFS97/He94xxFXvAUFBacGSine+ta38q1vfYtrrrmGN7/5zcs9pFOaarWK1hqlFPv27eOmm27iPe95D7fddhtf+cpXDus1v9K57bbb+Mu//Ev+5E/+pAijHCXXXnvtIb+ff/75fOYznwHghhtu4B/+4R945zvfuaRzHXdj4GMf+9hRlYP80i/9UmEMPA6LHoFHW/23Wi0GBwdP5pAKVghKKX7t136Nz372s7zpTW/i7/7u75Z7SE8apJSsW7eO3/qt32JkZITXve51XHfddXzoQx9a7qGdMqRpylve8hae/vSn8+53v3u5h3Pa8Pa3v50bbriBW2+9dfmMgU6nc7xPueJZNJa2bdvGhRdeeMhrExMTdDodLr744uUYWsFpjFKKq6++ms985jO88Y1v5Prrry9q5I+RxeTfxWTgAkOn0+nnOx2pEgPg2c9+NgD/+q//yqte9aqTNbQnNSMjIwBHtTAvcgaeBDzvec/jgx/8IP/2b//GG97whkNe++pXv9rfp6DgeHGwIfD617+eG264oYjlPgH2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3HPPPY871j179vCjH/2Il73sZUh59I+ClX79CgpOJwpjoGDF4vs+b3nLW5iamuKzn/0so6OjvOpVr3pC5/zt3/5tpJT89V//NXfeeWd/exzH/M7v/A5BEPDqV7+a9evXH3bszp07ed/73nfItr//+7/ntttuY9WqVbzmNa/pb//IRz7CxMTEYef4yle+AnDE8z+Sm266CeCYVQdX+vUrKDitWO5yhoKC5eT+++/XQggN6He9613H5ZzXXXddXzTnRS96kX7DG96g169frwG9ZcuWxxTNcRxHn3feefqNb3yjvuiiizSgHcfRN9988yHHNBoNLaXUz3zmM/XrXvc6/drXvlZv3bpVA3poaEg/8MADjzvOq666SnuepzudzjH/rSv5+hUUnE4UxkDBimdxornvvvuO2zm//OUv6yuuuEI3Gg3tuq4+66yz9B/8wR/oubm5w/ZdnMw+9alP6e9+97v6iiuu0LVaTVerVX3FFVfoW2+99bBjPvOZz+hf/uVf1meffbau1Wq6Vqvpc889V7/zne/UDz/88OOOr91ua8/zjlkc6GBW4vUrKDjdEFprffL9EQUFpwa33XYbz3nOc3je857HLbfcstzDOWnceOON/NIv/RIf/ehH+a3f+q1jPs9KvX4FBacbRc5AwYrmuuuuA+A//+f/vMwjObnUajWuvfZaXv3qVz+h86zU61dQcLpReAYKVhzf/e53+cQnPsE999zD97//fS644ALuuOOOY8qoX4kU16+g4PTj2GTCCgqexDzwwAN88pOfpFar8bKXvYy/+Zu/edSJ7F3vehczMzNLOu/1119/HEd56lJcv4KC04/CM1BQ8Bhs3LjxUcVsHklxKx1Ocf0KCp4cFMZAQUFBQUHBCqcI8hUUFBQUFKxwCmOgoKCgoKBghVMYAwUFBQUFBSucwhgoKCgoKChY4RTGQEFBQUFBwQqnMAYKCgoKCgpWOIUxUFBQUFBQsMIpjIGCgoKCgoIVzv8f/lzE8RAtAWwAAAAASUVORK5CYII=\n" - }, - "metadata": {} - } + "text/plain": [ + "Output()" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "# Predictions" + "data": { + "text/html": [ + "
\n"
       ],
-      "metadata": {
-        "id": "sq0u7FdvEd1V"
-      }
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
     },
     {
-      "cell_type": "markdown",
-      "source": [
-        "Now, it's time to use the trained `bayes_model` to perform out-of-sample prediction. As mentioned earlier, a significant benefit of using the Bayesian model is that it generates a full distribution for each test data point, rather than a single point estimate. This provides a more comprehensive understanding of the uncertainty and variability in the predictions.\n",
-        "\n",
-        "In our class, this is accomplished using the `predict_proba` method, which returns an `skpro` `Empirical` distribution.\n"
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" ], - "metadata": { - "id": "OQ0mq2TcOh1i" - } - }, - { - "cell_type": "markdown", - "source": [ - "## `predict_proba`" - ], - "metadata": { - "id": "LhZvCf9QNdQX" - } + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "y_pred_proba_bayes = bayes_model.predict_proba(X_test)" + "data": { + "text/html": [ + "
BayesianLinearRegressor()
Please rerun this cell to show the HTML repr or trust the notebook.
" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 33, - "referenced_widgets": [ - "2b6f7349e109440997ec97f6115eb5e8", - "046257170ed44b08903c7ab551b34710" - ] - }, - "id": "wm0pwT-A8rQJ", - "outputId": "3c0869ac-a8c2-476f-c04c-8e054c977314" - }, - "execution_count": 35, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Output()" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "2b6f7349e109440997ec97f6115eb5e8" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [], - "text/html": [ - "
\n"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "text/plain": [
-              "\n"
-            ],
-            "text/html": [
-              "
\n",
-              "
\n" - ] - }, - "metadata": {} - } + "text/plain": [ + "BayesianLinearRegressor()" ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "N = 500\n", + "\n", + "# Creating 500 random data points containing 1 feature\n", + "feature1 = np.random.uniform(0, 1, N)\n", + "X_train = pd.DataFrame({'feature1': feature1})\n", + "\n", + "# Set the relationship between the feature and the target variable\n", + "TRUE_INTERCEPT = 1\n", + "TRUE_SLOPES = np.array([2])\n", + "TRUE_SIGMA = 0.5\n", + "\n", + "# Calculating the true target variable\n", + "y_true = TRUE_INTERCEPT + np.dot(X_train, TRUE_SLOPES)\n", + "y_train = y_true + np.random.normal(0, TRUE_SIGMA, size=len(X_train))\n", + "\n", + "bayes_model_500 = BayesianLinearRegressor(intercept_mu=0, intercept_sigma=10,\n", + " slopes_mu=0, slopes_sigma=10,\n", + " noise_sigma=10)\n", + "bayes_model_500.fit(X_train, y_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "LuficUuTV0DH" + }, + "source": [ + "We see that with this 10x increase in training set size, we obtain narrower posteriors, as evidenced by the lower `sd` values in the summary. It is noteworthy that the reduction of the standard deviation, which is around 3x, is less than the 10x reduction one might expect." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 143 }, + "id": "l5Rlj1XLTu9E", + "outputId": "9a5d0be8-1f99-4414-e988-5cb2fa2313a8" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "type(y_pred_proba_bayes)" + "data": { + "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", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept0.9630.0470.8791.0540.0010.0011936.01910.01.0
slopes[feature1]2.0970.0811.9422.2410.0020.0011881.01787.01.0
noise0.4970.0160.4680.5270.0000.0002394.02169.01.0
\n", + "
" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 186 - }, - "id": "vVSLDsTHO8ks", - "outputId": "9d7cab41-1ea6-482f-bcf5-06e462e88798" - }, - "execution_count": 38, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "skpro.distributions.empirical.Empirical" - ], - "text/html": [ - "
\n", - "
skpro.distributions.empirical.Empirical
def __init__(spl, weights=None, time_indep=True, index=None, columns=None)
/content/skpro/skpro/distributions/empirical.pyEmpirical distribution, or weighted sum of delta distributions.\n",
-              "\n",
-              "This distribution represents an empirical distribution, or, more generally,\n",
-              "a weighted sum of delta distributions.\n",
-              "\n",
-              "The distribution is parameterized by support in ``spl``, and optionally\n",
-              "weights in ``weights``.\n",
-              "\n",
-              "For the scalar case, the distribution is parameterized as follows:\n",
-              "let :math:`s_i, i = 1 \\dots N` the entries of ``spl``,\n",
-              "and :math:`w_i, i = 1 \\dots N` the entries of ``weights``; if ``weights=None``,\n",
-              "by default we define :math:`p_i = \\frac{1}{N}`, otherwise we\n",
-              "define :math:`p_i := \\frac{w_i}{\\sum_{i=1}^N w_i}`\n",
-              "\n",
-              "The distribution is the unique distribution that takes value :math:`s_i` with\n",
-              "probability :math:`p_i`. In particluar, if ``weights`` was ``None``,\n",
-              "the distribution is the uniform distribution supported on the :math:`s_i`.\n",
-              "\n",
-              "Parameters\n",
-              "----------\n",
-              "spl : pd.DataFrame\n",
-              "    empirical sample; for scalar distributions, rows are samples;\n",
-              "    for dataframe-like distributions,\n",
-              "    first (lowest) index is sample, further indices are instance indices\n",
-              "weights : pd.Series, with same index and length as spl, optional, default=None\n",
-              "    if not passed, ``spl`` is assumed to be unweighted\n",
-              "time_indep : bool, optional, default=True\n",
-              "    if True, ``sample`` will sample individual instance indices independently\n",
-              "    if False, ``sample`` will sample entire instances from ``spl``\n",
-              "index : pd.Index, optional, default = RangeIndex\n",
-              "columns : pd.Index, optional, default = RangeIndex\n",
-              "\n",
-              "Example\n",
-              "-------\n",
-              ">>> import pandas as pd\n",
-              ">>> from skpro.distributions.empirical import Empirical\n",
-              "\n",
-              ">>> spl_idx = pd.MultiIndex.from_product(\n",
-              "...     [[0, 1], [0, 1, 2]], names=["sample", "time"]\n",
-              "... )\n",
-              ">>> spl = pd.DataFrame(\n",
-              "...     [[0, 1], [2, 3], [10, 11], [6, 7], [8, 9], [4, 5]],\n",
-              "...     index=spl_idx,\n",
-              "...     columns=["a", "b"],\n",
-              "... )\n",
-              ">>> dist = Empirical(spl)\n",
-              ">>> empirical_sample = dist.sample(3)\n",
-              "\n",
-              "scalar distribution:\n",
-              ">>> spl = pd.Series([1, 2, 3, 4, 3])\n",
-              ">>> dist = Empirical(spl)\n",
-              ">>> empirical_sample = dist.sample(3)
\n", - " \n", - "
" - ] - }, - "metadata": {}, - "execution_count": 38 - } + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", + "intercept 0.963 0.047 0.879 1.054 0.001 0.001 1936.0 \n", + "slopes[feature1] 2.097 0.081 1.942 2.241 0.002 0.001 1881.0 \n", + "noise 0.497 0.016 0.468 0.527 0.000 0.000 2394.0 \n", + "\n", + " ess_tail r_hat \n", + "intercept 1910.0 1.0 \n", + "slopes[feature1] 1787.0 1.0 \n", + "noise 2169.0 1.0 " ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bayes_model_500.get_posterior_summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 143 }, + "id": "4FyJcn9FWHQV", + "outputId": "27a32c99-7a24-4e95-c03f-2e75b5872fb2" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "The returned distribution is known as the **posterior predictive distribution**. This distribution provides probabilistic forecasts for future observations by incorporating uncertainty about the model parameters and data variability.\n", - "\n", - "The posterior predictive distribution enables us to make probabilistic statements about future observations and understand the variability in our predictions.\n" + "data": { + "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", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept1.0882662.6170210.9328781.2087293.02.00.9648761.0267021.0
slopes[feature1]0.9008112.8765430.7497431.0374833.04.00.9452421.1203131.0
noise0.9557343.1250000.8333331.083491infinf1.0559731.0982021.0
\n", + "
" ], - "metadata": { - "id": "YfBP3uCNPGHa" - } - }, + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd \\\n", + "intercept 1.088266 2.617021 0.932878 1.208729 3.0 2.0 \n", + "slopes[feature1] 0.900811 2.876543 0.749743 1.037483 3.0 4.0 \n", + "noise 0.955734 3.125000 0.833333 1.083491 inf inf \n", + "\n", + " ess_bulk ess_tail r_hat \n", + "intercept 0.964876 1.026702 1.0 \n", + "slopes[feature1] 0.945242 1.120313 1.0 \n", + "noise 1.055973 1.098202 1.0 " + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bayes_model.get_posterior_summary()/bayes_model_500.get_posterior_summary()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Posterior Predictive" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let's perform the same experiment, this time comparing the posterior predictive distribution coming from the two models.\n", + "\n", + "In order to get the posterior predictive distribution from the second model (`bayes_model_500`), we first need to use it to perform prediction on the test set." + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "\n", - "The posterior predictive distribution is given by:\n", - "\n", - "$$\n", - "p(y_{\\text{pred}} \\mid X_{\\text{new}}, X_{\\text{train}}, y_{\\text{train}}) = \\int p(y_{\\text{pred}} \\mid X_{\\text{new}}, \\theta) p(\\theta \\mid X_{\\text{train}}, y_{\\text{train}}) \\, d\\theta\n", - "$$\n", - "\n", - "where:\n", - "- $y_{\\text{pred}}$ is the new predicted data point.\n", - "- $X_{\\text{new}}$ is the new input.\n", - "- $\\mathbf{X}_{\\text{train}}$ is the set of observed inputs.\n", - "- $\\mathbf{y}_{\\text{train}}$ is the set of observed outputs.\n", - "- $\\mathbf{\\theta}$ represents the model parameters.\n", - "- $p(y_{\\text{pred}} | X_{\\text{new}}, \\mathbf{\\theta})$ is the likelihood of the new data point given the model parameters.\n", - "- $p(\\mathbf{\\theta} | \\mathbf{X}_{\\text{train}}, \\mathbf{y}_{\\text{train}})$ is the posterior distribution of the model parameters given the observed data.\n", - "\n", - "The above equation states that to obtain the distribution of the predictions $y_{\\text{pred}}$, we need to perform two iterative sampling:\n", - "\n", - "1. First, we sample from the posterior distribution $p(\\theta \\mid X_{\\text{train}}, y_{\\text{train}})$**\n", - "\n", - "2. Afterwards, for each sampled $\\theta$ from the posterior, we sample $y_{\\text{pred}}$ from the predictive distribution $p(y_{\\text{pred}} \\mid X_{\\text{new}}, \\theta)$.\n", - "\n", - "In practice, PyMC conveniently handles this sequential sampling process for us." - ], - "metadata": { - "id": "7EAsEgp1OC1-" - } + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_obs]\n" + ] }, { - "cell_type": "markdown", - "source": [ - "## `predict`" - ], - "metadata": { - "id": "Lq1MgQKGF4_B" - } + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "13c4c6f411f94fa3b151546ed3b5626a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "markdown", - "source": [ - "If point predictions are what we're after, we've got the `predict` method to do so. Internally, this `predict` method calls the `predict_proba` method above and averages the resulting posterior predictive distribution to provide a single point estimate for each test data point." + "data": { + "text/html": [ + "
\n"
       ],
-      "metadata": {
-        "id": "VEVzKOuDQc3h"
-      }
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
     },
     {
-      "cell_type": "code",
-      "source": [
-        "y_pred_bayes = bayes_model.predict(X_test)\n",
-        "y_pred_bayes.tail()"
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 222, - "referenced_widgets": [ - "3c5c53cbd13b4cc7bba3539d0b015549", - "8f2d3226d202475a83b7d0a5399bd4ac" - ] - }, - "id": "Ubr9p6ilk0Vx", - "outputId": "cb55cae2-fb0e-40cf-afea-dff158187445" - }, - "execution_count": 34, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Output()" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "3c5c53cbd13b4cc7bba3539d0b015549" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [], - "text/html": [ - "
\n"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "text/plain": [
-              "\n"
-            ],
-            "text/html": [
-              "
\n",
-              "
\n" - ] - }, - "metadata": {} - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " target\n", - "25 2.672331\n", - "26 2.724899\n", - "27 2.818421\n", - "28 2.868590\n", - "29 2.939366" - ], - "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", - "
target
252.672331
262.724899
272.818421
282.868590
292.939366
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "summary": "{\n \"name\": \"y_pred_bayes\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"target\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.10758134273845044,\n \"min\": 2.6723309945129343,\n \"max\": 2.9393662256722624,\n \"num_unique_values\": 5,\n \"samples\": [\n 2.7248988378363985,\n 2.9393662256722624,\n 2.818421480472809\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {}, - "execution_count": 34 - } + "text/plain": [ + "\n" ] - }, + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "y_pred_proba_bayes_500 = bayes_model_500.predict_proba(X_test)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With that out of the way, let's now compare the posterior predictive distributions for both models." + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "## `predict_quantiles`" + "data": { + "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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
y_obs[0]1.0560.4970.1181.9690.0080.0063669.03667.01.0
y_obs[1]1.1060.5000.2072.0660.0080.0063552.03901.01.0
y_obs[2]1.1780.4870.2452.0870.0080.0063856.03939.01.0
y_obs[3]1.2330.4910.3162.1820.0080.0063648.03755.01.0
y_obs[4]1.3080.4830.4182.2580.0080.0063710.03680.01.0
y_obs[5]1.3750.4840.4172.2240.0080.0063471.03436.01.0
y_obs[6]1.4450.4860.5462.3580.0080.0054150.03721.01.0
y_obs[7]1.5140.4790.6632.4160.0080.0063727.03919.01.0
y_obs[8]1.5620.4900.6102.4500.0080.0063901.03861.01.0
y_obs[9]1.6230.4890.7022.5420.0080.0063754.03921.01.0
y_obs[10]1.7090.4870.7442.5790.0080.0054110.03704.01.0
y_obs[11]1.7540.4780.8692.6580.0070.0054132.04181.01.0
y_obs[12]1.8330.4870.9442.7790.0080.0063882.03731.01.0
y_obs[13]1.8940.4741.0002.7730.0080.0053975.03647.01.0
y_obs[14]1.9540.4801.0222.8230.0080.0053992.03965.01.0
y_obs[15]2.0280.4821.1962.9960.0070.0054221.03924.01.0
y_obs[16]2.0890.4781.2263.0160.0080.0063775.04139.01.0
y_obs[17]2.1470.4881.2113.0720.0080.0063649.03800.01.0
y_obs[18]2.2360.4921.3003.1680.0080.0063969.03729.01.0
y_obs[19]2.2750.4771.3273.1460.0080.0054003.03613.01.0
y_obs[20]2.3490.4831.4653.2670.0080.0053925.03938.01.0
y_obs[21]2.4130.4931.4263.3040.0080.0063781.03925.01.0
y_obs[22]2.4750.4841.5993.4050.0070.0054380.04091.01.0
y_obs[23]2.5450.4821.6133.4310.0080.0053955.03730.01.0
y_obs[24]2.6000.4921.6963.5460.0080.0063889.03925.01.0
y_obs[25]2.6740.4921.7293.5930.0080.0063590.03858.01.0
y_obs[26]2.7260.4991.7883.6730.0080.0063675.03766.01.0
y_obs[27]2.8210.4901.9073.7500.0080.0063811.03802.01.0
y_obs[28]2.8710.4941.9543.8150.0080.0064019.03889.01.0
y_obs[29]2.9420.5041.9883.8630.0080.0063730.04008.01.0
\n", + "
" ], - "metadata": { - "id": "LsMh_hqrQ2hf" - } - }, + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", + "y_obs[0] 1.056 0.497 0.118 1.969 0.008 0.006 3669.0 \n", + "y_obs[1] 1.106 0.500 0.207 2.066 0.008 0.006 3552.0 \n", + "y_obs[2] 1.178 0.487 0.245 2.087 0.008 0.006 3856.0 \n", + "y_obs[3] 1.233 0.491 0.316 2.182 0.008 0.006 3648.0 \n", + "y_obs[4] 1.308 0.483 0.418 2.258 0.008 0.006 3710.0 \n", + "y_obs[5] 1.375 0.484 0.417 2.224 0.008 0.006 3471.0 \n", + "y_obs[6] 1.445 0.486 0.546 2.358 0.008 0.005 4150.0 \n", + "y_obs[7] 1.514 0.479 0.663 2.416 0.008 0.006 3727.0 \n", + "y_obs[8] 1.562 0.490 0.610 2.450 0.008 0.006 3901.0 \n", + "y_obs[9] 1.623 0.489 0.702 2.542 0.008 0.006 3754.0 \n", + "y_obs[10] 1.709 0.487 0.744 2.579 0.008 0.005 4110.0 \n", + "y_obs[11] 1.754 0.478 0.869 2.658 0.007 0.005 4132.0 \n", + "y_obs[12] 1.833 0.487 0.944 2.779 0.008 0.006 3882.0 \n", + "y_obs[13] 1.894 0.474 1.000 2.773 0.008 0.005 3975.0 \n", + "y_obs[14] 1.954 0.480 1.022 2.823 0.008 0.005 3992.0 \n", + "y_obs[15] 2.028 0.482 1.196 2.996 0.007 0.005 4221.0 \n", + "y_obs[16] 2.089 0.478 1.226 3.016 0.008 0.006 3775.0 \n", + "y_obs[17] 2.147 0.488 1.211 3.072 0.008 0.006 3649.0 \n", + "y_obs[18] 2.236 0.492 1.300 3.168 0.008 0.006 3969.0 \n", + "y_obs[19] 2.275 0.477 1.327 3.146 0.008 0.005 4003.0 \n", + "y_obs[20] 2.349 0.483 1.465 3.267 0.008 0.005 3925.0 \n", + "y_obs[21] 2.413 0.493 1.426 3.304 0.008 0.006 3781.0 \n", + "y_obs[22] 2.475 0.484 1.599 3.405 0.007 0.005 4380.0 \n", + "y_obs[23] 2.545 0.482 1.613 3.431 0.008 0.005 3955.0 \n", + "y_obs[24] 2.600 0.492 1.696 3.546 0.008 0.006 3889.0 \n", + "y_obs[25] 2.674 0.492 1.729 3.593 0.008 0.006 3590.0 \n", + "y_obs[26] 2.726 0.499 1.788 3.673 0.008 0.006 3675.0 \n", + "y_obs[27] 2.821 0.490 1.907 3.750 0.008 0.006 3811.0 \n", + "y_obs[28] 2.871 0.494 1.954 3.815 0.008 0.006 4019.0 \n", + "y_obs[29] 2.942 0.504 1.988 3.863 0.008 0.006 3730.0 \n", + "\n", + " ess_tail r_hat \n", + "y_obs[0] 3667.0 1.0 \n", + "y_obs[1] 3901.0 1.0 \n", + "y_obs[2] 3939.0 1.0 \n", + "y_obs[3] 3755.0 1.0 \n", + "y_obs[4] 3680.0 1.0 \n", + "y_obs[5] 3436.0 1.0 \n", + "y_obs[6] 3721.0 1.0 \n", + "y_obs[7] 3919.0 1.0 \n", + "y_obs[8] 3861.0 1.0 \n", + "y_obs[9] 3921.0 1.0 \n", + "y_obs[10] 3704.0 1.0 \n", + "y_obs[11] 4181.0 1.0 \n", + "y_obs[12] 3731.0 1.0 \n", + "y_obs[13] 3647.0 1.0 \n", + "y_obs[14] 3965.0 1.0 \n", + "y_obs[15] 3924.0 1.0 \n", + "y_obs[16] 4139.0 1.0 \n", + "y_obs[17] 3800.0 1.0 \n", + "y_obs[18] 3729.0 1.0 \n", + "y_obs[19] 3613.0 1.0 \n", + "y_obs[20] 3938.0 1.0 \n", + "y_obs[21] 3925.0 1.0 \n", + "y_obs[22] 4091.0 1.0 \n", + "y_obs[23] 3730.0 1.0 \n", + "y_obs[24] 3925.0 1.0 \n", + "y_obs[25] 3858.0 1.0 \n", + "y_obs[26] 3766.0 1.0 \n", + "y_obs[27] 3802.0 1.0 \n", + "y_obs[28] 3889.0 1.0 \n", + "y_obs[29] 4008.0 1.0 " + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "az.summary(bayes_model.trace.predictions)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "The advantage of obtaining a full predictive distribution for our test set is that we can quantify our uncertainty by calculating quantiles. This can be conveniently achieved using the `predict_quantiles` method. Here, we use `predict_quantiles` to get the 25-th and 75-th percentiles of the posterior predictive distributions.\n", - "\n", - "We'll then use these quantiles to plot our predictions together with their uncertainty.\n" + "data": { + "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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
y_obs[0]0.9710.5040.0451.9150.0080.0063823.03796.01.0
y_obs[1]1.0280.5070.0531.9280.0080.0063679.03709.01.0
y_obs[2]1.1080.5000.1332.0260.0080.0064058.03707.01.0
y_obs[3]1.1690.5030.2532.1650.0080.0063692.03363.01.0
y_obs[4]1.2530.4960.2902.1550.0080.0063824.03669.01.0
y_obs[5]1.3270.4980.3642.2210.0080.0063620.03599.01.0
y_obs[6]1.4030.4990.4172.2990.0080.0054252.03825.01.0
y_obs[7]1.4780.4940.5392.3790.0080.0063839.03924.01.0
y_obs[8]1.5340.5020.5912.4460.0080.0063961.04090.01.0
y_obs[9]1.6020.5030.6932.5900.0080.0063814.04007.01.0
y_obs[10]1.6980.5000.7102.5820.0080.0064118.03570.01.0
y_obs[11]1.7480.4930.8212.6830.0080.0054127.04094.01.0
y_obs[12]1.8350.5010.9172.7830.0080.0063940.03732.01.0
y_obs[13]1.9030.4880.9642.7840.0080.0053973.03846.01.0
y_obs[14]1.9700.4980.9682.8180.0080.0063993.03924.01.0
y_obs[15]2.0490.4951.0892.9240.0080.0054229.04093.01.0
y_obs[16]2.1180.4951.2113.0700.0080.0063925.03989.01.0
y_obs[17]2.1830.5021.1753.0630.0080.0063763.03866.01.0
y_obs[18]2.2810.5051.3773.2850.0080.0063948.03920.01.0
y_obs[19]2.3260.4921.3763.2440.0080.0064019.03468.01.0
y_obs[20]2.4070.4951.4563.3080.0080.0063886.03804.01.0
y_obs[21]2.4790.5021.5253.4390.0080.0063739.03884.01.0
y_obs[22]2.5470.4941.6733.5230.0080.0054292.04094.01.0
y_obs[23]2.6270.4931.7223.5790.0080.0063861.03966.01.0
y_obs[24]2.6870.5031.7353.6220.0080.0063881.04049.01.0
y_obs[25]2.7680.5021.7483.6640.0080.0063645.03721.01.0
y_obs[26]2.8270.5071.8023.7240.0080.0063629.03788.01.0
y_obs[27]2.9300.4942.0063.8350.0080.0063793.03962.01.0
y_obs[28]2.9870.4932.0863.9250.0080.0054158.03922.01.0
y_obs[29]3.0660.5022.1404.0120.0080.0064075.03939.01.0
\n", + "
" ], - "metadata": { - "id": "JfT19ChHTMxB" - } - }, + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", + "y_obs[0] 0.971 0.504 0.045 1.915 0.008 0.006 3823.0 \n", + "y_obs[1] 1.028 0.507 0.053 1.928 0.008 0.006 3679.0 \n", + "y_obs[2] 1.108 0.500 0.133 2.026 0.008 0.006 4058.0 \n", + "y_obs[3] 1.169 0.503 0.253 2.165 0.008 0.006 3692.0 \n", + "y_obs[4] 1.253 0.496 0.290 2.155 0.008 0.006 3824.0 \n", + "y_obs[5] 1.327 0.498 0.364 2.221 0.008 0.006 3620.0 \n", + "y_obs[6] 1.403 0.499 0.417 2.299 0.008 0.005 4252.0 \n", + "y_obs[7] 1.478 0.494 0.539 2.379 0.008 0.006 3839.0 \n", + "y_obs[8] 1.534 0.502 0.591 2.446 0.008 0.006 3961.0 \n", + "y_obs[9] 1.602 0.503 0.693 2.590 0.008 0.006 3814.0 \n", + "y_obs[10] 1.698 0.500 0.710 2.582 0.008 0.006 4118.0 \n", + "y_obs[11] 1.748 0.493 0.821 2.683 0.008 0.005 4127.0 \n", + "y_obs[12] 1.835 0.501 0.917 2.783 0.008 0.006 3940.0 \n", + "y_obs[13] 1.903 0.488 0.964 2.784 0.008 0.005 3973.0 \n", + "y_obs[14] 1.970 0.498 0.968 2.818 0.008 0.006 3993.0 \n", + "y_obs[15] 2.049 0.495 1.089 2.924 0.008 0.005 4229.0 \n", + "y_obs[16] 2.118 0.495 1.211 3.070 0.008 0.006 3925.0 \n", + "y_obs[17] 2.183 0.502 1.175 3.063 0.008 0.006 3763.0 \n", + "y_obs[18] 2.281 0.505 1.377 3.285 0.008 0.006 3948.0 \n", + "y_obs[19] 2.326 0.492 1.376 3.244 0.008 0.006 4019.0 \n", + "y_obs[20] 2.407 0.495 1.456 3.308 0.008 0.006 3886.0 \n", + "y_obs[21] 2.479 0.502 1.525 3.439 0.008 0.006 3739.0 \n", + "y_obs[22] 2.547 0.494 1.673 3.523 0.008 0.005 4292.0 \n", + "y_obs[23] 2.627 0.493 1.722 3.579 0.008 0.006 3861.0 \n", + "y_obs[24] 2.687 0.503 1.735 3.622 0.008 0.006 3881.0 \n", + "y_obs[25] 2.768 0.502 1.748 3.664 0.008 0.006 3645.0 \n", + "y_obs[26] 2.827 0.507 1.802 3.724 0.008 0.006 3629.0 \n", + "y_obs[27] 2.930 0.494 2.006 3.835 0.008 0.006 3793.0 \n", + "y_obs[28] 2.987 0.493 2.086 3.925 0.008 0.005 4158.0 \n", + "y_obs[29] 3.066 0.502 2.140 4.012 0.008 0.006 4075.0 \n", + "\n", + " ess_tail r_hat \n", + "y_obs[0] 3796.0 1.0 \n", + "y_obs[1] 3709.0 1.0 \n", + "y_obs[2] 3707.0 1.0 \n", + "y_obs[3] 3363.0 1.0 \n", + "y_obs[4] 3669.0 1.0 \n", + "y_obs[5] 3599.0 1.0 \n", + "y_obs[6] 3825.0 1.0 \n", + "y_obs[7] 3924.0 1.0 \n", + "y_obs[8] 4090.0 1.0 \n", + "y_obs[9] 4007.0 1.0 \n", + "y_obs[10] 3570.0 1.0 \n", + "y_obs[11] 4094.0 1.0 \n", + "y_obs[12] 3732.0 1.0 \n", + "y_obs[13] 3846.0 1.0 \n", + "y_obs[14] 3924.0 1.0 \n", + "y_obs[15] 4093.0 1.0 \n", + "y_obs[16] 3989.0 1.0 \n", + "y_obs[17] 3866.0 1.0 \n", + "y_obs[18] 3920.0 1.0 \n", + "y_obs[19] 3468.0 1.0 \n", + "y_obs[20] 3804.0 1.0 \n", + "y_obs[21] 3884.0 1.0 \n", + "y_obs[22] 4094.0 1.0 \n", + "y_obs[23] 3966.0 1.0 \n", + "y_obs[24] 4049.0 1.0 \n", + "y_obs[25] 3721.0 1.0 \n", + "y_obs[26] 3788.0 1.0 \n", + "y_obs[27] 3962.0 1.0 \n", + "y_obs[28] 3922.0 1.0 \n", + "y_obs[29] 3939.0 1.0 " + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "az.summary(bayes_model_500.trace.predictions)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see that there is practically no difference in the standard deviation of the posterior predictive of both models." + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "source": [ - "y_pred_bayes_quantiles = bayes_model.predict_quantiles(X_test, [0.25, 0.75])\n", - "y_pred_bayes_quantiles.head()" + "data": { + "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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sd
y_obs[0]1.014085
y_obs[1]1.014000
y_obs[2]1.026694
y_obs[3]1.024440
y_obs[4]1.026915
y_obs[5]1.028926
y_obs[6]1.026749
y_obs[7]1.031315
y_obs[8]1.024490
y_obs[9]1.028630
y_obs[10]1.026694
y_obs[11]1.031381
y_obs[12]1.028747
y_obs[13]1.029536
y_obs[14]1.037500
y_obs[15]1.026971
y_obs[16]1.035565
y_obs[17]1.028689
y_obs[18]1.026423
y_obs[19]1.031447
y_obs[20]1.024845
y_obs[21]1.018256
y_obs[22]1.020661
y_obs[23]1.022822
y_obs[24]1.022358
y_obs[25]1.020325
y_obs[26]1.016032
y_obs[27]1.008163
y_obs[28]0.997976
y_obs[29]0.996032
\n", + "
" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 253, - "referenced_widgets": [ - "cb9ebd7e5af34a66bb4be9d0cf6676e8", - "76228f3f57924d8099807a14a3be0f83" - ] - }, - "id": "ZKNeOme2I8Ms", - "outputId": "9f34d337-c288-496e-a7eb-95cc15c834dc" - }, - "execution_count": 41, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Output()" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "cb9ebd7e5af34a66bb4be9d0cf6676e8" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [], - "text/html": [ - "
\n"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "text/plain": [
-              "\n"
-            ],
-            "text/html": [
-              "
\n",
-              "
\n" - ] - }, - "metadata": {} - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " target \n", - " 0.25 0.75\n", - "0 0.721486 1.390735\n", - "1 0.779420 1.446154\n", - "2 0.860220 1.514363\n", - "3 0.924821 1.560804\n", - "4 0.985909 1.631594" - ], - "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", - "
target
0.250.75
00.7214861.390735
10.7794201.446154
20.8602201.514363
30.9248211.560804
40.9859091.631594
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "variable_name": "y_pred_bayes_quantiles", - "summary": "{\n \"name\": \"y_pred_bayes_quantiles\",\n \"rows\": 30,\n \"fields\": [\n {\n \"column\": [\n \"target\",\n 0.25\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5699277396317782,\n \"min\": 0.7214862641549812,\n \"max\": 2.602302605537751,\n \"num_unique_values\": 30,\n \"samples\": [\n 2.4907321379952627,\n 1.7018566293529784,\n 2.2260452502169157\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"target\",\n 0.75\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5701992981658766,\n \"min\": 1.390735176332671,\n \"max\": 3.2729045926831097,\n \"num_unique_values\": 30,\n \"samples\": [\n 3.1487639439744752,\n 2.3506379113927873,\n 2.879692488059529\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {}, - "execution_count": 41 - } + "text/plain": [ + " sd\n", + "y_obs[0] 1.014085\n", + "y_obs[1] 1.014000\n", + "y_obs[2] 1.026694\n", + "y_obs[3] 1.024440\n", + "y_obs[4] 1.026915\n", + "y_obs[5] 1.028926\n", + "y_obs[6] 1.026749\n", + "y_obs[7] 1.031315\n", + "y_obs[8] 1.024490\n", + "y_obs[9] 1.028630\n", + "y_obs[10] 1.026694\n", + "y_obs[11] 1.031381\n", + "y_obs[12] 1.028747\n", + "y_obs[13] 1.029536\n", + "y_obs[14] 1.037500\n", + "y_obs[15] 1.026971\n", + "y_obs[16] 1.035565\n", + "y_obs[17] 1.028689\n", + "y_obs[18] 1.026423\n", + "y_obs[19] 1.031447\n", + "y_obs[20] 1.024845\n", + "y_obs[21] 1.018256\n", + "y_obs[22] 1.020661\n", + "y_obs[23] 1.022822\n", + "y_obs[24] 1.022358\n", + "y_obs[25] 1.020325\n", + "y_obs[26] 1.016032\n", + "y_obs[27] 1.008163\n", + "y_obs[28] 0.997976\n", + "y_obs[29] 0.996032" ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(az.summary(bayes_model_500.trace.predictions)/az.summary(bayes_model.trace.predictions))[['sd']]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cNKM7EPXJXij" + }, + "source": [ + "# References" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "5Ffs-tVRURxh" + }, + "source": [ + "(WIP)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "KzuX_hc8vsD7" + }, + "source": [ + "https://discourse.pymc.io/t/how-to-use-the-posterior-predictive-distribution-for-checking-a-model-from-pymc/11593/9\n", + "\n", + "https://www.pymc.io/projects/docs/en/v5.15.1/api/generated/pymc.sample_prior_predictive.html\n", + "\n", + "https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "H8NNxB0WUQx1", + "outputId": "63865169-72a3-4adc-a0e0-178fcc164c39" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "## `predict_interval`" + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
arviz.InferenceData
\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", + "
      <xarray.Dataset> Size: 16MB\n",
      +       "Dimensions:    (chain: 2, draw: 2000, mu_dim_0: 500, pred_id: 1)\n",
      +       "Coordinates:\n",
      +       "  * chain      (chain) int64 16B 0 1\n",
      +       "  * draw       (draw) int64 16kB 0 1 2 3 4 5 6 ... 1994 1995 1996 1997 1998 1999\n",
      +       "  * mu_dim_0   (mu_dim_0) int64 4kB 0 1 2 3 4 5 6 ... 494 495 496 497 498 499\n",
      +       "  * pred_id    (pred_id) <U8 32B 'feature1'\n",
      +       "Data variables:\n",
      +       "    intercept  (chain, draw) float64 32kB 0.9792 0.9792 0.9929 ... 0.9953 1.038\n",
      +       "    mu         (chain, draw, mu_dim_0) float64 16MB 2.436 2.53 ... 2.719 2.574\n",
      +       "    noise      (chain, draw) float64 32kB 0.457 0.457 0.4922 ... 0.4775 0.4884\n",
      +       "    slopes     (chain, draw, pred_id) float64 32kB 2.004 2.004 ... 1.994 1.959\n",
      +       "Attributes:\n",
      +       "    created_at:                 2024-06-13T14:05:10.616157+00:00\n",
      +       "    arviz_version:              0.18.0\n",
      +       "    inference_library:          pymc\n",
      +       "    inference_library_version:  5.15.1\n",
      +       "    sampling_time:              1.6659340858459473\n",
      +       "    tuning_steps:               1000

      \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", + "
      <xarray.Dataset> Size: 16MB\n",
      +       "Dimensions:  (chain: 2, draw: 2000, obs_id: 500)\n",
      +       "Coordinates:\n",
      +       "  * chain    (chain) int64 16B 0 1\n",
      +       "  * draw     (draw) int64 16kB 0 1 2 3 4 5 6 ... 1994 1995 1996 1997 1998 1999\n",
      +       "  * obs_id   (obs_id) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
      +       "Data variables:\n",
      +       "    y_obs    (chain, draw, obs_id) float64 16MB 2.485 2.589 ... 2.834 2.436\n",
      +       "Attributes:\n",
      +       "    created_at:                 2024-06-13T14:05:10.765817+00:00\n",
      +       "    arviz_version:              0.18.0\n",
      +       "    inference_library:          pymc\n",
      +       "    inference_library_version:  5.15.1

      \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", + "
      <xarray.Dataset> Size: 504kB\n",
      +       "Dimensions:                (chain: 2, draw: 2000)\n",
      +       "Coordinates:\n",
      +       "  * chain                  (chain) int64 16B 0 1\n",
      +       "  * draw                   (draw) int64 16kB 0 1 2 3 4 ... 1996 1997 1998 1999\n",
      +       "Data variables: (12/17)\n",
      +       "    acceptance_rate        (chain, draw) float64 32kB 0.9788 0.4275 ... 0.9474\n",
      +       "    diverging              (chain, draw) bool 4kB False False ... False False\n",
      +       "    energy                 (chain, draw) float64 32kB 373.9 380.0 ... 373.5\n",
      +       "    energy_error           (chain, draw) float64 32kB 0.0656 0.0 ... -0.447\n",
      +       "    index_in_trajectory    (chain, draw) int64 32kB 2 0 3 4 3 -1 ... 1 3 4 -3 -4\n",
      +       "    largest_eigval         (chain, draw) float64 32kB nan nan nan ... nan nan\n",
      +       "    ...                     ...\n",
      +       "    process_time_diff      (chain, draw) float64 32kB 0.000238 ... 0.000473\n",
      +       "    reached_max_treedepth  (chain, draw) bool 4kB False False ... False False\n",
      +       "    smallest_eigval        (chain, draw) float64 32kB nan nan nan ... nan nan\n",
      +       "    step_size              (chain, draw) float64 32kB 0.2953 0.2953 ... 0.4814\n",
      +       "    step_size_bar          (chain, draw) float64 32kB 0.4423 0.4423 ... 0.5098\n",
      +       "    tree_depth             (chain, draw) int64 32kB 2 3 3 4 3 1 ... 3 3 2 3 3 3\n",
      +       "Attributes:\n",
      +       "    created_at:                 2024-06-13T14:05:10.624021+00:00\n",
      +       "    arviz_version:              0.18.0\n",
      +       "    inference_library:          pymc\n",
      +       "    inference_library_version:  5.15.1\n",
      +       "    sampling_time:              1.6659340858459473\n",
      +       "    tuning_steps:               1000

      \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", + "
      <xarray.Dataset> Size: 8kB\n",
      +       "Dimensions:  (obs_id: 500)\n",
      +       "Coordinates:\n",
      +       "  * obs_id   (obs_id) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
      +       "Data variables:\n",
      +       "    y_obs    (obs_id) float64 4kB 1.775 2.387 2.569 2.701 ... 2.315 2.781 2.381\n",
      +       "Attributes:\n",
      +       "    created_at:                 2024-06-13T14:05:10.626281+00:00\n",
      +       "    arviz_version:              0.18.0\n",
      +       "    inference_library:          pymc\n",
      +       "    inference_library_version:  5.15.1

      \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", + "
      <xarray.Dataset> Size: 8kB\n",
      +       "Dimensions:  (obs_id: 500, pred_id: 1)\n",
      +       "Coordinates:\n",
      +       "  * obs_id   (obs_id) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
      +       "  * pred_id  (pred_id) <U8 32B 'feature1'\n",
      +       "Data variables:\n",
      +       "    X        (obs_id, pred_id) float64 4kB 0.7267 0.7739 ... 0.8581 0.7838\n",
      +       "Attributes:\n",
      +       "    created_at:                 2024-06-13T14:05:10.626826+00:00\n",
      +       "    arviz_version:              0.18.0\n",
      +       "    inference_library:          pymc\n",
      +       "    inference_library_version:  5.15.1

      \n", + "
    \n", + "
    \n", + "
  • \n", + " \n", + "
\n", + "
\n", + " " ], - "metadata": { - "id": "kLWYUUfsShKw" - } - }, + "text/plain": [ + "Inference data with groups:\n", + "\t> posterior\n", + "\t> posterior_predictive\n", + "\t> sample_stats\n", + "\t> observed_data\n", + "\t> constant_data" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bayes_model_500.trace" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "id": "SFmXY53DYO5a" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "Lastly, the model comes with the `predict_interval` method. This method returns the **credible interval**, which is a range within which a certain proportion of the posterior distribution lies. For example, a 95% credible interval for a parameter $\\theta$ means that there is a 95% probability that $\\theta$ lies within this interval, given the observed data and the prior distribution." + "data": { + "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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
y_obs[0]1.0560.4970.1181.9690.0080.0063669.03667.01.0
y_obs[1]1.1060.5000.2072.0660.0080.0063552.03901.01.0
y_obs[2]1.1780.4870.2452.0870.0080.0063856.03939.01.0
y_obs[3]1.2330.4910.3162.1820.0080.0063648.03755.01.0
y_obs[4]1.3080.4830.4182.2580.0080.0063710.03680.01.0
y_obs[5]1.3750.4840.4172.2240.0080.0063471.03436.01.0
y_obs[6]1.4450.4860.5462.3580.0080.0054150.03721.01.0
y_obs[7]1.5140.4790.6632.4160.0080.0063727.03919.01.0
y_obs[8]1.5620.4900.6102.4500.0080.0063901.03861.01.0
y_obs[9]1.6230.4890.7022.5420.0080.0063754.03921.01.0
y_obs[10]1.7090.4870.7442.5790.0080.0054110.03704.01.0
y_obs[11]1.7540.4780.8692.6580.0070.0054132.04181.01.0
y_obs[12]1.8330.4870.9442.7790.0080.0063882.03731.01.0
y_obs[13]1.8940.4741.0002.7730.0080.0053975.03647.01.0
y_obs[14]1.9540.4801.0222.8230.0080.0053992.03965.01.0
y_obs[15]2.0280.4821.1962.9960.0070.0054221.03924.01.0
y_obs[16]2.0890.4781.2263.0160.0080.0063775.04139.01.0
y_obs[17]2.1470.4881.2113.0720.0080.0063649.03800.01.0
y_obs[18]2.2360.4921.3003.1680.0080.0063969.03729.01.0
y_obs[19]2.2750.4771.3273.1460.0080.0054003.03613.01.0
y_obs[20]2.3490.4831.4653.2670.0080.0053925.03938.01.0
y_obs[21]2.4130.4931.4263.3040.0080.0063781.03925.01.0
y_obs[22]2.4750.4841.5993.4050.0070.0054380.04091.01.0
y_obs[23]2.5450.4821.6133.4310.0080.0053955.03730.01.0
y_obs[24]2.6000.4921.6963.5460.0080.0063889.03925.01.0
y_obs[25]2.6740.4921.7293.5930.0080.0063590.03858.01.0
y_obs[26]2.7260.4991.7883.6730.0080.0063675.03766.01.0
y_obs[27]2.8210.4901.9073.7500.0080.0063811.03802.01.0
y_obs[28]2.8710.4941.9543.8150.0080.0064019.03889.01.0
y_obs[29]2.9420.5041.9883.8630.0080.0063730.04008.01.0
\n", + "
" ], - "metadata": { - "id": "L3JDkpCcS9i0" - } + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", + "y_obs[0] 1.056 0.497 0.118 1.969 0.008 0.006 3669.0 \n", + "y_obs[1] 1.106 0.500 0.207 2.066 0.008 0.006 3552.0 \n", + "y_obs[2] 1.178 0.487 0.245 2.087 0.008 0.006 3856.0 \n", + "y_obs[3] 1.233 0.491 0.316 2.182 0.008 0.006 3648.0 \n", + "y_obs[4] 1.308 0.483 0.418 2.258 0.008 0.006 3710.0 \n", + "y_obs[5] 1.375 0.484 0.417 2.224 0.008 0.006 3471.0 \n", + "y_obs[6] 1.445 0.486 0.546 2.358 0.008 0.005 4150.0 \n", + "y_obs[7] 1.514 0.479 0.663 2.416 0.008 0.006 3727.0 \n", + "y_obs[8] 1.562 0.490 0.610 2.450 0.008 0.006 3901.0 \n", + "y_obs[9] 1.623 0.489 0.702 2.542 0.008 0.006 3754.0 \n", + "y_obs[10] 1.709 0.487 0.744 2.579 0.008 0.005 4110.0 \n", + "y_obs[11] 1.754 0.478 0.869 2.658 0.007 0.005 4132.0 \n", + "y_obs[12] 1.833 0.487 0.944 2.779 0.008 0.006 3882.0 \n", + "y_obs[13] 1.894 0.474 1.000 2.773 0.008 0.005 3975.0 \n", + "y_obs[14] 1.954 0.480 1.022 2.823 0.008 0.005 3992.0 \n", + "y_obs[15] 2.028 0.482 1.196 2.996 0.007 0.005 4221.0 \n", + "y_obs[16] 2.089 0.478 1.226 3.016 0.008 0.006 3775.0 \n", + "y_obs[17] 2.147 0.488 1.211 3.072 0.008 0.006 3649.0 \n", + "y_obs[18] 2.236 0.492 1.300 3.168 0.008 0.006 3969.0 \n", + "y_obs[19] 2.275 0.477 1.327 3.146 0.008 0.005 4003.0 \n", + "y_obs[20] 2.349 0.483 1.465 3.267 0.008 0.005 3925.0 \n", + "y_obs[21] 2.413 0.493 1.426 3.304 0.008 0.006 3781.0 \n", + "y_obs[22] 2.475 0.484 1.599 3.405 0.007 0.005 4380.0 \n", + "y_obs[23] 2.545 0.482 1.613 3.431 0.008 0.005 3955.0 \n", + "y_obs[24] 2.600 0.492 1.696 3.546 0.008 0.006 3889.0 \n", + "y_obs[25] 2.674 0.492 1.729 3.593 0.008 0.006 3590.0 \n", + "y_obs[26] 2.726 0.499 1.788 3.673 0.008 0.006 3675.0 \n", + "y_obs[27] 2.821 0.490 1.907 3.750 0.008 0.006 3811.0 \n", + "y_obs[28] 2.871 0.494 1.954 3.815 0.008 0.006 4019.0 \n", + "y_obs[29] 2.942 0.504 1.988 3.863 0.008 0.006 3730.0 \n", + "\n", + " ess_tail r_hat \n", + "y_obs[0] 3667.0 1.0 \n", + "y_obs[1] 3901.0 1.0 \n", + "y_obs[2] 3939.0 1.0 \n", + "y_obs[3] 3755.0 1.0 \n", + "y_obs[4] 3680.0 1.0 \n", + "y_obs[5] 3436.0 1.0 \n", + "y_obs[6] 3721.0 1.0 \n", + "y_obs[7] 3919.0 1.0 \n", + "y_obs[8] 3861.0 1.0 \n", + "y_obs[9] 3921.0 1.0 \n", + "y_obs[10] 3704.0 1.0 \n", + "y_obs[11] 4181.0 1.0 \n", + "y_obs[12] 3731.0 1.0 \n", + "y_obs[13] 3647.0 1.0 \n", + "y_obs[14] 3965.0 1.0 \n", + "y_obs[15] 3924.0 1.0 \n", + "y_obs[16] 4139.0 1.0 \n", + "y_obs[17] 3800.0 1.0 \n", + "y_obs[18] 3729.0 1.0 \n", + "y_obs[19] 3613.0 1.0 \n", + "y_obs[20] 3938.0 1.0 \n", + "y_obs[21] 3925.0 1.0 \n", + "y_obs[22] 4091.0 1.0 \n", + "y_obs[23] 3730.0 1.0 \n", + "y_obs[24] 3925.0 1.0 \n", + "y_obs[25] 3858.0 1.0 \n", + "y_obs[26] 3766.0 1.0 \n", + "y_obs[27] 3802.0 1.0 \n", + "y_obs[28] 3889.0 1.0 \n", + "y_obs[29] 4008.0 1.0 " + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "az.summary(bayes_model.trace.predictions)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "hide_input": false, + "kernelspec": { + "display_name": "pymc_env", + "language": "python", + "name": "pymc_env" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "046257170ed44b08903c7ab551b34710": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } }, - { - "cell_type": "code", - "source": [ - "y_pred_bayes_interval = bayes_model.predict_interval(X_test, 0.95)\n", - "y_pred_bayes_interval.head()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 285, - "referenced_widgets": [ - "1bad078ae919428db9df21002e47f44d", - "21a450b922714993904c09aa3416a5c9" - ] - }, - "id": "jnkLPPPySgPP", - "outputId": "a7c8e888-2688-467a-da2e-bb41f48da1d7" - }, - "execution_count": 49, + "140c47265a9d4413bcd5d6cb82c8813a": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_4afa3bbfa3e94be2b99d17c0a0d236c6", + "msg_id": "", "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Output()" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "1bad078ae919428db9df21002e47f44d" - } - }, - "metadata": {} + { + "data": { + "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 100% 0:00:01\n
\n", + "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:01\u001b[0m\n" }, - { - "output_type": "display_data", - "data": { - "text/plain": [], - "text/html": [ - "
\n"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "text/plain": [
-              "\n"
-            ],
-            "text/html": [
-              "
\n",
-              "
\n" - ] - }, - "metadata": {} - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " target \n", - " 0.95 \n", - " lower upper\n", - "0 0.083531 2.052145\n", - "1 0.109154 2.061604\n", - "2 0.191369 2.150412\n", - "3 0.232867 2.191096\n", - "4 0.359840 2.280539" - ], - "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", - "
target
0.95
lowerupper
00.0835312.052145
10.1091542.061604
20.1913692.150412
30.2328672.191096
40.3598402.280539
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "variable_name": "y_pred_bayes_interval", - "summary": "{\n \"name\": \"y_pred_bayes_interval\",\n \"rows\": 30,\n \"fields\": [\n {\n \"column\": [\n \"target\",\n 0.95,\n \"lower\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.572368229303372,\n \"min\": 0.0835312331597271,\n \"max\": 1.9404594582085812,\n \"num_unique_values\": 30,\n \"samples\": [\n 1.848535652861253,\n 1.1090691278249034,\n 1.5738930271236604\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"target\",\n 0.95,\n \"upper\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5776823695711081,\n \"min\": 2.052145277500318,\n \"max\": 3.9436564277264408,\n \"num_unique_values\": 30,\n \"samples\": [\n 3.7679418880674245,\n 2.9815161320170707,\n 3.491163695604988\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {}, - "execution_count": 49 - } + "metadata": {}, + "output_type": "display_data" + } ] + } }, - { - "cell_type": "code", - "source": [ - "# Plot the predictions with the confidence intervals\n", - "plt.figure(figsize=(10, 6))\n", - "plt.scatter(X_test['feature1'], y_pred_bayes, color='blue', label='Predicted values')\n", - "plt.fill_between(X_test['feature1'], y_pred_bayes_interval[\"target\"][0.95][\"lower\"], y_pred_bayes_interval[\"target\"][0.95][\"upper\"], color='lightblue', alpha=0.4, label='95% Confidence Interval')\n", - "plt.xlabel('Feature 1')\n", - "plt.ylabel('Predicted Target')\n", - "plt.title('Predictions with 95% Credible Interval')\n", - "plt.legend()\n", - "plt.show()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 564 - }, - "id": "Fk5B-LcERJJT", - "outputId": "ba91cf7e-5ade-46e0-c6f8-1385d37f9cbf" - }, - "execution_count": 51, + "1b671855504d4104b5cebff3edfc244d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1bad078ae919428db9df21002e47f44d": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_21a450b922714993904c09aa3416a5c9", + "msg_id": "", "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAIjCAYAAAA0vUuxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACX80lEQVR4nOzdd3xUVd4G8OeWaemhJkAIvSkgxUITFRREWbAiooAKqy4qiKCgr6uIgmtnd13AiqIoFsBVcRELCIoFiAioFKUo1UJ6ptx7zvvHFBjSZpIpKc/38xmTuXPmzrlDEvPknPM7ipRSgoiIiIiIiMqlxrsDRERERERENR2DExERERERUSUYnIiIiIiIiCrB4ERERERERFQJBiciIiIiIqJKMDgRERERERFVgsGJiIiIiIioEgxORERERERElWBwIiIiIiIiqgSDExHVK61atcL48eMD99esWQNFUbBmzZqIvYaiKLj//vsjdr5427t3LxRFwaJFi0Ju+9hjj0W/Y/Xcrl27cMEFFyA1NRWKomDFihVYtGgRFEXB3r17K33+yd8LFF917ecGUV3E4EREMeP/pc5/s9vt6NChA2655RYcOXIk3t0Ly8qVK+v1LznRvP7du3fj8ssvR3p6OhISEtC/f398+umnpdqNHz8+6OvJf+vUqVNQu9zcXIwZMwbp6elo06YNnn/++VLn2rhxIxISErBnz56w+vrTTz/hxhtvRJs2bWC325GSkoJ+/fph3rx5KCkpCe/CwzRu3Dhs3boVDz30EBYvXozevXtH9fXiQVEU3HLLLVV67pIlS/DUU09FtkNEVK/p8e4AEdU/DzzwAFq3bg2n04n169dj/vz5WLlyJbZt24aEhISY9uXss89GSUkJrFZrWM9buXIlnn766TLDQ0lJCXS97vx4zc7ORklJCSwWS+BYRddfHb/88gv69OkDTdMwffp0JCYm4sUXX8QFF1yAjz/+GGeffXZQe5vNhueeey7oWGpqatD9adOmYc2aNZg1axZ2796NiRMnonPnzujbty8AQEqJ2267DVOmTEHr1q1D7uv777+PK664AjabDWPHjsWpp54Kt9uN9evXY/r06di+fTueeeaZKr4TFSspKcGGDRtwzz33BAWLa6+9FldddRVsNltUXrc2WbJkCbZt24YpU6bEuytEVEfUnf+zE1GtceGFFwb+Oj5hwgQ0bNgQTzzxBN555x2MHj26zOcUFRUhMTEx4n1RVRV2uz2i54z0+eLNPzoYCw8//DByc3Oxbds2dOzYEQAwceJEdOrUCbfffjs2bdoU1F7XdVxzzTUVnvO9997DI488grFjxwIAvvvuO7z77ruB4PTqq69i3759uPvuu0Pu5549e3DVVVchOzsbn3zyCTIzMwOPTZo0Cbt378b7778f8vnC9dtvvwEA0tLSgo5rmgZN06L2uvWdEAJut7vOfY8TUWg4VY+I4u68884DgMA0qfHjxyMpKQk//fQThg0bhuTkZIwZMwaA9xeXp556CqeccgrsdjuaNm2KG2+8EceOHQs6p5QSDz74IFq0aIGEhASce+652L59e6nXLm+N01dffYVhw4YhPT0diYmJ6NatG+bNmxfo39NPPw0AQVPE/Mpaq5CTk4MLL7wQKSkpSEpKwqBBg/Dll18GtfFPZfz8888xdepUNG7cGImJibjkkksCvyj7bdy4EUOGDEGjRo3gcDjQunVrXH/99RW+z1OnTkXDhg0hpQwcu/XWW6EoCv75z38Gjh05cgSKomD+/PkASq9xquz6/Z555hm0bdsWNpsNp59+Or755psK+wcA69atQ48ePQKhCQASEhLwl7/8BZs3b8auXbtKPcc0TeTn55d7zpKSEqSnpwfuN2jQAMXFxQC8gXzGjBmYO3cukpKSKu2f3yOPPILCwkI8//zzQaHJr127dpg8eXLgvmEYmD17duD9aNWqFe6++264XK6g57Vq1QoXX3wx1q9fjzPOOAN2ux1t2rTByy+/HGhz//33Izs7GwAwffp0KIqCVq1aAUCZa5xC/V4AvNMap0yZgqysLNhsNrRr1w7/+Mc/IIQItDlxHVso/8Y//vgjLr/8cjRo0AB2ux29e/fGf//738rf5DL4v1/feOMNPPTQQ2jRogXsdjsGDRqE3bt3B9qdc845eP/997Fv377A16f/PQIAl8uF++67D+3atYPNZkNWVhbuvPPOUv8e/qmCr776Kk455RTYbDa8++67aNCgAa677rpS/cvPz4fdbse0adMAAG63G3//+9/Rq1cvpKamIjExEQMGDChz6ikR1XwccSKiuPvpp58AAA0bNgwcMwwDQ4YMQf/+/fHYY48FpvDdeOONWLRoEa677jrcdttt2LNnD/79738jJycHn3/+eWA62d//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ugtZWVmw2Wxo164dnn/+eezduxfnnnsuACA9PR2KomD8+PEAvHtozZ07F61bt4bD4UD37t3x1ltvBb3OypUr0aFDBzgcDpx77rlB/SzL1VdfjVGjRgUd83g8aNSoEV5++WUAwP/+9z/0798/cH0XX3wxfvrpp3LPuWjRIqSlpQUdW7FiRanqcO+88w569uwJu92ONm3aYNasWYHRPykl7r//frRs2RI2mw3NmjXDbbfdVuG1UMXiFpw2bdqEo0ePomfPntB1HbquY+3atfjnP/8JXddhmmap52RkZODIkSNBx44cOYKMjIxyX8dmsyElJSXoRkRERFSbLVsGXH458OuvwccPHPAej3Z4OpHD4YDb7Q7c//jjj7Fjxw6sXr0a7733HjweD4YMGYLk5GSsW7cOn3/+OZKSkjB06NDA8x5//HEsWrQIL7zwAtavX48///wTy5cvr/B1x44di9deew3//Oc/8cMPP2DhwoVISkpCVlYW3n77bQDAjh07cOjQIcybNw+AdybSyy+/jAULFmD79u24/fbbcc0112Dt2rUAvAHv0ksvxfDhw/Htt99iwoQJmDFjRoX9GDNmDN59910UFhYGjq1atQrFxcW45JJLAABFRUWYOnUqNm7ciI8//hiqquKSSy6BECLMd/u4devWYezYsZg8eTK+//57LFy4EIsWLcJDDz0EAHj77bfx5JNPYuHChdi1axdWrFiBrl27Vvn1CICMk/z8fLl169agW+/eveU111wjt27dWuZzrrzySnnxxRcHHevTp4+88cYbQ37dvLw8CUDm5eVVq/9EREREVVFSUiK///57WVJSUqXnG4aULVpICZR9UxQps7K87SJt3LhxcsSIEVJKKYUQcvXq1dJms8lp06YFHm/atKl0uVyB5yxevFh27NhRCiECx1wul3Q4HHLVqlVSSikzMzPlI488Enjc4/HIFi1aBF5LSikHDhwoJ0+eLKWUcseOHRKAXL16dZn9/PTTTyUAeezYscAxp9MpExIS5BdffBHU9oYbbpCjR4+WUko5c+ZM2aVLl6DH77rrrlLnOpHH45GNGjWSL7/8cuDY6NGj5ahRo8psL6WUv/32mwQQ+J13z549EoDMycmRUkr54osvytTU1KDnLF++XJ74q/ugQYPknDlzgtosXrxYZmZmSimlfPzxx2WHDh2k2+0utx/1RUXfc+Fkg7itcUpOTsapp54adCwxMRENGzYMHB87diyaN2+OuXPnAgAmT56MgQMH4vHHH8dFF12E119/HRs3bsQzzzwT8/4TERERxcO6daVHmk4kJfDLL95255wT+dd/7733kJSUBI/HAyEErr76atx///2Bx7t27Rq0rmnLli3YvXs3kpOTg87jdDrx008/IS8vD4cOHcKZZ54ZeEzXdfTu3bvUdD2/b7/9FpqmYeDAgSH3e/fu3SguLsb5558fdNztdqNHjx4AgB9++CGoHwDQp0+fCs+r6zquvPJKvPrqq7j22mtRVFSEd955B6+//nqgza5du/D3v/8dX331FX7//ffASNP+/ftL/T4cqi1btuDzzz8PjDAB3imPTqcTxcXFuOKKK/DUU0+hTZs2GDp0KIYNG4bhw4dD1+Na4qBWq9Hv3P79+4N21e7bty+WLFmC//u//8Pdd9+N9u3bY8WKFVX+giMiIiKqbQ4dimy7cJ177rmYP38+rFYrmjVrVuoX8cTExKD7hYWF6NWrF1599dVS52rcuHGV+uBwOMJ+jn8q3fvvv4/mzZsHPWaz2arUD78xY8Zg4MCBOHr0KFavXg2Hw4GhQ4cGHh8+fDiys7Px7LPPolmzZhBC4NRTTw2a4ngiVVVLhUaPx1PqembNmoVLL7201PPtdjuysrKwY8cOfPTRR1i9ejX+9re/4dFHH8XatWthsViqdb3VJaWEkICqoNS6rZqsRgWnNWvWVHgfAK644gpcccUVsekQERERUQ2TmRnZduFKTExEu3btQm7fs2dPLF26FE2aNCl3rXlmZia++uornH322QAAwzCwadMm9OzZs8z2Xbt2hRACa9euLXNLG/+I14lr5rt06QKbzYb9+/eXO1LVuXPnQKELvy+//LLSa+zbty+ysrKwdOlSfPDBB7jiiisC4eSPP/7Ajh078Oyzz2LAgAEAgPXr11d4vsaNG6OgoABFRUWBIHryHk89e/bEjh07Kvy3cDgcGD58OIYPH45JkyahU6dO2Lp1a7nva7RJKWFKCUNISAnYdBW1JzbVsOBERERERBUbMABo0cJbCKKsmWyK4n3c9zt63I0ZMwaPPvooRowYgQceeAAtWrTAvn37sGzZMtx5551o0aIFJk+ejIcffhjt27dHp06d8MQTT1S4B1OrVq0wbtw4XH/99fjnP/+J7t27Y9++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/BF4rHv37li/fj1KSkqwatUqZGZmolGjRnj11Vdht9txySWXVNoXIQRef/11jBkzBs2aNSv1eFJSEnTdO7Fq/Pjx2LhxI/773/9iw4YNkFJi2LBh8Hg8gfbFxcV47LHHsHjxYnz22WfYv38/pk2bBgCYNm1aYPTs0KFDpUKM3/Tp07F27Vq88847+PDDD7FmzRps3rw5qM0tt9yCDRs24PXXX8d3332HK664AkOHDg0KchX1BQDmz5+PSZMm4a9//Su2bt2Kd955B23atoXHFHAZJi6/4gocPnIUy999F59/+TVO69EDFw8dgrxjxyqcfney+/5+L26fOhVfb9yE9h3aY+y118AwDPTp0xePPf4EUlJSsPeXX7H3l19x+9Q7AABTbrsNX375JV5+9VV8szkHl15+Of5y0UXYfdL1Pf7oI/jPwoXYum0bxowZg7S0NLz99tuBNqZpYunSpRgzZgwAwOl0olevXnj//fexbds2/PWvf8W1116Lr7/+OsSriRBZz+Tl5UkAMi8vL95dISIionqopKREfv/997KkpCTouNNjym1H8+XOPwrkz8eKon7b+UeB3HY0Xzo9Zsh979Onjxw4cKA8cOCANAxDLl68WKqqKjt06BBo89prr8l33nlHfvfdd3L58uWyc+fO8vTTT5eGYUgppXS73fJvf/ubbNWqlezdu7dct26d/OOPP2SbNm3k/v375T333CPbtm0rL7jgAvnrr7+W2Y8jR45IAPKJJ56osL87d+6UAOTnn38eOPb7779Lh8Mh33jjDSmllC+++KIEIHfv3h1o8/TTT8umTZsG7i9fvlye/GvzuHHj5IgRI6SUUhYUFEir1Ro4p5RS/vHHH9LhcMjJkydLKaXct2+f1DRNHjhwIOg8gwYNkjNnzgy5L82aNZN333239JimdBmmLHYbssjtkUVuj1z96RqZkpIicwuLpNNjBG5t2raV//7P/KBjJ94AyDfeels6PYb8cdduCUDOX/hM4PGcLd9JAHLL1m3S6THkM889L1NTU4POsfOnn6WmafLnffuDjp973nly+l13BZ4HQH61cZMsdhvSFEJKKeXkyZPleeedF7jGVatWSZvNJo8dO1buv+1FF10k77jjjsD9gQMHBt7rk5X3PSdleNmAa5yIiIiIKCSLFy/G9ddfj+bNm0PTNPTs2ROjR4/Gpk2bAm2u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\n" - }, - "metadata": {} - } + { + "data": { + "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━  77% 0:00:01\n
\n", + "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m\u001b[38;5;237m━━━━━━━━━\u001b[0m \u001b[35m 77%\u001b[0m \u001b[36m0:00:01\u001b[0m\n" + }, + "metadata": {}, + "output_type": "display_data" + } ] + } }, - { - "cell_type": "markdown", - "source": [ - "# Effect of Sample Size" - ], - "metadata": { - "id": "AcPkFWWaWv5B" - } - }, - { - "cell_type": "markdown", - "source": [ - "Lastly, let's take a look at how the size of training sample affects the width of the posterior distribution.\n", - "\n", - "To remind ourselves - here is the summary statistics we obtained after training a model with 50 data points." - ], - "metadata": { - "id": "AKU_wnMHVb08" - } + "21a450b922714993904c09aa3416a5c9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } }, - { - "cell_type": "code", - "source": [ - "bayes_model.get_posterior_summary()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 143 - }, - "id": "mnCENyCf8zbi", - "outputId": "40183b13-4505-4042-96a4-f13e9715629f" - }, - "execution_count": 52, + "23f5b7fa704041a8bf0026ed755ed07e": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_1b671855504d4104b5cebff3edfc244d", + "msg_id": "", "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", - "intercept 1.053 0.127 0.812 1.284 0.003 0.002 1597.0 \n", - "slopes[feature1] 1.881 0.240 1.458 2.362 0.006 0.004 1581.0 \n", - "noise 0.475 0.051 0.386 0.573 0.001 0.001 2614.0 \n", - "\n", - " ess_tail r_hat \n", - "intercept 1823.0 1.0 \n", - "slopes[feature1] 1947.0 1.0 \n", - "noise 2406.0 1.0 " - ], - "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", - " \n", - " \n", - " \n", - "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept1.0530.1270.8121.2840.0030.0021597.01823.01.0
slopes[feature1]1.8810.2401.4582.3620.0060.0041581.01947.01.0
noise0.4750.0510.3860.5730.0010.0012614.02406.01.0
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "summary": "{\n \"name\": \"bayes_model\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7066946535338536,\n \"min\": 0.475,\n \"max\": 1.881,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.053,\n 1.881,\n 0.475\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.09510169994975554,\n \"min\": 0.051,\n \"max\": 0.24,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.127,\n 0.24,\n 0.051\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_3%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5397493245325401,\n \"min\": 0.386,\n \"max\": 1.458,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.812,\n 1.458,\n 0.386\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_97%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.9007520931606728,\n \"min\": 0.573,\n \"max\": 2.362,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.284,\n 2.362,\n 0.573\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.002516611478423583,\n \"min\": 0.001,\n \"max\": 0.006,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.003,\n 0.006,\n 0.001\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0015275252316519468,\n \"min\": 0.001,\n \"max\": 0.004,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.002,\n 0.004,\n 0.001\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_bulk\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 591.8380972304278,\n \"min\": 1581.0,\n \"max\": 2614.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 1597.0,\n 1581.0,\n 2614.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_tail\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 307.1226682179831,\n \"min\": 1823.0,\n \"max\": 2406.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 1823.0,\n 1947.0,\n 2406.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"r_hat\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0,\n \"min\": 1.0,\n \"max\": 1.0,\n \"num_unique_values\": 1,\n \"samples\": [\n 1.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {}, - "execution_count": 52 - } + { + "data": { + "text/html": "
Sampling chain 1, 0 divergences ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:00\n
\n", + "text/plain": "Sampling chain 1, 0 divergences \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 0%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" + }, + "metadata": {}, + "output_type": "display_data" + } ] + } }, - { - "cell_type": "markdown", - "source": [ - "Now, let's generate a synthetic dataset with 500 datapoints and use it to train another model." - ], - "metadata": { - "id": "_1l0aeM3Vr5T" - } + "27aa1995a5e54ad5b61296623e65ca55": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } }, - { - "cell_type": "code", - "source": [ - "N = 500\n", - "\n", - "# Creating 500 random data points containing 1 feature\n", - "feature1 = np.random.uniform(0, 1, N)\n", - "X_train = pd.DataFrame({'feature1': feature1})\n", - "\n", - "# Set the relationship between the feature and the target variable\n", - "TRUE_INTERCEPT = 1\n", - "TRUE_SLOPES = np.array([2])\n", - "TRUE_SIGMA = 0.5\n", - "\n", - "# Calculating the true target variable\n", - "y_true = TRUE_INTERCEPT + np.dot(X_train, TRUE_SLOPES)\n", - "y_train = y_true + np.random.normal(0, TRUE_SIGMA, size=len(X_train))\n", - "\n", - "bayes_model_500 = BayesianLinearRegressor(intercept_mu=0, intercept_sigma=10,\n", - " slopes_mu=0, slopes_sigma=10,\n", - " noise_sigma=10)\n", - "bayes_model_500.fit(X_train, y_train)" - ], - "metadata": { - "id": "snDXFrdn84Sn", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 123, - "referenced_widgets": [ - "b77a1bc131de475d97ff0ba200776613", - "52c38d3a9e42417d9a1f645afe4af9f4", - "23f5b7fa704041a8bf0026ed755ed07e", - "1b671855504d4104b5cebff3edfc244d", - "5969efae24fd4b1baeaf30d6bcbedfe6", - "8955971da43241e9857ec6047c192fb5" - ] - }, - "outputId": "4315a88d-4bde-40eb-ceb0-b08eeb10530d" - }, - "execution_count": 53, + "2b6f7349e109440997ec97f6115eb5e8": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_046257170ed44b08903c7ab551b34710", + "msg_id": "", "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Output()" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "b77a1bc131de475d97ff0ba200776613" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [], - "text/html": [ - "
\n"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "text/plain": [
-              "\n"
-            ],
-            "text/html": [
-              "
\n",
-              "
\n" - ] - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Output()" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "23f5b7fa704041a8bf0026ed755ed07e" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [], - "text/html": [ - "
\n"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "text/plain": [
-              "\n"
-            ],
-            "text/html": [
-              "
\n",
-              "
\n" - ] - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Output()" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "5969efae24fd4b1baeaf30d6bcbedfe6" - } - }, - "metadata": {} + { + "data": { + "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━  95% 0:00:01\n
\n", + "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;237m╺\u001b[0m\u001b[38;5;237m━\u001b[0m \u001b[35m 95%\u001b[0m \u001b[36m0:00:01\u001b[0m\n" }, - { - "output_type": "display_data", - "data": { - "text/plain": [], - "text/html": [ - "
\n"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "text/plain": [
-              "\n"
-            ],
-            "text/html": [
-              "
\n",
-              "
\n" - ] - }, - "metadata": {} + "metadata": {}, + "output_type": "display_data" + } + ] + } + }, + "3c5c53cbd13b4cc7bba3539d0b015549": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_8f2d3226d202475a83b7d0a5399bd4ac", + "msg_id": "", + "outputs": [ + { + "data": { + "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━  91% 0:00:01\n
\n", + "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m\u001b[38;5;237m━━━\u001b[0m \u001b[35m 91%\u001b[0m \u001b[36m0:00:01\u001b[0m\n" }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "BayesianLinearRegressor()" - ], - "text/html": [ - "
BayesianLinearRegressor()
Please rerun this cell to show the HTML repr or trust the notebook.
" - ] - }, - "metadata": {}, - "execution_count": 53 - } + "metadata": {}, + "output_type": "display_data" + } ] + } }, - { - "cell_type": "markdown", - "source": [ - "We see that with this 10x increase in training set size, we obtain narrower posteriors, as evidenced by the lower `sd` values in the summary. It is noteworthy that the reduction of the standard deviation, which is around 3x, is less than the 10x reduction one might expect." - ], - "metadata": { - "id": "LuficUuTV0DH" - } + "4afa3bbfa3e94be2b99d17c0a0d236c6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } }, - { - "cell_type": "code", - "source": [ - "bayes_model_500.get_posterior_summary()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 143 - }, - "id": "l5Rlj1XLTu9E", - "outputId": "9a5d0be8-1f99-4414-e988-5cb2fa2313a8" - }, - "execution_count": 54, + "5041e82f2cec4d18afadc01334823e21": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_8bf13818fd184881993e49113f14aaa4", + "msg_id": "", "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", - "intercept 0.947 0.043 0.867 1.033 0.001 0.001 2051.0 \n", - "slopes[feature1] 2.113 0.076 1.982 2.267 0.002 0.001 2107.0 \n", - "noise 0.504 0.016 0.473 0.533 0.000 0.000 2384.0 \n", - "\n", - " ess_tail r_hat \n", - "intercept 2163.0 1.0 \n", - "slopes[feature1] 2020.0 1.0 \n", - "noise 2071.0 1.0 " - ], - "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", - " \n", - " \n", - " \n", - "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept0.9470.0430.8671.0330.0010.0012051.02163.01.0
slopes[feature1]2.1130.0761.9822.2670.0020.0012107.02020.01.0
noise0.5040.0160.4730.5330.0000.0002384.02071.01.0
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "summary": "{\n \"name\": \"bayes_model_500\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.8311323600967538,\n \"min\": 0.504,\n \"max\": 2.113,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.947,\n 2.113,\n 0.504\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.03004995840263344,\n \"min\": 0.016,\n \"max\": 0.076,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.043,\n 0.076,\n 0.016\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_3%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7826815018469092,\n \"min\": 0.473,\n \"max\": 1.982,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.867,\n 1.982,\n 0.473\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"hdi_97%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.8925162930352214,\n \"min\": 0.533,\n \"max\": 2.267,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.033,\n 2.267,\n 0.533\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.001,\n \"min\": 0.0,\n \"max\": 0.002,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.001,\n 0.002,\n 0.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mcse_sd\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0005773502691896258,\n \"min\": 0.0,\n \"max\": 0.001,\n \"num_unique_values\": 2,\n \"samples\": [\n 0.0,\n 0.001\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_bulk\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 178.30404743957254,\n \"min\": 2051.0,\n \"max\": 2384.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 2051.0,\n 2107.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ess_tail\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 72.47298347200379,\n \"min\": 2020.0,\n \"max\": 2163.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 2163.0,\n 2020.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"r_hat\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0,\n \"min\": 1.0,\n \"max\": 1.0,\n \"num_unique_values\": 1,\n \"samples\": [\n 1.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {}, - "execution_count": 54 - } + { + "data": { + "text/html": "
Sampling chain 0, 0 divergences ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:00\n
\n", + "text/plain": "Sampling chain 0, 0 divergences \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 0%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" + }, + "metadata": {}, + "output_type": "display_data" + } ] + } }, - { - "cell_type": "code", - "source": [ - "bayes_model.get_posterior_summary()/bayes_model_500.get_posterior_summary()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 143 - }, - "id": "4FyJcn9FWHQV", - "outputId": "27a32c99-7a24-4e95-c03f-2e75b5872fb2" - }, - "execution_count": 55, + "52c38d3a9e42417d9a1f645afe4af9f4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5969efae24fd4b1baeaf30d6bcbedfe6": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_8955971da43241e9857ec6047c192fb5", + "msg_id": "", "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " mean sd hdi_3% hdi_97% mcse_mean mcse_sd \\\n", - "intercept 1.111932 2.953488 0.936563 1.242982 3.0 2.0 \n", - "slopes[feature1] 0.890204 3.157895 0.735621 1.041906 3.0 4.0 \n", - "noise 0.942460 3.187500 0.816068 1.075047 inf inf \n", - "\n", - " ess_bulk ess_tail r_hat \n", - "intercept 0.778645 0.842811 1.0 \n", - "slopes[feature1] 0.750356 0.963861 1.0 \n", - "noise 1.096477 1.161758 1.0 " - ], - "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", - " \n", - " \n", - " \n", - "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
intercept1.1119322.9534880.9365631.2429823.02.00.7786450.8428111.0
slopes[feature1]0.8902043.1578950.7356211.0419063.04.00.7503560.9638611.0
noise0.9424603.1875000.8160681.075047infinf1.0964771.1617581.0
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "repr_error": "Out of range float values are not JSON compliant: inf" - } - }, - "metadata": {}, - "execution_count": 55 - } + { + "data": { + "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸  96% 0:00:01\n
\n", + "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m\u001b[38;5;237m━\u001b[0m \u001b[35m 96%\u001b[0m \u001b[36m0:00:01\u001b[0m\n" + }, + "metadata": {}, + "output_type": "display_data" + } ] + } }, - { - "cell_type": "markdown", - "source": [ - "# References" - ], - "metadata": { - "id": "cNKM7EPXJXij" - } + "76228f3f57924d8099807a14a3be0f83": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } }, - { - "cell_type": "markdown", - "source": [ - "(WIP)" - ], - "metadata": { - "id": "5Ffs-tVRURxh" - } + "8955971da43241e9857ec6047c192fb5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } }, - { - "cell_type": "markdown", - "source": [ - "https://discourse.pymc.io/t/how-to-use-the-posterior-predictive-distribution-for-checking-a-model-from-pymc/11593/9\n", - "\n", - "https://www.pymc.io/projects/docs/en/v5.15.1/api/generated/pymc.sample_prior_predictive.html\n", - "\n", - "https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf" - ], - "metadata": { - "id": "KzuX_hc8vsD7" - } + "8bf13818fd184881993e49113f14aaa4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } }, - { - "cell_type": "code", - "source": [ - "12" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" + "8f2d3226d202475a83b7d0a5399bd4ac": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "aaa3b0bdfa1d49169356cde19bae9c94": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_27aa1995a5e54ad5b61296623e65ca55", + "msg_id": "", + "outputs": [ + { + "data": { + "text/html": "
Sampling chain 1, 0 divergences ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:00\n
\n", + "text/plain": "Sampling chain 1, 0 divergences \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 0%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" }, - "id": "H8NNxB0WUQx1", - "outputId": "63865169-72a3-4adc-a0e0-178fcc164c39" - }, - "execution_count": 56, + "metadata": {}, + "output_type": "display_data" + } + ] + } + }, + "b77a1bc131de475d97ff0ba200776613": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_52c38d3a9e42417d9a1f645afe4af9f4", + "msg_id": "", "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "12" - ] - }, - "metadata": {}, - "execution_count": 56 - } + { + "data": { + "text/html": "
Sampling chain 0, 0 divergences ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:00\n
\n", + "text/plain": "Sampling chain 0, 0 divergences \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 0%\u001b[0m \u001b[36m0:00:00\u001b[0m\n" + }, + "metadata": {}, + "output_type": "display_data" + } ] + } }, - { - "cell_type": "code", - "source": [], - "metadata": { - "id": "SFmXY53DYO5a" - }, - "execution_count": null, - "outputs": [] + "cb9ebd7e5af34a66bb4be9d0cf6676e8": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_76228f3f57924d8099807a14a3be0f83", + "msg_id": "", + "outputs": [ + { + "data": { + "text/html": "
Sampling ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━  96% 0:00:01\n
\n", + "text/plain": "Sampling ... \u001b[38;2;23;100;244m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;237m╺\u001b[0m\u001b[38;5;237m━\u001b[0m \u001b[35m 96%\u001b[0m \u001b[36m0:00:01\u001b[0m\n" + }, + "metadata": {}, + "output_type": "display_data" + } + ] + } } - ] -} \ No newline at end of file + } + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} From ca0621d9d0fef32ce2059d42496c628f3e0046ae Mon Sep 17 00:00:00 2001 From: Meraldo Antonio Date: Fri, 14 Jun 2024 00:00:27 +0800 Subject: [PATCH 22/51] Formatting --- skpro/regression/bayesian.py | 218 +++++++++++++++++++++++------------ 1 file changed, 142 insertions(+), 76 deletions(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index b3e1aa7c..78a248e3 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -1,15 +1,22 @@ -"""Simple Bayesian Linear Regressor with normal priors for slopes and intercept and half-normal prior for noise; coded on pymc backend""" +""" +Simple Bayesian Linear Regressor. + +Bayesian Linear Regression defined with normal priors for slopes and intercept +and half-normal prior for noise; coded on pymc backend. +""" + # copyright: skpro developers __author__ = ["meraldoantonio"] +import pandas as pd + from skpro.regression.base import BaseProbaRegressor -import pandas as pd -import numpy as np class BayesianLinearRegressor(BaseProbaRegressor): - """Bayesian Linear Regressor with normal priors for slopes and intercept and half-normal prior for noise. + """Bayesian Linear Regression defined with normal priors for slopes and intercept + and half-normal prior for noise; coded on pymc backend. Parameters ---------- @@ -26,7 +33,7 @@ class BayesianLinearRegressor(BaseProbaRegressor): chains : int, optional (default=2) Number of MCMC chains to run. draws : int, optional (default=2000) - Number of MCMC draws to sample from each chain; will be applied to all sampling steps. + Number of draws sampled from each chain; applied to all sampling steps. Example ------- @@ -41,13 +48,13 @@ class BayesianLinearRegressor(BaseProbaRegressor): >>> y_test_pred_proba = bayes_model.predict_proba(X_test) # doctest: +SKIP >>> y_test_pred = bayes_model.predict(X_test) # doctest: +SKIP """ + _tags = { # packaging info # -------------- "authors": ["meraldoantonio"], # authors, GitHub handles "python_version": None, "python_dependencies": ["pymc"], - # estimator tags # -------------- "capability:multioutput": False, # can the estimator handle multi-output data? @@ -56,9 +63,16 @@ class BayesianLinearRegressor(BaseProbaRegressor): "y_inner_mtype": "pd_DataFrame_Table", # type seen in internal _fit } - - def __init__(self, intercept_mu=0, intercept_sigma=10, slopes_mu=0, slopes_sigma=10, noise_sigma=10, chains=2, draws=2000): - + def __init__( + self, + intercept_mu=0, + intercept_sigma=10, + slopes_mu=0, + slopes_sigma=10, + noise_sigma=10, + chains=2, + draws=2000, + ): # hyperparameters for priors self.intercept_sigma = intercept_sigma self.intercept_mu = intercept_mu @@ -74,8 +88,12 @@ def __init__(self, intercept_mu=0, intercept_sigma=10, slopes_mu=0, slopes_sigma assert self.intercept_sigma > 0, "intercept_sigma must be positive" assert self.slopes_sigma > 0, "slopes_sigma must be positive" assert self.noise_sigma > 0, "noise_sigma must be positive" - assert isinstance(self.chains, int) and self.chains > 0, "chains must be a positive integer" - assert isinstance(self.draws, int) and self.draws > 0, "draws must be a positive integer" + assert ( + isinstance(self.chains, int) and self.chains > 0 + ), "chains must be a positive integer" + assert ( + isinstance(self.draws, int) and self.draws > 0 + ), "draws must be a positive integer" def _fit(self, X, y): """Fit regressor to training data. @@ -94,51 +112,72 @@ def _fit(self, X, y): ------- self : reference to self """ - import pymc as pm + assert len(y.columns) == 1, "y must have only one column!" self._X = X self._y = y - self._y_vals = y.values[:,0] # we need a 1-dimensional array for compatibility with pymc + self._y_vals = y.values[ + :, 0 + ] # we need a 1-dimensional array for compatibility with pymc self._X_cols = X.columns self._y_cols = y.columns self._predict_done = False with pm.Model(coords={"obs_id": X.index, "pred_id": X.columns}) as self.model: - # Mutable data containers - X_data = pm.Data("X", self._X, dims = ("obs_id", "pred_id")) - y_data = pm.Data("y", self._y_vals, dims = ("obs_id")) + X_data = pm.Data("X", self._X, dims=("obs_id", "pred_id")) + y_data = pm.Data("y", self._y_vals, dims=("obs_id")) # Priors for unknown model parameters - self.intercept = pm.Normal("intercept", mu=self.intercept_mu, sigma=self.intercept_sigma) - self.slopes = pm.Normal("slopes", mu=self.slopes_mu, sigma=self.slopes_sigma, shape = self._X.shape[1], dims=("pred_id")) + self.intercept = pm.Normal( + "intercept", mu=self.intercept_mu, sigma=self.intercept_sigma + ) + self.slopes = pm.Normal( + "slopes", + mu=self.slopes_mu, + sigma=self.slopes_sigma, + shape=self._X.shape[1], + dims=("pred_id"), + ) self.noise = pm.HalfNormal("noise", sigma=self.noise_sigma) # Expected value of outcome - self.mu = pm.Deterministic("mu", self.intercept + pm.math.dot(X_data, self.slopes)) + self.mu = pm.Deterministic( + "mu", self.intercept + pm.math.dot(X_data, self.slopes) + ) # Likelihood (sampling distribution) of observations - y_obs = pm.Normal("y_obs", mu=self.mu, sigma=self.noise, observed=y_data, dims =("obs_id")) + y_obs = pm.Normal( + "y_obs", mu=self.mu, sigma=self.noise, observed=y_data, dims=("obs_id") + ) # Constructing the posterior - self.trace = pm.sample(chains = self.chains, draws = self.draws) + self.trace = pm.sample(chains=self.chains, draws=self.draws) # Constructing the in-sample posterior predictive self.trace.extend(pm.sample_posterior_predictive(self.trace)) - + return self - def get_prior(self, return_type = "xarray"): - """Extracts the prior distribution""" + def get_prior(self, return_type="xarray"): + """Extract the prior distribution.""" import pymc as pm - assert return_type in ["xarray", "numpy", "dataframe"], "return_type must be one of 'xarray', 'numpy' or 'dataframe" - + assert return_type in [ + "xarray", + "numpy", + "dataframe", + ], "return_type must be one of 'xarray', 'numpy' or 'dataframe" + with self.model: - # if we've previously used the model for prediction, we need to reset the reference of 'X' to the training data + # if we've previously used the model for prediction, + # we need to reset the reference of 'X' to the training data if self._predict_done: - pm.set_data({"X": self._X}, coords={"obs_id": self._X.index, "pred_id": self._X.columns}) + pm.set_data( + {"X": self._X}, + coords={"obs_id": self._X.index, "pred_id": self._X.columns}, + ) # todo: uniformize the number of chains during sampling self.trace.extend(pm.sample_prior_predictive(samples=self.draws)) prior = self.trace.prior @@ -154,56 +193,75 @@ def get_prior(self, return_type = "xarray"): intercept = prior["intercept"].values.squeeze() slopes = prior["slopes"].values.squeeze() noise = prior["noise"].values.squeeze() - return pd.DataFrame({"intercept": intercept, "slopes": slopes, "noise": noise}) + return pd.DataFrame( + {"intercept": intercept, "slopes": slopes, "noise": noise} + ) def get_prior_summary(self): - """ - Get the summary statistics of the prior - """ + """Get the summary statistics of the prior.""" import arviz as az import pymc as pm - # if we've previously used the model for prediction, we need to reset the reference of 'X' to the training data + + # if we've previously used the model for prediction, + # we need to reset the reference of 'X' to the training data if self._predict_done: - pm.set_data({"X": self._X}, coords={"obs_id": self._X.index, "pred_id": self._X.columns}) - return az.summary(self.trace.prior, var_names = ["intercept", "slopes", "noise"]) - + pm.set_data( + {"X": self._X}, + coords={"obs_id": self._X.index, "pred_id": self._X.columns}, + ) + return az.summary(self.trace.prior, var_names=["intercept", "slopes", "noise"]) + def plot_ppc(self, **kwargs): - """Plot the prior predictive check""" + """Plot the prior predictive check.""" import arviz as az + return az.plot_ppc(self.trace, **kwargs) - - def get_posterior(self, return_type = "xarray"): - """Extracts the prior distribution""" - import pymc as pm - assert self._is_fitted,"The model must be fitted before posterior can be returned." - assert return_type in ["xarray", "numpy", "dataframe"], "return_type must be one of 'xarray', 'numpy' or 'dataframe" + def get_posterior(self, return_type="xarray"): + """Extract the prior distribution.""" + assert ( + self._is_fitted + ), "The model must be fitted before posterior can be returned." + assert return_type in [ + "xarray", + "numpy", + "dataframe", + ], "return_type must be one of 'xarray', 'numpy' or 'dataframe" posterior = self.trace.posterior if return_type == "xarray": return posterior elif return_type == "numpy": - intercept = posterior["intercept"].stack({"sample":("chain", "draw")}).values - slopes = posterior["slopes"].stack({"sample":("chain", "draw")}).values - noise = posterior["noise"].stack({"sample":("chain", "draw")}).values + intercept = ( + posterior["intercept"].stack({"sample": ("chain", "draw")}).values + ) + slopes = posterior["slopes"].stack({"sample": ("chain", "draw")}).values + noise = posterior["noise"].stack({"sample": ("chain", "draw")}).values return {"intercept": intercept, "slopes": slopes, "noise": noise} else: - intercept = posterior["intercept"].stack({"sample":("chain", "draw")}).values - slopes = posterior["slopes"].stack({"sample":("chain", "draw")}).values - noise = posterior["noise"].stack({"sample":("chain", "draw")}).values - return pd.DataFrame({"intercept": intercept, "slopes": slopes, "noise": noise}) - + intercept = ( + posterior["intercept"].stack({"sample": ("chain", "draw")}).values + ) + slopes = posterior["slopes"].stack({"sample": ("chain", "draw")}).values + noise = posterior["noise"].stack({"sample": ("chain", "draw")}).values + return pd.DataFrame( + {"intercept": intercept, "slopes": slopes, "noise": noise} + ) + def get_posterior_summary(self): - """ - Get the summary statistics of the posterior - """ + """Get the summary statistics of the posterior.""" import arviz as az - import pymc as pm - # if we've previously used the model for prediction, we need to reset the reference of 'X' to the training data - assert self._is_fitted,"The model must be fitted before posterior summary can be returned." - return az.summary(self.trace.posterior, var_names = ["intercept", "slopes", "noise"]) - + + # if we've previously used the model for prediction, + # we need to reset the reference of 'X' to the training data + assert ( + self._is_fitted + ), "The model must be fitted before posterior summary can be returned." + return az.summary( + self.trace.posterior, var_names=["intercept", "slopes", "noise"] + ) + def _predict(self, X): """Predict labels for data from features. @@ -223,8 +281,10 @@ def _predict(self, X): y : pandas DataFrame, same length as `X`, same columns as `y` in `fit` labels predicted for `X` """ + assert X.columns.equals( + self._X_cols + ), f"The columns of X must be the same as the columns of the training data: {self._X_cols}" - assert X.columns.equals(self._X_cols), f"The columns of X must be the same as the columns of the training data: {self._X_cols}" y_pred = self._predict_proba(X).mean() return y_pred @@ -247,36 +307,41 @@ def _predict_proba(self, X): pred_proba_dist : skpro BaseDistribution, same length as `X` labels predicted for `X` """ - import pymc as pm + from skpro.distributions import Empirical - + y_cols = self._y_cols # columns from y in fit, not automatically stored index = X.index with self.model: # Set the X to be the new 'X' variable and then sample posterior predictive pm.set_data({"X": X}, coords={"obs_id": X.index, "pred_id": X.columns}) - self.trace.extend(pm.sample_posterior_predictive(self.trace, random_seed=42, predictions=True)) - self._predict_done = True # a flag - - # Extract posterior predictive distributions as an xarray DataArray - pred_proba_xarray = self.trace.predictions["y_obs"] + self.trace.extend( + pm.sample_posterior_predictive( + self.trace, random_seed=42, predictions=True + ) + ) + self._predict_done = True # a flag + + # Extract posterior predictive distributions as an xarray DataArray + pred_proba_xarray = self.trace.predictions["y_obs"] # Convert data to pd.DataFrame and format it appropriately for subsequent conversion into a skpro Empirical distribution pred_proba_df = pred_proba_xarray.to_dataframe() pred_proba_df = pred_proba_df.reset_index() # Create a new 'sample_id' column by combining the 'chain' and 'draw' columns - pred_proba_df["sample_id"] = pred_proba_df["chain"] * self.draws + pred_proba_df["draw"] + pred_proba_df["sample_id"] = ( + pred_proba_df["chain"] * self.draws + pred_proba_df["draw"] + ) pred_proba_df = pred_proba_df[["obs_id", "sample_id", "y_obs"]] - pred_proba_df = pred_proba_df.rename(columns = {"y_obs": y_cols[0]}) + pred_proba_df = pred_proba_df.rename(columns={"y_obs": y_cols[0]}) pred_proba_df = pred_proba_df.set_index(["sample_id", "obs_id"]) # Convert data to skpro Empirical distribution - pred_proba_dist = Empirical(spl=pred_proba_df, index = index, columns = y_cols) + pred_proba_dist = Empirical(spl=pred_proba_df, index=index, columns=y_cols) return pred_proba_dist - # todo: return default parameters, so that a test instance can be created # required for automated unit and integration testing of estimator @classmethod @@ -341,9 +406,10 @@ def get_test_params(cls, parameter_set="default"): # return params def visualize_model(self): - """ - Use graphviz to visualize the composition of the model - """ + """Use graphviz to visualize the composition of the model.""" import pymc as pm - assert self._is_fitted,"The model must be fitted before visualization can be done." - return pm.model_to_graphviz(self.model) \ No newline at end of file + + assert ( + self._is_fitted + ), "The model must be fitted before visualization can be done." + return pm.model_to_graphviz(self.model) From d1521fb676c06b6b086e38d25ec7ce4cea4eb859 Mon Sep 17 00:00:00 2001 From: Meraldo Antonio Date: Thu, 27 Jun 2024 23:19:53 +0800 Subject: [PATCH 23/51] Changed the prior for variance to inverse gamma for consisntency with conjugate prior --- skpro/regression/bayesian.py | 39 ++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index 78a248e3..ce4c9edd 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -15,8 +15,7 @@ class BayesianLinearRegressor(BaseProbaRegressor): - """Bayesian Linear Regression defined with normal priors for slopes and intercept - and half-normal prior for noise; coded on pymc backend. + """Bayesian Linear Regression defined with normal priors for slopes and intercept and inverse gamma prior for noise variance; coded on pymc backend. Parameters ---------- @@ -28,8 +27,10 @@ class BayesianLinearRegressor(BaseProbaRegressor): Mean of the normal prior for the slopes. slopes_sigma : float, optional (default=10) Standard deviation of the normal prior for the slopes. - noise_sigma : float, optional (default=10) - Standard deviation of the half-normal prior for the noise. + noise_alpha : float, optional (default=1) + Alpha parameter for the inverse gamma prior for the noise variance. + noise_beta : float, optional (default=1) + Beta parameter for the inverse gamma prior for the noise variance. chains : int, optional (default=2) Number of MCMC chains to run. draws : int, optional (default=2000) @@ -43,7 +44,7 @@ class BayesianLinearRegressor(BaseProbaRegressor): >>> X, y = load_diabetes(return_X_y=True, as_frame=True) # doctest: +SKIP >>> X_train, X_test, y_train, y_test = train_test_split(X, y) # doctest: +SKIP - >>> bayes_model= BayesianLinearRegressor() # doctest: +SKIP + >>> bayes_model = BayesianLinearRegressor() # doctest: +SKIP >>> bayes_model.fit(X_train, y_train) # doctest: +SKIP >>> y_test_pred_proba = bayes_model.predict_proba(X_test) # doctest: +SKIP >>> y_test_pred = bayes_model.predict(X_test) # doctest: +SKIP @@ -69,7 +70,8 @@ def __init__( intercept_sigma=10, slopes_mu=0, slopes_sigma=10, - noise_sigma=10, + noise_alpha=1, + noise_beta=1, chains=2, draws=2000, ): @@ -78,7 +80,8 @@ def __init__( self.intercept_mu = intercept_mu self.slopes_sigma = slopes_sigma self.slopes_mu = slopes_mu - self.noise_sigma = noise_sigma + self.noise_alpha = noise_alpha + self.noise_beta = noise_beta self.chains = chains self.draws = draws @@ -87,7 +90,8 @@ def __init__( # Assertions to check validity of input parameters assert self.intercept_sigma > 0, "intercept_sigma must be positive" assert self.slopes_sigma > 0, "slopes_sigma must be positive" - assert self.noise_sigma > 0, "noise_sigma must be positive" + assert self.noise_alpha > 0, "noise_alpha must be positive" + assert self.noise_beta > 0, "noise_beta must be positive" assert ( isinstance(self.chains, int) and self.chains > 0 ), "chains must be a positive integer" @@ -140,7 +144,8 @@ def _fit(self, X, y): shape=self._X.shape[1], dims=("pred_id"), ) - self.noise = pm.HalfNormal("noise", sigma=self.noise_sigma) + self.noise_var = pm.InverseGamma("noise_var", alpha=self.noise_alpha, beta=self.noise_beta) + self.noise = pm.Deterministic("noise", self.noise_var**0.5) # Expected value of outcome self.mu = pm.Deterministic( @@ -187,14 +192,16 @@ def get_prior(self, return_type="xarray"): elif return_type == "numpy": intercept = prior["intercept"].values.squeeze() slopes = prior["slopes"].values.squeeze() + noise_var = prior["noise_var"].values.squeeze() noise = prior["noise"].values.squeeze() - return {"intercept": intercept, "slopes": slopes, "noise": noise} + return {"intercept": intercept, "slopes": slopes, "noise_var": noise_var, "noise": noise} else: intercept = prior["intercept"].values.squeeze() slopes = prior["slopes"].values.squeeze() + noise_var = prior["noise_var"].values.squeeze() noise = prior["noise"].values.squeeze() return pd.DataFrame( - {"intercept": intercept, "slopes": slopes, "noise": noise} + {"intercept": intercept, "slopes": slopes, "noise_var": noise_var, "noise": noise} ) def get_prior_summary(self): @@ -209,7 +216,7 @@ def get_prior_summary(self): {"X": self._X}, coords={"obs_id": self._X.index, "pred_id": self._X.columns}, ) - return az.summary(self.trace.prior, var_names=["intercept", "slopes", "noise"]) + return az.summary(self.trace.prior, var_names=["intercept", "slopes", "noise_var", "noise"]) def plot_ppc(self, **kwargs): """Plot the prior predictive check.""" @@ -237,16 +244,18 @@ def get_posterior(self, return_type="xarray"): posterior["intercept"].stack({"sample": ("chain", "draw")}).values ) slopes = posterior["slopes"].stack({"sample": ("chain", "draw")}).values + noise_var = posterior["noise_var"].stack({"sample": ("chain", "draw")}).values noise = posterior["noise"].stack({"sample": ("chain", "draw")}).values - return {"intercept": intercept, "slopes": slopes, "noise": noise} + return {"intercept": intercept, "slopes": slopes, "noise_var": noise_var, "noise": noise} else: intercept = ( posterior["intercept"].stack({"sample": ("chain", "draw")}).values ) slopes = posterior["slopes"].stack({"sample": ("chain", "draw")}).values + noise_var = posterior["noise_var"].stack({"sample": ("chain", "draw")}).values noise = posterior["noise"].stack({"sample": ("chain", "draw")}).values return pd.DataFrame( - {"intercept": intercept, "slopes": slopes, "noise": noise} + {"intercept": intercept, "slopes": slopes, "noise_var": noise_var, "noise": noise} ) def get_posterior_summary(self): @@ -259,7 +268,7 @@ def get_posterior_summary(self): self._is_fitted ), "The model must be fitted before posterior summary can be returned." return az.summary( - self.trace.posterior, var_names=["intercept", "slopes", "noise"] + self.trace.posterior, var_names=["intercept", "slopes", "noise_var", "noise"] ) def _predict(self, X): From 6c42e5f415f2624aaa4317cba24ca18996959534 Mon Sep 17 00:00:00 2001 From: Meraldo Antonio Date: Thu, 27 Jun 2024 23:24:09 +0800 Subject: [PATCH 24/51] Formatting --- skpro/regression/bayesian.py | 52 ++++++++++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/skpro/regression/bayesian.py b/skpro/regression/bayesian.py index ce4c9edd..d74dc92b 100644 --- a/skpro/regression/bayesian.py +++ b/skpro/regression/bayesian.py @@ -6,7 +6,6 @@ """ # copyright: skpro developers - __author__ = ["meraldoantonio"] import pandas as pd @@ -15,7 +14,9 @@ class BayesianLinearRegressor(BaseProbaRegressor): - """Bayesian Linear Regression defined with normal priors for slopes and intercept and inverse gamma prior for noise variance; coded on pymc backend. + """Bayesian Linear Regression class. + Defined with normal priors for slopes and intercept and + inverse gamma prior for noise variance; coded on pymc backend. Parameters ---------- @@ -144,7 +145,9 @@ def _fit(self, X, y): shape=self._X.shape[1], dims=("pred_id"), ) - self.noise_var = pm.InverseGamma("noise_var", alpha=self.noise_alpha, beta=self.noise_beta) + self.noise_var = pm.InverseGamma( + "noise_var", alpha=self.noise_alpha, beta=self.noise_beta + ) self.noise = pm.Deterministic("noise", self.noise_var**0.5) # Expected value of outcome @@ -194,14 +197,24 @@ def get_prior(self, return_type="xarray"): slopes = prior["slopes"].values.squeeze() noise_var = prior["noise_var"].values.squeeze() noise = prior["noise"].values.squeeze() - return {"intercept": intercept, "slopes": slopes, "noise_var": noise_var, "noise": noise} + return { + "intercept": intercept, + "slopes": slopes, + "noise_var": noise_var, + "noise": noise, + } else: intercept = prior["intercept"].values.squeeze() slopes = prior["slopes"].values.squeeze() noise_var = prior["noise_var"].values.squeeze() noise = prior["noise"].values.squeeze() return pd.DataFrame( - {"intercept": intercept, "slopes": slopes, "noise_var": noise_var, "noise": noise} + { + "intercept": intercept, + "slopes": slopes, + "noise_var": noise_var, + "noise": noise, + } ) def get_prior_summary(self): @@ -216,7 +229,9 @@ def get_prior_summary(self): {"X": self._X}, coords={"obs_id": self._X.index, "pred_id": self._X.columns}, ) - return az.summary(self.trace.prior, var_names=["intercept", "slopes", "noise_var", "noise"]) + return az.summary( + self.trace.prior, var_names=["intercept", "slopes", "noise_var", "noise"] + ) def plot_ppc(self, **kwargs): """Plot the prior predictive check.""" @@ -244,18 +259,32 @@ def get_posterior(self, return_type="xarray"): posterior["intercept"].stack({"sample": ("chain", "draw")}).values ) slopes = posterior["slopes"].stack({"sample": ("chain", "draw")}).values - noise_var = posterior["noise_var"].stack({"sample": ("chain", "draw")}).values + noise_var = ( + posterior["noise_var"].stack({"sample": ("chain", "draw")}).values + ) noise = posterior["noise"].stack({"sample": ("chain", "draw")}).values - return {"intercept": intercept, "slopes": slopes, "noise_var": noise_var, "noise": noise} + return { + "intercept": intercept, + "slopes": slopes, + "noise_var": noise_var, + "noise": noise, + } else: intercept = ( posterior["intercept"].stack({"sample": ("chain", "draw")}).values ) slopes = posterior["slopes"].stack({"sample": ("chain", "draw")}).values - noise_var = posterior["noise_var"].stack({"sample": ("chain", "draw")}).values + noise_var = ( + posterior["noise_var"].stack({"sample": ("chain", "draw")}).values + ) noise = posterior["noise"].stack({"sample": ("chain", "draw")}).values return pd.DataFrame( - {"intercept": intercept, "slopes": slopes, "noise_var": noise_var, "noise": noise} + { + "intercept": intercept, + "slopes": slopes, + "noise_var": noise_var, + "noise": noise, + } ) def get_posterior_summary(self): @@ -268,7 +297,8 @@ def get_posterior_summary(self): self._is_fitted ), "The model must be fitted before posterior summary can be returned." return az.summary( - self.trace.posterior, var_names=["intercept", "slopes", "noise_var", "noise"] + self.trace.posterior, + var_names=["intercept", "slopes", "noise_var", "noise"], ) def _predict(self, X): From 058257cb9587e2da62c55bc345049cfccd7b4e45 Mon Sep 17 00:00:00 2001 From: Meraldo Antonio Date: Fri, 30 Aug 2024 01:40:08 +0800 Subject: [PATCH 25/51] Used pymc-marketing prior class, streamlined sampling --- skpro/regression/bayesian_prior_class.py | 583 +++++++++++++++++++++++ 1 file changed, 583 insertions(+) create mode 100644 skpro/regression/bayesian_prior_class.py diff --git a/skpro/regression/bayesian_prior_class.py b/skpro/regression/bayesian_prior_class.py new file mode 100644 index 00000000..cb6a4f2c --- /dev/null +++ b/skpro/regression/bayesian_prior_class.py @@ -0,0 +1,583 @@ +""" +Simple Bayesian Linear Regressor. + +Bayesian Linear Regression defined with user-specified priors or defaults for slopes, +intercept, and noise; implemented using the pymc backend. +""" + +# copyright: skpro developers +__author__ = ["meraldoantonio"] + +from skpro.regression.base import BaseProbaRegressor + + +class BayesianLinearRegressor(BaseProbaRegressor): + """ + Bayesian Linear Regression class. + + Defined with user-specified priors or defaults for slopes, intercept, + and noise; implemented using the pymc backend. + + Parameters + ---------- + prior_config : Dictionary, optional + Dictionary of priors + Class-default defined by default_prior_config method. + sampler_config : Dictionary, optional + Dictionary of parameters that initialise sampler configuration. + Class-default defined by default_sampler_config method. + + Example + ------- + >>> from skpro.regression.bayesian import BayesianLinearRegressor + >>> from sklearn.datasets import load_diabetes # doctest: +SKIP + >>> from sklearn.model_selection import train_test_split # doctest: +SKIP + >>> X, y = load_diabetes(return_X_y=True, as_frame=True) # doctest: +SKIP + >>> X_train, X_test, y_train, y_test = train_test_split(X, y) # doctest: +SKIP + + >>> bayes_model = BayesianLinearRegressor() # doctest: +SKIP + >>> bayes_model.fit(X_train, y_train) # doctest: +SKIP + >>> y_test_pred_proba = bayes_model.predict_proba(X_test) # doctest: +SKIP + >>> y_test_pred = bayes_model.predict(X_test) # doctest: +SKIP + """ + + _tags = { + # packaging info + # -------------- + "authors": ["meraldoantonio"], # authors, GitHub handles + "python_version": None, + "python_dependencies": ["pymc", "pymc_marketing", "arviz", "graphviz"], + # estimator tags + # -------------- + "capability:multioutput": False, # can the estimator handle multi-output data? + "capability:missing": True, # can the estimator handle missing data? + "X_inner_mtype": "pd_DataFrame_Table", # type seen in internal _fit, _predict + "y_inner_mtype": "pd_DataFrame_Table", # type seen in internal _fit + } + + def __init__( + self, + prior_config: dict | None = None, + sampler_config: dict | None = None, + ): + if sampler_config is None: + sampler_config = {} + if prior_config is None: + prior_config = {} + self.sampler_config = ( + self.default_sampler_config | sampler_config + ) # parameters for posterior sampling + self.prior_config = self.default_prior_config | prior_config # list of priors + self.model = None + self.idata = None # idata and model are generated during fitting + self._predict_done = False # a flag indicating if a prediction has been done + + super().__init__() + + @property + def default_prior_config(self): + """Return a dictionary of prior defaults.""" + from pymc_marketing.prior import Prior + + default_prior_config = { + "intercept": Prior("Normal", mu=0, sigma=10), + "slopes": Prior("Normal", mu=0, sigma=10, dims=("pred_id",)), + "noise_var": Prior("InverseGamma", alpha=1, beta=1), + } + return default_prior_config + + @property + def default_sampler_config(self): + """Return a class default sampler configuration dictionary.""" + default_sampler_config = { + "draws": 1000, + "tune": 1000, + "chains": 1, + "target_accept": 0.95, + "random_seed": 123, + "progressbar": True, + } + return default_sampler_config + + def _fit(self, X, y): + """Fit regressor to training data. + + Writes to self: + Sets fitted model attributes ending in "_". + + Parameters + ---------- + X : pandas DataFrame + feature instances to fit regressor to + y : pandas DataFrame, must be same length as X + labels to fit regressor to + + Returns + ------- + self : reference to self + """ + import warnings + + import pandas as pd + import pymc as pm + + assert len(y.columns) == 1, "y must have only one column!" + self._X = X + self._y = y + self._y_vals = y.values[ + :, 0 + ] # we need a 1-dimensional array for compatibility with pymc + + # Model construction and posterior sampling + with pm.Model(coords={"obs_id": X.index, "pred_id": X.columns}) as self.model: + # Mutable data containers + X_data = pm.Data("X", X, dims=("obs_id", "pred_id")) + y_data = pm.Data("y", self._y_vals, dims=("obs_id")) + + # Priors for unknown model parameters + self.intercept = self.prior_config["intercept"].create_variable("intercept") + self.slopes = self.prior_config["slopes"].create_variable("slopes") + self.noise_var = self.prior_config["noise_var"].create_variable("noise_var") + self.noise = pm.Deterministic("noise", self.noise_var**0.5) + + # Expected value of outcome + self.mu = pm.Deterministic( + "mu", self.intercept + pm.math.dot(X_data, self.slopes) + ) + + # Likelihood (sampling distribution) of observations + y_obs = pm.Normal( # noqa: F841 + "y_obs", mu=self.mu, sigma=self.noise, observed=y_data, dims=("obs_id") + ) + + # Constructing the posterior + self.idata = pm.sample(**self.sampler_config) + + # Insertion of training data into self.idata for ease of future reference + training_data = pd.concat([X, y], axis=1) + with warnings.catch_warnings(): + warnings.filterwarnings( + "ignore", + category=UserWarning, + message="The group training_data is \ + not defined in the InferenceData scheme", + ) + self.idata.add_groups(training_data=training_data.to_xarray()) + return self + + def visualize_model(self, **kwargs): + """Use graphviz to visualize the model.""" + import pymc as pm + + assert ( + self._is_fitted + ), "The model must be fitted before visualization can be done." + + return pm.model_to_graphviz(self.model, **kwargs) + + def _sample_dataset(self, group_name, variables=None, return_type="xarray"): + """ + General method to sample from a specified group in the idata object. + + Extracts samples from a specified group (e.g., 'prior') in the idata object and + returns them in the required format + + Parameters + ---------- + group_name : str + The name of the group in the idata object to sample from (e.g., 'prior'). + + variables : list + A list of variable names to extract from the specified group. + + return_type : str or None, optional (default="xarray") + The format in which to return the sampled distributions. + Accepted values are: + - "xarray": Returns an xarray.Dataset + - "numpy": Returns a dictionary of NumPy arrays + - "dataframe": Returns a pandas DataFrame + - "skpro": Returns an `Empirical` distribution from the skpro library. + - None: Does not return any sampled data but performs the sampling + and updates the 'idata' attribute. + + Returns + ------- + xarray.Dataset or dict or pd.DataFrame or skpro.distributions.Empirical or None + + The sampled distributions in the specified format, + or None if return_type is None. + """ + import pandas as pd + + # Validate the return_type + assert return_type in [ + "xarray", + "numpy", + "dataframe", + "skpro", + None, + ], "return_type must be one of 'xarray', 'numpy', 'dataframe', 'skpro', or None" + + # Validate that the group_name exists in idata + assert hasattr( + self.idata, group_name + ), f"{group_name} group does not exist in the idata object." + + # Get the specified group from idata + group = getattr(self.idata, group_name) + + is_predictive = group_name in ["predictions", "posterior_predictive"] + + if variables is None: + if is_predictive: + variables = ["y_obs"] + else: + variables = list(self.default_prior_config.keys()) + + if return_type is None: + return None + elif return_type == "xarray": + return group + else: + # a dictionary of NumPy arrays of samples + data_dict = { + var: group[var].stack({"sample": ("chain", "draw")}).values.squeeze() + for var in variables + } + + if return_type == "numpy": + return data_dict + + elif return_type == "dataframe": + if is_predictive: + return pd.DataFrame(data_dict["y_obs"]).T + else: + return pd.DataFrame(data_dict) + + elif return_type == "skpro": + from skpro.distributions import Empirical + + if not is_predictive: + df = pd.DataFrame(data_dict) + reshaped_df = df.stack() + reshaped_df = reshaped_df.reset_index(name="value") + reshaped_df.set_index(["level_0", "level_1"], inplace=True) + reshaped_df.index.names = ["obs_id", "variable"] + return Empirical(spl=reshaped_df) + else: + # Extract posterior predictive distributions as an xarray DataArray + pred_proba_xarray = group["y_obs"] + + # Convert data to pd.DataFrame and format it appropriately for + # subsequent conversion into a skpro Empirical distribution + pred_proba_df = pred_proba_xarray.to_dataframe() + pred_proba_df = pred_proba_df.reset_index() + + # Create a new 'sample_id' column by + # combining the 'chain' and 'draw' columns + pred_proba_df["sample_id"] = ( + pred_proba_df["chain"] * self.sampler_config["draws"] + + pred_proba_df["draw"] + ) + pred_proba_df = pred_proba_df[["obs_id", "sample_id", "y_obs"]] + pred_proba_df = pred_proba_df.rename( + columns={"y_obs": self._y.columns[0]} + ) + pred_proba_df = pred_proba_df.set_index(["sample_id", "obs_id"]) + + # Convert data to skpro Empirical distribution + pred_proba_dist = Empirical( + spl=pred_proba_df, columns=self._y.columns + ) + return pred_proba_dist + + def _get_dataset_summary(self, group_name, var_names=None, **kwargs): + """ + Get the summary statistics of a specified group in the idata object. + + Parameters + ---------- + group_name : str + The name of the group in the idata object to summarize (e.g., 'prior'). + + var_names : list, optional (default=None) + A list of variable names to include in the summary. + If None, all variables in the group are included. + + **kwargs : + Additional keyword arguments to pass to `arviz.summary`. + + Returns + ------- + az.data.inference_data.Summary + The summary statistics for the specified group and variables. + """ + import arviz as az + + # Check if the specified group exists in the idata object + if group_name not in self.idata.groups(): + if group_name == "prior": + self.sample_prior() + elif group_name == "posterior": + self.sample_posterior() + else: + raise ValueError( + f"Group '{group_name}' does not exist in the idata object." + ) + + # Get the summary statistics with optional kwargs + return az.summary( + getattr(self.idata, group_name), var_names=var_names, **kwargs + ) + + def sample_prior(self, return_type=None): + """ + Sample from the prior distributions. + + Samples from the prior distributions and returns + them in the required format + + If return_type is None, the method updates the 'idata' attribute + by adding the 'prior' group but does not return any samples. + + return_type : str or None, optional (default="xarray") + The format in which to return the sampled distributions. + Accepted values are: + - "xarray": Returns an xarray.Dataset + - "numpy": Returns a dictionary of NumPy arrays + - "dataframe": Returns a pandas DataFrame + - "skpro": Returns an `Empirical` distribution from the skpro library. + - None: Does not return any sampled data but performs the sampling + and updates the 'idata' attribute. + + Returns + ------- + xarray.Dataset or dict or pd.DataFrame or skpro.distributions.Empirical or None + The sampled distributions in the specified format, + or None if return_type is None. + """ + import pymc as pm + + assert ( + self.is_fitted + ), "Model needs to be fitted before you can sample from prior" + + with self.model: + # if we've previously used the model for prediction, + # we need to reset the reference of 'X' to X used for training + if self._predict_done: + pm.set_data( + {"X": self._X}, + coords={"obs_id": self._X.index, "pred_id": self._X.columns}, + ) + self.idata.extend( + pm.sample_prior_predictive(samples=self.sampler_config["draws"]) + ) # hacky, due to inconsistency in pymc 5.15.1, to be resolved in pymc 5.16 + + return self._sample_dataset( + group_name="prior", + variables=["intercept", "slopes", "noise_var", "noise"], + return_type=return_type, + ) + + def get_prior_summary(self, **kwargs): + """ + Get the summary statistics of prior distributions. + + Parameters + ---------- + **kwargs : + Additional keyword arguments to pass to `arviz.summary`. + + Returns + ------- + az.data.inference_data.Summary + The summary statistics for the prior distributions. + """ + return self._get_dataset_summary( + group_name="prior", + var_names=["intercept", "slopes", "noise_var", "noise"], + **kwargs, + ) + + def sample_posterior(self, return_type="xarray"): + """ + Sample from the posterior distributions. + + Samples from the posterior distributions and returns + them in the required format + + If return_type is None, the method updates the 'idata' attribute + by adding the 'posterior' group but does not return any samples. + + return_type : str or None, optional (default="xarray") + The format in which to return the sampled distributions. + Accepted values are: + - "xarray": Returns an xarray.Dataset + - "numpy": Returns a dictionary of NumPy arrays + - "dataframe": Returns a pandas DataFrame + - "skpro": Returns an `Empirical` distribution from the skpro library. + - None: Does not return any sampled data but performs the sampling + and updates the 'idata' attribute. + + Returns + ------- + xarray.Dataset or dict or pd.DataFrame or skpro.distributions.Empirical or None + The sampled distributions in the specified format, + or None if return_type is None. + """ + assert ( + self.is_fitted + ), "The model must be fitted before posterior can be returned." + return self._sample_dataset( + group_name="posterior", + variables=["intercept", "slopes", "noise_var", "noise"], + return_type=return_type, + ) + + def get_posterior_summary(self, **kwargs): + """ + Get the summary statistics of the posterior distributions. + + Parameters + ---------- + **kwargs : + Additional keyword arguments to pass to `arviz.summary`. + + Returns + ------- + az.data.inference_data.Summary + The summary statistics for the posterior distributions. + """ + return self._get_dataset_summary( + group_name="posterior", + var_names=["intercept", "slopes", "noise_var", "noise"], + **kwargs, + ) + + def sample_in_sample_posterior_predictive(self, return_type=None): + """Perform in-sample predictions and sample from it.""" + import pymc as pm + + with self.model: + # if we've previously used the model for prediction, + # we need to reset the reference of 'X' to X_train (i.e. self._X) + if self._predict_done: + pm.set_data( + {"X": self._X}, + coords={"obs_id": self._X.index, "pred_id": self._X.columns}, + ) + self.idata.extend( + pm.sample_posterior_predictive(self.idata, predictions=False) + ) + + return self._sample_dataset( + group_name="posterior_predictive", return_type=return_type + ) + + def plot_ppc(self, **kwargs): + """Plot the posterior predictive check.""" + import arviz as az + + if "posterior_predictive" not in self.idata: + self.sample_in_sample_posterior_predictive() + + return az.plot_ppc(self.idata, **kwargs) + + def _predict_proba(self, X): + """ + Predict distribution over labels for data from features. + + State required: + Requires state to be "fitted". + + Accesses in self: + Fitted model attributes ending in "_" + + Parameters + ---------- + X : pandas DataFrame, must have same columns as X in `fit` + data to predict labels for + + Returns + ------- + pred_proba_dist : skpro BaseDistribution, same length as `X` + labels predicted for `X` + """ + import pymc as pm + + with self.model: + # Set the X to be the new 'X' variable and then sample posterior predictive + pm.set_data({"X": X}, coords={"obs_id": X.index, "pred_id": X.columns}) + self.idata.extend( + pm.sample_posterior_predictive( + self.idata, + predictions=True, + ) + ) + self._predict_done = True # a flag indicating prediction has been done + + return self._sample_dataset(group_name="predictions", return_type="skpro") + + # todo: return default parameters, so that a test instance can be created + # required for automated unit and integration testing of estimator + @classmethod + def get_test_params(cls, parameter_set="default"): + """Return testing parameter settings for the estimator. + + Parameters + ---------- + parameter_set : str, default="default" + Name of the set of test parameters to return, for use in tests. If no + special parameters are defined for a value, will return `"default"` set. + + Returns + ------- + params : dict or list of dict, default = {} + Parameters to create testing instances of the class + Each dict are parameters to construct an "interesting" test instance, i.e., + `MyClass(**params)` or `MyClass(**params[i])` creates a valid test instance. + `create_test_instance` uses the first (or only) dictionary in `params` + """ + + # todo: set the testing parameters for the estimators + # Testing parameters can be dictionary or list of dictionaries + # + # this can, if required, use: + # class properties (e.g., inherited); parent class test case + # imported objects such as estimators from skpro or sklearn + # important: all such imports should be *inside get_test_params*, not at the top + # since imports are used only at testing time + # + # The parameter_set argument is not used for most automated, module level tests. + # It can be used in custom, estimator specific tests, for "special" settings. + # A parameter dictionary must be returned *for all values* of parameter_set, + # i.e., "parameter_set not available" errors should never be raised. + # + # A good parameter set should primarily satisfy two criteria, + # 1. Chosen set of parameters should have a low testing time, + # ideally in the magnitude of few seconds for the entire test suite. + # This is vital for the cases where default values result in + # "big" models which not only increases test time but also + # run into the risk of test workers crashing. + # 2. There should be a minimum two such parameter sets with different + # sets of values to ensure a wide range of code coverage is provided. + # + # example 1: specify params as dictionary + # any number of params can be specified + # params = {"est": value0, "parama": value1, "paramb": value2} + # + # example 2: specify params as list of dictionary + # note: Only first dictionary will be used by create_test_instance + # params = [{"est": value1, "parama": value2}, + # {"est": value3, "parama": value4}] + # + # example 3: parameter set depending on param_set value + # note: only needed if a separate parameter set is needed in tests + # if parameter_set == "special_param_set": + # params = {"est": value1, "parama": value2} + # return params + # + # # "default" params + # params = {"est": value3, "parama": value4} + # return params From ab3bb70b0aa1bc713a6268318e498e3843cd6753 Mon Sep 17 00:00:00 2001 From: Meraldo Antonio Date: Fri, 30 Aug 2024 01:43:46 +0800 Subject: [PATCH 26/51] Modified the notebook to fit with the reworked class --- examples/04_BayesianLinearRegressor.ipynb | 5812 ++++++--------------- 1 file changed, 1514 insertions(+), 4298 deletions(-) diff --git a/examples/04_BayesianLinearRegressor.ipynb b/examples/04_BayesianLinearRegressor.ipynb index bf14206b..991bf942 100644 --- a/examples/04_BayesianLinearRegressor.ipynb +++ b/examples/04_BayesianLinearRegressor.ipynb @@ -20,24 +20,6 @@ "It also \"corrects\" the version of `pymc` that comes pre-installed on Google Colab." ] }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "swdmYItOAvjp", - "outputId": "c524cb8b-1ada-42b3-9b16-88aec0fdc8c3" - }, - "outputs": [], - "source": [ - "# !git clone -b pymc_dev --single-branch https://github.com/meraldoantonio/skpro.git\n", - "# !pip install --editable skpro[dev,test]\n", - "# !pip uninstall pymc -y\n", - "# !pip install pymc==5.15.0" - ] - }, { "cell_type": "markdown", "metadata": { @@ -58,18 +40,37 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 273, "metadata": { "id": "RQirXZwKipys" }, "outputs": [], "source": [ + "import arviz as az\n", + "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", - "import pymc as pm\n", - "import matplotlib.pyplot as plt\n", - "import arviz as az\n", - "from skpro.regression.bayesian import BayesianLinearRegressor" + "\n", + "from skpro.regression.bayesian_prior_class import BayesianLinearRegressor" + ] + }, + { + "cell_type": "code", + "execution_count": 274, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n" + ] + } + ], + "source": [ + "%load_ext autoreload\n", + "%autoreload 2" ] }, { @@ -121,7 +122,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 275, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -201,7 +202,7 @@ "4 0.065052 1.130103 1.112190" ] }, - "execution_count": 3, + "execution_count": 275, "metadata": {}, "output_type": "execute_result" } @@ -211,7 +212,7 @@ "np.random.seed(42)\n", "# Creating 50 random data points containing 1 feature\n", "feature1 = np.random.uniform(0, 1, N)\n", - "X_train = pd.DataFrame({'feature1': feature1})\n", + "X_train = pd.DataFrame({\"feature1\": feature1})\n", "\n", "# Set the relationship between the feature and the target variable\n", "TRUE_INTERCEPT = 1\n", @@ -223,7 +224,10 @@ "y_train = y_true + np.random.normal(0, TRUE_SIGMA, size=len(X_train))\n", "\n", "# Combine the features and targets into a single DataFrame\n", - "train_data = pd.concat([X_train, pd.Series(y_true, name='y_true'), pd.Series(y_train, name='y_train')], axis=1)\n", + "train_data = pd.concat(\n", + " [X_train, pd.Series(y_true, name=\"y_true\"), pd.Series(y_train, name=\"y_train\")],\n", + " axis=1,\n", + ")\n", "train_data = train_data.sort_values(by=\"feature1\")\n", "train_data = train_data.reset_index(drop=True)\n", "\n", @@ -242,7 +246,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 276, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -266,11 +270,22 @@ "source": [ "# Plot feature1 vs true_target\n", "plt.figure(figsize=(10, 6))\n", - "plt.scatter(train_data['feature1'], train_data['y_train'], label='Observed `y-train` (containing noise)', alpha=0.6)\n", - "plt.plot(train_data['feature1'], train_data['y_true'], color='red', label='Theoretical `y_true`', linewidth=2)\n", - "plt.xlabel('feature1')\n", - "plt.ylabel('y_true & y_train')\n", - "plt.title('feature1 vs y_true & y_train')\n", + "plt.scatter(\n", + " train_data[\"feature1\"],\n", + " train_data[\"y_train\"],\n", + " label=\"Observed `y-train` (containing noise)\",\n", + " alpha=0.6,\n", + ")\n", + "plt.plot(\n", + " train_data[\"feature1\"],\n", + " train_data[\"y_true\"],\n", + " color=\"red\",\n", + " label=\"Theoretical `y_true`\",\n", + " linewidth=2,\n", + ")\n", + "plt.xlabel(\"feature1\")\n", + "plt.ylabel(\"y_true & y_train\")\n", + "plt.title(\"feature1 vs y_true & y_train\")\n", "plt.legend()\n", "plt.show()" ] @@ -286,7 +301,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 277, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -354,7 +369,7 @@ "4 0.137931" ] }, - "execution_count": 5, + "execution_count": 277, "metadata": {}, "output_type": "execute_result" } @@ -362,7 +377,7 @@ "source": [ "# Generate new data points for prediction\n", "N_test = 30\n", - "X_test = pd.DataFrame({'feature1': np.linspace(0, 1, N_test)})\n", + "X_test = pd.DataFrame({\"feature1\": np.linspace(0, 1, N_test)})\n", "X_test.head()" ] }, @@ -388,7 +403,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 278, "metadata": { "id": "P7Af9sHKKdx8" }, @@ -415,7 +430,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 279, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -436,14 +451,6 @@ "y_hat = 1.89x + 1.05\n", "Standard deviation of residuals: 0.46\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/53/dw8kq00n61732rfy3lh4k2600000gn/T/ipykernel_8652/573544366.py:10: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n", - " print(f'y_hat = {ols_model.params[1]:.2f}x + {ols_model.params[0]:.2f}')\n" - ] } ], "source": [ @@ -451,13 +458,13 @@ "residuals = y_train_pred - y_train\n", "\n", "# Print the true model and estimated model\n", - "print('True data generating model:')\n", - "print(f'y_true = {TRUE_SLOPES[0]:.2f}x + {TRUE_INTERCEPT:.2f}')\n", - "print(f'True standard deviation: {TRUE_SIGMA}\\n')\n", + "print(\"True data generating model:\")\n", + "print(f\"y_true = {TRUE_SLOPES[0]:.2f}x + {TRUE_INTERCEPT:.2f}\")\n", + "print(f\"True standard deviation: {TRUE_SIGMA}\\n\")\n", "\n", - "print('Estimated MLE model:')\n", - "print(f'y_hat = {ols_model.params[1]:.2f}x + {ols_model.params[0]:.2f}')\n", - "print(f'Standard deviation of residuals: {residuals.std():.2f}')" + "print(\"Estimated MLE model:\")\n", + "print(f\"y_hat = {ols_model.params.iloc[1]:.2f}x + {ols_model.params.iloc[0]:.2f}\")\n", + "print(f\"Standard deviation of residuals: {residuals.std():.2f}\")" ] }, { @@ -472,7 +479,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 280, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -500,17 +507,24 @@ "pred_summary = predictions.summary_frame(alpha=0.05)\n", "\n", "# Extract predicted values and confidence intervals\n", - "y_test_pred = pred_summary['mean']\n", - "conf_int_lower = pred_summary['obs_ci_lower']\n", - "conf_int_upper = pred_summary['obs_ci_upper']\n", + "y_test_pred = pred_summary[\"mean\"]\n", + "conf_int_lower = pred_summary[\"obs_ci_lower\"]\n", + "conf_int_upper = pred_summary[\"obs_ci_upper\"]\n", "\n", "# Plot the predictions with the confidence intervals\n", "plt.figure(figsize=(10, 6))\n", - "plt.scatter(X_test['feature1'], y_test_pred, color='blue', label='Predicted values')\n", - "plt.fill_between(X_test['feature1'], conf_int_lower, conf_int_upper, color='lightblue', alpha=0.4, label='95% Confidence Interval')\n", - "plt.xlabel('Feature 1')\n", - "plt.ylabel('Predicted Target')\n", - "plt.title('Predictions with 95% Confidence Interval')\n", + "plt.scatter(X_test[\"feature1\"], y_test_pred, color=\"blue\", label=\"Predicted values\")\n", + "plt.fill_between(\n", + " X_test[\"feature1\"],\n", + " conf_int_lower,\n", + " conf_int_upper,\n", + " color=\"lightblue\",\n", + " alpha=0.4,\n", + " label=\"95% Confidence Interval\",\n", + ")\n", + "plt.xlabel(\"Feature 1\")\n", + "plt.ylabel(\"Predicted Target\")\n", + "plt.title(\"Predictions with 95% Confidence Interval\")\n", "plt.legend()\n", "plt.show()" ] @@ -537,7 +551,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 281, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -554,6 +568,39 @@ "id": "yvgLcSFQiwpV", "outputId": "2a2166e3-45ef-4eda-974b-61f5a09ca74a" }, + "outputs": [], + "source": [ + "y_train = pd.DataFrame(y_train)\n", + "y_train.columns = [\"target\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 282, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'intercept': Prior(\"Normal\", mu=0, sigma=10),\n", + " 'slopes': Prior(\"Normal\", mu=0, sigma=10, dims=\"pred_id\"),\n", + " 'noise_var': Prior(\"InverseGamma\", alpha=1, beta=1)}" + ] + }, + "execution_count": 282, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bayes_model = BayesianLinearRegressor()\n", + "bayes_model.default_prior_config" + ] + }, + { + "cell_type": "code", + "execution_count": 283, + "metadata": {}, "outputs": [ { "name": "stderr", @@ -561,14 +608,14 @@ "text": [ "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", - "Multiprocess sampling (2 chains in 2 jobs)\n", - "NUTS: [intercept, slopes, noise]\n" + "Sequential sampling (1 chains in 1 job)\n", + "NUTS: [intercept, slopes, noise_var]\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cb6ae95d7cb64a73a3b105c92db0e0be", + "model_id": "46a052957dc747d2989b7afd4530ac54", "version_major": 2, "version_minor": 0 }, @@ -606,69 +653,41 @@ "name": "stderr", "output_type": "stream", "text": [ - "Sampling 2 chains for 1_000 tune and 2_000 draw iterations (2_000 + 4_000 draws total) took 1 seconds.\n", - "We recommend running at least 4 chains for robust computation of convergence diagnostics\n", - "Sampling: [y_obs]\n" + "Sampling 1 chain for 1_000 tune and 1_000 draw iterations (1_000 + 1_000 draws total) took 1 seconds.\n", + "Only one chain was sampled, this makes it impossible to run some convergence checks\n" ] }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bfa5c66355344989875bbfe227b0b397", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n"
-      ],
-      "text/plain": []
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "data": {
-      "text/html": [
-       "
\n",
-       "
\n" - ], - "text/plain": [ - "\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, { "data": { "text/html": [ - "
BayesianLinearRegressor()
Please rerun this cell to show the HTML repr or trust the notebook.
" + "
BayesianLinearRegressor(prior_config={'intercept': Prior("Normal", mu=0, sigma=10),\n",
+       "                                      'noise_var': Prior("InverseGamma", alpha=1, beta=1),\n",
+       "                                      'slopes': Prior("Normal", mu=0, sigma=10, dims="pred_id")},\n",
+       "                        sampler_config={'chains': 1, 'draws': 1000,\n",
+       "                                        'progressbar': True, 'random_seed': 123,\n",
+       "                                        'target_accept': 0.95, 'tune': 1000})
Please rerun this cell to show the HTML repr or trust the notebook.
" ], "text/plain": [ - "BayesianLinearRegressor()" + "BayesianLinearRegressor(prior_config={'intercept': Prior(\"Normal\", mu=0, sigma=10),\n", + " 'noise_var': Prior(\"InverseGamma\", alpha=1, beta=1),\n", + " 'slopes': Prior(\"Normal\", mu=0, sigma=10, dims=\"pred_id\")},\n", + " sampler_config={'chains': 1, 'draws': 1000,\n", + " 'progressbar': True, 'random_seed': 123,\n", + " 'target_accept': 0.95, 'tune': 1000})" ] }, - "execution_count": 9, + "execution_count": 283, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%timeit\n", - "y_train = pd.DataFrame(y_train)\n", - "y_train.columns = [\"target\"]\n", - "bayes_model = BayesianLinearRegressor(intercept_mu=0, intercept_sigma=10,\n", - " slopes_mu=0, slopes_sigma=10,\n", - " noise_sigma=10)\n", "bayes_model.fit(X_train, y_train)" ] }, @@ -756,31 +775,12 @@ "id": "zQkLzcuUAXxj" }, "source": [ - "We can extract the prior through the `get_prior` method of the `bayes_model`. We see that these prior distributions match the distributions we set during model instantiation." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "id": "tMJemx6wrDyw" - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Sampling: [intercept, noise, slopes, y_obs]\n" - ] - } - ], - "source": [ - "prior = bayes_model.get_prior(\"numpy\")" + "We can extract the prior through the `sample_prior` method of the `bayes_model`. We see that these prior distributions match the distributions we set during model instantiation." ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 284, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -790,9 +790,16 @@ "outputId": "61572779-c2b6-4c21-c2c6-a123d5854973" }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [intercept, noise_var, slopes, y_obs]\n" + ] + }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHqCAYAAADrpwd3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAByKElEQVR4nO3de1yUZf7/8ffIaTyfUA4KCrolRaYLHbBYNQvSMjNrtS21Eoul1pTcErVMzSgzY02RNJTcWnU3q62NVllTs6TyAOUa626lYgZL0Camxcn794c/5+s4M4I4MAdez8djHo/muq/75vowNB/nM9d9XSbDMAwBAAAAAAAAAAAbrVw9AAAAAAAAAAAA3BVFdAAAAAAAAAAAHKCIDgAAAAAAAACAAxTRAQAAAAAAAABwgCI6AAAAAAAAAAAOUEQHAAAAAAAAAMABiugAAAAAAAAAADhAER0AAAAAAAAAAAcoogMAAAAAAAAA4ABFdMAJcnJyZDKZLA9fX1/17NlT9957r44cOdKga9xzzz3q3bt30w60EV588UX17dtX/v7+MplM+uGHH+z2O/072LVr13n/jBMnTujJJ5/U1q1bL2ywbuZPf/qTMjIyXD0MAIATkOtP+eSTTzR69GiFh4crICBAQUFBiouL0yOPPGLVb8iQIRoyZEjTDhwAgP+PPH0KeRpoOhTRASdavXq18vPzlZeXp8mTJ2vt2rWKj4/X8ePH6z338ccf15tvvtkMo2y4wsJCTZkyRUOHDtX777+v/Px8tW/f3uk/58SJE5o7dy5FdACA22vJuf7dd9/VoEGDVFlZqYULF2rTpk36wx/+oGuuuUbr169v5pEDAGCLPN2wPJ2ZmanMzMzmCAHwGr6uHgDgTaKjoxUbGytJGjp0qOrq6jR//ny99dZbuuuuu+yec+LECbVp00Z9+vRx6lh++ukntW7d+oKusW/fPknS5MmTdeWVVzpjWM2qpqbGMgsBAABnaMm5fuHChYqIiNDGjRutcuu4ceO0cOHCCxoHAADOQJ5uWJ6+5JJLLmhcQEvETHSgCV199dWSpEOHDkk6dXtYu3bttHfvXiUkJKh9+/YaNmyY5djZt479/PPPSktLU0REhPz9/dWjRw89+OCDNrdv9e7dWzfffLPeeOMNDRw4UGazWXPnzj3n2FatWqXLL79cZrNZXbp00ejRo1VUVGQ5PmTIEN19992SpKuuukomk0n33HPPecV/Ot4vv/xSI0aMULt27RQWFqZHHnlEVVVVkqSDBw+qW7dukqS5c+dabr8782f95z//0W9+8xt1795dAQEBioqK0rJly6x+1tatW2UymfTHP/5RjzzyiHr06KGAgAB9+eWXkqS///3vGjZsmDp27Kg2bdooKipK6enpVtfYtWuXbrnlFnXp0kVms1kDBw7Un//8Z6s+p28TzMvL07333qsuXbqobdu2GjlypL7++mur39+7776rQ4cOWd1WCADwLi0p11dUVCgwMNDul9OtWtX/seL7779XSkqKevToIX9/f0VGRmrWrFmWfxOcZjKZ9NBDD+mll17SRRddpICAAF1yySVat26dzTVLS0v1wAMPqGfPnvL391dERITmzp2r2traescDAPB+5OlTzs7T9pZz+eabb3T77berffv26tSpk+666y7t3LlTJpNJOTk5ln6nf4f/+te/lJiYqLZt2yokJETPPPOMJOnjjz/Wtddeq7Zt2+qiiy7SK6+8YvVzvvvuO6WkpOiSSy5Ru3bt1L17d1133XXavn37OX9fgKsxPRNoQqcLuKeLxJJUXV2tW265RQ888IBmzJjh8EOeYRi69dZbtXnzZqWlpSk+Pl6ff/655syZo/z8fOXn5ysgIMDSf8+ePSoqKtLs2bMVERGhtm3bOhxXenq6Zs6cqTvvvFPp6emqqKjQk08+qbi4OO3cuVO/+MUvlJmZqbVr1+qpp57S6tWr1a9fP6s4Gqqmpka33HKLJk2apEceeUQffPCB5s+fr44dO+qJJ55QSEiI/v73v+vGG2/UpEmTlJSUZPU7++KLLzRo0CCFh4fr+eefV3BwsDZu3KgpU6aovLxcc+bMsfp5aWlpiouLU1ZWllq1aqXu3bsrOztbkydP1uDBg5WVlaXu3bvr3//+t/75z39aztuyZYtuvPFGXXXVVcrKylLHjh21bt06jR07VidOnLD5x8qkSZN0ww036E9/+pMOHz6s2bNna8iQIfr888/VqVMnZWZm6v7779dXX33ldrcEAgCcpyXl+ri4OL388suaMmWK7rrrLv3yl7+Un59fg35PP//8s4YOHaqvvvpKc+fOVf/+/bV9+3alp6ersLBQ7777rlX/t99+W1u2bNG8efPUtm1bZWZm6s4775Svr69uv/12SacK6FdeeaVatWqlJ554Qn369FF+fr6eeuopHTx4UKtXr27Q2AAA3os83bA8ffz4cQ0dOlTff/+9nn32WfXt21d///vfNXbsWLv9a2pqdNtttyk5OVm///3v9ac//UlpaWmqrKzUhg0b9Nhjj6lnz5568cUXdc899yg6OloxMTGSTn2pLklz5sxRcHCwfvzxR7355psaMmSINm/ezFrtcF8GgAu2evVqQ5Lx8ccfGzU1NcaxY8eMv/3tb0a3bt2M9u3bG6WlpYZhGMbEiRMNScaqVatsrjFx4kSjV69elud///vfDUnGwoULrfqtX7/ekGSsWLHC0tarVy/Dx8fH2L9/f71j/d///me0bt3aGDFihFV7cXGxERAQYPzmN7+xiWvnzp0N/h2c2fd0vH/+85+t+o4YMcK4+OKLLc+/++47Q5IxZ84cm+smJiYaPXv2NI4ePWrV/tBDDxlms9n4/vvvDcMwjC1bthiSjF/96ldW/Y4dO2Z06NDBuPbaa42TJ086HH+/fv2MgQMHGjU1NVbtN998sxESEmLU1dVZxTl69Girfh999JEhyXjqqacsbTfddJPVawoA8FzkesMoLy83rr32WkOSIcnw8/MzBg0aZKSnpxvHjh2z6jt48GBj8ODBludZWVl2/03w7LPPGpKMTZs2WdokGa1bt7b8Tg3DMGpra41+/foZffv2tbQ98MADRrt27YxDhw5ZXXPRokWGJGPfvn31xgQA8A7k6QvL08uWLTMkGe+9955VvwceeMCQZKxevdrSdvp3uGHDBktbTU2N0a1bN0OSsWfPHkt7RUWF4ePjY6Smpjocd21trVFTU2MMGzbM5nM24E5YzgVwoquvvlp+fn5q3769br75ZgUHB+u9995TUFCQVb8xY8bUe633339fkmxmQN9xxx1q27atNm/ebNXev39/XXTRRfVeNz8/Xz/99JPNdcPCwnTdddfZXPdCmUwmjRw50qqtf//+ltvpzuXnn3/W5s2bNXr0aLVp00a1tbWWx4gRI/Tzzz/r448/tjrn7N/tjh07VFlZqZSUFIfLqXz55Zf617/+ZVkj7+yfU1JSov3791udc/Z6eoMGDVKvXr20ZcuWeuMCAHiulpzru3btqu3bt2vnzp165plnNGrUKP373/9WWlqaLrvsMpWXlzs89/3331fbtm0ts8hPOz3Gs8c0bNgwq9+pj4+Pxo4dqy+//FLffPONJOlvf/ubhg4dqtDQUKvcPXz4cEnStm3bGhUnAMBzkacbl6e3bdum9u3b68Ybb7Rqv/POO+32N5lMGjFihOW5r6+v+vbtq5CQEA0cONDS3qVLF3Xv3t3m839WVpZ++ctfymw2y9fXV35+ftq8ebPVcjaAu2E5F8CJ1qxZo6ioKPn6+iooKEghISE2fdq0aaMOHTrUe62Kigr5+vra3K5lMpkUHBysiooKq3Z7P8vRdR31Dw0NVV5eXoOu01Bt2rSR2Wy2agsICNDPP/9c77kVFRWqra3Viy++qBdffNFun7P/IXB2XN99950kqWfPng5/zn//+19J0vTp0zV9+vQG/Zzg4GCbPvZeFwCAdyHXS7GxsZZN22pqavTYY4/phRde0MKFCx1uMFpRUaHg4GCbL7S7d+8uX19fm1gd5dnT1+rZs6f++9//6p133nF4q/q5igUAAO9Enm58nj77iwZJdtsk+5/z/f391aVLF5u+/v7+Vp//Fy9erEceeUTJycmaP3++AgMD5ePjo8cff5wiOtwaRXTAiaKioizJypGGbi7ZtWtX1dbW6rvvvrNK2oZhqLS0VFdccUWjrytJJSUlNse+/fZbBQYGNug6zaFz587y8fHR+PHj9eCDD9rtExERYfX87N/D6d/d6Vlr9pyOOS0tTbfddpvdPhdffLHV89LSUps+paWl6tu3r8OfAwDwfOR6a35+fpozZ45eeOEFq71G7I3pk08+kWEYVnGUlZWptrbWZkyO8uzpa0mn8nf//v21YMECuz8zNDT0vOMBAHg28rS188nTn376qU27vXx8oV599VUNGTJEy5cvt2o/duyY038W4Ews5wK4qdM7hL/66qtW7Rs2bNDx48ctx89XXFycWrdubXPdb775Ru+//36jr3shTm/G8tNPP1m1t2nTRkOHDlVBQYH69+9v+Ub9zMfpf4A4MmjQIHXs2FFZWVkyDMNun4svvli/+MUv9Nlnn9n9GbGxsWrfvr3VOa+99prV8x07dujQoUNWm6AEBATYxAQAwGmeluvtfdiXZJk1dq6i9bBhw/Tjjz/qrbfesmpfs2aN5fiZNm/ebLlTTJLq6uq0fv169enTx3J32c0336x//vOf6tOnj93cTREdAHAhWlKeHjx4sI4dO6b33nvPqn3dunWNGsu5mEwmqw1ZJenzzz9Xfn6+038W4EzMRAfc1A033KDExEQ99thjqqys1DXXXGPZCXzgwIEaP358o67bqVMnPf7445o5c6YmTJigO++8UxUVFZo7d67MZrPmzJnj5Ejq1759e/Xq1Ut//etfNWzYMHXp0kWBgYHq3bu3/vCHP+jaa69VfHy8fvvb36p37946duyYvvzyS73zzjuWdeocadeunZ5//nklJSXp+uuv1+TJkxUUFKQvv/xSn332mZYuXSpJeumllzR8+HAlJibqnnvuUY8ePfT999+rqKhIe/bs0V/+8her6+7atUtJSUm64447dPjwYc2aNUs9evRQSkqKpc9ll12mN954Q8uXL1dMTIxatWpV76wIAEDL4Wm5PjExUT179tTIkSPVr18/nTx5UoWFhXr++efVrl07Pfzwww7PnTBhgpYtW6aJEyfq4MGDuuyyy/Thhx/q6aef1ogRI3T99ddb9Q8MDNR1112nxx9/XG3btlVmZqb+9a9/WX2YnzdvnvLy8jRo0CBNmTJFF198sX7++WcdPHhQubm5ysrKOudybgAAnEtLytMTJ07UCy+8oLvvvltPPfWU+vbtq/fee08bN26UJLVq5bw5uDfffLPmz5+vOXPmaPDgwdq/f7/mzZuniIgI1dbWOu3nAM5GER1wUyaTSW+99ZaefPJJrV69WgsWLFBgYKDGjx+vp59+2uab2/ORlpam7t27a8mSJVq/fr1at26tIUOG6Omnn9YvfvELJ0bRcNnZ2fr973+vW265RVVVVZo4caJycnJ0ySWXaM+ePZo/f75mz56tsrIyderUSb/4xS+sNjI5l0mTJik0NFTPPvuskpKSZBiGevfurYkTJ1r6DB06VJ9++qkWLFigqVOn6n//+5+6du2qSy65RL/+9a/tjvePf/yjxo0bp6qqKg0dOlR/+MMfrNaAe/jhh7Vv3z7NnDlTR48elWEYDmfDAwBaHk/L9bNnz9Zf//pXvfDCCyopKVFVVZVCQkJ0/fXXKy0tTVFRUQ7PNZvN2rJli2bNmqXnnntO3333nXr06KHp06fbLRbccsstuvTSSzV79mwVFxerT58+eu211zR27FhLn5CQEO3atUvz58/Xc889p2+++Ubt27dXRESEbrzxRnXu3LlRcQIAILWsPN22bVu9//77mjp1qh599FGZTCYlJCQoMzNTI0aMUKdOnRoZqa1Zs2bp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96tPnz421w0ICFBAQECDxg0AgLtr1Ez0UaNGad68eaqpqZF06tvp4uJizZgxw2b3bgAA4DrkbAAAPIMzcra/v79iYmKUl5dn1Z6Xl6dBgwbZPScuLs6m/6ZNmxQbGys/Pz/169dPe/fuVWFhoeVxyy23aOjQoSosLGSZFgBAi9CoIvqiRYv03XffqXv37vrpp580ePBg9e3bV+3bt9eCBQucPUYAANBI5GwAADyDs3J2amqqXn75Za1atUpFRUWaNm2aiouLlZycLOnUMisTJkyw9E9OTtahQ4eUmpqqoqIirVq1StnZ2Zo+fbqkUzPko6OjrR6dOnVS+/btFR0dLX9/f+f+IgAAcEONWs6lQ4cO+vDDD7Vlyxbt3r1bJ0+e1C9/+Utdf/31zh4fAAC4AORsAAA8g7Ny9tixY1VRUaF58+appKRE0dHRys3NVa9evSRJJSUlKi4utvSPiIhQbm6upk2bpmXLlik0NFRLlizhjjUAAM5w3kX0kydPKicnR2+88YYOHjwok8mkiIgIBQcH17tZCQAAaD7kbAAAPIOzc3ZKSopSUlLsHsvJybFpGzx4sPbs2dPg69u7BgAA3uy8iuiGYeiWW25Rbm6uLr/8cl122WUyDENFRUW655579MYbb+itt95qoqECAICGImfDG41bke/qIQCA05GzAQBwf+dVRM/JydEHH3ygzZs3a+jQoVbH3n//fd16661as2aN1fpqAACg+ZGzAQDwDORsAADc33ltLLp27VrNnDnTJrFL0nXXXacZM2botddec9rgAABA45CzAQDwDORsAADc33kV0T///HPdeOONDo8PHz5cn3322QUPCgAAXBhyNgAAnoGcDQCA+zuvIvr333+voKAgh8eDgoL0v//974IHBQAALgw5GwAAz0DOBgDA/Z3Xmuh1dXXy9XV8io+Pj2pray94UAAA4MKQs4FzY5NS99fY18jeeevuj7vQ4QBNhpwNAID7O68iumEYuueeexQQEGD3eFVVlVMGBQAALgw5GwAAz0DOBgDA/Z1XEX3ixIn19mHHcAAAXI+cDQCAZyBnAwDg/s6riL569WqnDyAzM1PPPfecSkpKdOmllyojI0Px8fEO+2/btk2pqanat2+fQkND9eijjyo5OdlyfOXKlVqzZo3++c9/SpJiYmL09NNP68orr3T62AEAcFdNkbMBAIDz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W3JjQ3hj/mwIT4/TG3Nwfbz1PdXTc3h9PD3Hw/W86f3uP//5j0JDQxUREaFx48bp66+/dvWQLog3/f+8detWde/eXRdddJEmT56ssrIyVw/pnLwhd5wdw2me9Fp4Q447O4bTPOV1aI7P4hTRG8EwDN1zzz1KTk5WbGys3T6lpaUKCgqyauvcubP8/f1VWlraHMNssMcee0xt27ZV165dVVxcrL/+9a+WY54UhyR99dVXevHFF5WcnGxp87QY7HH3GMrLy1VXV2czxqCgILcYX2OcHrcnxWQYhlJTU3XttdcqOjpakufEsXfvXrVr104BAQFKTk7Wm2++qUsuucRjxi9J69at0549e5Senm5zzJPiwCnelBsbwlvzZ0N4epzemIPr443vqZ6cw+vjDTke7sFb3u+uuuoqrVmzRhs3btTKlStVWlqqQYMGqaKiwtVDazRv+f95+PDheu211/T+++/r+eef186dO3XdddepqqrK1UOzyxtyh70YJM95LbwhxzmKQfKc16G5PotTRD+DvQ0+zn7s2rVLL774oiorK5WWlnbO65lMJps2wzDstjtTQ+M47fe//70KCgq0adMm+fj4aMKECTIMw6VxnG8MkvTtt9/qxhtv1B133KGkpCSrY54Sw7m46u/pfJw9FncbX2N4UkwPPfSQPv/8c61du9bmmLvHcfHFF6uwsFAff/yxfvvb32rixIn64osvLMfdffyHDx/Www8/rFdffVVms9lhP3ePw5t5Q25sCG/Inw3REnNsfVri+4s3xezJObw+np7j4X48/W9m+PDhGjNmjC677DJdf/31evfddyVJr7zyiotHduE8/bUZO3asbrrpJkVHR2vkyJF677339O9//9vyGrkbb8gdjmLwlNfCG3LcuWLwhNehOT+L+zZqhF7qoYce0rhx487Zp3fv3nrqqaf08ccfKyAgwOpYbGys7rrrLr3yyisKDg7WJ598YnX8f//7n2pqamy+/XC2hsZxWmBgoAIDA3XRRRcpKipKYWFh+vjjjxUXF+eyOM43hm+//VZDhw5VXFycVqxYYdXPU2I4F1f+PTVEYGCgfHx8bL7FKysrc4vxNUZwcLCkU99ahoSEWNrdNabf/e53evvtt/XBBx+oZ8+elnZPicPf3199+/aVdOq9dOfOnfrDH/6gxx57TJL7j3/37t0qKytTTEyMpa2u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u+46lZWV6b333lNUVJQ6dOigO++8UydOnLBc9+9//7uuvfZaderUSV27dtXNN9+sr776qjl/HYDHo4gOtDCvvPKK2rZtq08++UQLFy7UvHnzlJeXJ0nauXOnJGn16tUqKSmxPN+4caPuvvtuTZkyRV988YVeeukl5eTkaMGCBVbXnjNnjkaNGqW9e/fqvvvu07vvvqvbbrtNN910kwoKCrR582bFxsZa+t9777366KOPtG7dOn3++ee64447dOONN+o///mPpc+JEye0YMECvfLKK/roo49UWVmpcePGSZLGjh2rRx55RJdeeqlKSkpUUlKisWPHNunvDwAAd9GuXTu1a9dOb731lqqqqurtf+LECd14443q3Lmzdu7cqb/85S/6xz/+oYceesiq3+bNm1VUVKQtW7Zo7dq1evPNNzV37lzL8dmzZ2v16tVavny59u3bp2nTpunuu+/Wtm3bnB4jAACe6nzz9LFjxzRy5Ehddtll2rNnj+bPn6/HHnvMbt8nn3xSS5cu1Y4dO3T48GH9+te/VkZGhv70pz/p3XffVV5enl588UVL/+PHjys1NVU7d+7U5s2b1apVK40ePVonT550WryA1zMAeLWJEycao0aNMgzDMAYPHmxce+21VsevuOIK47HHHrM8l2S8+eabVn3i4+ONp59+2qrtj3/8oxESEmJ13tSpU636xMXFGXfddZfdcX355ZeGyWQyjhw5YtU+bNgwIy0tzTAMw1i9erUhyfj4448tx4uKigxJxieffGIYhmHMmTPHuPzyyx1EDwCAd3v99deNzp07G2az2Rg0aJCRlpZmfPbZZ5bjZ+b1FStWGJ07dzZ+/PFHy/F3333XaNWqlVFaWmoYxql/N3Tp0sU4fvy4pc/y5cuNdu3aGXV1dcaPP/5omM1mY8eOHVbjmDRpknHnnXc2YaQAAHie88nTy5cvN7p27Wr89NNPluMrV640JBkFBQWGYRjGli1bDEnGP/7xD0uf9PR0Q5Lx1VdfWdoeeOABIzEx0eG4ysrKDEnG3r17nRQp4P2YiQ60MP3797d6HhISorKysnOes3v3bs2bN8/yTXq7du00efJklZSUWN0iduYsc0kqLCzUsGHD7F5zz549MgxDF110kdV1t23bZnVbma+vr9V1+/Xrp06dOqmoqKjBMQMA4K3GjBmjb7/9Vm+//bYSExO1detW/fKXv7S7vFlRUZEuv/xytW3b1tJ2zTXX6OTJk9q/f7+l7fLLL1ebNm0sz+Pi4vTjjz/q8OHD+uKLL/Tzzz/rhhtusMrfa9as4bZwAADOcj55ev/+/erfv7/MZrOl7corr7R73TM/1wcFBalNmzaKjIy0ajvzc/5XX32l3/zmN4qMjFSHDh0UEREhSSouLr7QEIEWg41FgRbm7M0+TSZTvbdwnTx5UnPnzrVaz/y0MxP8mR/KJal169bnvKaPj492794tHx8fq2Pt2rWzGePZ7LUBANASnd4z5IYbbtATTzyhpKQkzZkzR/fcc49VP8MwHObPhuTVM//N8O6776pHjx5WxwMCAhoXAAAAXuxC8rRhGHaveebnepPJVO/n/JEjRyosLEwrV65UaGioTp48qejoaKs9TwCcG0V0AFb8/PxUV1dn1fbLX/5S+/fvV9++fc/rWv3799fmzZt177332hwbOHCg6urqVFZWpvj4eIfXqK2t1a5duyzfwO/fv18//PCD+vXrJ0ny9/e3GS8AAC3ZJZdcYrVJ2Zntr7zyio4fP2754vujjz5Sq1atdNFFF1n6ffbZZ/rpp58sX4Z//PHHateunXr27KnOnTsrICBAxcXFGjx4cLPEAwCAN3GUp/v166fXXntNVVVVli+md+3adcE/r6KiQkVFRXrppZcsn70//PDDC74u0NKwnAsAK71799bmzZtVWlqq//3vf5KkJ554QmvWrNGTTz6pffv2qaioSOvXr9fs2bPPea05c+Zo7dq1mjNnjoqKirR3714tXLhQknTRRRfprrvu0oQJE/TGG2/owIED2rlzp5599lnl5uZaruHn56ff/e53+uSTT7Rnzx7de++9uvrqqy1F9d69e+vAgQMqLCxUeXl5gzZsAQDAG1RUVOi6667Tq6++qs8//1wHDhzQX/7yFy1cuFCjRo2y6X/XXXfJbDZr4sSJ+uc//6ktW7bod7/7ncaPH6+goCBLv+rqak2aNElffPGF3nvvPc2ZM0cPPfSQWrVqpfbt22v69OmaNm2aXnnlFX311VcqKCjQsmXL9MorrzRn+AAAuLXzzdO/+c1vdPLkSd1///0qKirSxo0btWjRIkkXdid2586d1bVrV61YsUJffvml3n//faWmpjb6ekBLRREdgJXnn39eeXl5CgsL08CBAyVJiYmJ+tvf/qa8vDxdccUVuvrqq7V48WL16tXrnNcaMmSI/vKXv+jtt9/WgAEDdN111+mTTz6xHF+9erUmTJigRx55RBdffLFuueUWffLJJwoLC7P0adOmjR577DH95je/UVxcnFq3bq1169ZZjo8ZM0Y33nijhg4dqm7dumnt2rVO/o0AAOCe2rVrp6uuukovvPCCfvWrXyk6OlqPP/64Jk+erKVLl9r0b9OmjTZu3Kjvv/9eV1xxhW6//XYNGzbMpu+wYcP0i1/8Qr/61a/061//WiNHjtSTTz5pOT5//nw98cQTSk9PV1RUlBITE/XOO+9Y1lcFAADnn6c7dOigd955R4WFhRowYIBmzZqlJ554QpL1Mqrnq1WrVlq3bp12796t6OhoTZs2Tc8991yjrwe0VCbD0QJLAOBiOTk5mjp1qn744QdXDwUAgBbhnnvu0Q8//GD3NnMAANC8XnvtNd177706evToOfccA9D0WBMdAAAAAAAAcLE1a9YoMjJSPXr00GeffabHHntMv/71rymgA26AIjoAAAAAAADgYqWlpXriiSdUWlqqkJAQ3XHHHVqwYIGrhwVALOcCAAAAAAAAAIBDbCwKAAAAAAAAAIADFNEBAAAAAAAAAHCAIjoAAAAAAAAAAA5QRAcAAAAAAAAAwAGK6AAAAAAAAAAAOEARHQAAAAAAAAAAByiiAwAAAAAAAADgAEV0AAAAAAAAAAAcoIgOAAAAAAAAAIAD/w9lfoZ18cxf6QAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHqCAYAAADrpwd3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABlWklEQVR4nO3de1yUdfr/8fcoAp7AAwoeQFErMdIMOuBh1SxMO5hZqZWaicqSmZJlZOWhA2WmVIpImeRWYrtam5ulpGaWZB4gLV23XBUzWNJKTJPj/fujn/N1mLkVcWBg5vV8PObxaD73577nuki47vuaz9xjMQzDEAAAAAAAAAAAsFPH1QEAAAAAAAAAAFBT0UQHAAAAAAAAAMAETXQAAAAAAAAAAEzQRAcAAAAAAAAAwARNdAAAAAAAAAAATNBEBwAAAAAAAADABE10AAAAAAAAAABM0EQHAAAAAAAAAMAETXQAAAAAAAAAAEzQRAecJC0tTRaLxfrw8vJS27ZtNWbMGB05cqRCx7j//vvVvn37qg20El577TV16tRJ3t7eslgs+u233xzOO/Mz2L59+wW/xqlTpzRz5kx99tlnFxdsDfPuu+8qKSnJ1WEAAJyImv+nrVu3asiQIQoJCZGPj48CAwMVFRWlRx55xGZe37591bdv36oNHACAcqjXf6JeA85BEx1wsqVLlyozM1MZGRkaN26cli9frt69e+vkyZPn3fepp57S+++/Xw1RVlx2drYmTZqkfv36acOGDcrMzFTjxo2d/jqnTp3SrFmzaKIDAGoNT675H330kXr06KGCggLNmTNH69at0yuvvKKePXtqxYoV1Rw5AADmqNcVq9fJyclKTk6ujhSAWsnL1QEA7iY8PFyRkZGSpH79+qm0tFTPPPOMPvjgA917770O9zl16pQaNGigjh07OjWWP/74Q/Xr17+oY3z33XeSpHHjxumaa65xRljVqri42LrqAAAAZ/Lkmj9nzhyFhoZq7dq1NjV2+PDhmjNnzkXFAQCAM1GvK1avu3TpclFxAe6OlehAFbvuuuskSYcOHZL058fBGjVqpN27dys6OlqNGzdW//79rdvKf1Ts9OnTSkhIUGhoqLy9vdWmTRs9+OCDdh/Xat++vW655RatWrVK3bt3l6+vr2bNmnXO2N58801169ZNvr6+atasmYYMGaK9e/dat/ft21f33XefJOnaa6+VxWLR/ffff0H5n8n3hx9+0KBBg9SoUSMFBwfrkUceUWFhoSTp4MGDatGihSRp1qxZ1o/bnf1a33//ve655x61bNlSPj4+CgsL08KFC21e67PPPpPFYtHf/vY3PfLII2rTpo18fHz0ww8/SJI++eQT9e/fX/7+/mrQoIHCwsKUmJhoc4zt27frtttuU7NmzeTr66vu3bvrvffes5lz5mOBGRkZGjNmjJo1a6aGDRvq1ltv1X//+1+bn99HH32kQ4cO2XyMEADgnjyp5h87dkwBAQEO36SuU+f8lxi//PKL4uLi1KZNG3l7e6tDhw6aPn269dzgDIvFookTJ2rx4sW69NJL5ePjoy5duig9Pd3umHl5eZowYYLatm0rb29vhYaGatasWSopKTlvPAAAz0G9/lP5eu3odi4//vij7rzzTjVu3FhNmjTRvffeq23btslisSgtLc0678zP8N///rcGDBighg0bqlWrVnrhhRckSV999ZV69eqlhg0b6tJLL9Vbb71l8zo///yz4uLi1KVLFzVq1EgtW7bU9ddfr82bN5/z5wVUJ5ZmAlXsTAP3TJNYkoqKinTbbbdpwoQJevzxx00v7gzD0O23367169crISFBvXv31q5duzRjxgxlZmYqMzNTPj4+1vk7d+7U3r179eSTTyo0NFQNGzY0jSsxMVFPPPGERowYocTERB07dkwzZ85UVFSUtm3bpksuuUTJyclavny5nn32WS1dulSdO3e2yaOiiouLddttt2ns2LF65JFH9Pnnn+uZZ56Rv7+/nn76abVq1UqffPKJbrrpJo0dO1YxMTE2P7M9e/aoR48eCgkJ0csvv6ygoCCtXbtWkyZN0tGjRzVjxgyb10tISFBUVJRSUlJUp04dtWzZUkuWLNG4cePUp08fpaSkqGXLlvrPf/6jb7/91rrfxo0bddNNN+naa69VSkqK/P39lZ6ermHDhunUqVN2Jydjx47VjTfeqHfffVeHDx/Wk08+qb59+2rXrl1q0qSJkpOTNX78eO3fv7/GfQQQAOB8nlTzo6Ki9MYbb2jSpEm69957ddVVV6levXoV+jmdPn1a/fr10/79+zVr1ix17dpVmzdvVmJiorKzs/XRRx/ZzP/www+1ceNGzZ49Ww0bNlRycrJGjBghLy8v3XnnnZL+bKBfc801qlOnjp5++ml17NhRmZmZevbZZ3Xw4EEtXbq0QrEBANwf9bpi9frkyZPq16+ffvnlF7344ovq1KmTPvnkEw0bNszh/OLiYt1xxx2KjY3Vo48+qnfffVcJCQkqKCjQypUrNW3aNLVt21avvfaa7r//foWHhysiIkLSn2+uS9KMGTMUFBSk33//Xe+//7769u2r9evXc6921AwGAKdYunSpIcn46quvjOLiYuPEiRPGv/71L6NFixZG48aNjby8PMMwDGP06NGGJOPNN9+0O8bo0aONdu3aWZ9/8sknhiRjzpw5NvNWrFhhSDJSU1OtY+3atTPq1q1r7Nu377yx/vrrr0b9+vWNQYMG2Yzn5OQYPj4+xj333GOX17Zt2yr8Mzh77pl833vvPZu5gwYNMi677DLr859//tmQZMyYMcPuuAMGDDDatm1rHD9+3GZ84sSJhq+vr/HLL78YhmEYGzduNCQZf/nLX2zmnThxwvDz8zN69epllJWVmcbfuXNno3v37kZxcbHN+C233GK0atXKKC0ttclzyJAhNvO+/PJLQ5Lx7LPPWsduvvlmm/+nAIDaj5pvGEePHjV69eplSDIkGfXq1TN69OhhJCYmGidOnLCZ26dPH6NPnz7W5ykpKQ7PDV588UVDkrFu3TrrmCSjfv361p+pYRhGSUmJ0blzZ6NTp07WsQkTJhiNGjUyDh06ZHPMuXPnGpKM77777rw5AQDcC/X64ur1woULDUnGxx9/bDNvwoQJhiRj6dKl1rEzP8OVK1dax4qLi40WLVoYkoydO3dax48dO2bUrVvXiI+PN427pKTEKC4uNvr372933Q24CrdzAZzsuuuuU7169dS4cWPdcsstCgoK0scff6zAwECbeUOHDj3vsTZs2CBJdiug77rrLjVs2FDr16+3Ge/atasuvfTS8x43MzNTf/zxh91xg4ODdf3119sd92JZLBbdeuutNmNdu3a1fnzuXE6fPq3169dryJAhatCggUpKSqyPQYMG6fTp0/rqq69s9in/s92yZYsKCgoUFxdnejuVH374Qf/+97+t98Qr/zq5ubnat2+fzT7l75/Xo0cPtWvXThs3bjxvXgCA2s+Ta37z5s21efNmbdu2TS+88IIGDx6s//znP0pISNAVV1yho0ePmu67YcMGNWzY0LqK/IwzMZaPqX///jY/07p162rYsGH64Ycf9OOPP0qS/vWvf6lfv35q3bq1TQ0fOHCgJGnTpk2VyhMAUPtRrytXrzdt2qTGjRvrpptushkfMWKEw/kWi0WDBg2yPvfy8lKnTp3UqlUrde/e3TrerFkztWzZ0q4fkJKSoquuukq+vr7y8vJSvXr1tH79epvb2QCuxO1cACdbtmyZwsLC5OXlpcDAQLVq1cpuToMGDeTn53feYx07dkxeXl52H8+yWCwKCgrSsWPHbMYdvZbZcc3mt27dWhkZGRU6TkU1aNBAvr6+NmM+Pj46ffr0efc9duyYSkpK9Nprr+m1115zOKd84S+f188//yxJatu2renr/O9//5MkTZ06VVOnTq3Q6wQFBdnNcfT/BQDgnqj5UmRkpPXL2oqLizVt2jTNnz9fc+bMMf2C0WPHjikoKMjuje2WLVvKy8vLLlezenvmWG3bttX//vc/rV692vQj6udqEgAA3Bv1uvL1uvwbDZIcjkmOr/u9vb3VrFkzu7ne3t42/YB58+bpkUceUWxsrJ555hkFBASobt26euqpp2iio8agiQ44WVhYmLU4manol0s2b95cJSUl+vnnn22KtGEYysvL09VXX13p40pSbm6u3baffvpJAQEBFTpOdWjatKnq1q2rkSNH6sEHH3Q4JzQ01OZ5+Z/DmZ/dmdVqjpzJOSEhQXfccYfDOZdddpnN87y8PLs5eXl56tSpk+nrAADcBzXfVr169TRjxgzNnz/f5jtHHMW0detWGYZhk0d+fr5KSkrsYjKrt2eOJf1Zx7t27arnnnvO4Wu2bt36gvMBALgH6rWtC6nXX3/9td24o7p8sd5++2317dtXixYtshk/ceKE018LqCxu5wLUYGe+Efztt9+2GV+5cqVOnjxp3X6hoqKiVL9+fbvj/vjjj9qwYUOlj3sxznz5yh9//GEz3qBBA/Xr109ZWVnq2rWr9R30sx9nTjjM9OjRQ/7+/kpJSZFhGA7nXHbZZbrkkkv0zTffOHyNyMhINW7c2Gafd955x+b5li1bdOjQIZsvPfHx8bHLCQCA8mpbzXd0kS/JulrsXE3r/v376/fff9cHH3xgM75s2TLr9rOtX7/e+okxSSotLdWKFSvUsWNH66fMbrnlFn377bfq2LGjwxpOEx0A4AyeVK/79OmjEydO6OOPP7YZT09Pr1Qs52KxWGy+kFWSdu3apczMTKe/FlBZrEQHarAbb7xRAwYM0LRp01RQUKCePXtav/m7e/fuGjlyZKWO26RJEz311FN64oknNGrUKI0YMULHjh3TrFmz5OvrqxkzZjg5k/Nr3Lix2rVrp3/+85/q37+/mjVrpoCAALVv316vvPKKevXqpd69e+uvf/2r2rdvrxMnTuiHH37Q6tWrrfelM9OoUSO9/PLLiomJ0Q033KBx48YpMDBQP/zwg7755hstWLBAkrR48WINHDhQAwYM0P333682bdrol19+0d69e7Vz5079/e9/tznu9u3bFRMTo7vuukuHDx/W9OnT1aZNG8XFxVnnXHHFFVq1apUWLVqkiIgI1alT57yrIAAAnqe21fwBAwaobdu2uvXWW9W5c2eVlZUpOztbL7/8sho1aqSHH37YdN9Ro0Zp4cKFGj16tA4ePKgrrrhCX3zxhZ5//nkNGjRIN9xwg838gIAAXX/99XrqqafUsGFDJScn69///rfNRfzs2bOVkZGhHj16aNKkSbrssst0+vRpHTx4UGvWrFFKSso5b+sGAEBFeFK9Hj16tObPn6/77rtPzz77rDp16qSPP/5Ya9eulSTVqeO8dbm33HKLnnnmGc2YMUN9+vTRvn37NHv2bIWGhqqkpMRprwNcDJroQA1msVj0wQcfaObMmVq6dKmee+45BQQEaOTIkXr++eft3qm9EAkJCWrZsqVeffVVrVixQvXr11ffvn31/PPP65JLLnFiFhW3ZMkSPfroo7rttttUWFio0aNHKy0tTV26dNHOnTv1zDPP6Mknn1R+fr6aNGmiSy65xOaLS85l7Nixat26tV588UXFxMTIMAy1b99eo0ePts7p16+fvv76az333HOaPHmyfv31VzVv3lxdunTR3Xff7TDev/3tbxo+fLgKCwvVr18/vfLKKzb3fHv44Yf13Xff6YknntDx48dlGIbpangAgOeqbTX/ySef1D//+U/Nnz9fubm5KiwsVKtWrXTDDTcoISFBYWFhpvv6+vpq48aNmj59ul566SX9/PPPatOmjaZOneqwSXDbbbfp8ssv15NPPqmcnBx17NhR77zzjoYNG2ad06pVK23fvl3PPPOMXnrpJf34449q3LixQkNDddNNN6lp06aVyhMAgLN5Ur1u2LChNmzYoMmTJ+uxxx6TxWJRdHS0kpOTNWjQIDVp0qSSmdqbPn26Tp06pSVLlmjOnDnq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b64GDRroyiuv1I4dO6zba2tuJSUlevLJJ63nbB06dNDs2bNVVlZmnVMbcnNGfS4sLNRDDz2kgIAANWzYULfddpt+/PHHaszCsXPlVlxcrGnTpumKK65Qw4YN1bp1a40aNcruWqM25lbehAkTZLFYlJSUZDNeVbnRRHeifv366b333tO+ffu0cuVK7d+/X3feead1e2lpqW6++WadPHlSX3zxhdLT07Vy5Uo98sgjLoz6wvz73/9WWVmZFi9erO+++07z589XSkqKnnjiCescd8jzjKKiIt11113661//6nC7O+S6YsUKTZ48WdOnT1dWVpZ69+6tgQMHKicnx9WhXZSTJ0+qW7duWrBggcPtc+bM0bx587RgwQJt27ZNQUFBuvHGG3XixIlqjrTyNm3apAcffFBfffWVMjIyVFJSoujoaJ08edI6xx3ybNu2rV544QVt375d27dv1/XXX6/BgwdbT3DcIUd4Hk84ZyjP084hzuYJ5xOOuOs5RnmecM5RnqecgzjCeUnN4g5/Zzzl92nbtm1KTU1V165dbcZra26//vqrevbsqXr16unjjz/Wnj179PLLL9u8WV5bc3vxxReVkpKiBQsWaO/evZozZ45eeuklvfbaa9Y5tSE3Z9TnyZMn6/3331d6erq++OIL/f7777rllltUWlpaXWk4dK7cTp06pZ07d+qpp57Szp07tWrVKv3nP//RbbfdZjOvNuZ2tg8++EBbt25V69at7bZVWW4Gqsw///lPw2KxGEVFRYZhGMaaNWuMOnXqGEeOHLHOWb58ueHj42McP37cVWFetDlz5hihoaHW5+6Y59KlSw1/f3+7cXfI9ZprrjFiY2Ntxjp37mw8/vjjLorI+SQZ77//vvV5WVmZERQUZLzwwgvWsdOnTxv+/v5GSkqKCyJ0jvz8fEOSsWnTJsMw3DdPwzCMpk2bGm+88YZb5wjP4innDOV5wjnE2dz5fMIRTzjHKM9TzjnK86RzEEc4L3Edd/w7446/TydOnDAuueQSIyMjw+jTp4/x8MMPG4ZRu3ObNm2a0atXL9PttTm3m2++2XjggQdsxu644w7jvvvuMwyjduZWmfr822+/GfXq1TPS09Otc44cOWLUqVPH+OSTT6ot9vMpn5sjX3/9tSHJOHTokGEYtT+3H3/80WjTpo3x7bffGu3atTPmz59v3VaVubES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U7NmzRQUFKSZM2dat7dv316SNGTIEFksFutzSVq9erUiIiLk6+urDh06aNasWSopKbFut1gsSklJ0eDBg9WwYUM9++yzkqQPP/xQkZGR8vX1VUBAgO644w7rPkVFRXrsscfUpk0bNWzYUNdee60+++wz6/a0tDQ1adJEH3zwgS699FL5+vrqxhtv1OHDh63bZ82apW+++UYWi0UWi0VpaWlO/7kBAFCT/fbbb/riiy/04osvql+/fmrXrp2uueYaJSQk6Oabb3a4z+7du3X99derfv36at68ucaPH6/ff//duv3MJ9lmzZqlli1bys/PTxMmTFBRUZF1jmEYmjNnjjp06KD69eurW7du+sc//lHl+QIAUBtVpF6X/2T4li1bdOWVV8rX11eRkZH64IMPZLFYlJ2dLUn67LPPZLFYtHbtWnXv3l3169fX9ddfr/z8fH388ccKCwuTn5+fRowYoVOnTlmP+8knn6hXr15q0qSJmjdvrltuuUX79++vzh8HUKvQRAc80FtvvaWGDRtq69atmjNnjmbPnq2MjAxJ0rZt2yRJS5cuVW5urvX52rVrdd9992nSpEnas2ePFi9erLS0ND333HM2x54xY4YGDx6s3bt364EHHtBHH32kO+64QzfffLOysrK0fv16RUZGWuePGTNGX375pdLT07Vr1y7ddddduummm/T9999b55w6dUrPPfec3nrrLX355ZcqKCjQ8OHDJUnDhg3TI488ossvv1y5ubnKzc3VsGHDqvTnBwBATdOoUSM1atRIH3zwgQoLC887/9SpU7rpppvUtGlTbdu2TX//+9/16aefauLEiTbz1q9fr71792rjxo1avny53n//fc2aNcu6/cknn9TSpUu1aNEifffdd5oyZYruu+8+bdq0yek5AgBQ211ovT5x4oRuvfVWXXHFFdq5c6eeeeYZTZs2zeHcmTNnasGCBdqyZYsOHz6su+++W0lJSXr33Xf10UcfKSMjQ6+99pp1/smTJxUfH69t27Zp/fr1qlOnjoYMGaKysjKn5Qu4FQOA2xs9erQxePBgwzAMo0+fPkavXr1stl999dXGtGnTrM8lGe+//77NnN69exvPP/+8zdjf/vY3o1WrVjb7TZ482WZOVFSUce+99zqM64cffjAsFotx5MgRm/H+/fsbCQkJhmEYxtKlSw1JxldffWXdvnfvXkOSsXXrVsMwDGPGjBlGt27dTLIHAMAz/OMf/zCaNm1q+Pr6Gj169DASEhKMb775xrr97PqemppqNG3a1Pj999+t2z/66COjTp06Rl5enmEYf54/NGvWzDh58qR1zqJFi4xGjRoZpaWlxu+//274+voaW7ZssYlj7NixxogRI6owUwAAaq8LqdeLFi0ymjdvbvzxxx/W7a+//rohycjKyjIMwzA2btxoSDI+/fRT65zExERDkrF//37r2IQJE4wBAwaYxpWfn29IMnbv3u2kTAH3wkp0wAN17drV5nmrVq2Un59/zn127Nih2bNnW985b9SokcaNG6fc3Fybj4SdvcpckrKzs9W/f3+Hx9y5c6cMw9Cll15qc9xNmzbZfIzMy8vL5ridO3dWkyZNtHfv3grnDACAuxs6dKh++uknffjhhxowYIA+++wzXXXVVQ5vc7Z3715169ZNDRs2tI717NlTZWVl2rdvn3WsW7duatCggfV5VFSUfv/9dx0+fFh79uzR6dOndeONN9rU8WXLlvFxcAAATFxIvd63b5+6du0qX19f69g111zj8LhnX+cHBgaqQYMG6tChg83Y2df9+/fv1z333KMOHTrIz89PoaGhkqScnJyLTRFwS3yxKOCByn/Zp8ViOe9HtsrKyjRr1iyb+5mfcXZBP/tiXJLq169/zmPWrVtXO3bsUN26dW22NWrUyC7G8hyNAQDgyc58d8iNN96op59+WjExMZoxY4buv/9+m3mGYZjW0YrU17PPHT766CO1adPGZruPj0/lEgAAwANcTL02DMPhMc++zrdYLOe97r/11lsVHBys119/Xa1bt1ZZWZnCw8NtvvsEwP+hiQ7ATr169VRaWmozdtVVV2nfvn3q1KnTBR2ra9euWr9+vcaMGWO3rXv37iotLVV+fr569+5teoySkhJt377d+o77vn379Ntvv6lz586SJG9vb7t4AQCA1KVLF5svJzt7/K233tLJkyetb4B/+eWXqlOnji699FLrvG+++UZ//PGH9U3xr776So0aNVLbtm3VtGlT+fj4KCcnR3369KmWfAAAcEdm9bpz58565513VFhYaH2Devv27Rf9eseOHdPevXu1ePFi67X4F198cdHHBdwZt3MBYKd9+/Zav3698vLy9Ouvv0qSnn76aS1btkwzZ87Ud999p71792rFihV68sknz3msGTNmaPny5ZoxY4b27t2r3bt3a86cOZKkSy+9VPfee69GjRqlVatW6cCBA9q2bZtefPFFrVmzxnqMevXq6aGHHtLWrVu1c+dOjRkzRtddd521qd6+fXsdOHBA2dnZOnr0aIW+oAUAAHdy7NgxXX/99Xr77be1a9cuHThwQH//+981Z84cDR482G7+vffeK19fX40ePVrffvutNm7cqIceekgjR45UYGCgdV5RUZHGjh2rPXv26OOPP9aMGTM0ceJE1alTR40bN9bUqVM1ZcoUvfXWW9q/f7+ysrK0cOFCvfXWW9WZPgAAtcKF1ut77rlHZWVlGj9+vPbu3au1a9dq7ty5ki7uk9lNmzZV8+bNlZqaqh9++EEbNmxQfHx8pY8HeAKa6ADsvPzyy8rIyFBwcLC6d+8uSRowYID+9a9/KSMjQ1dffbWuu+46zZs3T+3atTvnsfr27au///3v+vDDD3XllVfq+uuv19atW63bly5dqlGjRumRRx7RZZddpttuu01bt25VcHCwdU6DBg00bdo03XPPPYqKilL9+vWVnp5u3T506FDddNNN6tevn1q0aKHly5c7+ScCAEDN1qhRI1177bWaP3++/vKXvyg8PFxPPfWUxo0bpwULFtjNb9CggdauXatffvlFV199te68807179/fbm7//v11ySWX6C9/+Yvuvvtu3XrrrZo5c6Z1+zPPPKOnn35aiYmJCgsL04ABA7R69WrrfVUBAMD/udB67efnp9WrVys7O1tXXnmlpk+frqefflqS7W1VL1SdOnWUnp6uHTt2KDw8XFOmTNFLL71U6eMBnsBimN1MCQBqgLS0NE2ePFm//fabq0MBAMCj3H///frtt98cfrwcAAC4xjvvvKMxY8bo+PHj5/wOMgDOxT3RAQAAAAAAgBpo2bJl6tChg9q0aaNvvvlG06ZN0913300DHahmNNEBAAAAAACAGigvL09PP/208vLy1KpVK91111167rnnXB0W4HG4nQsAAAAAAAAAACb4YlEAAAAAAAAAAEzQRAcAAAAAAAAAwARNdAAAAAAAAAAATNBEBwAAAAAAAADABE10AAAAAAAAAABM0EQHAAAAAAAAAMAETXQAAAAAAAAAAEzQRAcAAAAAAAAAwARNdAAAAAAAAAAATPw/AY9ijud7qBYAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -802,34 +809,123 @@ } ], "source": [ + "# get the prior samples as a dictionary of numpy arrays\n", + "prior_samples = bayes_model.sample_prior(\"numpy\")\n", + "\n", "# Plot the prior distributions\n", "fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", "\n", "# Plot prior for intercept\n", - "axes[0].hist(prior[\"intercept\"], bins=80, density=True, alpha=0.75)\n", - "axes[0].set_title('Prior of Intercept')\n", - "axes[0].set_xlabel('Intercept')\n", - "axes[0].set_ylabel('Density')\n", + "axes[0].hist(prior_samples[\"intercept\"], bins=80, density=True, alpha=0.75)\n", + "axes[0].set_title(\"Prior of Intercept\")\n", + "axes[0].set_xlabel(\"Intercept\")\n", + "axes[0].set_ylabel(\"Density\")\n", "\n", "# Plot prior for slope\n", - "axes[1].hist(prior[\"slopes\"], bins=80, density=True, alpha=0.75)\n", - "axes[1].set_title('Prior of Slope')\n", - "axes[1].set_xlabel('Slope')\n", - "axes[1].set_ylabel('Density')\n", + "axes[1].hist(prior_samples[\"slopes\"], bins=80, density=True, alpha=0.75)\n", + "axes[1].set_title(\"Prior of Slope\")\n", + "axes[1].set_xlabel(\"Slope\")\n", + "axes[1].set_ylabel(\"Density\")\n", "\n", "# Plot prior for sigma\n", - "axes[2].hist(prior[\"noise\"], bins=80, density=True, alpha=0.75)\n", - "axes[2].set_title('Prior of Sigma')\n", - "axes[2].set_xlabel('Sigma')\n", - "axes[2].set_ylabel('Density')\n", + "axes[2].hist(prior_samples[\"noise\"], bins=80, density=True, alpha=0.75)\n", + "axes[2].set_title(\"Prior of Sigma\")\n", + "axes[2].set_xlabel(\"Sigma\")\n", + "axes[2].set_ylabel(\"Density\")\n", "\n", "plt.tight_layout()\n", - "plt.show()\n" + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that `sample_prior`can give us multiple return types. We can also get our samples back as an `skpro` distribution." ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 285, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [intercept, noise_var, slopes, y_obs]\n" + ] + }, + { + "data": { + "text/html": [ + "
Empirical(columns=Index(['value'], dtype='object'),\n",
+       "          index=Index(['intercept', 'slopes', 'noise_var', 'noise'], dtype='object', name='variable'),\n",
+       "          spl=                      value\n",
+       "obs_id variable            \n",
+       "0      intercept  10.755188\n",
+       "       slopes     -5.347675\n",
+       "       noise_var   1.958837\n",
+       "       noise       1.399585\n",
+       "1      intercept  -4.972449\n",
+       "...                     ...\n",
+       "998    noise       0.809853\n",
+       "999    intercept  -2.045054\n",
+       "       slopes     16.852311\n",
+       "       noise_var   0.938735\n",
+       "       noise       0.968883\n",
+       "\n",
+       "[4000 rows x 1 columns])
Please rerun this cell to show the HTML repr or trust the notebook.
" + ], + "text/plain": [ + "Empirical(columns=Index(['value'], dtype='object'),\n", + " index=Index(['intercept', 'slopes', 'noise_var', 'noise'], dtype='object', name='variable'),\n", + " spl= value\n", + "obs_id variable \n", + "0 intercept 10.755188\n", + " slopes -5.347675\n", + " noise_var 1.958837\n", + " noise 1.399585\n", + "1 intercept -4.972449\n", + "... ...\n", + "998 noise 0.809853\n", + "999 intercept -2.045054\n", + " slopes 16.852311\n", + " noise_var 0.938735\n", + " noise 0.968883\n", + "\n", + "[4000 rows x 1 columns])" + ] + }, + "execution_count": 285, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "prior_samples = bayes_model.sample_prior(\"skpro\")\n", + "prior_samples" + ] + }, + { + "cell_type": "code", + "execution_count": 286, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -843,7 +939,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "arviz - WARNING - Shape validation failed: input_shape: (1, 2000), minimum_shape: (chains=2, draws=4)\n" + "arviz - WARNING - Shape validation failed: input_shape: (1, 1000), minimum_shape: (chains=2, draws=4)\n" ] }, { @@ -881,38 +977,50 @@ " \n", " \n", " intercept\n", - " -0.278\n", - " 10.002\n", - " -20.426\n", - " 17.581\n", - " 0.223\n", - " 0.158\n", - " 2020.0\n", - " 2063.0\n", + " -0.316\n", + " 9.804\n", + " -19.315\n", + " 17.211\n", + " 0.301\n", + " 0.234\n", + " 1057.0\n", + " 912.0\n", " NaN\n", " \n", " \n", " slopes[feature1]\n", - " 0.196\n", - " 9.898\n", - " -19.122\n", - " 17.827\n", - " 0.226\n", - " 0.160\n", - " 1912.0\n", - " 1809.0\n", + " -0.482\n", + " 9.877\n", + " -19.121\n", + " 17.667\n", + " 0.318\n", + " 0.225\n", + " 964.0\n", + " 970.0\n", + " NaN\n", + " \n", + " \n", + " noise_var\n", + " 29.640\n", + " 628.224\n", + " 0.144\n", + " 17.089\n", + " 19.801\n", + " 14.022\n", + " 1097.0\n", + " 1033.0\n", " NaN\n", " \n", " \n", " noise\n", - " 7.925\n", - " 6.087\n", - " 0.000\n", - " 18.887\n", - " 0.133\n", - " 0.094\n", - " 2057.0\n", - " 1802.0\n", + " 1.909\n", + " 5.101\n", + " 0.380\n", + " 4.134\n", + " 0.158\n", + " 0.114\n", + " 1097.0\n", + " 1033.0\n", " NaN\n", " \n", " \n", @@ -920,18 +1028,20 @@ "" ], "text/plain": [ - " mean sd hdi_3% hdi_97% mcse_mean mcse_sd \\\n", - "intercept -0.278 10.002 -20.426 17.581 0.223 0.158 \n", - "slopes[feature1] 0.196 9.898 -19.122 17.827 0.226 0.160 \n", - "noise 7.925 6.087 0.000 18.887 0.133 0.094 \n", + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd \\\n", + "intercept -0.316 9.804 -19.315 17.211 0.301 0.234 \n", + "slopes[feature1] -0.482 9.877 -19.121 17.667 0.318 0.225 \n", + "noise_var 29.640 628.224 0.144 17.089 19.801 14.022 \n", + "noise 1.909 5.101 0.380 4.134 0.158 0.114 \n", "\n", " ess_bulk ess_tail r_hat \n", - "intercept 2020.0 2063.0 NaN \n", - "slopes[feature1] 1912.0 1809.0 NaN \n", - "noise 2057.0 1802.0 NaN " + "intercept 1057.0 912.0 NaN \n", + "slopes[feature1] 964.0 970.0 NaN \n", + "noise_var 1097.0 1033.0 NaN \n", + "noise 1097.0 1033.0 NaN " ] }, - "execution_count": 12, + "execution_count": 286, "metadata": {}, "output_type": "execute_result" } @@ -1000,23 +1110,23 @@ "source": [ "The posterior distribution, denoted as $P(\\theta \\mid D)$, represents the updated beliefs about the parameters $\\theta$ after observing the data $D$. PyMC obtains the posterior distribution using Markov Chain Monte Carlo (MCMC) algorithms, which iteratively explore the parameter space, generating a sequence of samples that approximate the posterior distribution.\n", "\n", - "We can extract the posterior using the `get_posterior` method of the `bayes_model`. Note that these posterior distributions are significantly narrower than the priors set up earlier, indicating that the data has provided substantial information to refine our estimates. Additionally, observe that these posterior distributions are close to the true values, reflecting the accuracy of the model.\n" + "We can extract the posterior using the `sample_posterior` method of the `bayes_model`. Note that these posterior distributions are significantly narrower than the priors set up earlier, indicating that the data has provided substantial information to refine our estimates. Additionally, observe that these posterior distributions are close to the true values, reflecting the accuracy of the model.\n" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 287, "metadata": { "id": "qRskX-is8n13" }, "outputs": [], "source": [ - "posterior = bayes_model.get_posterior(\"numpy\")" + "posterior_samples = bayes_model.sample_posterior(\"numpy\")" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 288, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -1028,7 +1138,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHqCAYAAADrpwd3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACOp0lEQVR4nOzdeXhTZfr/8U9a6MLSFgpdgLKIStlBQFqQTQQEZBBBwIVNBBlhFCpTLSKLih0UtSCbOEhFsDBOAXEUFJFFhupQNh1ERhm02GllUShrC+X8/uDXfA1NuiY9afp+XVcuOCfPObmfpMn95D4nz7EYhmEIAAAAAAAAAADk42V2AAAAAAAAAAAAuCuK6AAAAAAAAAAAOEARHQAAAAAAAAAAByiiAwAAAAAAAADgAEV0AAAAAAAAAAAcoIgOAAAAAAAAAIADFNEBAAAAAAAAAHCAIjoAAAAAAAAAAA5QRAcAAAAAAAAAwAGK6KgQEhMTZbFYrLdKlSqpXr16GjNmjNLT053+eBcvXtSsWbO0fft2p+9bkrZv3y6LxeKy/ZfU/v371a1bNwUGBspisSghIcFhW4vFokmTJpXocd57770C910effvtt5o1a5Z+/PFHs0MBAI9B/i8bxcn/p0+fVlxcnJo1a6aqVasqMDBQkZGRGjFihL7++mtru7zXjrwIABULubtskLuB4qtkdgBAWVqxYoUiIyN16dIl7dy5U/Hx8dqxY4e++eYbVa1a1WmPc/HiRc2ePVuS1L17d6ftN89tt92mlJQUNWvWzOn7Lo1HHnlEFy5c0Jo1a1SjRg01bNjQJY/z3nvv6d///rcmT57skv2b4dtvv9Xs2bPVvXt3lz1vAFBRkf9dq6j5//z584qKitL58+f15z//Wa1bt9alS5f0n//8R+vWrdOBAwfUqlWrsg0eAOCWyN2u5Yrc3b9/f6WkpCg8PLwMewKUHYroqFBatGih9u3bS5J69Oih3NxcvfDCC9qwYYMeeughk6Mr3JUrV2SxWBQQEKCoqCin7ffixYuqUqVKqffz73//W+PGjVPfvn2dEFXZu3Tpkvz9/c0OAwDgZOR/+8o6/7///vv64Ycf9Pnnn6tHjx4298XExOjatWuljgUA4BnI3fa5c+6uXbu2ateuXerYAHfFdC6o0PKS2U8//SRJunz5suLi4tSoUSP5+Piobt26mjhxos6cOWOz3eeff67u3bsrODhY/v7+ql+/vgYPHqyLFy/qxx9/tCaO2bNnW3+GNnr0aOv233//vR588EGFhITI19dXTZs21aJFi2weI+9nX++++66eeuop1a1bV76+vvrhhx8c/iRs48aNio6OVpUqVVS9enX16tVLKSkpNm1mzZoli8Wiffv2aciQIapRo4YaN25c4PP073//WwMHDlSNGjXk5+enNm3a6J133rHen/ezratXr2rJkiXWPhdHXp+SkpL07LPPqk6dOgoICNBdd92lI0eOWNt1795dH330kX766Sebn/nlycnJ0YsvvqjIyEj5+vqqdu3aGjNmjE6ePGnzeA0bNtQ999yjdevWqW3btvLz87OegZCenq7x48crIiJCPj4+qlOnjoYMGaJffvnFun1WVpamTp1q87cyefJkXbhwweZx8qatefPNN3XrrbfK19dXzZo105o1a2yev/vvv1/S9QFiXp8SExOL9RwCAIqG/G9O/j99+rQkOTxDzcur8K8mb7/9tlq3bi0/Pz/VrFlTgwYN0uHDh23ajB49WtWqVdOhQ4fUs2dPVa1aVbVr19akSZN08eJFm7aGYWjx4sVq06aN/P39VaNGDQ0ZMkT//e9/C40FAFB2yN3un7vtTediGIZeeuklNWjQQH5+fmrfvr22bNmi7t2725z5n/c8vffee3r66acVHh6uatWqacCAAfrll1907tw5jR8/XrVq1VKtWrU0ZswYnT9/3iaWRYsWqWvXrgoJCVHVqlXVsmVLvfzyy7py5UqBzxlQVJyJjgrthx9+kHT9iKlhGLr33nu1detWxcXFqUuXLvr66681c+ZMpaSkKCUlRb6+vvrxxx/Vv39/denSRW+//baCgoKUnp6uzZs3KycnR+Hh4dq8ebPuvvtujR07Vo8++qj1MaTr03Z06tRJ9evX16uvvqqwsDB98skneuKJJ3Tq1CnNnDnTJsa4uDhFR0dr6dKl8vLyUkhIiDIzM/P15b333tNDDz2k3r17KykpSdnZ2Xr55ZfVvXt3bd26VXfccYdN+/vuu0/Dhw/XhAkT8hV+f+/IkSPq1KmTQkJCtGDBAgUHB2vVqlUaPXq0fvnlF8XGxlp/thUdHa0hQ4boqaeeKvFrMm3aNHXu3Fl//etflZWVpaeffloDBgzQ4cOH5e3trcWLF2v8+PE6evSo1q9fb7PttWvXNHDgQH3xxReKjY1Vp06d9NNPP2nmzJnq3r27UlNTbc4037dvnw4fPqzp06erUaNGqlq1qtLT09WhQwdduXJF06ZNU6tWrXT69Gl98skn+u233xQaGqqLFy+qW7du+vnnn61tDh06pBkzZuibb77RZ599ZjMQ2bhxo7Zt26bnn39eVatW1eLFi/XAAw+oUqVKGjJkiPr376+XXnpJ06ZN06JFi3TbbbdJUqEDJABAyZD/zcn/0dHRkqSRI0dq2rRp6tKli4KDgwt5tf5PfHy8pk2bpgceeEDx8fE6ffq0Zs2apejoaO3Zs0e33HKLte2VK1fUr18/PfbYY3rmmWe0e/duvfjii/rpp5/04YcfWts99thjSkxM1BNPPKG5c+fq119/1fPPP69OnTrp4MGDCg0NLXJ8AADXIXeXz9z97LPPKj4+XuPHj9d9992n48eP69FHH9WVK1d066235ms/bdo09ejRQ4mJifrxxx81depU63fn1q1bKykpSfv379e0adNUvXp1LViwwLrt0aNH9eCDD1oPrBw8eFBz5szRd999p7fffrvIMQMOGUAFsGLFCkOS8eWXXxpXrlwxzp07Z/zjH/8wateubVSvXt3IzMw0Nm/ebEgyXn75ZZtt165da0gyli1bZhiGYfz97383JBkHDhxw+HgnT540JBkzZ87Md1+fPn2MevXqGWfPnrVZP2nSJMPPz8/49ddfDcMwjG3bthmSjK5du+bbR95927ZtMwzDMHJzc406deoYLVu2NHJzc63tzp07Z4SEhBidOnWyrps5c6YhyZgxY0bBT9r/N3z4cMPX19dIS0uzWd+3b1+jSpUqxpkzZ6zrJBkTJ04s0n5vbJvXp379+tm0+9vf/mZIMlJSUqzr+vfvbzRo0CDfPpOSkgxJRnJyss36PXv2GJKMxYsXW9c1aNDA8Pb2No4cOWLT9pFHHjEqV65sfPvttw5jj4+PN7y8vIw9e/bYrM/72/j4449t+unv729kZmZa1129etWIjIw0br75Zuu6999/3+Y1BQCUHvnf/fL/888/b/j4+BiSDElGo0aNjAkTJhgHDx60aZf32h07dswwDMP47bffDH9//3zjhLS0NMPX19d48MEHretGjRplSDLmz59v03bOnDmGJGPXrl2GYRhGSkqKIcl49dVXbdodP37c8Pf3N2JjY4vUJwCA85C7PSd3//rrr4avr68xbNgwm3Z5+bdbt27WdXnP04ABA2zaTp482ZBkPPHEEzbr7733XqNmzZoOY87NzTWuXLlirFy50vD29ra+VkBpMJ0LKpSoqChVrlxZ1atX1z333KOwsDBt2rRJoaGh+vzzzyXJ5qdbknT//feratWq2rp1qySpTZs28vHx0fjx4/XOO+8U6+e+ly9f1tatWzVo0CBVqVJFV69etd769euny5cv68svv7TZZvDgwYXu98iRI/rf//6nESNG2Pycqlq1aho8eLC+/PLLfD9fLsp+pes/f+vZs6ciIiJs1o8ePVoXL17M95Oz0vrDH/5gs5x3kZK8n+0V5B//+IeCgoI0YMAAm+e2TZs2CgsLy/cTulatWuU7+r1p0yb16NFDTZs2LfBxWrRooTZt2tg8Tp8+fez+VK9nz542Z7J5e3tr2LBh+uGHH/Tzzz8X2i8AQOmQ/4u3X8l1+f+5555TWlqa3n77bT322GOqVq2ali5dqnbt2ikpKcnhdikpKbp06VK+1ykiIkJ33nmn9XX6vRvnzH3wwQclSdu2bZN0PZ9bLBY9/PDDNq9JWFiYWrdunS+fAwDKDrm7ePuV3C93f/nll8rOztbQoUNt1kdFRTm8kOk999xjs5z3vbx///751v/66682U7rs379ff/jDHxQcHCxvb29VrlxZI0eOVG5urv7zn/8Up8uAXRTRUaGsXLlSe/bs0f79+/W///1PX3/9tTp37izp+lxflSpVynchDIvForCwMOtcYI0bN9Znn32mkJAQTZw4UY0bN1bjxo01f/78Qh//9OnTunr1qt544w1VrlzZ5tavXz9J0qlTp2y2KcqVrQuap6xOnTq6du2afvvtt2LvN2/fjvb7+8d2lht/Gubr6yvp+kU/C/PLL7/ozJkz8vHxyff8ZmZmFum5PXnypOrVq1fo43z99df5HqN69eoyDCPf44SFheXbR946Zz9/AID8yP/F22/evl2V/0NDQzVmzBgtXbpUX3/9tXbs2CEfHx89+eSTBcYjOe7rjfFUqlQp35jixtz7yy+/yDAMhYaG5ntdvvzyy3yvCQCg7JC7i7ffvH27Y+62NzWao+nSatasabPs4+NT4PrLly9LktLS0tSlSxelp6dr/vz5+uKLL7Rnzx7r/PVFqScAhWFOdFQoTZs2tV7h+0bBwcG6evWqTp48aZOMDcNQZmamOnToYF3XpUsXdenSRbm5uUpNTdUbb7yhyZMnKzQ0VMOHD3f4+DVq1JC3t7dGjBihiRMn2m3TqFEjm+WiXKAz70tiRkZGvvv+97//ycvLSzVq1Cj2fvP27Wi/klSrVq0i7acs1KpVS8HBwdq8ebPd+6tXr26zbO85qF27dqFnh9eqVUv+/v4O51W78TmxNw9e3rrizCcHACgZ8n/x9pu377LK/127dlXv3r21YcMGnThxQiEhIXbjkRz39cZ4rl69qtOnT9vk2Rtzb61atWSxWPTFF19YD9r/nr11AICyQe4u3n7z9u2OufuXX37Jd19mZqbDs9FLYsOGDbpw4YLWrVunBg0aWNcfOHDAaY8BcCY68P/17NlTkrRq1Sqb9cnJybpw4YL1/t/z9vZWx44drUc39+3bJ8nx2dNVqlRRjx49tH//frVq1Urt27fPdytJUbVJkyaqW7eu3nvvPRmGYV1/4cIFJScnW6/6XRI9e/bU559/bk28eVauXKkqVapYr5Jelnx9fe0eSb7nnnt0+vRp5ebm2n1umzRpUui++/btq23btunIkSMO29xzzz06evSogoOD7T7OjYOBrVu32gwccnNztXbtWjVu3Nh61ntxzrgHADgP+d8+V+T/X375RdeuXcu3Pjc3V99//72qVKmioKAgu9tGR0fL398/3+v0888/W3++fqPVq1fbLL/33nuSpO7du0u6ns8Nw1B6errd16Rly5bF7iMAwPXI3fa5W+7u2LGjfH19tXbtWpv1X375ZZGmay2OvAMNvz8AbhiG3nrrLac+Dio2zkQH/r9evXqpT58+evrpp5WVlaXOnTtbr/Ddtm1bjRgxQpK0dOlSff755+rfv7/q16+vy5cvW89IvuuuuyRdP+O5QYMG+uCDD9SzZ0/VrFlTtWrVUsOGDTV//nzdcccd6tKli/74xz+qYcOGOnfunH744Qd9+OGH1vndisPLy0svv/yyHnroId1zzz167LHHlJ2drVdeeUVnzpzRX/7ylxI/LzNnztQ//vEP9ejRQzNmzFDNmjW1evVqffTRR3r55ZcVGBhY4n2XVMuWLbVu3TotWbJE7dq1k5eXl9q3b6/hw4dr9erV6tevn5588kndfvvtqly5sn7++Wdt27ZNAwcO1KBBgwrc9/PPP69Nmzapa9eumjZtmlq2bKkzZ85o8+bNiomJUWRkpCZPnqzk5GR17dpVU6ZMUatWrXTt2jWlpaXp008/1VNPPaWOHTta91mrVi3deeedeu6551S1alUtXrxY3333ndasWWNt06JFC0nSsmXLVL16dfn5+alRo0acqQ4ALkb+t88V+f/dd9/Vm2++qQcffFAdOnRQYGCgfv75Z/31r3/VoUOHNGPGDOvPs28UFBSk5557TtOmTdPIkSP1wAMP6PTp05o9e7b8/Pw0c+ZMm/Y+Pj569dVXdf78eXXo0EG7d+/Wiy++qL59++qOO+6QJHXu3Fnjx4/XmDFjlJqaqq5du6pq1arKyMjQrl271LJlS/3xj38s/pMHAHApcrd97pa7a9asqZiYGMXHx6tGjRoaNGiQfv75Z82ePVvh4eE2c8KXVq9eveTj46MHHnhAsbGxunz5spYsWZJvahygVMy6oilQlvKuEr1nz54C2126dMl4+umnjQYNGhiVK1c2wsPDjT/+8Y/Gb7/9Zm2TkpJiDBo0yGjQoIHh6+trBAcHG926dTM2btxos6/PPvvMaNu2reHr62tIMkaNGmW979ixY8Yjjzxi1K1b16hcubJRu3Zto1OnTsaLL75obZN3der3338/X5w3XuE7z4YNG4yOHTsafn5+RtWqVY2ePXsa//znP23a5F3h++TJk4U8a//nm2++MQYMGGAEBgYaPj4+RuvWrY0VK1bka6diXOH7xraO+nvs2DFDks3j/frrr8aQIUOMoKAgw2KxGL//KLty5Yoxb948o3Xr1oafn59RrVo1IzIy0njssceM77//3tquQYMGRv/+/e3Gdvz4ceORRx4xwsLCjMqVKxt16tQxhg4davzyyy/WNufPnzemT59uNGnSxPDx8TECAwONli1bGlOmTDEyMzPz9XPx4sVG48aNjcqVKxuRkZHG6tWr8z1uQkKC0ahRI8Pb2ztfnwEAxUf+/z/ukP+//fZb46mnnjLat29v1K5d26hUqZJRo0YNo1u3bsa7775r0zbvtTt27JjN+r/+9a9Gq1atrLl34MCBxqFDh2zajBo1yqhatarx9ddfG927dzf8/f2NmjVrGn/84x+N8+fP54vr7bffNjp27GhUrVrV8Pf3Nxo3bmyMHDnSSE1NLfxJAgA4Fbn7/3hC7r527Zrx4osvGvXq1TN8fHyMVq1aGf/4xz+M1q1bG4MGDbK2c/QcOvp7sPfcfPjhh9Y6QN26dY0///nPxqZNm+w+/0BJWAzjd78fAQA4lcVi0cSJE7Vw4UKzQwEAoEIYPXq0/v73v+v8+fNmhwIAAG5w7NgxRUZGaubMmZo2bZrZ4QBFxnQuAAAAAAAAAJzq4MGDSkpKUqdOnRQQEKAjR47o5ZdfVkBAgMaOHWt2eECxUEQHAAAAAAAA4FRVq1ZVamqqli9frjNnzigwMFDdu3fXnDlzFBoaanZ4QLEwnQsAAAAAAAAAAA4471K4AAAAAAAAAAB4GIroAAAAAAAAAAA4QBEdAAAAAAAAAAAHKtyFRa9du6b//e9/ql69uiwWi9nhAAAgwzB07tw51alTR15eHN8uCHkcAOBuyONFRx4HALiboubxCldE/9///qeIiAizwwAAIJ/jx4+rXr16Zofh1sjjAAB3RR4vHHkcAOCuCsvjFa6IXr16dUnXn5iAgACTowFcKDJSysiQwsOl774zOxoABcjKylJERIQ1R8Ex8jjgAowZgFIhjxcdeRzlFrkS8FhFzeMVroie95OxgIAAkjY8W95PULy8JP7WgXKBnzUXjjwOuABjBsApyOOFI4+j3CJXAh6vsDzOhG0AAAAAAAAAADhAER0AAAAAAAAAAAcoogMAAAAAAAAA4ECFmxMdQMVz7do15eTkmB0GKrDKlSvL29vb7DAAAHYwTkBhyOMA4Hy5ubm6cuWK2WGgAnBWHqeIDsCj5eTk6NixY7p27ZrZoaCCCwoKUlhYGBcdAwA3wjgBRUUeBwDnMAxDmZmZOnPmjNmhoAJxRh6niA7AYxmGoYyMDHl7eysiIkJeXsxghbJnGIYuXryoEydOSJLCw8NNjggAIDFOQNGQxwHAufIK6CEhIapSpQoHJ+FSzszjFNEBeKyrV6/q4sWLqlOnjqpUqWJ2OKjA/P39JUknTpxQSEgIPwkHADfAOAFFRR4HAOfIzc21FtCDg4PNDgcVhLPyOEV0wFP9/LPZEZguNzdXkuTj42NyJICsBZorV67w5RuAe6mgYwbGCSgO8jhQwVXQXOlseXOgc/AaZc0ZeZzfLALwePw8DO6Av0MAcE98PqMo+DsBAOfhMxVlzRl/cxTRAQAAAAAAAABwgCI6AAAAAMDpLBaLNmzYYHYYAABUKORf16CIDniq2bOlmJjr/6LcsFgsBd5Gjx5dZrGMHj1a9957b7G2KW/JetasWWrTpk2Jtl22bJm6d++ugIAAWSwWnTlzxqmxAUCZYcxQbrjTOOHEiRN67LHHVL9+ffn6+iosLEx9+vRRSkpKmcVQUgcPHtQDDzygiIgI+fv7q2nTppo/f77ZYQFwZ+TKCq285d+MjAz17du3zGIqrd9++00jRoxQYGCgAgMDNWLEiEK/X48ePTrf6xAVFeXSOLmwKOCp3npLSk+X6taVZs40OxoUUUZGhvX/a9eu1YwZM3TkyBHruryrSue5cuWKKleuXGbxlZXy0K+LFy/q7rvv1t133624uDizwwGAkmPMUG640zhh8ODBunLlit555x3ddNNN+uWXX7R161b9+uuvLnk8Z9q7d69q166tVatWKSIiQrt379b48ePl7e2tSZMmmR0eAHdErqzQylv+DQsLc8lju8qDDz6on3/+WZs3b5YkjR8/XiNGjNCHH35Y4HZ33323VqxYYV129cXiORMdANxIWFiY9RYYGCiLxWJdvnz5soKCgvS3v/1N3bt3l5+fn1atWmX3bOqEhAQ1bNjQZt2KFSvUtGlT+fn5KTIyUosXLy5WbN27d9cTTzyh2NhY1axZU2FhYZo1a5b1/rzHGzRokCwWi83jf/jhh2rXrp38/Px00003afbs2bp69ar1fovFoqVLl2rgwIGqWrWqXnzxRUnSxo0b1b59e/n5+alWrVq67777rNvk5OQoNjZWdevWVdWqVdWxY0dt377den9iYqKCgoK0YcMG3XrrrfLz81OvXr10/Phx6/2zZ8/WwYMHrUeuExMTi/x8TJ48Wc8884zLj3YDAJDHXcYJZ86c0a5duzR37lz16NFDDRo00O233664uDj179/f4XbffPON7rzzTvn7+ys4OFjjx4/X+fPnrffn/Qpu9uzZCgkJUUBAgB577DHl5ORY2xiGoZdfflk33XST/P391bp1a/39738v1vP4yCOPaMGCBerWrZtuuukmPfzwwxozZozWrVtXrP0AACqG8pZ/b/yF+O7du9WmTRv5+fmpffv22rBhgywWiw4cOCBJ2r59uywWiz755BO1bdtW/v7+uvPOO3XixAlt2rRJTZs2VUBAgB544AFdvHjRut/NmzfrjjvuUFBQkIKDg3XPPffo6NGjxXpuDx8+rM2bN+uvf/2roqOjFR0drbfeekv/+Mc/bA5U2JN3Jn7erWbNmsV67OKiiA4A5czTTz+tJ554QocPH1afPn2KtM1bb72lZ599VnPmzNHhw4f10ksv6bnnntM777xTrMd+5513VLVqVX311Vd6+eWX9fzzz2vLli2SpD179ki6PgjIyMiwLn/yySd6+OGH9cQTT+jbb7/Vm2++qcTERM2ZM8dm3zNnztTAgQP1zTff6JFHHtFHH32k++67T/3799f+/fu1detWtW/f3tp+zJgx+uc//6k1a9bo66+/1v3336+7775b33//vbXNxYsXNWfOHL3zzjv65z//qaysLA0fPlySNGzYMD311FNq3ry5MjIylJGRoWHDhkm6/iW+e/fuxXpuAABwB2UxTqhWrZqqVaumDRs2KDs7u0iPkfcLrho1amjPnj16//339dlnn+U783vr1q06fPiwtm3bpqSkJK1fv16zfzd9wvTp07VixQotWbJEhw4d0pQpU/Twww9rx44d1jYNGza0OdBfFGfPnnX5l28AgOdy1/x77tw5DRgwQC1bttS+ffv0wgsv6Omnn7bbdtasWVq4cKF2796t48ePa+jQoUpISNB7772njz76SFu2bNEbb7xhbX/hwgXFxMRoz5492rp1q7y8vDRo0CBdu3bN2qZ79+4FTneTkpKiwMBAdezY0bouKipKgYGB2r17d4F92759u0JCQnTrrbdq3LhxOnHiRJGek5JiOhcAFc9rr12/Fea226SNG23X/eEP0r59hW8bE3P95gKTJ0+2OSO7KF544QW9+uqr1u0aNWpkLWiPGjWqyPtp1aqVZv7/ny/ecsstWrhwobZu3apevXqpdu3akqSgoCCbn4/NmTNHzzzzjPVxbrrpJr3wwguKjY217ku6/hOuRx55xLr8wAMPaPjw4TZfnFu3bi1JOnr0qJKSkvTzzz+rTp06kqSpU6dq8+bNWrFihV566SVJ139Gt3DhQmtCfuedd9S0aVP961//0u23365q1aqpUqVK+X7uFh4ebpP4AQAVCOOEQscJlSpVUmJiosaNG6elS5fqtttuU7du3TR8+HC1atXK7mOsXr1aly5d0sqVK1W1alVJ0sKFCzVgwADNnTtXoaGhkq7/FPvtt99WlSpV1Lx5cz3//PP685//rBdeeEGXLl3Sa6+9ps8//1zR0dGSro8rdu3apTfffFPdunWTJDVu3Fi1atUqcv9TUlL0t7/9TR99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DVVVVZg3bx60Wi1OnDiBzz//HMDz/WLb3t4ebdu2xfbt23HlyhWcOnUKixcvrnd7RC0Fk+hELdQXX3yB5ORkdOrUCe7u7gAAf39/fP/990hOToanpycGDRqEDRs2oEuXLrW2NWLECBw4cACJiYlwc3ODr68vMjMzlfLY2FjMmjULS5YsQffu3fHuu+8iMzMTnTp1UupYW1sjLCwM06ZNg7e3NzQaDfbv36+UT5gwAaNHj8bIkSPRrl07JCQkvOA1QkRE1DTY2trCy8sLGzduxPDhw9GnTx988sknmDt3LjZv3vxUfWtra5w4cQK3b9+Gp6cnJk6cCD8/v6fq+vn5oVu3bhg+fDgmT56MsWPHIjIyUilfvXo1wsPDsXbtWvTs2RP+/v44evSoch9VIiIi0s/Q+dvOzg5Hjx5FTk4O3NzcsGLFCoSHhwPQvd2qoczMzLB//36cP38effr0QWhoKD777LN6t0fUUqhE3w2ViIgaSVxcHEJCQlBWVmbsrhAREbVIQUFBKCsrq/Hn5ERERGQa9u7di+DgYPz999+1PpuMiF483hOdiIiIiIiIiIjIxOzevRvOzs7o2LEjcnNzERYWhsmTJzOBTmQETKITERERERERERGZmJKSEoSHh6OkpAQODg6YNGkS1qxZY+xuEbVIvJ0LEREREREREREREZEefLAoEREREREREREREZEeTKITEREREREREREREenBJDoRERERERERERERkR5MohMRERERERERERER6cEkOhERERERERERERGRHkyiExERERERERERERHpwSQ6EREREREREREREZEeTKITEREREREREREREenBJDoRERERERERERERkR7/BY0MJZcjeL1nAAAAAElFTkSuQmCC", + "image/png": "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Wyfhm2++UYUKFezu+Pj+++914cIF2x+5tm3bpqpVq6pOnTqqXr26rFarDh8+bJu6pbj279+vO+64Q8OHD8/3/AQAAACUMVzDF9u1ruGbNGmipUuXKjs72zZo5epzrG7EiRMndODAAb311lu2/vbXX39d5P2Eh4crMzPTNp2qJH377bfKzMxU586dixRPSkrKNaeOuVE8WBQA3EBERISOHTum2bNn6+DBg3rjjTe0du1auzoxMTGKjY3Va6+9pp9++kn79u3TwoULNacw89IVQf369bVx40alp6fr1KlTkqQpU6Zo8eLFiomJ0f79+3XgwAG9//771x1ZOnXqVC1fvlxTp07VgQMHtG/fPs2ePVuS1KhRIz388MMaNmyYPvzwQyUnJ2v79u2aNWuWPv30U9s+KleurKeeekrffvutdu3apZEjR6pTp062Brx+/fpKTk7Wnj17dPz4cdtUI9HR0Ro2bNg140tPT9eePXv0yy+/SJL27dunPXv26OTJk8U7eaXI+fPnVaGC/WVExYoVbSMTwsLCFBwcbHuorHRlyo4tW7Zc82LIarXK19fX7uXuSuL7e+LECd1xxx1asmSJ9u7dq+TkZH3wwQeaPXu2+vfvX+A2Dz/8sDw9PTV8+HD997//1aZNm/TUU09p6NChdn8YycnJ0aOPPqoffvhBa9eu1dSpU/Xkk0+qQoUK8vHx0fjx4/XMM89o0aJFOnjwoHbv3q033njD7gFKPXr00Ny5cx2ek/3796t79+7q2bOnoqKilJ6ervT0dB07dqwopxYAAAAoEaXlGn7IkCG6fPmyRo0apQMHDuizzz7TK6+8IunG7r6uXr26/P39FR8fr19++UVffPGF3WCoq4YNG6bo6GiH+2natKnuvvtuPf7449q2bZu2bdumxx9/XH379lXjxo1t9Zo0aaJVq1ZJks6ePavx48crMTFRv/32mzZv3qx+/fqpZs2aGjBgQLGP6XpIogOAG2jatKnefPNNvfHGG2rdurW+++47jR8/3q7OY489pnfeeUcJCQlq2bKlunXrpoSEBIWFhTk1lldffVUbNmxQaGiobQ7ku+66S//5z3+0YcMGdejQQZ06ddKcOXNUr169a+4rIiJCH3zwgVavXq02bdrojjvu0Lfffmtbv3DhQg0bNkzPPvusGjdurHvuuUfffvut3chmb29vTZw4UUOGDFF4eLi8vLy0YsUK2/pBgwbp7rvvVvfu3RUQEKDly5dLktLS0nT48OFrxjd//ny1bdvWNsdd165d1bZtW60uhSMliqpfv36aMWOG1qxZo99++02rVq3SnDlzbBctFotF48aN08yZM7Vq1Sr997//1YgRI+Tt7a0hQ4aYHH3ZUhLf36pVq6pjx476f//v/6lr165q0aKFXnjhBT3++OMOk9fe3t767LPPdPLkSXXo0EH33XdfgcnuHj16qGHDhurataseeOAB9evXTzExMbb1L730kqZMmaLY2Fg1bdpUd911lz755BO7WA8ePKjjx487PCcffPCBjh07pqVLlyokJMT26tChw/VOJwAAAFDiSss1vK+vrz755BPt2bNHbdq00eTJkzVlyhRJ9lOnFlWFChW0YsUK7dy5Uy1atNAzzzyjl19+OV+9w4cPKy0t7Zr7Wrp0qVq2bKnIyEhFRkaqVatWeu+99+zqJCUlKTMzU9KVwVv79u1T//791ahRIw0fPlyNGjVSYmKifHx8in1M12MxHE2EU05lZWXJz89PmZmZjG6De3r4Yen4calmTWnpUpe8ZWmdb/XixYtKTk5WWFjYDTUeKLsSEhI0btw4nT592uxQJF37Z7K0tV9nzpzRCy+8oFWrVikjI0O1atXSQw89pClTpsjDw0PSlbn2pk2bprfeekunTp1Sx44d9cYbb9geMlMY1zpuvsOlz4gRI3T69GmHt5OaiZ+XgpXWNhpuyIRr1JJS2tpsV3HX44a5vu54l3zOntaZqtU099EYSbRjpRnXY6XD0qVLNXLkSGVmZl7zOWPliTP62syJDribMt4pAVA6+Pj4KC4uTnFxcQ7rWCwWxcTE2I1CBgCgQFyjAiiGq4lzAI4tXrxYDRo0UO3atfX9999r4sSJeuCBB9wmge4sJNEBAAAAAAAAoBxKT0/XlClTlJ6erpCQEN1///2aMWOG2WGVOSTRAQBua8SIERoxYoTZYQDlRkJCgtkhAAAAAPiDCRMmaMKECWaHUebxYFEAAAAAAAAAABxgJDrgbu64Qzp6VAoKkr74wuxoAAAAAK5RARTL83OelF/WKWX6Vtf0qLlmhwOgHCOJDribn36SUlOlzEyzIyk1Ll++bHYIgCR+FouL84bC4OcEKOW4RgVQDCFHU+R/+pi8L5w1OxQUAddlcDVn/MyRRAfgtjw8PFShQgX9/vvvCggIkIeHhywWi9lhwQ0ZhqGcnBwdO3ZMFSpUkIeHh9khlQl8h1EYfL8AAABKB67f4WrO7AuQRAfgtipUqKCwsDClpaXp999/NzscQN7e3qpbt64qVOCRJYXBdxhFwfcLAADAXFy/wyzO6AuQRAfg1jw8PFS3bl3l5uYqLy/P7HDgxipWrKhKlSoxEqOI+A6jMPh+AQAAlA5cv8PVnNUXIIkOwO1ZLBZVrlxZlStXNjsUAMXAdxgAAAAoO7h+R1nE/awAAAAAAAAAADhAEh0AAAAAAAAAAAdIogMAAAAAAAAA4ABJdAAAAAAAAAAAHODBooC7mTJFOntWqlrV7EgAAACAK7hGBVAMH/YZKWv2BWVbvcwOBUA5RxIdKMcGxyfmK1sxapQJkQAAAADXwDUqgGLY2PXeYm9bcH85/AaiAVCeMZ0LAAAAAAAAAAAOkEQHAAAAAAAAAMABpnMB3E1ampSXJ1WsKIWEmB0NAAAAwDUqgGKplnlcFS5f1uUKFXTar6bZ4QAox0iiA+6mQwcpNVWqXVs6csTsaAAAAACuUQEUy4yZj8r/9DGdqBagsbM+NjscAOUY07kAAAAAAAAAAOAASXQAAAAAAAAAABwgiQ4AAAAAAAAAgAMk0QEAAAAAAAAAcIAHiwIAAAAAAMDpBscn5itbMSrchEgA4MYwEh0AAAAAAAAAAAdIogMAAAAAAAAA4ABJdAAAAAAAAAAAHCCJDgAAAAAAAACAAzxYFHA3GzdKublSJb7+AAAAKCW4RgVQDNOfeV0VL+cpr0JFs0MBUM5xhQK4m8aNzY4AAAAAsMc1KoBiSAuuZ3YIANyEqdO5zJs3T61atZKvr698fX0VHh6utWvXXnObLVu2qF27dvL09FSDBg00f/58F0ULAAAAAAAAAHA3pibR69Spo3/84x/asWOHduzYoTvuuEP9+/fX/v37C6yfnJys3r17q0uXLtq9e7cmTZqkp59+WitXrnRx5AAAAAAAAAAAd2DqdC79+vWzW54xY4bmzZunbdu2qXnz5vnqz58/X3Xr1lVcXJwkqWnTptqxY4deeeUVDRo0yBUhA2XfsmXS+fOSt7c0ZIjZ0QAAAABcowIoltu+Wy+PnIvK8fDUN7dGmh0OgHKs1MyJnpeXpw8++EDnzp1TeHh4gXUSExMVGWn/S/Guu+7SggULdOnSJVWuXNkVoQIuNTg+MV/ZilEFf0cKZcIEKTVVql2bDgoAAABKB65RARTDkJVvyP/0MZ2oFkASHUCJMj2Jvm/fPoWHh+vixYuqWrWqVq1apWbNmhVYNz09XUFBQXZlQUFBys3N1fHjxxUSEpJvm+zsbGVnZ9uWs7KynHsAAAAAAAAAAIByy9Q50SWpcePG2rNnj7Zt26a//vWvGj58uH744QeH9S0Wi92yYRgFll8VGxsrPz8/2ys0NNR5wQMAAAAAAAAAyjXTk+geHh66+eab1b59e8XGxqp169Z67bXXCqwbHBys9PR0u7KMjAxVqlRJ/v7+BW4THR2tzMxM2yslJcXpxwAAAAAAAAAAKJ9Mn87lzwzDsJt+5Y/Cw8P1ySef2JWtX79e7du3dzgfutVqldVqdXqcAAAAAAAAAIDyz9SR6JMmTdJXX32l3377Tfv27dPkyZO1efNmPfzww5KujCIfNmyYrf4TTzyhQ4cOKSoqSgcOHNC7776rBQsWaPz48WYdAgAAbqt+/fqyWCz5XmPHjpV05Q/jMTExqlWrlry8vBQREaH9+/ebHDUAAAAAAEVjahL96NGjGjp0qBo3bqwePXro22+/1bp169SzZ09JUlpamg4fPmyrHxYWpk8//VSbN29WmzZt9NJLL+n111/XoEGDzDoEAADc1vbt25WWlmZ7bdiwQZJ0//33S5Jmz56tOXPmaO7cudq+fbuCg4PVs2dPnTlzxsywAQAAAAAoElOnc1mwYME11yckJOQr69atm3bt2lVCEQEAgMIKCAiwW/7HP/6hm266Sd26dZNhGIqLi9PkyZM1cOBASdKiRYsUFBSkZcuWafTo0WaEDAAAAABAkZn+YFEAAFD25eTkaMmSJXrkkUdksViUnJys9PR0RUZG2upYrVZ169ZNW7dudbif7OxsZWVl2b0AAAAAADATSXTA3QQHS7VrX/kXAJzko48+0unTpzVixAhJUnp6uiQpKCjIrl5QUJBtXUFiY2Pl5+dne4WGhpZYzACAUoRrVADFcNrXXyeqBei0r7/ZoQAo50ydzgWACXbsMDuCIhkcn5ivbMWocBMiAXAtCxYsUK9evVSrVi27covFYrdsGEa+sj+Kjo5WVFSUbTkrK4tEOgC4gzJ2jQqUB+WhrzV58rtmhwDATZBEBwAAN+TQoUP6/PPP9eGHH9rKgv83kjA9PV0hISG28oyMjHyj0//IarXKarWWXLAAAAAAABQR07kAAIAbsnDhQgUGBqpPnz62srCwMAUHB2vDhg22spycHG3ZskWdO3c2I0wAAAAAAIqFkegAAKDYLl++rIULF2r48OGqVOn/LissFovGjRunmTNnqmHDhmrYsKFmzpwpb29vDRkyxMSIAQAAAAAoGpLogLsZPVo6eVKqUUN66y2zowFQxn3++ec6fPiwHnnkkXzrJkyYoAsXLmjMmDE6deqUOnbsqPXr18vHx8eESAEApRrXqACK4bEls1T1XJbOVvHVO3+ZaHY4AMoxkuiAu1mzRkpNlWrXNjsSAOVAZGSkDMMocJ3FYlFMTIxiYmJcGxQAoOzhGhVAMbTdt1X+p4/pRLUAs0MBUM4xJzoAAAAAAG4uNzdXzz//vMLCwuTl5aUGDRroxRdf1OXLl80ODQAA0zESHQAAAAAANzdr1izNnz9fixYtUvPmzbVjxw6NHDlSfn5++tvf/mZ2eAAAmIokOgAAAAAAbi4xMVH9+/dXnz59JEn169fX8uXLtWPHDpMjAwDAfEznAgAAAACAm7v99tu1ceNG/fTTT5Kk77//Xl9//bV69+5tcmQAAJiPkegACmVwfGKJ72/FqHCnvgcAAACAwpk4caIyMzPVpEkTVaxYUXl5eZoxY4YeeuihAutnZ2crOzvbtpyVleWqUAGXou8KQGIkOgAAAAAAbu/999/XkiVLtGzZMu3atUuLFi3SK6+8okWLFhVYPzY2Vn5+frZXaGioiyMGAMB1SKIDAAAAAODm/v73v+u5557T4MGD1bJlSw0dOlTPPPOMYmNjC6wfHR2tzMxM2yslJcXFEQMA4DpM5wIAAAAAgJs7f/68KlSwH2dXsWJFXb58ucD6VqtVVqvVFaEBAGA6kuiAu3noIenUKal6dbMjAQAAAK7gGtV0/fr104wZM1S3bl01b95cu3fv1pw5c/TII4+YHRrg0NYOPVXl/Bmd8/YxOxQA5RxJdMDdvPyy2REAAAAA9rhGNd0///lPvfDCCxozZowyMjJUq1YtjR49WlOmTDE7NMChpfc9aXYIANwESXQAAAAAANycj4+P4uLiFBcXZ3YoAACUOjxYFAAAAAAAAAAAB0iiAwAAAAAAAADgANO5AO6mSRPp99+lWrWkH380OxoAAACAa1QAxfLqlMGqnnlcp/xq6tkXV5gdDoByjCQ6UAYNjk/MV7ZiVHihtj1x9KT8z5zRiaMnNfZ/+ynstmXJjZwjAAAAuNjZs9KZM1f+BYBC8sy+IO+L53XB84LZoQAo55jOBQAAAAAAAAAAB0iiAwAAAAAAAADgAEl0AAAAAAAAAAAcIIkOAAAAAAAAAIADJNEBAAAAAAAAAHCAJDoAAAAAAAAAAA6QRAcAAAAAAAAAwAGS6AAAAAAAAAAAOFDJ7AAAuNaChyeo8qVsXapsNTsUAAAA4Ir586ULFyQvL7MjAVCG0L8F4Cok0QE3s6vVbWaHcMMGxyfmK1sxKtyESAAAAOAUffuaHQGAUq6gfqBM6t/SJwXcD9O5AAAAAAAAAADgAEl0AAAAAAAAAAAcYDoXwM2EHfpRlXIvKbdSZSXXa2J2OAAAAIC0c6eUkyN5eEjt2pkdDYAygv4tAFchiQ64mfFvTpT/6WM6US1AY2d9bHY4AAAAgNS/v5SaKtWuLR05YnY0AMoI+rcAXIXpXAAAAAAAAAAAcIAkOgAAAAAAAAAADpBEBwAAAAAAAADAAZLoAAAAAAAAAAA4QBIdAAAAAAAAAAAHKpkdAAAAAAAAAFDeDI5PzFe2YlS4CZEAuFGMRAcAAAAAAAAAwAGS6AAAAAAAAAAAOEASHQAAFEtqaqr+8pe/yN/fX97e3mrTpo127txpW28YhmJiYlSrVi15eXkpIiJC+/fvNzFiAAAAAACKjjnRATfz7LRlshiSYTE7EgBl2alTp3Tbbbepe/fuWrt2rQIDA3Xw4EFVq1bNVmf27NmaM2eOEhIS1KhRI02fPl09e/ZUUlKSfHx8zAseAFD6HDggGYZk4SIVQOHRvwXgKqaORI+NjVWHDh3k4+OjwMBA3XvvvUpKSrrmNps3b5bFYsn3+vHHH10UNVC2XfSsogteVXTRs4rZoQAow2bNmqXQ0FAtXLhQt956q+rXr68ePXropptuknRlFHpcXJwmT56sgQMHqkWLFlq0aJHOnz+vZcuWmRw9AKDU8fGRfH2v/AsAhUT/FoCrmJpE37Jli8aOHatt27Zpw4YNys3NVWRkpM6dO3fdbZOSkpSWlmZ7NWzY0AURAwAASVq9erXat2+v+++/X4GBgWrbtq3efvtt2/rk5GSlp6crMjLSVma1WtWtWzdt3brV4X6zs7OVlZVl9wIAAAAAwEymTueybt06u+WFCxcqMDBQO3fuVNeuXa+5bWBgoN0t4wAAwHV+/fVXzZs3T1FRUZo0aZK+++47Pf3007JarRo2bJjS09MlSUFBQXbbBQUF6dChQw73Gxsbq2nTppVo7AAAAAAAFEWpmhM9MzNTklSjRo3r1m3btq0uXryoZs2a6fnnn1f37t0LrJedna3s7GzbMiPa4O56b1gu74vndN6zij7t+ZDZ4QAooy5fvqz27dtr5syZkq60y/v379e8efM0bNgwWz3Ln+a2NQwjX9kfRUdHKyoqyraclZWl0NBQJ0cPACh15syRsrKuTOnyh3YAAK6F/i0AVyk1SXTDMBQVFaXbb79dLVq0cFgvJCRE8fHxateunbKzs/Xee++pR48e2rx5c4Gj1xnRBtjr8/kK+Z8+phPVArjIAFBsISEhatasmV1Z06ZNtXLlSklScHCwJCk9PV0hISG2OhkZGflGp/+R1WqV1WotgYgBAKXanDlSaqpUuzZJdACFRv8WgKuUmiT6k08+qb179+rrr7++Zr3GjRurcePGtuXw8HClpKTolVdeKTCJzog24PoGxyfaLa8YFW5SJADKittuuy3fw8B/+ukn1atXT5IUFham4OBgbdiwQW3btpUk5eTkaMuWLZo1a5bL4wUAAEDp8Of+pyv2Tx8XwI0qFUn0p556SqtXr9aXX36pOnXqFHn7Tp06acmSJQWuY0QbAADO98wzz6hz586aOXOmHnjgAX333XeKj49XfHy8pCvTuIwbN04zZ85Uw4YN1bBhQ82cOVPe3t4aMmSIydEDAAAAAFB4pibRDcPQU089pVWrVmnz5s0KCwsr1n52795td6s4AAAoWR06dNCqVasUHR2tF198UWFhYYqLi9PDDz9sqzNhwgRduHBBY8aM0alTp9SxY0etX79ePj4+JkYOAAAAAEDRmJpEHzt2rJYtW6aPP/5YPj4+Sk9PlyT5+fnJy8tL0pXpWFJTU7V48WJJUlxcnOrXr6/mzZsrJydHS5Ys0cqVK21zsAIAANfo27ev+vbt63C9xWJRTEyMYmJiXBcUAAAAAABOZmoSfd68eZKkiIgIu/KFCxdqxIgRkqS0tDQdPnzYti4nJ0fjx49XamqqvLy81Lx5c61Zs0a9e/d2VdgAAAAAAAAAADdh+nQu15OQkGC3PGHCBE2YMKGEIgIAAAAAAAAA4P9UMDsAAAAAAAAAAABKK5LoAAAAAAAAAAA4YOp0LgBcL7luY52oHqgsn+pmhwIAAABcccstUmioFBBgdiQAyhD6twBchSQ64GZeGTvb7BAAAAAAe6tXmx0BgDKI/i0AVyGJDgAAAAAAAA2OT8xXtmJUuAmRAEDpwpzoAAAAAAAAAAA4QBIdAAAAAAAAAAAHmM4FcDPj35gg3zOnlOVTnfnjAAAAUDrcc4907NiVB4syPzqAQqJ/C8BVSKIDbibscJL8Tx/TiWoBZocCAAAAXLFrl5SaKtWubXYkAMoQ+rcAXIXpXAAAAAAAAAAAcIAkOgAAAAAAAAAADpBEBwAAAAAAAADAAZLoAAAAAAAAAAA4QBIdAAAAAAAAAAAHKpkdAADnGByfaHYIpV5B52jFqHATIgEAAAAA13F2f7Gs9a0Ke/w3cp7okwPlGyPRAQAAAAAAAABwgCQ6AAAAAAAAAAAOMJ0L4GbW3DlY3hfP6bxnFbNDAQAAAK6IipKysiRfX7MjAVCG0L8F4Cok0QE382nPh8wOAQAAALAXFWV2BADKIPq3AFyF6VwAAAAAAAAAAHCAJDoAAAAAAAAAAA4wnQvgZjwvnpPFkAyLdJF54wAAAFAanDkjGYZksUg+PmZHA6CMoH8LwFVIogNu5tWpQ+R/+phOVAvQ2Fkfmx0OAAAAIDVtKqWmSrVrS0eOmB0NgDKC/i0AV2E6FwAAAAAAAAAAHGAkOoB8BscnutX7/llBcawYFW5CJAAAAAAAADAbI9EBAAAAAAAAAHCAJDoAAAAAAAAAAA6QRAcAAAAAAAAAwAGS6AAAAAAAAAAAOEASHQAAAAAAAAAAB0iiAwAAAAAAAADgAEl0AAAAAAAAAAAcqGR2AABc65Uxs1Qp95JyK1U2OxQAAADgio8/lnJyJA8PsyNxa6mpqZo4caLWrl2rCxcuqFGjRlqwYIHatWtndmhAgejfAnAVkuiAm0mu18TsEAAAAAB7JGlNd+rUKd12223q3r271q5dq8DAQB08eFDVqlUzOzTAIfq3AFyFJDoAAAAAAG5u1qxZCg0N1cKFC21l9evXNy8gAABKEeZEBwAAxRITEyOLxWL3Cg4Otq03DEMxMTGqVauWvLy8FBERof3795sYMQAAcGT16tVq37697r//fgUGBqpt27Z6++23zQ4LAIBSgZHogJu5Ze83qnwpW5cqW7Wr1W1mhwOgjGvevLk+//xz23LFihVt/589e7bmzJmjhIQENWrUSNOnT1fPnj2VlJQkHx8fM8IFAJRW//mPdOGC5OUl9e1rdjRu6ddff9W8efMUFRWlSZMm6bvvvtPTTz8tq9WqYcOG5aufnZ2t7Oxs23JWVpYrwwUk0b8F4Dok0QE38+jS2fI/fUwnqgVoV6uPzQ4HQBlXqVIlu9HnVxmGobi4OE2ePFkDBw6UJC1atEhBQUFatmyZRo8e7epQAQCl2RNPSKmpUu3a0pEjZkfjli5fvqz27dtr5syZkqS2bdtq//79mjdvXoFJ9NjYWE2bNs3VYQJ26N8CcBWmcwEAAMX2888/q1atWgoLC9PgwYP166+/SpKSk5OVnp6uyMhIW12r1apu3bpp69atZoULAAAcCAkJUbNmzezKmjZtqsOHDxdYPzo6WpmZmbZXSkqKK8IEAMAUjEQHAADF0rFjRy1evFiNGjXS0aNHNX36dHXu3Fn79+9Xenq6JCkoKMhum6CgIB06dMjhPrk1HAAAc9x2221KSkqyK/vpp59Ur169AutbrVZZrVZXhAYAgOlIogMAgGLp1auX7f8tW7ZUeHi4brrpJi1atEidOnWSJFksFrttDMPIV/ZH3BoOAIA5nnnmGXXu3FkzZ87UAw88oO+++07x8fGKj483OzQAAEzHdC4AAMApqlSpopYtW+rnn3+2zZN+dUT6VRkZGflGp/8Rt4YDAGCODh06aNWqVVq+fLlatGihl156SXFxcXr44YfNDg0AANMxEh0AADhFdna2Dhw4oC5duigsLEzBwcHasGGD2rZtK0nKycnRli1bNGvWLIf74NZwAADM07dvX/Xt29fsMAAAKHVIogMAgGIZP368+vXrp7p16yojI0PTp09XVlaWhg8fLovFonHjxmnmzJlq2LChGjZsqJkzZ8rb21tDhgwxO3QAAAAAAAqNJDrgZIPjE/OVrRgVXuxtUbI450DxHTlyRA899JCOHz+ugIAAderUSdu2bbM9gGzChAm6cOGCxowZo1OnTqljx45av369fHx8TI4cAACgfKOfAwDORRIdAAAUy4oVK6653mKxKCYmRjExMa4JCAAAAACAEmDqg0VjY2PVoUMH+fj4KDAwUPfee6+SkpKuu92WLVvUrl07eXp6qkGDBpo/f74LogXKh4tWL5339NZFq5fZoQAAAABXVK0q+fhc+RcACon+LQBXMXUk+pYtWzR27Fh16NBBubm5mjx5siIjI/XDDz+oSpUqBW6TnJys3r176/HHH9eSJUv0zTffaMyYMQoICNCgQYNcfARA2fPsi9ceOQoAAAC43I8/mh0BgDKI/i0AVzE1ib5u3Tq75YULFyowMFA7d+5U165dC9xm/vz5qlu3ruLi4iRJTZs21Y4dO/TKK6+QRAcAAAAAAAAAOJWp07n8WWZmpiSpRo0aDuskJiYqMjLSruyuu+7Sjh07dOnSpRKNDwAAAAAAAADgXkrNg0UNw1BUVJRuv/12tWjRwmG99PR0BQUF2ZUFBQUpNzdXx48fV0hIiN267OxsZWdn25azsrKcGzgAAAAAAAAAoNwqNUn0J598Unv37tXXX3993boWi8Vu2TCMAsulKw8vnTZtmnOCBMqBh/89V1XOn9E5bx8tve9Js8MBAAAApL//XTp1SqpeXXr5ZbOjAVBG0L8F4CqlYjqXp556SqtXr9amTZtUp06da9YNDg5Wenq6XVlGRoYqVaokf3//fPWjo6OVmZlpe6WkpDg1dqCs6bx9g+745hN13r7B7FAAAACAK5YvlxYsuPIvABQS/VsArmLqSHTDMPTUU09p1apV2rx5s8LCwq67TXh4uD755BO7svXr16t9+/aqXLlyvvpWq1VWq9VpMQPAtQyOT8xXtmJUuAmRAAAAAAAAwBlMHYk+duxYLVmyRMuWLZOPj4/S09OVnp6uCxcu2OpER0dr2LBhtuUnnnhChw4dUlRUlA4cOKB3331XCxYs0Pjx4804BAAAAAAAAABAOVasJHpycrJT3nzevHnKzMxURESEQkJCbK/333/fVictLU2HDx+2LYeFhenTTz/V5s2b1aZNG7300kt6/fXXNWjQIKfEBABAeeesdhwAAJQOtO0AAJSsYk3ncvPNN6tr16569NFHdd9998nT07NYb371gaDXkpCQkK+sW7du2rVrV7HeEwAAd+esdhwAAJQOtO0AAJSsYo1E//7779W2bVs9++yzCg4O1ujRo/Xdd985OzYAAFACaMcBAChfaNsBAChZxUqit2jRQnPmzFFqaqoWLlyo9PR03X777WrevLnmzJmjY8eOOTtOAADgJLTjAACUL7TtAACUrBt6sGilSpU0YMAA/etf/9KsWbN08OBBjR8/XnXq1NGwYcOUlpbmrDgBAICT0Y4DAFC+0LYDAFAybiiJvmPHDo0ZM0YhISGaM2eOxo8fr4MHD+qLL75Qamqq+vfv76w4AQCAk9GOAwBQvtC2AwBQMor1YNE5c+Zo4cKFSkpKUu/evbV48WL17t1bFSpcycmHhYXprbfeUpMmTZwaLIAbt7tlZ1U9l6WzVXzNDgWASWjHAQClTp8+0smTUo0aZkdSJtG2w13RvwXgKsVKos+bN0+PPPKIRo4cqeDg4ALr1K1bVwsWLLih4AA43zt/mWh2CABMRjsOACh13nrL7AjKNNp2uCv6twBcpVhJ9A0bNqhu3bq2v2pfZRiGUlJSVLduXXl4eGj48OFOCRIo6wbHJ+YrWzEq3IRIyq+CzjGAgtGOAwBQvtC2uw/6lu6Lzx4wV7HmRL/pppt0/PjxfOUnT55UWFjYDQcFAABKDu04AADlC207AAAlq1hJdMMwCiw/e/asPD09byggAABQsmjHAQAoX2jbAQAoWUWaziUqKkqSZLFYNGXKFHl7e9vW5eXl6dtvv1WbNm2cGiAA55ox4xFVyzqh077+mjz5XbPDAeBCtOMAgFKrfXspPV0KDpZ27DA7mjKDth3ujv4tAFcpUhJ99+7dkq78lXvfvn3y8PCwrfPw8FDr1q01fvx450YIwKmqZZ2Q/+ljZocBwAS04wCAUis9XUpNNTuKMoe2He6O/i0AVylSEn3Tpk2SpJEjR+q1116Tr69viQQFAACcj3YcAIDyhbYdAADXKFIS/aqFCxc6Ow4AAOAitOMAAJQvtO0AAJSsQifRBw4cqISEBPn6+mrgwIHXrPvhhx/ecGAAAMB5aMcBAChfaNsBAHCdQifR/fz8ZLFYbP8HAABlB+04AADlC207AACuU+gk+h9vD+NWMQAAyhbacQAAyhfadgAAXKdYc6JfuHBBhmHI29tbknTo0CGtWrVKzZo1U2RkpFMDBAAAzkU7DgBA+ULbjpI0OD7RqfXcXWHO04pR4S6IBEBRVCjORv3799fixYslSadPn9att96qV199Vf3799e8efOcGiAAAHAu2nEAAMoX2nYAAEpWsZLou3btUpcuXSRJ//73vxUcHKxDhw5p8eLFev31150aIAAAcC7acQAAyhfadgAASlaxpnM5f/68fHx8JEnr16/XwIEDVaFCBXXq1EmHDh1yaoAAnGvZoLHyyLmoHA9Ps0MBYBLacQBAqTN7tnT+vPS/6UhQNLTtcFf0bwG4SrGS6DfffLM++ugjDRgwQJ999pmeeeYZSVJGRoZ8fX2dGiAA5/rmVuZEBNwd7TgAoNQZMsTsCMo02na4K/q3AFylWNO5TJkyRePHj1f9+vXVsWNHhYdfeeDB+vXr1bZtW6cGCAAAnIt2HACA8oW2HQCAklWskej33Xefbr/9dqWlpal169a28h49emjAgAFOCw4AADgf7TgAAOULbTsAACWrWEl0SQoODlZwcLBd2a233nrDAQEoWSHph1Txcp7yKlRUWnA9s8MBYBLacQBAqZKUJOXmSpUqSY0bmx1NmUTbDndE/xaAqxQriX7u3Dn94x//0MaNG5WRkaHLly/brf/111+dEhwA53v+/z0t/9PHdKJagMbO+tjscACYgHYcAFDq9OghpaZKtWtLR46YHU2ZQ9sOd0X/FoCrFCuJ/thjj2nLli0aOnSoQkJCZLFYnB0XAAAoIbTjAACUL7TtAACUrGIl0deuXas1a9botttuc3Y8QJkzOD7R7BAAoEhoxwEAKF9o2wEAKFkVirNR9erVVaNGDWfHAgAAXKAk2vHY2FhZLBaNGzfOVmYYhmJiYlSrVi15eXkpIiJC+/fvd+r7AgAA+ugAAJS0YiXRX3rpJU2ZMkXnz593djwAAKCEObsd3759u+Lj49WqVSu78tmzZ2vOnDmaO3eutm/fruDgYPXs2VNnzpxxyvsCAIAr6KMDAFCyijWdy6uvvqqDBw8qKChI9evXV+XKle3W79q1yynBAQAA53NmO3727Fk9/PDDevvttzV9+nRbuWEYiouL0+TJkzVw4EBJ0qJFixQUFKRly5Zp9OjRzjkYAABAHx0AgBJWrCT6vffe6+QwAACAqzizHR87dqz69OmjO++80y6JnpycrPT0dEVGRtrKrFarunXrpq1btzpMomdnZys7O9u2nJWV5bRYAQAor+ijAwBQsoqVRJ86daqz4wAAAC7irHZ8xYoV2rVrl7Zv355vXXp6uiQpKCjIrjwoKEiHDh1yuM/Y2FhNmzbNKfEBAOAu6KMDAFCyijUnuiSdPn1a77zzjqKjo3Xy5ElJV24RS01NdVpwAACgZNxoO56SkqK//e1vWrJkiTw9PR3Ws1gsdsuGYeQr+6Po6GhlZmbaXikpKYWKBwAAd0cfHQCAklOskeh79+7VnXfeKT8/P/322296/PHHVaNGDa1atUqHDh3S4sWLnR0nAABwEme04zt37lRGRobatWtnK8vLy9OXX36puXPnKikpSdKVEekhISG2OhkZGflGp/+R1WqV1Wq9gaMDAMD90EcHAKBkFSuJHhUVpREjRmj27Nny8fGxlffq1UtDhgxxWnAAnG/ypAWqcPmyLlco9o0oAMo4Z7TjPXr00L59++zKRo4cqSZNmmjixIlq0KCBgoODtWHDBrVt21aSlJOToy1btmjWrFnOOxgAQPmwfbuUlydVrGh2JGUSfXS4K/q3AFylWEn07du366233spXXrt2bdscqABKp9N+Nc0OAYDJnNGO+/j4qEWLFnZlVapUkb+/v6183Lhxmjlzpho2bKiGDRtq5syZ8vb2pjMPAMjvD3ctoejoo8Nd0b8F4CrFSqJ7enoqKysrX3lSUpICAgJuOCgAAFByXNWOT5gwQRcuXNCYMWN06tQpdezYUevXr7cbIQcAAG4cfXT3Njg+0ewQAKDcK9b9Lv3799eLL76oS5cuSbry0LDDhw/rueee06BBg5waIAAAcK6Sasc3b96suLg427LFYlFMTIzS0tJ08eJFbdmyJd/odQAAcOPoowMAULKKlUR/5ZVXdOzYMQUGBurChQvq1q2bbr75Zvn4+GjGjBnOjhGAE/X48iP13rBcPb78yOxQAJiEdhwAUOrEx0tz5lz5F0VG2w53Rf8WgKsUazoXX19fff3119q0aZN27typy5cv65ZbbtGdd97p7PgAONnANQvlf/qYTlQL0Mau95odDgAT0I4DAEqdF1+UUlOl2rWlUaPMjqbMoW2Hu6J/C8BVipxEv3z5shISEvThhx/qt99+k8ViUVhYmIKDg2UYhiwWS0nECQAAnIB2HACA8oW2HQCAklek6VwMw9A999yjxx57TKmpqWrZsqWaN2+uQ4cOacSIERowYEBJxQkAAG4Q7TgAAOULbTsAAK5RpJHoCQkJ+vLLL7Vx40Z1797dbt0XX3yhe++9V4sXL9awYcOcGiQAALhxtOMAAJQvtO0AALhGkUaiL1++XJMmTcrXOEvSHXfcoeeee05Lly51WnAAAMB5aMcBAChfaNsBAHCNIiXR9+7dq7vvvtvh+l69eun777+/4aAAAIDz0Y4DAFC+0LYDAOAaRUqinzx5UkFBQQ7XBwUF6dSpUzccFAAAcD7acQAAyhfadgAAXKNIc6Ln5eWpUiXHm1SsWFG5ubk3HBRQGgyOT8xXtmJUeInuHwBKEu04AADlC2176VfS/UoAgGsUKYluGIZGjBghq9Va4Prs7OwivfmXX36pl19+WTt37lRaWppWrVqle++912H9zZs3FzjX24EDB9SkSZMivTcAAO7G2e04AAAwF207AACuUaQk+vDhw69bpyhP/T537pxat26tkSNHatCgQYXeLikpSb6+vrblgICAQm8LuLu0oFCd96qqTN/qZocCwMWc3Y4DAOA0jRpJfn7SNaYmQX607XB39G8BuEqRkugLFy506pv36tVLvXr1KvJ2gYGBqlatmlNjAdzF9Ki5ZocAwCTObscBAHCaL74wO4IyibYd7o7+LQBXKdKDRUuLtm3bKiQkRD169NCmTZvMDgcAAAAAAAAAUE4VaSS62UJCQhQfH6927dopOztb7733nnr06KHNmzera9euBW6TnZ1tNw9cVlaWq8IFAAAAAAAAAJRxZSqJ3rhxYzVu3Ni2HB4erpSUFL3yyisOk+ixsbGaNm2aq0IEAAAAAAAAAJQjZSqJXpBOnTppyZIlDtdHR0crKirKtpyVlaXQ0FBXhAaUSk8uiJHP2dM6U7Wa5j4aY3Y4AAAAgPTww9Lx41LNmtLSpWZHA6CMoH8LwFXKfBJ99+7dCgkJcbjearXKarW6MCKgdGv60275nz6mE9UCzA4FAAAAuGLLFik1Vapd2+xIAJQh9G8BuIqpSfSzZ8/ql19+sS0nJydrz549qlGjhurWravo6GilpqZq8eLFkqS4uDjVr19fzZs3V05OjpYsWaKVK1dq5cqVZh0CAAAAAAAAAKAcMzWJvmPHDnXv3t22fHXaleHDhyshIUFpaWk6fPiwbX1OTo7Gjx+v1NRUeXl5qXnz5lqzZo169+7t8tgBYHB8otkhAAAAACin6G8AQOlhahI9IiJChmE4XJ+QkGC3PGHCBE2YMKGEowIAAAAAwL3FxsZq0qRJ+tvf/qa4uDizwwEAwFQVzA4AAAAAAACUHtu3b1d8fLxatWpldigAAJQKJNEBAAAAAICkK88ue/jhh/X222+revXqZocDAECpQBIdAAAAAABIksaOHas+ffrozjvvvGa97OxsZWVl2b0AACivTJ0THQAAAAAAlA4rVqzQrl27tH379uvWjY2N1bRp01wQFQAA5mMkOgAAAAAAbi4lJUV/+9vftGTJEnl6el63fnR0tDIzM22vlJQUF0QJAIA5GIkOuJkvbr9H3hfO6rxXVbNDAQAAAK54/HEpM1Py8zM7Ere1c+dOZWRkqF27drayvLw8ffnll5o7d66ys7NVsWJF2zqr1Sqr1WpGqIAN/VsArkISHXAzK/s9anYIAAAAgL2pU82OwO316NFD+/btsysbOXKkmjRpookTJ9ol0IHSgv4tAFchiQ4AAAAAgJvz8fFRixYt7MqqVKkif3//fOUAALgbkugAUMIGxyfmK1sxKtyESAAAAAAApV1BfUgA5iKJDgAAAAAA8tm8ebPZIQAAUCqQRAfczBsT+8v/9DGdqBagsbM+NjscAAAAQKpTR0pNlWrXlo4cMTsaAGUE/VsArlLB7AAAAAAAAAAAACitSKIDAAAAAAAAAOAASXQAAAAAAAAAABwgiQ4AAAAAAAAAgAMk0QEAAAAAAAAAcIAkOgAAAAAAAAAADpBEBwAAxTJv3jy1atVKvr6+8vX1VXh4uNauXWtbbxiGYmJiVKtWLXl5eSkiIkL79+83MWIAAAAAAIquktkBAGXJ4PhEs0MAgFKjTp06+sc//qGbb75ZkrRo0SL1799fu3fvVvPmzTV79mzNmTNHCQkJatSokaZPn66ePXsqKSlJPj4+JkcPAABQetDXREkq6OdrxahwEyIByi5GogMAgGLp16+fevfurUaNGqlRo0aaMWOGqlatqm3btskwDMXFxWny5MkaOHCgWrRooUWLFun8+fNatmyZ2aEDAAAAAFBojEQH3Mwbj0xVpdwc5VbyMDsUAOVIXl6ePvjgA507d07h4eFKTk5Wenq6IiMjbXWsVqu6deumrVu3avTo0SZGCwAodZYskbKzJavV7EgAlCH0bwG4Ckl0wM380PgWs0MAUI7s27dP4eHhunjxoqpWrapVq1apWbNm2rp1qyQpKCjIrn5QUJAOHTrkcH/Z2dnKzs62LWdlZZVM4ACA0iUiwuwIAJRB9G8BuArTuQAAgGJr3Lix9uzZo23btumvf/2rhg8frh9++MG23mKx2NU3DCNf2R/FxsbKz8/P9goNDS2x2AEAAAAAKAyS6AAAoNg8PDx08803q3379oqNjVXr1q312muvKTg4WJKUnp5uVz8jIyPf6PQ/io6OVmZmpu2VkpJSovEDAAAAAHA9TOcCuJlmSbtsc8Zx6xsAZzMMQ9nZ2QoLC1NwcLA2bNigtm3bSpJycnK0ZcsWzZo1y+H2VqtVVubDBQD3s3nz/82JztQuAAqJ/i0AVyGJDriZse9Ok//pYzpRLUBjZ31sdjgAyrBJkyapV69eCg0N1ZkzZ7RixQpt3rxZ69atk8Vi0bhx4zRz5kw1bNhQDRs21MyZM+Xt7a0hQ4aYHToAoLT5y1+k1FSpdm3pyBGzowFQRtC/BeAqJNEBAECxHD16VEOHDlVaWpr8/PzUqlUrrVu3Tj179pQkTZgwQRcuXNCYMWN06tQpdezYUevXr5ePj4/JkQMAAAAAUHgk0QEAQLEsWLDgmustFotiYmIUExPjmoAAAAAAACgBJNEBoJQYHJ+Yr2zFqHATIgEAAAAAoGB/7rvSb4U7qGB2AAAAAAAAAAAAlFYk0QEAAAAAAAAAcIAkOgAAAAAAAAAADpBEBwAAAAAAAADAAZLoAAAAAAAAAAA4QBIdAAAAAAAAAAAHKpkdAADXGjvrY7NDAAAAAOwdOWJ2BADKIPq3AFyFkegAAAAAAAAAADhAEh0AAAAAAAAAAAeYzgXl2uD4xHxlK0aFmxAJAAAAAACA89xIzoN8CVA0JNEBNzPokwXyvnBW572qamW/R80OBwAAAJCmTZMyMyU/P2nqVLOjAVBG0L8F4Cok0QE3c8fXq+V/+phOVAvgIgMAAAClw9tvS6mpUu3aJNEBFBr9WwCuwpzoAAAAAAAAAAA4QBIdAAAAAAAAAAAHSKIDAAAAAAAAAOAASXQAAAAAAAAAABwgiQ4AAAAAAAAAgAMk0QEAAAAAAAAAcMDUJPqXX36pfv36qVatWrJYLProo4+uu82WLVvUrl07eXp6qkGDBpo/f37JBwoAAAAAAAAAcEuVzHzzc+fOqXXr1ho5cqQGDRp03frJycnq3bu3Hn/8cS1ZskTffPONxowZo4CAgEJtDzgyOD7R7BBQyjn7Z4SfOQAAAACAs9HXBEqGqUn0Xr16qVevXoWuP3/+fNWtW1dxcXGSpKZNm2rHjh165ZVXSKIDhXSgUVv5nD2tM1WrmR0KAAAAcEW3btLx41LNmmZHAqAMoX8LwFVMTaIXVWJioiIjI+3K7rrrLi1YsECXLl1S5cqV822TnZ2t7Oxs23JWVlaJxwmUZnMfjTE7BAAAAMDe0qVmRwCgDKJ/C8BVytSDRdPT0xUUFGRXFhQUpNzcXB0/frzAbWJjY+Xn52d7hYaGuiJUAAAAAAAAAEA5UKaS6JJksVjslg3DKLD8qujoaGVmZtpeKSkpJR4jAAAAAAAAAKB8KFPTuQQHBys9Pd2uLCMjQ5UqVZK/v3+B21itVlmtVleEBwAAAAAAAAAoZ8pUEj08PFyffPKJXdn69evVvn37AudDB5Df83OelF/WKWX6Vtf0qLlmhwMAAABId9whHT0qBQVJX3xhdjQAygj6twBcxdQk+tmzZ/XLL7/YlpOTk7Vnzx7VqFFDdevWVXR0tFJTU7V48WJJ0hNPPKG5c+cqKipKjz/+uBITE7VgwQItX77crEMAypyQoynyP31M3hfOmh0KAAAAcMVPP0mpqVJmptmRAChD6N8CcBVTk+g7duxQ9+7dbctRUVGSpOHDhyshIUFpaWk6fPiwbX1YWJg+/fRTPfPMM3rjjTdUq1Ytvf766xo0aJDLYwcAAAAAAAAAlH+mJtEjIiJsDwYtSEJCQr6ybt26adeuXSUYFQAAAAAAAAAAV5SpOdEBAMU3OD4xX9mKUeEmRAIAAACUbVxbA4B7qWB2AAAAAAAAAAAAlFYk0QEAAAAAAAAAcIAkOgAAAAAAAAAADpBEBwAAAAAAAADAAZLoAAAAAAAAAAA4UMnsAAC41od9RsqafUHZVi+zQwEAAACumDJFOntWqlrV7EgAlCH0bwG4Ckl0wM1s7Hqv2SEAKAdiY2P14Ycf6scff5SXl5c6d+6sWbNmqXHjxrY6hmFo2rRpio+P16lTp9SxY0e98cYbat68uYmRAwBKpVGjzI4AQBlE/xaAqzCdCwAAKLItW7Zo7Nix2rZtmzZs2KDc3FxFRkbq3LlztjqzZ8/WnDlzNHfuXG3fvl3BwcHq2bOnzpw5Y2LkAAAAAAAUDSPRAQBAka1bt85ueeHChQoMDNTOnTvVtWtXGYahuLg4TZ48WQMHDpQkLVq0SEFBQVq2bJlGjx5tRtgAAAAAHBgcn5ivbMWocBMiAUofRqIDbqZa5nHVOJWhapnHzQ4FQDmSmZkpSapRo4YkKTk5Wenp6YqMjLTVsVqt6tatm7Zu3WpKjACAUiwtTTpy5Mq/AFBI9G8BuAoj0QE3M2Pmo/I/fUwnqgVo7KyPzQ4HQDlgGIaioqJ0++23q0WLFpKk9PR0SVJQUJBd3aCgIB06dMjhvrKzs5WdnW1bzsrKKoGIAQClTocOUmqqVLv2lWQ6ABQC/VsArsJIdAAAcEOefPJJ7d27V8uXL8+3zmKx2C0bhpGv7I9iY2Pl5+dne4WGhjo9XgAAAAAAioIkOgAAKLannnpKq1ev1qZNm1SnTh1beXBwsKT/G5F+VUZGRr7R6X8UHR2tzMxM2yslJaVkAgcAAAAAoJBIogMAgCIzDENPPvmkPvzwQ33xxRcKCwuzWx8WFqbg4GBt2LDBVpaTk6MtW7aoc+fODvdrtVrl6+tr9wIAAAAAwEzMiQ4AAIps7NixWrZsmT7++GP5+PjYRpz7+fnJy8tLFotF48aN08yZM9WwYUM1bNhQM2fOlLe3t4YMGWJy9AAAAAAAFB5JdAAAUGTz5s2TJEVERNiVL1y4UCNGjJAkTZgwQRcuXNCYMWN06tQpdezYUevXr5ePj4+LowUAAAAAoPhIogMAgCIzDOO6dSwWi2JiYhQTE1PyAQEAAAAAUEKYEx0AAAAAAAAAAAcYiQ4A5dDg+ESnbrtiVPiNhAMAAAAAAFBmMRIdAAAAAAAAAAAHGIkOuJnpz7yuipfzlFehotmhAAAAAFds3Cjl5kqV6KICKDz6twBchSsUwM2kBdczOwQAAADAXuPGZkcAoAyifwvAVZjOBQAAAAAANxcbG6sOHTrIx8dHgYGBuvfee5WUlGR2WAAAlAok0QEAAAAAcHNbtmzR2LFjtW3bNm3YsEG5ubmKjIzUuXPnzA4NAADTMZ0L4GZu+269PHIuKsfDU9/cGml2OAAAAIC0bJl0/rzk7S0NGWJ2NG5p3bp1dssLFy5UYGCgdu7cqa5du5oUFXBt9G8BuApJdMDNDFn5hvxPH9OJagFcZAAAAKB0mDBBSk2VatcmiV5KZGZmSpJq1KhR4Prs7GxlZ2fblrOyslwSF/BH9G8BuArTuQAAAAAAABvDMBQVFaXbb79dLVq0KLBObGys/Pz8bK/Q0FAXRwkAgOuQRAcAAAAAADZPPvmk9u7dq+XLlzusEx0drczMTNsrJSXFhRECAOBaTOeCUm9wfGK+shWjwp26PwAAAACA9NRTT2n16tX68ssvVadOHYf1rFarrFarCyMr/Qrb16RPirKkuD+vhd2uoPzOjeSBnJ1DAq4iiQ4AAAAAgJszDENPPfWUVq1apc2bNyssLMzskAAAKDVIogMAAAAA4ObGjh2rZcuW6eOPP5aPj4/S09MlSX5+fvLy8jI5OgAAzMWc6AAAAAAAuLl58+YpMzNTERERCgkJsb3ef/99s0MDAMB0jEQHAAAAAMDNGYZhdggAAJRajEQHAAAAAAAAAMABRqIDbua0r7/dvwAAAIDpgoPt/wWAQqB/C8BVSKIDbmby5HfNDgEAAACwt2OH2REAKIPo3wJwFaZzAQAAAAAAAADAAZLoAAAAAAAAAAA4wHQuAFCKDY5PtFteMSrcpEgAAAAAAMjvz/1WoDwiiQ64mceWzFLVc1k6W8VX7/xlotnhAAAAANLo0dLJk1KNGtJbb5kdDYAygv4tAFchiQ64mbb7tsr/9DGdqBZgdigAAADAFWvWSKmpUu3aZkcCoAyhfwvAVZgTHQAAAAAAAAAAB0iiAwAAAAAAAADgAEl0AAAAAAAAAAAcIIkOAAAAAAAAAIADJNEBAAAAAAAAAHDA9CT6m2++qbCwMHl6eqpdu3b66quvHNbdvHmzLBZLvtePP/7owogBAAAAAAAAAO7C1CT6+++/r3Hjxmny5MnavXu3unTpol69eunw4cPX3C4pKUlpaWm2V8OGDV0UMQAAAAAAAADAnVQy883nzJmjRx99VI899pgkKS4uTp999pnmzZun2NhYh9sFBgaqWrVqLooS1zM4PjFf2YpR4U7blyu2BcoKfs4BAAAA1+IaHABgWhI9JydHO3fu1HPPPWdXHhkZqa1bt15z27Zt2+rixYtq1qyZnn/+eXXv3t1h3ezsbGVnZ9uWs7KybixwoIzb2qGnqpw/o3PePmaHAgAAAFzx0EPSqVNS9epmRwKgDKF/C8BVTEuiHz9+XHl5eQoKCrIrDwoKUnp6eoHbhISEKD4+Xu3atVN2drbee+899ejRQ5s3b1bXrl0L3CY2NlbTpk1zevxAWbX0vifNDgEAAACw9/LLZkcAoAyifwvAVUydzkWSLBaL3bJhGPnKrmrcuLEaN25sWw4PD1dKSopeeeUVh0n06OhoRUVF2ZazsrIUGhrqhMgBAAAAAAAAAOWdaQ8WrVmzpipWrJhv1HlGRka+0enX0qlTJ/38888O11utVvn6+tq9AAAAAAAAAAAoDNOS6B4eHmrXrp02bNhgV75hwwZ17ty50PvZvXu3QkJCnB0eAAAAAAAAAADmTucSFRWloUOHqn379goPD1d8fLwOHz6sJ554QtKVqVhSU1O1ePFiSVJcXJzq16+v5s2bKycnR0uWLNHKlSu1cuVKMw8DKFNenTJY1TOP65RfTT374gqzwwEAAACkJk2k33+XatWSfvzR7GgAlBH0bwG4imkj0SXpwQcfVFxcnF588UW1adNGX375pT799FPVq1dPkpSWlqbDhw/b6ufk5Gj8+PFq1aqVunTpoq+//lpr1qzRwIEDzToEoMzxzL4g74vn5Zl9wexQAJRxX375pfr166datWrJYrHoo48+sltvGIZiYmJUq1YteXl5KSIiQvv37zcnWABA6Xb2rHTmzJV/AaCQ6N8CcBXTHyw6ZswYjRkzpsB1CQkJdssTJkzQhAkTXBAVAAC4nnPnzql169YaOXKkBg0alG/97NmzNWfOHCUkJKhRo0aaPn26evbsqaSkJPn4+JgQMQAAAAAARWd6Eh0AAJRNvXr1Uq9evQpcZxiG4uLiNHnyZNsdY4sWLVJQUJCWLVum0aNHuzJUAAAAAACKjSQ6SsTg+MR8ZStGhV+3zo3sHwBQeiQnJys9PV2RkZG2MqvVqm7dumnr1q0Ok+jZ2dnKzs62LWdlZZV4rAAAAADMUdj8TmHyTM6Oxdn7R9lm6pzoAACgfEpPT5ckBQUF2ZUHBQXZ1hUkNjZWfn5+tldoaGiJxgkAAAAAwPWQRAcAACXGYrHYLRuGka/sj6Kjo5WZmWl7paSklHSIAAAAAABcE9O5AAAApwsODpZ0ZUR6SEiIrTwjIyPf6PQ/slqtslqtJR4fAAAAAACFxUh0AADgdGFhYQoODtaGDRtsZTk5OdqyZYs6d+5sYmQAAAAAABQNI9EBAECxnD17Vr/88ottOTk5WXv27FGNGjVUt25djRs3TjNnzlTDhg3VsGFDzZw5U97e3hoyZIiJUQMAAAAAUDQk0QE3s+DhCap8KVuXKjNdAoAbs2PHDnXv3t22HBUVJUkaPny4EhISNGHCBF24cEFjxozRqVOn1LFjR61fv14+Pj5mhQwAKK3mz5cuXJC8vMyOBEAZQv8WgKuQRAfczK5Wt5kdAoByIiIiQoZhOFxvsVgUExOjmJgY1wUFACib+vY1OwIAZRD9WwCuwpzoAAAAAAAAAAA4QBIdAAAAAAAAAAAHmM4FLjM4PtHsECAp7NCPqpR7SbmVKiu5XhOzw0EZUdD3d8WocBMiAQAA5dLOnVJOjuThIbVrZ3Y0KGO4VnVf9G/d243kmchRoahIogNuZvybE+V/+phOVAvQ2Fkfmx0OAAAAIPXvL6WmSrVrS0eOmB0NgDKC/i0AV2E6FwAAAAAAAAAAHCCJDgAAAAAAAACAAyTRAQAAAAAAAABwgCQ6AAAAAAAAAAAOkEQHAAAAAAAAAMABkugAAAAAAAAAADhAEh0AAAAAAAAAAAdIogMAAAAAAAAA4EAlswNA2TI4PtHsEACUYgX9jlgxKtyESAAAAODOCtt3LehalX4vAIn+LeyRRAfczLPTlsliSIbF7EgAAACA/zlwQDIMycJFKoDCo38LwFVIogNu5qJnFbNDAAAAAOz5+JgdAYAyiP4tAFdhTnQAAAAAAAAAABwgiQ4AAAAAAAAAgANM5wK4md4blsv74jmd96yiT3s+ZHY4AAAAgDRnjpSVJfn6SlFRZkcDoIygfwvAVUiiA26mz+cr5H/6mE5UC+AiAwAAAKXDnDlSaqpUuzZJdACFRv8WgKswnQsAAAAAAAAAAA6QRAcAAAAAAAAAwAGS6AAAAAAAAAAAOMCc6OXI4PjEQtVbMSrcqfsDUHbxPQcAAIA743oYKP9Ky/e8oDgKytEVth5ci5HoAAAAAAAAAAA4QBIdAAAAAAAAAAAHSKIDAAAAAAAAAOAASXQAAAAAAAAAABzgwaKAm0mu21gnqgcqy6e62aEAAAAAV9xyixQaKgUEmB0JgDKE/i0AVyGJDriZV8bONjsEAAAAwN7q1WZHAKAMon8LwFWYzgUAAAAAAAAAAAdIogMAAAAAAAAA4ABJdAAAAAAAAAAAHGBOdCcYHJ9YqHorRoUXatuC6hX3PYE/G//GBPmeOaUsn+rMH4cbUtjfQ3+u58zfhYV9T0du5D0K857O3D8AAOXaPfdIx45debAo86Pjf+j34nro38LVSvvvpcLE5+y+dkn3e0tLX5skOuBmwg4nyf/0MZ2oFmB2KAAAAMAVu3ZJqalS7dpmRwKgDKF/C8BVmM4FAAAAAAAAAAAHSKIDAAAAAAAAAOAASXQAAAAAAAAAABwwPYn+5ptvKiwsTJ6enmrXrp2++uqra9bfsmWL2rVrJ09PTzVo0EDz5893UaQAAKA4itrWAwAA89BuAwCQn6lJ9Pfff1/jxo3T5MmTtXv3bnXp0kW9evXS4cOHC6yfnJys3r17q0uXLtq9e7cmTZqkp59+WitXrnRx5AAAoDCK2tYDAADz0G4DAFAwU5Poc+bM0aOPPqrHHntMTZs2VVxcnEJDQzVv3rwC68+fP19169ZVXFycmjZtqscee0yPPPKIXnnlFRdHDgAACqOobT0AADAP7TYAAAUzLYmek5OjnTt3KjIy0q48MjJSW7duLXCbxMTEfPXvuusu7dixQ5cuXSqxWAEAQNEVp60HAADmoN0GAMCxSma98fHjx5WXl6egoCC78qCgIKWnpxe4TXp6eoH1c3Nzdfz4cYWEhOTbJjs7W9nZ2bblzMxMSVJWVtaNHoLNpQvnClWvoPcsaNvCxFbY9yxsHM5+D5ReZ4zLqvy/f/mMYQZn/i505EZ+LzvzPZ25/6v7MgzDafssacVp613RbgP4PyX9uwsotMuX/+/fMv4zWBbbbKno7XZp6mvDfdG/RVnn7P5xYb4Hzu5rl/S1Y2npa5uWRL/KYrHYLRuGka/sevULKr8qNjZW06ZNy1ceGhpa1FBv2IfjnFuvuEp6/yjdPrz6n8wT0rieZoYCN1Vafhe64j1KYv9nzpyRn5+f83dcgorS1pemdhtwV1wrwlRpaVIZa+ccKYtttlT4dps2G6UB/VuUdWb0j519rWfGtaMZfW3Tkug1a9ZUxYoV8/1FOyMjI99fvq8KDg4usH6lSpXk7+9f4DbR0dGKioqyLV++fFknT56Uv7//NZP1xZWVlaXQ0FClpKTI19fX6ft3N5xP5+OcOhfn07k4n44ZhqEzZ86oVq1aZodSaMVp613dbpclfD+Kh/NWfJy74uG8FU95Om9lsc2Wit5ul6U2uzz9fBWGOx2vOx2r5F7H607HKnG8Zipsu21aEt3Dw0Pt2rXThg0bNGDAAFv5hg0b1L9//wK3CQ8P1yeffGJXtn79erVv316VK1cucBur1Sqr1WpXVq1atRsLvhB8fX1N/yEoTzifzsc5dS7Op3NxPgtW1kazFaetN6vdLkv4fhQP5634OHfFw3krnvJy3spamy0Vvd0ui212efn5Kix3Ol53OlbJvY7XnY5V4njNUph229TpXKKiojR06FC1b99e4eHhio+P1+HDh/XEE09IuvKX7dTUVC1evFiS9MQTT2ju3LmKiorS448/rsTERC1YsEDLly838zAAAIAD12vrAQBA6UG7DQBAwUxNoj/44IM6ceKEXnzxRaWlpalFixb69NNPVa9ePUlSWlqaDh8+bKsfFhamTz/9VM8884zeeOMN1apVS6+//roGDRpk1iEAAIBruF5bDwAASg/abQAACmb6g0XHjBmjMWPGFLguISEhX1m3bt20a9euEo6q+KxWq6ZOnZrvtjYUD+fT+TinzsX5dC7OZ/l0rbYehcf3o3g4b8XHuSsezlvxcN5Kj/LYbrvbz5c7Ha87HavkXsfrTscqcbxlgcUwDMPsIAAAAAAAAAAAKI0qmB0AAAAAAAAAAAClFUl0AAAAAAAAAAAcIIkOAAAAAAAAAIADJNGL4c0331RYWJg8PT3Vrl07ffXVV9esn52drcmTJ6tevXqyWq266aab9O6777oo2tKvqOdz6dKlat26tby9vRUSEqKRI0fqxIkTLoq2dPvyyy/Vr18/1apVSxaLRR999NF1t9myZYvatWsnT09PNWjQQPPnzy/5QMuIop7PDz/8UD179lRAQIB8fX0VHh6uzz77zDXBlhHF+Rm96ptvvlGlSpXUpk2bEosPMAu/b4qP3yvFU5zzxjVt8c4b165SbGysOnToIB8fHwUGBuree+9VUlLSdbfjOhXXUtR+5FXX+t2/cuVKNWvWTFarVc2aNdOqVaucHHXxOPtYExISZLFY8r0uXrxYAtEXXVGOd/PmzQUey48//mhXrzx8toU51vL02UqFu/YoD5+tdP1jLU+f7YgRIwo8lubNm9vVK22fLUn0Inr//fc1btw4TZ48Wbt371aXLl3Uq1cvHT582OE2DzzwgDZu3KgFCxYoKSlJy5cvV5MmTVwYdelV1PP59ddfa9iwYXr00Ue1f/9+ffDBB9q+fbsee+wxF0deOp07d06tW7fW3LlzC1U/OTlZvXv3VpcuXbR7925NmjRJTz/9tFauXFnCkZYNRT2fX375pXr27KlPP/1UO3fuVPfu3dWvXz/t3r27hCMtO4p6Tq/KzMzUsGHD1KNHjxKKDDAXv2+Kj98rxVOc88Y1bdHPG9euV2zZskVjx47Vtm3btGHDBuXm5ioyMlLnzp1zuA3XqbiW4vTLpWv/7k9MTNSDDz6ooUOH6vvvv9fQoUP1wAMP6Ntvvy2pwyiUkjhWSfL19VVaWprdy9PTsyQOoUiKe7xJSUl2x9KwYUPbuvL22V7rWKXy9dle79qjPH22hbnOKi+f7WuvvWZ3DCkpKapRo4buv/9+W51S+dkaKJJbb73VeOKJJ+zKmjRpYjz33HMF1l+7dq3h5+dnnDhxwhXhlTlFPZ8vv/yy0aBBA7uy119/3ahTp06JxVhWSTJWrVp1zToTJkwwmjRpYlc2evRoo1OnTiUYWdlUmPNZkGbNmhnTpk1zfkDlQFHO6YMPPmg8//zzxtSpU43WrVuXaFyA2fh9U3z8Ximewpw3rmnzK8x549q1YBkZGYYkY8uWLQ7rcJ2KaylqP/Kqa/3uf+CBB4y7777bruyuu+4yBg8e7JSYi6skjnXhwoWGn5+fkyN1jqIe76ZNmwxJxqlTpxzus7x8toU51vL02Rbm2qO8fLaFOdby9Nn+2apVqwyLxWL89ttvtrLS+NkyEr0IcnJytHPnTkVGRtqVR0ZGauvWrQVus3r1arVv316zZ89W7dq11ahRI40fP14XLlxwRcilWnHOZ+fOnXXkyBF9+umnMgxDR48e1b///W/16dPHFSGXO4mJifnO/1133aUdO3bo0qVLJkVVfly+fFlnzpxRjRo1zA6lTFu4cKEOHjyoqVOnmh0KUGrx+6Zo+L1SdFzTFg/XrgXLzMyUpGv+zuI6FY4Upx8pXf93v6OfuWvts6SV1LFK0tmzZ1WvXj3VqVNHffv2LRV3sxX3eCWpbdu2CgkJUY8ePbRp0ya7deXps5WufaxS+flsC3PtUV4+28JeZ5WXz/bPFixYoDvvvFP16tWzlZXGz7aSae9cBh0/flx5eXkKCgqyKw8KClJ6enqB2/z666/6+uuv5enpqVWrVun48eMaM2aMTp486XZzSP5Zcc5n586dtXTpUj344IO6ePGicnNzdc899+if//ynK0Iud9LT0ws8/7m5uTp+/LhCQkJMiqx8ePXVV3Xu3Dk98MADZodSZv3888967rnn9NVXX6lSJZoswBF+3xQev1eKh2va4uHaNT/DMBQVFaXbb79dLVq0cFiP61Q4Upx+ZGF+9zv6mXO0T1coqWNt0qSJEhIS1LJlS2VlZem1117Tbbfdpu+//z7f1CCuVJzjDQkJUXx8vNq1a6fs7Gy999576tGjhzZv3qyuXbtKKj+fbWGOtTx9toW59igvn21hjrU8fbZ/lJaWprVr12rZsmV25aXxs6XnUAwWi8Vu2TCMfGVXXb58WRaLRUuXLpWfn58kac6cObrvvvv0/9u706Aojv8N4M9yuQuEiHgRLyQR0BhBRQWPoKDBlDHeGk8knqlCyyNeFcPhEY8YTamEqGUAo4KFUaIhHohASogU6qIoWx7EihoxVDQkIsaL7++Ff+fvCqssCgvL86nixUz3tv3tXqd7enZmIiMjodFoqry+NZ0x7ZmXl4eZM2ciNDQUgYGBKCgowLx58zB9+nRs3bq1Oqprdspr//L2k3Hi4uIQHh6OH3/8EY0bNzZ1dWqlR48eYcyYMYiIiICbm5upq0NUY/F4U3E8rlQe57SVw7lrWSEhIThz5gyOHTv2wrycp9LzVPQ80phjvzHnptXpVcfq4+MDHx8fZbtHjx7o1KkTNmzYgPXr17+6ileSMf3g7u4Od3d3ZdvX1xdXr17FmjVrlIVlY8usTq86VnPq24rOPcyhbysSqzn17dNiYmJQv359DB48+JWVWVW4iG6Ehg0bwtLSssxVj8LCwjJXR55wdnZGs2bNlP8EANC2bVuICK5du2bSq0WmVpn2XLFiBXr06IF58+YBADp06AA7Ozv06tULy5Yt4y9SjNS0adNy29/KygpOTk4mqlXtt2vXLkyaNAkJCQno27evqatTa92+fRsnTpyAVqtFSEgIgMeTCxGBlZUVDh8+DH9/fxPXksi0eLwxDo8rlcc5beVw7qpvxowZ2LdvH3755Rc0b978uXk5TyVDjD2PrOix39B3ztC5aXWoqlifZWFhgS5duuDixYtVE0gFVWaNoDw+Pj7Yvn27sm0OfWvIs7E+qzb3bUXmHubSt5WZZ9Xmvn1CRPDdd99h/PjxsLGx0UuriX3LZ6IbwcbGBp07d0ZycrLe/uTkZHTv3r3cz/To0QPXr19HcXGxsu/ChQuwsLB44cTR3FWmPUtKSmBhof+1tbS0BPD/v0yhivP19S3T/ocPH4a3tzesra1NVKvaLS4uDhMnTsTOnTvr/PNOX5aDgwNyc3ORk5Oj/E2fPh3u7u7IyclBt27dTF1FIpPi8cZ4PK5UHue0lcO562MigpCQEOzZswdHjx5F69atX/gZzlPJEGPPIyt67Df0nTN0blodqirWZ4kIcnJyTH5hrzJrBOXRarV6sZhD3xrybKzPqs19W5G5h7n0bWXmWbW5b59IT0/HpUuXMGnSpDJpNbFvUeWvLjUz8fHxYm1tLVu3bpW8vDyZNWuW2NnZKW+QXbhwoYwfP17Jf/v2bWnevLkMHz5czp07J+np6dKmTRuZPHmyqUKoUYxtz+joaLGyspJvvvlG8vPz5dixY+Lt7S1du3Y1VQg1yu3bt0Wr1YpWqxUAsnbtWtFqtfL777+LSNn2/O2338TW1lZmz54teXl5snXrVrG2tpbdu3ebKoQaxdj23Llzp1hZWUlkZKQUFBQof0VFRaYKocYxtk2fFRYWJp6entVUW6Lqw+NN5fG4UjnGthvntI8Z226cuz72ySefyOuvvy5paWl6x6ySkhIlD+epZAxjzyOfVd6xPyMjQywtLWXlypWi0+lk5cqVYmVlJcePH6/KUF6oKmINDw+XgwcPSn5+vmi1WgkODhYrKyvJysqqylAqxNh4161bJ3v37pULFy7I2bNnZeHChQJAfvjhByWPufRtRWI1p76tyNzDXPq2IrGaU98+MW7cOOnWrVu5ZdbEvuUieiVERkZKq1atxMbGRjp16iTp6elKWlBQkPj5+enl1+l00rdvX9FoNNK8eXOZM2eO3oSxrjO2PdevXy/t2rUTjUYjzs7OMnbsWLl27Vo117pmSk1NFQBl/oKCgkSk/PZMS0uTjh07io2Njbi4uEhUVFT1V7yGMrY9/fz8npufKvcdfVpdXewi88fjTeXxuFI5lWk3zmkr126cu0q5bQZAoqOjlTycp5KxjD2PfJqhY39CQoK4u7uLtbW1eHh46C1OmtKrjnXWrFnSsmVLsbGxkUaNGsl7770nmZmZVVR74xkT76pVq+TNN98UtVotjo6O0rNnT0lKSipTpjn0bUViNae+FanY3MMc+lbkxbGaW98WFRWJRqORzZs3GyyzpvWtSqQO3UdIRERERERERERERGQEPhOdiIiIiIiIiIiIiMgALqITERERERERERERERnARXQiIiIiIiIiIiIiIgO4iE5EREREREREREREZAAX0YmIiIiIiIiIiIiIDOAiOhERERERERERERGRAVxEJyIiIiIiIiIiIiIygIvoREREREREREREREQGcBGdiIiIiMjMqFQqJCYmmroaREREZADHaqLahYvoRGZq4sSJGDx4cIXz17YBPDw8HF5eXqauBhERkUkUFhZi2rRpaNmyJerVq4emTZsiMDAQv/76q6mrRkRERHjxWF1QUID333/fxLUkooqyMnUFiMi8PHjwANbW1qauBhERkVkb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x47FhAkTsGfPHly+fBnZ2dlYtWoVfv75Z6UMa2trzJgxA1lZWTh16hSCg4Ph4+OjLKq7uLjg8uXLyMnJwV9//VWhl7UQERGZg5s3b8Lf3x/bt2/HmTNncPnyZSQkJGD16tUYNGhQmfxjx46FWq1GUFAQzp49i9TUVMyYMQPjx49HkyZNlHz379/HpEmTkJeXhwMHDiAsLAwhISGwsLDAa6+9hk8//RSzZ89GbGws8vPzodVqERkZidjY2OoMn4iIqMYzdqweM2YMSktLMXXqVOh0Ohw6dAhr1qwB8HJ3Yzs6OsLJyQmbN2/GpUuXcPToUcyZM6fS5RHVZVxEJyIAwFdffYXk5GS0aNECHTt2BAAEBgbip59+QnJyMrp06QIfHx+sXbsWrVq1em5ZvXv3RkJCAvbt2wcvLy/4+/sjKytLSY+OjsaECRMwd+5cuLu748MPP0RWVhZatGih5LG1tcWCBQswZswY+Pr6QqPRID4+XkkfNmwY+vfvjz59+qBRo0aIi4t7xS1CRERUM9nb26Nbt25Yt24d3n33XbRv3x6ff/45pkyZgo0bN5bJb2tri0OHDuHWrVvo0qULhg8fjoCAgDJ5AwIC0KZNG7z77rsYOXIkBg4ciPDwcCV96dKlCA0NxYoVK9C2bVsEBgZi//79yrNViYiI6DFjx2oHBwfs378fOTk58PLywmeffYbQ0FAA+o9SNZaFhQXi4+Nx8uRJtG/fHrNnz8aXX35Z6fKI6jKVGHrIEhGRicTExGDWrFkoKioydVWIiIjqhIkTJ6KoqKjcW8yJiIio+u3YsQPBwcH4559/nvveMSKqHnwmOhERERERERERkQlt27YNrq6uaNasGU6fPo0FCxZg5MiRXEAnqiG4iE5ERERERERERGRCN27cQGhoKG7cuAFnZ2eMGDECy5cvN3W1iOj/8HEuREREREREREREREQG8MWiREREREREREREREQGcBGdiIiIiIiIiIiIiMgALqITERERERERERERERnARXQiIiIiIiIiIiIiIgO4iE5EREREREREREREZAAX0YmIiIiIiIiIiIiIDOAiOhERERERERERERGRAVxEJyIiIiIiIiIiIiIygIvoREREREREREREREQG/A+C2MqKn8dawQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -1041,27 +1151,45 @@ "fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", "\n", "# Plot posterior for intercept\n", - "axes[0].hist(posterior[\"intercept\"], bins=80, density=True, alpha=0.75)\n", - "axes[0].axvline(TRUE_INTERCEPT, color='r', linestyle='--', linewidth=2, label=f'True Intercept: {TRUE_INTERCEPT}')\n", - "axes[0].set_title('Posterior of Intercept')\n", - "axes[0].set_xlabel('Intercept')\n", - "axes[0].set_ylabel('Density')\n", + "axes[0].hist(posterior_samples[\"intercept\"], bins=80, density=True, alpha=0.75)\n", + "axes[0].axvline(\n", + " TRUE_INTERCEPT,\n", + " color=\"r\",\n", + " linestyle=\"--\",\n", + " linewidth=2,\n", + " label=f\"True Intercept: {TRUE_INTERCEPT}\",\n", + ")\n", + "axes[0].set_title(\"Posterior of Intercept\")\n", + "axes[0].set_xlabel(\"Intercept\")\n", + "axes[0].set_ylabel(\"Density\")\n", "axes[0].legend()\n", "\n", "# Plot posterior for slope\n", - "axes[1].hist(posterior[\"slopes\"][0], bins=80, density=True, alpha=0.75)\n", - "axes[1].axvline(TRUE_SLOPES[0], color='r', linestyle='--', linewidth=2, label=f'True Slope: {TRUE_SLOPES[0]}')\n", - "axes[1].set_title('Posterior of Slope')\n", - "axes[1].set_xlabel('Slope')\n", - "axes[1].set_ylabel('Density')\n", + "axes[1].hist(posterior_samples[\"slopes\"][0], bins=80, density=True, alpha=0.75)\n", + "axes[1].axvline(\n", + " TRUE_SLOPES[0],\n", + " color=\"r\",\n", + " linestyle=\"--\",\n", + " linewidth=2,\n", + " label=f\"True Slope: {TRUE_SLOPES[0]}\",\n", + ")\n", + "axes[1].set_title(\"Posterior of Slope\")\n", + "axes[1].set_xlabel(\"Slope\")\n", + "axes[1].set_ylabel(\"Density\")\n", "axes[1].legend()\n", "\n", "# Plot posterior for sigma\n", - "axes[2].hist(posterior[\"noise\"], bins=80, density=True, alpha=0.75)\n", - "axes[2].axvline(TRUE_SIGMA, color='r', linestyle='--', linewidth=2, label=f'True Sigma: {TRUE_SIGMA}')\n", - "axes[2].set_title('Posterior of Sigma')\n", - "axes[2].set_xlabel('Sigma')\n", - "axes[2].set_ylabel('Density')\n", + "axes[2].hist(posterior_samples[\"noise\"], bins=80, density=True, alpha=0.75)\n", + "axes[2].axvline(\n", + " TRUE_SIGMA,\n", + " color=\"r\",\n", + " linestyle=\"--\",\n", + " linewidth=2,\n", + " label=f\"True Sigma: {TRUE_SIGMA}\",\n", + ")\n", + "axes[2].set_title(\"Posterior of Sigma\")\n", + "axes[2].set_xlabel(\"Sigma\")\n", + "axes[2].set_ylabel(\"Density\")\n", "axes[2].legend()\n", "\n", "plt.tight_layout()\n", @@ -1070,7 +1198,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 289, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -1080,6 +1208,13 @@ "outputId": "40449077-41fe-420b-8a7f-73ba0c2163a2" }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "arviz - WARNING - Shape validation failed: input_shape: (1, 1000), minimum_shape: (chains=2, draws=4)\n" + ] + }, { "data": { "text/html": [ @@ -1116,38 +1251,50 @@ " \n", " intercept\n", " 1.048\n", - " 0.123\n", - " 0.820\n", - " 1.274\n", - " 0.003\n", - " 0.002\n", - " 1868.0\n", - " 1961.0\n", - " 1.0\n", + " 0.137\n", + " 0.794\n", + " 1.311\n", + " 0.006\n", + " 0.005\n", + " 467.0\n", + " 253.0\n", + " NaN\n", " \n", " \n", " slopes[feature1]\n", - " 1.889\n", - " 0.233\n", - " 1.456\n", - " 2.325\n", - " 0.006\n", - " 0.004\n", - " 1778.0\n", - " 2002.0\n", - " 1.0\n", + " 1.894\n", + " 0.264\n", + " 1.414\n", + " 2.387\n", + " 0.012\n", + " 0.009\n", + " 450.0\n", + " 373.0\n", + " NaN\n", + " \n", + " \n", + " noise_var\n", + " 0.257\n", + " 0.053\n", + " 0.171\n", + " 0.363\n", + " 0.002\n", + " 0.002\n", + " 499.0\n", + " 660.0\n", + " NaN\n", " \n", " \n", " noise\n", - " 0.475\n", - " 0.050\n", - " 0.390\n", - " 0.571\n", - " 0.001\n", - " 0.001\n", - " 2528.0\n", - " 2382.0\n", - " 1.0\n", + " 0.505\n", + " 0.051\n", + " 0.413\n", + " 0.602\n", + " 0.002\n", + " 0.002\n", + " 499.0\n", + " 660.0\n", + " NaN\n", " \n", " \n", "\n", @@ -1155,17 +1302,19 @@ ], "text/plain": [ " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", - "intercept 1.048 0.123 0.820 1.274 0.003 0.002 1868.0 \n", - "slopes[feature1] 1.889 0.233 1.456 2.325 0.006 0.004 1778.0 \n", - "noise 0.475 0.050 0.390 0.571 0.001 0.001 2528.0 \n", + "intercept 1.048 0.137 0.794 1.311 0.006 0.005 467.0 \n", + "slopes[feature1] 1.894 0.264 1.414 2.387 0.012 0.009 450.0 \n", + "noise_var 0.257 0.053 0.171 0.363 0.002 0.002 499.0 \n", + "noise 0.505 0.051 0.413 0.602 0.002 0.002 499.0 \n", "\n", " ess_tail r_hat \n", - "intercept 1961.0 1.0 \n", - "slopes[feature1] 2002.0 1.0 \n", - "noise 2382.0 1.0 " + "intercept 253.0 NaN \n", + "slopes[feature1] 373.0 NaN \n", + "noise_var 660.0 NaN \n", + "noise 660.0 NaN " ] }, - "execution_count": 15, + "execution_count": 289, "metadata": {}, "output_type": "execute_result" } @@ -1189,7 +1338,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 290, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -1205,13 +1354,13 @@ "" ] }, - "execution_count": 16, + "execution_count": 290, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAG7CAYAAABeqpbSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABY1klEQVR4nO3dd3hT9f4H8PdJ0nRPOikdtLTMlr0pe4MXFw5EQEXxekHFhT8VRa/roigXveh1Aa6roIACyqbsXVYpoy20QKGT7jZNk3x/f7QJ1A5amvY0yfv1PH2s55ycfJJD03fPd0lCCAEiIiKyWQq5CyAiIiJ5MQwQERHZOIYBIiIiG8cwQEREZOMYBoiIiGwcwwAREZGNYxggIiKycQwDRERENo5hgIiIyMYxDBCZQWhoKCRJQkpKitylEBE1GMMAUQuzdu1aLFiwAMePH5e7lBYnNjYWCxYsQGxsrNylEFkVldwFEFmD8PBwODg4wM7OrtHnWrt2LVasWIHQ0FB069at8cVZkdjYWLz55psAgKFDh8pbDJEVYRggMoNt27bJXQIR0W1jMwEREZGNYxggMoOaOhAOHToUkiQhNjYWZ8+exeTJk+Ht7Q1HR0f07NkTK1eurHKOlJQUSJKEFStWAAAeeeQRSJJk+lqwYEGV43U6HT7//HMMGjQIHh4ecHBwQIcOHfDaa6+hoKCgWo3Lly+HJEmYMWMGiouL8corryAyMhIODg7VbrkfPnwYU6dORXBwMOzt7eHn54cBAwZg4cKFyM/Pr3buK1eu4Omnn0ZkZCQcHR3h4eGBYcOG4Zdffqnx/br5vTl06BAmTJgALy8vODs7Y8CAAVi7dm21x0iSZGoiePPNN6u8NzNmzKjxeYiofthMQNTEjh49igULFkCSJERGRuLSpUuIi4vD/fffD61Wi6lTpwIAHBwcMHDgQCQmJiIzMxMRERHw9fU1nSc4ONj0fUFBAe644w7s2rULCoUCQUFBcHV1xfnz5/HOO+9g9erViI2NrfJ4o9LSUgwePBjHjh1Dhw4d0KlTJ9jb25v2L1y4EC+//DKEEHBzc0NUVBTy8vJw5MgR7N+/H3369KkSHnbu3IlJkyYhPz8fjo6OiIiIQF5eHmJjYxEbG4vnn38eH374YY3vze7du/H2229DrVajQ4cOSEtLw/79+3HXXXdh0aJFeO6550zHDhw4EJcuXcLly5cRFBRU5f2IjIxs+IUhohsEETVaSEiIACAuXrxo2jZkyBABQNjZ2YnZs2eL0tJSIYQQBoNBzJs3TwAQrVu3Fjqdrsq5pk+fLgCIZcuW1fp8DzzwgAAgRowYIZKTk03br1+/Lu6++24BQNx7771VHrNs2TIBQCiVShEZGSkSEhJM+4y1rV271nTMokWLhFarNR1TXFwsvvjiiyqPS0tLE15eXkKSJPHuu+8KjUZj2rd3714RGBgoAIh169ZVqcX43qhUKvHAAw+IoqIi03uzZMkS077jx49Xedwbb7whAIg33nij1veGiBqOYYDIDOoKA127dhV6vb7K8VqtVvj7+wsAIi4ursq+W4WBEydOCAAiJCREFBQUVNtfXFwsgoKChCRJIiUlxbTdGAYAiKNHj9Z47k6dOgkA4q233qrX637uuecEADF37twa969bt04AEMOHD6+y3fje+Pr6moLIzYyBZtq0aVW2MwwQNQ32GSBqYo8++igUiqo/anZ2dujatSsA4MKFCw0635o1awAA9913H1xdXavtd3JywsiRIyGEwO7du6vt79y5M3r06FFte1JSEhISEqBWq/Hss8/Wq5bVq1cDAGbOnFnj/rFjx0KtVmPfvn3Q6XTV9j/22GNwcHCotv2pp54CAGzatKledRBR47DPAFETCw8Pr3G7sT2/qKioQec7deoUgIpQsG/fvhqPSU1NBQCkpaVV29exY8caH3PmzBkAQKdOnWoMGX9VVFRk6jD5xBNP1HmsRqNBTk4O/Pz86lWLcXtGRgYKCgrg5uZ2y3qI6PYxDBA1MWdn5xq3G+8WCCEadD5jb/6kpCQkJSXVeWxpaWm96zGOQPDw8GhQHQCwd+/eWx5fUy01dXD86/bCwkKGAaImxjBAZGFcXFwAAF9++WWtt+dvh/FuQF5eXoPqAACtVntbsy9mZWXdcnt97lIQUeOwzwBRCyNJUp37O3XqBACIj4836/N27twZAJCQkIDCwsJbHu/u7o7WrVsDAE6fPn1bz2lsmqhtu5+fX5W7Ard6b4jo9jAMELUwjo6OAGq+rQ4Ad911FwDg+++/R05OjtmeNzw8HF26dIFWq8WSJUvq9Zi7774bALB48eLbes6vv/4aZWVl1bYvXboUADB69Ogq22/13hDR7WEYIGphwsLCAAC7du2qsT9Br169cN999yEnJwejRo3CsWPHquzX6/WIjY3FQw89VOMv2rq8/fbbAIAFCxZgyZIlKC8vN+0rKSnBV199VeWv+Xnz5sHLywsrVqzAc889V62J4fr16/jmm29M5/2rnJwcPPbYYyguLgZQ0X9i6dKlWL16NZRKZZVJh4Ab701toxOI6DbJO7KRyDrUNc/Ajh07anxMbfMJJCUlCbVabZpLICYmRgwZMqTKcYWFhWLUqFGmeQOCg4NF3759RVRUlHB0dDRtv3kMv3GegenTp9f5Wt577z0hSZIAINzd3UWvXr1ERESEsLOzq/H17NmzR3h7e5smWIqKihJ9+/YVYWFhpvPcf//9VR5jfG/eeustoVarhaurq+jVq5do3bq1qfaFCxdWqy0/P194enoKACIgIEAMHDhQDBkyRLz33nt1viYiqhvvDBC1MOHh4Vi3bh2GDBmC3Nxc7NmzBzt37qyy7oGLiws2btyIH374AWPGjEFJSQni4uKQnZ2N6OhozJs3D4cOHapxDP+tvPzyy9i3bx/uu+8+ODk54cSJEygoKEDv3r3xwQcfVJujYODAgUhISMCrr76KTp064eLFizh58iQUCgXGjh2LpUuX4t///neNzxUTE4Pdu3dj0KBBSEpKQm5uLvr164fVq1fjxRdfrHa8m5sbNm/ejHHjxqGsrAz79+/Hzp07cfbs2Qa/TiK6QRKigeOaiIgaaejQodi5cyd27NhRbZEkImp+vDNARERk4xgGiIiIbBzDABERkY1jGCAiIrJx7EBIRERk43hngIiIyMYxDBAREdk4hgEiIiIbxzBARERk4xgGiIiIbBzDABERkY1jGCAiIrJxDANEREQ2jmGAiIjIxjEMEBER2TiGASIiIhvHMEBERGTjGAaIiIhsHMMAERGRjWMYICIisnEMA0RERDaOYYCIiMjGqeQugIjkIYTAmWuFOHY5Fycu5yEpswgFGh0AoJWzGt4u9vBzc0DPEE8MivCGu6OdzBUTUVORhBBC7iKIqHkIIXDo4nVsOHUNWxIycC1fU6/HqRQSJkQH4LFBbRHdxqNpiySiZscwQGQDSrQ6rI5Lw7f7U3A+o8i03UmtRM8QT0S3cUenAHd4OtsBAsgp1iKrsAyXrpdgT1I2kjJvPObenm3wf+M6oJWLvRwvhYiaAMMAkRXLK9Fixb5ULN93Ebkl5QAARzsl7ugagLFd/DEg3BsOdspbnic+LR9f7b6AtcevAgDcHe3w+sROuKdnmyatn4iaB8MAkRW6XqzF5zuT8cOBVBRr9QCAYC8nzBgQint6trnt9v+4S7l4bU08Eq4VAACm9w/BaxM7wU7JvshEloxhgMiKFGjKsXxvCr7cdQGFZRWdATsGuOHvQ8Mxvos/VGb4pa3TG/DpjiQs3poIABja3gefPdQTjupb32EgopaJYYDIChRoyrFibwq+2nMR+aUVzQGdW7vhhdHtMbS9DyRJMvtzbjqdjmd+OgZNuQG9Qz3xzYzecHXgiAMiS8QwQGTBynR6fLsvFZ/uSDKFgHa+LnhmRAQmRAVAoTB/CLjZ4ZTreHT5YRRqdIiJ8MbX03tDrWKTAZGlYRggskBCCGw6nY73/jyL1JwSABUh4OnKEKBs4hBwsxOX8/DglwdQotXj7h6BWDS5a5PciSCipsMwQGRh4tPy8da6BBxKuQ4A8HG1x4tj2uOeHm2aNQTcbMe5TMxccQR6g8DsYe3wwpj2stRBRLeHYYDIQpRq9Vi89Ty+3H0BBgE42CnwREwYZg0Jh7O9/JOJrjx8GS/9ehIA8MXDPTG6s7/MFRFRfTEMEFmAo6nX8fzKE0ipbBKYEB2AV8d3RGsPR5krq+rt9Qn4as9FuDmosOHpGAR5OcldEhHVA8MAUQtmMAj8Z0cSFm9LhN4g4O/mgHfu6oIRHf3kLq1GWp0Bk/+7Hycu56FbkAdWzurPDoVEFoBhgKiFKtSU49mfjmPb2UwAwF3dA/HmpM5wa+HD9y5fL8GEJbtRoNHhySHheHlcB7lLIqJbYBggaoFSsosx89sjSMosglqlwDt3dsHkXkFyl1VvG+Ov4cnv46CQgF//PgDdgz3lLomI6sD7d0QtzOmr+bhr6V4kZRbBz80eq2b1t6ggAABjuwTgzm6tYRDAS7+cRJlOL3dJRFQHhgGiFiQ+LR9TvjyI3JJyRAW6Y93sQega5CF3WbfljTs6w9vFHomZRVi6I1nucoioDgwDRC3EySt5mPLlAeSXlqN7sAd+eLwvfN0c5C7rtnk6q7Hgb50AAJ/tTMalypEQRNTyMAwQtQBJmYWY/s0hFGh06BXiiW8f7dPiOwrWx4SoAAwIbwWtzoC31p+WuxwiqgXDAJHMruWX4uGvDyG3pBxd27hj+aN9rGbBH0mS8NakzlApJGw9k4ltZzLkLomIasAwQCQjTbkes747imv5GrTzdcGyR/rApQXMJmhO7Xxd8digtgCAN9clsDMhUQvEMEAkEyEE/m/1KZy8kg9PJzssm9EbXs5quctqEnNGRMDX1R6Xrpfg+wOX5C6HiP6CYYBIJiuPXMaaY2lQKiT856EeVj11r4u9CnNHRQIAPt2eiAJNucwVEdHNGAaIZHAhqwgLfk8AALwwuj0GhHvLXFHTm9yzDcJ9nJFbUo7/7uRQQ6KWhGGAqJnpDQJzfz6O0nI9+oe1wqzBYXKX1CxUSgXmja2YmvjrPReRUaCRuSIiMmIYIGpmy/ZexIkr+XB1UOGj+7tCoZDkLqnZjOrkh54hntCUG7B4a6Lc5RBRJYYBomZ0+XoJFm0+DwB4ZXxHBLi3rCWIm5okSaaFi1YduYwruZyIiKglYBggakZvrktAabkefdp64X4LW2/AXHqHemFgu1bQGQSWxrLvAFFLwDBA1Ez2JWVj65kMKBUS3r2ri001D/zVMyMqRhasOnIZaXmlMldDRAwDRM1AbxB4e8MZAMDUvsFo5+sqc0Xy6tPWC/3DWqFcL/BZbJLc5RDZPIYBomawOu4KEq4VwNVBhWdGRspdTovwzMgIAMDKw1dwLZ93B4jkxDBA1MRKtDp8sOkcAGDO8HZWO8tgQ/ULa4W+bb2g1RvwGfsOEMmKYYCoiX23PxWZhWUI8nLE9AGhcpfTohjvDvx06DLS8znvAJFcGAaImpCmXI8vd18EAMwZHgF7lVLmilqW/mGt0DvUE1q9Acv3pchdDpHNYhggakIrj1xGdlEZAj0ccVf3QLnLaXEkScITg8MBAD8cTEVRmU7miohsE8MAURPR6gz4vLIt/MkhYbBT8setJiM6+CLM2xmFGh1WHr4sdzlENomfTkRNZO2xNFzN18DH1R6TbXSCofpQKCQ8FtMWQMWaBTq9QeaKiGwPwwBREzAYBD6rXJnviZgwONixr0Bd7unRBl7OaqTllWLj6XS5yyGyOQwDRE0g9nwmLmYXw81BhSl9g+Uup8VzsFPi4X4hAIAvd12QuRoi28MwQNQElu9LBQDc3zsIzvYqmauxDA/3D4FaqcCJK/k4fjlP7nKIbAo/pYjMLDmrCLvOZ0GSgIf7hcpdTouVnZ2NtWvX4tChQzh06BDi4+Oh1+vhfceL+HZfILrd303uEolsBsMAkZl9WzlefkQHPwS3cpK3mBZsz549ePzxx2vct/7kNbwyoSO8XeybuSoi28RmAiIzKtSU45ejVwAAMzjbYJ38/Pzw1FNPYdmyZYiPj8fDDz8MAAhp5Qyt3oCfOcyQqNnwzgCRGf1y9AqKtXq083XBwHat5C6nRevfvz/69+9v+n+FouJvkyHtvfFrHvD9gVTMGhwGFednIGpy/CkjMpOLFy/i0UFhSP/xZTzQzQfPP/88goKC4OjoiB49emDdunWmY1etWoU+ffrA2dkZfn5+ePrpp1FaWn3lvqKiIrz11luIioqCk5MT3NzcMGTIEKxdu7bGGjZs2IBHH30UHTt2hJubG5ydndG1a1e8++67KCsrq3b88uXLIUkSFixYgEuXLmHKlCnw8fGBo6MjevXqVaXm5tItyBOtnNW4lq/BloSMZn9+IlvEMEBkJvFp+QAAhdDjvy8/gu+++w7dunVDv379cOLECdx1113YunUrPv74Y0yZMgUqlQqjR4+GXq/HJ598gpkzZ1Y5X0ZGBvr27Ys33ngDubm5GDVqFPr27YujR4/irrvuwvvvv1+thsceewyrVq2Cu7s7xo4di5iYGFy+fBmvvvoqxo8fD71eX2PtKSkp6N27N/bu3YtBgwahe/fuOHr0KO68805s3rzZ/G9WHeyUCjzQp2KSpu8PpjbrcxPZLEFEZjHz0w0CgAAghg4dKq5fv27at2zZMgFAtGvXTnh5eYldu3aZ9qWlpQlfX18BQCQnJ5u2jxs3TgAQL730ktBqtabtycnJIjw8XCiVSnHixIkqNaxZs0YUFRVV2VZQUCAmTpwoAIgVK1ZU2WesC4CYM2eOKC8vN+1bvHixACBiYmKqvdaQkBDT4+r7dfHixTrfv+nTpwsA4n//+5+4fL1YhL68XoTMWy8uZBXV+Tgiajz2GSAygwJNObafzQQAKJVKfPnll/D09DTtnzZtGl566SUkJSXh9ddfR0xMjGlf69at8dBDD+Hjjz/Grl27EBYWhuPHj+PPP//EgAED8P7770OSJNPxYWFhWLRoEe6880589dVXWLJkiWnfnXfeWa02V1dXfPzxx1i/fj1+++03TJs2rdoxxnOqVDc+Ev7xj3/gzTffxIEDB6DVaqFWq0377r33XmRnZzfoPXJxcan3sW08nTA00gc7zmXhf4cu4ZXxHRv0XETUMAwDRGbw2/GrKNNVzKkfGhqKdu3aVdmvUCgQEhKCrKwsjBo1qtrjw8MrVu67du0aAGDLli0AgEmTJlUJAkaDBg0CABw+fLjavsTERPzxxx9ISkpCcXExDAYDhBCmfTUZOnQo7OzsqmxTqVQICwvD0aNHkZOTg4CAANO+Dz/8sMbzmNNDfUOw41wWVh25jOdGRXJKZ6ImxDBAZAY/Hbpk+j4wsOalip2dnWvdb9xn7OSXkpICAJg3bx7mzZtX6/Pe/Ne5EAIvvPACPv74Y9Mv/78qLCyscXubNm1q3G78a76mzodNbVgHX7R2d8DVfA02nU7HpG5cApqoqTAMEDVSfFo+Tl8tgF3l0Lia/pK/2a32AzB19IuJiUFYWFitx3l7e5u+//nnn/HRRx+hTZs2WLx4Mfr37w8fHx/Y2dlBq9XC3t6+1pBQn5pu9sILLzS4meDDDz+sUu+tKBUS7u8djI+3nscPBy4xDBA1IYYBokZaHZcGABgU4Y0UM53T+Jf6vffei6effrpej1mzZg0A4LPPPsPEiROr7LtwwbyL//zyyy9ITW1YT/8FCxY0KAwAFWs7LNmeiEMp15GUWYh2vq4NejwR1Q+HFhI1gk5vwO8nrgIAxnbxM9t5R44cCQC1zidQk9zcXABAUFBQtX0rV640S11GKSkpEEI06Cs0NLTBz+Pv7oBh7X0BAKuOXDHrayCiGxgGiBphd1I2sovK4OWsRp+25ptxsF+/fhgxYgR27NiBuXPnoqioqMp+g8GAzZs3Y8+ePaZtkZGRAIAvvviiSnPA7t278cEHH5ittuZ2b8+KuySrj6VBpzfIXA2RdWIYIGqENZVNBHdEB8DOzNPm/vDDD4iOjsbixYsREhKCESNG4IEHHkBMTAz8/f0xZswYHDlyxHT8008/DWdnZyxduhRdunTBgw8+iMGDB2PIkCF48sknzVqbufTr18/0tWHDBgDA/PnzTdueeuopDO/gCy9nNbIKy7ArMUvmiomsE8MA0W0qKtNhc0I6AOCuHjX3xm8MPz8/HDhwAB999BEiIiJw+PBhrF27FleuXEH37t3xn//8B1OnTjUdHxkZicOHD+OOO+5AdnY2fv/9dxQVFeG///1vi70zcPDgQdOXsUNiUlKSaVtCQgLUKgXurOw8yKYCoqYhidq6FxNRnVYduYwXfzmJMG9nbHt+SIN75FP9nblWgHH/3g07pYSDr4yEl7P61g8ionrjnQGi27T2eEUTwV3dAxkEmljHADd0bu2Gcr3A75XvOxGZD8MA0W3ILNRgf3IOAODO7hz/3hwmV3YkXHWUTQVE5sYwQHQbNsWnwyCArm3cEeTlJHc5NmFSt0DYKSWcvlqAhKsFcpdDZFUYBohuw4ZTFWsITIgOuMWRZC6ezmqM7Fgxl8Oqo5dlrobIujAMEDVQZqEGBy9eBwCMj2IYaE7GOQfWnbjGOQeIzIhhgKiBNsWnQwiga5AH2niyiaA5DY70gaeTHbKLyrD/Qo7c5RBZDYYBogZaf7KiiWAi7wo0OzulwnQ35rfjV2Wuhsh6MAwQNUBmgQaHUiqaCMZF+ctcjW0yrl64MT4dmnK9zNUQWQeGAaIG2Hi6oomgG5sIZNMrxBOBHo4oKtNhx9lMucshsgoMA0QNYGoi4CgC2SgUEu7o2hoAmwqIzIVhgKieMgs0OGxqImAYkNOkbhVhYPu5TOSXlstcDZHlYxggqqc/K0cR9Aj2QKCHo9zl2LQO/q6I9HOBVmfAptPpcpdDZPEYBojqaUNlEwHnFpCfJEmmjoS/s6mAqNEYBojqIaNAg8OpnGioJflbZb+BfcnZyCzQyFwNkWVjGCCqh82nbzQRtGYTQYsQ5OWEHsEeMAhgXeVdGyK6PQwDRPWw6XQGAGBsF84t0JLcaCrgssZEjcEwQHQL+SXlOFA59e3oTgwDLcn4qAAoFRJOXMnHxexiucshslgMA0S3sP1cBnQGgfZ+rgj1dpa7HLqJj6s9BrbzBsCOhESNwTBAdAubK5sIRnf2k7kSqskk0wREaRBCyFwNkWViGCCqg6Zcj9hzWQDYRNBSje7sB7VKgQvZxThzrVDucogsEsMAUR32JGajtFyP1u4O6BLoJnc5VANXBzsMjfQBAPxxiqMKiG4HwwBRHYyz243u7A9JkmSuhmpjnPvhj1PX2FRAdBsYBohqodMbsPUM+wtYghEdfU1NBecy2FRA1FAMA0S1OJKai9yScrg72qFPqJfc5VAdXB3sMDiisqmAExARNRjDAFEtjKMIRnT0hUrJH5WWbkJ0RQfPDWwqIGowfsIR1UAIgS1nKvsLcBSBRRjR0Q9qpQLJWcU4n1EkdzlEFoVhgKgG5zOKcPl6KexVCgyO9Ja7HKoHNwc7xERUXCuOKiBqGIYBohoYOw4ObOcNJ7VK5mqovm4eVUBE9ccwQFSDLQkVYWBkR44isCQjO/nBTikhMbMIiRxVQFRvDANEf5FZqMHxy3kAKjoPkuVwd7RDTOWogg28O0BUbwwDRH+x42wmACC6jTv83BxkroYaalzlMtN/nkqXuRIiy8EwQPQXWxIqwgCbCCzT6E7+sFNKOJdRiKRMjiogqg+GAaKbaMr12JNUsTARw4BlcneyMy1rzI6ERPXDMEB0k71J2dCUG9Da3QEdA1zlLoduE0cVEDUMwwDRTYxDCkd28uPCRBZsdCc/qBQSzqYXIjmLTQVEt8IwQFTJYBDYeob9BayBh5MaAyqbCv7k3QGiW2IYIKp0Ki0fWYVlcFYr0TeMCxNZuglRxrUKOKqA6FYYBogqGZsIhrT3gb1KKXM11FijO/lDqZBw5loBLrCpgKhODANElTjroHXxdFZjQHgrAMCf8bw7QFQXhgEiAFdyS3A2vRAKCRjWnrMOWgvjqII/49lvgKguDANEALZVdhzsFeIFT2e1zNWQuYzu5AeFBMSnFeBSTonc5RC1WAwDRLh5SCHvCliTVi726BdmbCrg3QGi2jAMkM0r1JTjwIUcAOwvYI04ARHRrTEMkM3bdT4b5XqBMG9nhPm4yF0OmdmYzv6QJODElXxcyWVTAVFNGAbI5t086yBZHx9Xe/QJrZg3YiNHFRDViGGAbJpOb8D2s5x10NqxqYCobgwDZNOOpuYiv7QcHk526BHsIXc51ETGdqloKoi7lIereaVyl0PU4jAMkE0zNhEMb+8LlZI/DtbKz80BvUI8AbCpgKgm/PQjm2ZamIj9BazeuC6cgIioNgwDZLOSs4pwMbsYaqUCgyN95C6HmtjYLhULFx1JzUVGgUbmaohaFoYBsllbK9ci6BvmBRd7lczVUFNr7eGI7sEeEALYdJpNBUQ3Yxggm2XsLzCKTQQ2Y0LlqIINJ9lUQHQzhgGySdeLtTiamgsAGMEhhTbD2FRwKOU6sgrLZK6GqOVgGCCbtONsJgwC6BjghkAPR7nLoWbSxtMJXdu4s6mA6C8YBsgmmZoIOnJhIlszjssaE1XDMEA2p0ynx67zWQA4pNAWja8cYrg/OQc5RWwqIAIYBsgGHbhwHcVaPXxd7dGltbvc5VAzC27lhC6BbjAIYHPliBIiW8cwQDbHOKRwREc/KBSSzNWQHIwTEHGtAqIKDANkU4QQ2GYaUsj+ArZqXOWogn3JOcgt1spcDZH8GAbIpiRcK8DVfA0c7BQYEO4tdzkkkzAfF3Twd4XeILDlDJsKiBgGyKZsTahYiyAmwgcOdkqZqyE5TeCyxkQmDANkU24MKeQoAltnHGK4Nykb+SXlMldDJC+GAbIZ6fkanErLhyQBwzqwv4Cta+frgkg/F5TrhSkkEtkqhgGyGdvOVnzgdwvygI+rvczVUEvAZY2JKjAMkM0wDikcySYCqjQhuiIM7DqfjQINmwrIdjEMkE0o0eqwNzkHAFcppBsifF0Q7uMMrd6A7Wcy5S6HSDYMA2QTdidmQ6szIMjLERG+LnKXQy2EJEkYz1EFRAwDZBtubiKQJM46SDcY+w3Ens9CUZlO5mqI5MEwQFZPbxDYfrbiFjCHFNJfdQxwRWgrJ2h1Buw4y6YCsk0MA2T1jl/OQ06xFq4OKvRu6yV3OdTCsKmAiGGAbIBxDPnQ9r6wU/KfPFVnDAM7zmWiRMumArI9/GQkq3ejvwAnGqKadW7thiAvR2jKDYg9lyV3OUTNjmGArFpqTjESM4ugUkgYGskwQDWTJAnjuawx2TCGAbJqWyvHjvcO9YK7k53M1VBLZmwq2H42E5pyvczVEDUvhgGyaqYmAk40RLcQ3cYdgR6OKNHq2VRANodhgKxWfkk5DqVcB8D+AnRrkiRhXBd/AFyrgGwPwwBZrdjzmdAbBCJ8XRDSylnucsgCGJc13naGTQVkWxgGyGoZ+wuwiYDqq3uQB/zdHFBUpsOexGy5yyFqNgwDZJXK9QbEnqsMA5x1kOpJoZAwLqqiqYCjCsiWMAyQVTp88ToKNTq0clajW5CH3OWQBTGOKthyJgNlOjYVkG1gGCCrtKVy1sHhHXyhVHBhIqq/nsGe8HW1R6FGh31JOXKXQ9QsGAbI6gghTFMQs78ANZRCIWFsFzYVkG1hGCCrk5hZhMvXS6FWKRAT4S13OWSBjE0FmxMyUK43yFwNUdNjGCCrs6VyoqGB4a3gpFbJXA1Zot6hXvB2USO/tBz7ktlUQNaPYYCsDpsIqLGUCgljOldOQMSmArIBDANkVbIKy3D8ch4AYEQHhgG6fcamgk2n06FjUwFZOYYBsio7zmZCCCAq0B3+7g5yl0MWrG9bL3g5q5FbUo6DF6/LXQ5Rk2IYIKtiHFLIiYaosVRKBcZ0rvh3tIFNBWTlGAbIamjK9aYpZEd24sJE1HjjulQ2FcSnQ28QMldD1HQYBshq7EvORmm5Hq3dHdApwE3ucsgK9A9vBXdHO+QUa3GITQVkxRgGyGpsSahYi2BERz9IEmcdpMazUyowunJUCpc1JmvGMEBWwWAQ2H6WQwrJ/MZHVzQV/BmfDgObCshKMQyQVYi/mo+MgjI4q5XoF+YldzlkRQaGe8PVQYWswjIcSc2VuxyiJsEwQFZha+Wsg4MjfWCvUspcDVkTtUqBUZV3m7hWAVkrhgGyClvPVPQX4JBCagrjK0cVbGRTAVkphgGyeGl5pUi4VgCFBAzrwCGFZH6DIrzhYq9CeoEGxypnuCSyJgwDZPG2VU401CukYsY4InNzsFNiZMeKoMmmArJGDANk8YyrFHKiIWpK4yrXKvjz1DUIwaYCsi4MA2TRCjTlOHChYolZ9hegpjQk0gdOaiWu5mtw4kq+3OUQmRXDAFm0XeezUK4XCPNxRpiPi9zlkBVzsFNieGWfFC5rTNaGYYAsmnFI4SjeFaBmMKGyqeCPeDYVkHVhGCCLVa43YPvZyiGFnHWQmsHQ9r5wtFPi8vVSxKcVyF0OkdkwDJDFOpKSiwKNDl7OavQI9pS7HLIBjmolhnXwAQCsP3VV5mqIzIdhgCzW1sohhcM7+EKp4MJE1DwmRLUGAGw4yaYCsh4MA2SRhBA3hhSyvwA1o+EdfOGkVuJKbilHFZDVYBggi5SYWYRL10ugVikQE+EtdzlkQxzVSoyoDKDrT7CpgKwDwwBZJONdgYHhreBsr5K5GrI1plEFp65xrQKyCgwDZJGM/QU4ioDkMLS9D1zsVbiar8Gxy1zWmCwfwwBZnMxCDY5XLhbD/gIkBwc7pWlZ43UnOAERWT6GAbI4O85mQgigaxt3+Lk5yF0O2Sg2FZA1YRggi7MloXKiId4VIBnFRHrD1UGFzMIyHE65Lnc5RI3CMEAWpVSrx56kLADsL0DyslcpMaazPwBg/Uk2FZBlYxggi7InKRuacgMCPRzRwd9V7nLIxk2IrlzWOP4a9GwqIAvGMEAWxbQwUSc/SBJnHSR5DWrnDQ8nO2QXaXGwciltIkvEMEAWw2AQ2Hb2RhggkpudUoGxlU0F69hUQBaMYYAsxvErecgu0sLVQYU+bb3kLocIwI2mgo3x11CuN8hcDdHtYRggi2FsIhja3hd2Sv7TpZahf1grtHJWI7ekHPuT2VRAlomfqGQxbixM5CtzJUQ3qJQKjO1iHFXAtQrIMjEMkEVIyS5GYmYRVAoJQyMZBqhludFUkA6tjk0FZHkYBsgiGNci6NPWC+5OdjJXQ1RV37at4ONqjwKNDnuTsuUuh6jBGAbIIhjDAEcRUEukVEgY38U4qoBNBWR5GAaoxcsr0eJwSsXKcJyCmFqqCdGtAQBbTmdAU66XuRqihmEYoBYv9lwW9AaBDv6uCPJykrscohr1CvGEv5sDCst02J3IpgKyLAwD1OJtOWMcRcC7AtRyKRQSxleuZMhRBWRpGAaoRdOU6xF7tnKVQvYXoBbOOKpgawKbCsiyMAxQi7YvORvFWj383RwQHegudzlEdeoR7IFAD0cUa/WIPZcpdzlE9cYwQC3apviKJoLRnf2gUHBhImrZJEky3R3gWgVkSRgGqMXSG4RpSKFx3Xiilm5CZb+B7WcyUaLVyVwNUf0wDFCLdSTlOnKKtXB3tOPCRGQxotu4I9jLCaXlemw/y6YCsgwMA9RibTpdcVdgREcuTESW4+amgvUn2FRAloGfsNQiCSGw6XQ6ADYRkOUxNhXsOJeJojI2FVDLxzBALdLpqwVIyyuFg50CgyN85C6HqEE6t3ZDW29nlOkM2FbZ74WoJWMYoBZpc+VdgSGRPnBUK2WuhqhhJEnCROOoAjYVkAVgGKAWydhfgE0EZKmM/QZ2nc9Cfmm5zNUQ1Y1hgFqclOxinMsohEohYUQHzjpIlqm9nyva+bpAqzdgawKbCqhlYxigFsfYcbBfWCu4O9nJXA3R7bm5qYBrFVBLxzBALc6NUQS8K0CWzRgGdidmI69EK3M1RLVjGKAWJbNAg7hLeQCAUZ3YX4AsWztfV3Twd4XOILD5NJsKqOViGKAWZXNl22q3IA/4uzvIXA1R45lGFbCpgFowhgFqUTjREFmbCdGtAQD7knOQU1QmczVENWMYoBYjv7Qc+5NzALC/AFmPtt7O6NzaDXqDMA2ZJWppGAaoxdiSkAGdQSDSzwVhPi5yl0NkNhMr7w5wVAG1VAwD1GL8capiprbxlfO6E1kL41oFBy7kIKuQTQXU8jAMUIuQX1qO3YlZABgGyPoEt3JC1zbuMAhgYzynJ6aWh2GAWoStCRko1wu083VBpJ+r3OUQmZ2xqWDdSYYBankYBqhF+DOeTQRk3cZXDjE8nHIdGQUamashqophgGRXoCnHrvPZAG60rRJZm0APR/QI9oAQN/rHELUUDAMku21nMqDVGxDu44xIP44iIOt1Y1QBwwC1LAwDJLsNJysmGpoQFQBJkmSuhqjpjI8KgCQBR1NzkZZXKnc5RCYMAySrQk05dhlHEUSziYCsm7+7A3qHegEAfj/OOQeo5WAYIFltO5MJrc6AMB9ntOcoArIBd3UPBACsjrsCIYTM1RBVYBggWW0wTjTUhU0EZBvGRwVArVIgMbMIp68WyF0OEQCGAZJRoaYcO89zoiGyLe6OdhjVsWLtjdVxaTJXQ1SBYYBks/1sRRNBW29ndAxgEwHZDmNTwe8nrkKnN8hcDRHDAMlo3QnjREP+bCIgmzKkvQ+8nNXILirD7qRsucshYhggeeSVaLHzfCYAYFK3QJmrIWpedkoF7qgcPbOGTQXUAjAMkCz+jE9HuV6gg78r1yIgm3R3jzYAgE2n01GoKZe5GrJ1DAMki9+OV/w1xLsCZKui27gjzMcZZToD/oxPl7scsnEMA9Ts0vM1OHjxOgDgjq4cRUC2SZIk3F3ZkZBNBSQ3hgFqdutPXoUQQK8QT7TxdJK7nCZx4MABTJo0Cd7e3nBwcEBkZCRee+01lJSU1PscI0eOhCRJkCQJ6enV/3LUaDT4xz/+AW9vbzg7O+Nvf/sbUlNTazxXfn4+/P398eCDDzb4taSkpECSJISGhtZ53IwZMyBJEpYvX17jduOXQqGAu7s7QkNDcccdd2DhwoXIyMho8HmtgfHO2IGLObjK6YlJRgwD1Ox+q5yGdVK31jJX0jR++OEHDBo0CL///jtCQ0Mxfvx4aDQavPPOOxgwYAAKCwtveY7ly5dj27ZtdY6yeOaZZ7B06VKEhIQgJiYG69evx/jx46HX66sd+/rrr6O4uBgffvhho15bYwwcOBDTp0/HtGnTMHr0aLRp0wbbtm3DvHnzEBwcjH/96182NyNfkJcT+rT1ghDA2uO8O0DyYRigZpWcVYRTaflQKiSrnGjoypUrmDlzJvR6Pb755hscOXIEq1evRmJiIiZPnowTJ07gpZdeqvMcWVlZeOGFFzB69GgEBwfXeMy1a9fwzTffYNy4cThy5Ag2btyIf/7zn0hISMCaNWuqHBsfH4+lS5di/vz5CAyUr4/GzJkzsXz5cixfvhyrVq3Cnj17kJOTgyVLlkClUuHll1/Gq6++Klt9crmnx42mAlsLQ9RyMAxQszIuzhIT4Y1WLvYyV2N+y5cvh0ajwahRo/DII4+Yttvb2+M///kPnJyc8PXXXyMnJ6fWczz77LMoLi7G0qVLaz0mPj4eOp0O06ZNM909ePTRRwEAx48fr3Ls7NmzER4ejrlz5zbilTUNR0dHzJkzBxs2bIBSqcR7772HEydOyF1WsxoXFQD7yumJ49M4PTHJg2GAmo0QAr+fsO4mgqNHjwIAhg4dWm2fj48POnXqhPLycvzxxx81Pn7Tpk348ccf8eqrryI8PLzW58nNzQUAeHp6mrYZv79+/bpp248//oidO3fik08+gZ2dXYNfT3MZOnSoqT/DJ598InM1zcvNwQ4jO1VMT/xr3BWZqyFbxTBAzebY5TxczC6Gg50Cozr5y11OkyguLgZQ9Zf0zby8Kpavremv35KSEjz55JPo0KHDLZsSjM0HiYmJpm3nz58HAISEhAAAioqK8OKLL+Kee+7BqFGjGvhKmt8DDzwAANixY4fMlTS/+3oFAahYyVBTXr3PB1FTYxigZrPqSMVfPeO6BMDFXiVzNU3Dx8cHAGrt1W/cnpKSUm3f/PnzkZKSgs8++wxqtbrO5+nWrRsCAgLw0UcfIT4+HhkZGXjppZcgSRLGjRsHAHjrrbeQl5eHjz76qBGvqPl069YNAHDhwgVotVp5i2lmMe28EejhiAKNDn9UruRJ1JwYBqhZaMr1WF/ZRDC5ZxuZq2k6Q4YMAQD873//q/YL7cCBAzh37hwAVBtREBcXh3//+9+YPn16jU0Mf+Xg4IAPPvgAKSkpiIqKgr+/PzZt2oQnn3wS0dHROHfuHBYvXoxXXnmlSifE0tLS2+6klpqaWmWI4F+/VqxYcVvnNfL29jZ9b2wGsRUKhYQHelfcHfjfoUsyV0O2yDr/PKMWZ9PpdBSW6RDo4Yh+Ya3kLqfJPPTQQ3jnnXdw6dIlTJo0CR9++CGCg4Oxd+9ePP7441CpVNDpdFAobuRwvV6Pxx9/HB4eHg0a+vfQQw8hLCwMq1atgkajwfDhw3HPPfcAAObMmYPg4GC88MILAICffvoJL7/8MlJTU+Hu7o7Zs2fjrbfeqlLHrTg7O+Pee++tdf+ePXuQnJxc7/P91c0hxRYXrprcKwiLtyXicEoukjIL0c6X03RT82EYoGZhbCK4p2cbKBTW+0Hv7OyM9evXY+LEidi4cSM2btxo2hccHIznnnsOCxcurNKnYPHixYiLi8PXX39d5a/j+ujfvz/69+9fZduvv/6KLVu2YP369bC3t8fRo0cxZcoUjBkzBv/+97+xc+dOvPPOO/D19cXTTz9d7+fy9vauc+KfGTNmNCoMZGffWL2vtj4X1szf3QHDO/hiS0IG/nfoMuZP7CR3SWRDGAaoyaXllWJvcsUHvTU3ERhFRUXh7NmzWLVqFY4cOQKdToeuXbtiypQpePvttwEAnTt3Nh2/bt060232b7/9tsq5jDMP3n333VCr1Xj77bcxaNCgWp+7tLQUzz//PO644w5MmDABALBo0SK4uLhg5cqVcHV1xaRJkxAXF4cPPvigQWGgqRmHREZERLTokQ9NaUqfYGxJyMCvcVfw4pj2cLBTyl0S2QiGAWpyq49egRBAvzAvBHlZ5/TDf+Xo6Ihp06Zh2rRpVbZv3boVQPWhh0II7Nq1q9bz7d+/H0DVv55r8u677yIjIwOLFy82bTt79iw6dOgAV9cbt5379OmDnTt3oqCgAG5ubvV5SU3up59+AgAMGzZM5krkMzjSB63dHXA1X4NNp9O5kBc1G3YgpCYlhMAvlWOnJ/cMkrkaee3cuRNxcXHo3LkzBg4caNoeGxsLIUSNX8ZhgteuXYMQAnfeeWet509OTsYHH3yAl156CWFhYVX2/XVNBOMQyJbSNh8bG4uffvoJkiRhzpw5cpcjG6VCwn2VHQl/PMiOhNR8GAaoSR26eB2pOSVwVisxLso65xb4q+PHj0On01XZFhcXhylTpkCSpCabVOeZZ55BQEAAXn755SrbO3fujISEBBw7dgxAxUiGdevWITg4uMrdAjloNBp8+umnmDBhAvR6PebPn48uXbrIWpPc7usVBIUEHLx4HYkZt17Hgsgc2ExATernI5cBABOiA+Ckto1/bs8++ywSEhLQrVs3eHt7IyUlBQcPHoRCocB///vfJrkNvmHDBmzYsAFr1qyBo6NjlX0vvvgifvzxRwwbNgzDhw/HsWPHcPnyZXz++edmr6MuX331FWJjYwFU3KlIT0/H0aNHUVJSAnt7eyxcuNA0+sGWtfZwxMiOftickIEV+1Pw9p1RcpdENsA2Pp1JFrnFWqw/WTGBygN9al5wxxpNnToV33//PY4fP468vDz4+PjggQcewIsvvmiaWMecysrK8Mwzz2DMmDE1NiNER0dj7dq1eO2117B+/Xr4+/vj/fffx6xZs8xeS1327t2LvXv3QpIkuLi4wMvLC8OGDcOQIUMwffp0+Pr6Nms9LdmMgaHYnJCBX4+m4cUxHeDuaJsdKqn5SILLZFET+XLXBbzzxxl0bu2G9XMGtZj2aaKWTgiBsYt341xGIV6b0BEzY8Ju/SCiRmCfAWoSBoPA9wcrpt6d2i+EQYCoASRJwoyBoQCAb/enQm/g32zUtBgGqEnsScpGak4JXO1VVrtCIVFTurNbINwd7XDpegl2nM2UuxyycgwD1CS+O1BxV+Cenm1spuMgkTk5qpWm9Qq+3nNR5mrI2jEMkNml5ZVi25kMAMDUfrbTcZDI3KYNCIVKIWH/hRwcv5wndzlkxRgGyOx+OnQJhsoZB7nYCtHtC/RwNM1C+Hns7a/7QHQrDANkVlqdAf87VDG3wMP9QuUthsgKPDmkYiTBpoR0JGcVyVwNWSuGATKr9SevIruoDL6u9hjd2U/ucogsXoSfK0Z18oMQwBc7L8hdDlkphgEyGyEEvthV8WE1fUAo7JT850VkDn8fGg4AWH3sCq7ll8pcDVkjflqT2exOzMbZ9EI4qZWY2jdE7nKIrEaPYE/0beuFcr3Af3l3gJoAwwCZzZe7Kz6k7u8dBHcnTp9KZE7PjIgAULGaIe8OkLkxDJBZJFwtwO7EbCgk4NGBbeUuh8jq9A9vhT5tvaDVG7B0B0cWkHkxDJBZfFV5V2B8VACCvJxkrobI+kiShOdGRQIAfj58GWl5vDtA5sMwQI12Na8Uv5+4CgB4YjAXVCFqKv3CWqF/WCto9Qb8Z0eS3OWQFWEYoEZbtvcidAaBfmFeiG7jIXc5RFZtbuXdgZWHL+MC5x0gM2EYoEbJLirD9wcuAQBmDQ6XuRoi69enrReGtfeBziDw/p9n5S6HrATDADXKl7svoLRcj+g27hja3kfucohswivjO0KpkLA5IQP7k3PkLoesAMMA3bacojJ8t79idcJnRkRAkiSZKyKyDRF+rpjSp2IRsLc3JMBgEDJXRJaOYYBu25e7L6JEq0dUoDuGd/CVuxwim/LsyAi42qtw+moBfo27Inc5ZOEYBui2XC/W4tv9KQB4V4BIDq1c7DF7eDsAwL82nkOBplzmisiSMQzQbVm6IwklWj26BLphREfeFSCSwyMD2yLMxxnZRWX4eMt5ucshC8YwQA12JbcE31b2FXhxTAfeFSCSiVqlwJt/6wwA+HZ/Ks6mF8hcEVkqhgFqsI+3JEKrN2BAeCsMjvCWuxwimxYT4YNxXfyhNwi8vvY0hGBnQmo4hgFqkLPpBVh9rKKz0ryxvCtA1BK8NrETHO2UOJRyHWuPp8ldDlkghgFqkIUbz0EIYEJUALoGechdDhEBCPRwNHUmfPePs8gvZWdCahiGAaq3neezsP1sJlQKCc+PjpS7HCK6ycyYtgjzdkZWYRneXp8gdzlkYRgGqF60OgPeXHcaADB9QCjCfFxkroiIbmavUmLhvdGQJGDV0SvYcTZT7pLIgjAMUL18uz8FF7KK4e2ixjMjI+Quh4hq0CvUC48ObAsAeHn1STYXUL0xDNAtZRWW4d9bEwEAL43pADcHO5krIqLavDC6Pdp6OyOjoAz/ZHMB1RPDAN3Se3+eQWGZDtFt3HFvzzZyl0NEdXBUK/FBZXPBL0evYPvZDLlLIgvAMEB12nU+C6vj0iBJwJt/6wyFgkMJiVq6XqFeeMzYXPDrKeSXsLmA6sYwQLUq0erwyppTAIAZA0LRPdhT5oqIqL5eGNMeYd7OyCwsM3X+JaoNwwDV6qPN53EltxSBHo54YXR7ucshogZwsFPig8ldoZCA1cfSsCWBzQVUO4YBqtGxS7n4Zu9FAMDbd3WBs71K5oqIqKF6hnji8ZgwAMD/rT6F3GKtzBVRS8UwQNUUl+kw9+fjMAjgru6BGNaeqxISWaq5oyLRztcF2UVleP13NhdQzRgGqJp3/jiDlJwSBLg7YEHlimhEZJkc7JRYNLkrlAoJ605cxR+nrsldErVADANUxbYzGfjx4CUAwKLJXeHuyDkFiCxd1yAP/H1IOADgtbXxyC4qk7kiamkYBsgkp6gM8349CQB4bFBbDGjH5YmJrMXTIyLQwd8V14u1mL82nksdUxUMAwQAMBgEXvrlJLKLtIj0c8GLYzh6gMiaqFUKLLqvK1QKCX/Gp+P3E1flLolaEIYBAgAsjU3CtrOZUKsU+Pj+bnCwU8pdEhGZWefW7pgzvGJtkdd/O43MAo3MFVFLwTBA2Hk+C4u2nAcA/HNSZ3Ru7S5zRUTUVJ4aFo4ugW7ILy3HK2tOsbmAADAM2LzL10vwzE/HIATwYJ8g3N87WO6SiKgJ2SkVWDS5G+yUEraeycTquDS5S6IWgGHAhmnK9fj7D0eRV1KOrm3cOYyQyEa093fFsyMjAQAL1p3GtfxSmSsiuTEM2CghBF7/LR7xaQXwclZj6dSesFexnwCRrZg1OAxdgzxQqNFh3q9sLrB1DAM26us9F7HyyBUoJOCTB7sj0MNR7pKIqBmplAosmtwVapUCu85n4efDl+UuiWTEMGCD/jx1De/8cQYA8Mr4jhjI+QSIbFI7Xxe8WLkI2dsbzuBKbonMFZFcGAZszNHUXDz783EIAUzvH4LHBrWVuyQiktGjg9qiV4gnisp0eOmXkzAY2FxgixgGbEhqTjEe//YIynQGjOzoi9fv6AxJkuQui4hkpFRI+GByVzjYKbAvOQc/HEyVuySSAcOAjcgt1uKRZYdxvViLqEB3LHmwO5QKBgEiAtp6O+PlsR0AAO/+cRaXcthcYGsYBmyAplyPJ747ggvZxQj0cMTX03vBSa2SuywiakGm9Q9FvzAvlJbr8cIvJ9hcYGMYBqyc3iAw9+fjOJySC1cHFZY90hu+bg5yl0VELYxCIeGDe7vCSa3EoYvXsXxfitwlUTNiGLBiQgi8tjYef8anQ61U4L9TeyLSz1XusoiohQrycsIr4zsCABZuOosLWUUyV0TNhWHAin205Tz+d+gSJAn49wPduCQxEd3SQ32DERPhDU25AS+sOgE9mwtsAsOAlVq29yI+2Z4EAHjnziiMiwqQuSIisgSSJOFf90TD1V6FuEt5+Gr3BblLombAMGCF1h5Lw5vrEgAAL4yOxJS+XHyIiOqvtYcj5k/sBABYtOU8EjMKZa6ImhrDgJXZcS4TL6w6AQCYMSAU/xjWTuaKiMgSTe7VBsPa+0CrM+ClX0+yucDKMQxYkaOpufj790ehMwhM6tYar0/sxEmFiOi2SJKEd++Ogqu9Cscu5WEFRxdYNYYBK3E+oxCPLj8MTbkBQyJ98MG9XaHgpEJE1AgB7o74v8rRBR9sOsfJiKwYw4AVuJJbgmlfH0J+aTl6BHvgs6k9oFbx0hJR4z3QO8g0GdH/rTnJpY6tFH9jWLjsojJM+/oQ0gs0iPB1wTczenN2QSIyG4VCwvt3R8NepcDepBysOnJF7pKoCTAMWLBCTTlmLDtkmmb428f6wMNJLXdZRGRlQr2d8fzoSADAPzckIKNAI3NFZG4MAxZKU67HzBVHEJ9WgFbOanz3WB8EuDvKXRYRWalHB7ZFdBt3FGp0mL82ns0FVoZhwALp9AbM/vEYDl68Dld7FVY82gdhPi5yl0VEVkylVOBf90RDpZCwOSEDf8any10SmRHDgIUxGATm/XoKW89kQK1S4MvpvdAl0F3usojIBnQMcMNTlXOXvP5bPHKLtTJXRObCMGBBhBB4548z+DXuCpQKCf+Z0gP9wlrJXRYR2ZB/DAtHhK8Lsou0+OeGBLnLITNhGDADjUaDN954A5GRkXBwcEDr1q3x6KOP4sqVhvW6Xb58OSRJqvVLoVDg9Ts6oyh+GxbeE41RnfxMjz1z5gweeughBAQEwN7eHqGhoZgzZw6ys7PN/XKJyMrp9XqsXLkSL7zwAmJiYuDs7AxJkvDkk0/CXqXEv+6NhiQBq+PSEHsu85bnO3nyJGbPno1+/fqhdevWsLe3h7u7O/r3749PP/0UOp2uGV4V1UUS7AXSKBqNBiNGjMC+ffsQEBCAmJgYpKSk4NChQ/Dx8cH+/fsRHh5er3Pt2bMHX331VY374lOu4ejOzQCAd3/agf+7f6hp3/bt23HHHXegpKQEHTt2RMeOHXHq1CkkJiYiKCgI+/fvR2BgYKNfKxHZhry8PHh6elbbPmvWLHz++ecAgLfWJeCbvRcR6OGITXMHw8W+9iHNn376KebMmYOQkBC0a9cOPj4+yMrKwt69e6HRaDB8+HBs3LgRdnZ2Tfaa6BYENcr8+fMFANG/f39RWFho2r5o0SIBQAwePLjRz7HuRJrwGv2UACBCO/Wosq+4uFj4+fkJAOKNN94wbdfr9eLZZ58VAMTYsWMbXQMR2Y6ioiLx8MMPiyVLloj9+/eLzz77TAAQs2bNMh1TXFYuBr6/TYTMWy9eX3uqzvMlJyeL5OTkatvT09NFly5dBADx2Wefmf11UP0xDDSCVqsVHh4eAoCIi4urtj86OloAEEeOHLnt59hxNkO0e2WDsA/sWOMPzHfffScAiPbt2wu9Xl9ln0ajEYGBgQKAOHHixG3XQES2bdmyZdXCgBBC7D6fJULmrRehL68Xhy7m3Na5v//+ewFATJ482Ryl0m1in4FG2LNnD/Ly8hAeHo7u3btX23/vvfcCANatW3db5z94IQezvjuKkpxrKEs7A7Vajfvvv7/KMUePHgUADB48GApF1ctpb2+P/v37AwB+++2326qBiKg2gyK8cV+vNhACmPfrSWjK9Q0+h1KpBACo1ZwwTU4MA41w4kTFUsE9evSocb9xu/G4Bp37ch4eW3EEZToD/DIPAwAmTJhQrR2vuLgYAGps3wMALy+v266BiOhWXh3fCT6u9riQVYwl2xIb9Njc3FwsWrQIADBu3LimKI/qiWGgES5dugQAaNOmTY37jduNx9XX2fQCTPvmEIrKdOgf1grFp2MBAA8//HC1Y318fAAAqampNZ7LuD0lJaVBNRAR1Ye7kx3+OakLAOC/uy4gPi2/1mMTExMxY8YMTJs2DWPGjEFwcDCOHDmCWbNmYcqUKc1VMtWAYaARioqKAABOTk417nd2dq5yXH1cyCrC1K8qViDsFuSBWZ0MOH/+HDw9PTFhwoRqxw8ZMgQAsGHDhmrDCC9duoQdO3YAAAoLC+tdAxFRQ4zt4o8JUQHQGwRe+uUktDpDjcdlZGRgxYoV+O6777B582YUFRVh9uzZWLhwISSJS67LiWGgEUTlqMza/hGLBo7avJJbgqlfHUR2URk6BrhhxSN9sHrlTwCA+++/v8Y2tVGjRqFXr14oKirCuHHjcPjwYRQVFWHv3r0YP348DIaKH8q/9icgIjKnBX/rDE8nOyRcK8CizedqPGbQoEEQQkCn0+HChQtYtGgRvv32W/Tq1Yt3L2XG3xCN4OrqCuBGu/1flZSUAABcXG69bkBmgQZTvzqIq/kahPk447vH+sBZLeHnn38GUHMTAVARRFavXo2oqCgcOXIEffr0gaurKwYNGoT09HS8/vrrAGrvU0BEZA4+rvZ4/55oABXNBXuTap/wTKlUom3btnjuueewfPlyJCYmYs6cOc1VKtWAYaARgoODAaDWmQaN243H1Sa3WIupXx9ESk4J2ng64oeZfeHtYo/NmzcjMzMTYWFhGDBgQK2PDwoKQlxcHH755RfMnTsXs2bNwscff4wzZ87A29sbANC5c+fbeYlERPU2prM/HuxT8Xn33Mrj9Vq74M4774SLiwv+/PNPaLVc60AutU8ZRbfUtWtXAEBcXFyN+43bo6Ojaz1Hfkk5pi87hPMZRfBzs8ePM/uZliL+/vvvAQBTp069ZS0qlQr33HMP7rnnnirbt27dCgAYOnToLc9BRNRY8yd2xMGLObiQVYyXV5/E51N71tkfQJIkeHl54dKlS8jNzYWfn1+tx1LT4Z2BRhg4cCDc3d2RnJyMY8eOVdv/yy+/AAAmTpxY4+Ozi8rwwJcHcPJKPryc1fhhZl8Et6rojFhUVGSaG6A+YaAmiYmJWL9+PVq1aoW77777ts5BRNQQTmoVljzQHXZKCZtOZ+D7g3WPprpw4QIuX74MNzc3051Man4MA42gVqsxe/ZsAMDs2bOr9B346KOPcPLkSQwaNAi9e/eu8rhPP/0U7SLbo+ffHsWZawXwdrHHj4/3RTtfV9Mxq1evRklJCfr164eIiIg66zh9+jQ0Gk2VbcnJybjrrrug1WqxaNEiODo6NvblEhHVacSIEejQoQNK0s5h3tgOAIC31p3GM6+8iQsXLlQ7/ty5c5gyZQqEEJg2bZppAiJqfmwmaKTXXnsNW7duxb59+xAREYGYmBikpqbi4MGDaNWqFZYtW1btMUmXriI58Tyc7YPQ1cMR38/si7bezlWOMTYR1NZx8GYffPAB1q5dix49esDf3x/Xrl3D3r17UV5ejvnz52P69OnmebFEZDOeeuopU1NnVlYWAGDNmjU4fvy46ZgDBw5UeUxycjJSU1NRUlKCx4a0xdHUXPwZn47P//sZPv3XW+jatSvatWsHIQRSU1Nx9OhRGAwGDB48GO+9916zvTaqgayTIVuJkpISMX/+fBEeHi7UarXw8/MT06dPF5cuXap2bMLVfBEw7GEBQPj3HCPSckuqHXP16lWhVCqFnZ2dyM7OvuXzr1mzRowZM0b4+/sLOzs74evrKyZNmiR27NhhjpdHRDZoyJAhAkCdX38VEhIiAJg+ewo15WL4hztEq4nPi5A+o0VkZKRwc3MTdnZ2ws/PT4wZM0YsX7682roq1Py4hHEz2n42A3N+PIZirR4dA9zw7aN94ONqL3dZRERNJimzEJM+3YtirR5PDA7DK+M7yl0S1YB9BpqBEAJf7b6AmSuOoFirR/+wVvjp8X4MAkRk9dr5uuKDyRUjr77YdQE/HWrY9OzUPBgGmliZTo9X1pzC2xvOwCCAB/sE4dvH+sDdyU7u0oiImsX4qAA8PbwdAODVtfHYcS5T5oror9hM0IRSsovxjx/jcPpqASQJeHV8Rzw2qC3n4CYimyOEwPOrTmB1XBqc1Er8/ER/RLVxl7ssqsQw0ER+P3EVr6w+haIyHbyc1fjovq4Y2t5X7rKIiGSj1Rnw6PLD2JOUDU8nO/w8qz8i/Vxv/UBqcgwDZpZXosU/15/Br3EVUxH3CfXCkge7w9/dQebKiIjkV6gpx0NfHcTJK/nwdrHHyln9EOZz6/VbqGkxDJiJEAKbTqfjtbWnkV1UBkkCZg9rh2dGREClZNcMIiKjvBItHvzyIM5cK4C/mwN+fLwvA4HMGAbMICmzCP9cn4Cd5ysm5mjn64J/3RONniFcKZCIqCY5RWV44IsDSMwsgpezGssf6Y3oNh5yl2WzGAYaIbNAg6Wxyfj+QCp0BgE7pYQnBodhzvAIONhxWk0iorpkF5XhkWWHcSotH85qJT5/uCdiInzkLssmMQzchswCDT7bmYwfD15Cmc4AABjZ0RevTuhUbVphIiKqXVGZDrO+O4K9STlQKiS8NqEjZgwI5airZsYw0AAJVwuwYl8K1h5PM4WAHsEeeG5UewyK4GpbRES3o0ynx8u/nsKaY2kAgLu7B+Ldu6N4h7UZMQzcQl6JFhtOXcOauDQcSc01be8R7IG5oyIxqJ03EywRUSMJIfDN3hS8+8cZ6A0CYT7OWDS5K7oHs+9Vc2AYqEFRmQ6x5zKx9thV7DyfiXJ9xVukVEgY28Uf0/uHoneoJ0MAEZGZ7UvOxrM/HUdmYRkUEvD44DA8MyICTmoustuUGAYA6PQGnE0vxJ6kbMSey8SRlFzoDDfelo4BbrizW2tM6hbI+QKIiJpYfkk53lx3Gqsrmw383Owxb2wH3NktEAoF/whrCjYXBoQQuJavwbn0QsRdysXR1Fwcv5yHEq2+ynGhrZwwPioAd3YPtJkZsoxrlhORdfPxsYwe+1sTMvDm+tO4fL0UANC5tRvmjozEiI6+vDNrZlYXBoQQKNHqkVlYhmt5pbiWr8G1/FKk5pQgMbMISZlFKCrTVXucq70Kvdt6YUikD4ZE+iDUBkcF8IeLyDZY0se+plyP5ftS8On2JNNndztfFzzYJxj39AiEh5Na5gqtg6xh4Lfjafjt+FUIIWAQgEDFP1IhAIHK/wrAIAQEANz0/c2P0ekNKNToUKgpR6FGV+UWf01UCgltvZ3RNcgDPUM80SPYExG+LjZ/+4lhgMg2WFIYMLperMUXuy7g2/0ppju5aqUCMRHeGBcVgFEd/bgabCPIGgY+3nIe/96W2CTndrRTIsDDAa3dHeHv7oA2no6I8HVFpJ8LQlo5Q63iFMF/xTBAZBssMQwYFWrK8dvxq/jx4CUkXCswbVcpJPQI9kTvtp7oFeKFjgFu8HOz5+daPckaBuLT8nH6aj4kSYKEil9GCgmQJECCVPFf0z5AcdP3gPFYCSqFBFcHFdwc7eDqoIKrgx2c1Ur+I2ggvl9EtsGSw8DNEjMK8cepdPwZfw1n0wur7Xd1UCHSzxWRfq4I93FGkJcTgr2c4ONqD08nNZQ2fjf4ZlbXZ4BuHzsQEtkGS+lA2BAp2cU4dPE6DqVcx7FLuUjJKYG+jiZjSQI8ndRo5ayGl7Ma3i728HJWw8leCSc7FZzUSjiqlRX/tTN+r4KjnRIqpQQ7pQSlQgGVQoJKWREq9AZhato2GJu1hYDeYNxW836DAAwGgdYejgjycmqut6zq+8EwQERE1qZMp8fF7GKcSy9EYkYRUnKKcel6CS5fL0FuSbnc5dVo7shIPDMyQpbn5iwORERkdexVSnTwd0MHf7dq+3R6A3JLypFTXIacIi1yirXIKSrD9WItisv0KC3Xo1SrQ4nW+L3e9L2mXI9yvYDeYIBOL6AzCOgMBlPTtlIhVTRpVzZtK4z/Vdz4XgIq//+mbRLg6SxfB0jeGSAiIrJx7FJPRERk4xgGiIiIbBzDABERkY1jGCAiIrJxDANEREQ2jmGAiIjIxjEMEBER2TiGASIiIhvHMEBERGTjGAaIiIhsHMMAERGRjWMYICIisnEMA0RERDaOYYCIiMjGMQwQERHZOIYBIiIiG8cwQEREZONU9TlICAGtVtvUtRAREVETUKvVkCSp1v31CgNarRbvv/++2YoiIiKi5vPyyy/D3t6+1v2SEELc6iTNeWcgPT0dy5cvx4wZM+Dv798sz0lV8RrIj9dAfrwG8uM1MB+z3BmQJKnORGFOarXa9N/mek6qitdAfrwG8uM1kB+vQfNhB0IiIiIb1+LCgIuLC4YMGQIXFxe5S7FZvAby4zWQH6+B/HgNmk+9+gwQERGR9WpxdwaIiIioeTEMEBER2TiGASIiIhvHMEBERGTjGAaIiIhsXJOHgcOHD2P8+PHw9PSEs7Mz+vTpgx9//LHB5yksLMQbb7yBLl26wMnJCR4eHujRowfefPPNJqjaupjjGuTl5eH1119HdHQ0XF1d4e3tjd69e+PTTz+FRqNposqtw/fff49Zs2ahV69esLe3hyRJWL58eYPPYzAY8OmnnyI6OhqOjo7w8fHBfffdh8TERPMXbYXMcR327NmD559/Hj179kSrVq3g4OCADh06YN68ecjLy2uSuq2JuX4WblZeXo5u3bpBkiR06NDBPIXaItGEduzYIdRqtXBxcREzZ84Uzz//vGjbtq0AIN555516nyc1NVWEh4cLSZLEqFGjxEsvvSSeeeYZMWHCBBEVFdWEr8DymeMa5ObmirCwMAFADBo0SDz//PNi9uzZIjw8XAAQw4cPF3q9volfieUKCQkRAIS3t7fp+2XLljX4PI8//rgAIDp16iRefPFFMW3aNGFvby/c3d3F6dOnzV+4lTHHdfDz8xNKpVIMGTJEPPvss2Lu3Lmie/fuAoAIDw8XGRkZTVO8lTDXz8LN5s+fL5ydnQUA0b59e/MUaoOaLAyUl5eL8PBwYW9vL+Li4kzbCwoKROfOnYVKpRLnz5+/5Xl0Op3o3bu3cHR0FNu3b6/xeahm5roG//rXvwQAMXfu3Crby8rKRO/evQUAsXPnTrPXby22bNkiUlJShBBCvPfee7f1Abh9+3YBQMTExAiNRmPavnXrViFJkhg8eLA5S7ZK5rgO77//vrh69WqVbQaDQfz9738XAMRTTz1lrnKtkjmuwc2OHj0qVCqVWLJkCcNAIzVZM8H27duRnJyMKVOmoHv37qbtrq6umD9/PnQ6HZYtW3bL8/zyyy84fPgwXnjhBQwbNqzafpWqXssr2CRzXYMLFy4AAMaPH19lu1qtxqhRowAAmZmZZqzcuowcORIhISGNOseXX34JAHj77berzNE+YsQIjBkzBrt27cL58+cb9RzWzhzXYd68eQgICKiyTZIkzJ8/HwCwc+fORp3f2pnjGhhptVrMmDED/fr1w+zZs81yTlvWZGEgNjYWADB69Ohq+4zb6vOD8/PPPwMAJk+ejMuXL+Pzzz/H+++/j1WrVqGoqMh8BVshc12Dzp07AwA2btxYZXt5eTm2bt0KR0dH9O/fv5HVUl1iY2Ph7OyMgQMHVts3ZswYAPxFJCc7OzsA/OOkOS1YsACJiYn4+uuv61yNj+qnyf7lGjs1RUREVNvn6ekJb2/venV8OnLkCICKjjtz585FWVmZaZ+Pjw9WrlyJoUOHmqdoK2OuazBz5kx89913WLRoEY4cOYLevXujrKwMGzduRG5uLn788UcEBgaavX6qUFxcjGvXrqFLly5QKpXV9huvLzsSyuebb74BUHPwJvM7fPgwFi5ciHfffReRkZFyl2MVmuzOQH5+PgDA3d29xv1ubm6mY+pivP08Z84cPPvss7h8+TKysrKwZMkS5Ofn484778S1a9fMV7gVMdc1cHR0RGxsLKZOnYqdO3fiww8/xCeffGJqghg0aJBZ66aq6nMdbz6Omtfx48fx5ptvwtfXFy+99JLc5Vi9srIyzJgxA927d8fzzz8vdzlWo8XPM2AwGAAAEydOxPvvv482bdrA29sbc+bMwdy5c5Gfn4+vv/5a5iqtW3Z2NkaNGoUDBw5gw4YNyMvLQ3p6Oj7//HMsW7YMffv2RW5urtxlEjW7ixcvYuLEidDr9fjpp5/g7e0td0lWb/78+UhMTMQ333xT450yuj1NFgaMf8XU9tdKQUFBrX/p1HSev/3tb9X23XHHHQBuNCVQVea6Bs899xz27duHX3/9FePHj4e7uzv8/Pzw+OOPY+HChbhw4QIWL15sztLpJvW5jjcfR80jNTUVw4YNQ1ZWFn755ZcaOziTecXFxeGjjz7Cq6++iqioKLnLsSpNFgbqasfMzc1FdnZ2jW3Zf9W+fXsAgIeHR7V9xm2lpaW3X6gVM9c12LBhA7y8vBAdHV1t3/DhwwEAR48ebWS1VBtnZ2cEBATg4sWL0Ov11fbX1TeEmkZKSgqGDh2Kq1evYuXKlZg4caLcJdmEkydPQq/XY8GCBZAkqcoXAJw7dw6SJNX4+4Lq1mRhYMiQIQCAzZs3V9tn3GY8pi7GXzYJCQnV9hm3hYaG3m6ZVs1c10Cr1aKgoABarbbavqysLACoMtyNzG/IkCEoLi7G3r17q+3btGmT6RhqesYgkJaWhp9//hmTJk2SuySbERkZiccee6zGL6Di7thjjz2GadOmyVypBWqqCQzKy8tFWFiYsLe3F8eOHTNtv3nCm3Pnzpm2Z2VliTNnzoisrKwq57lw4YKwt7cXvr6+4sqVK1XO061bNwFAbN26talehkUz1zUYM2aMACBee+21Kts1Go1p3yeffNKkr8Va3Gqildquwc2TDpWVlZm2c9Kh23O71+HixYsiJCREqFQq8euvvzZDpdbrdq9BbcBJhxqlSacj3r59u7CzsxMuLi7i8ccfrzIV7ttvv13l2DfeeEMAEG+88Ua18xhnl2rVqpWYOXOm+Mc//iFCQ0MFAPHEE0805UuweOa4BseOHROurq4CgOjTp4+YO3eu+Pvf/26aorhnz56itLS0GV+VZfnyyy/F9OnTxfTp00WPHj0EADFw4EDTtjVr1piOrevnYObMmZyOuBHMcR2MU+j269dPvPHGGzV+Ue3M9bNQE4aBxmnSMCCEEAcPHhRjx44V7u7uwtHRUfTq1Ut8//331Y671YX//fffRUxMjHBxcREODg6iZ8+e4osvvmji6q2DOa7B+fPnxSOPPCKCg4OFnZ2dcHR0FFFRUeLNN98UxcXFzfAqLNf06dMFgFq/bn6/67oGer1eLFmyRHTu3FnY29uLVq1aiXvvvbfK3R2qnTmuQ12PN35R7cz1s1AThoHGkYQQwiztDURERGSRWvw8A0RERNS0GAaIiIhsHMMAERGRjWMYICIisnEMA0RERDaOYYCIiMjGMQwQERHZOIYBIiIiG8cwQEREZOMYBoiIiGwcwwAREZGNYxggIiKycf8PjvLaOPcFXtQAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -1221,7 +1370,7 @@ } ], "source": [ - "az.plot_posterior(bayes_model.trace, var_names = \"intercept\")" + "az.plot_posterior(bayes_model.idata, var_names=\"intercept\")" ] }, { @@ -1271,7 +1420,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 291, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -1290,130 +1439,144 @@ "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "clusterobs_id (50) x pred_id (1)\n", - "\n", - "obs_id (50) x pred_id (1)\n", + "\n", + "obs_id (50) x pred_id (1)\n", "\n", "\n", "clusterobs_id (50)\n", - "\n", - "obs_id (50)\n", + "\n", + "obs_id (50)\n", "\n", "\n", "clusterpred_id (1)\n", - "\n", - "pred_id (1)\n", + "\n", + "pred_id (1)\n", "\n", "\n", "cluster50\n", - "\n", - "50\n", + "\n", + "50\n", "\n", "\n", "\n", "X\n", - "\n", - "X\n", - "~\n", - "Data\n", + "\n", + "X\n", + "~\n", + "Data\n", "\n", "\n", - "\n", + "\n", "mu\n", - "\n", - "mu\n", - "~\n", - "Deterministic\n", + "\n", + "mu\n", + "~\n", + "Deterministic\n", "\n", "\n", - "\n", + "\n", "X->mu\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "y\n", - "\n", - "y\n", - "~\n", - "Data\n", + "y_obs\n", + "\n", + "y_obs\n", + "~\n", + "Normal\n", "\n", - "\n", + "\n", "\n", - "y_obs\n", - "\n", - "y_obs\n", - "~\n", - "Normal\n", + "y\n", + "\n", + "y\n", + "~\n", + "Data\n", "\n", "\n", "\n", "y_obs->y\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", "noise\n", - "\n", - "noise\n", - "~\n", - "HalfNormal\n", + "\n", + "noise\n", + "~\n", + "Deterministic\n", "\n", "\n", - "\n", + "\n", "noise->y_obs\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", "intercept\n", - "\n", - "intercept\n", - "~\n", - "Normal\n", + "\n", + "intercept\n", + "~\n", + "Normal\n", "\n", "\n", - "\n", + "\n", "intercept->mu\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", + "noise_var\n", + "\n", + "noise_var\n", + "~\n", + "InvGamma\n", + "\n", + "\n", + "\n", + "noise_var->noise\n", + "\n", + "\n", + "\n", + "\n", + "\n", "slopes\n", - "\n", - "slopes\n", - "~\n", - "Normal\n", + "\n", + "slopes\n", + "~\n", + "Normal\n", "\n", "\n", - "\n", + "\n", "slopes->mu\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "mu->y_obs\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 17, + "execution_count": 291, "metadata": {}, "output_type": "execute_result" } @@ -1461,7 +1624,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 294, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -1477,13 +1640,13 @@ "" ] }, - "execution_count": 18, + "execution_count": 294, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAG8CAYAAABDr6ZqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeZwlZX3o/0/tdfbT+zY7w76JIiohCkFDchPUoBeNxIjRGxMxEoPk5c+AiBt6vRqT4PbKBQWNL2PcYowXFxbFEUXZZAaGWXump/fus5/aq57fH9XdM830DD0wAzPD8369Ruk6derUOTOn61vP832+X0UIIZAkSZIk6XlLfa5PQJIkSZKk55YMBiRJkiTpeU4GA5IkSZL0PCeDAUmSJEl6npPBgCRJkiQ9z8lgQJIkSZKe52QwIEmSJEnPc/pydkqShLGxMQqFAoqiHOlzkiRJkiTpMBBC0Gw2GRwcRFUPfP+/rGBgbGyMlStXHraTkyRJkiTp2TMyMsKKFSsO+PiygoFCobBwsGKxeHjOTJIkSZKkI6rRaLBy5cqF6/iBLCsYmJ8aKBaLMhiQJEmSpGPMU03xywRCSZIkSXqek8GAJEmSJD3PyWBAkiRJkp7nlpUzsFxxHBOG4eE8pCRJR5BhGGia9lyfhiRJz7HDEgwIIZiYmKBWqx2Ow0mS9Cwql8v09/fLGiKS9Dx2WIKB+UCgt7eXbDYrf6lI0jFACIHjOExNTQEwMDDwHJ+RJEnPlWccDMRxvBAIdHV1HY5zkiTpWZLJZACYmpqit7dXThlI0vPUM04gnM8RyGazz/hkJEl69s1/d2W+jyQ9fx221QRyakCSjk3yuytJklxaKEmSJEnPczIYkCRJkqTnORkMHKOGh4dRFIV77rnnuT6Vw+bLX/7yoiHre+65B0VRGB4ePqzHlSRJkhaTwQBw5ZVXoigKiqKgaRorVqzgzW9+MyMjI4ftNdasWcMHP/jBw3a8lStXMj4+zvnnn3/Yjnm0Of/88xkfH192++wDBUhveMMbGB8fPwJnKEmSdHyQwcCcl73sZYyPjzMyMsKXvvQlfvGLX3DppZeSJMlzfWr78X0fTdPo7+/HNM1nfKzD6XAezzRN+vv7n/Fyt0wmQ39//2E6q+eHmhMwXncJoqPv378kSYffEQkGhBA4QfSc/RFCHPI5z194BgcHedWrXsWNN97II488wrZt2wD4+te/zplnnollWQwMDHD11Vfjuu7C8zdt2sQll1xCuVwmm81yyimn8JWvfAWAM844g127dnHjjTcujEDMD33v2LGD17/+9XR0dFAul3nVq17FI488snDc+aHyH/zgB1x44YVkMhk++clPLnkXvH37dl772tdSKpXI5XK88pWv5OGHH154fP45X/3qV3n1q19NPp/nqquuWvLzmB9a/+lPf8pZZ52FbducddZZ3H333cs63p133skFF1xAJpNhcHCQK6+8kunp6UX/Rq6//np6e3vJ5/O88Y1vpFqtLjqHpaYJtm/fzuWXX05XVxeZTIbTTz+db3zjG8zMzLB27VoALrroIhRFYc2aNYveC0Cr1SKfz3Prrbcueq12u00+n+eWW25Z2PbZz36WU089Fdu2OfHEE/nwhz/8vFh+V2kHTDQ84kSwY6ZFFMuAQJKOd4e1N8E8N4w57QM/PBKHXpbHPnQJWfOZvbX5YixBEPCjH/2IN73pTdxwww288Y1vZOvWrfzVX/0V1WqV22+/HYA//dM/5bTTTmPDhg1kMhm2bNlCFEUA/PSnP+UFL3gBb3jDG3jve98LQE9PD1NTU/zO7/wOr3nNa/jpT3+KZVncfPPNXHjhhWzevJm+vr6F87n66qv5xCc+wTnnnIOqqvsFPL7v8/u///sMDg7y4x//GMuy+NCHPsTv/d7vsWXLFrq7uxf2/fu//3s++tGP8pnPfOYpA6err76aT3/60wwMDHDTTTfxx3/8x2zbtm1RtbonH++ee+7h0ksv5ROf+ARf+tKXqNfrXHvttbz2ta/l5z//OYqi8M///M986lOf4uabb+aCCy7gu9/9LjfeeONBz2ViYoLzzz+f0047je9+97sMDQ3x+OOPEwQBXV1d3H///Zx33nl861vf4vzzz19yRCGfz/O6172O2267jb/4i79Y2P7Nb34TIQSXX345AB/+8If513/9V/7pn/6JF7zgBWzevJl3vOMdOI7DTTfddNDzPJZFccJ43WVdd56MqTFScZhs+gyVM8/1qUmSdAQdkWDgWLdz504+/vGPs3LlSk4++WSuuuoqXv3qV3PDDTcAcPLJJ3PzzTdz2WWXceONN7J27VqGh4d573vfy+mnnw7AunXrFo7X1dWFpmnk8/lFw9Wf//znGRoa4gtf+MLCtn/+53/mBz/4AV/5ylcWAgeA/+//+/+47LLLFn5+clLd1772NUZHR9mwYcPCa/zbv/0ba9eu5eabb16Ur/D2t7+dt771rcv6LG666SZe+cpXAnDrrbdy991387nPfY4Pf/jDBzze29/+dt75znfyN3/zNwvbbrvtNlavXs0DDzzAueeeyyc/+Un+5m/+ZuGC/Pd///fcf//9fOtb3zrguXz2s59FCMH3vvc9CoUCsPhz7unpAaCzs/Og0wJvectbeOUrX8nOnTsXRhNuu+02LrvsMgqFAo7j8PGPf5x///d/54//+I8BWLt2LR/5yEe46qqr+NjHPnbcJiRWnICCZZAx00Cqr2izdapJX8FC1+SsoiQdr45IMJAxNB770CVH4tDLfv1Dde+995LP50mSBNd1Oe+88/jOd76DYRhs3LiR66+/ftH+r3jFKxBCsHHjRtauXcu1117L2972Nm699VZe8YpX8JrXvIYXvvCFB33N+++/n0ceeYR8Pr9ou+u6bN26ddG2l7zkJQc91saNGznllFMWXQRt2+a8887j0UcfPaRj7WvfBEXTNHnxi1/Mpk2bDnq8+++/n/vuu29RkDNv69atnHTSSYyOju6X/HjBBRccNBh44IEHeOlLX7oQCDxdF110EatWreIrX/kKH/jAB9i1axf33HMPP/7xj4F0ysdxHN7whjcsuujHcYzneUxMTBy3dfyr7ZChjr2jAKaukjN16m5IV956Ds9MkqQj6YgEA4qiPONh+mfbueeey7/9278tJObNTxMcyPxFYv7/r7/+eq644gruuOMO7rzzTm666Sbe+9738rGPfeyAx0iShAsvvJDPf/7z+z1WLBYX/ZzL5Q56Pgcb7n/yXexTHeupPNXxkiThve99L1deeeV+z+3r61tIynw6d9eH445cURTe/OY3c/vtt/OBD3yA22+/nZUrV3LRRRcBLJzf17/+dU499dT9nj8/AnG88YKYRAjy1uLvbjlrUGkHMhiQpOOYHPebk8lkWL9+PWvXrt0vEDj99NP3W642//P8tACkQ9bvfOc7+da3vsWHPvQhPvvZzy48ZpomcRwvOsa5557LY489xuDgIOvXr1/0p7e395DO/4wzzmDz5s1MTEwsbPM8j/vvv58zzjjjkI61r1/84hcL/x0EAb/+9a+XvEDu69xzz2Xjxo37vaf169dTKBQolUoMDQ2xYcOGRc978s9LHfe+++6j2Wwu+fj8yoonf85LufLKK9m+fTs///nPuf322/nzP/9zVDX9Opx++unYts327duXfA+6fmwFusvVDiMK9v7vrWAbOEFMnBx6Yq4kSccGGQwswz/8wz/wve99jxtvvJEtW7bw/e9/n3e9611cccUVrF27llarxVVXXcVdd93F8PAwDz30EHfccQennXbawjHWrVvHhg0bGBkZYWZmhiRJeNe73oUQgte85jXce++9DA8P8/Of/5zrrruOe++995DO8U1vehMDAwNcfvnlC9MPV1xxBZ7nHXDFwHK8//3v56677uKxxx7j7W9/O9VqlXe+850Hfc6HPvQh/vu//5urr76ahx56iO3bt3PHHXfw9re/feFCfs0113DzzTdz2223sXXrVj71qU/xk5/85KDHveqqq1AUhVe/+tXce++97Ny5kx/+8Id897vfBdJRh2w2y49+9CMmJyf3W52wrxNOOIHf+Z3f4d3vfjfbtm3jLW95y8Jj+Xye97///Vx//fX8y7/8C0888QSbNm3i61//Otdee+0yP7ljj+NHFCxjv+2aqpAxNVp+9ByclSRJzwYZDCzDJZdcwle+8hX+4z/+gzPOOIO3ve1tvPa1r+WLX/wiALquU61Wedvb3sYpp5zCJZdcQm9vL//+7/++cIyPfOQj1Go1TjrpJHp6eti9ezd9fX3cd9999PX18brXvY6TTz6ZK664gp07dzI4OHhI52jbNj/60Y8ol8tcfPHFvOxlL6NWq3HnnXc+o2HtT3/607z73e/mnHPO4cEHH+R73/veU57bRRddxF133cWmTZt4+ctfzllnncV73vMecrkclpUONV999dVcffXVXHPNNbzgBS/gvvvu4wMf+MBBj9vX18eGDRvo6Ojg0ksv5bTTTuOaa65ZWO6naRqf+9zn+MY3vsHQ0BDnnHPOQY935ZVX8tBDD3HBBRewfv36RY9df/31fOYzn+GWW27h7LPP5oILLuAf//EfF5YrHm+EADdMyFlL59sULF0GA5J0HFPEMhblNxoNSqUS9Xp9v7lsz/MWsrJt2z5iJyo9u7785S/z1re+9WnVbJCOLZ7nsX3HDvRSHycPdS25T8uPGK+5nNj3zJI3JUl6dh3s+r0vOTIgSRJCHHwVTtbQ8KOEROYNSNJxSQYDkiQhhMDSD/zrQFUVLF3FCZ86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3CmEEGJ8fFz09vaKCy+8UPzsZz8T27dvF9///vfFt7/9bZEkibj//vsFIL71rW+J8fFxMTU1tei9zPvzP/9z8fKXv3zR+/3yl78sstmsaDQaQgghPvShD4mVK1eKb3/722LHjh3iBz/4gVi5cqV43/ved8B/R/Ofx+rVq8U3vvENsWXLFvEXf/EXIpPJiD/4gz8QX/ziF8XWrVvFddddJ1RVFVu2bFl47sUXXyxe/vKXi3vvvVds375dfPGLXxSGYYg77rhjYZ8PfehD4p577hE7d+4UP/vZz8SLX/xicdFFFy06B0B0d3eLT//jZ8Tjm58QX/3qV4WmaeLWW29d2McNIhHFyd6f9/kO755ti+mmd8D3+GTbppqi7gbL3l+SpGfXwa7f+5LBgNg/GNixY4c499xzxcqVK0UQBOLlL3+5eM1rXrPoOd/5zneEoihix44dQgghCoWCuO222w74GqtXrxY33HDDom0f/OAHxYte9KJF25IkEevWrROf/OQnhRB7L4i33HLLov2eHAzceuutwrIsMT4+vrCP67qiv79/4XXnn3P99dc/1UeycAH9wQ9+sLDN930xODgorrvuuoMe78ILLxTXXHPNom27du0SgPj1r38thBBiaGhI/P3f//2ifV73utcdNBi47rrrRE9Pz8IF+8me/Jk8+b3Mu/POOxf93QkhxEUXXST+7M/+TAghRLvdFtlsdiGYm3fbbbeJfD6/ENAc6PU/8YlPLGwbHR0VgPjrv/7rhW1hGIpMJiO+8IUvCCGEuOeee4RhGGJ2dnbR8d761reKP/qjP1rytYQQ4le/+pUAxOjo6MI2QPzlX/6lcPxIxHMX/Isvvlj86Z/+6cI+jh+JOFk6GJhqeGKk0j7gaz7Z7tm2mDmE4EGSpGfXcoMBmTMw59577yWfz5PNZlm3bh2qqvKd73wHwzDYuHEjF1544aL9X/GKVyCEYOPGjQBce+21vO1tb+PCCy/khhtu4MEHH3zK17z//vt55JFHyOfzC38KhQLDw8Ns3bp10b4veclLDnqsjRs3csoppyyaG7dtm/POO49HH330kI61r30TFE3T5MUvfjGbNm066PHuv/9+br755kXv67TTTgNg69atNBoNRkdH90t+vOCCCw56Lg888AAvfelLKRQKyz7/pVx00UWsWrVqYRpn165d3HPPPVx55ZVAOuXjOA5veMMbFr2Hd7zjHbRaLSYmJg56/HPOOWfhvwcGBvbbpus6PT09C0P8999/P1EUsWrVqkWv99WvfnXRv4P//M//5MILL2RoaIhCocBFF10EsN9qi3Ne+EJg70qCoaGhhXMWQhxwmgDSJEIvXP6wv6GpRDJnQJKOefoRPfoF74GX/vXy97dL+297z6NL5xIsRXv6yXTnnnsu//Zv/7aQmJfJZA66/77tXwGuv/56rrjiCu644w7uvPNObrrpJt773vfysY997IDHSJKECy+8kM9//vP7PVYsFhf9nMvlDno+4iCf0ZOTxZ7qWE/lqY6XJAnvfe97Fy6u++rr61tIynw6y/0OxxJBRVF485vfzO23384HPvABbr/9dlauXLlwcZ0/v69//euceuqp+z2/p6fnoMc3DGO/89132/z2+ddJkoR8Pr9kADn/vF/96ldcdtllXHvttXz84x+no6OD4eFh/uAP/oAgCBY9xzSM/UoNz79WusZg6aqEALah4YXxXIXCp/6sDU05pOWIkiQdnY5sMGDY6Z9nYqkA4QjIZDKsX79+ycdOP/107rnnHv72b/92Ydt84t7pp5++sG3dunW8853v5J3vfCcf//jHuemmmxaCAdM0FyVxQRqA3HrrrQwODpLNZp/R+Z9xxhl87nOfY2JiYmF0wPM87r//ft7xjnc87eP+4he/4A//8A8BCIKAX//617z1rW896HPOPfdcNm7ceMDPE9K71Q0bNvDqV796YduGDRue8rhf+MIXaDabS44OzK+sePLnvJQrr7ySj3zkI/z85z/n9ttv58///M9R1XSg7PTTT8e2bbZv386ll176lMd6ps4991yazSatVosXvOAFS+7z85//nHK5zMc//vGFbb/85S+X3FewdOVBOPCywnmGpqIqCn6UYBtPvYpD11TC+MBJlZIkHRvkNMEy/MM//APf+973uPHGG9myZQvf//73ede73sUVV1zB2rVrabVaXHXVVdx1110MDw/z0EMPcccddywMjUMaKGzYsIGRkRFmZmZIkoR3vetdCCF4zWtew7333svw8DA///nPue6667j33nsP6Rzf9KY3MTAwwOWXX74w/XDFFVfged4BVwwsx/vf/37uuusuHnvsMd7+9rdTrVZ55zvfedDnfOhDH+K///u/ufrqq3nooYfYvn07d9xxB29/+9tpNpsAXHPNNdx8883cdtttbN26lU996lP85Cc/Oehxr7rqKhRF4dWvfjX33nsvO3fu5Ic//CHf/e53gXTUIZvN8qMf/YjJycn9Vifs64QTTuB3fud3ePe73822bdt4y1vesvBYPp/n/e9/P9dffz3/8i//whNPPMGmTZv4+te/zrXXXrvMT275fu/3fo9XvvKVvP71r+c73/kOO3bs4IEHHuDmm2/mi1/8IgCnnHIKlUqFL3zhC+zcuZP/+I//4CMf+ciSx0vLEC/9WuJJPQmWkjE1/GVOFZiaShjLaQJJOtbJYGAZLrnkEr7yla/wH//xH5xxxhm87W1v47Wvfe3CL2pd16lWq7ztbW/jlFNO4ZJLLqG3t5d///d/XzjGRz7yEWq1GieddBI9PT3s3r2bvr4+7rvvPvr6+njd617HySefzBVXXMHOnTsZHBw8pHO0bZsf/ehHlMtlLr74Yl72spdRq9W48847n3JY+2A+/elP8+53v5tzzjmHBx98kO9973tPeW4XXXQRd911F5s2beLlL385Z511Fu95z3vI5XJYlgXA1VdfzdVXX80111zDC17wAu677z4+8IEPHPS4fX19bNiwgY6ODi699FJOO+00rrnmmoXlfpqm8bnPfY5vfOMbDA0NLZqnX8qVV17JQw89xAUXXLDfKMb111/PZz7zGW655RbOPvtsLrjgAv7xH/9xYbni4aQoCt/73vf4n//zf/J3f/d3nHLKKfzRH/0R3//+9znhhBMA+KM/+iNuuOEGbrzxRk477TQ++9nP8k//9E8HPeZS5qcJDsY2VLxoeUP/hlxaKEnHBUUcbLJ5TqPRoFQqUa/X95vL9jyPnTt3snbtWmz7GU4JSEeNL3/5y7z1rW89aC6CdPQRQuCFMbahLRkQBFGMoigY2t77gCd/h6vtgIYXsrprebklG0frnNxfWHRMSZKODge7fu9Lfnsl6TiSxm4HThB8qpwBmE8iXP7dvqnLhkWSdKyTwYAkHUcSDp4TIAD1KaYJrLmL+/LLEsu8AUk61slgQFrSlVdeKacIjkHiIMmD6eNPnUCoqgqmLvMGJOn5RAYDknQcOVh9gPngbjn1A2x9+VMF6ciADAYk6Vh22IIBeRcpSc+9gy8rXDoQWOq7axsq7jIbFhmaShjJ778kHcuecTAwXyHNcZ5+x0BJkg6Pg44MsPQFe/67u2+VRGuuEuFyGJpCIEcGJOmY9owrEGqaRrlcZmpqCoBsNntYSsZKknRohBD4YQzx0ssKozghEQJibWF/x3GYmpqiXC6jaXsrDtqGuuzCQ3KaQJKOfYelHPF8+dv5gECSpGdfIgRxIg643j+eWx2gPWkeoVwuL2pwBWllwUQIojhBf4r6AYamEidi2f0MJEk6+hyWYEBRFAYGBujt7V2oBidJ0rOr5gQ4fsxgx9JNtiYbHoam0pnb29DLMIxFIwLzFCVdURAsIxiYDy6iRGBoMhiQpGPRYW1UpGnakr9YJEk68oQvyOXMA1YCFa2YbMbAtpfX3dPS06mC7DJ2N3WVKBYso7eRJElHIbm0UJKOE36YYOkH/kpHyVPf5e/L0jX8aHm5ALoqkwgl6Vh2ZFsYS5L0rPGjBEs/8K15GO8dxm94ITNNf2H5YMEy6CtZi55v6SoNb3nTfoamEslgQJKOWTIYkKTjgBCCMF48MpAkAnVuPl8IkQ7jqypjNZeGF9JXsFlhpb8CKu2A7VNtVndlyc1tswwVv7X8FQXRMssXS5J09JHBgCQdB/woQdcUVFUhSQR7qi51N0TXFIY6Mti6hqrCWN1l96zDYEeaV2DOBQ/9JZuMqTE82+aEnjy2oWHpGkGULGuVgK4puMHy6hJIknT0kTkDknQc8KMEcy4fYFfFQSA4bbBIf9Fi+1SLuuvT9iJ+u6fGQNkmZxrMtn1GKnuLhZUyBj0Fi9GaixfGTDU9ak5I24+e8vUNVY4MSNKxTAYDknQcCKIEU1eptAOiOKE7b7Jrts1ozcMLY362ZYaHRqqc1FtkbXeenoLF2u48bhgz2/IXjtOTt6g5AQ/urqYbFMHmySb+UzQtMnTZrEiSjmUyGJCk40AQJ6gqTNQ9ylmD4VmHYsbg1IEiL13XRcsLaXoR3YW96wQ1VWFVZ5aJhrdwsZ9PKMwYGt15izVdOXKGzkjFPWj/EV2VVQgl6VgmgwFJOg4EUULLjcmYKtPNgBXlLN15C01VcPwYP044tb/IWM1bdNG2DY2unMVkPR0dGKt5rOnK0Vu0mWx4WLpG3tZQFJjeZwThyQxNIUnSpEVJko49MhiQpOOAF8a0gwg/TChnDUrZvU2HnphqsqKcpatgYRkKe6ruoud2500aXsh00ycRgs6cSW/Bou6GqCoEsWCwlGGmGRzwYq8oCrqmECZydECSjkUyGJCkY5wQgpoTzPUohv7i3gqEbT9iuuEx1JmhM2diahphnKT7z9E1lVJGZ8tkk76ijaIoGJpKKWPQdCOCKCFjamRMjco+z3syQ1MIYzkyIEnHIhkMSNIxLowFTT8iQaG3YC/UFgDYVWlTsHUMVaU7b9L0InrzFlNNf1EOgKootP2IgrV3tXF33qLtp8FAkgi68yaV9oGDAV2VhYck6VglgwFJOopFccJkw2Ok4lB3l64G6AQRbT/ENlQ69pkeqLYDHtldI4gFW6dajFY9Gl6IoiooQMNNlwwKIWh4EUPlzKLXsA0Ny9AI4pggTshbOnEiDlhPwNBVOTIgSccoGQxI0lHKj2K2TbcIogTb0Jioe+ypOvtl9c+2AkSi0D83xA9pRcFH9lTJWjovWlVmXXeeNd1ZVAUeGalh6Soz7TQhcKrp0/JDLF1lquktOnY5a+BHAj9MUBSFUsag5i49OmCocnmhJB2rZDAgSUchIQS7Zx06syYrO7P0FCzW9+bxwoSp5uKs/vGaSyyShVbCbT9ivOaiqyrre3KYhoauKRRsg9MGSxRsnZYfsWvGYbzm8tCuKqamUvdCfj1cYby2N8GwnDEIo4T2XGvyctY44AiFrqWdCyVJOvbIYECSjkLTTR9NVejdJxlwvi7ATMvHDWKEEOyptvnJ45MEkWBP1WHHdIvdsw5ZU0NBoadoL2pQlDM1DE1lXU+eII756q92MVb32F1xECJNPrx7yxSTjTQg0OcSCSutdDQga+okSbp64ckMTXYulKRjlexNIElHmTgRTLd8TujJEyfpSgEvSlCV+WJAJpMND0WBh3ZVsQ2dF64qEwnBnoqDZWhYhoWqQtE28MIYXU3jfkVRyFs6O2dauEFM3tTQVYUXr+kkFulr66rCb3ZVufhkE9vU6ClYbJ9uLZxf3tJp+xG2sbhDYtqsSAYDknQskiMDknSUmW35FCyDOBFsnWrS9CIMTUFVFGZaAbV2yPBMm61TTUxD46T+POt68/QXM1SdEBDsmm2neQEtn9Gqy759hhIh2Dha58yhIpah0l+yGKk6FG2dNd1ZWkFM2TZ4fLwBQFcuXYUQROmFPmdptP39RwZ0VZHTBJJ0jJLBgCQdRZJEMNMKyM51EOwv2qzpztFbsOkr2qzvzdOZtxiedai0AuI4oTObzuvPtDwypsrWyRa/3DHLIyN1Rmsu002f0apDECV4Ycxk00VVFZpehBsmZEwdVVH46ZZp/EjQkTUwdJXxhkfNCciYGrahUZ1bVpiz0pyDJ9PnGiXJ5YWSdOyRwYAkHUUaXoiqwGTTY1VnlnLW3G8fgWBFh03DDdhTdWn5IQ/vqXHPE1NkDA1dVckYKhec2M0pfUVUFdp+zLapJiMVB1vTsDWNB3ZX+d0Tu+nMmbxwVQfnrCrz2FgDFQUvjMlbOsOzbRRFoZzVmZ1bfWAbaXnipZYYGppcXihJxyIZDEjSUSJtG+zT8kJ6ChYF29hvHyHEXDMik86cyVjNQVFUTFXl4lP7WN2VY0/NoZQxEQJKWYPBcoY1XTk2jTYYrTkkpEFH0TY4daCEqam0/IihcpYXr+lgquVRd0MMTaHSCmj7ER1Zi4YbEc+VI84fcHRAliSWpGORDAYk6TkWJ+kc/9bJFg8MVxlveBj7VBHcV8uP0iqCRZuKE9GZN2m4ITlLp7+UoR1ErOvOkwjBRMNlrObQcCM6sjoxCfdtn2H3bDtdqVCwMTSVYsag4aUX9q68xfnrutlTdXGDCD9KmGn5ZEwNTWMhAJhPInwyU1MJIxkMSNKxRgYDkvQcEkKwu+KgoDBYsugpmLxkbRfjdZ+ZfboEzjcISpf4CVpuSCIEHVmLwXKG8bpL3tTYMd2mp2CQNXU27qkzUfcYnm3zw8enWNORo2CZbJ9qM153SRAkiaBg6zS9vbUDeoo2L1xVZnfFxY9ixmse2ly/gpmWz2TDo+6FTNS9/RoX6ZpCJDsXStIxRy4tlKTn0GTDJ04Ea3qy/HZPjY6cSW/RppgxGJ5t40cJrblMfktXmWi4dOZNds3d3a/vzRHPVSS8d+sMIxUHRVVY25XF0BRmW2kDo3ImXWKYMVXafkgSqeyacXi8UOeE3gJCpNMU88sFT+gtUG2HjNXSlQj9ZZuqEzBadXnBqg6ypkbDC9k01mB9b56MmT5PV1X8aOlyxZIkHb3kyIAkPUe8MGa27bOqMwvAaM1lTVcOSJP0BooZHtxVoZjROX2wiKam7YcVFEarDif3FejIWcw0fXRNZXjWoZzROW2gyDmrOshbOo/sqeIEMacNFHhsokHe0ilnTWwT6l5AtRWyY7qNrWs09qksOL/fyo4M4zWPB3ZVSBJY1ZmlK2fSW7A5sa9A3tbZOdNeSCY0NLm8UJKORTIYkKTnyFjNpbdgY+oqUw0fTVHpylsLj8+0fVZ0ZJlu+HhRjKpCwdZ5fKwBisqJvXn8MKbSDunIGLS8kCAWCxfy/lIGP0yYavlUnQBbV3GDiJ2zbXryGTKGxi+HZ6k5PnU3XBQMWLpKkiQ0/IjZdsDmsQYNNyBv6jTn8guypoZtqPSXbHZV2sSJeNYLDyWJYLbls326xcbROpvG6myeaLBlssmu2TaVdrCQ9ChJ0oHJaQJJepZNNT1GKi6TDY8XriwDsKfqMNSRWdin7obUnRBdVZhu+gRRelFf0ZHhrs1TrO/NY+oqmyeahHHCI3uq7JxpM9SRoer4/HzrDEEU40UJQoRsHKtjGhpPTDQp2jpZQyOra+StiN/uqfPCVWUm/JB1PXlikSY0xgJ6CiY7plVO6Mkz0/L47WiNk/qL9BQsbENjpuUzUMrQ9qM0uClaBNGRv/gmiaDiBEw10uTGrpxJrlNHiLSoUiIEXphQd0PCOKFvn7LOkiTtTwYDkvQsmmyky/aypsZZQyVaQcTuSpvpls+L13Yu7LdnrkjQSStKDJQzjNUc6k6AqaedA6NYMFr1GK25XHxyDz/YOM55azuIE9g21ea81Z1smfboyuk8MtJgT9UlnzE5Y7BAV97CDWLCOGGmFeD4EXc9MUVH1iJnaWiqSm/B5pQBg9/uqbG+L0ecCE4dKOFFMQ8MV1nVkSVrags9EgZKNlsmW5QzaeVEIcRCB8XDzQkiRiouhqawuitLzlr611jWhM7c/nUaJEnan5wmkKRDECcCL4xxgxgvjPdrJ3wwLT+i0g4YLGVIhGBgbv3/SMXFixLKmfTC1fZCNo3WKWQ0nCAiZ6XV/0oZg+2TLXoKFl6UMDzTYrCUoeFFmJrGinKGWAj6CxZ1L6SvYNHyBbqm0PJjOrI6LT8mTgSD5QynDhTxo4RTB0uoqGgqPDHZZLbtk7U0/CghTuCcFR1U2wF+HHNKf5GMqfLrXbMopM2T/ChB11T6ihaTTR9VZaHwUJyIwzpMP9nw2DnTprdgsa4nf8BAQJKkQyO/SZK0TC0/YnimjTFXdnd+OLpgGXTkjCWLBO1rou7SV7RpBxFF25hrOaygAIpIL6xtP+KeJ6bRVJXuvE0QJexstpls+OiqAkqaoGfNtRw2NIWKE9KZNXlopM7qrhxF22BXpY2qQBRHaCr05E10Nc0DWNmRZbbtM9MKOHd1mbobcvbKEhu2T9NbzPCHpw8wPNMmjBO68xadeQtdU6g7IUGU8MJVnTw0kk5LzI8O2IZGZ85kphXghwluGDFeDxfyC/KWzmA5g6k/vfuPJBHsqboEccyJvYWnfRxJkpYmv1GStEw5U+P0wSIn9xc4ub/AqQNF1vfmsU2VsZrH1snmovX6+6o5AUJAOaNTdYKF4esgSgiimIylMTzTYng2vQifv76LvqLNio4s63vy+FHCcKVNf9FisuHTmTOZrHvsnG6jIGj6ATlL56S+Aif15ZhpeuyuuGRNDT9MsA0VS0sDDNNQmWn65OcKFZWyJomArKHTdEJGqi5+mMxVOkyH/YfKWRpOmsfQXTDpL9qMVJ25C3+6kkBRFPqKFpV2wNbJFoamcupAkVMHitiGxrap1pKtj59KkgiGZ9skQrCuOy8DAUk6AuS3SpKWSVGU/ebBLV2jt2Bzcn+BnoLFnqq7cFe9r+mmT2/Bph3EqIqyMLydFvHxUYCfPDZFtR2gKAr9+yS8eVFC91zwMFZ1yZrpMsKqG2AaGtun2sy2QtwgpumFbJtuE8SCII6YbgbomkrNjYiShIyp8OBwhWLGJIwTYgGrO7PsqrRZ3ZXDCSI2bJ2mHURoqsLmiQZNL+KEnjwVJ6Ti+GRNnYKdrljYU3Foe3srERZtnemmj6LAYDmDpipoqkJ/yaa3aLG74uxXqOhg5gMBTU3zA9QDVGaUJOmZkcGAJB0m5azJyX3pEPa2qdZCud62HxELQTGjU3NCytl0OqHlR2wcrVHK6qzuzHLyQIGGl+7r7nMHXXcCQiFY35v2HXD9GENjbopCw4tiXrKui4ypMdiRoWDr5E2NiZrLtukm7SBmsuGyfabNaNWj5ce0g5DRqoPnRzhBTEfWJEkEtpUWDcoYGhef0osQaUBgGyqzbZ/fDFcYqzqYusZgySZMEkbr7kLuxGw7pJzVYYnrfXfewtRUppr+/g8uQQjBroqDpiqs6swesYRESZJkMCBJh5WqKgyWMwyWMgzPtplp+VTae6cFGl5IKWMQxslC/oFAYazu0Z03mW66nD1UYnjGWRhdmGx4qAogFDKGhhcnqCi4fkLDi+jJW7xgdYlYCH65Y5a7Nk8x0XRRFAUvTOjJmZzQk+dFq8r0lSzCKEFTVUarDg8MVxipOHRkTapuSG/Oou5FVJ0AQ9c4Z1WJnTNtds60WdOdo+6E/GpnhZ0zLUarHmu68+yaaeOGMVGcMNX0OG2gSG1uSd+TDZRtZtv+ko892Z6qCyADAUl6FshgQJKOgFLW4ISePNPNtCBOyTZoBzGGpmLpGhN1j6YXMtMMaHsRqzqzOH7E8IyLoauUszqjVZcgihmebQMw1fTpLlhkTZVtU02yhkbRNlBVhYmaz2DJZrLu4QYRPXmbnrxNkkDG0MlbGlUnwNR01vfl2VNxWNWd497tM/x0yzSJmF/NoLJrpsV006fuBvTkbcI45uHdtXQ5ohCs6c7SW7Dx45g4SVAU2DXTZqrpU7QNyjkLy9Cou/vnT1i6RjlrPuXowETdwwtjGQhI0rNEBgOSdITYhkZvwSIRMNMOaLhp22A3iBmeaRNECd0Fk5VdWdZ258jbBmeuKDHbDnDDhJoT8NOtUzw2llbT+81wlaYbMVHzqLRDbEvD8dO2wllL56T+InUnJIoFtqGj69BXtHHDgImGz6axBlUn4JWn9rGut0CjHZK3NJpuOlpx7poOOvMWvcUMDS/glztmGa+7+EFCQsL567pRURiebqGpCrqqULQN8rbOo6M1Zls+vUULQ1PIGho1J1jyc+nJW1TbAdEBRgcq7YCaG7CmOze34kKSpCNNBgOSdAS1/ZjTBwo0vZDdFYeCrbN5ooGmKXQXLJwgZmU5vfudbPis68lSyhg4fsQDwxV+9sQMcRKjq7CiI0PVCdg+1SYWCTummjwx2aCvYKEqMNsKsE2F6YZPpe2za8Ylb2tEQkEAmgJ5S+OeLVMkcUwha1DOWJg6jFRccrbGVMNjdaeNImC04vHVXw1jGGlCowAGSxkq7YjRmsOWiSZVx6e/lGF41iWMEyxdQ1dVTD2tP7DU6gFTVynaBpUlgoWmFzJeT3s0zC/hlCTpyJPfNkk6QpJE0PBCOvMWAyWb2ZbPeN1hpOpwan8Rx4+IYkFf0cKPYlpexJquHLNNn/u2z7Kz4iBEQjlr8tDuOkIRxELQXTQpZQ0URaPqhEy3fB4ba1CyNcZqHooKSQK2qfGCFWVO6i2QtzTafpqnMNHwUVWVIIrRNMhbBi03Yst4E9tQUVSV0ZqHqgriBAZKNg0vZqTSxg0iHt5TY7zmESeCMAZLU/DDmOm5lsuGpiCEQtEylpwqAOjMm1TawaKiTWGcMFJxWdmZXeieKEnSs0MGA5L0DDW8kN2zDiMVZ6F7H0A7iLANFUNTCSLBSb0FfrmjymDJRlGg5cf0Fi00TaXmBBi6gqlp/GzrFE4Q847fXUfG1AnCGEVRsFTYNeuyriuPikJ/2aKnkJYWfmy8wfapFkki6C6YtIIQXYXeYoZWENFTzNCVN/nVzgon9uY5fbBIEAv6ChbtIKaraLB9pk3TiynaBhlDY7zu0Ju3uPiUPqI4ZvtUG9tU0VWF313fBSiM1dKWyQVbY0/Voe1HKEq6nDBrLe6EuK+8paOg0J77vIQQaSJjzqD4FMWbJEk6/GQwIEnPwFTDY7TqkrU0LF1lx0xrYa685UfkrfTCtrC80E5r/083fVp+SO9cPYHZdlo06J4t0/iR4GUnpEsFpxs+e2ouqzttZtsRKzttxuouE3UHTVE4baCEHye0/YhfDVco2BpOEDNR8wijhLG6B4pCZ9bkpP48NSfkwZ1VTF3FNlQ6cmnDoT0Vl7YfYRugKiq2qTJZ9+kp2NS9iL5ShlVdGWpOhKoqaX2CriztIGKmme6noLBlqgGAqStYukoQJ/jR0oWGOrLGwmc13fRJBIvqK0iS9OyRwYB03IsTwWTDY8tkkx3TrQMOXR+quhNScQJO6MnTnbfoLdqs684zWnPxwpimF5G3deI4YetUkwd3V8iYOn0Fm42jdTRFoZxJg4Xpus+2ySYP7a5yQk+ekYrDzzZPUc4a2IZOrR3ghBEvW9dFztQZq/vUnLRfgRCCKEl4dKTGTMMniQU1L0RRFUZmHXpzJjUnJIrTZXq/HJ7lW78ZYaicoStn0ZE12DhapytncuZQB7urbaqtNOnQi0K2TLZ40eoOFFWhI2egINg+3WJFR4YoJq1eaOp05kweH20ihEBXVaJEULQPPFVQyhoLrZNnWgErOzNy5YAkPUdkMCAd17wwZutUEy+MGSxn6MiajNddxmruMzpuFCeM1lxWdGQXlcfNmGlFwvmywllD5fGJJg03pL+UYV13numWR8sP50oXC2ZbPr/ZVaXS8jmpN8fvndoLimDrTJuSbaIogpG6z0m9BVZ35RnqzLCmJ8dMK2DzeJ2HRmqMVx1mWgEPjTZ4fKJJy4sYr3rsmEnfe8sLSIRgfU+WII7ZsGOWB4crTNRdHD9mvO6RiITdVQcviKk46d3+VD2k7oa0vIiMqZE1dbKWzmNjDXqKNm0/opzR6SlYRFFCKwgZb7jomkIYC4oZg4YbLfkZWrqGpihsmWwyVM5g6TJPQJKeKzIYkI5rXhjTk7dY3ZUjb+l05EzW9+Rp+xHj9acfEMy0grTS3xJd87rz5sIFcLLp0/BCihmdzqzJmu5cOs/vJwSR4Jc7Kty3fYaxmkPNDdkx4/CdB0eZrPs8Pt5gx2yTPRWHjKGiKSqKInCDmLVdOWqOz71bp5ltBdSdiEQk2LpK2w/pyBp05y2KGY1NY03cMG2q1AwisqZO2TYY7Miwq+Kwu9bGDWJ2z7gkQtCVN2l4MVlTxTJUVndmafsRw9NtVnXaCJEw2wpo++FCEuFJfQWcKKYrZ/HYniaGphIlCQVLx5srSLSUNMcgHSWQJOm5I4MB6bhWzpp05a1F23RNZU13joabthQ+VFGcMNtO19QvRVEUcpbGbNOn2g5JRELeNujImWiqQs0JQRFomsKKcob7h2fT89JVThss0pVPA5b0wh4jgLVdOSYaLo/uqeOEMXuqHkGcYBkanRmNII7pK2XIWSpeJFjbk2G65VO0TXKWRsHWiAWcOlBCVaEjZ5K3dTQVVnfYqKpKOwwpWDpFWydjaOnUQhJR9wL21DwMTWWqGVB1QupuwMO7a5SyBrNtn1LWoJwxsXWV7TMtFCCKBaqa9mFo+fuPDkw3fSxDxZYjApL0nJPBgPS8ZGgqKzszjNfdZZXG3VfVCclb+kGHtTVFoeGnqwlmWyEFU6eUMYjihN/uqbO6O0cpo/PYeJ2ZZoChKbxkbRfre/NcfGof0y2fKBHkTY3ufIZSxsQNIp6YaLBxT5VHdldASVsfV9yQMBG4YUQQC3QVNo81qTg+4w2Prqwx1744nZJQFRVNVdg60ebsFR04AfQVTRw/YbYdMFJxKWcNGk7AxrEmm0cb+FHEUEeGmhuioDDRcLlz8wTdOZOZlo+mKAyWMgSxQFVgtLq3nHLe0hdaGc9zg5ippsf63gKapixahSFJ0rNPBgPS81bW1NMcgpq37OcIIZht+/uNNuwrjBNafkQpYzDV8MibOijg+BE/2TzJ9ukWMy0PgWDHtMNg0aanYKIAtqHjhelFueoENPyYwbKJrqlU3SgdEQgTIiE4qSdPV8Gi6UZUWwHTTR9bU+nJm+yYcXC8iLYX0fAjXn5SD3U35JGROrqi4PghQZKkSYFZk7JtEApBvR2wY6ZNwdJY1ZUDkRYC2jTaoOVGvOKkHs5b20l3wWai7rFpok4QxlTaAaWsQVc+HR3YOesQxmkNgYK9OBhIEsFI1WGglME2NAq2ccDWz5IkPTtkMCA9r/UVbVp+tOw706YfoSrKkrkC8xw/JogSVnVm2DHbppDRabgRe6ouOVNnoGRTtC2mmj5xkqCqcEJvgZYfU2n5PD7WWAgmFAQNN2b7dIvenEHNDXCimKKlUc6kS/MyRvo1zujpFIGtq+iKwIsFbhCxfarFtpkmv3NCFxUnoO4GtIOElhuxY6rJqYMFTEPD82N2VRxKtkHG0LENDVNTmWwFZA2NXZU2j4816MnZqAqUMgZ+kFBxQnbOtBfaORdsgz1VBzdMAwDb0FBVFj7jsbqLpasLzZsKtk5DBgOS9JySwYD0vKapCt0Fk4nG8kYH6vu0ID6QhhemQ/xzNQbSIf8E21Rx/IjunElP3sT3EzpzBjU3omCb9BYtJucChGbbJ2vp5EwNQ4OxmkN3waThBDTciCiB0ZpLmAgikeZB5AydmhvRDCJiASqCnG3w0nVdPLanyXQ9rRqYLuXz2FNzeHysyabxJivLGfbUXFpeiBfFeFFCItIL9XjNYazucWJvgaYXk7FVvCDBCWJMTaPlRfxmVwVdUzB0hZ6CRRwLJuoucZKODqRTBenKhKYXMVTOLHxeeTMdDTnU6RpJkg4fGQxIR62GFz4rc8ndubSK31O91nx54bS734FNNly6ciYtP0or+VVdSraBqWnUvZB1vTm2TbXQDYUkgaYX4AURpqZycl+BPTWH8aaHoSjU3JCpVkDO1Lh7S5po2PAiwjghFhBGCY22jxfFjFQdWl6AF8QYmkbO0IhiwZapJroKvxqusapsoaoqLW+uFHKHTd0JeHi0ih+lyYoFS6fmBmQtjdmWjxDQmdE5ZaDImu4MfpQmBjbcKK10qMPWiUbarKgZkAAZQ2W0sjcfo2AbVJ2A0arLio4M+j59B1Q1HWlpeUsvQZQk6ciTwYB0VEoSwXTTZ1elzdbJJkF05O4aVVWhO58mwh1M04uwdG1RXYEnixPBbCukO28y2wqI4wRFUUiEIEwSTE1lZNbl4ZEaQSiYaHjU3ZBf7qiwspwhiGPGqg4jFZeaGyJQWNVhoyoKsy2fIE5w/ZCBsk2UwPqePKapowpBmEDGVJltR3RkdYSS9h+otEMaXogfhSSotL2Q7ryFrqpUWz6mptKbt2l7IY+PN2h56VSIBkw2PYbKGRJg12ybhhcz2/JZWbbpLRiEUcLqjiyxgJHZNg/srpIkabCwfcYhmKs+mLd0hmcdSlmdwhLlhp+cVyBJ0rNLBgPSUUlVFU7oyXNKf5GCbTA8214Ycj4SOnMmDS88aNBRd5c3RZAIgUAhTgSCtEtfM4go2QZjVZeNYw0GyxnOP6GTjKkxODdE/82H9nDHpnG2T7cZKFnkLJ3BUgYvjNk82SSnQ8MNSQSM1XySJO1JkDN08hkTQ1comjpOEJEIwQk9Odp+xLbJJk9MNKi7EVNND1PXGKk6BHHIw7trPDbeYOdsm0QkTNR8JusuQiQ8MlIjThLqbogTxNy1eQrXj8kZGkJRcEPBTMtnuhWwp+YQxQlZQ0NT4bTBErNtj+2TLQCqToCmKGky5RLytk7TDxc1LpIk6dkjgwHpqNdfsskYGqPVZ1Y18GB0TaWcNZltLz06IISg6YcU7AMnDgJMN3w6cgYtP6LlhyAUbEMjZ6ati5t+xKrODKu7smyZbBHFCet6i7z27EEqLZ/hKZemF1LOWti6QtZU+e2eBoaiMN0KsXSVYsZgbVdaCKjlR4SxIGeprOrIUXECbF3B1HQGShZruwvkbY3RmstUrUnNCUhEQtuPiWOBE8SMVh1aQURf3iYGdtdcppshVTckjAXjDY+sodIOIkxDoatg05mzECJdQpm1NIqWiaqoxAj8KM0nGCpl+Pn2GdwgYrLhcUJvDu8AwZala2iqghfKvAFJei7IYEA6JgyWM7SDaMniNYdLVy5tq5ssMQLhBDGGph60tkCcCHbMtPDDhB3TTcaqLi0/pL9o44cJG0drnNyXxwvSvgVpQSGF1Z1ZOvImQZRgmWlOQJwkdOUsak7A8EwbiHFCgRskuKFgd8Wh0g4w1HTpn0hAV6HlJ+l5WhqnDJRRVVjZmUMIaIWQxDGljImmwvbpNl4YI4SgZJrkMwblrEZW11AVKNgaYSLShEY/4sSetNHRhm3TrOywWdedw48FM82AvpLJrmqbs4fKTDfSqotrurLsrrhsGmvQV0wDiIP9/eXMpYsTSZJ05MlgQDomaKpCb8FicplZ/0+HbWjYhrZkY52mFx10OWHdDdk83mCs5lLMpO15K22fmZZPb8Fi03gdQ9OwDJVHxxtA2lxoou6SNVTcME6T6mJBHMVUnIDfjtZ5dE+NWAi8IME2VLK2RkZPmGr6tOZKGhu6ynjDZ+dsmzABQ4HZps/3fzvKbDvAC2MUFcIIwhj8MAaR4EXQVzDozJp4UYSuK1i6QjMIUVSBFwosTUUkCsOzbYJEMFn3MFSVgVIGRVWxdQiimM6Mwe7Z9L33lzNEUYJlKNTdgNFqm+68Rc7UcIN4yWAL0rwCGQxI0nNDBgPSMaMzl949t4/w6MDsEiWKm96Bpwimmz5jtbRq30ApQ8E2MHQFU9c4Y0WJrVMtHC+m5gY03IByxuTUgRJxAoPlLA0votIK0VXYNt1GUdOv5UzLpdIOKdsG7SjteaCqaY+C7ryJpQEqWFra/TAMBSoQKSpemLBrxqFsqTh+TM7UQIFIxFSdAD8SKEAjSJcRbp9u43gRXVmLJBFUWiGrOzMIAQVLQ9dUnhirM1ZP3+eanjyGptDyYnKWjqZoeFHMrtk2fUWLgm3ghQKEoOaGOEGErqlYuooTLr1qI2/rtP1I5g1I0nNABgPSMUNRFLrzFtPNg2f9z4vihIYXMtnwGKk4DM+0Gak4TNTTDP6lEhJLGYMgShYtMwyiBD9KlhwZmG2ld//renI4QUzB1qk6IX6U4IUJa7tzaJqCrilU2xFBJFjTlUNVYbLhMdRhU86ZtIOQkYrLTNunnDVpujEzrbSJT8ZUiZOYphvghwm6riISgRsKSMRcTYA0WVFTwfFDcqZKf8nCDRMmGg5KIhAKzLYSZpoBJVsja6XljC1NJYoTZtoBdS8iCGImai7DVZe8pdGe63oYxjGtIGS05qQrEIoWNT/GC2JiBEGYsGmsjqamwcpkwydn60w1/YW/s5ylHzCYMzQVU1dxZGliSXrWyWBAOqZ0zq3fX85Sw6YXMd30iRNBxtQoZw1ycxf0mVbaFXD3rLPo4qQoCp05k4qzd3Sg5adTBIqiLDp+24+YaHis7c5h6RozLR9L10gSwUzLo5jRaTgRpbmGQD0FgycmW6zosPGjhEo7oJBJl+e5XsRUy017GngRThASxRFCUWh4MX4kMA2NrKEQJgqzbR9FEfQUbUpZnbobkihgqNAKoOWF5C2NrZNNml5ajXCgaBEDXgI1Nyaja+iqwlTbx9JVLFWhI6thGDp+lNBwAvqKGWxTo+nGtPwITVHYNtXijk3jjNc8SrZGK4g5ub9I3tZ5eHeN7dNNxhsukYC8oTM83ea3e2oIIciZBw4G4ODBgiRJR87BU6Ml6SijqQqluTK8vUX7oPt25Ew6cgcuEBTGCVUnYHfFwdLTefCMqdGRM9g21WKgaKOqCm0/Iv+kKYJ4rr7+UDmtr+9HMY4fU8oquGHMRN3nrKFS2r7YNkGBsm3Q8mKmGz5OFCEQ6Vp/J+DhPTWSWCFIEpotjyhOEEJBQ9BwQpIE2kFIEoNlJDQD6MxquGFaBVBRIaNCT8Fm16yHEyQ8tLvB/OBHlAj8MMLUQEnAiyAhBkGaZ6BCJCAU0JHTaXgRSSzwwpjevM3IbBu1rSCA/nKGTXtqnNhXpGhq3Lt9hmrb55TePHdtmWb3tMMLVnegoFJ3fB4dbbB1qskTE810BKWaJi0+ObiCtBrhTNun95D/ZUiS9EzIkQHpmNORM6k6z7yWvaGp9BZsTu4rULANdsy02DXbRgjIGNpCvfz5kYF9TTU9soZOOZsGG44fkwhBO4hpuyG2riFQUFUQIsHSdKZaaXfCiabP7hmHlh+yfbLJL7fPEiaCEwfyhFFC4EfoqoJI0mV6qKCqEEWgaSpeILDnLup1NyCIE2xNw4uhHURkdHBiCAQkgKakKw28RMwtBwQFYC5QiAWYOqgKtL0YU9XSZYIiwQkimm5A1kz7K8SJIE4Ekw2fOInoKdnYps5YzQEt7Ya4ebJOX9FmoGyTs3TyloFIEiabHlNNH11TaHrpcsPxuou3Tw5Bzjp4kqEkSUeGDAakY07e0hEInODwDCeralpP/+S+AhlDY/t0i0QIqk44t/QuXWkwz5vr0jdQ3jsy0XBDwjjBUBWm2wHFjEGUJFi6RpQkTDU9dFUw1JHl1IE8e2oOQZQw3fLZPdtGATaO1NMywQKCJEGoIBJIEtILtwKqIhbaBFe8mCCGKI5JSFAETDUj2nMfiz337Y4FNH1oOQl5W0U3wNTAjcGPIaunr2HrKllLY6LlE0YxuqYRJTHtMOGEnhyKkuCHCZWmx1jNpe4lTDR8unMm22ecuWmAtB5EnAj6izZhAis7bWpOTBQJWn7aSXHTWJ1o7oK/fbq1MDWgz+cNHCDJUJKkI0MGA9IxqWgbNNynFwwkiaDuhsy0/EWJhLqm0lu0OaEnTxgLdky3qLSC/UYFJhsePXkLY5/6+lU3xNBUZlo+vhcy0/SotUMUAVun22iqwsqOHEGUsLvqsLvioCkKOUvHMnXCOKbt+igKGDpEkSCrq4QC/AT8uRvlMEmTBOffehhBxYlQEXRkVBLS0QCFhfgBZW5bBDheQhClAQJz270o3bnuhHRkNAw1rZqoqeAGCZqqLHQxbHghM620EdPOqQYNN+2aGEZirnuighPGbBytUZobNRkqZ4hFwo6ZFh0Zg61TLTKmxlA5w0Apw4pylt0VZ+HvIWfpODJvQJKeVTJnQDomlTIGe6ou/aWD5w3sS4i038F0y19oz1uPQ0YqDl15k96CjaamFQNP6itQawc8sLvKi9d2LBzDDWLafsyKjizAQie+rZNNppsewzNtWkGEmLu4jjccRmseRVtH11RmWz6mpmBpKrapMVZ1QCQ4YcyME2HqGhlDZbYZEioJpgZBkt69I0BDQaiCgg5JDO0ovbtXfMiYUDLS4kIxaRCxLw3I2yqzToIGmGp6bAGgQBDBaN1DUTQUEZMATpBwQrfB7mo7HfVohdhmWn9guOJSylr4UUIUReyYbmFpKiM1j+8+uIe6F7JloslgOV2iuHWyyb1bZzB0hfo+0zylrEHdDZlqegyUMuRMjUo7kHkDkvQskiMD0jEpa2rEiVg03/xU9lRdWn7ECT15TujJs7Izywk9eU7syxNECdunWwvH01SF04eKtLyQybq/sH2q6aWthN2QLZNNxmoebhCjqwpRHGPqKqcNFHnVqX28cE0HecsgZ2hUWwGmphAlMY/uSe+o98y6bJ1q4QYxk3UPlPQC3QyS9EIcgROmX9LVHRa6puJFCUKAqWugKvPT/vgJNLwEL4F9ZjQwSJ+vkV70Z51k4Tnz/ZYSwA0hZ0HbE6iKwNQUOrIGfhRTmWs7HKNiqApZU6Mjb5AI2F1xKNg6U+2QsZqPqgqCKGbnbJsoSegumEzWPUoZnY6swXTT5+S+Ao+NN5hs7C0v3VeyqLQDojhJRwaCWNYbkKRnkQwGpGOSoijp0r0lqgUeyGA5w7qe/KL5f0jr4q/uytGZM9kx3V7IRTC1tA9A19z2hhsy2wqotgNmWj79JZuT+wvkbZ1qO6DSjljXk1soWZwuM4QwEbxwdSd+GOMHMVXHw40SGn5AMWvQCiKabpiOJngxcRSnw/xzCYC6AiNVnzBK8OP0Iu6GCV4oFi7s81MCugK2rix8sWPA1ucSBFnIGQRg35H4CIjnfg7CmAQV14+xdYVKy8fxI2xDpZjR0EiTFwumyo6ZFlsnGihzywbztkHB1nFDwc6pFomA3qKFripsn24z2XA4pb/ISX0FfrOzSmWuwJOlaxQsIy2xrKkYWlqVUZKkZ4cMBqRjVsE2aBxC21tN3X8p27668xZD5Qw7Z9q0/QgnTOgr2iiqQn/J5t4t0+nIQN5ifW+e4lwr3qm6z3jdRddgoGSjkHbpa/sRa7pzFCyNXbMtfr2zytbJFhN1F11ROW9NJ6f1F6m3QxQlnf9XFRZWD8SAqUDeUlBUhSBO7/B1XcPQlMVXdtILumWotHyx8MVOSPMLoij97333ffKldj6saoYQJgmxSLB1lThJP+vC3MXejxMSoTDeCIiihG3TbcJY4EchQShY11MgZyoEccxQMcNI1aOYMbENlammz6N76pzYV8A2VXbPOtTmajp05ffWd8hZmixNLEnPIhkMSMesvKXjhfHTam0shMANYhpzc/7u3LB0KWuwopxleLZNpZ3e/decgLYf0g4iSpm0cNH8GvkkSdg8USeIEjqzFqBSd0L8WHBSX5EdUy0eH2/yyJ46AsFk0yNOwJwbnXhodw0nSEcFMmY6BE+SzuWrkPYUSNKkx4T0At72Y9pemk+wLwVoeQkRad2AeSqgzC8nZO8qgydT473xRcuNqTsh7TBGV0HXFOp+RH/JRgB7am1qjo+lK+Qtja68gRem0xuTdReBwgO76+QsjfU9eUaqLqaukrcN7t02jRdGFGyD3FxHRSeI0s8VhZYfkTN1HP/wjgxEcVroaarhMd30D2mKSZKOdzKBUDpmaapCxtRoeRGlrLGs58SJYLTq0vRDNFXB0FQUIIgToliQt3Q6cib9RZtfD1d48ZoOtk36zLZ8XrCqg66cyc6Z9sJ0wFQrYLLhkzU1uvIWE3WXmhty3toyG7ZNs3myQSmj01e0Ga+1CRNBMaNzQk8WN0yoOx5xnF7ky1mdIBLMXwNNDeIYLEuh7adTAippsyFNgfY+1zKFdBRhftWBu88wQMze1QOQViBcigtk9HQUISQNDkqalpZWDqK0b0CS4PppgqSuKmiKikDB8SM0TaUrp1O0cmydbuIHMT95bJKVXTnKtsH2qRa9BYud020e2lUDRaCrRVZ1ZhmpuJzYm6cjO1dQqmAzVncPWJzoQBpeOpXjzCVxduRMhsoZpps+U02PnKlj6ipxkiwki0qSJIMB6RhXsHSafrjsYEBTFXKWRl/J2q8dcRAlNL2QqYY311sg5oFdNfqL9twFyqKcNYmFYHjGYV1Pjl0zaaIczCXotQNypspY3afuhRRtnYYX0vJCJpoBGU2lI2cyULL57WiDOBHYZtpYqNEO0XQlLRREetG3NbBUjTYJKnuH+uMlBkPCgwyQzC81PNDP8/ZdrZkmJUYEYbLQ9bAd+Bg6ZHSNMIpp+hFCgVUd2bl2x5CxdDryFs12wETDIwZKtsFQyUKg0JEz6S1YTDU9HhuvkzE1sqbGeMNbyM8YKitoqoIXJmSePARyAJMNj0o7oK9oM1i2URWFKE7YPevgRzEnLJEvIklSSk4TSMe0vH3obW+78vsHApCure/KW5zYVyBjatTctOiQpqV1BDJzF5Legk0xo7NlssnOmRa6olL3IkxdpeEFoKRVC0u2zkzTZ7oRUMrqtLwQVVNIBPx2tEHbjfAigaFpaYVBwAnS+f752gAZS6MWhERzowAae4f79yVYnBOw1OPWPj/rc8d6Kg0/XaHgRulUQ0Sa2OhFMbGSLj1M8xjUNG9gbkXFynIW09CYaQUkiWCow8Y2dLwoIU4SRusepwwUGSjabByrEceCWjtIKySqCk4QkzOX/3c72UibT53Qk6czZ2Lp2lzdh4AoSWQgIElPQQYD0jEtY6QZ+4dz/tcNYkarLuet6eTcNZ1sHG0QxWJRsuJAKcNsy+fXOys8NlGj4YZoimD3jEs5Y1LOGozWPJp+yFCXTc0JieYS8YY6Msy2AiptDwVouiGtIM0TiGEhN0AD6m5MO9j78/xUwdOxb6/HkP0TCA9En3vN+fzLME5XIiQJ6HparElDQVMURqsOFcfH0BQKto6hw3jNIWsa9JYymLrCdNOn6YdUnJB1PTlyhsFY3SURgtGaS8HWaXrR3BLDpw4G6k5IpR2wpiuHqe/9dKYaHl4Ys7orh/oUyaOS9HwngwHpmKYoCvnD2Omu5UfsnGmTt3RWdGYXliM6Qcije2pAmnz4+FiD3+ys4EYxDTdkoGTxqx0Vam5A3jYZr/k4XkgsoCtjsWvGoWDqrO3KEYQxQRBR89LWw0G8/5C9IL1YB/tUCgwAXUvvzp9N88sW/ST9/5h0CaOpp10JwzjBCULKWYMkgdGqy2TDI2PonNBToOXHbByrcfaKIjnTwIsSKi0fP4iptENOHyoSxoK2HzHbSqswNryQnKXRfookwjBOGK25rOzMLgoE2n7EdMtnVVf2KVeRSJIkgwHpOLCci8Zy1N2QXbNtBss2pq6SM9PVCjlT5/dP62PnbJtHR6r8YtsMw5UWHTmTVR1ZShmT/lKGIBJ0Zk2iOGLHTItWGKMqCrurDjUnpJjVmHUCRqsebpJgGyqGpqCoS38Rlxr2j56DBPiYvaMI5tyJBiIdqUhE2h56vBFQsHXylkYQphdoIQSaohAL2DHt8Ohone68iYrCZN3BCWLGGx7dOZOOrDE3zRIy2/QJ4/TdK8rBR31Gqy7lrLGoZLSYG2EYLGWWnA6SJGl/MhiQjnk5S6f9DJsWVdsBo1WXNV05dE3F0tMOfHU3TU7sK2U5Z2WZuzZPsWu2zYpShoYXkbXSfU1VYVelzblry8w6AXUnYKzq0pUzqTkhlqHSkTEJwoSZtkccCxAC1xcEyeIL/3zFwKU814vh5kcHBODF4IYxcRzj+hFPjDfwYxbaOU82PLKWTkfOoDunMdPy0VTImRpTzZDJetqPoO6F5CydFR1ZsobGjpk2IhG0/Zi8deC8gaYX4kUx/U9qZT3TCtBU5aDtqyVJWkwGA9Ixzza0NKntaeQNRHHClokmv52bAhituTy8u8quisOWySZbJpsYqoIQAltXccKEoY4Md2+ZpidvUmun0wKo4AQRJ/cW2TnTJkoEJVul7kZEcYyiqWhKOl+uKApJIvBCgSf2Twiczxk42swHKAppHkEcp6sa3BBsS6XiBEw3PRQBnVkj/bnh0pOz8CLI2TptP+aMlSV0VeGhPTV0df7u3sQLE85aWSaIE4Zn08JPWVNbst6AEIKJukd/0V6UDxDFaYfIwVLmWflMJOl4IYMB6biQszScYPmXUC+M2TXT5p4nphmtuazvLTDUkWFFR4b+ks3ZK8p0ZA1URaHmhvx6Z4XNky1euq7MWM1HVxQmGh4z7ZDVXVmemGgxWLb55fAsGlDOmehaWmo4CCNELNgx26Lu+PhhQhjvnfs/WMmko2m2O2EukXDuj5gLZJwgwdYUVFXB80MylkqYpOWJ99Q8DEOl5gacNlBitOZh6zpnDpWoOTFbxhs0vQhdVdI8AVPn/BO62DnjsLvSJneAkYGak1ZtLGcX3/1PNDxKGWPZyxElSUrJYEA6LuSWmUSYJILxusvmiQbjDZe1PVlecVIPQx0ZShmDrKkTJYKCrRMnsLY7x6rOLK0gxNJVqu0IBYGmKsw0Qzw/JghidlccunImXpCQJAq9OZNZx0dFMNsO8cKIipOen1DSO2qNtFDQwRxNrXrmly+qyt7RizhOH2j6MVEkiBQoZkyCOEFVwQ9CEBDFgpYb0Fu0eGKiwYrOLN0Fk8cmmzhBRMMLsQ2Nph8xWM5y9soyvxmuEswlSew76iOEYKrp0/uk6QE3iKm74X7TBpIkPTUZDEjHhZy5vLyBkarDTDNAQWFdT54TegqLhpnDuUqE1lwyW8HWGak42HPNjE7sK1B1Q1p+SMsP8KKExyaaeGGMrmq0/JBICPZUXZIkwfEiml5MGCcoAnRDxVLTO2oFiI6mq/0yBSId1ZgPDDQN3CAtgRz4MNv0UVEwFHBjQdsPyFsGv9xR4cKTutlTcwjjhNUdGUQi2DRap+YG2Ia60Hjq3DUdKMADw1VMXVkU6NXdEE1loTfEvLG6S2/BRtfkrzVJOlSyAqF0XLANlTgRBFGyaInZvpIkLW2rawp9hbTG/ljNJYgSYiFIEkHdTXsVGJrKRMNFU9KLjxBpbsK67hwP7a6yY7qdlre1dEpZjbqrUM4ZeFFMzoQnJlv4YYIbxcRJQhSDbaqIRCGcyxY8ltvwzCcR+km6zDAGDE3BiwWVto9lGti6gSJgrO6zsivL7qpLbzFD0TbZNdtmqJyh7trsrrrU2iEl26QdRAghyJo6Z60sM1pzyNk6upoWhAKYbvr0Fhbf/Te9kCgWdOdl0qAkPR0yGJCOC4qipKMDfoSp739BaHkhWyZbhHFC3tKZaPhpURxVoZw10NS0/K2pq3TlLIRIRwe2TrWYrHv0FW3OWmHhRxFVJ0AhwdQVvDDGUDVylk7dCQgTGCiYPDAS0vZCVBGlF0wBCiphHOFGR9fw/9Mxf/4JkMxNebQjQcaApicw9ISKE6BrKtW2j62ruGHCr3bOclJvjkf21Dmpr4BlKiSOYNNYjYYbYcyNAgyUMpzQk2PrZJOMobFlqjk3XRMhYL/y09NNn+68eUh9DCRJ2ksGA9JxI2tptINo0ZKyuhOwdarFWM1lqCPLyo4MYSIIY0HDC0mSdC17xtTImTpumC5Vq7QDsoaOllOIYsGZQ0VGqi47Z5sEUYKmqSgoZEydhhugKgpCqHi+zyN1hzBMCOOYmjuXBKiBF0Q4SxQYOtbM90iYHx2ISDshRlFahyABmk6EUGGwaJMzTJwgwtQ0HhmpcepAESeI5oIzCKKYX++s0vAizhgskTP1uVLCHqamESVpX4ZtUy10TaHrSUsG3SDGCxPWdMlRAUl6uuTkmnTcyJk6ThATxQnTTZ8tk00e3F1DUxUuPrWPNV1Zam6Eqij0FCxO7C1wxlCRk/sL9BQsYiHYMtlktOqya7ZNyw9puCEvXN3BUGeO9T05Hh9tkjE1puoeXig4a7BIK0iYbQXsmGkRxAnjdY+GG+AHezsNGhro6t5A4Gi7fz2U3Pv5mgj7BjXB3EZtbr5e09N8gtl2SNbSaQdpQmHVCWh4EaqisnO6TVfWJEqSdOqmaDNWc3hgVxUFwYpyFttQ2T3rMFjKUGn77Jp1KGeWHhVYquRwkqSVDetOSLUd0PDCp9XyWpKOd3JkQDouxInA8SMe3VNj92ybjKmRtw2Gyjag8PDuGnGSMNiRIW/p2Ia6kFtgaGkrY0tXOaE7T87SeHxLg8FyhsFyht5COlc9PNsGRbC6M8O9W2dIRIJlqtQdn6YX0Vuw0DWFOE67/BGnXzBB+j/7tDY46kYH5k73aUvm/ihCYBnpKIGqQRCnyZMagpob4oSCl5/Yw1CnzcO7awRRjoJtpH9/XkQMqErMfTtmOW2gyLqeHA+P1BjsyKIoacvqsbrHio4MiqLgRzFNP2SwXFg4lyhOqM3lfrhB2jjJ1FQUBcJY4IUOeUtndVdWTitI0hwZDEjHJC+McYMYJ4ypOyHjdZcwTufxV3dl6S1kUNU0l6DthUSJoK9oESfp9MBY3cXSVTqyJh3Z9K7SDWJyls6eqkNnzmJlZ5ZqO6DpRWRMlY1jdQbKGUYqLqaq0FnI8PDuKtOtgDMGi3hRwu65YjmmquAkAkUBbe6Pf7RFAPsID9NxKp4gp0GizDUy0mC64WJaOnGUEEQ+vxmu0F20QShsHG/ywlUdTLU8YgFnDBVpBRFxLNg80WRFh42hKUzUPcI45g/PGGSs7rKn6rKiI8N006czZ6JrKkmSLjmcbfvkLZ3unEW+S9+vN0EUJzhhLAMBSdqHDAakY85kw2O2FZA1NbKmRmfOpGDr9BVtZlo++lwiYNUJcIKIKEnrAjS9iPzcfis1laYfMd30GK259BdtokTQ9EIeH2/yR2f244QxQ+UMk02P0YpDIgR9eZt7n5imt2iRs3Q2jbqoCMpZg53TLZwoQVUFbjRXS0BJ2yw7h6mR0rEgmiuvrGvpfzf8mD5LxxeCKErYOdumt2Bh6OAGEZahglCIRYKuacRxxMl9RWZaPrtmXSxDY7rpYugamqqwpivH8Gx7oUrhSX3FNMCruWQMjfW9+YP2JNA1laJcfihJi8hgQDrm9BYs+g5QWCZralSdED9KMDSVvqKNoakL5YpbfsR4zSNMYkxNRQiFIEr45Y5ZnphsYmhQsAz8KGai7nFKf4G8qbNzto2pqrQ8By+MWdGRZazmoKsKnXmL4VmXlh/h+hGJAC8QJEBGB5UE92isL3yEzI+AxNHe/IKGGxLEgqypMV518VcJ1nTl2VNzeWK8iQBsLcN4zaUzbzJadzn/hG5+tmWKmhNQdQJ68xlmWj6D5QxrunI8uLu6UH646UUMltPCUZIkHToZHkvHnIMN7xqawlTTw9BU/ChmuukzWnOZanq4YUwiBF4Y0XJjRmZd2n5a+a6c0VFIpwoMVeXhPXW8MKEdxGwaq1OwdXZXHDZsncEJQrZNN6m4AXUvZKoR0HACxhseYRTT9EXa5pe02qAXJM/LL9q+zZeabgJK2o8hFrBxpEZ/2aIjq1POm8y2AkZrDmN1F11RmG6kf18vWduFFyYEoUBBsHvWAdLkRENVmHUCRioO63tyMhCQpGdAjgxIx7wkSZPTak6AE6Q5BF4hppQxUFUFVQE/ShiruWwaraOpKr0Fi8GODFEcU3cDirbJC1eXUQHL0PDCmP6SnU41hDEvXdfFptFmWos/hKrjUMxYOEFEOaOj6ekIQxiKhaJCigJRAC5HX8Lgs0kjDQw0FAwtwY+h5vgoKDS9GFUodORNHhpp8KpTbPbUXGpOwC+2TfOq0wboK1k0/ZBYCHZV27wgLFN1AsbrHi9e1UkriJho+KzszB62c57vvDg/xVTKGPvlHkjS8UQGA9IxrdIOmKh72IZKZ85kdZdBwdYp2gYdORMvjJlp+dSckIJtcMnp/RRsAyeMmW56bJlM2+iKDIRRQn8pw0DJ5sHdVcpZk8m6R8uP+PGmCdwwJGtr2C64gcKKssVsy6crZ/HYeAPXT6OAfbv7KQqo4ujsQvhsmL98CiCIBZZhoIuIVpCwebxBztLYMt3gpL4isw2fmJixmsv67hxPTLSwjSl0VSNnqgSRIIxDNo81mGr7nDpYpK9k050Idky30i6GpcXTR3EiUGDJZYdPJoRgphUw2/aJ5xot6ZqCEMhRB+m4J4MB6agVxgktLyIRAsvQyJkaipK2E/bChCBKaHohHVmDzry5kDSWMTVmWj51N6QdRHTlLE7uL2DskzRW0lUKlo5taIRRzI8fmyJv66zszJIIOG2gyGzL5/GJBgNFm98MVwAYr3lEseDU/gKTDRdFCKpuRNuLFhUPEKSV+eYL8zyfzb9/DQijGHNu5GW66RGj0Js3KNoGlqkyUg2wNJXcijJdubSiYKXtoqkacRJTcUIeHKlw+mCZlR3pSICmKqzpzrF9uoWhKWRNnZmWz0zLx4+SufLGGoPlDN15a8lpJi9Mm01pqsLKjiwZQ6Xpp6NMThixZbKJEHBSX172PpCOSzIYkI5a88sAVUWh0k6nANS5Dj+GpmLrGqqi4EcJ26ZaWLpG3koDgT1Vlxet7mRlZ/aAw7uqqrCiI4sXxnQXTDw/ZstEk/V9grXdedp+xGjNZaBkpxUGE6i0fco5k7xlsHG0RjuMCBsxqKBG4MxPEXBs9x44XARpECCAMIEkTshaOiKJqbVDOvMGk42AatvDD2JiO2Ztf4HdFYeBUoaGG/EHZwzww40TbB5voekaUSIwNGXR36uhqazqyPKL7bOESULRNshb+kKNiLoT8pvhKhlT48TePH3FvQ2N6m7InqpDf9GmK2/R8iO2TbdR51ok9xYtFAUUFDlVIB23ZDAgHbVsI+0UOO/R0Rqun5C3NdZ15xc1JAqimG1TLR6abFLK6pSzJp05c1m/vCfrHl15i94+i52VFg/uqtGVN3lsrMlZQyWGZ9psm27hBSFhLLBUjeFKm4YfU7R1NEVBcUPUuclxORqw2HxQFCegJ2mJaFVVqHshhqHiBBEP7KqhqyrDs23OGOpg+0yTobLFVMPD0lUGOjKM1V3qbsCeistZK2Liufl8SBsVPbSrhhfG2KbKaQPFRWWpIR1p2jrZZLTmUncjBss2QsB43WNNV46cpTPd9Jlu+gyU7P2eL0nHMxkMSMeMM4fKQFpnYPt0izVdOTKmRqUdMF536cianNRXoOlF/GpnhV2zbdZ25xACWkGEF8SEc3PIuqpg6dpcydyA7pxFDJw11MHj4w1+uHGSOEkwDJvJhkel5S/UHTipv8Ddj0/ieBFDJZORqk8Y7b3oPdNqfsejffsZOCEUrLlCzQLcICGjq3TmDTZPtHl4dwVVVfjVzgo9BZuHRmrp37Wh8qONk0y3fPwgodIO6MqZ7Jp12DReZ3Vnjt85sZumFy7ZudLQVE7uL7JzpoWuqmydbOIECeet7cTSVUYqDm4Yc0Jv7qB1CiTpeCSDAemY01e0MTWVLZPNhVLCa7tzZM30n3PG1CjYOr/ZWeHBXVWKWYOOrElvwSJjpr/ko1jQavtsm2qhKqRJhxkTP05Y1ZXhkT01giDBNjVaXloYx48FqzvzjMy2aHoBuYxOnAhaXpz2HZibIpCBwIGFpL90wgR0EqIk/ezaQcRppRLVdpTmeWQNNo3VGOrIs7ojy4p1Gfwwpq9oU2l57JhuUcwZjFYdpls+L17TQV8xA6RD+weiqQqrOnP8dk8NVVXoL1kYmsKuioMCnNCTl1MB0vOSDAakY1JHzsSPEnZMt3jxmg6Mfe7k2l5Ete1TcdPOg0GUoCkKLT9kqJRhVVcO29DSIkFhjAqM1l0aboSiKLhhRCmj4xsJU3WfbdMtTE3B0tPHts84BImgJ6vTDJK00l48v3xOBgNL2bfLoSBdZYGiEicKnVmL6VZAFMdkTYOsodGRM3l8okXWUNk81eSEmTygsLIrw66ZFsMzDkJJcz5esq7rkLL9BQJL11jTnaVgG4xUHIQQrOnOPesliqM4bfVsaupBgxhJOtJkMCAds/pLNlGSMFrzWNOd5hYMz7TYMtlMcwCKNi9a3cl43WW2FVC0dUZrLrsrDqcOFBfaFVedgIFiBlNXeXDXLI9PtOjOpzUExqoeuqpQddKh54d3V5lueiSAqcFEwyeeu/oLZCBwMPMdHE0VghB0LSEKQ3Qr/TX02HiLdd1ZRiouqiY4a0WJuhuyoiPDfdsr9BVMVpQzmIbGrBuQbxmcOVR6ykDADWLqbkgYJxiqwkzbp69kU7ANphoeXhizrif/rAcCYZywY7qNbahkcnJaQnpuyTUy0jFtsJQhjBNmWj4AvUWbC9b38LITuslbBlGSsKIjS3/JJkwE563pZH1vgft3VnhsrEHR1nGDNBlttu2zbdphfW8OJ4hQUciaGoaq4sy1wQ2iGEVNpyIsU2O+5YChyS/TcghAU9ORASEgQkHXVTRVodr2GKv7KEpak+DUgSKgMFJzWdOVZeNYg41jDc5cUcAPY3KmRsuPaXpLt1mK4oSRisPOmTbJ3PLCPbW0bHRvwabphcy0AlZ1HXjFyRH7HIRgpOJQzOis7ko7N0rSc0n+/pKOafPLAycbHkGUkDV1snN3mllTww3Se/W+ok3e0tlVcVjZmWVdbx4FhZ9umV7ofnjP5mlO6M6xoiNHOWtSzhpUnYAd0010RcHUwDY1FEWjL2eyezadZ9a19MKWHOQ8pZQA3CitwRDFafJg002L/LT8iN3TLdpeSMHQGau7lGwdP0jYNNpAVRTqboCt6+QtA11TqDoBUw1vv9fxwpitUy1UVeHk/gKD5QyGrpKzdM5d3UkYJ4xUXFZ0Zp6TZMGaExIngv4D9NiQpGebDAakY0IQJbT8KG1a0w6oO2m/ej+KsY20FfFEffFFIWtqOMHegfvBcgbb0Ng4VsfSVP7wzH5UReHnW6fZuKdGMWOwtifHjskmURzjhUl6B4sgFAmWruEEaTvjVpTghQLmLmqejASWLSYNngDCGBpeSJIkKIpKKARjjYDd1TZ7qi5ulFBzfB7cXUmfJCBIBCs7bKabPrqiMFJxcYK9VR28MGbHdNoZcaicQVMVojhhtOoy1JFB11TGai7lbFrs6NkmRNpqua9kyzbK0lFD5gxIx4RKO6DlR+iqgqKk/Qj2VF2qbgACsoZGO4jwwmghQTBjakw2/EXHGSrbbJlsMlhKLwrza8k3jzd4+Und7Km4bJlucXJ/gc3jdfZUXDRdxVRVJpoufiTIGFBt+XjR3qRB6dDsm1DY9kDVEgq2imWA8NNiDUXLYKzhEQYxOTtNBFVVlSRJCwDtqTi8ZF0HNTdkquGzplsnjBOGZ9v0Fi268tbC643VvIUy1dV2gBcmrChnaPkRXphOE0WJQAiBoigYmjJXxEo/7FMIdTdEU5XnJBCRpAORwYB0THhyzXmAzryFbagkiaDSDtgx0+bhkRqzbZ/BUpbeooUXxiSJWKhNX3HChYY2j4/XmWkFDJYztPyQDdtnsTSVcsag0vLRFA1dU+g2LHRVoe2FRFFEPVJozU1T6zw/kgbnL5KHy6KBFHVvYKApGrapMln3KdoGcSxoBjGRSIiFIGOqnNSXw9QUNo41eGC4xkA5y8isQ2/BYqLhUcoYdO8TCNTdtKTwSb0Fwjhh52yLvKWzebKJoalkjPTv2dAUFNR0JCgWND2fkYpDztLpzJoUM/ph+Qzm6yNI0tFEBgPSMWvfLPIhU2eoI8tDu6uEUcJo3aXqpJ3uvCgma6aJgtunWvSXbBpeyAPDVTRNsG2yjQrU3QjbUFnZlSFKYKaZ1rbvLluMVD1iIBSQxHvrCx6vJYdFEuNuux9v92/xRzcTTO2AJMHoWkHmpJeRWfdirKFTDsvFMU7ANKDhRERJgqWq+HHCVMPnxas72LDdQ0FldXeWmVb4/7P33+GSXWeZNn6vtfOueOrEzlmhFSzZOMsBgwNgY3LykMPgIf4MDHyEb4iGGWAweOyBH2kAGxiDwTbBOMpykoOs3C2p1bn75HMq185rre+PffpIsmS7W2q12nbdunR116nau3ZV16n97He97/NwbDVi73SFq+ZqnO1GXL+jyZGVPrEq2N2qPmIdXmnDQrdcHhikBXed6QCCbc2wTLUUgkJrCm3Q2qB0GbE8W/OwLYnShl6cszJISJXDTO2JrfGnhSLOFbvHwUdjLjPGYmDMFzXnQovSQiGEYFcrZHmQ0Kp4ZSf56pAozZmul06CjpQoY+hFOddvq/PWT5xGYai6NrtaIfcsdKm1bfZPVTnViam5FiuDjGGSk+cKrUGZR6bxfSlhjGZ453/Q+8Q/oPqrj7o/Xz9DfusZ+re+DW/rVUx81Q/jbb3ycT2XKyHTZWWlKMr3VRWaodA0PButNWtRRsWTLPYy7jnd4eptTZZ6MbsmQ2YaAcfWhoSuRdVzOLUaMRF4dKKc1saV93K/HA1dG5TJla4tuWKmRpQrTq6PUNrgWuU0gyUFUgikFA+FK0lBq1JaWxvzxP+1e3FO3XfOK0VxzJhLyVgMjPmi5ZyPvJTg21ZZBcjK9Ln2KKPqOeTKcP/ygKmax2TFZd90lbOdmG3NgMMLPbpJzoHpCsIStEKXp++YoD3K+NCRFeKsQCnF6jBDohlmGt+BUVr2CTh22Rn/pYJKhqy987+TnLwDABk2qFz1ArxtV+NuvRIhbZIz9xAfv434yK2kC/ez9Jafo/Hcb6Nx03chxIX1I2cPWyvQG9MYoxxsCetFAULwwPKQ67bU6UQdPn26x1fsabHcSzm80GMqdKl5Dnec7rKlGbB9IqDqWyx0I06ujWgEFnef7RM4EseWLHYTAtcmyjQN36YW2ExUXDzHKoOvHOsx+wOyQhNlBcO0KPsVNh4yWXU3XS/Pl36cMzOeIBhzGTIWA2O+KNDaoI15RHys55Q2xLnWdEc5a4OUtVEpEA4v9Nk7HXJwa52znYg7Tne5aq7Oaj/l2OqQQZxzZLlcMlgcpHi2YLbuM9MI2DUZcuuH1pCwMcNuMNJGCIWDoMBg8SUmBEZdlt/2K+QrJxC2R/OF30P1hlcgHe8Rj6te85VUr/lK1LBD50N/wejQzfQ+/vfk62eYetXPIqwLK3+7QLbxP5TjTcZAZiBKCnxbMFHx+OqDs7zzjgU+ebzDTMPHtyUn2hGN0OHYSp/Jike7yCgMbG8GSAl3nO7iWJJG6BJlBfumq1y1tY4tBVpDoTVpoelGpSFRWmhcu+wh8B0LY8rUzCTXVDybimdhy/Lzp41BXuASSVaUz1G9QAExZsylYPypHHNZkxWaE2sjskJvXpHVfJtm6KCV4Y75Dp2oPGE3A4ctdZ/901VOro+IsoJ7F3qcXo8IPYv1YUJaGK7ZWmeu4XNqPcJ3XBwpmK163HW2x1ddOcXbPzOPUpCoAqXLL/1hUhA4ku5GRvGXUtNgMVhj+e9/maJ9FllpMvvtv4k7vfvzbmNVJ5h65c/g776B9Xe/keiBj7GqFdOv/gWEdf5fK4pHpjw6ovRt0AXk2tBPNJ851eaV186xcyLg3sU+37ilSpxrjDHkuebYWsKVW3LqgcO2iTK3YqmXoAw8bUudZsVlpZ+yb6aK73zu2Q+ty/6SQZJzfHVIJ8qo+Q5zDZ9m4FDz7UeI0QtlvEQw5nJGmPNYCOv3+zQaDXq9HvV6/VIc15gxwEM9AUle0IlyRqmiG6XccbrLMMupeQ7TVRcjJIXSaAMTocPu6ZCiMOydqvC2T58BAbceXWOQKvbNVmmFLg8s9plt+KUdrGNzz9kO0oJTaxETFZfVQUx7WFD1bQSCfpQTf4n5CRS9ZZb//pcouktYtWlmv+M3cVrbLmgf8Yk7WHn7r4PKqT7tFUy+4scvaPtziYbWxt+3TrgsdDI00KpY+LbN9lbATN3n/sU+V8/WOLClju9Y3HG6Q3uUccP2FldtqWFJWO6n+K7Fi66cYVszYL4bY4xh+0T4BY8lyRUn10ZUfZstjWCjOlDQi3NGaUHVs2kEDvXAedSSwrnHxpkiLRRpoUsL5I2JhXaUsXMiYKLifY5nHzPm4nO+5+9xZWDMU0o3yih0qUelEHi2ZJjm5MpQKEOuNEmu6URlZ78lIFeGbRM+jhWSK4MtJTtaAVNVj/Vhxsow5bbjXeK8YKEbM1F1+dSJDrONgKc1fNaHGafWBxhjGMQ5eWFzcm2INoZjyxEWgqrncP/iAANkuSZwxZecEFBRj+W/+0WK3jJ2cwuz3/Fb2I2ZC95PsOdGpl/9C6z+028yvOs/cOf2Ubvha857+3Nvqw2kgFKGZmixFinSXCGMYW1oMYwLKq7D0fUIy7H4lmds5+R6jOtYrPQjhDS0o4wXHpgm9Gy2NQPSQtGNMq6YrX3eYxilBafWRxxfHdEMHRBlT8pcw99sICyUpp8UdKKM+W68OcJ4LkZ7ZVA2K1Y8m5rvMGVLHEuSK80oK1jsxlz1BY5jzJinirEYGPOUkhaarChPB8bAeqE4044IXZtmpUywGyQ501Ufx97o+AZGmUKb8mpsfZhhKJ3spuse+2YqDLcVvP/wEu+4Y54r5qpoo9jaCDcihzPOdFJ2Nn3muxG9uMCRgq0tn4bvYIBOlCIM7JgM6EUFS4PH9r//YsUUOatv/40NITDH7Hf9DnZt8nHvLzzwbJov/G66H/5r2u/7Y9zZfXhbrrigfZyrDrTjnFbgYKHK/gEtkGji3LAyTKn6Nt1Ryl2nuzxjZ5MHlvrc8uAq2ydDqq5NXmgmJlx6cU4vypmseDifo7xfKM1CN2G+G6E0PGdvi1bFIy00+mFFU2MMo40chLJfABZ7MSdWhxsVDJe901Wq3qO/Ul27nGDZP1PF+zzLFGPGPJWMxcCYp5TZx+is3j9TJcoUg6RgkOSEns101aNVcR8x1660YZSVZfxD832yQtGNcxxLUHVttBFcMVPlUyc62FJw5WyVRlAmHS4NYg4v9REItk/45LkmK2DfdA3PMbzn0Cq2hLwwRGn+JTdC2Lnl/5Au3I/0q8x8y68+ISFwjvpzvpVs6SjRkY+z9q//ky3f94ePakD8fJyTW1kOqVPgO6UHgW0pFrqaK+dqaAzawOog4bZTHb7uOo+FXkwzsHGkZLrm8MDygBdcMc3x1SGOJTcCjx5NsjFeGGUFzdBlz1TpXKmU3mj2Kz0BLAGrwwxBedL3HAspYKEbs6JTpqoeudK0h2UUsWs/WngMk4KqN/YWGHP5MhYDYy47hBAb3ds2cw2fYVqw3E9YG2ZsafqbNq5SgGtJ6r5D4EoOL/SZrrkcWR7SjTLqvoMxZeOhZ0vuWxrS8BI+dbJNxbPwpGCy5jNXD0kKxfog5XR7CJR9Co6EXpwRf2kVBYiOfZrBbe8EYPLrXoczuf2i7FcIQesVP046fx9F+yzdj/wNrZf80AXvpwBGmdlMN2yFLme6GSfaI/ZNVRgkBSvDnOm65sMPrlEPPCquw9luzHXbGqwMNKfWI6JU0QjlY44LxpnixNpo4zNk0fBtTq2PmO/E9JMCz5FUXZu00KyNEq7d2uDabU2grBIs9BK0gWfsmsCzLZQ2rAwSHlwZsKURbPocnGOYFmxtBo/nbR0z5pIwDioac9lT9Wz2TVeZa/gsdGMOzfc4tjrg8GKfE2sjRqniitkar7pxK1NVj1dcO8czdk3QqjhEmeamfVPM1j0CR3Lf4oCq67B9okKr5iOlIVNl3v1M3adQmiMrIwoDRsAw0V9SLoPFsM36v/0BALVnfD3h/mdd1P1bQZ3W1/wkAINPv5N08cHHtR8hQCnICtBCsq3hEmdlAJFlCbQ2HFuJ8G3Jjbvq5Eqx1E2YqDhsaQR84vg6ZuO/+GFhVYXStEcZd5/tstKPufNMl4VuzAPLA+5fGuA7kuu21bl2a4NmxUEIuGKmhtJsWlufbkfEmWLvVGUz8dCSgi2NgD1TFfpxjtbmEc+ZFZqKO14iGHP5MhYDY76okAh6cc5CN6EZOly9pc72iQAhBMMkp+LZHFnus2sypFCGVsXj6TubbG2GdEc5zdDhVTduYZiUVsWtSsDpTszuVsi9C326cU6hIJDgSEn2JbQ+YIyh/d43o+M+zsxeJl78/U/K84T7nkl48EWAof3+P8aYC++8LApAlH0EvShFG0FgW6S55tjqCEsYkqzgdGfEseUB9dCmE2csdBKu2Vrn+OqQQmsagcMDSwPOdiIeWBpwaKHPrcfWOLk+ZL4bc932BlfOVglcm6fvnODg1gbN0GWQ5Kxv5Fa4toU2hqVezD3zPZQup1Qea8wwdG12T1UeMT4Y5QrfscYJhWMua8bLBGOedNKivPLOCo3SBmPKKynbEvi2RehZnzdTPi0UC92ErNDM1j32TldIcsWZTkw/7jHfjhhkippnM0gL8hzuWxyiNISu5M8+ehxLCrQxZIXh7tNdDi8OCRzBUi9Fa83Ho5SoMKS5xjYgLIizL63xgejIx4kf/ARIi6lXvg5hP3lr2BMv/gHio58iW3iA0b03U73uqy5o+9RAw5ZEhWaUGSYrgiIuY6NzoOkZCgPrw5RPHu+wpRkQ2ILPnO7QCMpR0OMrQ+JM49qizJxoBRxe6GNbkm0TITdsbyKl4MTaiGu3NTab/zqjDCkFz9s3hWvLcmQwLrh/qU+hNZaEhV7MZKWcJPhCRKmi4o2rAmMub8aVgTFPOkobskLj2RZ132EidKl4NlII+knOsZURDywNWOknm5MF51jsxXzmZIfuKEMKmO/G3L804OR6RJQVvO/wMp851aXi2ASORdWx2DnplaOCaFKl2TddRWnoDgtmaj6nOjGNQFJ1LKZrDlXfJlEGV5SlYCMgLcCSXzq/ICoZ0nnfHwPQePa3fEFToSeKXZuk8bxvB6D74b/CFNkX2OIx9oEmdCBXZUXIQoCEqgtxIZgObbIcJIZBkjPTCNDGcPORVdKi4MGNUKr90zUypbnrbJdunDNX9zi4pYFrW5xaj9jWDDaFQJIrFnoxu1qVzUbAtNAs9mN2T1V4/v5prpitY0vJibURx1eHJPnnt6CKsoLQGV93jbm8GX9CxzzphK79BT3ch2lBZ5Tx4MqA0LGwLUmcK/pxRuiW9rC50kgEqVLkWiOM4MYdzY3Z75TTnZzFbsJ8N6YXFcw2PF5+7Rx5oZmu+Xz6VIdX37iFN998HNe2cC0BQnDVTJU7zvToxBm5Kh3xLFmWqL9UagPdm/8CNepgt7ZvnqSfbOrPeDWDz/wbarDK4K73UH/Gqy5o+05Snvg1sDJMqQcOmgxjDGle0EtgouKTa0NnVK7TZ7nm+VdMc2Cmyls/eZpbj63xtO1NBknB+ijjhh0NJioeE6HDsdURrYpLMyyb/ZQ2nFqPmKv7m1f8pf9AxGzdY3IjFtm1JXMNn5maRzvK+HzVf2MMUabY0RpXBsZc3ozFwJjLgqpnU/VsCqW552yPdpQxXfNwpCTcmCzwHYuFTowUgprnUGhNriWjJOeOMx1W+hkzdY8drYCXXd1gtumzOsyoug7P3B2w1Iv5m4+fJs4UU1WHVEGr6rA8ysgKRT/RuBZoDZaB+EukXyA5ex/Du98LwOTX/ATCdr/AFhcHYTs0nvuttN/7Zvqf+AdqT3v5BT23BtKNgkKSafZNe9Q9m9UoI4tzOnFBVsTUA4epatn82Y5zklxx484WnVHGhx9coz1KaVU8dk2GjDLFwa0+y/0UIWCm9tDo46m1EYXS5Mqw1EvItaY9TNk9Vd2My1a6NMKCcqlr8rPGXT+bJNfYlvicPgdjxlwujMXAmMuGM+2ItFBUN9LkBknOWpQReDaeLbEtwRVztc3yba40h852eXBlRFYYdkwEeK7Esyw818KRklFSsKPp8fFj63i2ZG2Y4jmCtUHOVN3BEYJelKMp0/LOVXy/WCYIQhL2i3mmRZdp0SMkpUCisPiUvoojeiudD/wJAJXrXoq//ZpLenzV615K79a3oQZrj6s6kG78GWs4vj5iXyvcCBOSFIWmnygCr+w/McaQac3dZ7v82z0L7J6sUPUsQBClivlOTD1wWezFdKOC/TPVsvE0LXhwecBiL9l0KmyPUs60I6q+zT1nu1hSEOdleqFgI2XRGCwhqPk2rYrLXCPAc+Tm6CvAKCuojIOJxnwRMP6UjnnKSXJFP8453R5tXJGVUcSWFEyELp852cZ3LaaqHqowIKE9Snhwach6lOI7Ni+6YhpbCm4/3aEQBiHg1hPr+JbkXXcuMkoLMq1YHZa2xg3f5ppqhX6iEJSBSLYoRcDlvDTgk/JCeTdfJe/gRvkg+8UCUjx2CePn8h/hjrsOky0dRbghEy/6HraxSoHFMq1LcrxldeDbNqoD/3jB1YGHM4oVR9dHaG1wpCEzEDqCtUGBLSKmGwFbqi62FNxxqk2UFWxt+Bxbi5it+QgJZ9cjbjvR5qsPzpIrxUI3ZrCRJ/CiA9NUNvwG1kfl8tQgzsm0BiPY1Qo5MF0lKRRZocm1pig0Ua5pRxkVzybJHykG4kydV5PhmDFPNWMxMOYpoxfnrA0SBmmB71hMVksPeK3L2ez1UcbZdoyQhpOrKXee7iCAxX5MnBqagUXo2dy4vcnOyQq9KOerrprhwdURhxb6tCoOeaE2XAotzrQzfFuQFGBbgjPdhDjTrAwSurG6rEUAwGus9/PL9lsIxPk1452Iq3RueQMAzed/B1Zlgh+z/4zvsj/IHXo/71LP5e3qhfSpPIlH/cjqwPDu91J7+isf136kBLSg0BqjAQON0GKQGOa7KVGmmai4xL2U3ZMVzrRjulGOawv6acb+uRZnOzFVV/KOO+expGDHRLhZ7j+y3OdsJybJNbN1n1bV5fodE4BhpZ8ySgs0ZjOP4JyZUVpoenFON8oI3DL6+NzSwSgrmKqOg4nGXP6MxcCYS4IxhrTQpLneTHQ7vT4CIWgEDo4l8WxJoQyFLq/sJ6vuRrk2JnAthqngvsUBtcCmEUrWhxmWJfjkiXU+dGR1M2++GdhkhWYQC2wpEAjuPtNDSqi4LhXf0Apd5jsxozSjPbr8hQDAXXrvYwqBkfFYNJOs0WBgAiQGh4JbP3orOupit7ZTe8arkGheat0GwI3yKDfKo/yc/Tb+Wd3En6qv5aTZ8qQct7AdGs/5Vtrv+9/0bv0Hqte//HGNNeYKqj44wiZKCmwJq6OCnS2frKPJVUFSSKSUNCsOz9vX4o7THdaHGTXP5o5TXUZpzmzNZ+9shVboYgnJIMnJdelmmCtFq+LRLGyUtjm9PsK1LaaqZfaAJUvDoyhXDNOizDDY+Ly2Ki6dUcYoKdg9VcEAhTL4zrhfYMzlz1gMjHlSyApNN85IMr1ZVrUtgWdbeLYkdC1u2Dmx0Qvw0Jfl4cU+aiPlbbmf0IsLWlWXs+1yBOxpO5qcaUesDXN2tip0opzOIKWf5USZZJQaJqsOu1oV0kJxshdzdGXIKFX4Vpk8OFNxGGUKxzKsDdVmf8C5KN3Lge1ilbNm+hE/u9fs5VP6Sq4Wp7lZ38At6mncafZx3GzBfNYQZN6eZ+Ez/wWA1kt+CGE5bGGVyPgg+puPC0XKa+wP8O3WzbxD38QfFd/IaTN70V9P9fqXldWB4TrDe99/QamG5ygAZQyhhKEQeNIQK+hFOVNVj36ck+QaKTRLnZi3f2aem/ZPo4xg+0RIrjSeI1kZZKwOMgLXpjeMqQUua8OU/bPVDbdBw8m1EYcX+ni2xY07m7iWZBDn9JKcQVLg2RLfsfAciWVLRqlipZ/Qjcr0wrvne7zwwBShOzYbGvPFgTDGfMGe6fPNQx4z5hxJrlgbpoSuje9IPNt6zPz3XJWWsbYsT2Z3ne5weLFPe5QBBmU2/OkDl3aUsdJPWRsmNEKXm/ZP8vSdk6wOUgJX8oH7ljndjgkcQbRR/l/uJYCh6tuoQjPIFIFnkWeK+V7C4DKzGKwQ8//Yf8t3WDfzyuz13G92PuL+GTp0qZLx+a+sV//59URHPk6w9yuY+dZffdg9hqvFab7B+ijfZt3ChBg+YrvcWPyFegV/VHwTIy6ul37/0++k88E/xW5tZ+sPvRkhLvyK2RMwUbFItcAX0M8LjIGdEyEr/YR64NBPCwJLYDsWX3NwK3tmqzy4PGBlkPJ1181R8RziTPGZU23WhhlzDZ/dkxVqGxMDOyZCdrRK74HVQcJ8N2GhF+NIydZmwNamz0RYThH0opzlQYI2hrrvELqlS+LRldLaeNtEhbnGo8O4xoy5VJzv+XssBsZcEs7NWw+SokyLWxuRKo1nSwLHQghY6SXct9inFtjUA4eJ0KMZOqz0Yu5dHGCMYbLm8sK9U0zWfR5YGhBlinrgsL0Z8J5DS0xVS/vZk+sjenFBb5QibcmEb7O4ceWmEUij6caGz28Xc2l5rjzE7zp/wnaxBsAt6nq+N/+FC95PcvYQy2/9eRCSLT/wv3Cndj7m4zwyXm19jNda72KPXH7EfUtmgh/PfoLbzFUX/kI+BzqNOPvm78VkMTPf+msEe5/xuPYzFdo0fIvlYU7FFgxzvTE1YEgKTcN3iHPNVNWj6jk8bWeDY8sjZus+0hK84ppZPnmiTZSWn0XXsZisetywvUmz4rLcS8iVJtwIymoGLs3QwZgyJrsf54yygjQvP79TVY+KZ2NbgtC1N0Xv0ZUBM3X/EQ2FY8Zcas73/D1eJhhzSTjbiTdO3DbN0OHabQ0MsDIoBcBSrzQKmql5WFbZO9CLc+q+ze7pCntmqnRGGXGuqW+McVlS8PFjazSDgA/ct4wxmmGqkFIwUwvIixgZauJckynNMC0Yphprw2HwchECAs1PWv/MT9n/9IjJgBnRoc7oghr8jDF0PvgXQFma/1xCACDF5W3qK3m7eiHfaH2Un7bfvilELDTHzdbH+YoeG+mFVK9/GYPb3kn/tnc+bjHQTwocqcgLQycD24bBqCAMy679vCi9Aq7bXueBpSGHFvpIIfBcwYnVEW/5xCmmqi4rw5yv2NlAGUgKxXsOL+LbNlsbAVXfZpQpGoFDq1KOsfqOxWzdp+rZHJrv0Y0y4kIR5YptzYBcadJCc/VcHSFKj4HQGU8SjPniYCwGxlwStjUDpCxnwQdpQRQX9JMczy5HsbY1faQQCFF2eDcCh7Vhyn2LA06tR1wxV+OmAzMs9mLuON2l7jss9RK2NkI+fnydUVKgjOH4WsQVs1UOzDhIAWc6mkGWcmolYpgoHAmGy0cI1BnyBufNvMS6c/NnubF4k3o1byq+gfwCf0Wj+z9KtvgAwvFp3vSa89pGYfGP6kX8i3our7XfxY9a/8J/zX+ENhe/Clh7xqsY3PYukhO3k62d/rxi5XNRaOjFBqPLPgLbQCW0CF2b9jBlqDW2hGGm2N4MiHPN8w9M8sDykG0TASuDjG5c8Ny9LdJcMxE4rI5Sbto/jWtZJEWZSNiqukRZ2e/SjwsGSTkxcGI1wrIEO1sBe2eqTIUuExsTA0qXDbCdUUY3ypnvxhTaUChNkmk0htC1ma66tMZTBmMuI8ZiYMwlIVOa7iCnE2Wb/gFbmj62FGybCDaWCgRZoVnoxpzulLaw+2YquBacXBttpMWFVD2bt3ziJI3QZZQWLHViBlnBgdkqtemQk2tD/n1xQOhItNIM0xylDaELW5ohC70UUSjOXYPbPDUmQ9vFKn/l/A775OLmz07oWX48/ykOmd0XvD9T5HRv+T8A1J/9zVjViQvaPsXlDcW38FfFy+g8hhDYyhpLtNBPILHBac4RXPEc4iO3MrjtXUy+4scveB8ayHX5p6F0jLQtmzhTSAmjtBQDH3twjRccmGKxH/OZk212TtW4fmudDz2wim0JEOC5EteRfMMN23hgecje6QpCwmIvxbEtdrYC1kcZa8OEpV7CibURdd9h71SV0LNY6ibct9AndC0mKy6eY2GAfGOKoOrZrI8yenGO71g4QtJPcmZql8YFcsyY82UsBsY8YQpVluHzwqCMQQBSlK5wtiVwLUknytAGdk9WHmXC8vDcAteW7J4qPQPed98S2hh2tioEueJDD6xw61HJzsmApV5Ke5SVa7kSpBR85lQXWwrivKBQhhjFIFEII6j4NkppVgcZxcOEADw1QuAacZK/dP8HM6K7+bP3qafzM/lrH/fc/+D2f6XoLWNVW9Sf+Y2P+9geSwhM0ePt3q9yn97JT+c/9oS8Cepf8WriI7cyOvRBmi/6HqzgwisQuQGXssKTGIjSnFpgo7Fx8vJfdJRqFroJO1sVTq5HxKlGq9Lh0rMkx5aHDDPFZOiwOszY3Qr5+PE1nrmrxVUzFR5YGXLLkWVaocfuyQqOlDxnT4s901XSQuPaki2NgPVhyj3zPRb7CROhy2TVxbEkFdelE2W4luSGHRObzpljxlyOjMXAmCdElBUcXx3h2hLHklgbY1TaGAqtyQqDNobAtTaT4c6Hqm/znL2TdEYZ/SRj71SFUVzw0WNrfPTYGg3fohcrpqoulhTsnaqwrRni24KVQcqNOxxOrY24/UwHx5bsrruc6ST0spzRU+w1/GxxH3/m/h41EW/+7A3FN/GHxTc9akTwfFHxgN6t/xeA5gv+E9K9eB3sNgVvcv+QLaLNFqvNO8Sv8CP56zhqtj+u/Xnbr8Gd3Ue2fIzhXe+h8ZxvfVz7UZShUgbopZrQNdR9GwtDrhR5AsdXh1wxFXIWw9H1ISe7Ec/cOcGZuOCK2Qq7pyscWx5xdj3CkQKN4f/edoaaZ2NLyVzTI1eaT51cY2szZKbuow1UPBsB3L/UBwNP3zVB3XfQulwGO7k2ZJQWzDV8tjQu7lTGmDFPBmMxMOYJEbo2125rfN7H5EoTZaVJy8n1EULARFi6DX52gMsoLVgZlG5vjiXRwAOLQxb7CUIY9s1UqXgW9y/1CW2LtFA0ApcoL2h3I9aHOY4luGFbg9tPtakHDmlhOLQ4AAH9y2CUMBApLjkAhZH8YvGDvE195RPaZ+/W/4tOhjjTu6lc+1UX4zA3cSnomYcqAXvlEv/s/jd+JH8dt+oLzzoQQlB7+itZf/cfMrzrPdSf/c2Pa8zQUHpDnOv/aA9zJmtg2xbro7L6M0o0nzjV5Vl7WhTKsNBLWB9lzNQCholiz6SLnoY7znTpnc2pOBZnujGToctLr51jtubz4EqfwLG5ekudVqUUB4vdmIVeQuhaNAKHxW5Cx8moejYToctCL+HglvpYCIz5omE8WjjmkhNlBevDch214pVfpsaU4S9RWtBPMtLCkBaKY6tDJGVI0fHVIavDmELBrlZAWijOtBOW+wmBZ7F7sspCd8TqIGWln6I0bG96DLOc9jCjl8JTLwVKvlLewRucN/HT+Y9xs77xCe0r7y6x8Gc/Cqp4QiN7nw+B5iesd/A65x83f5YZi9fl/4V/1c+94P3pLOHsm74Hk0XMfMdvEex62uM6rs82ipKAZ4MUoAwYBaFncdO+SRKtsYTEsgSz9YBBnLGlGXJwWx3Xgv+4Z5lcaQ5uqdFLFTuaAVIIOnHOS6+aJVWa0LVQ2tBPC7ZtTB04UpApQ7yRctWJUk6sRnz1wYtv3jRmzIUyHi0cc9lyrp9ACDi5HpEV5QhXoUoTIscStKOME6tDklwRuOUaby/K8GyLnRMBo6xgvp1wcn3Ewbk60hJEaUGUatKsIMoKfEdwej1mkOnNZrPLxWXwZn0jL0j/8KLkAnQ/9JegCvzdNz4pQgDAIPkj9U0cNrt4o/NGApHhCsX/ct/IdN7lL9WFOQpK16dy8EUM73w3w7ve87jFwGf/WwY2WBKkZREYTSoMCM29i312NH0SAzubIWmm6CUF9GJaFYd+XFD3HKJCYQnJgemAu852EQhe9bStKFPmEzy40sexLJ6+a4JOlLE2SimUoebbTFU94qwMP5qre2htkPLR7oO50mRF+b82BgM4ltyMSR4z5qlgLAbGXFJGG0sFE6HLnqkKB7fUyZRmvhPTjjKun6nRjXKaocs1W+u4lmR9lHPHqTZfsWeSbc2A4ytD1ldKz4HQkRxZHXLdXA0loFVxAIOUsD7IGOZ6s4z8VAmBGTqs0nhUP8DFEALJ6XuIHvgYCMnES37wCe/vC/F+/Qy+K/sl/tz9XVob7oX/zfkbJsSA/1l8K+Uq/vlRfdrLGd75bqIjH0fF/cfVSPjZ6DLUEowmR1BgmPI9kkIjbMmU4xAXipcenOHus30+fbJNlhfkWrBzMmB/K6QzzJmb8JkMXbQox2GHacEoy9k6EXBgqopCsKMV4jsWaa44vjrkjnZMJ8oIXUkvKTi82GfHREjNtxkkBb0NsyKlDZ4tcW2J3OixSYQai4ExTyljMTDmopBsBLckuSJXZdMggC3LPILAsbBkeVUUuhbtUboRV6yxZTlxYLTh1mPrhK7FzlZI4FkkueJMe8R01WNlmPDPt6+jtMaSkmfumcC3JZ853eXe+S5rcU6WFziWRVJoClUGyAQCYv3UCIFtrPKP3q/xcX2Qn89/hOIi/soZrWh/4E8BqN7wCtzp3Rdt35+PO8wBviX7Vf7a/Z1Nk6KftN8BcEGCwJvbv9lIOLr3ZurPfPUTPrZYgaNhsmKhdHkib48SAs/m2OqQq2frJInhM6d6fOPTt7EySDm80OcV186xvRXgWpLJiuGTxztgDKFncevxdeq+y7aJgC1NH9exKbTm2MqQZsWlF+VUXBuDoVVxyVXpfug7koVezOrZFCmh5jk0Q4dtzeAReRxjxlwOjMXAmCdEVmhOro82S6W+Y1HzJPKcuY8q0wpXhwmH5vv0k5yJ0GWu6RE4NlVpU+iyPyB0LZqBwyAtOLI8IM4V9y708SzoxQVxrmhWHGwJgeNwaLFP1bcplGZplKMKhe869KKMtABnoxQgrYf+nl/C96ZGxF+6/4Mtos03Wx+lTsQP5z/DhVw9fz6G97yffOU40quct8HQxeK42co3pb/G37i/zZXyLFAKgpvVjdxhDpz3fqrXv4z2+/43w7vfQ+0rvv6ihPoIA4O4wPcEnmPRjwtUUmDbkvlOzK7pkBPrQ25+YJltE6WT5SAtmGsE5IXh9lNtznYiGoGN55TLUzM1l6vmqkxUPIZpwfqw4OjKkNVhwpWzNSLXZr4bc+VsjROrIx5Y6rM2SpmseFy3rcFsvZzuyJXZrAaMGXM5MRYDY54QjiXY2gyofJ50tqzQ9JOca7bVqbg2ca7oxhmrg5SZWukfv2MiQGN4cHnIQjdGacP6IOHAVEg/U0xWfULXYrWf8MDykOVuB41hqVsuPczWXULb5sHVEVFRlorTjWpA/hTYDVoo3ui8kSvk/ObPykbBi3Mi0OmI7of/GoDG878LK/z8Ex1PBitM8F3ZL/FW9/VcJc/wK/n3XZAQAKgcfBGdm/+CfO002eIRvK1XPuHjMkCiQGUG31HYAkJHIC2LdpQznWqUUhxe6PPdz93N+jDjlgdX+Je7Frlhe5V+knPFTBXPEvTiglGuObTQ59ZjbSarHvtnKiR5aT3s2IIznZis0ExVXD59cp2z7ZiXXzvHK+e2oEzZD+CPbYnHXOaMxcCYJ4QQ4gv6BziWYLbm0wgfWhNNcsVyP2FtkJJuuA42QwetNbnSHDrbY3EYI5BcPVtjouLSjXMcR/KSq6e4f3GI50iW+gnrg5RBnLHYS0izAkPZUa5UKQoSc+mnCH7R/ltebN21eftNxdfzt+rijfz1Pv5/0VEPu7Wd2tO/7qLt90JZp8Frsl/kJnkP79Q3XfD20q8SXvFcRoc/xPDeD14UMXCu+qMKSApDaJfCcHfDZXljWcAIw7Z6wZ9+5Dh7JivlOr5j+Oc7lpht+Ny0b5Kja0O6SU7oWmgDO1oh852Iz5zMcB1J3be5ZmuDpNAcWe5zYg0agcOWZsDVc3WCC/DVGDPmqWb8aR3zpCOEeIQQAPAdi12TFULX4q4zXXpxzmdOJZxajxASWqHL8/dOEmWas92YlWHKs/e0sKQkSgtsS9KNc4wynO1ErPQT4lyTq9KZrlDlaJltleNlFpcuj+A7rQ/wg/a7N2+/Wz2T3yu+7aLtP2/P07/tXQC0XvKDCOup/TVep/G4hMA5Kte+hNHhDxHd92FaL/khhH1xG+miAnxjOL4+wrMtOlGB78AgKTi4tWzucyyJ1tAMLWaqNqujjOftmSQ3mk+d6FAow45WwJ6pCnec7jDXCLCl4PDikAeX+9QDmxccmEYKSSN08N0LrwSU/Tals6FnjysJYy4tYzEw5illuubTDF1GWXmqnqjY7JmsoBEsdGI0MBl6DNKcoytDXAvuOTvAsgRaaY6sDInSjIpjEdqClZGiEdj04gJpHqoOWBtz5082zxT38+v2/9m8fa/ezevy1z5uZ8HHonPzX4Au8Pc+g2DfMy/afi8uhh+1/oV16vyDevHnfaS/62lY1RZq2CY+/mnCK5530Y8mV2A0TFUtLCFR2hAVmkMLI164v8UDK0NOtxOetWeCwLNJ84Lj7Ygbd0zwDU8Puet0l3vm+3RGGVfOVqn6NtMVDyljbtjRYP9MjZsOTHNkeUicKc52YuYa/qNMtT4brQ3ro4z1UYrWpR33VNUdi4Exl5yxGBjzlDPX8NFGYwvBA0uK28/0eM6eCb7+xm1snwho91PefXiRD96/SpLlTFZdlJY8sNRjkGuavoXv2pxaGaE05HmBbwuMNgw2rIcvhfHgFD3+l/tHOKIUNsumyQ9lP0PMxbMGjk/cQXz0kyAtWi/5oYu234uJQPOL9t/yw/a/UxhJx9R4v/7c/gdCWlQOvpj+p/6J4b0ffFLEAJRjh2uDjGu3NykKRTvO0WhuObrG9dsa5NqwNkxQxlDxLFYGKcu9mGftmWQidMkKxbP2thAImqHNyfURUa551fVbqAcOq4OMxW5E1Xe4+2yPjx9bYzL0uHZ7nbnHcCJMcsXpdoQty6TOynhZYcxTyHi+ZcyTgtaGrNCkRVn6fCyjy7RQnFofMUgKar6LEPCCK2f4zy/ci2VZ9KOMt336NL/znvuZb8c8a3eTPVMVVgcZpzsRdd9he8NHSEl7mGI5AkdCqiDJHhIClwKJ5o+cNzK7ETyUGYv/nL2OJSYv2nMYreh8sBwlrN34dTiTOy7avi8mU/T4ButjANhC87+cP+JZ4r7Pu03l2pcAEB+7DRX3L8pxPPzUqij7RtICVoYxg1RRKGgPU6ZCh3sWBkwEDmmhOduOuOdMn0bgMlv3+NTxdf7+06exhCB0LA5urXL7qS4PrgxxJDywPODE2pBulDBMFfXA4cBMlYNzdWxLsNxPONOOGKYPfSCHacGx1SGtisve6epYCIx5yhl/AsdcdM52Is60Y/JCk2uNofQbaAQOkxWXmu+gjWGpnzBZ8dgxESKl4MB0lV6Ss9RLWOzGfPL4Go5lsX8qZLLu0xlltIcZi72UtFBUPYtm6NAbZQwTRa7LEcJcX/okwu+x3svzrMObt3+j+G7uNPsv6nMM73w3+dppZFCncdN3XdR9X0xWmeB7s5/n793foC5ifJHzZ+7v8W3Zf+N+s/Mxt3Gnd296DkT3feSiNEUqHtkroilnORbWU0LfRgiwheDQ8pDJwOHBlSF132a64dMMHOa7EcdXBvSTgv0zVXZNhnz4yCr/fnfBjlbIXMNDSsF8J+b+xT61jc933XfwHMlM3eOqraWRUmeUMUwKql4ZtXxqfcSOVkjdHxsNjbk8GIuBMRed0LGYrrlUPQffkWgDcaZYH6Wc6cQ4VorE0Aw9oqzg/qWUtWHG+jAlyRXGQJ4rAscmcAXGEqwNSivYB5YGOLZgpubTiwtOro3QG42CQpRph+2HxRKeS7V7svk79RKuEqf5DvtDvEs9l79RL72o+1fxgO5H3gpA86bXYPnVi7r/i81hs5sfyn6Wv3F/B0/k1EXMn7u/yzekv84qE4+5TeWaryyTDO/94EURA4ZHDnJKysyCTENNaLZPhKyP8s0cjKnAphPl+I7Nwbka3ajAGMO12+q0qh7rw4woVVy7vclMzSUpNK2KRzfK2TtdoebbnO3EHF0eUGhNO8oZJAW2Jaj7NldvrRO6Fgu9mK2NYCwExlxWjIOKxlxSklyVQUKDhDhTrA5TjIGqZzFKCywpOL46KtduFfSSnCgrON2O6Mc5jpRcOVtlmCvag4xcFeQbITHKmNJwJi+vCCWX1mQI4JXyVm7WNzDi4qbVtd//Jww+8y84U7vY8v1/hJBfHA1mL5W38cfOH2CJ8mvmbr2Hb89+5TH7KNSww9k3fy8YzdYf+mOcyccXkfz5sClNqATQDBxcWxLnBVPVgKonqfkOy/2EKFXsaAX4tuDgtiaWEPSTcgkg15qqIzkwW2Oy6uM7ZYrmA0t96r6N51oYDbN1n7m6R6ahF2fl51HD/ukaV26pXfTXNmbMYzEOKhpzyVDakCuN0uUXviUFjiWxPiukRWtDmpfhLFKI0rLYGDqjjPsWEtSGKEgLTSv0WRuldKOM+W5EUWhcS7CtFdJNcwaJwnUESBtLajqjAnvDdlhQLhckT4H/8ONJ8PtCpEtHGdz+bwBMfNUPf9EIAYD36a/g14vv4decvwLgenmCNzhv5rX5T6M/q2XJqk7g77mR5PhnGB2+heYLLr6roqIcNRUCVoY5joSKC0VR4FVDXCkZpWXQ1aGFHNuSnOmkVD0b17HYP1NhkOR0opxjqxGF0biWBCE4vRYhpMGxLLY2fJaHCXfPQ9VzCD2LXlQQZTkPLA04slzl+h0NXNvaNCUKHesxg43GjLkUjMXAmCfM6XZEkiscq/wiK7ShUAbfkdR9B8sSxJmiF+d4tsVE6FDb8Io/tjokLww37GhQD1zWBxlxUXB2fcT9i336UYbAsKMVMl3zKJRmbaSZqzucbcdEmUEZzURo0UsVakMMXAohEJBc1EmBx8IUOev/9gdgNOGVNxHsvuFJfb4ng79SL2e3WOL77fcA8HLrNn7B/B2vLx59sq8cfHEpBu67hcZN33VR7IkfjgRsWZoQQTluiJB04hzHTpjPNZ5Tlg4cS7JzwufkekymLF50RZMtEwEfuG+tNNvyLULXI84VZ9oxCMNU1UMAK8OMlWHGbN1jplZmHkxXbXZMNtlSD+jGGRXPQWtDnCk6o4y00PiORT2waQYurj3u7x5z6RiLgTFPmD1Tj07fi7KC+W7M4cU+o6xguuKypRmgjeEjD66yOkhpBi7P2z9N4EhOrses9FOOrw64+2yPYVbQ8Gx2thqc6cQs9lI6UY5jSQZpQZwplDZM1WzaQ8XaSG82DV6KHoFrxEne4r6e3y6+k7epF3OxbIY/m+7H/4587RQybNB62WuflOe4FPxG8d3sFCt8lXUHAD9i/xtHzHb+Ub3oEY8L9z+btu1SdBbIlo/hzV3cJkxFaUrlyFIIGEBpjevYLHRjJkIfCeyfrjNX93hwdch01aOfFLz9zgWEEdQ8i2Zoc6Y9wncc6qHNddubWFIwEbqMspwoV8xVPRCCKFOcXB+xveEzWfXK5MPZ2qOqAEqX6Yj9OOdIf0AjcJiueWMr4zGXhLEYGHNRaI8yCqU3olozlDbMNgKu29YgzhSn1yM+enQNZQxb6j4vumKaZuhuXvkVap33HlrirrNdZms+V85WOb4WcbYTUfcsJsIquYK1QUJgC4aJxrMEJ1aSS+Ih8HA8Mn7f+d9MiCH/w/lTrhfH+eXi4scHJ2fupf+JfwSg9bL/8pTkD1wsNJKfyH+CfxC/xjXyFLfr/dyirn/U46QXEux7FtEDHyU6fMtFFwNQLiU5QGiXFaRRCkYXNEKPbU2PHZMVEIKdkyErwxRHSvbN2qwOUuY7CYnStGNFmBvcus2OZshM3QMhOTBTRQjBIM6xLcFkxaMTZUxWHDJlOLMekyuNLSXXbG08YinN2pi4aQQOc0qzPswYpsVYDIy5JIzFwJgviDFmI5hFUWiD1gYESCFwZFnKPLo8YJQpXFtS82wMmkPzPVxbsqMVsGsqZOuEj2tLulFBlGvCQtONcw7Ndzm82KfhOzx37yTGCE63R6wMEqqew3Q9ZKWfsDJIAFgfllHJ7ejSZw4AvM7+B66SZzZv/5t+zkV/DpUMWfuX3wejqVz7VVSufP5Ff45LTYTPD2Y/yw/Y/8HvFd9GxmN301cOvpDogY8yuv8jNL/y+xHi4pfLc8qo46oDvRSiHNys4HQ3Ji0MBrj16BovPDBJN1GcWBmyNipwbNg7HeIIydIgw7Ekd8x3yY4btrZ8ulHGROBS9W0mKi7DrKAdZRzc2qDYWBIotCFVmqMrQyZCh5n6o5eaHEsy13hyl6DGjHk4YzEw5nNijOH42og4U9iWwLctLCmwpMAAUZqzOkjpRjm+I5mqeUxWPYwxRGnBzt0hAuhEOVGmmKn7RFnOQi/iw0cGrA5ypuseAkMrLA1fjizHLPdjZmo+P/3SK5hrePztJ06z1IuJcs0oLpu7tC4nBgSXdmLgWeI+ftj6983bf1G8glv1NRf1OYzRrP/b/0QNVrEnttD66v98Uff/VLLE5GP2CjycYO9XINwQNVgjPXsYf8e1F/04LCDSkKTlbQ0UShE4Hr04JVdlI+DpTkToOiQK6oGNa0myAgZFwUzNwxi4Zq5OXih6qeLI8pCqK6n6DrlSBK7D3qnKZj9AWLU3QpEktiyXEJJc4Vpy3Dw45illLAbGfE6EEMzVfTxbYn+Wx/rKICFXhv0zVVoVF2vji22UFnSjnEKX2e2TVZdG6HJ0ZcB77l2kG+Vsa/o8b/8UFa8svY6SnHsX+pxai2hVXW7Y3sQAnznZ5Z75LqfXhwxTjS1NaWJkIKNsBruUAwNVIn7f+WPkxpjcUb2V/158x0V/nu4tf0189FNgOUy96r8ivfCiP8flRos+bWqAQNgu4ZXPY3TP+xkdvuVJEQMPNyKqOZApGGZQSzNyLQhdC9eGM+2E/TM2B2drjIqC67c1aUcpdc8l05rpmktg2xxa7POcPZOErsXpTkySKZQWIMoI7xNrIyYCF9cR9JJiU2A7luR0O2JrI2DfzOXtHTHmS5uxGBjzeflcNqkToctUxXvE1UzFs6l4NjN1f8N3fcSnTqzTT3Kmqh7XbW/gWRZxoai4koVewonVEe1RBghu3NVgkCgypTi+UjYS5rlikGlCWzDKFIOHlQEuVQrhOX7Zfgs75CoAhZG8Ln8tKe5FfY7Bnf9B/5Nln8DU1/4U3pYDF3X/lyNPF0f4Y/cN/FXxMt6kvgGAytUvYnTP+4ke+Bitr/7PT1oyowXEeSksFXC2V9AKJEpCCjQ8i/uW+jwoJa2Ky9HlEa4tma17DJKCQZLxtF0TzFZ9UqXIEs3e6SqBI1nsJviOpB/n3H22S5IXCARbGgF7pkOmah55YUhyxfG1MpK7EThUXHtcJRhzyRmLgTGPi8+VxpYXioVewqGFHp1RzlTVZbbuI4A01/TjgrvOdji+OmJLPeCaLTUcAbef6XHfQoYyhtPtiEFSoIqC9ZHCkhBlUDysQcAVZfDME7UdNsaQLdxPfOJ28vY8RXcZNVgFIRGOh9Pajr/jWl601+Xbt93MuamBNxbfyN1m3xN89kcyPHQz7fe8CYD6c7+dysEXX9T9X468SN7F/9/5fTxR8HPO23jA7OD9+hn4u65Hhk101CU5eceTls74WIKyHWtybQhsw9oopxnaWELQi3N8W4CQtEcZzdBBaYdPHV3HtiUHtzQ4MFPBFYI1ZVBKcXQ54UwvZq7mceVsja0TIcOkIMk1W+oBU1WXXlyU+R3Acj8hyTU7JsJHxX6PGfNkMnYgHHNROLU+Yr4T046yMtDFs9g1EeK5Fp1Rxu2n2txxtssoUWxp+GyfCJEYVgcJhxb6uLbFQjdidVBOIoSuRVooMmXQWhFlZUn33NKA4IlVBowxRPd/hN6tbyNfPXle28xWBC/fb/PCp+3i9XO/ixIX58vaGMPgtnfRufnPwWiqN34drZf+6EWfsb8cqTPkne6vsEcuAzAwAd+Q/TrHzDba7/tjBrf/K5VrvpKpV/7MJTsmAdRdqLgWlcDDswTKGIaZplAa15YcmKnwrN2TuLbF4cUeviNJckOcFUzWfVa6ESCYqftcOVdjS8MHIdAaolzRi3ICR5IpgxAwWfWYqnhUPAshymWK0LXwHQvPll8Wn4UxTw7ne/4ei4ExT5jFXszx1SHTNZ9tTZ+KV54ks0Iz342460wXWwpmGz5zdZ87z3S55f4VlnoxS/2ErNAUxhA4NrN1j7V+QlRo0rQgVYq02KgCmMeeHrjQ/IGit8z6u99IcurOcnvHJ9j3TLwtB7DqM9jNOTAGk8WkSw+y/8y7OHx6nehhSxR2azu1G76GyrUvwQoev7WsKTLW3/MmRvd+AIDq015O6+U/9qR00F+u7BdneYf7/1IV5bTIg3ob35D9OutnT7L81p9DuAHbf/xvkM6T213vUgpMRSk6AwcCx6LQhlbocvXWOjNVj/VRwfIgIko1z9nXolCG3VNVfMfCsQWHF/qsDzOesbvJ9dsm8F0Le6PxVoqyFyfLNac6Ixq+w0TooozBsSTTNY+s0MS5Is01SaHYO1UdGxCNedyMxcCYS0acle6D55oMtTbMd2PWRykr/YSdEyGWJTi1FnHn2S69KGOxn9AZZfSiDEQZPexagsIIjC73sTwaESeln/vDqwAPP/l7lEsF51MlMEYzvPM/6HzoLzFZjLA96s/+ZmrPeNXnPKHXGfH37m+yT5/k1rOKn7lrD3ccOobJyxOXcDwq13411Wtfgrvligu6giv6a6y+4/Vki0dASCZe8oPUnvH1X5ZXgS+Vt/Gn7v/cvP2v6tn8WPYTzP/xD6H6K0y9+heoXHXTk3oMHmDZZcyxovyc1VwwBoSUzNR8tk/43LB9gn6ac9vJDoUxTFZcrtveZLrqcbodUWjDC/ZPMdcMCF2Lmbr/iFAiYwzHVofU/cceKxwz5mIyFgNjnjKSXHH7qTZxpljqlxnvgWMhRZkatz5MOLY6pOI5ZLlmsR+z0IuxhWTbhE9nmHFkeUikHvL1M5R9AkKAJaEowLJAac7LdMionNV3/A7x0U8C4G0/yOTX/BROa9sX3NYl56fst3OdOMH35j+PShNGhz/E4M53k6+c2HycM7mT6vVfTXjVTdj1mc+5v6K3wvCe99G/7V2YdIT0a0y9+ue/KK2GLyY/Z/89P2a/a/P2b+Sv4fc+sEr/k/9IcMVzmfnGX7pkx+JKEAaMKJcLQk+gdXl179mSim8zVw9AQHuQEboSZaDQsHuyQj10mKo4zDQColQRuBZTNZeq6xDnBRLBtdsbhK6NAPpJzjAtQ7e2NPyx0dCYi8ZYDIx5wjzcbCgtNFmhyZVGa4OUAluW1YBzLmppXhBlml6SM0oKmhWHQkGr4uBakpVBwseOrnFqfUQ/KhhlBcO0oOpKfNtieRBzYj0m2+gKFKJ0inMdaFQ8HClQ2tDPCnojheH8RguNVqz9y+8R3f8RhO3SfNH3UXvGKy+4FC/RjwjXMcaQnLid0aGbiY58HFNkm/c5kzvwdlyDM7kT4XgUvRWK9jx5Z5585STnahvulgNMff3P4zTnLuhYvhSRaP7K+R1eYN0LlBMbr5z/ft7z538AlsOOn3gL0nu09fXF5FzVSQBTFYvuSOG70Kq41H2X9WFKqjS7J2vsm63QGWWcaY/ojDIavkPFd3jazibbGgEaODBTpeY5CFm6dIaOxVI/perb2FKCKKtgzdBhz1QV15JUfRspyowPbQzGMPYhGPO4GYuBMY+bcq0/JsrKSOFBkpMVmqwwFKpc38+VIc0KkkIxyjTphvtg1bepBw7NwKHi2VgCVvoJ3bggyhRpVnC8PWIQ5Sz3EzJVrou2RxnDRKH1Qw2CrUBQDz3iVDFIC6QlMUYxSsv7z2eSwBhD+71vZnjnu0HazHzzrxDsfcZFf890MmR0/0cYHbqZdP7+jQScz42/63qq17+c8KqbvqhSCJ9sWvT5F++X2CbWAVjRNXa/GeL1eSa/9qepXvfVT/oxWDy07NRwoR56nBNvjmVRGE2cKjxb4loQZeX0ge9YXDFbZ7rmU/MtpqsB+2dCpmo+V8zWyLXm5NqIXBsmAocHVwZkRbnMUPFtWqGH0qXozpRGSoFAIESZ/zGuFox5PIzFwJjHjdaGfpITujauXUa6CgFrwxSlwbUljlVGtmoMFbf0F9DGEGWqvHoqFFmhWR1mtIcJ7ShnfZRRca3NZLfeKOOB1T5r/YxhqlC6IC3K86gQIKXAdyVprnGsMvI4ycwFZRF0bvkr+p/4B0Aw9fU/R+XqF37BbfaKBXwyDpvdj+v9U8mQ5NRdZMvHyNfPgCqwalM4rW3YE1txZ/Zg16cf176/HHiaOMrb3F/HE6Xc+9Fb6vzJh87i776R2W//jUt6LIH9UGOhY0u2NT0MgtVBRpwVGGCi4rJvqoqUgqfvbLJ9qoLvSlZ7GafXI1Kl8SyLrc2y/H/N1jr9pKAeOOxuhViWJM0Vp9sR/aTAsQUV12a27jNd9cYVgTFPiLEYGPOkUyj9KGdCrQ3tUcaJ9SHHV0cb4UUZtpQ0Apu1Yc4DywNOrg1Z6qUkuSJXGoEhL8B1Hvrisy0ocoMG8qJ0HbwQep98O90P/SUArZf/OLUbXvEFt7EpeLv7q1wtTvGG4lv4E/VKFOMrskvNd1of4LedP2fVNPje5e/i3X/y30FItv/YX2FVJi7ZcTg81JuiTfn3wLGwJGSFIc009aB0EjRC0gpdJqsetcBhInAJPAtLCJqhi7UhcC0JNc9l60TZTzBIc7pR6clxYLbK7skq2mgGiXpEPkFWaAwGW8pHBByNGfP5ON/z99h06MuMJFf0k7wsx5tyTVKKcv1fyvJLzbPlec02P1wIFEozTAuOr43oRhlxphgkGVGm2dr0kQgOL/RIC8NczUdoRZ4rChyansV6lJaz1275kfRti2GmiEyOVuaRtdvzYHDXezaFQPNF33deQgDgx+138DR5HID/6vxf7jD7L3r2wJgvzN+pl1Al5p3q+aw0J3C3vINs8QFG93+U+jNedcmOIweUeigHo1DgepqJisfaKMWWklwbcqXwHejFGc3ApuL47GoFbGmGaDS9qIz03j4RbCwj2GyfCIgzRTeyuXFnE0s8VCFIC0WuDPPdCEtIhDDYlkRQVsgcSxJuVNkCdyxWxzxxxmLgywxjoFAPCQAhJMYYlDFkuaYf56SFRmmD70jCjSWAmvdIi1SzsSQwTAsGSZkiWPFspiouWxo+ca6YqrqcbsfMd2MOne0RZTlRZujHGVGa49mCVtWnn2qW+zlgyHWBFIK4MORZTpyXq7VfuH71EMmpux9y8nv2N9N4zrec13bXi2P8uPWOzdt/X7z4i1IIPFZmw4V6MTz1CP5UvXLzVuXgC8kWHyA6fMslFQNQvpeeVVYGbAG92NBNEiZDm4maR5xp0jzHti2U0SwPMhb7KbeeaNMIHHZMeOydrpHlOWc6MNfw2TlZwZaCRGhu3NXEs8sTeqE0q8OU1b7CtQS2lBTaoDR4tmS27lP1bOJcMUovtSH3mC9lxmLgy4zAtQjc4As+TmnDYjfm1PqIQVqQZArXLqcHXCkxQNW3map6TNe8R4mFQmnqvlOu+zuS7Q2PE6sjjq4McKSmEVgIKfEtWBnkXDVXZa7uM8rLHPeVfkQ7u3CXQTXqsvYvv7sR/fsSmi/6vvPaziPjD5w3Y4vyNHpGT/ObxX+6wGe/PHi4EDgnAr64hMCjCa96AZ0P/jnpwv043ZPkzd2X9PmTjeqA3LDBDh1IioL1kdkUqkWqyI1GKZiputR9m15ScHQl4mw7Ybbh8YxdIWmuuPdMh5lGwIGZKpYQGGNKETBIqfsOV8zVHtEwqLVhmBU4ltxwKLQJ3fHX95iLx/jTNOYxkQJqvsPWZlAuLcQ5Sa7JlCJRmlboUPXsjaqAZuBZ1AOHvNCsDFIWewm9KMNzBCdXRnzixBrtqEDrskvaswW6KFjpKRwpEVJwppvgWJDnBcZIAgeGF5BPbIxm7V9/HzXq4EzupPWy/3LeBj4/b/89++QiANoIfib/UYZcXmmBn+vq/twKiiPAs8v37NzPvthFwDnsaovazqsZnDrEC478Pjc/6w8xXDpXPgM4EuINpZUp8C2J0YJGYJFrSAuDh8D3LTINrmuzp+YziHOWhhnNwGHnhE8/LugmBfFGD4DW0Itz9s9U2TddfZQIyFQ5XaC1IdFl5LFtSVxLjp0Jx1w0xmJgzCZJXpb9R2k5/2/Jsqt5puaXM9AbXzxpocqr90GCvXFVs9xLuOdsl/sW+6wMUlxLUijF2U5MlGm2ND2umqsCgopnoTSc6UQ8kA8YZYpjK8PSllgbLCEotLmgpQGA/if+keTkHQjbY+rVP3/e9rXPlYf4Afs/Nm//qfpaPmWuvrAnvwR89ttxbjngXPXElqVbo7vxWEeUf+amfJy98fhLGft8sdguVvnp6xf5/52CTx86xWuf+y7evJFweKnINNRcQa4MSsEg1ni2RmM4uKVephquDumOCiZDQzvKcS3JVN1jbsOm+733LVNxXeZqLkt9zd1newSOxYGZKv24VL62JSiUQW0IAWujl0dQinQQFFqT5OV9uybDcZVgzBNm/An6MmeQ5HRGpfuZEFD1bGq+w1zD31zH/Gw822JrMyArFPPdmM4oRwpYGcRMVz0mQofT7ZhRZji4tUHTt6mFHqBJcoPSmgdXBpxcG1FxbZqhy0ovQrkWtoR+UtCLDBdQFCA5e5juR94CQOul/xl3etd5bVcl4nedP9m8fb/ewf8svvUCnvnSYlE6MGoD6mHqwAEsAWhw3fK+ZCOatxkIKp5DYEvme0lpgSBKtzyzYfV8uQuEeTPJniuvxv33j3HviuZl63/P3a19fFRfd8mOQVFeqT9rV5NT6yPacU7Ft5msuAwzxUzD4pm7JrnjbIdBnNOwodCK46sJExUPx5Jsa4a4tmB1lBB1DI3QoVCK5X5MnBfMNny0ZiOoqxypDVybwLEYpWVVQErBgZkq+6b9jceMqwNjnjhjMfBljhDllfpM3btgU5MdEyFrw4zJKgyTsprQCn22TwQ0Ao+VQcJyL2VgKWRWGheluSbK8lIIeA4ITZRqHNfB0YruqKAf6wsSAjoZsvaujT6Bgy+mct1Lz3vbX7T/lu1iDYDcWPxM/lpS3At6Hy4Wj9X4B2XTmmeVIkCZ8upQKbAswWTVJUpyViONUFD1BdpAnhvYqAwMEkOUZlR9yUToMErLxkzPAmELssKQXOZqwCD5FesnePH+O3nvAyPedijjj17yRl6Zvp4Fpi7ZcVgSTrRjksJgWzZzVZ9tkyFxWnDoTActKLv/EawNUk63YywBo1Rzaj0isC18R+LZFlNVB3DIlOH42ohdrZBtEwGxUqwPFdtbIVrr0qo4yXEsC88pkw/7Sc6WZjA2Ihpz0Rj7DIy5IHKlS7fAtCDOFJ4tqPpl/4AtBbef6rA6LAOKHEtiDMx3I+Y7MavDjEGS0R5leFKyvRVQKIPBMMo07WHKIC1I1fmvdRtjWPuX3yW678PYzTm2fN8fIb3zW+u/Sd7DW9zf3rz9B/k384fqmx/Hu/LkUrM3wpg0SAkVz0IimK15ALRjhSM1y70MaUEzcJit++yZqnBqPeL42pBBrCko1X9BWUnYcMPF2lheKPRDMdFPNCL6yWLi/n/iznf+BbubguM/WeUus49vy/4bGRcnTvp8EIAnIPCg4jukBVhSYLRBSqgHLk3fpuLazPdjelFB6Fnsn66QF+UUjrQEri2peTYToctE1cVog9KCidDGcy0E4Dvl5EDNtYkLRZQpqq5FPXBxbIExYEvB1omA7RPhhgfC2INgzEOMfQbGXBRypdHmkUYnShumqh4V19r0GoiygrVhRqYMhTbsmqyybzokyTW3HCmI0oK1QcYgKWhVXKaqXnnFlGUsD9IyGc4YXAsuZGJqdPhDRPd9GIRk6pU/e95CAOCUmeET+mqeI+/jkN7Fm9SrL+i9eTIRgCcBCXNNnyhTKGOIc8101UVKC9sSrPRTQJMUEHqSildOaSAEWmtyY6j5LjYFiSpVludINOAIgZSGXlK+4Y4s18Uv5yLB+r6vxXH/hpPdnE+cVTx3x3H+X/uv+eXiBy/pcSQGsqS8QrcsQEMjsKkHLq6UrA5TulaOLSVXzFSxLIljSXZNhlw5V2W5nzKIc2brARXfYZhkDBLFIElZi1Kunq2zb7bCtmZIxbU4tR5tRiFXXBvXEjgbPTzneguWejFJrtnWDJioPDXVrTFfvIzFwJjPS3uUsT7M0Kb0HWiGbjkCmBXcM98jyRVJrql4pd3qnqkKz9g5wQPLff7l7kWWujHD9CEfgldcN4dnW8RZwX0Lfc6sj8h1ud5d6LJL26G8ev1CJ6W8u0T7vW8GoPH878TbdtUFvbYzZpbvzH6J/2S9n9v0lRSX0a+DvbEkUHMkC70U35YYAYEtObWeUPFgqhbSCN0NL/vy6rGT5IS2YL4TcWxlSKtiM1vzqU6F9KKc5VFG3ZPUA480LViLM6quYJAWaAV1F6KMC1qmuZRIx8c9cBP5oZv5u3sLnrvD5j/ZH+AOfYC36y9sNX0xOFe12tAACAOBC0le0BkZAtcuhVWhqVckoWcRpQVn2ilRrlkbZeybqrBjskInylkZJGhjmKkF7J6usL0RcN/iAFdKhNF88kSPrQ2/DEJyLYxgwzSsrAq4jkXNF9iWwBIC+bAJmrIpt/xN8uxx1WDM52a8TDDmvNDaMEgLlnsJK8MERwosKXFsicSwPspYH+ZlkqGE+5b6JJni+NqQUaoJXMlk6JEVBcPcsNiNWOglWMIQOJJ+XBDl539VarRi+W9/gXT+PrxtB5n9rt/+ogv8eawegZpTCqNBVp50qjZoAZ4l8D2XauDQGSZoDZ4j2NYImGmGzNY8bj/VZaETkWtN3bUoDMS5InQtKoFD1bVpRylZYXAkTFU9kqxgPVZkeU431hgDVVeQa0NaXJ5LBfGx21j5x1+lVbFZfl1QmvcYh2/Kfu1x50k8XhzKf0PXBk8KjJQorXEtQejZNDyn7COQUPEckrSg5juEns1z9k6ydSIgtC2qgcNU1UEKyZHlcsLmxNqQ9jDnefsm2TFZ2VwCsGR5wjcYio1KXKHKRNF0I1k0yTUYmKy5mw2G25oBFe/yEbxjLg3jZYIxF41Cabpx6Z8+SHPiVLGc5tQ9h52TFXKlsC2LLQ3JUj8hTjUHZmqcbo/YM1Xl+OqQtNCMsoJCa7rDhG6UUnMEwpKsD3Pi84kgfBi9W99GOn8fwg2ZetXPfNEJAXhICAhKYSApqyPCgkZgMYwVo6IMy3Ech5maR+BKJB5b6y5nuxmLgxTftuhGGcZobEeQZQJhQWg7tGo+AkPFsZluuFw5W+XI8pDVYcLZTkzoOczVXOLCwpYJK0NNPzNUnPIElxaPPNbLAX/3DcigTnvU553HHb55f4Evcv7Y+QO+JvsdRnxhU62LRU45wunYAktI6qEDxrDcSxmlGWmgma17NAMHW1pgSuG8OkhYG6bYlqS60TdgMGSFJnBsZuoenmtxcEsNIQVJrvAdi5pvb5p5nWOQ5KwPyyW4pV7MzlaF2bqN71jM1s9vvHbMmLEYGPOYGFNWAjqj8kum5ttMVz12tUIypbGlYGWQEmUF01WPtNDMd2KyQrM2TLlvccD2CR8DXL21SpLBRx9cZqmfobXGs2CkIM7Lq88LsctN5++n97G/A6D1stdiN2bP+3X9oPXv3Kn38Rlz5YW+JRcFh4dK8Of6ApQuA3AEZd6D50iSogABszWXZuCSqmLDg16wayJgaZAxWXHYYnvMdxMEhqrv8IJ9Uyz0E+5f7LOzarNnqkIzcMiU5r6lARW37FKv+hYPLA1YG8SMEokClJbUPU2UlmXowJXYUhNdaELUk4ywbMKrbmJ4x7/zX+/ewzfuO4pC8hfqaxhx6U9+uQGRGIKKYhgb4sJsjCHCKClYUJqznXijYlBafAspKeIC19r45AuYq/oIBDP1cukHBL5rUyjDcjdBAkqX8eL7N5wL57sxca6wNyoGX7GnxXTVO2+zrTFjzjEWA2MewblpgfYow964+qi6FlmhOduJKLRG6VIsjLKC+xYHLPdiArcsYSpdBqrsmaxw90KXQVRQ9SWrgzKm2GhdJr6p8qpTUI7O5eepBHQasfavvw9GEx58EdVrvvK8X9s14gS/aL8VSxj+tngJv1W85pJeRULZwe8Bri1Ic0Ouy8a90LWYqjhkulwSWB0aGg2LqmszVfdwhItj2+TKYNuSwLUJPYkjoObbpMpQ82yOrkaEnsVcM2SUFYzSvOzRKBR7JyusRxknVob0sgLftskKTZQpXNsuKwS5TUFGkZcl58C2qNZgECuijX+vc1WCp9LdsHL1Cxne8e+ceOA+fin5Po7Ip07gQZmouTICs/Hu1GwwjiDThsIYAlsiXQeMwLYttjQ8PFvSDBySQlMoOLzUZ6rqgTD4tk3VtRmlBVNVlzhXfOpkm2u21tnRCokzxXI/xXMEnlWGJV0xWxuHFo153IzFwJhHkOWaXpQRbnypLPdT0kJtphk6lqQ7SrjjTIejKxG2VU4SSAS7pypUfYvOKOdMe4RQmtmaQztKSHKFNmXgUJQDuowodmwo8o0ApfM4vs4H/4yiu4hVn2bypa8979cl0fy282dYojyFPUceprjE0cQSCF2JLQzdpDTTtTcqAp4t8R2HwTBhmJTTGs/a3eKGHQ0+fKwNxrDQjcr+C0dwYLZOxbNIlWL/bI35bszx1RE7WhVC12Ku7jLKDFmhUBtujldtrzNX8znTiTi80GWhmzHTcDm5FpXr26FLU0CaF7QLTV6UjXGuJZmpWQxSRarK2N50Qwk8VQFI3vaDWLVp1GCVPz/SJLzyqRMC53j4+zAsoOIYAlsAAo1ga8On6bskecHBLXUcy6IT5XiO5kwnZVerwnTVpZPkXLmlzo4NH4GZuo8lBQ3f4Uw34r7FPoNEcd22OllRRirvmgwesXQwZsyFMhYDYwDoRTmrw4Qk13i2xLYkoWMxXfNwLUlaaI4uD/jg/cu0hxl7pkK+8zktaq7Dmc6IM+sJoyzHsSRnOjFxZvAcyf3LA9rDAtsqbVYdW2IZgyUldV8SpwWd1JyXEIiO3Mrw7vcCgqmvex3Sr5736/te6z1cL09s3v6l4gcvubnQbM0hSnKGmk1XfaMh8CVVz+Jsd4RnWcw2PFxpkRu4c76PZwuunqtjWWUMdOD61AOHpV5MxbM5sRbRT3Ketr1JrgxRptnVCtEY5tsjkrxgsubx6RMdtNbM1Dw8x6HmalxHMLsvpDNMWO5lNEKHZsVDG0mmcvqxIi80oWuxo+lzuptQqVh0E0VcPHXVASEklatfQP9T/8TovlsIr3zeox7jkT0lBlLnvBySHDynVMDGaE6vDlh2HGxLcrwd4VgSf8Pl8/ptdfbPVFkdZszWfb5iVxPXtogzRXuUEbiSQmkKZVjppQSexbGVITsnQyYrLu0ow2wYUp1rMnRt+TldRMeM+WzGYmAMUM6ez9Z9QtfGkoKs0AzTgpV+yvHVIfPdmCRX7G6FPGffJGmm6Y5y1gc5oWszXXPpr+bce7ZHlBR4jmR1kKAN7Gz5JIWiF2cUWqOBLFe04/PvVS+Gbdb/440A1J/9Tfg7z9+GdrtY4Wftt23efrt6wSWPJm4Fgl6UU5hyll9SjqZVfcFUzafhlU5012ytc3I9pupL8kKxbaLKVbM1hmlBxXW4dkuDZsXl3sU+aaaoeRbNistLr54lU4YTayNaFRukIM8VnUSx0InZpwzXb2uwPEhojzLiTFGrWLQHOWSK5UFGWmiW+zG+Y2HZgtlKyJRWrEc5qYKFQYplWRgUB6YqnOjEDNKnrrWwcvDF9D/1T0RHP4VOo02PCYeCX7TfyjPkEb41+2+XXBDYFvgS8qKsgvmAkjDSwIYvgaRsPEw8m6pns9BPWBlkZQOhJzmyNGB7K2Cm5uPa1ka1x6OXFOycChnEisJoVgYZBkEjKJsKtS4zDZQx1HybmdpYDIw5P8ZiYAwAvmNtWpsWSnNkeUA/zljsJYSuzfMPTFFzbQywNkyZrZUd0OeSCz9zcp2z3TWOrgzxHIvVkUIAM3WPQaJYH6WkOThWeRIcXsD0gNGK9X/7A3Tcx5nZS/OmC4kWNvyO/adURApA21T5rfw1F7D9EyeUZaKdFGUlwBZlp75EELgOjcAmShVfedUMgWMxTDU7WyGhZxPYFq4juftEl9VhwhUzVdZGOXtaAWmuOL42YvtEyEw9oO47TFU9CqXpJwoCm8C1uWKmwu1nenzs6BpP295EVgSRoxASpmqSPVOVcuQzUdyz0AOg7tt04oKqZ2OMIHAlwzhHIxmkhnaSc9VshdVByulO9pRMGzgze7Bb2ynaZ4kevJXqtV+FR8Zb3dfzFfIIAL9q/xX/T/HDl+yYfAAFnmcRehJbGgaxQlgC1xi0MiAljlXaCpdX+5o4zZEIpms+nu2QFDm9KKfpu1w5V8WxLE6uj9C6tP6+Yra2mQ9iKEdIZ2s+9cAeNw+OeVyMxcCXOcaYR315jDKFZ0tCz+a5+6aYq/uPWI9shi6Z0qS54v6lPv961wK3nWyjjWFXK2RtlKJ02Zi2PkwBQ9WxEZQxrGmhz2tZ4Bzdj7ylTCN0PKZe9bMI+/ytZ7/d+hA3WYc2b/9q/n20ucReGbIMgBqlxYZRDFRdm0ZgkeZlx3ng2ExWPNajnFffsI2KbxOlBXumK/z7PYvcNz9gomKzpRlQ8x2SXBFlGtuSxLnmk8fXmKr63HRgmsmqy6n1EffO9wlti2bo0Qo97lns8ckTbQyGAzM1JJIr5kJ8x+Y5e+Y41YnY1gpoDzNWhhmVQcJCJ0EZw8ogR6BpBhJlBJkqLaQdIWkGkm6sL7kgEEJQOfgieh99K6NDH6J67VeR4nJY79oUA99p38zt5gD/oF58SY4pOfdnpBCUJ2oJyNzg2OBaUA9sGoHNRGjTiQ2uLVgfZAhgtg71ULK3WqPqe2S5IkoLenHGKC2QgLdhUTxKCyYqLrN1n96GedFSH6Zr5SjjuIdgzIUwFgNfxiS54sHl4UZEahkbHOel9/lM3Wd/UH2EUEhyxf2L/TJb3Rjao5zD8z3Whgk37GwigNvPdFkfZsS5ouJKXMumE2X04ry8ErrAY4we+Dj9T/wDAJOv+EncqZ3nve0c6/yS/ZbN2+9Vz+Bd+rkXeARPDAnsaIWsDWKSvDwZVFyLRmCRKcnu6QDfkaSF4qNH1zm4pYYlYaEX0wpcDi10ObU+IleKqh9y9+kuw1zhWRb7Zyp88zP2cd/SgNNrQ1aHKe89vESr4hKlOetRQSt0oCg43U1QGrY2A5qBTW5g64TPFbN1hknO8bUh892E3ZNVnrM3QAp4yydOobVhbZAgDMS5oR0rLFGOuC33EySGONOb8cmXuoegcvDF9D76VpKTd1L0V7Hr0/xm8Z+4Tp7gRnkUgN+0/5LDeheHzJ5LfHTlUoAly393x7EI3dKHoJ9q2qOEyapL3fPIC4OgXEIqNCwPctZGisCRrJxKSFLNbNOnETgc3FpnezNgquZvxoo3QodG6NBPctYGKUu9hG0TAY3g0mU2jPniZiwGvozxHYsrZ8umpcV+jFIGxyp965V+9Ne6Z0taVZcz7YjVQYo2cP32OvcvSRa6EWc7MRaC6ZpLrgxxpkhShda6dNsTIE25TGD4wsIgXzvD2r//AQC1Z34DlYMvuoBXZ3i98+fURQxAz4T8cv4DlP3vlwZPwu7JgEGckRYGW5YnBmkJeomiVXEIXZv1YUKz4lPz4J75Hvcv9RGivKYcpoqJ0GbvdIXQKW/ftK+FERJbiPL+wOGoMuyYCCiUZqWfUGjNdVtqxMowjAtedMUUVdfmjjNdpqsuUzUPz7GY78S0hykPrg65bluDxV7C6jBFa4NnS7ZNBDR9m7VRhiUFK/3S/VCpjF6qsGTZGCpMOR1xroXgsUTB50plfCI4E1vwdlxLeuZeRvd+kMbzvp0Mh9dmP8W/er/ElOjjiZw/dt7AK7Pfosf5N50+UQxQbHzeMeBLiW8LWhWPYVJQ2BLHtvBswd6pChMVh9UN+2/fluybrTBdDehEGZWWxUw9YPdkiG1L2lFOlCuqnoNjC2wpNkd+JzYqd4LSOXRcIRhzPozFwJc4K4OENC8tSg0bbndCIASMsoK8KL88rpqrU92wKh0kOafWI46sDJgMPSxL0IsylnopC92IpND4tkQIeHApA2EIPZtn7p7EGMXtpzporejFOZnS1D0XJ4RRljNMDefTN6jTiJV//i1MFuPtvI6JF3//Bb3ur5cf5yXWnZu3f6P4blaYuKB9PBEcSiOh1UGKEQJlQEi4YrbKbD0gU5qK57Kr5dMMXZJMUQvK8b2ab1NowGiqvk0rdNk+EVBocK2cTlxwYKaKMnB0ZUC+aVBjkRYSI3K21EPi3BC4Fnu3V6j6DtrA8/ZN8smTbRzbYrvvlDPrueLAdA2tDTNVh1PtmE6UEXgWUgocS7Ie5bSjHMexaQ9TjJBsazobSx8GbQzGEXhKMSjbMx4lCJ4MMQBQve6lpGfuZXjv+6k/99sQQrDEJD+R/wRvcV6PJQw75Cp/6LyJ789/DrM5y/HkY4kNHw0N3TinUIZuXODK0h8CbTi2Wk4F7J2pUPddhlkZ7LVnsko9cAGDlBLbEiwPEgQCKQW+LTm6OqRQBluWTYQVz6biWiAEnSijGbjMNcYuhGO+MONsgi9xVgYJUpRjRsYYBknB2iClnxT4toVrC2qBw0To0gwcDHDfYh/XliS5Yr4bY0tBmimGqaLiWzR8h16cszpM8WzJUj9mlCpOro9Ico1Win6cE6WKUV4QJYpEnb/PvTGa1X9+PfGDn8CqTbHle9+AVWle0Otu0efXnP/Dq6xPcIu6nu/Nf55LVRUQgCtLg6GpqkM3yik0PH1Xk+ftmybKCpb7Gc3Aoj0qqPoWUzWPU2sxaVawpeVTaMPOiZCT6yOUhitnq/iOTbPicMuRVeZqAVdtrbE+LLMGnrW7xcowperZ7GiFnG1HHFke4FoSKQXFhm/97qkKNc/m0EKPQarwbcmOVkDFc7j9dLf01HctlgcpW+sevls6FS724rL/w0j2TIckueJ0O8IRcLId0d6w1o2zR5sTPdnoLOHsm74bk8XMftfv4O+4dvO+11rv4uedv9+8/Ybim3hD8S2X6MjKqoAloerA7ESAb9s4tiTJ9YZHQ9lUaG0YB+2dCrluaxNLShZ6MWvDlB2tkOfvn6LQhvVhyiAp2NEKaVXK3AFt2PCSeOirvBG61H2bmu9sLiWM+fLkfM/fYzHwZcQwLVjsxkxWH2owUtowSPJy3CxXtCqlKMgKwwPLfdJc04kyCqWoBWXm+nwvYrGXYiNY7MWUE1MFcaZYH8bMd1OUMeTKkG+E3VzIVWH3I2+l9/G/A8tm7jX/A2/LFY/7Nb9cfpp79B4WmHrc+7hQzlUFXFvgWBaFUmydCPm+5+7h3oUei90YaQmevrPJA0sjhIQbtjfpJzmtisvtpzuMEkXoWeyYCIgyRTP0uGquSqFhpuay2E2YbQQbro+a0LU53YnY2QrxbItCaSarLr24YG0Qc3hxyGIvoj3KObilxs5WyKm1EZ0oZ7Lqc3BrjYnQ4dBCj0OLfU6tj9Ba0AwdnrVnAqUMy8O0dCLMCp6+s8mhxT7CGBqBzT/fMU97lFIUZWm8uMRRyGv//oeM7nkflWu/mqmv++mH3WP4E+cPeLl1GwDaCH4g/1k+pG+8hEf3EJOhxVTFox46ZcphlGMhyXTZdyGFYLLismuywlTNpRcr9s/U2DoR4NsWO1oB2yfCRwQOGVM25UaZYpDkOJYgcGz6Sc4gKfAdSc13qPvO2KHwy5CxGBhzwSS5Ym2Y0otzar6NY0kKrVnpp8y3I+5bHJAWZWDKZNUlLTRV1yYrFHee7XJidUQnTpEIcqXRRmBJUyYSnmfnYP+2d9L5wJ8C0HrFT1J72suexFd88bGAsKzsEtiSzJTl4CvmGrgSjq/HhI7F8w+0wEgCV6KNYH2QsLZhOIM0bJsIcKVFmisCVzJR8dk9FdKNc6YqHt0o444zHYQRXLmlxsogoRE4dEY5129vMFv3yXXZt/Hp4+tlhccSzDR8FroJq4OUqdClFpS+ElGmcKTkTDeiUJrn75/i/sU+y/2UVsVlz3SVidAhSjV3z3dwZGkgdf9in2bosrXu8m/3LrM+TFHKkCqDI8r8iUtBcvYwy2/9rwjHZ/uP/fWm5wBAjYh3ur/MXrkEQNdUeGX2es6a6UtybIKykTB7mGujK8GzwLItPEfiAI5jI0UppgRQ8Wyu21rj+h0TTFVdssJQcW22TQZYQrJ1w6Hw86G1YZgVDJKCfpxjSUEzcKgHzhfcdsyXBuPUwjEXjO9YbJ8Ima4pVvopZ9sRthQYAwfmaji2ZH2U4liSlX5K4Eo+dXKdM+3yBJIVmonAQxuoBRZ5rrl/eUBcsGn8+7nODcYYeh/7280AosZNr/miEwIAoSvIlcEAqjjn5mjR9C1OtmN2ND1eef02aoFLlOWcasccmKnQHpWNe9dub2xcjU8yV/d53+FllDH04oz3HBrw/H1TSAm1wKYVuHTjjLvPdmmELnFWjnQeXxsRZYpcG9YGKb0057odTeZqLiuDnDjVVByLVGmkkGht2FL3yJThar+GJQVHV0bsmAzxHAvXlszWPO482yUvNL4lOLw05CuvmmaUVFgfJfRSzdVzdRSaO093MUmOJS0spS5JDLK37Wrs1jaK9jzRAx+lev1Dn50BIa/Nf5p3uP8vgcj4oL6RNXPpLmoMpRA4Z91sKBstUw0TUrFvssL2yQrDRBPnisCWLPQilC7TQu9bGLA6LA28rpirsjgIuWq2trlcVyiNlIKKV2ZNFMpsiHGD3nAllELQCEqBnxaaY6tDpqreONVwzCbjysCXIcVGM6EUAil4xPhgvmF5mmvNg0t92lFOXmgKbRCiXGoYJTm1wGV9kPCRB1ZY6KdkRUHVd7Gtcr/dUc76KAMNVQ+6yeeeHlDJkPb7/jfR4VsAaDzvO2jc9JoLNk95qbwNjeAD+ulcyqmBcwQSXEdiibJEPllxEEKyd7pC3Xe4f6nPDTtb5NrgWRZCGCZCBxCcXI941fVznO2USZDPPzBFlJQ9F8/a1eT+5SEn1kbUPAdLwnwvxhKlUGuPMjKl8Z0yEa89zNjRChEClvvluGAzLJMLfVuyvRXiO9amGBlGGQ+ujjixPkJi2NYM2TYRMFsLcG3B++9bZsdEhcAVzHcTpqoed57p0IsKnr9/kmOrQ4QBRFkFmu/GLHUjcmOQxtBJL83737v1bXQ//Nd42w8y95r/8aj7v15+nLoY8Rb11TwVn4+HY1P2lASOhS0h9GwmKy6F1vRihTaGA7NVclVOdVwxV+VZeya5cccEvaTg3rNdokzRCB1826Li2UxUXFxL4toSW4qN32+BwVBog9ZmsyJgjNkMFRvzpc14mWDM52S+G9MZlbm0xpSjYWuDhEFa4FqSiudQ8Sw8S5IUisVeQnuY0YuzzfXq2093me/G5EpTD0rDHM+WLPdjFnop/ShDynL/52KKH4vo2Kdp/8cbUcM2CEnrZa+ldsPXXPBrqhLxQe9nmRFdblZP41eKH7hkZeBzTIV2mchYaDxbELg2UzWf67c3+NSJDlfP1XnRVdPojRHOQws9Kp6D51poY7h6rs7xtRGWgEZo8+mTXZ69p0XFtYlyxdaGz2IvwZaC9VHKVNVjsuoxETokhWKtn7HYT1geJKSZouJZXDFTY0szpOJZNDYcIx/O+iDlPYcWuOdsn3poc+3WJp5djpd245y5mk+cF6wPc67dXmehUyZUbm+G/PlHj2NZpWnS8iBhIvRojzJcS3C2l7DWS3AsQS9V6EvQQ1AM1pj/3z8ARrP1h/8Ep7XtSX7Gx0dggbSg6lhIIUAIlDFYQlD3JULaeI5EAlMVj+2tkOmKQ6sW4rtl3sBcw6fqleZDxhimaz6tijsu/Y95FONlgjGfk23NgG3NMrp3uZcw341xLEkzcNHGMEhz+nFGJ8qIMkWSK9qjhIVuKQjAMIgLMIYDM1W2NH06o5zDSwPawxhhyljegs8tBPLuEr2P/R2jez8AgN3axtTX/jTetqsf12v6cfsdzIguAM+Vhx/XPp4IDmALzSgzhK5F4JRugduaAYNEsW+mws+9/ApuPdEpG+wKhedY3LCziRSCpX5pEjNZdQlcm48+uMpLrpxhruFz31KfG3Y0aYUuloQPH1njWXtaPG3HBNbDZsgPzJTLLau9hA8cWWGy4rJlIqTq2eUJ3hiGaVHaFcc5hxb6/H/s/XecZNld342/z7m5cnXu6ckzm/OuIpKQQEKyCAKTbcAk89gGG/vBMgaeBwksbEzG+EcwDzbZWAQbgQWIIEAoWHlXm3cnh57OlW8+5/z+ONU9u9KuNDM7M7szW5/Xq3e2urvqVlfVved7vt9PONOJqfgub7htnvl6QFpa4Z2QgnbVYxCXTFd9znYTNoc5Shs+eqKDd0jyysMzfPDIOo3Ip1XxCFyXW3c12RplJLkiSUtKran79nMQOjDIL1xVcrFw6zNEB+4lOfYxhvf/Ge0v/PYLul9IRkpwhZ7VZyJRgIIkV0gg8mCpXbHKk0QRuQLPc9kcZJwqYo5txuSlpuq7RL4Nsrpnd5vAkyy1K7SqLic3RyR5yaG5+jMeU4/zCrxJJ2CCZ8GkGHiRo131mapZiVJearZGGUdWhzx4tsf6IKMoFXGhSArNobkKoVPj/tM92pWAgzNVQsdwbpizMsgIJES+S2eQU2IZ5dsXfqMKhg+9l2L9BNnZR8lXjox/Imi89CtovuYbkd6lXZAPimW+zfnTndu/pL7sqncFblyIWOvnhL5gsRFiHEnVd5iqeBzbjHnL3bs408solGFXK+Rvn1jnNTdMs3+6wrseOMdrb5pld7vCI8s9oKQRuVQCh15ccMt8g3PdlPtPdwldh1cfnsFzrWHQXCPY2Q2mheV6DLOS198yz3o/o12x/gJxrsjinH5Ssjxe2HdPRbz6hhkEgsNzNaQQbAwzlnsJRWkwGnxXcmorYaoa4Ah43c1zY/OhjMAVYAS72yFJrljupfSSgt2tkAOzNVo1j0eXB1QDSTnMUdgiUenz8/PLHYFcu+eLbTHw4F/QfM03IL3PPhP/Gudv+F73nXxN/jZOmMXL+Ew+N/T4a1DA42sxx9dtx8B3QSBpBh6eZ82ESqOQOISuYJQWvO/JdYSExUbI7naVyJMsTVUIfZf5uj2POnHBIC1ICtuZEQJuXqgjhWCQlQzSgrRQpIVmuz+8d6pCszJxLXwxYlIMvMjhu5LVXsJHT25xajNmY5jtyJteeWiK/TNVfMehm+Sc7sQcWRtw43wNhOBUJ+b0ZkwvsRrzNFeUyhrlbI7Kp+8ApUPnr34ZU2wPkAXh/rtpvuofEu6+tG6AheFt7m/iC3u0M2aGXyzf8hwe7+IxW5GsDe1Ftx66bCUFrcgj9G3Yz8sPzPCGWxZ5ZLlPWpR8+NgGh2arTFdDTmzF7G5H3LzQsBLPOKfquxyYrrI5yjm2PuLWXQ0OzFZZaoec2EjsVR0YZgXd1XzHRApgqupzU9uSAKUQdEY5u5oRa3nKSi9lmJUstSNed9MspTYsd1MOzlV3ZsdzjZB21WdzmLM2SPFdg+tKHl3u84mTHUZZyWIz4gNHNrhpsc4bbpvjwTN9qoEtXs5sxqRFye52hbRUVH2HUabwpKA0hoWmz2o/J1Pni4DtyN/LgejgfTiNOVR/jfjR9z2NSPjpeKv7Tv65+y4AfsX7Kf5+/u8YUHnW37+SMEBmwCshL6EVQRQ6YCynJ/IdQs+ln5bMNUJuW6qzt1VlrhmSFBpjDDN1n6xQnO4kDFOrCJquBkS+s2M3vj7M2BrlBK4NUmqEHlNVsVMMVCbSwxctJsXAixhxVrLST1nuxpTKMFcPODBdZb4V0go9NLDez3hydcBqP+H4+oiz3RhlrDVx6EkcKRAIznYSlDbk5TNf2KWQ1O58I0K6eHMHiA7cg1N97o6Ar5ef4HXOAzu3f6T4xqsaWSsAx/EYphm+59CIfBwpadUCWhUX33V46f42x9dH/N7HThF6kjt2t9g3XWWpHdFLCg7MVlFK86nTPbpxTj8uqIUekSf58rt2sTrMGGUlca54yf42gSvpJyWdOGeYlVaq5kgqvoMjBJvj3+8kBU+sDnh/vsHBmSq72xUWWzamuhcXnO0mHJipfkbmvedIFpohs/WATmztcV+6v40EnlwbAoJBXnJ8fcQ9e9u0Kz4zNathr/seD6/0OdWJCRyHeuiO3RVdurEdOTUqLr1RSabPs+svlzuhkA71e76Y7t/+GoNPvJvqHV/0rETUR/S+nf8/LJf5We/n+Y7iX6OvokOhDzQrYJAkmSZVUPOhGnpkhaISuLz+xllCz2WUlzQij7I0PLkx5Fw35+UH2iy1Q0oDZzsppzYT6mOzoazU9JISVwp648yCXa3IkklLTTfOx+evfQ8qvkMtnCwJL1ZMCIQvAhRK00sKm3yWqp3Es0FW0o0LQlfSrPhgDFM1H99xUEZzajNhpTvi5FbMcjdhmJVEvkPFdUiLkrjUSASDNGd5K6E/dp57qoQKrMa6uAIJNgE5f+5/L/vkGgAfULfxDcUPcDWY4tt/Y+hCLZCgBVP1gIWGdQ+8Yb7OUiti/0yVm+br/Pb/OUWmFP/0tQdZ6+cstSsUpeI9j6xy7742a/2M1UHKoZkqriOo+B6H52r4riTJS9735DqLjYhbdzWexgA3xpAWmlFW0IkLunHBMC/wpaQ1NpDqpwWNyN/hiWyNclZ6KftnKlT8z33xN8YwyhVnOjF/9tA5Rrni8w9Pc7qTcN/eKUpj+NTpLrfuavDQ2R4nN4ekhUJKST8p+OSpDlpZ5no3KRBGMcwMCmvTC3ZRzC/Te6PiHmd+4VtAFSx8408SLN38rL/7f7u/x790/9fO7V8sv4wfK//BZXomFwcHa10sJVR9OyoQ0uC7PtXAYbYR2HGNFEhgc5iRlnrnvd0/U+HAdA3fc8ZyQtgc5hijGaS2sGhG3jiYTO54ibhSIqXtKl3I52GCawsTAuEEgCUpPXquz/ogoxG5VAPrde+PZ9p72xHKaLaGBZ4vGWWKM3HMXC3k4EyVZuSQKoMrLeO9EToMx7vCc72UUZqTlaDU+Xbvp6/7V6IQAPh25093CoHSSH64/EdcjULAxe5iDeALyAtNLfDAaBwBwhHsaVdse9eT/Nb/OcUgy/nyu5Y41bHKjGrocq6bMl2zM/+ldshM3adUGiEEe6crOzayK/2MW3c1EcCR9SG7WhH1MZN8mFlDmSRXVAOXA2MZ41MtaOeV5uj6aBxgZOinBQdmqhfsRieEoBa4tCOPG+fquFIyyjWlho+c2OLuPS2EgGPrI3a1Is52Y5IkRxjDrmbEqeqIIxsjIkfQjBxm61UeOddH5WanqMqxJMziMrw/TqVJ9ZbXMHrovQw++e7PWgz8bPlV3CxO7zgU/jP3j3lU7+WP9KsuwzP57HDHBkPbUIAY+wJ0c3CNRkpwi5y4EKwNMlxh47BbVZ+5WshMPUBp6MUFnzjV4dHlAfONiJmax7l+Sl4qXrJ/mlt31Ziq+USeQ+g5BK68aOnuBNc3Jp2B6xzbb+9TT/xSaZ5YHe4kE5bKtgxzrSkKTS8tKLXBd+w+vxlIHjk3IC81j6z0ObE5op/YYUChNEaDNnbRd7AXtSsdZbvAJu8N3kpFWA7Cr5Zv4ofLb77CR7XYvoiHAoJAYrCt9Zvm6lR9l9lGwFwrZCq0LPxW1eXuPVPcubvFai+lHnlMVX3+8tFV5usB1cBlpubz6Lk+aaG5a0+L6Zolga31U/ppwd52hVRpVnspxzdHCGChYVu+jdCjFrpPUxZ8OjqjnA8f32S6FnDPntZF6ctLpTnTSawyIPDYHGV2xizgsZUBjdDj4EyVT57u8Iab51juJvzNkxtsDjN2tyPWBikffGKD9ZF9r/ZMRTQDh/c/uUX2lMyKigPxZZIaZMuPs/Kb/xocl93f+es4leaz/m6VhD/wf4ib5WkAUuPxNfnbedAcvDxP5nNAcr6TJoDIhdmKhxvYIKNSgzJQasV0JWDvTBVXQF4oosDnxoUqi82IQ7NVznYS7j/T4+TmiIVGyD372ty22GT/THXiKfAixaQzMAHAM1b/hdK0q96O6ZDShsVWiNaQlYpjG0MeONnhiY0h6z1rk6vGpiW+K/AdQSN0yQpFK/IY5YY4KxHaLpJXI9P++73f2SkENk2dnym/6ioc1UKPix7p2J1c4Flr2H/w8t380f0rzNQCVGlIleYVh6dZbETMNUI8R5KUir2VCqc3R3RGOfunKuyfqXJ6y45jXnZgmlbFZ5SVrA0yTmyMmK0HPLE2JPTsTPcl+6YYZSX91O6jHce+j58Opa2UcHOYkRaae/e26SUFpzsJi83wc2rSjTF04oLVfkoj8tjbsEZG/bQg8h26cc6hmSq5ss55oSd594MrvPzAFPXAJXLsPHpPu8KuqYiNOCfJSla7KffcuUg/0XzqbJektJ+ZWJ0vJp8rgl034S/cQL7yJMMH3kPzlV/7rL87IuI7iu/hj/wfpC2GhKLgl/2f5i3ZO1i/SkmXYwdrCiAu4WS/wKFguuLQrnrUApe5ZoPIc4h8xwZZzdSoBQ7r/dwWYE+sYbRgrhHyD166h7lmhVxpRoWiUAZ3wg2c4LNgUgy8CGGwC4XC0E8KlrspYMgKTaoUw7TESMnh2RqOAGU06/0UjSQtDLnW1DwbmdqJC5Jc4XmSstBkV8F7VqIZmQBtBFIYfrz8evpXKad+u60tse1cIaFdDfh7ty/yyZM9+mlBPy24Y6nJwbk6+2cqrPQyWpHH6jg/ICkUHzi6wb6pKnumKvTinL94dI2FeojShkfP9THGsDHMOTBTZa4REHnO0wq7qaodKWzFOWc71vwp9Oz8t9Q2UjgvNaHn0K547J/2kVIwUwtYH2YcXR9SC1xmasHTQm/AFgHduGBtkOFIwe52RD08LzdbbEWc2oyZrgUc3xgxVfFQBl57wyx/8/gGw6xkT7vC+59cZ7EV0UtKbl9q0YsLznVj4lzz8RNdPv/wFOuDlHP9jKS0Fs6XqxgAqN/3ZWy++6cZfPyPabz07yPcZ5fMnTbzfGfxL/lN70dxhWZRbPFf/J/h6/MfJOfKSu008FSTRsl42CWgnyuSUrPYFNQKhe8ItJbsbke0Kx6OlGwNckplCFyHwBU0Kw5HN2JSZbhrT4tGYJ//IC1Q2roRbv8rgF1jLskEL25MxgTXEUplbYO3T3Z7wuud/9++AOjxeGA4Zqhva409x0qYKp5ECMlHjq/z4PLAmshkCmF1TsRJzvooZ5RbWznPgaS8cmYyz4ZbxEm+3nkvP1x+81VjgG8vmwJwHZsRcMeuFjP1gIeW++xpR7zlniVmawH7Z6qs9FJcKWlVPB5Z6VH1XJ5YHdBPSz7vkE1SPL4x4lwv4avu200z8jAaTm7F7GqFtCoXpowolSYtNaXSOFLgSonniGdtDStt2BrlbAwztDE7xYbShnS8y59rhDTCZ14IT2/F4xfC8NCZPvfsadJJSuqhwwOn+7z2hhn+6FPLKK05OFPlw8c7dOOcDx1do5+UNEKXe/fPIIThvY+sUaiCTvr0lvlzhVEFZ3/pH6OGm0y/+V9Su/OLPud9vsn5c97h/drO7f9avpl3lN90GZ7N54bEKglqvoN0JXGmGKaami/YN1ujGXooY5iph9THBdzGKKcSWJOrVuRzx1IDhMAVMEgVG6OMtFC0a551Kaz4uFLiOoLQs26Gu9vPj5xygquDiR3xixDnegm9pMCVAkdKHCFwHDG+LXZuO2Nd+lo/BQS+K5AIhnnJcjdlY5ix3k/pxgWLrZATq0PuP9ujE2eMCk1WlCS55QrIsYnM5dKJv9ARCkjHDosVDxaaVRqRi+cIilLzBTfPc9Nik8VWiBxLLg/OVVjpZiz3E5aaEZujnMNzdebqPmc7KZvDjFbV4649beK85MRGzGLT6v2vBrLSFoNgux2h53xOp7pSaZ5cs2TGJ1cHFEqzqxmhjGF9kOJIST3w+LOHl/ni23fxxNqAR5Z7KKV590MrGG24eaFGNfA40xlxbDNGFYp+cXmNiHof/n26f/NreDN7Wfy2n78A0pzhP7i/wj90/5qH9H7+RfEvOH4VzYhCF6YrPkIIsrLEGE1SAMIQuC6RC4HvYQxM1Xz2tyvUIpeDM7Xx+6gYZrY0dscZBe3IY1QoOnGBFLYTYImEtpN0eK6O44idXAPfkYTjn09Ihtc+JpyB6xSl0hTKkCu9EzhkDBgMrpTM1oKdgBIpLbHN7hTFZ5zY+2dsa70b2x3i5ihnmFmzklL73DBfJ84LPjRMkALqkU9aJGhlSXRasqMVfzGgEQiyzOxE0vquSzN0mKn5ICR7piK+7mX7dsh/JzdHzDdDstJK816+f4p+WlIo26VZG+QEviQMHBabEb244Ew3ZqkVXXBH4HLAtpcvbqDsOpI9UxVObo44NFvjoWU7IjFY46JHlvs05jyW2hU+dabHyw9OcXJrRFka9rdDnlwfcnwz5o23LjBdC9no5yhXkumCQl2+z1T9rr9H74PvpNg4RXr8E0QH7/sc9xD8UPktnDLz/Df15is+Ivh0pCWc6+eEHuMwK4nvKpQC0JRaEGrNdD3ClXB8M8aV8MhyfxxY5BD6Ntsgcl1esn+KmZpPo+LjCUFaKpKiZJAq4sxqgU9txbSrHlXfpVQOqVSsDTL2z1Qu+nMxwbWLSWfgGsETq5bND3aB9xyxs3vTxrAxzKwBzrgFuH0SK23jTI3BFgWO2CkOpDh/W2vDMC3IS83jqwMKZTjXizm+GZNkin5idyn9UcqoUGzGJWlurmpH4AZxhifNEs9X4txUAL1snDUfWhKlQNKs+nze4Wnu3dPm1l0tlDb0koKTmyNuWWxQC122RjkCwfogJVdWMeBJyUo/RRtDLXAZZYp905XPmOG/kLExzNgYZmAg8h16ifU6CDzJ5iDb6UYFrvWuuP9Ul16c8Z6HVkEa5uoRu9sRW8OUx1ZG+FJRGskwU6SXae609Vf/H4OPvYtw393Mf/2PXJ4HvQrwBAQe40LAduACTxL6Du44sniuFnBovkYz8qh4DlIKPEcghWS26hMELi87MEU98JCfxjLNS80wK+mMMtbHJOFW5LF/pkrFdyZdgesEk87AdYY97QruUwqAp0JrQ8V3McZ2DNJCkxaKyHeYrQe0Iru7KT+NQ7DNLcgLzfHNESvdhLO9BFVCN8lYH6ZkhcZzBblWdAZ2/jjMS5LcXFWOwDxbvMv/QR43e/h3xTfxSXPDVTy69RMYZpYXUXVhKvKZrgXUQo9XHpriVCcjLQ1JoWiELr3YcM+eFrONkAdOd1nuJUxXAgzw0v1TRL7D0bURrYrLo+cG7JuucGjuM90AX+iYqQVoYzixMSJXmlsWG5ztxDy03Kc3yhnmJXumIuJc0U9zCm2Ya0QcmqtxfGOINhplYK4RUWirXtgaZszUPJZ7xWVxJWy85C0MPv7HpCfvJ189hj9/aZLBFgN6VDFXiZ9SGFD5OO54rFxJc01SaBqBBG3ouZJuXDBXC2hGHlLapNFSges7CAQPnunTrHjcslB/GofEdyVTrs9U1efgrFWeDDMbQb1vetIVeLFhUgxcI/hsBjFSCmbrTw/5UdpYr/tRzrlewkwtYKYW4Lv2LS/GyXWbw4z1QUacK0ptSHNNPXSZ9wJm6gHH1wac6cQMMkWhDYO8wJixJNGwc1m80vG03+u9k4rIuEcc4Zf9n+LV2c9dVdvhii8YZAYPiAKXdj1kuh7wxlvneen+aT52vMOedsSJjdE4HEaz1I64/3SX9WHOaw7PUAutUVAtcDm6PiJwBUfWhkzXfA7N1q7ZndhcPcSTgg8e3SR0JXunq8zWA+4/1eWjJ7Z4ZHnA62+eY7UvOLNlOyG37mrSiXOUhr3tkHIsa90cFtQDByEdFmqa5eFzLznd5jyVm15F/Njf0fvQ7zL7Fd930Y9xuzjGL/s/zTvLL+A/qasoY2XszKjOn2ueAByB49gR3wOnuhzfGLJ/qsp0LaAeuSy1I3wBs3WfQVbadNJOzEwtYK5uC4fmeBRVKo3AmhnVQ4/FZ7dkmOA6xqQYuI6wbSIEtpXdCD2akfUoP9dL+eSpDr4rKUrFVlxgDLQrPnunq5zrjRilglsW6mRKsdLPxgl2GaNcoZTGaEUr8OkkOZ4DNUeQlGannXs5ZWFPxR3iGF/l/N3O7Z8pv+aqFgJN/ymhOi40AtfK9aaqfN7hGc51Mw4v1Lhzd4s4K3n4XI+FRkTgSrpJzksCj3bV5+j6kP1Tdoae5CUz9ZBa6HLjfP2aLQS20a4G3LuvzanNmEIP8RzJfDPkwEyNP3/4HEemKjQqPrcv1QFBL855rBawMcx54EyfL759gXbFY5QrVjoJo0LTrATEZUo3fe6lZvOVX0v82PuJH38/+epR/PlDF3zfV8qH+VXvxwlFwf/t/QGPmb28R7/0OT+ni4UGAmmjoFGGVJVEgYvvClzg+MaQlV5KNXQ5vjFCKYPjCCLPpRm5lIXGSImQkOaKVsUj9FzqoVUjBK4k8CT7p2uWcCwFh2YnZkUvFkyKgesIxzdGpIVCaUNWKrJSkxWarNRoYxAYjm+MqIUezcheAFb7CR8/tcXWKEcriHxJnCu6ccbZrYS4UGTKEJeaojDEhQ03CRyIU/M0ffSVGRsYftD7zZ1bj+k9vFO97oocCZ7ZI98IyEtD5IMnBY2KR23sFZ9kiifXBrzx1gWUNpzpJhycqTFdCyiVZm2Q0W57PLYywBjDB45uUvEdbl9q4jmC0x1z3fjBz9dDOqOCfdMRICiV4fNvCljrpzy5OuBNty9SaJe00ByYqbE+yHn3g2fZGpS89/E17tk3xaGZOme3EgIHcg27WyH5evycnQn9uQNUbv184kf+lu77fpO5r/mhC77vw3o/Z80Mh8Q5AH7K+0WO5Ys8aXY/tyd1EfCwBb4GUgWhNEhHUmpwjKGTlES+DSTKlbZukb4DxqEbF4yyAiEk01WPgzN1GqFL4AgKZdg9VcF3JIOsRAjBfCPY8ZX4bK6WE1xfuD6uQhMAcHjOqgOOrQ+JtEPkOZZw5Mox10CQ5CUPL/c5sTHCc6AVeeSlIi9swbA+SFnuJmSlojQGjMEoQ5oUKGPwJbY4yK/8aADgzfIjvEw+vnP7R8pvRHHlZpmfvuZ4EsrSKjakEEzXfHa3K+xqVfjSOxc5vhFjgDOdmPXTGZ60r/UoU2wMU7JS8/FTXeKspBG5HJyt7owElrsJzej6yY7fHletD3L2z1R3vv+ld+3inR87zZG1AVIIcq25e0+L198yz7HNISfXh6z2Uk5vjnjjrQv005wHznSpuhLXFcy3AlY7GfFz/MC1Xv0NxI+9n+TYx0hPPUi4944Lul+fKt9R/Gv+0P9BGiKhJlJ+2fspvjx/x1UzuyqwF+uabxMqSy0IPInR4ApBo+oQl4Z65DJX8y3/IimoR5Ib5ivct2+Kqu/SGWXEhUZriLW2bppSUAlcKoFLVthQs3roXXB2xQTXByb9n+sQB2aq3DhfZ89Uhbl6SCPyiXyXyHeYqgXcsbvJW+5eoh64LHcTlnspnoRuXLA1ytBYpnJeKEZpiRE2zbBd9W0Ggbo6hUBAzve7/33n9l+qe3i/vrAL+KXi04sBh3E6oWe9GG6eb1D1XfZOV22sbKb4/MOz1EKXxUbIHbubNgjKlSSFYlcrwpOCxVbErlZlpxDQ2tCJc9pXUUJ4NTBd9YlzRZyf15nM1gMOzth5dug7nFxPeOB0l1rk8sW3LxD5HvXA5fGVIR8/2eGbXrGfdiUg05qkNFYaFzlP27lcyn7Va++idtebANj6y/+C0RfebjhmdvGviu9CG3vkA3KVn/N+HnlVzgQLDcQ59LNxHog2CKPZGmWc6iTo0hCnBZ2kpBl4vPrwLAemq6wPcv70oVXe9cAyHz3V5ZFzA46sWcXQTM2nFrgcnqtzeK7ObUtNbpivTwqBFyEmnYHrEM82f84LxeYoZ22QcqaTcGJjxJG1AcrAfM1Ha0M99FE6o5uWNk1vKqI7yjixlbLRzy9LqtyF4luc97BXrgNQGIf/UH7DFT1ew4NR8fSCwAC+C3Vf4PgeSgiWWhEV1+Xhsz2qgdzx6r9pobEj3+pvFexqRSx3k3HrNXwaybMT51R893PmA1xrkFIwU/dZ62fsn7GXF9eR1o2xn3Bopkp3lPHg2R5z9QCw1rpnuwkUOR84usFM3eV1N87wex87Q+BCTwnqkU+uU7YS6/MgOZ8ceTFoveYbiR97P8X6ibFN8Vdc8H3fq+/lp8uv5q3e7wHwOucB3mp+lx8vv/4in8WlQWPlhS6Qo0hjcKTt7qWF5nQ3xncFSmtGacbZfkrVczg0V6VRcVmoRxyYrVLxPZQ21EKP2VqA70qy0uYXbLuYeo68rrpWE3xuTIqB6xDbEsNSGYbjnPteUvDYcp9BZv3JXSlJ8xKEwZSG4xtDHEcySG07eyp06KaKR88NrGVxXqLhOV2ILwbT9Pjn7h/u3P4t9QaOmV1X7HgND9JPKwQCAfXAoRq4xKVmV+BzeLbOVD3g8FyVJ9YHVH2XQ3N15urhzv2GWcly17pBtioed+5ufcaivznKWWiGXI+YqQY8Nhgwysodz4T5RsggycmV4e49bd7zyAqDrODO3U1KpXjnx06z0Iw4vhHzd09s8ZobZjg8X2O5F6M1TDVsIZXkCck46dAXkF/kh9CJGrRe+81s/dl/pvv+36Zy82tw69MXfP+fV1/ObfIEb3Y+CsB3un/ER/TN/I2+++KeyCVCgR2XaNu1Co39vHmuw1TFIysUg7QkzgVxqkkij0bFZSsu6CWavdNVbpqvk5aKrVHOqa0Ro0xhsNwVKc6nJw4zn+mqf90VrBM8MybFwHWEExsj4twSCDujnKQs0RqqoUPoOty8UOex1R5nuimjpKSbFESeQ6FLSmCY5HiOw+agYGWQkBXWrCgvC5L8/EJ5NfwFvsf9feoiAaBrqvzsFU4lNOIzRx+haw2epmo++SDn1sUmGKvSiEuFMTZG+KmFQF4q3veE9d+/e0+LG+frn2H2MkitkuPZfP+vdUhpSWjnegmH5+qAla0FnkvoSbQRLLUq42JJcXC2xh1LTZ5YG3HrrgaPrw7oxDn37W1z7sEMtHXL8z2bnaEzRaafHpl9Majd+UUMP/Xn5MuP0/nr/8bsW/7NBd/XIHlr8U85KM5xkzwDwI96v8Lfy/4jvavEH9guxhUw0kBmcLISz7GdAs9AO/KpRR6+K4hcyY3zDdrVgFGu+PNHVlHGUPVdJJBr60tgaoZW5BO4Dp4rx+ZFEwLhiwWTYuA6wnwjRBvNxiAnU4qKsSRCV8KRtRHHN4ZsjHJaoUu77bG3HeK6ku4o50wvZS0rWeunGGPoj/Kx7bF9bIn9sFwNx8E2fb7yKVLC/1R+5RW90IYCkvzpf5svrQd8u+ozyBTtyOPW3Q16cUm74lOUdifVSwuOrg0JPMnGIOOJ1QHawJtvX9jRcX861gaZtTC+jjFV9dka5XTjnFbFp+Lbz2KuDHN163lxamvEyw9Mk5aaVxyc4ZHlPoUwNAKPT5zq8LID09y2q87x9SGduGBXIyTLCxukhLXClthF8WLyDISQYPHAEwAAb2NJREFUTH3RP2PlN76H+NG/JbnrjUT77rrgv21ExD8vvpt3+9+PLxSLYouf9H6J7yjeevEv1CVAcz7ZcHup9hyohbbY8hxnXHTZnz22OuRTZwdUfMlMPWS+7lMLbNJkPfRoRi7VwGVrCJ1RSehJmqH97Fd8je9OqGUvBkyKgesIke9gjKQWamYbAZ6ULPcShllJs+Kx0AzJlWFrVHC6M6JUmlFWEpcapTV5qdFjs6JCGRwH6i6UGory4luyl4oODd6U/xjf5/4ON4nT/Kb63GlzzwWZefpCIrDZC64rEVIQpwX33TBLVmju2dvi8w7PcHR9yFw9oJcWfOjoJu2qx3wjYLEVcd/eNpVnsRTuJQWlMkxdpRCi5wtCCBaaIWc6CY3QWuE2Kx7DtGSUl9y4UOfo+oiHz/Z55eEZZm4I6MQ5/+uTZ4h8a9N8/8kOoe+gDVQDl5VhTrMS0k21TdHU7HBYtouCC0WwcJj6PW9m8Il30/mLXyL81p9DOBfeqXnS7Oanyq/l+73fYdPU+Q31xot5eZ4ztrtYDtAIwHEcirF5kESQGENSFHiOpF31OThbIfIkcW43C40w4CX7WuyZrVBx3Z0sE4Cs3DYh8mwAl9LjL8spUNqgjKFUT78gCGEdKSdjhWsTk2LgOoMQYicoB2wreqEZkmQli82Q+YZ1hrtl1xylsvPGorReBJ9a7rLcSQhdh9JoSiXIjMFoKK9yGtEpM893Fv+KOjHlFf6YGp7ebpZY+1dfQtWX+G7Eaw7PkCrrKnh0fcSRtSF7pyosNCP2tCus9TMKpblpofqshUChNOd6CYvN6Jo3GboQ1EOPip+zOkhZbEa0K/640NTM1SMOzlZ44EyHmxfrtKsBb759kZObI9aHGZEn6cQlWkJnVCAlRL7Laj+n6tuYZ6UV235ElzK6ar3mmxg99n6KzdP0P/Yumi//6ou6/y+rL6EuYn6rfAMrXDjv4HJCYfMyqr6iWbFqHzV2CJ2qWXcCgeHo2ohCGSJPMNcIOdOL0Sc1p7oxVd/FlRJlrJW50RplbLKpwY7Kar5LPXI5NFvbyTbxfPk0VYfBFgQTXJuYFAPXOVxHsNJLefhsj1zZMKKZesThuSrdsXf81ihnZd26xk1XA4SxVqdK2WT59aF63pIJB1z5rPVtM5dtBA5UPJe79rbpjHL21ENWBimulIxyS9C6dVeDvVPntfSdOGelnz1NX/9UFEpzYmNEK/JfVCztxWbEk2sDWpFPNXBxpI3HXe1n3LW7xfog431PrvOldy7hew5ffvcSv/y+o+ydrrHUtj78Td/lgTNdKr7DgZmQs90c3xUEjkcnLSjG8x0BF6V2kWGN9uu+jc0/+Rl6H/gdKje9Gq+1cMH3N0h+svy6i3o9rgQ0lvyqhzm+K6lFHnNVn7Q0bMYlSV4ghXUUzArJVNUnTgs+NUhRpw2h59IMPaZqPr7rUPEdbpyv4zs26VQAB2arzDXCSV7BdYxJMXANYjtoyGBs8uAzxBNvRx0P0oITmyO6ScH6IGNrlOEK+OjxTXpJQT8tyAqNNtpeLMoSbeztbqLIlN01e9iZ+vUYV+xhXQe3lRKuC7fvblDxXU5uxRye89Ba8HmHZ1hoW7ngnvb5IuVcL0EKwSsOznCmGzPMShaa4U6oVJIrTm7ZQuB6VRA8G3xXMt8IOduNOTRbo1XxSMckV8eRHJ6r89hKnwdOdbh3/xT7Zmp83uFZPvDkBrXQYX8zIi8jNuKc4+sjWtW6LSqEQBnDba2Ax1aHJMWl8Vmqt38hwwf/guz0Q2z80U+w8A0/hnCuvctiYewoLy41vTRjtZcRejAd+TTqAWmp2T9b3SGtBp7LnCOYqQWU2iCl4I6lJjO1AEcK8nHSaeha47JW5OM7Eq2tUgmsWdEzBadNcG3i2vvUT8BqP6UbFwhhCwNjbLRp5DlEvsPWMKef2j2SwVCWhnro8MjZjLRUhJ71IJ92PCJfkBeGTJWc66WkuaLQMEzsCe9vzxGvsLdKhZSf9/4T/029mb/Td3C1Yoprrh0JqLGvcuDaBL35RpXVfsJcPeDgbIXZRsTSVMRyN2WhEe4UX6v9lH5ScnC2iudIbpirs9pPeXxlQOg543RIzWIzuu55As+G6apPN7bFaLvq83h/wK5WxNogZa4RorTmibUhzarHodk6b7x1gSdXB5zeijk0V2OQlLzlziXe+dFTPL4yZKbisjHM8DxBxXO4daHOp5YHSHVxnQGwY7WZL/kezv3qvyA/9zjd9/0G7S/4tkv+W6fo83bvN/jl8kt42By45Me5VLgSSyKUBiEc+rliWGpagUdnkBNIwY0LdW6Ya9Co+EhhDcYi18ZGK20IPIeZWkDkWyvjjWHGyc0Yf8w/2LYobldefMXt9QxhjPmcm70LzUOe4PnBdhZBnCviTHH/qS0QgtBzMNqgDSSlwhFWcRDnJQ+c3OLhc33O9mJGuSHLS5Qx5KUmLwyhJ8dtXc36oCS5wnrC73T+kO/1fheAv1Z38a3F93IlCwIHKx0MXRhkdmflSpiuuNy3f4pGJWAQF0xVPW5banLX3jZTVZ9BWnJotoYxhjOdhLRQ7JuufgbjulSauFC4UhB5k2z4rFQcXRuxd7rC1jAn9CRpocmVHbsk43HVSw5MsdCIONsZ8dN//jiVwOPNty/w0Nk+cZ7z3sfWSXLFMCvRxnbIDkxHnO4kbAxsb+BSOgTx4x9k/Q//AwCzX/U2KodfdtGP8Xr5cX7C+y9MiSGP6r28Jf8RiudpvxU5UAsloevie5KK5yKkQCnwXcFCK6QR+HieJPIktcBlV7PCPftaVH2HjVHOqc2YwHPY3YqYa4REniRwnc+Qyk7wwsaFrt+TzsA1Aq0N/bRAG9DGdgNKZYl/WalICk0/yenGBd2k4FwvI84LlNZIoJcqQs+hFxfERcnprRijDcYYMqUZZqX135cQ+WCMZmOYX/GOAECDEf/E/d87tx8x+7jSnYHItbPWUW5VEg5Q9QQHZmvM1AJGhaISSlrVgNlGSLvisT7IODRbIysVZzvWA+HgmFD16XAdSWPSQt1B4DostSNOb8UstSLOdBIOzlY5tj5CSkEj8vBdycNn+zhCstSu8nUv3csv/M1RznYS7tjd4IEzPQ7OVHlybUjbcYlzTVYa1voFNy/U+HjWJys00ly8XXblps+jfu+XMvjE/2bjj3+ChW/8CfzZ/Rf1GDEhU2IIwC3yFN/n/g7vKL/pIp/Jc0PFBd+xf3827gguNUICXzLMNcOkZJiVnFgbMdMsWWiElIVhmJac2hrxkRMbVAOPu/c0efmBGVxHMMwUy92EWuDSiDwaoTtJMrwOMSkGrhEYYHOYsT7IKbW1DAWbZ14qax/qOIJRXtIIXaaqAbXAoZ/kPHpuQOC6LLZDPCnpJRk3zFY5vZVwbH2AIx1qnmArKUkLTZZffLv1ueCbnffQFDEAfRPxy+WXXtHj+QIQAq0M2dje1ZEwWw+pBS5xoan5Dv1MMVv1mKsF9OKCqu+yPsjopwXT1YD5RvCi3/FfDJqRR5yXrA1SIt/aOC+1Ix471yf0HNuediRH1oaUWvOygzPcf7rLXz++xje9Yj97WhFnN0e0Kx6DVOGKjGrVY7mT0o9L9rRCjm3Fl2yG0f7CbyffOEl26kHW/uAdLP6jn8apNC/4/h/St/Hb5ev5BvevAPh290/5iL6J9+iL7zJcKnIFeWk7XgjD5iAhzgteun+aWxdrNCOHTGlWeylrvYwTGzGlMrQqLpk2hI71Jzi2NrIqA8fBd22XsRG69JKC5W5CxXeohS61wJ10vq4TTMYE1wh6ScHGIGOQFgSu5QZEvjUYiTyJ7zo4UrDWT+mnJf00Z5QqTm2NOLOVUGjFmU7C2U6KNpqsMAgUgefguQ6rvYQ0K4hLG5F6teCgeH/wL1kUWwD8bPmV/Gx5cRKvi0UjEJSFocB2BAJP4LsOtyw2rG674mOEVVO8/tZ5Is8BBAdmqrSr1qJ1sjO6dJzajEmKkkJpDs/V2RplPHJuwO52iCNswJMxhqlqQCty+eE/foS5esB9+6Z4bKXP1ijnyGqfJ9eGOBLi3P7+QiOgm2iSLKeXmUuKEFJJn5Xf+NeU3XMES7cy93XvQHrB577jGBEpv+//MLfJkwCsmyZvyH7iqrkTPhWS89bCEqgEgkbgEfguniOo+A5TFZ9ca2ZrAfXAJSlsp7EWeoSew8JYQVBojetIar7DodkaS1MRaWE7ikobaoFLxXep+FaNMCkOXji40PV7ckW7RhC4kumaz4GZGgvNkErgUCjD5jDj6PqIh852uf9Uh1ObI05uDvnTTy3zrvvP8t7H1jm2MeTjJzocXR0yygriTNGuuhyaqeM6LlvDnLQ0pEqgzdX9UHyx/PBOIZAbh98u33BFj+cB0hhKQAqoRQ4YODhbxRjDbDNk73QV35HcstigFXlM1QJed+MsNy82mG+Ek0LgOWJ3O8J1JGrMu1hohCw0As5speRKMVX1caRklJVsjAq+4eV7Obox4KGzXd5y1y5umq9x954mi82IpNDM1KzaQwCNUOK7ksolqjedqMHcV78NEVTJzj7C+h+8A11kF3z/hJDvKr6b1NgnMCt6/KD3W5f2ZJ4jJFDxoepaPkxeGLaSnCxXlhg7XcNxrO1wP1U8sTakkxZ4rqQeWrlhqTXVwOXQTJV25DHKFQ+d69OLC7SGyHPwHRvbnRaKc710Ughco5h0Bq5hFEqz0kuJc8XJzSGPrwzoJwWDTFEoSyhsV1x6cU53VFIajSskjcglU4ZhUtAZ5dblDYEUmjjTbPQT+sWVlxEG5PxV8FZ2iw0A/ki9ku8u/sUVPWYrsI6KykDVA891QQhunK/iOR63LjTISs3qMOOr79tNXmru2zdF81JXlwmeEaXSHN8YsdJPOTRbY7EZ8oEjGxRKM1MLmK76DLKSyHc5ujbk/lNbrA9yXnpgmqmKy8dOdqiHLn/92AqjQjNKCgZpwXQtQBvBKC/oDnOGlzgySM88zNrvvh1TpIT772H2K/8fpHfhzPn/y/ljfsD7nZ3b35r/G/5a33NpT+YywAdcx2ZwYKw5kO+InQ7AUqvCTCNkuurRi3NKbXCkY7s1UtCo+MxWAw7P1Ww30ZG4jsAZL/y10J3IDF+guND1e1IMXIPIx6TBOFOs9FO7aBuDI218aS8pOL0Vc66bMspKHlsZsBHnCCxxzgCjTJHkmkIrBJJSlaSFIVMXT766VHyT8+e8w/s1wEYUvzH/cY6bxSt2PF9AxZcgwBWCWuQxSAuWmhGzjZCZus/uZpWzvZhdzQoH5qq87MA0842JfOpKQGvD8Y0Rj60MuGWxzq5WxIePb5IWivl6SKvic7oTUw0c1noZxzeGnN2KmW1GRK7ACJvz8KnTPYpSsTbImK35IMAYwXI3pp8oyksgFMLTC4Jg183MftUPXjCHwEHxB/7buVseA2DVtHhj9uNXdVxQcW13oASMxo4GPIPGQRlLHpZCUg08qoFEYC0HfVciHUktcFhsRRycqTFb95mp+TQr1m5Ya6tiArhtV2OiMHgBY1IMXOPQ2uwoBfLyvGogLTRCQFooy7c32Cx4Aa6U+K6gM7R58Wv9lLO9FN8R1EMPjCHThtVeytYoR2nLHVDa2ppeTUMhl5K/Cb5npyvw6+UX8fbyW6/oMacjh0bg0stKAtc6spVa8LIDbfqp5qV7m3TSks4w5779U9y3r81Ni5PP+5XG2iDl/lNdXEfQinw2BinrQ2vvXA895hoBriP4xIkuvbRAa00lcDmyMqQSOGSFYpRr1vsxykC74tGJS4ZpzigrGGWGXF9qQfAI63/w79DpELe9i7mv/XcX7FJ4WJzh3f4PEAjbnvif6tV8T/Gdl/Asnju2Q418BxqhS6viEfnWB2NzYMeEgStxXKj5PtM1l2rgUfGsciDwBI3Q49Bcnbv3tLhh3qZRKm2eUU0zwQsHk2LgGsG2R0Ba6Kf9u60QCFw7Aw1cSeBZop8BznQSu3obw9lewomNEcu9lK1hxsogJXAkvrSRr0hBnJW2c6A0/bhgVChypVHKkJdXVz0A8FXyffyU/0uA7Qq8NvsZlpm5YscLJcw1fbLCeim0qx5GG1o1n6rvsX+6Qi30WOunzDdCvvDWee7c3ZrYr14lKKU5tRWz3EtYG2T0kgIwTFdC0lJR9S1pNi5K1gYZw6SkETm874lNXIGVzSYFT6wOmKl6zLci1gcZpzcT0rIkHn/AL6XgLTZOs/p7b0f115CVFnNf/TaCxRsv6L7/xPljvn88LtBG8Kb8x3jS7L6EZ3F54WLHBlKCJ6AeedQin5rnMlVzmW9UqPkeu6cjBFb6KYTlCDQrPvunK7iOtBkFjpwkG76AMfEZeIHj9Fa8w8TdXuxdKQjH5B1XCtu2E+P56uYIgR0R1AKXAzNVXAnHNmIqvksz8siVoRl5HJ6rUQkcRpmy7oSuQCnDx09ucWJrBAgYmxFxiS3U54ob5Wm0EUhh+F/q1Ve0EJDAbN0u+nmeUgkdpmsBq90E3z0frbvWz1hqR9y40GCxGU0KgasIx5EcmK1xYNa20btxzonNEb244O7ZJsYI+mlBWpbM1yOWuzFPrg5ZaoWsDTLmGgH37m8zXw/4xOkOvaRgd6tCb1Qw7JU42F1xoi6+IPBm9rDwTT/J2u/9EMXaMVb/+/cx9abvonb76z/nff8/9SW8yfkobQa8tfinL4hCAOzooFQgFCgJJi3JlCHxFL20YHVQsG+6ghGGG+bqRJ7NlHAdcAR0RjlSip3r177pZ87kmODawaQz8DxhNN6pB67k2MaIJLd6Ps+RONLapEohMMagjSEv7crdiXPOdhLOdmO2BgVxWZKkimrosrsdEXkOd+5psT7MePBMl+VewtHVIZ1RTq4UAkOhLZFICkNZwOgSSVbPFYfEWf6Z+8f8QvkWjpldV+w4uxoerarHMFX0k4JdrZDeqAApWWgENCKfQ7MVdk9XCV2H3e0KLzswPdntPM8olObMVsJjK30qgYMjBEfWbHT0dC1guuax3E1550dOo7SmUfGQQnBsdcDaMKdVca3ctpfQGRUUCoyxORSXAp3FbPzRj5Mc+xgA0Q2vYOoN/wS3MftZ7zfPFn0qJLwwuCcCCB3rrSGl9RCYqngIIQhdB+lIjDG4QpJrgxQwUw2oRQ7aCJqRRz3w2DMdEnkuty81qfguyhj02B5dGYPSGhA4wh5HYJMQp2s+FX+yD71amIwJriGkhbrg0I/lbszx9SFPrgwYForQdagGdme73E2Yqnp4juRcL6U3yskKxanOiNOdFKUNRalwPQehDYNMo4zdKbnYf6+ixcAVg+R8t6PuQyuyfupFqRGO9RQYpTZMaFcr4qaFBvumbbZAnJe86oYZllpXPi1xggtDXihObMWMspJm5PHoSn8nKKod+Tx8rsOfPrjCrlaFYDul81yfXlJwaCZibVjSGSZ0ktLG8paQXCJBxhhN74PvpPfB/wFaIfyI1qu/kfp9X4qQ104nyZPWmChwJEIIPMehWfWpBS5zNZswOcoKKoGHFLA2yIlzRSWwvBtv7GviOIJ797RwpLRjx3HH0UEwVfOoBi6eKzgwU8OV9vpWDZxJ1+0qYlIMPI/ISsVa32qTzbZ9MJAVijgvrSxHSkJP4nsOUoAjhJ3BOQJhQJvxTE/IcaEgyErNic0RR9YGO2x4V0i00ZzpJBTKkJeK5V7CcifhXCdmVCiEEFR9F6UMa4OEzUHBhSunry34nN/5RS5MVTy00bQjn26uiFy5k71w61KDdjXklQemSJW1bfY9h9ffPD/xEngBop9a97vNYc5WnFHxXIapXeA/dHSdrFA0Kz61wGcrTjmzEbOVFHgunOumJHmJwKAROAh6qb7k4jdfP8HWe36e7OyjAPjzh2h9/j8iPHDvBensHRQS87xlF8DYeVPYrILId9GAK6ASOlQ8H9+1nUrfkczWfStB1gbXdQhdhwPTFRaaEWCNn0CTl5CWmrxQtntTD3AltKs+N85P1o7nA5Ni4HlEoay8T46zwIUAgSApSzaHOVrb30mKEhBEriTyrR2rNobNYc7GKAMjMBiSXJEW5c6ooNSGeugSuLYNuj5IifMSaQynOwmrw5RBUjBKFdIx+NIlzkvWhznDVO24tUrOS4+uBgJyclzMVbA18oBm1cFomG+G5KWin5bUApfAlexpVZhthrz0wBQVzyX0HI5ujHjTbfPsmnQFXtCIs5JHzvWJPAdXClb6KR86usn6IMVzJDcv1tgY5JzqjDi6NsQYQZyXDOMMMWbGZ7khKTXD/NI1NMZohg/8Od2/+VV0NgIg2HUzzVd/A+H+u5+1KDggzvHT3i/yIX0rP15+/SUf/7lCYAsC6dhNy/Y3PQGRL21x7LogBRVfsqtV4eBMnTt3NxESznUSzvUzfFcyWwvY1QpZaIbUx94FniNQ42udENbBc4Krj0kxcA3AGCsfPLI25MxWYlnTgUs1cJBCsDXKGKa2k5AVtiDopyUbg4zlfgpAVmg2hymB5yCMINcaYzRKg9aablwSFyVZabkCDlAPwZGSNNMkV9FX4O3ur3OvfJL/WP4DPqRvu2LHcQDfhXrg4Hsu7chjbZDRrng40s48d09VuGN3i31TNZKiRGmNMYIvuevKcRcmuHxIC8XR9SGHZmuEnsPaIOF/fuIsq70ERwju3NNiY5jTHWU8cq6HQnB6Y8T6IKFdDdAKkrJka6R2ugNjP56Lhhp16X/4Dxh88t2Y0valgt232qJg751PKwpeJh7l1/0fIxI5ygi+Nn8bHzc3PefX47nABULPRh8LISiVplBmx6pbOoJa4LHUrjBbDahHPu1qwEzdZ6kZ0ap4DDJFNykIXYfFZsihOfu+gC0GCqUpSvOUUYLZiV8Hu2FyHcHiuNMwweXDpBi4hrD9FhRK040LHjnXJyusvHC+GeC7Dk+s9Bnmin5cEBeKOCsoSkU/VTQDz+qtteJcN2V9kDHKLFlulBUIaccO0lj3PQ1offU6AgD7xAp/6f8bPGEvvd+Zfzd/ol9xRY4VSahHDs5Y+gTguXYXOV8Pma6F3LJY58BsDWOs7vqh5R5vuWsX85OL0TWDjWFGZ5RzaLaGlIK/enQVRwg+fHyDmxcaHJytsj7M+djxLY6tjxhkBU+uDCiNoRlKJIatUUknuzwOG2rYoffh32fwyT8BZbWM/sIN1O/9Eio3vwbpBUSkvNv/AQ7KFQBO6jm+OP9RRlz9z9321N5wfkOwLTkUws72I8/FkwIhBIHrUA1cKoHD3XvbNCKXeuAxVfVpVXzqoUuaa5Z7MVIKKr51Jaz6zliJYK2PPUcihB2flspQlDZ4barqM1278ByICS4Mk2LgGoDWVh1glQNWQeCPT5is1GyNcvppwWwtIPAcNocZWaFsFR5n3H+qhxCazaF1HFwfppTKjhFKbed2hdJIKdFakxRmpxi42vgl72f4e85HAThjZnh99pNk+Jf1GD7gueBIQS1ySXPD4ZkqWamQjiDwXXa3Ihqhx8sPTqO1oRn5rI1Sqp7HG26dm/iqX2M4sTHCdQS72xWeXB2w0k/pxhmPnhvyqsMzVHxrSvSuB5Y52xkxiHNOd2K0Gct5HVjr5VymegCAcrBJ/8O/z+D+P9spCmRYp3bnF1G754t5aXvI7/s/hCvsmfjfyy/gB8rvuHxP4BKxXQgEriAMfOZqAbM1j15agoGZRsBcLeDQfI35eog2lpyrjN3EdIY5w6Kk5rvMNwIWmyHSsc6GjdBjquYjBXTjgmFWkpd6x0fFdSTz9WCHq6O02ekoaA0GS0yckA8vHpNi4BpAqTTneukOyVAbQ6HsSSCFNQwSwDArMcbQrHgEjuDUVsqx9SGdOMOVkqPrQ7pxRlroHWfBqu/ZmZ0xDBKbdtiJSwrFVbUcBni1fJDf8n905/a/zL+Td+lXX9ZjeFi5pOfAdDUg8l0W6h6e57LWS4gCl71TFRCCz79hFoNgz1REN87ZHOZ8/o2zO2SoCa4dbGccRL7DdMXjvU+sc/fuJu95eJXOKOeevW1uXmxwdH3Ir33gGElWcrqT2Hm4IwgDj41Bao24xvMCh8ujqlFxj+Gn/oLBJ/8E1V8bf1cQHriXb7ivwS/d8rGdztW35W/lvfrey3DUS4MEKh5EnsveqYhmxScrNJXIZf9UhZmKx0wzZKFR3SEsr/RSO1qQAnfcCWhVPCst1AbXgT1TVZZaEae2YvpJQTXwWGpF1EMbfSylIC81cV4S54q0sMZr2hhcR+BKS6CWY97V9FjpMMGFY1IMvEDx2Ep/x9N7+5U34+AQGP9roNSGXCmywjoUDtKCONc4QrM2yHdadyc2B8SFZqYaELgOngMPL/dZG2SsD1L6SYEUEoEhyW2s69WUD7qU/Kn//dwgzwLwMX0jX52/HTuhvTwIAM8DKewFafdURJYrfM9hkCnqoUvFlSxNRdww32CxVWGq4hGPo3KFEHzBTZOuwLUKNc44CFzJSs8aSVV8hw8eXWdrWLCrHfHqwzN8+PgGv/1/TrLSSymVphn67GqH5EXJ4+sxvVFJid0hCy6fK6fRiuTYxxh84t2kxz+x8/25usd33iv5x/d6+PUWb8p+nC2ev+vrtrog9MDzXFqBZKYegJCUSqOwLf59UxF3LrXZP1fl0EyVrbhgtZ+xPrBfrYqH6wjuWGrubFB8VzJV9Zmq+iw2I4ZZySAtGGW2e1kNXKpjEnXoWQXD5Hy8PJgUAy9Q5KXdk1uFAU/7wJuxBNF2CjR5aUgLRTfJ2RrlrA0yHj7b5cRmQugK6oFLNfSsZEqInUJitR9zcmNEVtqOQ6ENvThjlF/9EcG3O3+yE+GqjeDL8h/hYXPgsj1+AAS+pNSaZuDi+R4uin6uaYQeVU+yOFXh4HQN15XcPF9HOoK5WsAgKymU4ZbFBnumJgqCaxlKG05sjujGOb244PalJsc37VjgybUR1dBlquLx0RMdTq4PePhcDykEi+2IPa0KR1aHbI4ytsYFweXqDnw6is4ywwfew/BTf4FO+oBdgL/sJpeX3HM7v7znhxHihdMG9yTjmb+kETj4rosymsBxCQOJ5zi0Kh637Wqydzoich2MEfTSjOVuSlZqwnEHIM4sD2q2ERC6kj1TFe7d1ybynMnCfwUxKQZeADjbTdDjLoAYcwKMeTqDVo6dBu3PoR8XPHyuT15olNG40saM1iMXo62v/mw14Im1IWd7CaNMEUlJs+YBhv9zdIMnV0cIIXBd6MU5m8OS4mqmEI0xQ4/3Bt9DQyQA/PfyC/mB8h9ftsevudCoeIwyRT1wGBWGXQ2fTloyXw84NFujFriEnkuqNTfM1qiHLlPVgKzULLUjTm7GvPHW+cnF6DqA1oZj60M+fqrDHUtNIt9ltZ/SijyOro94xcEpVvop7/zIKe4/1WGlnyAwfP6Ns7hS8tHjHbaSnFGqyPWVDe4yZUH8xAep3v/bnDy9vPP9ZquJuOvvU7vjDTjV1hV8Bs8OATvi3+2Ao8CD0HeRUuAJMQ4nMkSeZLoe4jsuBo3rSuqBRy3wuGGuQj30KZQhK0s8x2Gq4rN3uoIyBldKGpFnfVjGo9JG6NGuXl4u0Ysdk2yCFwAqY9+A7d3+NrbXHWMsMWbHmEhbk4897WicV+DsJIJtDjMeWeuz3svQGBwhrJ/BKOfJQUY/LejF1iUsLxXDTJE8z3aC3+v+j51CoGcq/ET5tZflcZ3xV7PqEOeaWmh3UjN1l1xDI/S5d1+bYVpSDVzO9TIOzdYolIHx3NF3JCe2Ym6Yq00KgesEUgoOzdXoJgWfONnlVYen7cImBLunIh462+Ml+6f4otsWqAYuf/XoCsO05JOnunzxHUscnM3JV8aSt0xTmCtXEAjXo3rraxG3vobf6P4gH7//UX79gZxutwd/+2t0/+63qNz4Sqq3fQHR/rsR7tVbIAW2g+gDQlrb4lLB5qjEG38v8CX10MP3nLH/SUkzCgh9Sc11qYUOnbgkKwz7Z6oEfrhjthYXGs8RaGPopwWOEEhpbYtzpRllJRV/0i242ph0Bl7A6MY52sCRtQH3n+5S813mGgFCCM5sjXh8ZcCTq0PO9RMG42hXpSDXwPhC5jlQqKtvM3yXOMK7grft3H5b8c38hnrTc37cumcd03JliRaelFQDB2PgxvkapzsprzjQphOXpKXGdayp040LDQ7N1rhvv90dYmCln/KFN0+4AtcbklzxgaPrAHhSoo3hnr1tPnWmRyN0qYYOpzYT/uzBZT5yfIOk1NwwX+e+vVM8cbbH0a2YQZozTEqGY/3t9g75SozZFtnkPcG/xS1H/PZDmv/3Yy3Wls/u/Fz4EdGB+6jc+EqiQy9FBs/PSCsQ4Dj2miKFwPdcfCmJAutMqLUhClwagcuBmRqL7ZDId5mrhRycq9GqeJ/xmE/lTRnMjgfBwRkrF53guWPSGbjGkZeKB051+NDRDY5uxMw3fSqey9HVgZXyJNZ8qNQKT0LgCOLSFgJS2JNLAenz1B34XvedO///qN7Db6s3POfHjFyoRz69OMfzBBhB6ECcKXa1K5zppty+1KCfKUpjuGG2QidRvObGGeqhx00LDZJC4UrByc2Yu/a0JoXAdYjId9g/XWVzmNOseNx/qssnT3U5OFPdSf8MXIdXH5olzgs+earHmY0RkevieTa8ynEADa4s6ebnOwRPzb24XDjHNG8rvoVvdf+M/3HrPyO6ZYnF1aMMH/xL4sc/iBpuEj/+fuLH3w/SJdx/F5UbXknlhpfjVNuX+dmcL3y2i59tYmGz6iKwlt2+FCAFWmvLBTCa2YrPfCNkrhHSiFxKZZU9gScplGK6WrOR6heAUmnSXKG0LRDqobfTJZ3gymDSGXgesO08uO3CpTWUWjPKS7aGOcu9lJVeyiDNSXKFLjUnuylKWwmOzXq3AS6lsfeXEiqBS5Ir4iwnzhT5WEb4PNAFWGCT7/N+h69wPsjXZT/Ih80tl/xYAmuRWousa6Lj2u/5joOUktmaz2IrwpGS3c2IbloQeQ6NyGOpHbFnqsJ01Wf/TJXHVwfkpcFzBPfubU+KgesU/bTgiZUB9dCa5jxybsDB2RrL3YRRVpAWCteV9OKcP3vwHKc7CUutkGbkjxM+NVlpjbvitGRwxR26DA4axdMXS2MM+cqTxE98kPiJ/0O5deYpPxUEu24i2Hcn4d47CZZuRnqXNxnRxW4uEOA7EldoHM/Fc8AVEt9xMGjm6hFTNZ/AkwikTZGMHKaiEM+V5KUm9CSh77HUCjk8Xxs7rUoKpa1BWq6Yrvo70kLflbYgMYbZeogUliiqnsq7Gv+n6rsTyeGzYEIgfAEjLzVH14c40mYXlFqTFpon1wY4whp0lEaT5YrIc4mLgtV+ziDNGWUFG8OSjWFGqTQGQzO0JDmlNYO0YKWXsRXnZLm27TdjNfjGXD651IXikDjLUbN0Sfd1sd0NV8JszSUtNEprMgXeOP65Hni84vAU3VFJ6DkIAaO85O49LXa1KtRCD4HgVYenObo+pJ8U+K7DvunKxO3sOseRtSG9pGCpFXJkfchUxefwXJ0Hz3bpxwVH14cobYjzgj964Bx5oTg4VyHONGmpGWYlw6QkV4rBUzIMfGEL7OeDlFtsnCZ+8kPET3yIfOXJp/9QugS7biTccwfB0i3484dwas+9c+ABgQ8V36Xiu7hSMFX1bNyxECBBGkFpbM+k4nsM85I0L6kEHjfPN2jXPG5fbNCu+ix3E9YGGZujHKXtyKEeOjQin/l6QDVwsd5DNrxtO9HVlZa4aH0HbBG/zbmqBi7N6DPHEBNMioEXJAqlGaQlaaHISk1a2DaYI60feOAITmzEPLzSJytKHj03YLWXUo47CVLYuVzoOLSqHs3IY5RpVocpaV7Qi0u0gVydtxjdbvfB8+M8eKnY9ol3gH3TEUlRYAx0kxJhIPIk1dDn9TfPsjpI6cQlrzjU5shazOG5Gl940xwnNmNKbXjdTXMM04JHV/rcOFcnV4Yb5yfEwesdw6zkydUBnpS0Kh6PrQ546f4pXCk4sTlic5hxeiumXfU5ujrgf35ymdmqy57ZKifWE0IPRql1++ynJVvJ08+gQHBZnQs/HSEZr5IP8Vf6vmf8edlfJz1xP+npB0lPPogarH/G7zjVNt78Qfz5Q/iz+/Fm9uK1lxDuhS2cLpYjAJZ7JCVUfIHv2MLbcSRKM7YZdqgFDqHvUgskzcinEbgkpUYIaAQeiy1rr56VGlfagDbfsf4ghTIU2m5gAlfSqvgcnKkSeM7YgMgWAttGRBNcGCbFwAsMZsycXe1lO9VtXJSUynBifcjD5/o8uTokzktC16EeOhSlJleGSmATwCSCLC9ZTwrSwo4M+nFBoZSV7xQGASjxlJmftrvrq7OJMVxOMyEHuGWhSqoUW4OCTCkKBTVf0qx6fMVdS6wOM851M1570yxHVodkpeZbXn2AYVryxGqfO3a3mK4GPHC6y337WgwyxXw9pPkMZKYJrj+c2BgxyksCVzJISgpteOn+NuvDjDNbCeuDlOPrI+7a2+APPnaaj5/scdNinVbkc3JzROBLTm2M6IwyRpkhf2p7GqvDz69AlX2XOMJPe7/IfrHC1+Rv5xPmxs/6+8YYyt4q2alPkZ56kHzlCMXmGZ7xzBcSt70Lb2YP4dKtNF7295/xMZ86sLCqDPv/GvAdCH2Hmu9QD31mGj7NwCPyXKRjHQNHWUlSaFRpGOYlylir9HbkMV3z2dUMWZqusLtdYbFZwZWCPVMVSqXJSvuVj79KbfMLSmV2TNuEgFsXGxOi4efAhED4PENpw6mteCcBTGlDN84YZAopYLWXcnJrxCArGSYFUkA9dFlsBAS+S+BJqr6kULA1tG3/UilGuWYYlzbSWGmSsqQsDUqDMpbo4wkrB8rGc06Hy+uo9kxwUPyK95P8oXoV79Kv4lKLgu2OgC/h9qU6xsDZXkqpFWkBkQfV0OULblogUYYk19ywUCctFOvDlH/48n20Kx4Pn+mhtbUwPbk54s49TXzXQeZ6Ugi8iLDYCnlydUBWaGbqPo+eG3Cul7KrFaG0oZcUzNR9jqzFfOmdu9mKS872UhwJYWAXu5sXGjy+OsBzMrZGGoVdDM24/Xa5DYokmp/yfolD8hwAP+P9Am/O/yMxz84HEELgtRbwWgvU7nwjADpPKdaPk68eI189SrFxinzzNCYbUW6dodw6gymyZy0GPv1vco11J/RduzsPHEltHHU8TArKQuO6BaHn4LsOGEiKkiRTVt7ZrlANJKWynhBrw4Je1ifJbLZBI/Dop8XOJiZTyhYCylZbriPHKqlt1QG8/+g6YnytCVzrW/AZrw2Ciu9MjMU+ByadgSuAJFec7cb0k5JSa/pJCcKQ5opRXpLmhk6ckZW2n18oQy1wqEUuAonrCPJxXHGpDGmpEcDprRGduGSU5gyyklIz7goohHQIpH2sONNXtH35TPgu5w/5N97vAvC/1cv5V8V3UV5krelhdx2hCzN1H1c4rI9SdGmsSsKBqarH37ttkT1TVZa7CZ04Z/90lZNbI/ZOV/mKu5b4uyMbnNwc8QU3zrFnusooLzkwXeXJtSH7pisTotGLDGuDlPV+CtiO3KmtmC+8eQ7XkZzYHHL/yQ7dtKQVeZRa8fsfPUs9dJmu+5zrJhyaq7NQD3n/kXUeW+7TT0tSfX7nLLn8hfY94kl+3/8hHGFP5N9Xn89bi3/Cc+28GWNQwy2KjVMUm6dwatNUb764nBAHu+kIfAhdl8BziDwHz7GhQ9tphWC4Yb7KLQtNZqohgSd2ugPdOKObFBSlwXUlxkAvLohzm58iMAS+Qzh+zFpguwlC2KVfjE2PpBBjXpQlHO6Zsp2GZ8J2pPKLDZPOwPMIzxHMN0JmanbnIURqQz88l73TFbS2BYMyhnro4ruS9X7GkfUhJzZGluTmSdCafqoxwlCWmvVBDhikFFRDj7xQNuFQSZSyJMRcWULN+O5XxV/gNnGCf+X+wc7tDO+iCwFX2M6GxD7nXqoARVGaneyGdujyxlsXuW/fFJuDjLPdhIrn0E0LkkJz3542HzvZ2dGV37mnxfHNEQdmqmzFOdXAmRQCL0LM1gKGqU3Jsyx1waMrA+5YarJ/ukaSKz55sssgLakFDq+9YZr3HdlECmsY1ksKDs3WecOtC0S+w6dOdekkBamyZEKASEByGccFnzQ38Avqy/kX7h8C8NXO+zimF/kF9eXP6XGFELj1adz6NNGBey76/i7ge+AJ2x2wHQJrjuY7klbo4juSblZQ971xZy7h2OaIrNhu/ysC16FUhlFWjkOJJK1xsuG2KVg98mhVfBwpCMcGbL5ryYTbrq1V391xLFTKjhK2Td4Mhoo/Od8vFJNX6gIwzEqKMQlGYAfy2pgdq2EruZUU2s63CnV+3lULXPZNVREIMqXoJQW1wMF3JWv91IYK9VPWhxnSCDSGqufSzwsGaUGSa9JSUWpNUSiSXJFr+7iNik/o2jadlDwl9UsxSnP6iUFd4Q6BR8lPeP8FT9iy44yZ4YeKb7moxwid834IAlsYOGiy0oytUAWNyONVN8xy554W53oxf/HoGp50uH1Xg+V+ylfcvYtK4FDJJL7rcetig5V+ysxYMbAxzDg8V7t8f/gE1wyEEOydqnB0fYTRhqmKz7H1AYuNgJl6yA1zdUaZ4vHVPoUyRJHPgdkqT64OaQSSrUHOWj+hFnocnq1yZitGoyFV6NKGZGGgJtkxKboc+LnyK3mlfISXyCcAeKv7uzxoDvB3+s7Ld5CLRAnoAhIMDopGpHEluNJhmCnWhhk132GhGVKLfFb6GVVf4Y1b+IErSXKohR5KG2ZrPrtaIe3IJ1GaQZqP81sMw0TgOYKpqr9jLJYrtaOQSktFJy5YH2Y7UcdSsqM2kAIOz9Wft9fqWsNkTHABWB9kJLnaydQ2xtCNCzaGGWD5AVIKq6MdJ6YFjs3oLrShKDWOY6U5m8OMrNT0koJ+UjDICuJMkWQlW6PctslsWWtHAKXVTDsStNL00wKlwYyLEgMIY5ASirFCoZ9qsqskHfhu53/yPd7v79z+h/kP8EF9+wXf/6kmLr6A0BPMN33S3NBLShqhQ7vqU4987tndRjqSj53YYKYW8KrD0/RThZSSe/e26cY5c/WA9WHGrbsaDNKS/dNVjq6PmK0HTE08z1/USAvF8Y0hcabppTmlsrkEoefQjXM+daZLlmuWBwmPLfdY7mb4DnSSAhTcubdNs+IySgs+cGSDPFec7qeoElwPhIG8tAvm5UKLAX/ov439chWALVPjy7J/z1lmL+NRPju2cwq2z9Pt7AKJVRp4rrUSDn2PauBSD1xmGgH37G4yVQuYqtqCvDf2Eqh6LntmKlQ8F4QlBebjjkFW2GvcICsplR77ECjrpiolB2erzDVCmpFH4Dr4jsRzz0sPJwqhz8RETXCFYIwtCLZtM42xblnrw4xukjNISvpJQa41Ugi0BjA7s7QznRhHCIQwLHdStuKcpLBRxUIYEHZ2Nhjrmx1HkOaKOLcdB4yhKBXaGMqx9fDzFUFwszjFH/n/D/64K/Db5ev5f8pvv6D7Cqz3Odhq3nOhEnjsaoVsDnJGeUnoO7Qin6TQHJypcOuuJqe2EqaqLlO1kFbk0Y1zblyoM1MNmW+GPHC6yy0LDUZFyaHZGuuDDGNg7/SEPDSB9fg4uTnibDfhbDfhhrkqd+5uE7iSB8/0uP90h12tCAmc7iT8zeNr1AJJL1EcnK2y2IpIC81DZzo8vjJEojnXt3p5T9pz8XKrC24RJ/mf/tuJRA7AA/ogX5u/jYyrV9xuk5AtE8Dyd7Sy/iXCQC2ULDYjFhoBmTbEWUlc2LSnWuAw2wg5NFvl8FwD35EobGfVAEYbSm2TWqUQ46wDgxnPB7UxFErjS0GrGiDHHiO3LDSoR94k8vhzYFIMPAcYYzi2MXrGhX97fr0dQdxLCqQQbI0yWxWHHs3Ipep7pIViY5Tt5ARst/GTQrHeTznTjcf+AYJW5FEZt8I6o4zT3YQsVxgjSAtFnJcM8oI81+OTw2pytTJkl3k3ciEIyPkD/4e4XZ4A4KyZ5k3ZjzHksy+6PnbxN9oWAK4jQEgCVzJT83AdB6UM3TSnEXmUpWGxGfKm2xY500sRGNYHGYdmqwgh2T9d4Yb5BggYpgVbo5y5RsBCI0IImz9ww1x9okueYAfGGDaHGR85vmVJpe0Ke2Yq1AOPk5sj2lWPpXaFx1cGbI1S3v3ACsZopBS88bZd7J+O6CQ57/rEGR5fGZCVio2hpRBWfYekUMSX+YT8Svk+ftr/pZ3b7yxfx78tv4PLKeW9WDzVtlhxnlDpbecXYIl+UjpUPMlMPWC+HlIPPQJfMlX1aUceGitDjDNFI/SIAs8SOCsege/iiPNmQzcv1Cm1ISvVuJugdxwLtwmMviut74HcLl0EBoMj5c41fed6Pr44P5VnMF8Pryu54qQYeI7op3aRd8ZEle0ZlPOUVpQxhnO9dOeDpbSxs31lW19gZTiVwKE3KiiNoRZ49BJb4TsC0kIjhGCYFBzfGJIUGo0hVxphIM0VxzdH1nmv0GzGOYOkIMkL0gLKq+ojsA3DT3u/yFc679/5zj/K/y3v03d91ns5nDdDkkAg7c6iHrq0Qg/HEXSSgiQtaFd9mvWQiiu5c3cbCSRlyWo/5959LQ7O1mlHLo3IRqS2Kx4PL/doRh67pypMVX2OrA3ZP12dkAYneEYYY/jo8S1Od2Pm6xG3LNap+A5/8/g6ty01qfoOnzzVYbmb8LePr7ExyJhrhHzBzXPcON/g8ZU+f/v4GnmpWB/lrHYTotDh5rk6j630ONMrL+t5+Q73v/FN7l8CoI3gy/If4WFz4DIe4fLDA3wXXMdyq2ZqFaRj7VB918H3JDXfIfAc2hWfG+frtCo2h+WVh6ephx56bMy2vfEfZgXduEQpg+uKHS8Cz5UkeUmcnx85lLY1a7sZQljnUs9h71QFOXaA3eaCbW/wZmrBi7IYmFwlnwWN8HNr0YUQ7GpFrA8ylDYEHviOR+g5pHnJqFDEuaIzKhhmJRv9nMIMx1HFgsCT6PGY4cxWwiArKJUhKRSOFCS5JikKSqXsHC1VbI0yklxTqKvfDdjGtzt/8rRC4NfLL3rWQkACFddW3Yk674oYOiAcLONYQFJoTGlbh4vtCrunKsS5Yk8rwpOWWBnnmi+8ZZZ7904R58r6tpdWP35iM8ZgT+Tpqr09WwsmhcAEzwohBPfua4+98xUfO9lhrh6wd7rCJ09u8dqb5njdTXM8cq6PMfDex1Y4uj5kuZewqxXxkn0tdrVDHl0Zsn/aLi4bw4wznZSveel+jqwPee/DK5eNVPjvyn/ELfIUN4ozfHfxXS+YQmD7SrlzbnvQjHzUeGNkFQR2w3S6E+M7gvb43FxqhNQrHpHrEvkOw6Sk1IZ+MuRjJ7cY5SVxbr1ZDDYPoRq6RJ5jNxGRh+tIAk8yWwvHLoVQD1xakbUzFsIqSloV3xINzURl8EyYdAaeAcYYhlm5I1/ZrhrBVpfbLattnNqKUcogxl2ptFSs9zM8V1IP3R2ySy/O2RxZjkBSKJJMERcleWH5AGmpSXLFWj9htZdwbpCNJVG2Ck6Lq58t8OkQaH7L+1Fe5TwMwIf1zXxD/gOfISUUnG8bbl8LJdaspeJLIt8j8iRpoWhVPOabEf24oFlx+byD03zqbJ+iNOyZrlAPXTZHOffuafOKQ9OsDTJKrdFa0K56DNOSs92EmZrPbbuanNqKqQYuu1rR1XpZJriG0U8LznYS5uo+JzcTNkcZJ7di0qzk7r1t6qHLWj/j0ZU+Hz6+RXeUEXoO9cDlrj1NVnoZK4OMhYbHkbURK52YMPS5daGGNoKPHlunE+vLcu7O0qEqUk6YxcvwaJcXEmsK5giohXZk6joSTwocKa1ZkePsjBZyZWhG7nhhNhQaylJjEChjc0jyUhO4DgvNiPlGwI3zNeYb0bi7YAs6Y2C66jPftKZMO7HI476MMeBKWxjY22bcxbXj321S+DY8R15XngSTMcFzgNaWMwDbcyX7gbIfHJsSWChNrjRSwEovBWzgkBCCeuBRD60u1hjB5ihja5ThO5LNUT6WvoDRgk6csdJLWRmkYAxZrtmMC/KiINWGUimbaqiM9Q5g7M5Vno8YvdoEQpeSt7m/yeudT/CW7EfYpLnzs22SkTd2aCu0vTg4wnIFpio+kefQSUuM0dyy2OTm+TrHNocYBK8+NM1HT3ZIM82rb5xhrh5wfHPE3Xva3LdvipNbIzwp6SY5zcjKk5JcsRnnvPrQDGe7yaQQmOCicaYTo7UlmhZK0x1lfPREh06cs7tdYb4ZUCrDE6sD3vfEOmVpfUIqvs9NC1U+cHSLQZzjOoKVfkY/KRBopLQ+/Fmhd64lAns+XG1jsOcD24mjvgu+K3EFVEOP2WpA4EuyEjaHKYWyiqzthXiq4tGqBOxqhRycqbGrHRH5NhhJ8xT+FrYT4I75AlobqoFDPfTIlaYcj2wLPf5/bSWIQtjruBoXBraza7sNjdBjtn79hJhNioErjMdX+pzYsHbDSaEotGK9n3O2m9BPrWyw1AbvKXOpXlIwyHKKUlCUGikNnmtDOHwpKUtNrrUlumiDdARV3wEjMWh6aUkvsTpco22an8HO3dVTugZXK5CoxYAuVscrgMCxNshCCLLcoIGqL5mpuZRG0AytFnmYKpqRx42LVQot6AxzhIAb52tsjUocB166fxqDYZAqXnFgmtuXmpzYHCERbAxTmhUfIcCXksdXB9y3r8UwU5NCYIJLgtKGI2vDp0lQ00Lx+EofgGrgsdSK8F3JB46s8/4jGxSFZn2Y0k1KFho+3bgk8iTKaE5tJnRGORVfkpcl3VRT5Jpc2/Nzuyi4HOeqR8m/d/8rv61ezwPm8GV4xMuH7Q6hXbDttcERYmdnvh0+FHiS6apP4DnM1UIWGlYdpI0h15pS2ceqhg5V36EW2G5roTRqPGqtBi6l1jtEQlfaEcG23NsAeakYZYq0VOSl5RodnK3hOoJq4F7QePhaw6QYuMI4tj6kE+dgBBuDlK2ksB9MZT9s68MMRwhypVjuZqz2EqLAoRp4lGVJWmocIfE9weYgozMqdipZ1xFoo62pkRA4wspmDMqmFrouCMjHroPGKniswZCxRYLSV36k4DCu+MczO4xBKUWhbUcgdAVTNY9C2eInKTSuA83QZ7Zh53tSwChX3LzQYKri00sLIk/iSMlcM+S1N8yyux1xbGNEUthCohG51vnMk5zcGFIZqzhm6wFz9cub5z7BiwdJrji2MeTgTI3It23iQVpwajOmGrqMspKKb3X0xzaGnN6K2RhmpLnm1OaI092YYVJQC1xakU9clJzsJHgSqp7gTL8gzUq7sI0dNw0QSuteeCmNgoCcX/D+E693PknXVPn2/K183Nx0WV+Xy4HtomC7CFLjfyMHKj74rocQgsJoKr4dL8jxiNZ1rJXwttNhq+IzU/fZ1YoIHDl2LjXMNSIcxyoHar5LI7IOiPXAhif1x3LtqapPK/KoBd6zEgXLcee3KG1XwRFix+nwWsOkGHgOiPPS2ghzXkngObaidR1J6EmUNgghOLEx5Gw3JR9r/09txpzp2Ohco2GYF2Sloh8XbA5yEIbAc5mueTQqPkmu2RikNh+9KBkVmrxU1ohIaYpiHOUr7CIfOALXlSS5TfDT5nzUr+OMLYjN03ccz7b7cMZfPMW62BknBW2PHgyGd7i/ygf1bfypfjkSqHrQrnpEnscoL6mFliE4ykv6iaLUMFt12dUKWRnmdEYFriOZqzq4rm9jTj3rwpgWmj1TEaO0YGWQE7oOh+ervGT/NJ93aAbfkTx4tscos74DknG70RGc2UoYZiW3LzXZM1W5ruZ8Ezw/2BrlrA+sW+U2L2iQFpzaiplvhEgh6MQ5K72UYVbgCEEvKekmOUYbjq0NOL4V0x3lRL7DVMUnLRVJoWmEHqc2R2yNMozWKCMotCFTtqum1MUX8PeKJ/gf/jt2vD4K4/Afy6/nv6ov5vmUHX42ONhrme0i2kW/1BptIHQlVd+lErk0fBffkwSuw1TVR49b+vXQpSwNwoGa75EpQy2Q7Juu4TuCvdPVHRVYUmiGaYmUUAssP2HfdIVWxS7seWkX/Tgr6cQ5/aQkzksCzx5z28wocCVzjWtzo3HNFANrg5ReXCDHFpLuuGUUOA6hbz8IVxtpoegnhf1wpAVGW0LLqa2YlV6KKwWVwKUobZiQ0OC6NmO70AaltI0szkrWeomN3TQ2fbCXliSFstJDCZHnUPMkrutQKIMjYLYZMl/zaUUuaa45201YGaZsDArrQFjai4bL2L537AiitF3UPQmhJwk8QakFo7SkNLZwEADSnpDbMlyloRx/ClxsUZErWxD8W/d3+GfuH1Mayb81/5wPBK8hch3yceVc8x2U0RR6LLfEMN8Ima75nN6M2RwV+K6gFbkoLTgwU+WO3W20VpztpexqRLhS0kkzkkyxfyri8EKDmVqIwfIxKoHDYiNkbWC5GUIIVvsZjoT79k1NxgITXFac6cSUyrB/prrzvSRXnNgcUQtc5hshjhQ8dLaHK2GUKWtBrjWn1kc8eLZHkpX0M0UtcJiu+QSu5GwnYZgVnOkkdOMCIayxTqkgLe157IDtHEio+IIkH1f70n7/mYQJb5If4f/n/ecdS3CA3yzfwNvLb0Hv+Ac+f3Cxiz+cvwZJMZYYb7MJx7/TCK3HgDe+xhjsCCd0HcrSUBrNfDOg6rtUfZcb5mtM10JqgUNeGDKtyAtNaUBpzY3zdW6ab1ALXRwpyArFMFMMUmvsNsjs4q+ewjWoBi67mqF1kB0nzipj8B15TXIJrplioFCWSa+0JXRsLzL5mFkP7ATM1EP3shYHejy3kuPdf1IoRlnJ6iBDazMmEuU7BJVCa+JUUWjNKFWc7g45uZEihCFwHQJfIoxBGInCEoZ6SUmSl/YY0oZ7FNpqYFcHGYM0Jx4b89vj2L9PIIgCSSv08TwJCJRSCOxOZZiVJKUdK2gAbVv2niNQGtLCunqBZfAHLkhnXDUYRVoayvJ82851GRMjz3cFvs35M97m/cbO6/VJeRv/yvshFIJyfIIWyowTw6x2eKYeMlX1OLpuWdmBI2hWfCqhy91LDfZO12ysaWG4e08L33V4YqXPsY0hr71hjpccmCLyHQZJydGNIb4DWaE5uhEzVfVoRj4C600wWw8nhcAElx2WQDykHnrMP2U3uO00ujnMqQUuvitY7qbsbkesDzOWuymBIwg9h0+d7bHcjTm5EeM4gsV6SCPy6WcFJzb6HF0bMUgKSuyYINd2sffGi2ZanpfppSUUz3KVFlhp393OE/wn9+dYFFs7P/sLdS8/UPxfbNHY8fa4FLLxtgrIc8a+JiXknO87uJyXFW4/TSHObzi2RyJKPeXnWBdDVwhcVyC1sdHQroMQGozdXG1fM2uBHQv6jstiM0QIQ6EEvieYrgZPmfcbRpkiV4o97SqNiiUZ+47cUQ4EYympNrb4qPh2/JCPM2UEMN8IbVfAOR+M5Dvymow/v2aKgc+FdBzOM8xK+mmB50iakUcz8nCk4Mja8Gnyv+3ugiPFzhvpu9auMnCfblk5ykpObI52mKlJUZKVdv6XFmrsMKgwwmC0YSvO6cQ5EmuRiTFIR47tNLfDiQyjrIBx1KYxZmeWb324odAKowxSynGbX6OUJikMymik0ZQasvGoQQCeK3EkONLBdcAb6xjzUlMYqzrIi/EccvyOasZtf2ErcGO2F3479sAIXGkIfReUQQk7/y+V4rXpe/kR8V+Q4wjVM94BfmT6xzmX+6wNc7JSIQwEvksj8Ag8SS1w8VzB1qigFxdMVVwWmxGB73H7LmsmcnR9RCcu2DsdoTWs9BI6ccHrb53n0EwNBMRZyWo/o+JL6zBWau7c3SRwrLub61ip0v7pysSCdIIrgrzUHNsYMlsLmK49fTdYKpstYrlBKZ1RzuG5GpHnMsxKcqWp+A5H14asdBM+cnKLzqigEjhUfRdn7JZ5tpcwSko2koKpwEFLwUY/oxhvn/Nxsb692I4bBMBYoSOtg6cxVnbcoM+v+D/JPfLIznPdMA2+r/gO3qvv2xkXupy/HkgHxDjgxwgoPs3N1HnKseG8WminEHAg8p2xM6shkNJ2HIV1+yu1PX/V2GdAjs2HhBBj1ZFEY7lDgSPxPUkl8GgEDo6UlAqMMASuJPBclNYYDK3II/JdItehFnoEnmChGeE7kqmKRy30GGUl3bggKzWNyCXyXeKsoJ+W+I7k5sXG2PTNjhCqgWtzZdzLa21sjDWRs062Y/dDbbuo2zb1VxLXTTHwVBhjGOU2+a8b5/iOpOI7NMfGE8aMpSJjCUmpzc5MKC/tm+G7Nkwo9CSeK/EdYatRAAOlsUS3QmmKsbNVrsxOB0MIkAhObI7oxjn9tNyZdymtEcYqCOJMUWBwpWSQFDhS7ngUCCBTiqxQDJKSUV6ijB0tDFI9digUaK3JS1s8aKNxhcAZe3Bvt9ik0Qjp2EKjNBhj/07XdfEcgdG2QDLY54UUlMqeXLP1gHrFJ8mKsY+4xhQ53zz6Vb6yfPfO674mZ/kn/n9gXbcxwhZYs3XfFgOBQ8338F1bOZ/rJyx3U6ZrPnuaEdONiANTERtxwdogY67uc8dSgxMbCUfWhyS54vMOTbN/pja2dc7JlWJXM7LdB09yeLZunRfTYieM5MB09bpyCZvghYe0UBxbH7HUij7rjnCll9JPCw7OVHEdy+fZVhSd2BiyFeccWx/ST0qakVW7RJ7Lci/hw8e2wBhWBxmNQNKKfI5vjdgYZGTFeaJdK7LueaNCjw14LCM/Ls4XCRpoi5Sf8f4zr5OffNpz/G/6S/g583VkxkVrW0gYYzuB26NDa4ZmCwM55h2p8RjRmHEBIc5LhT1pC4dS2RZ/6ElKZbkQ27kDUkocDFpYfoAjbBaBkILId6gFLkuNiP1zVaZrAdIYOllJf5RjjMD3HKQYj1NDl2bkM1XzbDvfc3Ed2BwVnOumtCOX6XrAMLMpr83IY7YejrMlSjZHmfUbkA7VwDoeNiLvsnGNlLaGccnYdj4bKxbU2EER7MbQPMXjIPQcWhVvZ0N6JTJUrsti4KkwxtBPS7pxziAtaUYe0zX/s1ZZWhvSUpEWdsF9fGVAXhpboTm2OAjG3tbR2Cpz2xcb2PHCzktNphSha41HAs9KWNJcsTHKbfpgVlp+QFaSKY1AUPUltcin4jt2DqU0CMEoU6z2U9YHKYEnaFc8urHlLVQDie84nOunlmhobIu8Mi5mSm1NjspSELhQjzxqgZ2PKW3oxPaiFHqSvNR04oIkK8g0CG1Q2A5F5MKC7PL/xj/OLerxnddsIBv8+7mf4rjYRXdU4glBo+rRiHwW6gHV0OXk5ohBVtCPbVFxy0KdhVaFw7NVlloRnbggU5oD01XivOT+011LBIo8Xn/TPEvtiI1hxtogo1WxM7uVXkoj8mhFLme76djnQVP1PXa3o0khMMFVQZyXHN8YsbtV+awFwZmOzRn59CJVa2M5P72E01sJm6MUYwT1wGGYazaG9rwfpopTm0Nq4893phVPro7ojTKScUtbSHCMQGHIirF3h90HEPmSRhgQhRLXwJuTP+Jbs98kxFqfF8bhH/CjbFQOYsZuntubIzWW7uWlAWHGPCSHwNvewEgcYe2D9Zhsl4yJDZ4DRhnSMS/Kk9Z+3ZNi7MUCYKiFDlXfdnT3TdeYbwS4rr0mbQwyBqmVYktHMFcLmGuE7GpG7GqFzDci2hWPwHPwHEve7qcFa/2Uk5sxBkO74uOMC4z5ekh7TDhc7iYsdxPr/xK6zNVDWhXvOY+btyXlSaFI87G8XGkCV+KNXQ+NscTIorScAxiTn8d+Ct5YMbHNl5OCHWLj5cR1Xww8FXaRs4uwzb8OaEXPLhv5dBTKRv+mhR57W9vKzs6rBL7j4Djj8YOw4RtFqe3o4ikklNB1qIUONd9S+3KtGKa2VTXMCrZGGXFmOxX2hJGUY26CKyW+a4lKg6xkqVVlvhHQTQoKpVioRyw0A7aGOY+s9MnG0kRHChaaIXvaFUJP0k8KTndjjq+NLPlxrMHNlMKX9gQotLVJ7sVWzlgow83ZA/wH/bNM09t5Xc4Eh/mVXT9Mx1si8iX7ZirsblXAQK41q72Eh5Z79OJinCdu2D9bZaFZ4ZaFug0d0oaldsRsPeDY+pDHzvXH+Q3w8kNTLDYiBmlJxbeGH4O0JC0Vs7WApFBsjXIC175OE+ngBM8H4rzkxEbMYjN8VnmZMYZTW7Hd3Y1975+K/v+/vXsPk6I+Ez3+rarurr5Mz42ZYbjOCIIXorALouISolmQ6OqiRhc1iYhyoidrjs8TYowmUTw+KuzZJxc9SY5BmByMm+Qc1I3XoHERFER8NgdFURDlfp17T9+r63f++FU3lwEZUOiGfj/P08/DVHV1v1NMd731u7y/VJYNu3vY2hYn67q0xdIoZTC4NsSmtjjd3tTktTu6cF0Y21TD+OYadnSmePXDXXy0M4ZSurvQNCDjKrLZnB40rHTVPstU3mwbHwpFk9rBI7l/5XRjG09a03jMvJFcLofCxLJMfIbSJYPdfQP7bL9eVEiP33KwLP251IPv9E2NaeqxSRknR09aYRjQryJAZdBfmMefyOgKrrWRAENrw1SE/LpEcNhPJOjX4xeUS1fC8QZg5ggFLCpDAQbXhPRSxdEQ4YCFYRiFQd26LLv+vk1kct4Cb7rKa21E3wymsjk2t8bZ1pnEMg2G1ISorwwStX3H1PyfcfTFPt9lnczm9KBGv06Y8q3KOVeR9lqhg35dPCkc0KWTA94A82Ioq2QgTylFt9cclMzmqAkHvJG8R58FKqW8FbF0krD/KlmmYRRWxrK8AS6u69KT0Rf/rlRWf7B8ugSnZRgkst70wniW1p40nfEsSUcPLAz5LCrDPioCPkxLN7W1xzMYmFSHLRQGXcmst763Ubg4Oq5iUHWQkM8imXNJp11cIOA3idr6QryzK8XGPT3eF5Ui7M2ftiwDAz1zY5TawJ2b78DcbxLiysqvsWzE9xlcV4NlWTREA5iGRVs8zdbOONvakuzuTpNIZ3W3hdLNYCG/RX2FTf/qIMMbIgytjeB6cSSzOV1ECYPmugixVJZERv8/Bby7hIgXd2cyi+2zCPlNaiM29VFbpg6KoklmcnzaGqeuInDYKWauqxMCVyma+kV6ffm7rmJrR4K/rNtNIu1QHfaTc/V3yIe7u0hnXOrCPjZ1JGmPp6kO2wyri5B2cuzqSrJ+V4/uc8dEoQgGLGpCuouutSfLzq4U3Um9nHL+wh4hzQye4ZeZK8lYNj5Lz9P3KZe61CY+yTWQUP5CM7yFQcZ18Vt6al3AMkhlHW+5dJect76IZRpUBfVo/iE1YRQGe2JJtnUk6Eo6RGwfXxpYzeB+IWzLoH9lkLAdIJV1aOvRiY9l6haSYQ0VDKwK4bNMEmmHLe0JdnYlyTg6ufH59OJCNSE/8WyOzngG228xoCpIv4hNlXfjF0tl2binh+1dSapDAYbVRaiL2vitvs2oyH/np7P77vqTmZw+136L4H5jCXKu8roCXN2S7LcIBXRxo6DPKqmWy7JMBvaX8u4qOxIZwgEftZEAlcFjywz3lx8Mkh+DkM2pQpninJsvk6lL5PZknMKMiMqgn+pIgFqvGVwpfcfRHs/oJsSOJB2JDGlHkc5mQRnEszprrvYGS+ZnDkRtCxf0COaOpK7vHwrozNfSgwDzJTazXmWuiO2jM66bDKu9JjWfYRJ3HDLpDP/tk/9Cv5715MwAq8/6IStrLmNHe4qetMPQ2hA14QD51UJ8piKWyZFK6xYOJ6fnUJ/XXMuAmhDbO5Js2B1jS0eSth69hHNF0EdFwKKmwuasAZVUBv2FjD/l6OlApgnJjEtNJEB9NEBVMEDEtgo1xYUoprSTY0tbAttnHbarSinFNu8zeXDti2Qmx5b2BEGfnpnUFk9jYJDKuvgNxUd7enTVQtvHto4EG73WvWF1Eb40uJKupMPKj9tIZLIMrLTBtOhKZlFAyKcHI6dzLrFUhng6i+Poz2rYDhRuMmLJDMmswk+W58zZhI00z1Zcx0v+yexJ6YGAftNAKZd0Tvdv63ECBqGASXU4wIDqIM21EWorbBT6IryzK0U8lSUcMBnZv5L6aJD2RBrXGzxtmga14QB1FTbBgEnQ7yssKpY/j0opYmlHT+uO6zn/XUldpyWWytKZyFIftRlWr7sZKkMB/JZBdzLL5tYErfE0g6rDDG+IHLa5XQ9q9AZee9/jeiElfdNnmUbhwm8aBspQ5FwK4wD81r4LfyhgEfJbJb88etknA3k5V9HpdSHklKI2EqA2HDihFxj9x+wQSznE0w6hgB5rkB+9mk9QUlk9a6IzoQufdCaydCUybO9MYRmKkDcSOZ7JURH0cVpdBQ2VNt2JDOt26S8SPRJWkckpIgE/DVU2Q2pChQRgZ1eK7lgPDdVRtnWmCmseqC0rmfTBj3l99L9Sffp55HKKRFY3923c00N7PEMwoOfhpjNOYfnPnIIz+kf50qBq/D6TtJPzponqu/tdXUliKT3KqSrsJxoMYPt1f1l+hkfApz9Y+UE9fc3khTjRXFdf7JPZHAOqg4ctX7s3lmZPLEVjZZCqkJ/Wngxt8TQDqkLURgIopdgbS7O3J43tlc7tTmX52GvFyzkuyazuYtzakSCbg6E1YUb0r2B3LMn63T2E/Sa1Fbb3fZEBA6pCev59LufSk3HZHUuSTOfw+wzCfh8Bb32TryRe5nvpXxXi7TGjvF17Jasbvs6WdFQPlvZuQAwTqkN+6isC9KvQUyRtn0k657KzI8HmtgQpx6U65KOxKkx1WI/0rwr5qAj6qQr6SDsubfEMTs6lPhqkPmpj+yxcXJIZV0+XTjm6NLE3biuVdYmn9Xdmfmq55RUByreebmtPkHRy9K8MMbQmRMj2eQWH9k10LAws96avGwaF98j32xteJ3/WVaSyukXYMg3C3gU/f+E/GW9MJBk4hJ60Q3uPLiTUlwGHx0POVfSkHHoy+o884+hpSBHbR8CbBmn7TK/ghVtIEDa1xtnSliCdc3GcHLu603Qls5gGhAP6jzST1TMoLNNgYLUehGOZJj2pHAEzx4iOZQzb+L/p9tfzzLD/zsjGKCMaKgoDWFLxGO/uzvDBzhiGASG/qVsVAnqaT3cyy8a9MWIpB6Wgf1WIsc01ek6uqZsu3Ry0J9N0Jx0itkV1OMBp/SLUR+3C7+QqVZj+uP9qYkKcLLoSWXZ2J7EM3exeHfb3SmI74mk+3BWjM5FlaG2Y0xsqsA/q6so4rlfN0KEm7CeezbKtLcl2r787vwR3a0+a7e1JOpMZ8lOKt7Yn6Uplido+GqJ+HAdimRw518W0DPymiYFBMuPQk86SyLg4rks06Odb6t+ZHn8K2xtgmJfFx8rgRF6pvJr2qlE09wszvL6CiO0nkdEF03Z3p/hkTw/bO5Kkci6NUZszB1QyvL5Cl/qNBOgXCeCzDNKOIp52Cn36Ib9Fu3dz1pnIEE/nCPp11UFdPljfPCW9u/T6qF3oRnRyLntiaTbu1QmT66rCeKmQd15Nr8Q5cMD0blPPP9czxrwu1vwMMaW8Im0+XRk1399/qtyUSDLwGbJeVtnurSBYHfJT9QWMMD3WWOJpPRhm/2YrYN8Syl79hFzOpS2uKyMGLJ1Bx9IObfEMSikitp53m3Fc2nrSdKezRKwc47pe5UufzCcU3wqAwmTtVX+hMzSEgE/XbUhk9IfcNAwGVQcJelN6XHRm/fGeGOt2dZNIOzT3izCif5RwwO8VjNqX3SezOeqiNoOqQ9REAlSFen9JCnEqyDdrd8b1wLaAN7jPVfpzDbpLzmdCLKXHHEWD+g434NMX6qy3TG9bT5ptHUmUUjRWhaivCJB0cuyNZWjvSdGZzLK7K83ubj2NUb++Ipl2aY2nybl67v2A6iBRr7XC77OoDuoWSDvgozrkI57OsrU9wa7uNFVOOxe3/o5x7S9gq1Sv329X1Rj+X+O1rItOwA2EMRXebKkskaDJiPoIXxpUQ9BvkfRaBDOO6y0HbFAZ8lNXESAa9OPkXFJOjkRa1wmosPcNrMtPyUtkcoU5/5XegEM9c8ChrUf/7tmcnpnQ1C9CXcTGVYqU45L2BvXpCrB6htgBq0R6BYx0Sfn8aH6jUG74VK5XIslAH+TrFnTEdWtB0K9rFlQG/QR8xb2A5TPWwh+192/T0HN4OxJZupK61G+Nt4JfV9KhK5EhQJraba9R8clLhDb9BcuJ93r9Ded+n40jZ9IRz9KddAjbJmf0jzKgOkTAZ5HK6kFLm1oTfNIaxzRhzOBqxjbVUB0OkPIqRMa9bo2Az6RfRPcB+op87oQ40fLTll1vPr6eHXTg5yCV1d2FPWmnkCxYpq7PEfLqpViGobsTM05hgFrO1TOQUHq5Xj2yPgeGIhLwEbAMtncl+GBHN13JHEHLoF+FTShgYXl3xHqQr7dKoGXqWJJZkpkcdq6bCzpe4Nydf6QitavX77a3ejT/c/gv6YhlsCw9On9gTZjGKt1NErBMXRzJW79FoccaJDI5ulLZwiC7gNffHvRbGIaekZA/T/mmeL9lEvdaTXuSDm2JjF6wDWis0t0L0VNwZcHjSZKBo+R6c1e7knrqStBvEvXqZIf8VklmjvlaCx3xDPF4jP4fLiK8+x2CW5ZhOonezzcsWodO5cOhN7I5PIq0o2cf+E2DrJOjy/ui0qU6DYJ+g/6VIUY2VDC4NgwYhS+xfLNaKGCVRPIkRLnJD0DuSmaxfXoBtVjKYUtbkh1dCTKOKiwNXBexqbAtfD4T229RFdQzCCzLIJnJsac7xe7OGIENLzJsQwv13WsL7/Nc7c28PWQmQ2pD1FcECfh91O1aRjC2ia6qs0nXnU0gHMVvmoWxPxW2j6Df5138D6zolx/El/VWBUw5ujx72tE3FwpdGt1xXarDAWojAWrCfulOPEaSDHwOruutwJdyiKWy5FxFOODTayR480aLMnUkl4WOzdC+EU77Mvj31eXPOVnMuUMxsr2TgJwvzK4hl/PJmd8mWTEEn6XvRnxeSWLH1VXNgn6LsDeoMexl6q63wFH+biffxCaEKA357oquhO6uyJdmT2b0Snxt8QzJtJ6tk1/xM//tlfWqq6ayeqXUWEoXCGtOruPC9mcZ3r6M96f8nsCgcwpF2WyfSfWLtxP86Bn9/oaJUz2cdMM5pKtOJ1kxmHRkCNnKIbjhBizv+yI/68r1yh/7zHwrArgovXgbuqhaZYm00J4K+nr9PrGj504Spml4rQJ+IETG8Ua1Zhw6E0ky+80tzReeCHij44+YJCgFrgPWQU1d8VbY8hakY/qRbIdEOyQ7INEK7Z9C5xZQeqqi+1+Wka77ktfXpqcwDqw7l8jOt/Tb2FGMM/8BzroSa/jFDPKHGOS9VX7aoUIVKiyWYsuHEOLIDMOgMugvzGxIO/uq4tVHg2RzLolMjp60bvVMZ91C96PtMwj6LMK2RTTko1/EpibsJ+g/B6WuJZlKMsQxSXmVVxMZ3dVRs/vdfe+vXPwdG/B3bKDioNiUL0TqtMm0Xfa/Ci0CrgtG9zZCH7+AClVjhWsJhCsJRioJhqMY/ghgQzYAygbL9pZYFcdT8ZOBj16G9/4PsN8KO/llMZQ66N/AFT+HcO2Br/Hv34FEx5GPRcHQC2Di9w48ftObsPx/HOb9IYAiANR4P+emziVVfUahKlUslaV2yXdRbR9gqhyGm8VUDoabAzeL4W0j54CTQg2dQPZbzwF6gSUAY8da/H+4sc+nbdvGtSTNYToh8eb/hsbdAB0TYOgFGKdNAv+hi6NYplHyc2OFEMfG9lnYPosqPl/fumEYhENhDq6Wn8u5qBGTcXbWYe5+D/MQrZGF13CSqKyuzGiZuisjYJnYrZ8SfOuBvgdz0/Nw2sQDty2+FXatBdPnrYBkef/2fjbyCYQBdSPhsnkHHr93Pfz5h/ueo3/pw/884Q5ovujA11jxGGxZeeRjDQPsSrjyFwcen+yEF7zr0dWP67iLpPjJQOtHsPb/9v35Ux/pve3jv0BsZ9+O9x3iAhnfAxtf63MIViZWKORTkNwC7ev6dHwq2cOmvXH276AJxk2G9eFYZZioqiEMrvRjNkYP3Dn2pj69vxBCHCvLMuHyufoHNwdtG2HnGtj1LnR8qrsyOzdDSpc2D1fVE649KKXIdh/lmx6iiFD7p7C3b9+5pGO9t6U64eNX+x7DOV/vvW37O/Dh8307PtLQe5uT2nf9u/rxvsdyHBQ/GeCLuEP9vK/xBcRg9j0LD5HhrAEH9d0Eh0DDKLArwI5CqBZCNboVJFQLVYOh33CMmmYMn33oFxZCiBPJtKB+pH6ce+2B+5KdOinwhXofV1EPZ1ymu0GTHZDugUwPZBOQy/R+vu8QyYDr9N52OF9EN+jnfY0S74otfjIw9EK45Mf634bBYZtY8v8OHmIAxFd+AJn4kY8FqD2t9/EDRsM//PTA531Wk0/tIe7hL7lX//GbPrB8OjkwfXpsgGnpny2/bpkIHNyz5sX1X1f03i6EECejULV+HMrwS/TjUHIO5NLgpHVi4KQh2tj7eV+bq79zXUePpXId3VLhOnqw9f5dz5H63sdXN8Hl/woHj6E/THcxjaN7v8a502HQuN7PPVR3tT/S+/hAxb7r3xdyY3zsZDaBEEIIcYrq6/VbhmgKIYQQZU6SASGEEKLMSTIghBBClDlJBoQQQogyJ8mAEEIIUeYkGRBCCCHKnCQDQgghRJmTZEAIIYQoc5IMCCGEEGVOkgEhhBCizEkyIIQQQpQ5SQaEEEKIMifJgBBCCFHm+rSEcX5hw+7u7uMajBBCCCG+OPnr9pEWKO5TMhCLxQAYMmTI5wxLCCGEECdaLBajqqrqsPsNdaR0AXBdlx07dhCNRjEM4wsN8LN0d3czZMgQtm7d+pnrMJc7OU9HJueob+Q8HZmcoyOTc9Q3J+I8KaWIxWIMHDgQ0zz8yIA+tQyYpsngwYO/sOCOVmVlpfxB9YGcpyOTc9Q3cp6OTM7Rkck56pvjfZ4+q0UgTwYQCiGEEGVOkgEhhBCizJV0MmDbNvfddx+2bRc7lJIm5+nI5Bz1jZynI5NzdGRyjvqmlM5TnwYQCiGEEOLUVdItA0IIIYQ4/iQZEEIIIcqcJANCCCFEmZNkQAghhChzJ1UysGzZMmbPns3FF19MVVUVhmEwY8aMYodVNKtXr+ayyy6jpqaGSCTC+PHjeeqpp4odVsl48skn+fa3v824ceOwbRvDMGhpaSl2WCVl+/bt/OxnP2PKlCkMHTqUQCBAY2Mj11xzDatWrSp2eCWhs7OT7373u1x44YU0NjZi2zaDBg3ikksuYfHixUes+V6u5s2bh2EYGIbBW2+9VexwSkZzc3PhvBz8uO2224oWV58qEJaKBQsW8Nvf/pZwOMzQoUPLeuGkpUuXcumllxIIBJg+fTpVVVU8/fTT3HjjjWzatIl77rmn2CEW3Y9+9CM2b95MXV0dAwYMYPPmzcUOqeQ8+uijzJ07l+HDhzN58mQaGhrYsGEDzz77LM8++yz/9m//xnXXXVfsMIuqtbWVBQsWcMEFFzBt2jRqa2vZs2cPzz33HF//+teZNWsWjz/+eLHDLCnr1q3jJz/5CZFIhHg8XuxwSk5VVRV33nlnr+3jxo078cHkqZPI6tWr1dq1a5XjOGrlypUKUDfddFOxwzrhstmsGj58uLJtW/3nf/5nYXt3d7caNWqU8vl8av369UWMsDS88soratOmTUoppR5++GEFqIULFxY3qBKzePFitWzZsl7bly1bpvx+v6qtrVWpVKoIkZUOx3FUNpvttb27u1udffbZClBr164tQmSlyXEcdd5556nx48erb3zjGwpQK1euLHZYJaOpqUk1NTUVO4xeTqpugnHjxjFq1Cgsyyp2KEX12muvsXHjRm644Qb+5m/+prA9Go3y4x//GMdxWLhwYREjLA1///d/T1NTU7HDKGlXX301EydO7LV94sSJXHzxxbS3t/Pee+8VIbLSYVkWPl/vRtRoNMqll14KwMcff3yiwypZc+fOZc2aNSxYsKDsv6tPJidVN4HQli5dCsCUKVN67ctve/31109kSOIU5Pf7AQ55IRSQSqV47bXXMAyDs88+u9jhlIS1a9cyZ84cfvSjHzFq1Khih1Oy0uk0v/3tb9m+fTs1NTVMmDCB0aNHFzUm+ZSfhDZs2ADAiBEjeu2rqamhrq6u8BwhjsWWLVt49dVXaWxs5Jxzzil2OCWhs7OTn/3sZ7iuy549e3jxxRfZunUr99133yE/i+XGcRxmzJjBWWedxd13313scErarl27eg1+nzp1KosWLaKurq4oMUkycBLq6uoCDr8sZWVlJdu2bTuRIYlTSDab5Zvf/CbpdJp58+ZJU6+ns7OTOXPmFH72+/38y7/8C9/73veKGFXpeOihh1izZg2rVq0qtCqJ3mbOnMmkSZMYNWoUtm3zwQcfMGfOHF566SWuvPJK3nzzTQzDOOFxnfAxA3V1dYedVnGoR75JXAhx/Lmuy8yZM1m2bBmzZs3im9/8ZrFDKhnNzc0opXAch08//ZQHHniAe++9l2uuuQbHcYodXlGtWbOGBx98kNmzZ/O3f/u3xQ6npP3kJz9h0qRJ1NXVEY1GOf/883n++ef5u7/7O1auXMmLL75YlLhOeMvA9ddfTywW6/PzGxsbj2M0J6d8i0C+heBg3d3dh201EOJwlFLMmjWLJ598km984xv8+te/LnZIJcmyLJqbm7n77ruxLIu77rqL3/zmN9x+++3FDq1obrrpJoYPH879999f7FBOSqZpcvPNN/PGG2/w5ptvcvnll5/wGE54MvDoo4+e6Lc85eT7Jzds2MDYsWMP2NfR0UFraysTJkwoRmjiJOW6LrfeeisLFy7k+uuvp6WlBdM8qSYbFcWUKVO46667WLp0aVknA2vWrAEgGAwecv+FF14IwDPPPMO0adNOVFgnlfxYgUQiUZT3lzEDJ6FJkybx8MMPs2TJEqZPn37AviVLlhSeI0Rf7J8I/NM//ROLFi2ScQJ9tGPHDkBmXNxyyy2H3L5s2TI2bNjAlVdeSX19Pc3NzSc2sJNIvuJn0c5RsQsdHKtyLzo0bNgwZdu2+utf/1rYvn/RoY8++qh4AZYgKTp0aLlcTs2YMUMB6tprrz1kcZ1y99e//lV1dnb22t7W1qbGjBmjALVo0aIiRFb6brrpJik6tJ/3339fdXR09Nq+fPlyFQwGlW3bavPmzSc+MKXUSZXOvvHGG8yfPx+AvXv3Frblp2iceeaZZTGlxefzMX/+fC699FImTpzI9ddfT2VlJU8//TSffvopDz74ICNHjix2mEU3f/583njjDYBC4Zz58+cXBqVOmzat7JssH3jgAVpaWqioqGDkyJE8+OCDvZ4zbdo0xowZc+KDKxEtLS3Mnz+fiy++mKamJiKRCJs3b+aFF16gp6eHa665hhtuuKHYYYqTwB//+EfmzZvHV7/6VZqbm7Ftm7Vr17JkyRJM0+TXv/41Q4cOLU5wRUlBjtHChQsVcNjHpEmTih3iCbVq1So1depUVVVVpUKhkBo3bpx68sknix1WycjflRzucd999xU7xKI70jlCWlPU8uXL1YwZM9SZZ56pKisrlc/nUw0NDWrq1KnqqaeeUq7rFjvEkiUtAwdaunSpuu6669Tpp5+uotGo8vv9avDgwWr69Olq1apVRY3NUEqW3BJCCCHKmQwXFkIIIcqcJANCCCFEmZNkQAghhChzkgwIIYQQZU6SASGEEKLMSTIghBBClDlJBoQQQogyJ8mAEEIIUeYkGRBCCCHKnCQDQojPdP/992MYBi0tLcUORQhxnEgyIIQQQpQ5SQaEEEKIMifJgBBCCFHmJBkQosSsXr0awzC46KKLDvucOXPmYBgGDz744DG9x4svvsjkyZOpqakhGAxyxhlncPfdd9PZ2fmZx61atYpLL72U6upqKisrmTx5Mm+99dZhn3vVVVfR1NSEbds0NjYyfvx4fvjDH9LT03NMcQshjg9JBoQoMeeddx5jx45lxYoVvP/++732u67LwoULsSyLm2+++ahf/+GHH+byyy9n6dKljB07lmnTppFIJJg7dy7nn38+u3fvPuRxK1as4Mtf/jLbtm3ja1/7GmeccQavvvoqkyZN4pVXXjnguS+88AITJkzgueeeo7m5mauvvpoxY8bQ2trKI488Qmtr61HHLYQ4jpQQouQ8/vjjClB33nlnr30vvfSSAtQVV1xx1K/79ttvK9M0VTQaVatWrSpsT6VS6tprr1WAuvbaaw845r777lOAAtQ999yjXNct7PvlL3+pADVw4ECVTCYL2ydNmqQMw1DvvPNOrxhWrVqluru7jzp2IcTxIy0DQpSgG264gcrKShYtWkQ6nT5g3/z58wGYNWvWUb/uY489huu63HnnnYwfP76w3bZtHnvsMUKhEIsXL2b79u29jm1qaip0T+TdfvvtnH/++ezYsYNnnnmmsH3Pnj1UVVUxduzYXq8zfvx4otHoUccuhDh+JBkQogRFIhFuvPFG2trael1k//SnPzFw4EAuu+yyo37d5cuXA3DjjTf22tfQ0MCUKVNwXZcVK1b02n/NNdfg8/l6bb/++usBeOONNwrbxo4dS2dnJ7fccgtr16496jiFECeWJANClKjbbrsNgN/85jeFbS0tLWSzWWbOnIllWUf9mjt27MAwDJqamg65v7m5ufC8gx3NMQ899BCjR49mwYIFnHPOOdTX1/OP//iPLFy4sFdLhxCi+CQZEKJEnXvuuVxwwQX8x3/8Bxs3bgTgiSeewDAMbrnlluP63vt3BRyJUqrXtiFDhvDOO+/w5z//mTvuuIOBAwfy3HPPMXPmTMaMGUNHR8cXGa4Q4nOSZECIEnbbbbehlOKJJ57g9ddfZ/369UyePLlwN360Bg4ciFKKzZs3H3J/fvuAAQMOu+9gW7ZsKbz2/nw+H1OmTOEXv/gFa9asYdOmTVxyySV8+OGHPPLII8cUvxDi+JBkQIgSdt1111FTU0NLSwu/+tWvgGMbOJg3ceJEAH73u9/12rd3716WLFmCaZpMmDCh1/7FixeTy+V6bf/9738P8Jl1EQCGDh3KD37wAwDee++9o45dCHH8SDIgRAkLhUJ861vfYufOnfzhD38o9L0fq+985zuYpsnPf/5z3nnnncL2TCbDHXfcQSKR4Oqrr2bQoEG9jt28eTNz5sw5YNvjjz/OypUraWxs5Kqrrips/+lPf3rIegUvv/wyoBMDIUTpMNShOvyEECVj3bp1nH322QB8//vfZ968eZ/r9R566CHuvfdefD4fX/nKV6irq+PNN99k69atjBgxguXLl9O/f//C8++//37mzJnDrFmzaGlpYeTIkZx77rl8/PHHrF69Gr/fz5/+9CemTp1aOKa6uppYLMbo0aMZMWIESineffddPvroI+rq6njrrbcYPnz45/o9hBBfHGkZEKLEnXXWWYX++FtvvfVzv94999zD888/z6RJk1i9ejVPP/00tm1z1113sWrVqgMSgf1NmDCB119/ncbGRp5//nnWrVvHV7/6VZYuXXpAIgDw6KOPMn36dBKJBC+99BIvv/wylmUxe/Zs3n33XUkEhCgx0jIgRIlbsWIFF110EZMmTWLp0qXFDkcIcQqSlgEhStxDDz0EwD//8z8XORIhxKlKWgaEKEErVqzgiSeeYO3atbz99tuMHTuWt99+G9OU/F0I8cXrXVtUCFF069evZ8GCBUSjUa644goee+yxQyYCs2fP7vMKgC0tLV9wlEKIU4W0DAhxEmtubj5sMaCDyUddCHE4kgwIIYQQZU46IIUQQogyJ8mAEEIIUeYkGRBCCCHKnCQDQgghRJmTZEAIIYQoc5IMCCGEEGVOkgEhhBCizEkyIIQQQpS5/w++3+rdoS1jagAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgcAAAG8CAYAAABKRAYQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzde5xddXno/8+6r7Wvc5/JJJMbgYSronhDjkDV0nNa1KIHrdSKl1NbsVKL9OWxIOLd49Fai1pfPaig9WetqLXW4gWBAlJBQCQJuU0yyWQy933f677W9/fHmhkyyeRKECLf9+s1L5h9WbP2Tibr2c/3+T6PIoQQSJIkSZIkzVGf7hOQJEmSJOmZRQYHkiRJkiQtIoMDSZIkSZIWkcGBJEmSJEmLyOBAkiRJkqRFZHAgSZIkSdIiMjiQJEmSJGkR/WgelKYp+/bto1gsoijKU31OkiRJkiSdAEIIms0mg4ODqOrR5wOOKjjYt28fQ0NDx31ykiRJkiQ9fUZHR1mxYsVRP/6ogoNisbhw8FKpdHxnJkmSJEnSb1Sj0WBoaGjhOn60jio4mF9KKJVKMjiQJEmSpJPMsZYEyIJESZIkSZIWkcGBJEmSJEmLyOBAkiRJkqRFjqrmQJKkZ4ckSYii6Ok+DUmSjpJhGGiadsKPK4MDSZIQQjAxMUGtVnu6T0WSpGPU0dHBwMDACe1DJIMDSZIWAoO+vj5yuZxsdiZJJwEhBK7rMjU1BcCyZctO2LFlcCBJz3JJkiwEBt3d3U/36UiSdAwcxwFgamqKvr6+E7bEIAsSJelZbr7GIJfLPc1nIknS8Zj/3T2R9UIyOJAkCTj2JimSJD0zPBW/uzI4kCRJkiRpERkcSJIkSZK0iAwOJEmSngYjIyMoisJdd931dJ/KCfPVr351UYr7rrvuQlEURkZGTuhxpaeeDA4kSTrpXXnllSiKgqIoaJrGihUreNOb3sTo6OgJ+xmrV6/mgx/84Ak73tDQEOPj45x//vkn7JjPNOeffz7j4+MMDQ0d1eMPFTC9/vWvZ3x8/Ck4Q+lQZHAgSb8F/ChhX82jHcRP96k8bV7ykpcwPj7O6OgoX/nKV/j5z3/OpZdeSpqmT/epHSQIAjRNY2BgANM0n/SxTqQTeTzTNBkYGHjS2+scx2FgYOAEnZV0NGRwIEknuSQVjMy2SVLB7lmXOHnyF0MhBG4YP21fQohjPuf5C9Hg4CCvfOUrufHGG3n00UfZsWMHAN/85jc5++yzsSyLZcuWcfXVV+N53sLzN23axCWXXEJHRwe5XI4NGzbwta99DYCzzjqL3bt3c+ONNy5kKOZT5Tt37uR1r3sdnZ2ddHR08MpXvpJHH3104bjzqfUf/vCHXHTRRTiOw6c+9aklPyUPDw/zmte8hnK5TD6f5xWveAW/+tWvFu6ff87Xv/51XvWqV1EoFLjqqquWfD/mU/F3330355xzDrZtc84553DnnXce1fHuuOMOLrjgAhzHYXBwkCuvvJLp6elFf0euv/56+vr6KBQKvOENb6BarS46h6WWFYaHh7n88svp7u7GcRzOPPNMvvWtbzEzM8OaNWsAuPjii1EUhdWrVy96LQCtVotCocCXv/zlRT+r3W5TKBS4+eabF277/Oc/z+mnn45t25x66ql8+MMflu3Bj5JsgiRJJ7maG2LrGkNdOUYrLrPtkP6S/aSO6UUJZ3zgRyfoDI/d5g9dQs58cv88zTeHCcOQH//4x7zxjW/khhtu4A1veAPbt2/nz/7sz6hWq9x6660A/NEf/RFnnHEG9913H47jsG3bNuI4y8TcfffdPPe5z+X1r389733vewHo7e1lamqKl770pbz61a/m7rvvxrIsbrrpJi666CK2bNlCf3//wvlcffXVfPKTn+Tcc89FVdWDAqAgCPjd3/1dBgcH+clPfoJlWXzoQx/id37nd9i2bRs9PT0Lj/3rv/5rPvrRj/LZz372iIHU1VdfzWc+8xmWLVvGxz/+cf7gD/6AHTt2LOqmd+Dx7rrrLi699FI++clP8pWvfIV6vc61117La17zGu69914UReFzn/scn/70p7npppu44IIL+N73vseNN9542HOZmJjg/PPP54wzzuB73/sey5cv5/HHHycMQ7q7u3nggQd44QtfyG233cb555+/ZMahUCjw2te+lltuuYW3vvWtC7d/+9vfRgjB5ZdfDsCHP/xh/vEf/5G/+7u/47nPfS5btmzhHe94B67r8vGPf/yw5ynJ4ECSTno1L6InbwHQmTcZq3pPOjg42e3atYtPfOITDA0NsX79eq666ipe9apXccMNNwCwfv16brrpJi677DJuvPFG1qxZw8jICO9973s588wzAVi7du3C8bq7u9E0jUKhsCi9/cUvfpHly5fzD//wDwu3fe5zn+OHP/whX/va1xYCCYD//b//N5dddtnC9wcW6X3jG99gbGyM++67b+Fn/NM//RNr1qzhpptuWlTv8Pa3v523vOUtR/VefPzjH+cVr3gFAF/+8pe58847+cIXvsCHP/zhQx7v7W9/O+985zv5i7/4i4XbbrnlFlatWsVDDz3Eeeedx6c+9Sn+4i/+YuEC/dd//dc88MAD3HbbbYc8l89//vMIIfj+979PsVgEFr/Pvb29AHR1dR12GeHNb34zr3jFK9i1a9dCtuGWW27hsssuo1gs4roun/jEJ/jnf/5n/uAP/gCANWvW8JGPfISrrrqKj33sY7LA8QhkcCBJJ7EwTvHChGJ39qtcsHRSIfCjBNs4/nVex9DY/KFLTtRpHtfPP1b33HMPhUKBNE3xPI8XvvCFfPe738UwDDZu3Mj111+/6PEXXnghQgg2btzImjVruPbaa3nb297Gl7/8ZS688EJe/epX87znPe+wP/OBBx7g0UcfpVAoLLrd8zy2b9++6LYXvehFhz3Wxo0b2bBhw6KLom3bvPCFL+Sxxx47pmPtb/+CR9M0ecELXsCmTZsOe7wHHniA+++/f1HQM2/79u2cdtppjI2NHVRMecEFFxw2OHjooYd48YtfvBAYHK+LL76YlStX8rWvfY0PfOAD7N69m7vuuouf/OQnQLZE5Lour3/96xcFAUmS4Ps+ExMTJ3QOwW8jGRxI0kmsHcQULB1VfeIfwIKl0wriJxUcKIrypNP6v2nnnXce//RP/7RQ6De/rHAo8xeN+f9ef/31XHHFFdx+++3ccccdfPzjH+e9730vH/vYxw55jDRNueiii/jiF7940H2lUmnR9/l8/rDnc7jlgQM/5R7pWEdypOOlacp73/terrzyyoOe29/fv1DkeTyfvk/EJ3ZFUXjTm97Erbfeygc+8AFuvfVWhoaGuPjiiwEWzu+b3/wmp59++kHPn89QSIcmCxIl6STWCmLy1uKLeM7UcIPkaTqjp4/jOKxbt441a9YcFBiceeaZB22Pm/9+fhkBshT3O9/5Tm677TY+9KEP8fnPf37hPtM0SZLF7+t5553H5s2bGRwcZN26dYu++vr6jun8zzrrLLZs2cLExMTCbb7v88ADD3DWWWcd07H29/Of/3zh/8Mw5MEHH1zygrm/8847j40bNx70mtatW0exWKRcLrN8+XLuu+++Rc878Puljnv//ffTbDaXvH9+58aB7/NSrrzySoaHh7n33nu59dZb+ZM/+RNUNbuknXnmmdi2zfDw8JKvQddPrsD36SCDA0k6iXlRQt5anCHIWzrt8Nm7pXEpf/M3f8P3v/99brzxRrZt28YPfvAD3vWud3HFFVewZs0aWq0WV111FT/72c8YGRnhkUce4fbbb+eMM85YOMbatWu57777GB0dZWZmhjRNede73oUQgle/+tXcc889jIyMcO+993Lddddxzz33HNM5vvGNb2TZsmVcfvnlC8sVV1xxBb7vH3JHwtF4//vfz89+9jM2b97M29/+dqrVKu985zsP+5wPfehD/Pu//ztXX301jzzyCMPDw9x+++28/e1vX7iwX3PNNdx0003ccsstbN++nU9/+tP89Kc/Pexxr7rqKhRF4VWvehX33HMPu3bt4kc/+hHf+973gCwrkcvl+PGPf8zk5ORBux/2d8opp/DSl76Ud7/73ezYsYM3v/nNC/cVCgXe//73c/311/P3f//3bN26lU2bNvHNb36Ta6+99ijfuWc3GRxI0kkqTQVhnGLri4MD29BIhSCIn33Zg0O55JJL+NrXvsa//Mu/cNZZZ/G2t72N17zmNXzpS18CQNd1qtUqb3vb29iwYQOXXHIJfX19/PM///PCMT7ykY9Qq9U47bTT6O3tZc+ePfT393P//ffT39/Pa1/7WtavX88VV1zBrl27GBwcPKZztG2bH//4x3R0dPDyl7+cl7zkJdRqNe64444nlQb/zGc+w7vf/W7OPfdcHn74Yb7//e8f8dwuvvhifvazn7Fp0yZe9rKXcc455/Ce97yHfD6PZWXFr1dffTVXX30111xzDc997nO5//77+cAHPnDY4/b393PffffR2dnJpZdeyhlnnME111yzsL1Q0zS+8IUv8K1vfYvly5dz7rnnHvZ4V155JY888ggXXHAB69atW3Tf9ddfz2c/+1luvvlmnvOc53DBBRfwt3/7twvbI6XDU8RRbChuNBqUy2Xq9fpB62iSJD093DBmb9XjtP6Di7tGZtqUHYPO/JEb7Pi+v1D1bdvP7l0Ov02++tWv8pa3vOW4ekZIJ5fD/Q4f7/VbZg4k6STlhckhq/pzpoYXycyBJEnHRwYHknSS8qIEy1j6V9gyNHwZHEiSdJxkcCBJJyk/Sg+ZObANFT965s0UkH5zrrzySrmkIB03GRxI0kkqjFNM/RCZAz0rSoxOwJwFSZKefWRwIEknoSQVpEJgaof+Fbbl0oIkScdJBgeSdBIK4xRDUw/bbU4uLUiSdLxkcCBJJ6HDLSnMM3WVUC4rSJJ0HGRwIEknoSBJjhgcWLpGIJcVJEk6DjI4kKSTUBinh603ALBk5kCSpOMkgwNJOgkd1bKCphLFgjSV29kOpCgKX/3qV5/u0zjhPvjBD8r2wNIJIYMDSToJhUmKdZjgYH6ugq4pz6rsQbvd5oYbbuCMM87Atm3K5TIXX3wx3//+95/uU5Okk4oMDiTpJJOmgiheehtjkgp2TrfYMdXi8YkGcZISxM+O4KDZbHLBBRdwyy23cN1117Flyxbuu+8+zj//fC677DI+/OEPP92nSBAET/cpSNJRkcGBJJ1kwiRF1xRU9eBtjPtqHrqqcsayEiu7csy0AqpueMw/QwhBu91+2r6Op7Pfddddx+OPP84dd9zBG9/4RlavXs1ZZ53FRz/6UT74wQ9yww038Mgjjyw8vlar8YY3vIFCoUBvby/XXXcdafpEIPWv//qvnHvuueRyOTo6OnjhC1+46Pk7d+7kda97HZ2dnXR0dPDKV76SRx99dOH+u+66C0VR+OEPf8hFF12E4zj8n//zf1izZs1B0wuFEKxdu5brr79+4bZvfetbnHvuudi2zerVq3nPe95Du91euD8IAv78z/+ccrlMZ2cn73znO2XwIZ044ijU63UBiHq9fjQPlyTpKVT3QrFjqnnQ7U0/Epv31UWcpAu3bZ9siP/cOiXSND3o8fM8zxObN28Wnuct3NZqtQTwtH21Wq1jek/SNBVdXV3iLW95y5L3u64rHMcR73nPe4QQQgCio6NDfOpTnxJbt24VN998s7BtW3z2s58VQggxMTEhDMMQH//4x8Xw8LB4/PHHxTe+8Q3x61//WgghxOTkpBgYGBDveMc7xKOPPiq2bNki3vWud4mOjg4xMTEhhBDizjvvFIBYt26duO2228TOnTvFyMiI+MAHPiBWrVq16M/krrvuEoDYvn27EEKIW2+9VXR0dIhbbrlF7NixQ9x9993i7LPPFm94wxsWnvOXf/mXoru7W3znO98RW7ZsEddcc40oFoti1apVx/TeSSe/pX6H5x3v9VsGB5J0kplu+mLPbPug23dMNcVM0190W80NxZ1bJkWlFRzyeL8NwcHk5KQAxKc//elDPubss88W/+N//A8hRBYcXH755Yvuv+aaa8SKFSuEEEI89NBDAhC7d+9e8lgf/OAHxfOf//xFt6VpKtauXSs+9alPCSGeCA5uvvnmRY8bHh4WiqKIO++8c+G2t7zlLeKCCy5Y+H716tXi7//+7xc97+677xaAmJ6eFq1WS1iWJb7whS8seszzn/98GRw8Cz0VwYF+vBkHSZKeHlFy8E4FN4wJ45SuvLnodlNTKVg6s+2AzgPuO5xcLker1Toh53s8crncMT1ezC1DHK5jpDhgqeL8889f9P0FF1zApz/9aRqNBs95znP43d/9Xc4880xe/vKXc/HFF3PZZZcxNDQEwAMPPMCjjz5KoVBYdAzP89i+ffui2170ohct+n7t2rVccMEF3HrrrVx00UW4rsu3v/1t/vZv/xaA6elpRkZGuPbaa3nf+9530Plv376dfD5PEARLvobvfe97h3wPJOloyeBAkk4ycSLIW4unMVbdiM6cedDF0dRVLF0lSlLcMCZnHt2vvKIo5PP5E3bOT7Xe3l66urp47LHHlrzf93127tzJK1/5yoXbDhdIaJrG7bffzoMPPshPf/pTvv3tb/O+972Pb33rW1x66aWkacpFF13EF7/4xYOeWyqVFn2/1Pv45je/mfe85z3cdNNN3HbbbSRJwuWXXw6wUPfwmc98ZtH5zlu+fDnbtm074muQpCdDFiRK0klmviBxnhCCuhvRkTMOeqymZoWLBcug5ka/ydP8jVJVlSuuuIJvfOMb7Nq166D7P/OZz+B5Hm9605sWbrvvvvsWPea+++5j+fLlCxd3RVF44QtfyPvf/37uueceLrzwQv7f//t/AJx33nls3ryZwcFB1q1bt+irr6/viOd7+eWXkyQJ3/nOd7jlllu47LLLKBaLAPT39zM0NMTWrVsPOva6detwHId169ZhmuZBr+HnP//5sb1xknQIMnMgSSeZOFm8jbEVxBiagm1oSz7e1FRypsZkI2BZ2f6t/bT54Q9/mLvuuouXv/zlfOxjH+MlL3kJrVaLb37zm3z84x/nxhtv5Nxzz114/I9//GM+85nPcOmll3Lffffx+c9/no9+9KNAdpG94447uOSSSxgYGGD79u38+te/5s1vfjMA73rXu7j55pt59atfzQc+8AGGhobYu3cvt99+O5dccgn/7b/9t8Oea7FY5A//8A/5v//3//LYY4/x4x//eNH9H/3oR3nrW99Kd3c3f/iHf4hhGGzZsoUf/OAH/OM//iP5fJ4/+7M/44YbbmDZsmWcfvrp3HzzzWzZsoWurq4T/M5Kz0pHU5ggCxIl6Znjsb01EcXJwvdjVVeM1w4uRJo3MtMSlVYgtk40RNOPDrr/cMVMJ5tmsymuv/56sX79emGapigWi+LCCy8U3/ve9xY9DhCf+cxnxGtf+1qRy+VEd3e3eN/73ieSJHtfN27cKP77f//vor+/X5imKVauXCn+6q/+Svj+EwWfIyMj4oorrhC9vb0Lj3njG98oduzYIYR4oiBx165dS57rT37yEwGIoaGhhZ+7v+9973vixS9+sXAcRxQKBfGc5zxH3HDDDQv3u64r/vRP/1SUSiVRKpXE//pf/0u8733vkwWJz0JPRUGiIsSRNxQ3Gg3K5TL1ev2g9TRJkn5z4iRly0STs5aXF27bOtFkRadD3lo6EZj1PlBIhEBBYaBsL7rf93127drFmjVrsG17yWNIkvTMdbjf4eO9fsuaA0k6iUSJwNhvScGPEpJUkDOXXlKArCgxiFPylk4r+O2tO5Ak6cSRwYEknUSiNMXYrxjRDRPylnbYOgJDy3YrFEwdP0qJn0WzFiRJOj4yOJCkk0gUp4syB+3gyNsTs62MAlVVyJka7SB5qk9TkqSTnAwOJOkkcuCyQjuMKRyi1mDefOZACEHB0mnKpQVJko5ABgeSdBKJ9utxEMYpcSKwjcP/GmuqgqJkgUXB1mXmQJKkI5LBgSSdRKLkiWUFN4zJW/pR9S0w57IHjqERJSnREeoOhBBESUqSyvoESXo2ksGBJJ1EklQsFCS6YUL+MLsU9qdrKnEiUJSs7sA9TPZACEEQp6SpIIyFLGCUpGchGRxI0kkkSgS6Op85SLCPMjgwNIVw7iKfM3XcKD7kY5M0a31iGdrCXIajaIciSdJvERkcSNJJQghBkgp0VUEIgR8lOIdomXyg+WUFgJx16B0LQgji/bITqqqgqQpxIoMDSXo2kcGBJJ0k4lSgqtkFO4hTNFVZtHPhcIz9gwNDw4+SJbMB81kDTX3iuLqqEqdCZg8k6VlEBgeSdJKI99vG6IXJYbsiHsiY63UAWf2Bqat40cHZg0QINHVxgaM6t9shlcHBCTUyMoKiKNx1111P96mcMF/96lcXFcjeddddKIrCyMjICT2u9NSTwYEknSSiNF24cHvHsKQAoKvKoh0KjqHhhouDAyEEaXpwcADZdsj5rMIz0ZVXXomiKCiKgqZprFixgje96U2Mjo6esJ+xevVqPvjBD56w4w0NDTE+Ps75559/wo75THP++eczPj7O0NDQUT3+UAHT61//esbHx5+CM5QORQYHknSSiBOBMZfu96KjL0aErOYgTp5YGrDnlhb2l4hsN4O6xCc0TVF4ppcdvOQlL2F8fJzR0VG+8pWv8POf/5xLL72U9Bm4HTMIAjRNY2BgANM0n/SxTqQTeTzTNBkYGEDTjv7v6lIcx2FgYOAEnZV0NGRwIEkniTjNGiAJIfDCY8sczBcWzi8tOObBwUGaZkHAIpEPXg0lqIFXI/Wq4NUO/bXU0oNfP/xz9v8K3aN+TQeavxANDg7yyle+khtvvJFHH32UHTt2APDNb36Ts88+G8uyWLZsGVdffTWe5y08f9OmTVxyySV0dHSQy+XYsGEDX/va1wA466yz2L17NzfeeONChmI+Vb5z505e97rX0dnZSUdHB6985St59NFHF447n1r/4Q9/yEUXXYTjOHzqU59a8lPy8PAwr3nNayiXy+TzeV7xilfwq1/9auH++ed8/etf51WvehWFQoGrrrpqyfdjPhV/9913c84552DbNueccw533nnnUR3vjjvu4IILLsBxHAYHB7nyyiuZnp5eeK4Qguuvv56+vj4KhQJveMMbqFari85hqWWF4eFhLr/8crq7u3EchzPPPJNvfetbzMzMsGbNGgAuvvhiFEVh9erVi14LQKvVolAo8OUvf3nRz2q32xQKBW6++eaF2z7/+c9z+umnY9s2p556Kh/+8IeJokN3CJ1/P77xjW9w6aWXksvlWLNmDd/5zndoNBq8+c1vplQqMTQ0xD/+4z8e9PP/8i//kuXLl5PL5Tj33HP59re/vegx1113HWeeeSb5fJ7BwUH++I//mMnJyUWPURSFm266ibe+9a2Uy2WWLVvGtddeS5L8hpuXHc1c5+OdBy1J0okzVnXFZMMTfhSLTWPH/ru4baIhWn4khBAiihPx2N6aSNN0YRZ8rdEScZIsftLPPibEDaWj/3KrB//gjw0d/fO/82fH8c4I8eY3v1lceOGFi2779re/LQDx2GOPiR/96EdCURTxwQ9+UGzZskX827/9m1i+fLl405vetPD4s88+W7z+9a8XGzduFMPDw+I//uM/xL/9278JIYSYmZkRK1asENdcc40YHx8X4+PjIo5jMTk5KQYGBsQ73vEO8eijj4otW7aId73rXaKjo0NMTEwIIYS48847BSDWrVsnbrvtNrFz504xMjIidu3aJQBx5513CiGE8H1frF27VlxwwQXiF7/4hfjVr34lLrvsMtHZ2Smmp6eFEGLhOcuWLRNf/vKXxfDwsNixY8eS78lXvvIVAYjnPOc54ic/+YnYuHGjuOKKK0QulxP79u077PHuvPNO4TiO+NznPie2bdsmHnzwQXHRRReJ888/X6RpKoQQ4rOf/axwHEfcfPPNYuvWreKTn/ykKJfLYv/Lyvxr37VrlxBCiPHxcdHX1ycuuugi8Z//+Z9ieHhY/OAHPxDf+c53RJqm4oEHHhCAuO2228T4+LiYmppa9Frm/cmf/Il42ctetuj1fvWrXxW5XE40Gg0hhBAf+tCHxNDQkPjOd74jdu7cKX74wx+KoaEh8b73ve+Qf4/m349Vq1aJb33rW2Lbtm3irW99q3AcR/ze7/2e+NKXviS2b98urrvuOqGqqti2bdvCc1/+8peLl73sZeKee+4Rw8PD4ktf+pIwDEPcfvvtC4/50Ic+JO666y6xa9cu8Z//+Z/iBS94gbj44osXnQMgenp6xOc+9zmxfft28fWvf11omia+/OUvH/K853+HPc876L7jvX7L4ECSThK7Z9pithWIWjsUw1PNY37+rumWqLaDhe8fH68LL4yF53li06bNolpvLvzDv+AkDQ527twpzjvvPDE0NCTCMBQve9nLxKtf/epFz/nud78rFEURO3fuFEIIUSwWxS233HLIn7Fq1Spxww03LLrtgx/8oHj+85+/6LY0TcXatWvFpz71KSHEExfIm2++edHjDgwOvvzlLwvLssT4+PjCYzzPEwMDAws/d/45119//ZHekoUL6g9/+MOF24IgEIODg+K666477PEuuugicc011yy6bffu3QIQDz74oBBCiOXLl4u//uu/XvSY1772tYcNDq677jrR29u7cAE/0IHvyYGvZd4dd9yx6M9OCCEuvvhi8cd//MdCCCHa7bbI5XILwd28W265RRQKhYP/nh/w8z/5yU8u3DY2NiYA8ed//ucLt0VRJBzHEf/wD/8ghBDirrvuEoZhiNnZ2UXHe8tb3iJ+//d/f8mfJYQQv/jFLwQgxsbGFm4DxJ/+6Z8uetzLX/5y8Ud/9EeHPM5TERzIZQVJOklEc8sKfpzgHEO9wbz9dywA2LqGN1eUKBAL6fKT1T333EOhUCCXy7F27VpUVeW73/0uhmGwceNGLrrookWPv/DCCxFCsHHjRgCuvfZa3va2t3HRRRdxww038PDDDx/xZz7wwAM8+uijFAqFha9iscjIyAjbt29f9NgXvehFhz3Wxo0b2bBhw6K1ddu2eeELX8hjjz12TMfa3/4Fj6Zp8oIXvIBNmzYd9ngPPPAAN91006LXdcYZZwCwfft2Go0GY2NjBxVTXnDBBYc9l4ceeogXv/jFFIvFoz7/pVx88cWsXLlyYdln9+7d3HXXXVx55ZVAtkTkui6vf/3rF72Gd7zjHbRaLSYmJg57/HPPPXfh/5ctW3bQbbqu09vbu7Ak8MADDxDHMStXrlz0877+9a8v+nvwr//6r1x00UUsX76cYrHIxRdfDHDQbo7nP//5i75fvnz5Ec/5RDv8ODdJkp4xkjQrSKxGISXbOObnGwfuWDC1LNDQFIRg6cDggvfAi/8cyAIIP0qxDBWVQwQRdvng297z2NK1CEvRjr8477zzzuOf/umfFgr9HMc57OPnX+/8f6+//nquuOIKbr/9du644w4+/vGP8973vpePfexjhzxGmqZcdNFFfPGLXzzovlKptOj7fD5/2PMRh3mPDvyzOdKxjuRIx0vTlPe+970LF9v99ff3LxR5Hk8weSICUEVReNOb3sStt97KBz7wAW699VaGhoYWLrbz5/fNb36T008//aDn9/b2Hvb4hvHE79f8+e5/2/zt8z8nTVMKhcKSAeX8837xi19w2WWXce211/KJT3yCzs5ORkZG+L3f+z3CMFz0nAOLVPf/Wb8pMnMgSSeJ+YmMfpRiH0Mx4rz5+QrzbGO/zIEQLLGDEQwbnA5wOlCcTlSng9QqL9x20NdS//Dbh3n8gV9m7phf1zzHcVi3bh1r1qw5KDA488wzD9oeN//9mWeeuXDb2rVreec738ltt93Ghz70IT7/+c8v3Gea5kFFYeeddx6bN29mcHCQdevWLfrq6+s7pvM/66yz2LJly6JPiL7v88ADD3DWWWcd07H29/Of/3zh/8Mw5MEHH1zygrm/8847j40bNx70mtatW0exWKRcLrN8+XLuu+++Rc878Puljnv//ffTbDaXvH/+ong0xXdXXnklw8PD3Hvvvdx66638yZ/8Cercbp4zzzwT27YZHh5e8jXo+on9XHzeeefRbDZptVoH/axVq1YBcO+999LR0cEnPvEJXvziF7N+/frfeDbgWMjgQJJOAmkqSNPsFzZKUiz92H91DU0h2u/Th2080QhJwJJbGA+kKMpRJwGeSf7mb/6G73//+9x4441s27aNH/zgB7zrXe/iiiuuYM2aNbRaLa666ip+9rOfMTIywiOPPMLtt9++kEqHLHC47777GB0dZWZmhjRNede73oUQgle/+tXcc889jIyMcO+993Lddddxzz33HNM5vvGNb2TZsmVcfvnlC8sVV1xxBb7vH3JHwtF4//vfz89+9jM2b97M29/+dqrVKu985zsP+5wPfehD/Pu//ztXX301jzzyCMPDw9x+++28/e1vX7iwX3PNNdx0003ccsstbN++nU9/+tP89Kc/Pexxr7rqKhRF4VWvehX33HMPu3bt4kc/+hHf+973gCwrkcvl+PGPf8zk5ORBux/2d8opp/DSl76Ud7/73ezYsYM3v/nNC/cVCgXe//73c/311/P3f//3bN26lU2bNvHNb36Ta6+99ijfuaP3O7/zO7ziFa/gda97Hd/97nfZuXMnDz30EDfddBNf+tKXANiwYQOVSoV/+Id/YNeuXfzLv/wLH/nIR074uZwoMjiQpJNAPNecKEhSTF1FXfJj/uHt30IZwNKz7IMXxnPLCkc+hqpkgcrJ5pJLLuFrX/sa//Iv/8JZZ53F2972Nl7zmtcs/MOt6zrVapW3ve1tbNiwgUsuuYS+vj7++Z//eeEYH/nIR6jVapx22mn09vayZ88e+vv7uf/+++nv7+e1r30t69ev54orrmDXrl0MDg4e0znats2Pf/xjOjo6ePnLX85LXvISarUad9xxxxHT4Ifzmc98hne/+92ce+65PPzww3z/+98/4rldfPHF/OxnP2PTpk287GUv45xzzuE973kP+Xwey7IAuPrqq7n66qu55ppreO5zn8v999/PBz7wgcMet7+/n/vuu4/Ozk4uvfRSzjjjDK655pqF7YWapvGFL3yBb33rWyxfvnzROv9SrrzySh555BEuuOAC1q1bt+i+66+/ns9+9rPc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RvmCF7xA1ut1GQSBvPjii+XnPve5E72sk5bRTuTBvt773vee6CWeVPy09wudeTmC73//+/J1r3udPPvss2WtVpO2bcuZmRn5ghe8QH7+85+XQogTvcTHDDpz8NBcc8018hWveIU844wzZLValY7jyPXr18tXvvKV8sYbbzzu8xlSalswjUaj0Wg0h9AtxhqNRqPRaFahgwONRqPRaDSr0MGBRqPRaDSaVejgQKPRaDQazSp0cKDRaDQajWYVOjjQaDQajUazCh0caDQajUajWYUODjQajUaj0axCBwcajUaj0WhWoYMDjUbzkLzvfe/DMAyuvvrqE70UjUbzKKGDA41Go9FoNKvQwYFGo9FoNJpV6OBAo9FoNBrNKnRwoNGcZNx8880YhsHTn/70B33OlVdeiWEYvP/9739Y3+Mb3/gGz3ve82g2m/i+z1lnncW73vUu2u32Q77uxhtv5PnPfz6NRoNarcbznvc8brjhhgd97kte8hI2bdqE53nMzc1xySWX8Md//Mf0+/2HtW6NRvPooIMDjeYk4ylPeQoXXXQR119/PXfeeecRjwshuOqqq7Asi9e//vXHff4PfvCD/PIv/zLXXHMNF110ES9+8YsZDod8+MMf5tJLL2V+fv6or7v++uv5hV/4Bfbu3csv/dIvcdZZZ/Gd73yHyy+/nG9/+9urnvv1r3+dyy67jK9+9ats3ryZl770pVx44YUsLS3xoQ99iKWlpeNet0ajeRSRGo3mpOMTn/iEBOTb3va2Ix775je/KQH5K7/yK8d93ptuukmapimr1aq88cYbx8ejKJIvf/nLJSBf/vKXr3rNe9/7XglIQL773e+WQojxY3/9138tAbl27VoZhuH4+OWXXy4Nw5C33HLLEWu48cYbZbfbPe61azSaRw+dOdBoTkJe/epXU6vV+OxnP0scx6se++QnPwnAm970puM+78c//nGEELztbW/jkksuGR/3PI+Pf/zjBEHAF7/4Rfbt23fEazdt2jQuZ4x4y1vewqWXXsr+/fv553/+5/HxhYUF6vU6F1100RHnueSSS6hWq8e9do1G8+ihgwON5iSkXC7zmte8huXl5SNuul/5yldYu3YtL3zhC4/7vN///vcBeM1rXnPEYzMzM1xxxRUIIbj++uuPePxlL3sZtm0fcfxVr3oVANddd9342EUXXUS73eaNb3wjd9xxx3GvU6PRnFh0cKDRnKS8+c1vBuBv//Zvx8euvvpq0jTlDW94A5ZlHfc59+/fj2EYbNq06aiPb968efy8B3I8r/nABz7ABRdcwKc//WnOP/98pqen+dVf/VWuuuqqIzIhGo3m5EMHBxrNScoTn/hEnvrUp/Lv//7vbN++HYBPfepTGIbBG9/4xp/r9z68dPDTkFIecWzDhg3ccsst/Nu//RtvfetbWbt2LV/96ld5wxvewIUXXkir1Xokl6vRaB5hdHCg0ZzEvPnNb0ZKyac+9Sm+973vce+99/K85z1vvFs/XtauXYuUkl27dh318dHxNWvWPOhjD2T37t3jcx+ObdtcccUV/NVf/RW33norO3fu5DnPeQ533303H/rQhx7W+jUazaODDg40mpOYV7ziFTSbTa6++mr++3//78DDa0Qc8cxnPhOAv/u7vzviscXFRb71rW9hmiaXXXbZEY9/8YtfJM/zI47//d//PcBD6jIAbNy4kT/6oz8C4Pbbbz/utWs0mkcPHRxoNCcxQRDwW7/1Wxw4cIB/+Id/GNfuHy6/+7u/i2ma/Lf/9t+45ZZbxseTJOGtb30rw+GQl770paxbt+6I1+7atYsrr7xy1bFPfOIT/PCHP2Rubo6XvOQl4+N/8Rd/cVS9hH/9138FVKCg0WhOXgx5tIKhRqM5abjrrrs499xzAfjDP/xDPvKRj/xM5/vABz7Ae97zHmzb5lnPehZTU1P84Ac/YM+ePWzdupXvf//7zM7Ojp//vve9jyuvvJI3velNXH311Zx55pk88YlPZNu2bdx88804jsNXvvIVXvCCF4xf02g06PV6XHDBBWzduhUpJbfddhv33HMPU1NT3HDDDWzZsuVn+jk0Gs3PD5050GhOcs4555xxPf+3f/u3f+bzvfvd7+ZrX/sal19+OTfffDNf+tKX8DyPd77zndx4442rAoPDueyyy/je977H3NwcX/va17jrrrt47nOfyzXXXLMqMAD42Mc+xitf+UqGwyHf/OY3+dd//Vcsy+Id73gHt912mw4MNJqTHJ050GhOcq6//nqe/vSnc/nll3PNNdec6OVoNJpTAJ050GhOcj7wgQ8A8Hu/93sneCUajeZUQWcONJqTkOuvv55PfepT3HHHHdx0001cdNFF3HTTTZimjuc1Gs3PnyO1UDUazQnn3nvv5dOf/jTVapVf+ZVf4eMf//hRA4N3vOMdx+xwePXVVz/Cq9RoNI9XdOZAo3kMs3nz5gcVJ3og+qOu0WiOFR0caDQajUajWYUuYGo0Go1Go1mFDg40Go1Go9GsQgcHGo1Go9FoVqGDA41Go9FoNKvQwYFGo9FoNJpV6OBAo9FoNBrNKnRwoNFoNBqNZhU6ONBoNBqNRrOK/w+lDGxRk1+zzgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -1527,7 +1690,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 304, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -1551,7 +1714,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "884aa6c7a04149a39ec6515538cedc0c", + "model_id": "658da21aa5004359a124559dab0fb276", "version_major": 2, "version_minor": 0 }, @@ -1590,33 +1753,6 @@ "y_pred_proba_bayes = bayes_model.predict_proba(X_test)" ] }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 186 - }, - "id": "vVSLDsTHO8ks", - "outputId": "9d7cab41-1ea6-482f-bcf5-06e462e88798" - }, - "outputs": [ - { - "data": { - "text/plain": [ - "skpro.distributions.empirical.Empirical" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "type(y_pred_proba_bayes)" - ] - }, { "cell_type": "markdown", "metadata": { @@ -1679,7 +1815,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 305, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -1703,7 +1839,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8f18a14975bc41989c1a560bdc951ab9", + "model_id": "922be4f5f1314cb8acb3f9c38db00a96", "version_major": 2, "version_minor": 0 }, @@ -1760,42 +1896,47 @@ " \n", " target\n", " \n", + "
\n", + " obs_id\n", + " \n", + "
\n", " \n", " \n", "
\n", " 25\n", - " 2.674405\n", + " 2.695099\n", "
\n", "
\n", " 26\n", - " 2.726014\n", + " 2.738434\n", "
\n", "
\n", " 27\n", - " 2.820998\n", + " 2.832156\n", "
\n", "
\n", " 28\n", - " 2.871368\n", + " 2.867218\n", "
\n", "
\n", " 29\n", - " 2.942330\n", + " 2.957238\n", "
\n", "
\n", "\n", "" ], "text/plain": [ - " target\n", - "25 2.674405\n", - "26 2.726014\n", - "27 2.820998\n", - "28 2.871368\n", - "29 2.942330" + " target\n", + "obs_id \n", + "25 2.695099\n", + "26 2.738434\n", + "27 2.832156\n", + "28 2.867218\n", + "29 2.957238" ] }, - "execution_count": 21, + "execution_count": 305, "metadata": {}, "output_type": "execute_result" } @@ -1827,7 +1968,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 306, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -1851,7 +1992,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1d8c872d840942d9bd406daab64578a9", + "model_id": "4a24c5291bef453e89bab68f6a8a498e", "version_major": 2, "version_minor": 0 }, @@ -1901,6 +2042,10 @@ " .dataframe thead tr th {\n", " text-align: left;\n", " }\n", + "\n", + " .dataframe thead tr:last-of-type th {\n", + " text-align: right;\n", + " }\n", "\n", "
\n", " \n", @@ -1913,48 +2058,54 @@ " \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", "
0.250.75
obs_id
00.7223511.3860690.6998751.400261
10.7748281.4300890.7497351.461532
20.8508621.5027680.7898351.512907
30.9251721.5536210.9408801.603275
40.9910601.6160980.9891871.642544
\n", "" ], "text/plain": [ - " target \n", - " 0.25 0.75\n", - "0 0.722351 1.386069\n", - "1 0.774828 1.430089\n", - "2 0.850862 1.502768\n", - "3 0.925172 1.553621\n", - "4 0.991060 1.616098" + " target \n", + " 0.25 0.75\n", + "obs_id \n", + "0 0.699875 1.400261\n", + "1 0.749735 1.461532\n", + "2 0.789835 1.512907\n", + "3 0.940880 1.603275\n", + "4 0.989187 1.642544" ] }, - "execution_count": 22, + "execution_count": 306, "metadata": {}, "output_type": "execute_result" } @@ -1984,7 +2135,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 307, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -2008,7 +2159,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9b92d7a86757414e9931784667ac9f69", + "model_id": "b9503d978c2f45678515e689ce0406aa", "version_major": 2, "version_minor": 0 }, @@ -2058,6 +2209,10 @@ " .dataframe thead tr th {\n", " text-align: left;\n", " }\n", + "\n", + " .dataframe thead tr:last-of-type th {\n", + " text-align: right;\n", + " }\n", "\n", "\n", " \n", @@ -2074,49 +2229,55 @@ " \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", "
lowerupper
obs_id
00.0795882.0304110.0247002.117168
10.1176962.0661200.0868012.128516
20.1997462.1269810.0626162.270406
30.2190722.1755980.2252892.210461
40.3361832.2725460.3316292.230350
\n", "" ], "text/plain": [ - " target \n", - " 0.95 \n", - " lower upper\n", - "0 0.079588 2.030411\n", - "1 0.117696 2.066120\n", - "2 0.199746 2.126981\n", - "3 0.219072 2.175598\n", - "4 0.336183 2.272546" + " target \n", + " 0.95 \n", + " lower upper\n", + "obs_id \n", + "0 0.024700 2.117168\n", + "1 0.086801 2.128516\n", + "2 0.062616 2.270406\n", + "3 0.225289 2.210461\n", + "4 0.331629 2.230350" ] }, - "execution_count": 23, + "execution_count": 307, "metadata": {}, "output_type": "execute_result" } @@ -2128,7 +2289,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 308, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -2140,7 +2301,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAIhCAYAAAB5deq6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACWmklEQVR4nOzdd3xUVd4G8OeWaemhBIK0UERAwQjLElAQwQIuYltRUAFBBXHRRcRFF8GCiIsu6ipYKEuxLuhaEMQCgoKCBGUFeS1BEIlIS51y7z3n/WMyY4bUSWZSn+/nMyRz77l3zk0heXLO/R1FSilBREREREREZVJruwNERERERER1HYMTERERERFRBRiciIiIiIiIKsDgREREREREVAEGJyIiIiIiogowOBEREREREVWAwYmIiIiIiKgCDE5EREREREQVYHAiIiIiIiKqAIMTEdUJy5Ytg6IowYeu62jdujXGjRuHQ4cO1Ugf2rdvj7Fjxwafb9y4EYqiYOPGjWGd57PPPsPs2bNx8uTJEvvOP/98nH/++dXqZ11z6jUVFhZi9uzZpX7cZs+eDUVRcPTo0Sq/3qpVq5Ceng6n04lmzZph1KhROHjwYIl27du3D/maCjwmTpwY0u7gwYMYNmwYEhIS0LVrV/z3v/8tca7XX38dTZs2xW+//RZWX7/++muMGzcOaWlpcDqdiIuLwznnnIPHHnsMx48fD+/Cq2D//v1QFAXLli0Lbgt8Dopr3749/vSnP1XpfNVV2dcuzdq1azF79uyI9SXaxo4di/bt29d2N4ioivTa7gARUXFLly7FGWecAbfbjU8++QRz587Fpk2bsHv3bsTGxtZoX8455xxs3boV3bp1C+u4zz77DA888ADGjh2LpKSkkH3PPvtsBHtYN5x6TYWFhXjggQcAIOIh8emnn8aUKVMwYcIEPProo/j5558xc+ZMnHfeecjMzERycnJI+/79+2P+/Pkh21q0aBHyfMyYMfB6vfjPf/6DjRs34pprrsGePXvQsWNHAEBOTg7uuOMOzJ8/H82bN690X1944QXcdttt6NKlC+6++25069YNhmFgx44dWLRoEbZu3Yo33nijih+JqpswYQIuueSSGn/daFi7di2eeeaZehWeiKj+YnAiojrlzDPPRO/evQEAgwYNgmVZeOihh/Dmm29i9OjRpR5TWFiImJiYiPclISEBffv2jeg5ww1h9UFNXZPX68XMmTMxfPhwvPDCCyGv369fP8yfPx9z5swJOSYpKancz2FhYSE2btyITz/9FBkZGbjooovwn//8Bxs2bAgGp3vuuQddunTBuHHjKt3XrVu3YtKkSbjwwgvx5ptvwuFwBPddeOGFuOuuu7Bu3bpyz+F2u+FyuSr9mpXVunVrtG7dOuLnbUii9X8KEdVvnKpHRHVa4Jfen376CYB/qktcXBx2796Niy66CPHx8Rg8eDAAwOfz4eGHH8YZZ5wBh8OB5s2bY9y4cSWmVxmGgenTp6Nly5aIiYnBueeeiy+++KLEa5c1Ve/zzz/H8OHD0bRpUzidTnTs2BF33nknAP80qLvvvhsAkJaWFpweFjhHaVP1jh8/jttuuw2nnXYa7HY7OnTogPvuuw9erzeknaIouP3227FixQp07doVMTEx6NmzJ955552Qdr/99htuueUWtGnTJvhx6N+/Pz744IMyP87ffPMNFEXB66+/Htz25ZdfQlEUdO/ePaTtZZddhl69egWfF7+m/fv3B0dlHnjggeD1F58CCQC//vorrrvuOiQmJqJFixa46aabkJOTU2b/AOB///sfcnJyMGzYsJDtGRkZaNKkCVavXl3u8aXx+XyQUoaMZsbFxcHj8QDwjx4uX74czz33XFjnfeSRR6AoCp5//vmQ0BRgt9tx2WWXBZ8HpqutWbMmOA0xMGqXnZ2NW2+9Fa1bt4bdbkdaWhoeeOABmKYZcs5ffvkF11xzDeLj45GYmIiRI0ciOzu7xGuXNlUv4I033kCPHj3gdDrRoUMHPPXUU5W63u+++w6jRo1CSkoKHA4HunbtimeeeaZSx54qMB1w/vz5eOKJJ5CWloa4uDhkZGRg27ZtwXZjx44NvkbxqZj79+8HAEgp8eyzz+Lss8+Gy+VCcnIyrr76avz4448hr3f++efjzDPPxCeffIJ+/fohJiYGN910Ey6//HK0a9cOQogSffzjH/+Ic845J/j8mWeewYABA5CSkoLY2FicddZZeOyxx2AYRpU+BkRUN3HEiYjqtO+//x4AQqZI+Xw+XHbZZbj11lvxt7/9DaZpQgiBESNGYPPmzZg+fTr69euHn376CbNmzcL555+PHTt2BP96f/PNN2P58uWYNm0aLrzwQvzvf//DlVdeiby8vAr7s379egwfPhxdu3bFE088gbZt22L//v14//33AfinQR0/fhxPP/001qxZg9TUVABlj8p4PB4MGjQIP/zwAx544AH06NEDmzdvxty5c7Fr1y68++67Ie3fffddbN++HQ8++CDi4uLw2GOP4YorrsC+ffvQoUMHAMANN9yAnTt3Ys6cOTj99NNx8uRJ7Ny5E8eOHSvzurp3747U1FR88MEH+POf/wwA+OCDD+ByubBnzx788ssvaNWqFUzTxKZNm0rcJxSQmpqKdevW4ZJLLsH48eMxYcKEEp8/ALjqqqswcuRIjB8/Hrt378aMGTMAAEuWLCmzjz6fDwBKDSIOhwPfffcdPB4PnE5ncPsnn3yC+Ph4eDwedO7cGePHj8edd94JTdMA+EekzjjjDDz++ONYsGABNm3ahK+++gr9+vWDYRi45ZZbMGPGDJx++ull9utUlmXho48+Qq9evdCmTZtKH7dz507s3bsXf//735GWlobY2FhkZ2ejT58+UFUV999/Pzp27IitW7fi4Ycfxv79+7F06VIA/tGpIUOG4JdffsHcuXNx+umn491338XIkSMr/fq7du3CnXfeidmzZ6Nly5ZYtWoV7rjjDvh8PkybNq3M4/bs2YN+/fqhbdu2ePzxx9GyZUusX78eU6ZMwdGjRzFr1qxK96G4Z555BmeccQYWLFgAAJg5cyaGDRuGrKwsJCYmYubMmSgoKMB//vMfbN26NXhc4Hvu1ltvxbJlyzBlyhTMmzcPx48fx4MPPoh+/frhq6++CpmyefjwYVx//fWYPn06HnnkEaiqipMnT2LEiBH46KOPMGTIkGDbb7/9Fl988UVIqPzhhx8watQopKWlwW6346uvvsKcOXPw7bfflvs1TUT1jCQiqgOWLl0qAcht27ZJwzBkXl6efOedd2Tz5s1lfHy8zM7OllJKOWbMGAlALlmyJOT4l19+WQKQq1evDtm+fft2CUA+++yzUkop9+7dKwHIv/71ryHtVq1aJQHIMWPGBLd9/PHHEoD8+OOPg9s6duwoO3bsKN1ud5nX8o9//EMCkFlZWSX2DRw4UA4cODD4fNGiRRKAfO2110LazZs3TwKQ77//fnAbANmiRQuZm5sb3JadnS1VVZVz584NbouLi5N33nlnmf0ry/XXXy87dOgQfD5kyBB58803y+TkZPnvf/9bSinlp59+WqJfp17Tb7/9JgHIWbNm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ap2HwYmIiIioBgkhkJWVBU3T0KpVK9jt9kpV9CKi8Ekp8dtvv+Hnn39G586dqzXyVGeC09y5c3HvvffijjvuwIIFC8pst2nTJkydOhXffPMNWrVqhenTp2PixIk111EiIiKiavD5fBBCoE2bNoiJiant7hA1eM2bN8f+/fthGEa1glOdKA6xfft2PP/88+jRo0e57bKysjBs2DCcd955yMzMxL333ospU6Zg9erVNdRTIiIioshQ1TrxaxhRgxepEd1a/47Nz8/H6NGj8cILLyA5ObnctosWLULbtm2xYMECdO3aFRMmTMBNN92E+fPn11BviYiIiIioMar14DR58mRceumlGDJkSIVtt27diosuuihk28UXX4wdO3bAMIxSj/F6vcjNzQ15EBERERERhaNWg9Mrr7yCnTt3Yu7cuZVqn52djRYtWoRsa9GiBUzTxNGjR0s9Zu7cuUhMTAw+2rRpU+1+ExEREVF0zZ49G2effXbw+dixY3H55ZfXeD/2798PRVGwa9euqL6Ooih48803o/oaVD21FpwOHjyIO+64AytXroTT6az0cafOUZRSlro9YMaMGcjJyQk+Dh48WPVOExERETViY8eOhaIoUBQFNpsNHTp0wLRp01BQUBD1137yySexbNmySrWtqbBDjUutVdX78ssvceTIEfTq1Su4zbIsfPLJJ/jXv/4Fr9dboupFy5YtkZ2dHbLtyJEj0HUdTZs2LfV1HA4HHA5H5C+AiIiIqJZZFrB5M3D4MJCaCpx3HhCBdT7Ldckll2Dp0qUwDAObN2/GhAkTUFBQgIULF5ZoaxgGbDZbRF43MTExIuchqqpaG3EaPHgwdu/ejV27dgUfvXv3xujRo7Fr165SSwVmZGRgw4YNIdvef/999O7dO2LflERERET1wZo1QPv2wKBBwKhR/rft2/u3R5PD4UDLli3Rpk0bjBo1CqNHjw5OMQtMr1uyZAk6dOgAh8MBKSVycnJwyy23ICUlBQkJCbjgggvw1VdfhZz30UcfRYsWLRAfH4/x48fD4/GE7D91qp4QAvPmzUOnTp3gcDjQtm1bzJkzBwCQlpYGAEhPT4eiKDj//PODxy1duhRdu3aF0+nEGWecgWeffTbkdb744gukp6fD6XSid+/eyMzMLPfjMWPGDPTt27fE9h49emDWrFkA/BWkL7zwQjRr1gyJiYkYOHAgdu7cWeY5N27cCEVRcPLkyeC2Xbt2QVEU7N+/P7jts88+w4ABA+ByudCmTRtMmTIlZPTv2WefRefOneF0OtGiRQtcffXV5V4Lla/WglN8fDzOPPPMkEdsbCyaNm2KM888E4D/C/HGG28MHjNx4kT89NNPmDp1Kvbu3YslS5Zg8eLFmDZtWm1dBhEREVGNW7MGuPpq4OefQ7cfOuTfHu3wVJzL5Qop0vX999/jtddew+rVq4NT5S699FJkZ2dj7dq1+PLLL3HOOedg8ODBOH78OADgtddew6xZszBnzhzs2LEDqampJQLNqWbMmIF58+Zh5syZ2LNnD1566aXgvfBffPEFAOCDDz7A4cOHsaboA/LCCy/gvvvuw5w5c7B371488sgjmDlzJv79738DAAoKCvCnP/0JXbp0wZdffonZs2dX+Hvm6NGj8fnnn+OHH34Ibvvmm2+we/dujB49GgCQl5eHMWPGYPPmzdi2bRs6d+6MYcOGIS8vr7If5hJ2796Niy++GFdeeSW+/vprvPrqq9iyZQtuv/12AMCOHTswZcoUPPjgg9i3bx/WrVuHAQMGVPn1CICsQwYOHCjvuOOO4PMxY8bIgQMHhrTZuHGjTE9Pl3a7XbZv314uXLgwrNfIycmRAGROTk4EekxEREQUHrfbLffs2SPdbneVjjdNKVu3lhIo/aEoUrZp428XaWPGjJEjRowIPv/8889l06ZN5TXXXCOllHLWrFnSZrPJI0eOBNt8+OGHMiEhQXo8npBzdezYUT733HNSSikzMjLkxIkTQ/b/8Y9/lD179iz1tXNzc6XD4ZAvvPBCqf3MysqSAGRmZmbI9jZt2siXXnopZNtDDz0kMzIypJRSPvfcc7JJkyayoKAguH/hwoWlnqu4Hj16yAcffDD4fMaMGfIPf/hDme1N05Tx8fHy7bffDm4DIN944w0ppZQff/yxBCBPnDgR3J+ZmSkByKysLCmllDfccIO85ZZbQs67efNmqaqqdLvdcvXq1TIhIUHm5uaW2Y/GorzvuXCyQa3d41SajRs3hjwv7QbAioY2iYiIiBqyzZtLjjQVJyVw8KC/XbEZahHzzjvvIC4uDqZpwjAMjBgxAk8//XRwf7t27dC8efPg8y+//BL5+fkl7kd3u93BUZq9e/di4sSJIfszMjLw8ccfl9qHvXv3wuv1YvDgwZXu92+//YaDBw9i/PjxuPnmm4PbTdMM3j+1d+9e9OzZEzExMSH9qMjo0aOxZMkSzJw5E1JKvPzyy7jzzjuD+48cOYL7778fH330EX799VdYloXCwkIcOHCg0v0/1Zdffonvv/8eq1atCm6TUkIIgaysLFx44YVo164dOnTogEsuuQSXXHIJrrjiipBro/DUqeBEREREROU7fDiy7cI1aNAgLFy4EDabDa1atSpxn3lsbGzIcyEEUlNTS/yBHACSkpKq1AeXyxX2MUIIAP7pen/84x9D9gXurZdF1ZrDNWrUKPztb3/Dzp074Xa7cfDgQVx77bXB/WPHjsVvv/2GBQsWoF27dnA4HMjIyIDP5yv1fKqqlujPqWuWCiFw6623YsqUKSWOb9u2Lex2O3bu3ImNGzfi/fffx/3334/Zs2dj+/btVf64R4qUEkICqlJ2Zey6iMGJiIiIqB5JTY1su3DFxsaiU6dOlW5/zjnnIDs7G7quo3379qW26dq1K7Zt2xZyb/u2bdvKPGfnzp3hcrnw4YcfYsKECSX22+12AP6KzQEtWrTAaaedhh9//DF479GpunXrhhUrVsDtdgfDWXn9CGjdujUGDBiAVatWwe12Y8iQISFrj27evBnPPvsshg0bBsC/LE9Za5ACCI7YHT58GMnJyQBQorT6Oeecg2+++abcz4Wu6xgyZAiGDBmCWbNmISkpCR999BGuvPLKCq8p0gJhSUgJU/gDoV1TodWf3MTgRERERFSfnHce0Lq1vxBEaQMkiuLff955Nd+30gwZMgQZGRm4/PLLMW/ePHTp0gW//PIL1q5di8svvxy9e/fGHXfcgTFjxqB3794499xzsWrVKnzzzTfo0KFDqed0Op245557MH36dNjtdvTv3x+//fYbvvnmG4wfPx4pKSlwuVxYt24dWrduDafTicTERMyePRtTpkxBQkIChg4dCq/Xix07duDEiROYOnUqRo0ahfvuuw/jx4/H3//+d+zfvx/z58+v1HWOHj0as2fPhs/nwz//+c+QfZ06dcKKFSvQu3dv5Obm4u677y531KxTp05o06YNZs+ejYcffhjfffcdHn/88ZA299xzD/r27YvJkyfj5ptvRmxsLPbu3YsNGzbg6aefxjvvvIMff/wRAwYMQHJyMtauXQshBLp06VKp64kUISUsIWEVBSdAQoECiaqN7tWmWquqR0RERETh0zTgySf97586yynwfMGC6K/nVFmKomDt2rUYMGAAbrrpJpx++um49tprsX///uCozMiRI3H//ffjnnvuQa9evfDTTz9h0qRJ5Z535syZuOuuu3D//feja9euGDlyJI4cOQLAP9Ly1FNP4bnnnkOrVq0wYsQIAMCECRPw4osvYtmyZTjrrLMwcOBALFu2LFi+PC4uDm+//Tb27NmD9PR03HfffZg3b16lrvPPf/4zjh07hsLCwpCy6QCwZMkSnDhxAunp6bjhhhswZcoUpKSklHkum82Gl19+Gd9++y169uyJefPm4eGHHw5p06NHD2zatAnfffcdzjvvPKSnp2PmzJlILRpqTEpKwpo1a3DBBRega9euWLRoEV5++WV07969UtdTHVJKmELAa/ofhhCQRVPzNEWBWo9GmYpTZFUnc9ZTubm5SExMRE5ODhISEmq7O0RERNTIeDweZGVlIS0tDU6ns8rnWbMGuOOO0EIRbdr4Q1MtzMSiRu7UqXj+ESV/SCotJ1lSwqFp0GogRZX3PRdONuBUPSIiIqJ66MorgREj/NXzDh/239N03nl1Z6SJGgchJYSQME+ZiqcqSqmBqT5jcCIiIiKqpzQtOiXHicojZdE9S8I/ciSDYQloeHHpdwxORERERERUrvKm4qkNOCwVx+BERERERESlElIGw1JDn4pXEQYnIiIiIiIKCoSlxjYVryIMTkREREREjVjxaXii6P3GOBWvIgxORERERESNiJT+WCRCAhOAorCkFIUlxqVQDE5ERERERA1c8VElS0rI4KgSOA2vkhiciIiIiOoIUwhYouZeT1MBXVVr7gWpxsiicCQgYQl/YCoelBROwQsbgxMRERFRHWAKgR9PFsKwZI29pk1T0CEphuGpEp5//nk89NBDOHToEJ544gmcPHkSb775Jnbt2lXmMWPHjg22qwnF71ESIaNK/rGkhlwJryY+1vwuISIiIqoDLAEYloSmAHZNifpDU/yvF84IV15eHu688060a9cOLpcL/fr1w/bt20PajB07FoqihDz69u0b0mbq1Klo0qQJ2rZti1deeSVk32uvvYbhw4dXqj8+nw+PPfYYevbsiZiYGDRr1gz9+/fH0qVLYRhG5S+sArm5ubj99ttxzz334NChQ7jlllswbdo0fPjhhxF7jaqQUsISEoYl4DUteE0BnyVgCgEpAUUBNMX/ufZPxSvd6Z064uknn6z0627atBFOm46TJ09G5DrqC444EREREdUhmqrU0AiQgBXm6NaECRPwv//9DytWrECrVq2wcuVKDBkyBHv27MFpp50WbHfJJZdg6dKlwed2uz34/ttvv42XXnoJ77//Pr777juMGzcOF154IZo2bYqTJ0/ivvvuq1Qg8fl8uPjii/HVV1/hoYceQv/+/ZGQkIBt27Zh/vz5SE9Px9lnnx3W9ZXlwIEDMAwDl156KVJTU4Pb4+LiInL+ypLFKt4JCViifk+/k1LCNC3oev2IJBxxIiIiIqIKud1urF69Go899hgGDBiATp06Yfbs2UhLS8PChQtD2jocDrRs2TL4aNKkSXDf3r17cf7556N379647rrrkJCQgB9//BEAMH36dNx2221o27Zthf1ZsGABPvnkE3z44YeYPHkyzj77bHTo0AGjRo3C559/js6dOwMAvF4vpkyZgpSUFDidTpx77rkho2QbN26Eoij48MMP0bt3b8TExKBfv37Yt28fAGDZsmU466yzAAAdOnSAoijYv38/Zs+eHRLMLMvC1KlTkZSUhKZNm2L69OmQMjSYSinx2GOPoUOHDnC5XOjZsyf+85//lNuXjH798M3evfBZAh5LwGsJvPHmf9G3Tx8kx8eibWpLjLrmz8ERJZ/Ph3v/dg86tGuLJokJOK9fBjZt2ljxJ7gYp03HksWLcc3VVyE5IR7du56Bd95+GwCwf/9+XDxkCACgZfNmcNp0TLjppuD1PT7/Hzjj9M5Iio/DH845B2tWrw6eNzBSteH99Ti37x8R43Ji8eLFUBQF3377bUgfnnjiCbRv394/qmZZGD9+PNLS0uByudClSxc8GcYIWaQwOBERERFRhUzThGVZcDqdIdtdLhe2bNkSsm3jxo1ISUnB6aefjptvvhlHjhwJ7uvZsyd27NiBEydO4Msvv4Tb7UanTp2wZcsW7Ny5E1OmTKlUf1atWoUhQ4YgPT29xD6bzYbY2FgA/jC2evVq/Pvf/8bOnTvRqVMnXHzxxTh+/HjIMffddx8ef/xx7NixA7qu46aiMDBy5Eh88MEHAIAvvvgChw8fRps2bUq85uOPP44lS5Zg8eLF2LJlC44fP4433ngjpM3f//53LF26FAsXLsQ333yDv/71r7j++uuxadMmAAgGrXvvuw9zH/sHtmz9HJqmYcL48TD9Q01Y/967uO6aP2PosKH4fPsOvLf+fZzTq1fwNW4ePx6fffYZlq9ahe07M3Hl1VfjsksvxffffVepj2vAnIcfwlVX/xk7dmbikkuGYuyNN+D48eNo06YNXnntdQDA7m/2YP/Bn/H4P/8JAJh1/0ws//e/8fS//oWdX32Nv9xxB8aNuRGffLIp5Nz3/m0GHnh4Dv73zR5cffXV6NWrF1atWhXS5qWXXsKoUaOgKAqEEGjdujVee+017NmzB/fffz/uvfdevPbaa2FdU7XJRiYnJ0cCkDk5ObXdFSIiImqE3G633LNnj3S73SHbPYYl/3ckV/7fsTz544mCqD/+71ie/N+RXOkxrEr3PSMjQw4cOFAeOnRImqYpV6xYIRVFkaeffnqwzSuvvCLfeecduXv3bvnWW2/Jnj17yu7du0uPxxNsM2vWLNmxY0d55plnyjVr1kiv1yvPPPNMuWPHDvn000/L008/Xfbr10/+73//K7MvLpdLTpkypdz+5ufnS5vNJletWhXc5vP5ZKtWreRjjz0mpZTy448/lgDkBx98EGzz7rvvSgDBz1FmZqYEILOyskKuoWfPnsHnqamp8tFHHw0+NwxDtm7dWo4YMSLYF6fTKT/77LNgGyGEvOmmm+TIa6+VHsOU6zZ8IAHId9atlwU+Uxb6TPnGW29JAPJkXr70GKbs27evvPa6UdJjmCUe33y7TyqKIn/86UDI9kEXXCDvvueeUo/xGKZs266d/Mf8x4PPAci/3Xtv8PmxkzlSURT51jvvSI9hyvUf+PuZ/dvRkDZOp1Nu/GRzyLnHjrtJXlN0fYHjXl+9Rhb4DGlaQkop5RNPPCE7dOgQ/Ljs27dPApDffPNNmZ/b2267TV511VXB52PGjAl+rE9V1veclOFlg/oxoZCIiIiIat2KFStw00034bTTToOmaTjnnHMwatQo7Ny5M9hm5MiRwffPPPNM9O7dG+3atcO7776LK6+8EgAwe/ZszJ49O9hu9uzZGDJkCGw2Gx5++GHs3r0b77zzDm688UZ8+eWXpfZFSglFKf9+nh9++AGGYaB///7BbTabDX369MHevXtD2vbo0SP4fuA+piNHjlRq2mBOTg4OHz6MjIyM4DZd19G7d+/gKNKePXvg8Xhw4YUXhhzr8/nQ8+yzUfx2s549ekArurTUlqF9+eqrrzBu/IRS+7ErMxNSSpzVrWvIdq/Xi6ZNm1Z4HcWdddbvH4/Y2FjEx8fjyJHfymy/t+j6Lh16Sch2n89X4l6z4iNkAHDttdfi7rvvxrZt29C3b1+sWrUKZ599Nrp16xZss2jRIrz44ov46aef4Ha7Sz1vtDE4EREREVGldOzYEZs2bUJBQQFyc3ORmpqKkSNHIi0trcxjUlNT0a5dO3xXxlSxb7/9FqtWrUJmZiaWLFmCAQMGoHnz5rjmmmtw0003ITc3FwkJCSWOO/3000uEn1MFQsupAau00GWz2YLvB/YJUb1FtWTRaxmWgMfnr/K3+r9voVWrVkBRMQcF/nvCNMVfBa+ivrhcrjJfTwgBTdOw9fMvoGlayL7YMAtZFO9DoB/lfTwC+9546y2c1uq0kH12hyO0L0XTKANSU1MxaNAgvPTSS+jbty9efvll3HrrrcH9r732Gv7617/i8ccfR0ZGBuLj4/GPf/wDn3/+eVjXVF28x4mIiIiIwhIbG4vU1FScOHEC69evx4gRI8pse+zYMRw8eDCkGl2AlBK33HILHn/8ccTFxcGyrGAZ8cDbsn5ZHzVqFD744ANkZmaW2GeaJgoKCtCpUyfY7faQe7AMw8COHTvQtWvXEsdVVWJiIlJTU7F161aYQsCwBPI9Xnz55ZcQEjCEQJeu3eBwOHDo4EGc3rkzTu/cCZ07dUKnTp1KvWeqLGeedRY+/uijUvedffbZsCwLR347go6dOoU8WrZsGanLhd3mr5JoWVZwW9du/us7eOBgideuzPWNHj0ar776KrZu3YoffvgB1157bXDf5s2b0a9fP9x2221IT09Hp06d8MMPP0TseiqLI05EREREdYglJIDqjXRU/nXCs379ekgp0aVLF3z//fe4++670aVLF4wbNw4AkJ+fj9mzZ+Oqq65Camoq9u/fj3vvvRfNmjXDFVdcUeJ8L7zwAlJSUnDZZZcBAPr374/Zs2dj27ZteO+999CtWzckJSWV2pc777wT7777LgYPHoyHHnoI5557LuLj47Fjxw7MmzcPixcvxtlnn41Jkybh7rvvDq4b9dhjj6GwsBDjx48P+/qLC4xmBdZMuu0vf8G8efPQrkNHdDnjDDz95JPIOXkyuJZSYkI87pw6FdOn3QUhBPr174+83Fxs27oVsXFxuOHGGyv1uvfNnImhF12EDh074JprRsI0Taxfvw53TbsbnU8/HddeNwrjx43DvMf+gZ5nn41jR49i48aPceaZZ+KSocOqdc0Bbdu1g6IoWPvuu7hk6FC4XC7Ex1fv+q688kpMmjQJkyZNwqBBg0LK23fq1AnLly/H+vXrkZaWhhUrVmD79u3ljnRGA4MTERERUR2gqYBNU/yL0oa5vlJV2TQFWhjzj3JycjBjxgz8/PPPaNKkCa666irMmTMnOK1L0zTs3r0by5cvx8mTJ4NTsF599VXEx8eHnOvXX3/FI488gs8++yy4rU+fPrjrrrtw6aWXIiUlBf/+97/L7IvD4cCGDRvwz3/+E8899xymTZuGmJgYdO3aFVOmTMGZZ54JAHj00UchhMANN9yAvLw89O7dG+vXr0dycnIYHyk/ISVMIfxrKBWtqeQrWkH4jjunIvtwNm6dMB6qqmLM2LG4bMTlyM3NCR4/+4EHkdI8Bf94bB6yfvwRSUlJODs9HdP/9rdK92HgwPPx0iuvYu6cOZj/2GNISEjAueedF9z/wuLFmPvIHNwz/W78cugQmjZtij/27YtLLhka9vWW5bTTTsPMWbMw8757ccuE8Rh9/Q14ccmSal1fQkIChg8fjtdffx1LliwJ2Tdx4kTs2rULI0eOhKIouO6663Dbbbfhvffei9g1VYYipayZ78w6Ijc3F4mJicjJySl1viwRERFRNHk8HmRlZSEtLa1EaW9TCFjRH2wK0lTU0GK79Y+U/qVlRVFAElJCFi0+C/y+4Gz9WW62brGkhEPToKnR/wiW9z0XTjbgiBMRERFRHaGrKnTmmFohiwKSRPlBSWVUarQYnIiIiIio0Tk1KFkiEJEk/DEJDEoUgsGJiIiIiBoFKSUsKWGJohEl/1YEgpKqBN4jKonBiYiIiIgaNCElLCGLCjowKFHVMDgRERER1YJGVp+rxgWm4llFoUlCQoECVWFUamwi9b3G2w+JiIiIalCgdHdhYWEt96RhkkUlw32W/2EWLaCrKUrRCBM1Nj6fD4C/XH51cMSJiIiIqAZpmoakpCQcOXIEABATEwNF4a/z1RWYjieKTcdjUKq7LCkha6AcuRACv/32G2JiYqDr1Ys+DE5ERERENaxly5YAEAxPVHWBsuGBYg8K/P8wMNVtQgK66p86GW2qqqJt27bV/gMFgxMRERFRDVMUBampqUhJSYFhGLXdnXrHEhIFhok8r4ECU0AICbumwqYqHL2rB6SUKDAstExwIdYe/Thit9uhRmChZwYnIiIiolqiaVq177toTHyWQK7XwHG3CbcloECH06nCFoFfiqnmSCmhwITd6YSzBoJTpNSfnhIRERFRoyOlRKFhIcdr4KTXhM8UsGkq4mx6jUzzIgpgcCIiIiKiOscSEnk+Eyc8PuQbFoSQcGgqEhw6p+NRrWBwIiIiIqI64/fpeAbclgUFCly6Ct3G6XhUuxiciIiIiKhWSSlRaFrI8RRNx7MEbCqn41HdwuBERERERLVCyMB0PAP5PhOWkHBoGhLsnI5HdQ+DExERERHVKMMSyPWZOO72odD0T8dz6ipsnI5HdRiDExERERHViELDQq7XwAmPAa8lYFMVTsejeqNWY/3ChQvRo0cPJCQkICEhARkZGXjvvffKbL9x40YoilLi8e2339Zgr4mIiIiosoSUyPUaOJDjRtbJAvxa4AUAJNh1xDA0UT1SqyNOrVu3xqOPPopOnToBAP79739jxIgRyMzMRPfu3cs8bt++fUhISAg+b968edT7SkRERESVZwqBXK+JE24fCgwLEoBL1xDD6XhUT9VqcBo+fHjI8zlz5mDhwoXYtm1bucEpJSUFSUlJUe4dEREREYXLU1Qd74THgMcS0BUFMTYdmsqRJarf6kzktywLr7zyCgoKCpCRkVFu2/T0dKSmpmLw4MH4+OOPy23r9XqRm5sb8iAiIiKiyJFSIt9n4mCuGz+cKMThAi8E/NPxYu0MTdQw1HpxiN27dyMjIwMejwdxcXF444030K1bt1Lbpqam4vnnn0evXr3g9XqxYsUKDB48GBs3bsSAAQNKPWbu3Ll44IEHonkJRERERI2SJSRyfSZOeHwo8JkQAJyaBpfOcuLU8ChSSlmbHfD5fDhw4ABOnjyJ1atX48UXX8SmTZvKDE+nGj58OBRFwVtvvVXqfq/XC6/XG3yem5uLNm3aICcnJ+Q+KSIiIiKqHK8l/NXx3AbcpgVVUeDUNegcWaJKkEXrd3VIjkW8vXbHcXJzc5GYmFipbFDrI052uz1YHKJ3797Yvn07nnzySTz33HOVOr5v375YuXJlmfsdDgccDkdE+kpERETUkEgpYUl/5Tv/o7T3/W8tKWEJCVNIFJoWfJaATVURZ2dlPGocaj04nUpKGTJCVJHMzEykpqZGsUdERERE9YMpJLymBau04COKhR8pYImi/QCkBCSk/62UCE5HUgAUm5ukKApUALqqIsHO6XjUuNRqcLr33nsxdOhQtGnTBnl5eXjllVewceNGrFu3DgAwY8YMHDp0CMuXLwcALFiwAO3bt0f37t3h8/mwcuVKrF69GqtXr67NyyAiIiKqFaYQcJsCXtNCvs+C27RgCIGybsRQFQUKULQWpj8XaYH3FQUKFKhF7xNRqFoNTr/++ituuOEGHD58GImJiejRowfWrVuHCy+8EABw+PBhHDhwINje5/Nh2rRpOHToEFwuF7p37453330Xw4YNq61LICIiIqoxhiXgMQU8loV8nwm3KWBaAgL+AGRTVcRyUVmiqKj14hA1LZwbwIiIiIhqi5QShpDwmP6RpHzDgtcUMCwBCUBXFOiaCpuqMChRvcLiEERERERUZVJK+CwJj2XBbVgoMEx4TQlDCkACmuofUXKwGANRrWBwIiIiIqoFUkp4A1PvTP/UO68lYQr/iJJNVaCrKpwqizAQ1QUMTkREREQ1xBQC+T4LhYaFfMOEURSUAH+lOpuqcPFYojqKwYmIiIgoykwhkeMxcNTthccsFpQ0BiWi+oLBiYiIiChKLCGR4zVwtNCHQtOCTVURz/WPiOolBiciIiKiCCsrMLGoA1H9xeBEREREFCFCFgtMhgVNVRiYiBoIBiciIiKiavIHJhPHCr0oMCxoioI4BiaiBoXBiYiIiKiKhJTI9Zo4VuhDvmlCBQMTUUPF4EREREQUJiEl8rwmjrp9yDf8gSnWpkNjYCJqsBiciIiIiCpJSolcn4ljbh/yvSYURUGsrkNTGZiIGjoGJyIiIqIKSCmRVxSY8rwmoCiIsTEwETUmDE5EREREZZBSIt+wcKzQi1yfCUCBy6ZDZ2AianQYnIiIiIhOIaVEgWHhmNuHXK8BIf0jTAxMRI0XgxMRERFRkdDAZEJIiRibBl1Va7trRFTLGJyIiIioUZNSwmsJFBoWcrwG8g0LQki4bBpsDExEVITBiYiIiBodKSU8xcKS2xAwhYCqKHDoKmw2BiYiCsXgRERERI2ClBIeU6AgEJZMC6aQ0BQFDk2FS9ehcB0mIioDgxMRERE1WFJKuE2BAsNErteA2xQwhYSuKLDrKmJ0hWGJiCqFwYmIiIgaFH9YsvwjSx4DbkvAEhK66h9ZiuU0PCKqAgYnIiIiqveElHAbFvINE7leEx5TwJISNlWFU1OhMywRUTUxOBEREVG9JKREoWGhwGcix2vCawkIKaGrKpy6xjWXiCiiGJyIiIgoIgJBJkAp9o7y+zP/e0qx/cG2CorfbhR4Vyl+IhTdsxQMSxaEBGyqCpeuQWNYIqIoYXAiIiKiapFSIt9n4Te3F/k+E5BFO0qEICX45NR4o5x6AH4PWKcyhYAsCksxus6wREQ1gsGJiIiIqqzQsHCs0IeTXgMSQIyuI5Bj5Clt5Skb5SnvyZI7SpwDAOw2HRor4RFRDWNwIiIiorD5LIGjhT6c8BgwhECMTYNNDS3AUGq0qfxGIqI6hcGJiIiIKs0UEic9PvxW6IPXEnDqGmJsttruFhFR1DE4ERERUYWElMjxmvit0ItCw4JdU5Fg17l4LBE1GgxOREREVCYpJfINC78VepHnM6FBQbxdh8rARESNDIMTERERlcptWDgaKPwggVgbK9gRUePF4EREREQhfJbAcbcPx9wGTCHgKqXwAxFRY8PgRERERAAAS0ic8Bg4WuiFxxJwahpiHCz8QEQEMDgRERE1ekJK5BYVfigwLNhVFn4gIjoVgxMREVEjJaVEQVHhh1wWfiAiKheDExERUSPkNn8v/CCEZOEHIqIKMDgRERE1IoYlcMztw3G3AZ8QiNE12Gws/EBEVBEGJyIiogZOSAm3YSHfZ+Kk14DbFHByAVsiorAwOBERETVAlpAoNC0U+Ezkek14LQuWBAs/EBFVEYMTERFRA2EKiULDRH5RWPJZAhKATVXh0nkPExFRdTA4ERER1WOGJVBoWMg3TOR5TXiFAOAfWYplhTwioohhcCIiIqpnfJZAgWEh32sizzBhWEVhSVMRZ2NYIiKKBgYnIiKiesBrWigwLOT5TBQYFnyWgKoosKsq4nnPEhFR1DE4ERER1UFSSniKpuHleg0UGgKGENAUBXZWxCMiqnEMTkRERHWElBJuU6DQMJHjNeE2LZhCQlMUODR/gQeGJSKi2lGrK94tXLgQPXr0QEJCAhISEpCRkYH33nuv3GM2bdqEXr16wel0okOHDli0aFEN9ZaIiChyTOEfTTrpMXCkwIsDOYX4v+MF+OFkAX7O88BtWsGRpTi7DpumMjQREdWiWh1xat26NR599FF06tQJAPDvf/8bI0aMQGZmJrp3716ifVZWFoYNG4abb74ZK1euxKefforbbrsNzZs3x1VXXVXT3SciIqqQJSR8QsCwBHyWhNey4DYs+ISEJSQsKaEAUBUFmqrAqanQbbX6d00iIiqFIqWUtd2J4po0aYJ//OMfGD9+fIl999xzD9566y3s3bs3uG3ixIn46quvsHXr1kqdPzc3F4mJicjJyUFCQkLE+k1ERI2bkBKG9XtI8poChaa/iIMl/SFJoiggKQp01f+WaysRUWMjpUSez0SH5FjE22v3zqFwskGducfJsiy8/vrrKCgoQEZGRqlttm7diosuuihk28UXX4zFixfDMAzYbLYSx3i9Xni93uDz3NzcyHaciIgaFSklDCH9I0hCwGcKuE0Bj2nBkoAl/IvOAoCmKtAVBQ5Ng6aDU+2IiOqxWg9Ou3fvRkZGBjweD+Li4vDGG2+gW7dupbbNzs5GixYtQra1aNECpmni6NGjSE1NLXHM3Llz8cADD0Sl70RE1HgU+Eyc8BgoNPwFG0wpICSC0+x0VYFNU1jAgYiogar1SdRdunTBrl27sG3bNkyaNAljxozBnj17ymx/6g+jwEzDsn5IzZgxAzk5OcHHwYMHI9d5IiJq8NymhYO5bmTlFOKY2+evcqcqiLXpSHTYkOCwIc6uw6lrsKks4EBEVB4hgH3/B+zbB3zxOWBZtd2jyqv1ESe73R4sDtG7d29s374dTz75JJ577rkSbVu2bIns7OyQbUeOHIGu62jatGmp53c4HHA4HJHvOBERNWheS+BYoQ8nPAZMIeDSNdhYtIGIqMoyM4FXXgVOngRO6wCsfxnQTODJJ4Err6zt3lWszv0EkFKG3JNUXEZGBjZs2BCy7f3330fv3r1Lvb+JiIgoXIYQOFLgwY8nCnCk0AtNVZDgsMGm1bkfmURE9UZmJrBoEXDyROj2Q4eAq68G1qypnX6Fo1Z/Ctx7773YvHkz9u/fj927d+O+++7Dxo0bMXr0aAD+aXY33nhjsP3EiRPx008/YerUqdi7dy+WLFmCxYsXY9q0abV1CURE1EBYQuKY24cfTxTglzz/H/AS7DocDExERNUihH+kqTSB+t533ln3p+3V6lS9X3/9FTfccAMOHz6MxMRE9OjRA+vWrcOFF14IADh8+DAOHDgQbJ+Wloa1a9fir3/9K5555hm0atUKTz31FNdwIiKiKhNSIsdr4mihFwWGBZuqIsHBAg9ERJHy3XclR5qKkxI4eBDYvBk4//wa61bYajU4LV68uNz9y5YtK7Ft4MCB2LlzZ5R6REREjUVgHZGjhT7kGSY0KIi361AZmIiIIionp3LtDh+Obj+qq9aLQxAREdUkKSUKDAvH3D7keA0ACmJ1nQvREhFFSWJi5dqVsrJQncLgREREjYbbsHC0KDBZQiLGpkFXeQ8TEVE0de4MJCWXPV1PUYDWrYHzzqvZfoWLPy2IiKjB85oCv+R58OPJQhx3+2BXVSQ4bAxNRESnEKJojaUv/G+FqP45VRW4dmTp+wKzoxcsADSt+q8VTRxxIiKiBsuwBE54fDjqNuAzLThtOmK4fAURUamC6ywVGxlKSvaHnvT06p07PR2YOPH3dZwCWrf2h6b6sI6TImWgCGDjkJubi8TEROTk5CAhIaG2u0NERFFgCYmTHgNH3V64DQGHrsKhqayUR0RUhsA6S2WZOLH64Qnwj2D933cSeV4TTZVYnN9Pr9WRpnCyAUeciIiowWBpcSKi8JW3zlLAq68CPXv6p91Vh6oCXU4H8nxAh+S6Pz2vOAYnIiKqt6SU8FkSXsuCz5LI9RosLU5EFKaK1lkCgBMn/O26dKmZPtVFDE5ERFQvnBqS3KaFQsOCKSTMoruXVYWlxYmoYRPCH2Bycvxlvjt3rv4oUGXXWapsu4aKwYmIiOqcyoQkRVGgqwpsqgKXzul4RNTwRat4Q2XXWapsu4aKwYmIiGoVQxIRUcXKKt5w8oR/e3WKN1S0zhIAJCf72zVmDE5ERFRjGJKIiMIX7eINgXWWyquqN3Jk9acE1ncMTkREFBWWkPBZAj4h4LMEPKZgSCIiqoKaKN4Qss5SsddKTvaHpkiUIq/vGJyIiKhapJQwAiHJEvCaAoWmBZ8lYEoJIfzLBaqKAo0hiYgobDVVvCE93T9qFeniEw0FgxMREVWaWSwg+UeRLLhNAVNIWEIgsKK6rirQFBUuTYWqgyGJiKgaarJ4g6o27pLj5WFwIiKiEoSUMCwZnGbnNS0UmhYMS8IUEkKWHEVy6lw3iYgoGli8oW5gcCIiIphCoMBnwWsJuA0LbsuCJRC8FwkAdFWFpipw6SpUhaNIREQ1hcUb6gYGJyKiRkpKf1W7XK+Jkx4DXss/1U4LFGzQeC8SEVFdweINtY/BiYiokTGFQJ7PxAmPEaxyZ9dUxNk51Y6IqC5j8YbaxeBERNQISClRaFjI8ZrI9RrwWAKaosCpq4i18ScuEVEkCBH9UMPiDbWHwYmIqAEzLP/o0kmPgQLDgpD+0aUEO6fgERFFUmZmyWl0Scn+e5M4ja5h4J8ZiYgaGCkl8n0mfslz4/sTBTiY60aBYcGpq0hw2ODUNYYmIqIIysz0F244terdyRP+7ZmZtdMviiyOOBERNRC+wOiS24dCU8CSEk5NRTxHl4iIokYI/0hTeV591X9vEu9Fqt8YnIiI6jEhJQoMC7leAzleEz5LQFcUOHUNusqwREQUbd99V/76SgBw4oS/He9Nqt8YnIiI6iGvJZDnNXHS40OhaUECcKga710iIipHNIo35OREth3VXQxORET1hJASBT4LJ70G8nxFo0uqghhdh8bRJSKickWreENiYmTbUd3F4EREVMeYQsIUAkbgrSXhswQKDQuewOiSztElIqLKChRvOFWgeMPEiVUPT507+wNYedP1kpP97ah+Y3AiIqphUkqYUsK0JAwhYAoJQ0h4TQseS8ASEpaUEEJCFh2jKAo0RUGMjaNLREThiHbxBlX1j1qVFswCRo5kYYiGgMGJiCgKhJShI0eWhE8IeEwBn+WveBcIRwFqUThSVQUOVYGmKxxRIiKqppoo3pCe7h+1OnUqYHKyPzRxHaeGgcGJiKiaApXtPKYFnyXgtQR8poAl/fuE/D0cBYKRpiiwqypUHQxHRERRVFPFG9LT/aNWkS4+QXUHgxMRURUIKeE2LOT5TOR4TXiL7j1SoEBV/QHJpirQVBUqgxERUa2pyeINqsqS4w0ZgxMRUSVJKeE2BQoMEyc9BjxFi8zaVRWxdp0BiYioDmLxBooUBiciogp4TAsFhoWTHgNu04IpJGyqCpeusVADEVEERWOdJRZvoEhhcCIiKoXP8o8s5XhNFPgsGEJAVxQ4dBWxNv50JSKKtGitswSweANFBoMTEVERUwjk+yzkeU3kGf4FZjVFgUNT4dK5ZhIRUbREc52lABZvoOpicCKiRs0SEgWGiTyfiVyvPywB/pElLjBLRBR90V5nqTgWb6DqYHAiokZHSIlCw0K+z0SO14DXFJAKYFdVxLHIAxFRjaqJdZaIIoHBiYgahUBFvHyfgZNF5cOFBGwaK+IREdWmmlpniai6GJyIqMEyhYDbECgsmornsUSxing6K+IREYUhGhXvgJpdZ4moOhiciKjBEFLCYwq4Tf80vELDgmEJSAC66i/ywIp4REThi2bFO66zRPUFf4MgonrNZwnkeAz8kufB98cL8MPJAhzMdSPXa0KBgli7jgSHDTE2HTpLJxERhS1Q8e7UYBOoeJeZWb3zB9ZZKg/XWaK6gCNORFSvWELCbVpwm5Z/+p0hYAgBALCpKpyaBt3GKXhERJFQUxXvuM4S1QcMTkRUp0kp4bUC0+8sFPhM+ISAkICuKLBpKpxcY4mIKCpqsuId11miuo7BiYjqHEMIuA0rWDLcW1TUQYECm6YgxqZDY1AiIoq6mq54x3WWqC6r1Qw/d+5c/OEPf0B8fDxSUlJw+eWXY9++feUes3HjRiiKUuLx7bff1lCviSjSZNG6SsfcPuzPKcR3xwuQdbIQvxZ44bUkbJqKeLuOeIcOp64xNBER1RBWvCP6Xa2OOG3atAmTJ0/GH/7wB5imifvuuw8XXXQR9uzZg9jY2HKP3bdvHxISEoLPmzdvHu3uElGEmUIgz2fihMdAgWFBCAm1aPodF6IlIqp9rHhH9LtaDU7r1q0Leb506VKkpKTgyy+/xIABA8o9NiUlBUlJSVHsHRFFQ2Ah2lyvgZMeAx5LQFMUOHUVOkuFExFVWTTWWQpUvFu0qOw2rHhHjUWduscpp2iCbJMmTSpsm56eDo/Hg27duuHvf/87Bg0aVGo7r9cLr9cbfJ6bmxuZzhJRWEwhkeczcdLjQ4FhwRQSDk1Fgp2FHYiIqiua6yyx4h2RnyKllOEc0KFDB2zfvh1NmzYN2X7y5Emcc845+PHHH6vUESklRowYgRMnTmDz5s1lttu3bx8++eQT9OrVC16vFytWrMCiRYuwcePGUkepZs+ejQceeKDE9pycnJCpfkQUebJoQdpcr4GTXgMeU0BVFDh0FTb+eZKIKCIC6yyVZeLEyISbaIxoUeMkpf+PqR2SYxFvr91xnNzcXCQmJlYqG4QdnFRVRXZ2NlJSUkK2//rrr2jbtm3I6E44Jk+ejHfffRdbtmxB69atwzp2+PDhUBQFb731Vol9pY04tWnThsGJKIosIZHvM3HSayDPZ8IUEnZNhUNTed8SEVEECQHMuLfie5AeeYQhh+qO+hqcKt3T4qFk/fr1SCxWPsWyLHz44Ydo3759+L0F8Je//AVvvfUWPvnkk7BDEwD07dsXK1euLHWfw+GAw+GoUr+IKDwe00Ku18AJjwmPZUGBAqemIpb3LhERRUVNrrNE1NhVOjhdfvnlAABFUTBmzJiQfTabDe3bt8fjjz8e1otLKfGXv/wFb7zxBjZu3Ii0tLSwjg/IzMxEampqlY4louoRsmh0yWMiz2fCEAJ2VUWcjVXxiIiirabXWSJqzCodnIQQAIC0tDRs374dzZo1q/aLT548GS+99BL++9//Ij4+HtnZ2QCAxMREuFwuAMCMGTNw6NAhLF++HACwYMECtG/fHt27d4fP58PKlSuxevVqrF69utr9IaLK85oWcn0mTrgNuC0LkP7KeC6dxR6IiGoK11kiqjlhTyrMysoKvu/xeOB0Oqv84gsXLgQAnH/++SHbly5dirFjxwIADh8+jAMHDgT3+Xw+TJs2DYcOHYLL5UL37t3x7rvvYtiwYVXuBxFVjpASBT4LJ70Gcr3+0SUbR5eIiColGsUVuM4SUc0JuziEEAJz5szBokWL8Ouvv+L//u//0KFDB8ycORPt27fH+PHjo9XXiAjnBjAi8oclryVQ4LNwwuOD27AgATh1DTZV4egSEVElRLNceE1V1SOKlPpaHCLsv3M8/PDDWLZsGR577DHY7fbg9rPOOgsvvvhi+L0lojpFSAm34Q9Jh/Lc+O54AX44UYCf89zwWQIxNh0JDhvsmsrQRERUCYFgc+qo0MkT/u2ZmdU7f2CdpaTk0O3JyQxNRJEUdsRbvnw5nn/+eQwePBgTJ04Mbu/Rowe+/fbbiHaOiKJPFK215DEtuE0L+T4LhhAwhYQCwFZURjxG5+gSEVG4hPCPNJXn1VeBnj2rN20vPd1/Dq6zRBQ9YQenQ4cOoVOnTiW2CyFgGEZEOkVE0VMyKJkwhCwKSgpsmsKgREQUITVZLlxVWXKcKJrCDk7du3fH5s2b0a5du5Dtr7/+OtI5FkxU5xQPSoWGhXzDH5SskKCkIdbGkEREFGksF07UcIQdnGbNmoUbbrgBhw4dghACa9aswb59+7B8+XK888470egjEYWheFAqMCwU+EwYUkIUBSVdU+DUNOgMSkREUcdy4UQNR9jBafjw4Xj11VfxyCOPQFEU3H///TjnnHPw9ttv48ILL4xGH4moHFJKuE8NSkJCSAlFUWBTFbg0DRqDEhFRuVgunIjKU6X6fxdffDEuvvjiSPeFiCrJH5b8QSnHY8Bj+Ys5qIGgpGvQVAYlIqLKila5cFX1n6O8cuEjR7KIA1F9wG9TonpCSIkCw8SRAg++P1GAH04W4lCeB15LwKGpSHTYEG/X4WRoIiIKC8uFE1FlhD3ilJycXGqlLUVR4HQ60alTJ4wdOxbjxo2LSAeJGrPAmkr5PhM5XhNeS8CSEjZV5X1KREQRwHLhRFRZYQen+++/H3PmzMHQoUPRp08fSCmxfft2rFu3DpMnT0ZWVhYmTZoE0zRx8803R6PPRA2akNJf/c5nItdrwmtZsCRgU1VOwSMiijCWCyeiygo7OG3ZsgUPP/xwyOK3APDcc8/h/fffx+rVq9GjRw889dRTDE5ElWQJiULTX9ghpygsyWBY0hmWiIiihOXCiaiywh4gXr9+PYYMGVJi++DBg7F+/XoAwLBhw/Djjz9Wv3dEDZglJPK8Jg7ne/D9iXxknSjArwVeWFIiRteR4LDBZeMIExFRNLFcOBFVVtjBqUmTJnj77bdLbH/77bfRpEkTAEBBQQHi4+Or3zuiBsYSErleA7/kufHd8XxknSzAkQIvLAnE2ovCEqfjERHVmEC58PKwXDgRAVWYqjdz5kxMmjQJH3/8Mfr06QNFUfDFF19g7dq1WFRUa3PDhg0YOHBgxDtLVN8IKeGzBLyWQL7PRF5RgQcogF1VEWvXoZZSbIWIiEJFY40lgOXCiajyFCmlDPegTz/9FP/617+wb98+SClxxhln4C9/+Qv69esXjT5GVG5uLhITE5GTk4OEhITa7g41EFJKmELCJwR8loTXtOA2LXhNAVNKWML/bWbXVNg1lWGJiCgM0VpjqaLXSE72hyaWCyeKLCkl8nwmOiTHIt5epWVlIyacbBBWcDIMA7fccgtmzpyJDh06VLujtYHBiaorMIrkf0h4LQuFhgVDSFhCwJKAAkBTFGiqAl1VoClKqWX8iYiofIE1lsoSyXWQojWqRUSh6mtwCqunNpsNb7zxBmbOnFmtDhLVF4YQMCwBryXhMy24TQGPacEqGmEC/GuYaYo/IDlsnHpHRBQpNbXGUgDLhRNRecKOeFdccQXefPNNTJ06NRr9IaoVgVEkw/K/9VgW3IYFn/BPsxNFA7NqUUCyaypcOkeRiIgCojFaU5NrLBERVSTs4NSpUyc89NBD+Oyzz9CrVy/ExsaG7J8yZUrEOkcUbW7TQo7HQI7XgCkAU4iiPf6ApKsK7DYVGgMSEVGZonUPEtdYIqK6JOziEGlpaWWfTFHq/PpNvMeJpJTINyycdBvI9ZkwhIBdU/1BifciERGFJZr3IO3bBzzxRMXtpk7liBNRfdIo7nECgKysrCp3jKg2mUIiz2fguNtAgWFCSsCpa4ix2Wq7a0RE9VK070EKrLFU3nQ9rrFERDWFtWKowfOaFo4UePDDiXwcyHGj0LAQo/sXm7Vr/BYgIqqqcO5BqorAGkvl4RpLRFRTqjQ29vPPP+Ott97CgQMH4PP5QvY9UZkxdaIok1Ki0LBw0msgx2vCZwnYVRVxXHCWiChiauIepPR0/3Q/rrFERLUt7OD04Ycf4rLLLkNaWhr27duHM888E/v374eUEuecc040+khUaZbwz5k94fEh37BgCQmnriHBrvPeJSKiCEtMjGy7sqSn+6f7cY0lIqpNYQenGTNm4K677sKDDz6I+Ph4rF69GikpKRg9ejQuueSSaPSRqEI+SyDXa+K42we3ZUGBApeuQrfxpyoRUbTU5D1IXGOJiGpb2L9V7t27F2PGjAEA6LoOt9uNuLg4PPjgg5g3b17EO0hUnkLDwuF8D344UYCf89wwhEScTUe8XYfOP0USEUUV70EiosYk7P/KYmNj4fV6AQCtWrXCDz/8ENx39OjRyPWMqAxCSuR6DfyUU4gfTxbg1wL/12OCXUeMTeM9TERENShwD1JScuj25OTqlSInIqprKj1V78EHH8Rdd92Fvn374tNPP0W3bt1w6aWX4q677sLu3buxZs0a9O3bN5p9pUbOFL9Pxys0LEgALl1DLKfjERFVSIjo3SPEe5CIqDGo9AK4mqbh8OHDyM/PR35+Pnr06IHCwkJMmzYNW7ZsQadOnfDPf/4T7dq1i3afq4UL4NYvlpDwWgJ5XgMnPAY8loCuKHDqGjSVI0tERJWRmVmyKl1Ssn+aHUeEiKim1dcFcCsdnFRVRXZ2NlJSUiLSydrC4FR3SSnhsyS8lgWvJVDgs+AxLRhCwpISdk2FU1NZHY+IKAyZmcCiRWXv53Q6Iqpp9TU4hdVT/sJKkWQKAa8p4LUE3KaFAp8/JJlSABJQFQU2VYGLo0tERFUihH+kqTyvvuqfZsdpdURE5QsrOA0ePBi6Xv4hO3furFaHqGESUsJn+YOSx7RQYFrwmgKGEBASUOAPSTZVgUvlmktERJHw3XfllwoHgBMn/O1Y6puIqHxhBaeLL74YcXFx0eoLNSCG5R9J8poChaaFQsP0T7kTEhKArirQVRWxNp1V8IiIoiQnJ7LtiIgas7CC0913313v73GiyBNSBqfceUwL+YYJnyVhWgIS/imeuqrAoanQdIWjSUREp4hWxbvExMi2IyJqzCodnPjLLgVIKYvuSxIoNEzkeU0Y0j+apADQVdUflOwcTSIiqkg0K9517uw/V3nT9ZKT/e2IiKh8lf57ViWL71EDZQiBXK+BX/M9+OFEAX44UYCfcgpxtNAHCcCpaUiw60hw2BBj02DXVIYmIqIKBCrenRpsTp7wb8/MrN75VdUfwMozciQLQxARVUalR5yysrLQvHnzaPaF6hAhJTymBbchkOczUWhaMCwBwD+iZNNUuDjtjoioymqq4l16ur/k+KmjWsnJ/tDEUuRERJVT6eBU1xe2peo5dfpdvs9/n5IlJTRFgU1TEcepd0REEVOTFe/S0/0BLBr3URERNRa1u+IU1SpTCLiNovuUfCa8loQhBBSgaESJ6ycREUVLTVe8U1WWHCciqg4Gp0bEP/3Ov9hsvs9EgXHK9DtVgUvnGkpERDWBFe+IiOoXBqcGSkoJU0gYwr/wbEGx6XdCSqicfkdEVGnRKBfOindERPVLpYLT119/XekT9ujRo8qdofBJ6Q9HhiXgK3rrMS14TAGzqES4JSWn3xERVVG0yoUHKt4tWlR2G1a8IyKqOxRZiTrjqqpCURRIKSucxmVZVsQ6Fw25ublITExETk4OEhISars7lSZkaDjyWQIeU8BrWTAFYEmBwGdSVRRoigJN/f0tERGFL1AuvCwTJ1a/Kl1pwYwV74ioIZNSIs9nokNyLOLttTsBLpxsUKmeZmVlBd/PzMzEtGnTcPfddyMjIwMAsHXrVjz++ON47LHHqtFtAgBLSPiEgGEJ/zQ7U8BtWfCZApYELCEQSLqqokBXFdhUBU6VU+6IiCKpJsuFs+IdEVHdV6ngVLwU+Z///Gc89dRTGDZsWHBbjx490KZNG8ycOROXX355pV987ty5WLNmDb799lu4XC7069cP8+bNQ5cKyv5s2rQJU6dOxTfffINWrVph+vTpmDhxYqVfty7xWf6FZf2lwC0YRSXALfH7QGBg5MimsXgDEVFNqcly4ax4R0RU94X996zdu3cjLS2txPa0tDTs2bMnrHNt2rQJkydPxrZt27BhwwaYpomLLroIBQUFZR6TlZWFYcOG4bzzzkNmZibuvfdeTJkyBatXrw73UuqEPJ+Jg3keHHMb8JoSChQ4NA3xdh0JDhsSHDbE2nQ4dQ22oimTREQUfTVdLpyIiOq2sCcVdu3aFQ8//DAWL14Mp9MJAPB6vXj44YfRtWvXsM61bt26kOdLly5FSkoKvvzySwwYMKDUYxYtWoS2bdtiwYIFwf7s2LED8+fPx1VXXRXu5dQJKlDr8zuJiCgUy4UTEVFxYf+2vmjRIgwfPhxt2rRBz549AQBfffUVFEXBO++8U63O5BT92a5JkyZlttm6dSsuuuiikG0XX3wxFi9eDMMwYLPZQvZ5vV54vd7g89zc3Gr1kYiIGgeWCyciouLCnqrXp08fZGVlYc6cOejRowfOOussPPLII8jKykKfPn2q3BEpJaZOnYpzzz0XZ555ZpntsrOz0aJFi5BtLVq0gGmaOHr0aIn2c+fORWJiYvDRpk2bKveRiIjqJiGAffuAL77wvxWi+ucMlAsvD8uFExE1HlWaHxYTE4Nbbrkloh25/fbb8fXXX2PLli0Vtj31Pp9ARfXS7v+ZMWMGpk6dGnyem5vL8ERE1IBEa50lwH/8xIksF05ERFUMTitWrMBzzz2HH3/8EVu3bkW7du3wz3/+Ex06dMCIESPCPt9f/vIXvPXWW/jkk0/QunXrctu2bNkS2dnZIduOHDkCXdfRtGnTEu0dDgccDkfYfSIiorqvrHWWTp7wb4/EOkssF05EREAVpuotXLgQU6dOxdChQ3HixInggrfJycnBgg2VJaXE7bffjjVr1uCjjz4qtVrfqTIyMrBhw4aQbe+//z569+5d4v4mIiJquCq7zlKkpu116QL06eN/y9BERNT4hP1f/9NPP40XXngB9913H3T99wGr3r17Y/fu3WGda/LkyVi5ciVeeuklxMfHIzs7G9nZ2XC73cE2M2bMwI033hh8PnHiRPz000+YOnUq9u7diyVLlmDx4sWYNm1auJdCRET1WDjrLBEREVVX2MEpKysL6aXMe3A4HOWuv1SahQsXIicnB+effz5SU1ODj1df/f1PiIcPH8aBAweCz9PS0rB27Vps3LgRZ599Nh566CE89dRT9bYUORERVQ3XWSIiql+klDAsAbcpUB9XJg37Hqe0tDTs2rUL7dq1C9n+3nvvoVu3bmGdK1DUoTzLli0rsW3gwIHYuXNnWK9FREQNC9dZIiKq26SUMKWEYUmYUgAS0FUVDk1BnMsBl16/5j2HHZzuvvtuTJ48GR6PB1JKfPHFF3j55Zcxd+5cvPjii9HoIxER1WNCRKewAtdZIiKqW6SUsIqCkiEEJACbqsCuqWhidyBG1+DUNdg1pdRq2HVd2MFp3LhxME0T06dPR2FhIUaNGoXTTjsNTz75JK699tpo9JGIiOqpaJYKD6yzVFpVvQCus0REFF2m8Ickw/JX4tFUBXZVRZLTjhibDqeuwqGp9TIonUqRlZkvV4ajR49CCIGUlJRI9imqcnNzkZiYiJycHCQkJNR2d3DM7cPPuW4kOFgRkIgalrJKhQdEolR44HW4zhIRUc2wgkFJQkAGg1KcXUOMzT+i5KxHQSmcbBD2iNMFF1yANWvWICkpCc2aNQt50csvvxwfffRR+D0mIqIGpbKlwnv2rP6IENdZIiKKnmBQEhJCSmiKApuqoInL9ntQ0lWo9SQoVUfYwWnjxo3w+Xwltns8HmzevDkinSIiovotnFLhXbpU//UC6ywREVHVCOkPRpYEhPDfq2RJCU0BbKqKJIcNcfbGFZROVeng9PXXXwff37NnD7Kzs4PPLcvCunXrcNppp0W2d0REVC+xVDgRUd0SKNwgJPxvi8IRAEj41yjSVAWqokDXFMRpGmKL7lFy6ho0tfEFpVNVOjidffbZUBR/BYwLLrigxH6Xy4Wnn346op0jIqLoi0bVO5YKJyKqWTIwWhQMSBKWACQkFAAKALUoGGmKghi7Boemwqap0FUl+LCpKkNSGSodnLKysiClRIcOHfDFF1+gefPmwX12ux0pKSnQNC0qnSQiouiIVtU7lgonIooewxLwCQEhQ9dF1YoFI1dRNTt/MFJhKxaONKV+lgOvbZUOToEFb4UQUesMERHVnLKq3p084d9enap3LBVORBR5ppAoNEyoquIvzKCpsAdHjIqNHDEYRUXYP7Lmzp2LJUuWlNi+ZMkSzJs3LyKdIiKi6Kps1bvq/K0sPd0fvpKSQ7cnJ0euFDkRUWMgpES+z4TbMJHo1JGWGIMOiTE4Ld6F5jEOJDvtiLfrcOkabGr9KQVe34RdVe+5557DSy+9VGJ79+7dce211+Kee+6JSMeIiCh6aqrqHUuFExFVnZQSbtOCKSTibDqaxdqRYNcZjGpJ2MEpOzsbqampJbY3b94chw8fjkiniIgoumqy6h1LhRMRhUdKCY8l4LMEYnQNqXF2JDpsLNpQy8L+m1+bNm3w6aefltj+6aefolWrVhHpFBERRRer3hER1U1eSyDXZ0IB0CrOgQ7JMWjisjM01QFhjzhNmDABd955JwzDCJYl//DDDzF9+nTcddddEe8gERFFHqveERHVLYYl4DYt6KqKlBgHmsbY4dA4r7kuCTs4TZ8+HcePH8dtt90Gn88HAHA6nbjnnnswY8aMiHeQiIgij1XviIjqhuKV8pq47GjmssNl4xI/dZEiixd/D0N+fj727t0Ll8uFzp07w+FwRLpvUZGbm4vExETk5OQgISGhtruDY24ffs51I8Fhq+2uEFEdFY0FagNKW8cpOdkfmlj1jogoeoSUKDQsSCkR79DRPMaBWJvGwg81LJxsEPaIU0BcXBz+8Ic/VPVwIiKqhGgtUBvAqndERDXLXylPwBQCcTYNzWIcSHCwUl59UKngdOWVV2LZsmVISEjAlVdeWW7bNWvWRKRjRESNXTQXqC2OVe+IiKKvZKU8Fyvl1TOVCk6JiYnBFJzIEktERFFX2QVqe/bk6BARUV3ntQQ8pgWHpqJVnANNXHbo/M+73qlUcFq6dGmp7xMRUXTU1AK1REQUPayU17BU+R4nIiLyi0bxhppcoJaIiCJHSgmrqPCDqipo4rSjaYwdMayUV+9VKjilp6dX+oa1nTt3VqtDRET1SbSKN3CBWiKiui8Qkkzhf4iiYtWaqiCBlfIanEoFp8svvzz4vsfjwbPPPotu3bohIyMDALBt2zZ88803uO2226LSSSKiuiiaxRu4QC0RUd0iAwGp6K2UElAAXVGgKf6g5NI12DUVdk2FS1cZmBqYSgWnWbNmBd+fMGECpkyZgoceeqhEm4MHD0a2d0REdVS0izdwgVoiotojio0imUICkFAAaKoKXVUQ79Th0tVgSLJrKlSGpAYv7HucXn/9dezYsaPE9uuvvx69e/fGkiVLItIxIqK6rCaKN6Sn+0etuEAtEVH0WEWjSJYQRSEJUBRAV1XYNQVJTh3OYiNJdlXhSFIjFXZwcrlc2LJlCzqfMj9ky5YtcDqdEesYEVFdVlPFG7hALRFRZBlFaylZUkIC0BQFuqrAqWuIsWlwaCocRSFJZ0iiYsIOTnfeeScmTZqEL7/8En379gXgv8dpyZIluP/++yPeQSKiuqgmizdwgVoiouoxhYTPsmAICZuqIMauIVbX4Cg2kqRzIVqqQNjB6W9/+xs6dOiAJ598Ei+99BIAoGvXrli2bBmuueaaiHeQiKguYvEGIqK6TUgJb9HokqYocOkqWsTaEGvX4dRYuIHCp0hZVDexkcjNzUViYiJycnKQkJBQ293BMbcPP+e6keCw1XZXiChMZVXVC6hOVT0iIgqflBI+S8BrCSgAHLqKRIcN8XYdMSwLTqUIJxtUaZb8yZMn8eKLL+Lee+/F8ePHAfjXbzp06FBVTkdEFDVCAPv2AV984X8rROTOHSjekJQcuj05maGJiKimBMJSns9Ens+EBNAsxo72STHolByHlnFOxNp1hiaqtrCn6n399dcYMmQIEhMTsX//fkyYMAFNmjTBG2+8gZ9++gnLly+PRj+JiMIWrcVpi2PxBiKi2mEIAZ8pYEoJm6oi0aEj0WFDrF2Djf8JUxSE/VU1depUjB07Ft99911IFb2hQ4fik08+iWjniIiqKjCN7tR7kAKL02ZmRu61AsUb+vTxv+XPayKi6LCERKFhIcdrwGcJxNg0tElwoVNyLNolxiDJaWNooqgJe8Rp+/bteO6550psP+2005CdnR2RThERVUe0F6clIqKaEyjyYFgCigI4dQ3NYxyIs9vg0lnkgWpO2MHJ6XQiNze3xPZ9+/ahefPmEekUEVF11MTitEREFD3++5YkvJYFKIBDVZES6wgWeVAZlqgWhP231hEjRuDBBx+EYRgAAEVRcODAAfztb3/DVVddFfEOEhGFq6YWpyUiosiQUsKwBAoNC7leA7k+EwISTVx2tE+MQecmcUiNcyLOrjM0Ua0JOzjNnz8fv/32G1JSUuB2uzFw4EB06tQJ8fHxmDNnTjT6SEQUlppcnJaIiMIjpYQpJDymhXyfiVyvgTyfCUNI2DUFzWPsaJcYg07JsWiT4EKiwwaNi9NSHRD2VL2EhARs2bIFH330EXbu3AkhBM455xwMGTIkGv0jogZOiMhXpOPitEREdYcoCkr+h39NCFVVYFMUJDp0uGwanJoGh67Cpiq8Z4nqrLCCk2macDqd2LVrFy644AJccMEF0eoXETUC0SoXrqr+c5S3OO3IkSwMQUQUaVJKWEVByRASUkooAHRNhUNT0NTlgEPX4NBUOHWV0+6oXgkrOOm6jnbt2sGyrGj1h4gaiUC58FMFyoVXdwHZwOK0pwaz5GR/aOLitERE1SekPyCZQsASEgCgqQpsqoJkpw0uXYNTV+HQVNg0/rWK6rewp+r9/e9/x4wZM7By5Uo0adIkGn0iogaupsqFc3FaIqKqk1JCSECi6K0EBCSk9K+nJCGhKICuqoixaYjVNTiKgpJd42gSNTxhB6ennnoK33//PVq1aoV27dohNjY2ZP/OnTsj1jkiaphqslx4YHFaIqLGqrwAJKWEKGoTbA9ACTwUBaqiQFH8FcU0RYGmAS5dh6toyp1DV6HzL1LUCIQdnEaMGMGb9ogakWgUb2C5cCKi6DCEgNu0/OmnyO8BqOgtfg9AuqJBVxXoqgJN9YckVVGgKSj2vgJV9R/DUSRqzMIOTrNnz45CN4ioLopW8QaWCyciiiwpJQoMCxISTRx2xNi1UgKQ/31NVYJhiogqr9J/Ny4sLMTkyZNx2mmnISUlBaNGjcLRo0ej2TciqkWB4g2nTqkLFG/IzKz6uQPlwsvDcuFERJXjtQRyfSYcuop2CTFoneBEU5cdyU4bEhw2xNl1xNj89x/Ziu49YmgiCl+lg9OsWbOwbNkyXHrppbj22muxYcMGTJo0qVov/sknn2D48OFo1aoVFEXBm2++WW77jRs3Qin6Zi/++Pbbb6vVDyIKVdniDUXLcYQtUC68PCwXTkRUPktK5HoNWEKgZawDaUkxSHTaGIqIoqTSU/XWrFmDxYsX49prrwUAXH/99ejfvz8sy4KmaVV68YKCAvTs2RPjxo3DVVddVenj9u3bh4SEhODz5s2bV+n1iah0NVG8geXCiYiqRkoJjyXgswQSHDpaxDgQaw/77gsiClOlv8sOHjyI8847L/i8T58+0HUdv/zyC9q0aVOlFx86dCiGDh0a9nEpKSlISkqq0msSUcVqqngDy4UTEYXHFAIFhgWHpqJ1vAtNXDYWbCCqIZUOTpZlwW63hx6s6zBNM+Kdqkh6ejo8Hg+6deuGv//97xg0aFCZbb1eL7xeb/B5bm5uTXSRqF6ryeINLBdORFQxKSUKDQtCSjR12tE81g6nXrUZP0RUNZUOTlJKjB07Fg6HI7jN4/Fg4sSJIWs5rVmzJrI9LCY1NRXPP/88evXqBa/XixUrVmDw4MHYuHEjBgwYUOoxc+fOxQMPPBC1PhE1RIHiDeVN12PxBiKimuGz/CXGY3QNKbEOJDp03sdEVAsUWXzFs3KMGzeuUidcunRp1TqiKHjjjTdw+eWXh3Xc8OHDoSgK3nrrrVL3lzbi1KZNG+Tk5ITcJ1Vbjrl9+DnXjQSHrba7QvVQNNZYCghU1SvLxIm8D4mIKJqElMj3WdBUoInTjuYxdtg0zmUmiqTc3FwkJiZWKhtUesSpqoEo2vr27YuVK1eWud/hcISMkhE1FNFaYymAxRuIiGpHSPEHu46UWAfiWPyBqNbV++/CzMxMpKam1nY3iGpUWaNBgTWWIjUaxOINREQ1yxQChYYFm6aidbwTyU47NJXT8ojqgloNTvn5+fj++++Dz7OysrBr1y40adIEbdu2xYwZM3Do0CEsX74cALBgwQK0b98e3bt3h8/nw8qVK7F69WqsXr26ti6BqMZVdo2lnj0jE3BYvIGIKPqklCg0/cUfkpw2pMQ64GLxB6I6pVaD044dO0Iq4k2dOhUAMGbMGCxbtgyHDx/GgQMHgvt9Ph+mTZuGQ4cOweVyoXv37nj33XcxbNiwGu87UW2piTWWiIio5gSKP7iKij8ksfgDUZ1U6eIQDUU4N4DVBBaHoHB98QWweHHF7caPB/r0iX5/iIioaoSUKDAsqArQxGlD8xgHiz8Q1bCoFIcgorqhJtdYIiKiyJNSwmsJeC2B+KLiD/Es/kBU5/G7lCiKolEunGssERHVnsBEHRl8Hnhf+t8WPZdFO4PtitoCgCEE7JqKVnEONHU5WPyBqJ5gcCKKkmiVC1dV/znKW2Np5EhWviMiCoeUEobwjwRVdBeDUvSP4v8HSmCbf0vINgX+tSoV+P9fVhQFCZqOZjF2Fn8gqmcYnIiiINrlwrnGEhFRZJhCwmtZMIWETVWR6NARa9OCYUcpCkgh7yuhgaj056HtiKj+Y3AiirCaKhfONZaIiKpGFN1jZFgCqqLApatIirUjzq7ByVEgIioDgxNRhNVkuXCusUREVDmBqXge0wIUwKGqaFFUlCGmaISJiKg8DE5EEZaTE9l2RERUdaYQ8JgClpSwayqaOO1IcOqIs+ksykBEYWFwIoowlgsnIqpdQkp4TAFDCOiqglibhiSnDXF2HXauk0REVcTgRBRhLBdORFTzpJTwFa2NpABw6hqauRyId9jg0lVOxSOiamNwokYtGusssVw4EVHNMYrCkiUlHJqKZjF2xNt1xNl1qAxLRBRBDE7UaEVrnSWA5cKJiKLJKlpvyRACNlVBvF1DotOGOJsOG6fiEVGUMDhRoxTtdZYAlgsnIooUS0iYQsIU/pElVfFPxUuJdSLOrsOpcSoeEUUfgxM1OjW1zhLAcuFEROGS0h+SjKKgJAFoiuIv8mDXEGvzlw+PsWmcikdENYrBiRqdmlxniYiIyialhFUsKEkpoQDQVRV2TUGy0w6nrsGpq3BoGsuHE1GtYnCiRofrLBER1Y5ASDKFgCn8IUlT/aNJSQ4bYmwaHLoKh6bCpiqcfkdEdQqDEzU6XGeJiCj6Tp1yBwCq4h9NirFpiNU1OPTfgxKn3RFRXcfgRI0O11kiIooOUwh4TAEhJQB/SLJpCpKcdrh0DQ5NhUNXobNKDhHVQwxOVKdxnSUiorrPFAKFhoCqSMQVraHkD0ka7JxyR0QNBIMT1VlcZ4mIqG4zhYTbsABFItGpo6nLgTibxqBERA0SgxPVSVxniYio7rKERKFpAZCId+ho5nIgzs7AREQNG4MT1TlcZ4mIqG4KBibpD0xNXXbE23UGJiJqFBicqM7hOktERHVL8cAU59DRjIGJiBohBieqc7jOEhFR3WAJCbdpQUIizqajaYw/MLF0OBE1RgxOVGXRqHgHcJ0lIqLaFghMAhLxtqIpeQ4GJiJq3BicqEqiWfGO6ywREdUOS/qr5InACJPLjgQGJiIiAADrh1HYAhXvTg02gYp3mZnVO39gnaXycJ0lIqLIEVIi32eiwDARo2tolxCDtKQYJDltDE1EREX4qyeFpbIV74So3usE1llKSg7dnpwcmVLkRETkD0wFPhP5PhMuXUXbhBikJTMwERGVhlP1KCw1WfGO6ywREUWHkP57mCwhEWvT0DTGgUROySMiKheDE4WlpivecZ0lIqLqkVJCApASEJDwWQKWkIixaWgWb0eC3QZNZWAiIqoIgxOFhRXviIhqj5QSouitlIAoCkNShu47laIAqqJAgQK7pqJZnB2JDgYmIqJwMDhRWFjxjogoOiwhYQgBq1goAn4PQRL+G5MVRYGqFL0FoCkKNA2wKRo0VYFNU6Eq/u1qUVtNUaCqCjRFga4qnJJHRFQFDE4NWDTWWQpUvFu0qOw2rHhHRFQxISUMIWFY/rCkKQpsqoJYmwZNVWFTFGhFYUdV/SNGp4YhTVWgwB+iiIgouhicGqhorrMUqHh36vmTk/2hiRXviIhKklLClBKGJWEWlR61aSri7Tri7DpcNhUuXeNoEBFRHcXg1AAF1lk6VWCdpUiU82bFOyKiigWm3/ksCUBCVxU4NBVNXQ7E2DS4dA02jf9xEhHVBwxODUxl11nq2TMy0/ZY8Y6I6HeyaPqdLzj9DrCpKpq6bIi163DpKhyayql1RET1EINTA1OT6ywRETV2xaffGUJAKQpK8XYNcXYbXLoKl43T74iIGgIGp1pkWcDOncAJC0hwRGaqW02vs0RE1NgEpt8ZloTg9DsiokaDwamWrFkD3HEHENsc6HcJ8PMPkSnewHWWiIgiT0gJryngEwKqAthVFU1cNsTa/UGJ0++IiBo+/kmsFqxZA1x9NfDzz6HbA8UbMjOrfu7AOkvl4TpLRESVYwiBPJ+JfJ8JTQVaxTnQMSkWnZvEoXWCC8lOO5y6xtBERNQIMDjVMMvyjzSVsrB70Kuv+os8VEVgnaXycJ0lIqKySSnhMS3keA34LIF4u4Z2iTHolByHlFgnYu06NJVBiYioseGvzzVs8+aSI02nChRvqKrAOkunjjwlJ0emFDkRUUNkCYkCn4lcnwkAaBHrQIekWLRPjEGS08awRETUyPEepxp2+HDl2lW3eAPXWSIiqpiUEj4h4bUsKABidQ3JLjvi7ToLPBARUQgGpxqWmlq5dpEo3sB1loiISiekhMcUMISAXVPR1GlHotOGOBvvVyIiotLV6p/TPvnkEwwfPhytWrWCoih48803Kzxm06ZN6NWrF5xOJzp06IBFixZFv6MRdN55QOvWQHk/l1m8gYgoOgxLIM9rIt8wYVMVtI53omNSLFonuBBv1xmaiIioTLUanAoKCtCzZ0/861//qlT7rKwsDBs2DOeddx4yMzNx7733YsqUKVi9enWUexo5mgY8+aT//bJ+PrN4AxFR5Agp4S4q9mAIgUSnjvaJMeiYHItmMQ44dP6HS0REFavVqXpDhw7F0KFDK91+0aJFaNu2LRYsWAAA6Nq1K3bs2IH58+fjqquuilIvI+/KK4H//MdfXa+45GR/aGLxBiKi6jOFgMcUEFLCoalIjXUgwWGDy6bVdteIiKgeqlf3OG3duhUXXXRRyLaLL74YixcvhmEYsNlsJY7xer3wer3B57m5uVHvZ2VceSUwYgTw0TbghAUkOFi8gYiouqSU8FkCXktAVRTE2jUkO22It+vQ+R8sERFVQ70KTtnZ2WjRokXIthYtWsA0TRw9ehSppVRemDt3Lh544IGa6mJYNA045xzg51x/cCIiosqTUsKS/jLilpQwhYSEhF1T0TzGjkSHDTEs9kBERBFS7/78duoPQFm0kmxZPxhnzJiBnJyc4OPgwYNR7yMREUWOlBKmEPCaAoWGiVyviVyvgTzDhNeyICHh0BU0i7GhbYILnZJj0SrehVgWeyAiogiqVyNOLVu2RHZ2dsi2I0eOQNd1NG3atNRjHA4HHA4O5xAR1XX+ESQZMoIUoKkKNEWBU9fg0lU4NA02TYFNU2FXVS5OS0REUVevglNGRgbefvvtkG3vv/8+evfuXer9TUREVPcUD0hm0dsATVWgFw9IugabqsCuqbAxIBERUS2q1eCUn5+P77//Pvg8KysLu3btQpMmTdC2bVvMmDEDhw4dwvLlywEAEydOxL/+9S9MnToVN998M7Zu3YrFixfj5Zdfrq1LICKiSrCEvyS4KJpeHQhIMTYNLk2DXfePHNk0hQGJiIjqpFoNTjt27MCgQYOCz6dOnQoAGDNmDJYtW4bDhw/jwIEDwf1paWlYu3Yt/vrXv+KZZ55Bq1at8NRTT9WrUuRERI2JWRSYICXiHDoSHbai0SP/KJLKe5CIiKieUGSgukIjkZubi8TEROTk5CAhIaG2u4Njbh9+znUjwcGphkTUcJhCoNCwoChAvF1HU5cd8SzWQEREdUw42aBe3eNERER1m2EJuE0LqqIgyWlDE5cdcSwJTkREDQCDExERVVsgMGmqgmSnHU1cNsQyMBERUQPC4ERERFXmswQ8RYGpicuOJk4uOktERA0TgxMREYVFSgmfkPCYFmyqiqYxdjRx2hFj02q7a0RERFHD4ERERJUipfSPMFkCNlVFSowdyS47XDoDExERNXwMTkREVC4pJbyWgNcSsGsqWsQ6kOy0wcnAREREjQiDExERlUpKCY8l4CsKTC2LApODgYmIiBohBiciIgohpYTH9Acmh64iNc6BZKcddk2t7a4RERHVGgYnIiICAIiiwGQIAaemolW8A0kMTERERAAYnIiIGiUhJUwhYQkJU0oIKaEAcOoqWsS6kOjUYVMZmIiIiAIYnIiIGjAp/cHIKgpJlpSQAFQF0FUVuqog3qbDqauwaypibRp0BiYiIqISGJyIiBoAKSWERDAkmUIE9+mqCk0B4uz+gOTQVdhVf1DSVYWL1RIREVUCgxMRUT1z6jQ7KSUAQFUV6IoCp67Apdvh0DXYVRU2TYFdU6EyIBEREVUZgxMRUR1nCv/Cs6YQZU+zU1XYtN9HkYiIiCiyGJyIiOoYKSWMorBkSQlNVeDQVDR1OYLT7GyaChun2REREdUYBiciojpASH9Q8lkSEhI2VUWsXUOC3YYYmwaXrjIkERER1SIGJyKiWlJ8Cp4CwK6paOKyIc6uI8amwcH1k4iIiOoMBiciohpS3hS8WJsOl03j/UlERER1FIMTEVEUVTQFz6mz2h0REVF9wOBERBRh5U7B0zU4dE7BIyIiqm8YnIiIIsAQAj5TwAxMwVM5BY+IiKghYXAiIqoiKSW8loDXEtBVBTGcgkdERNRgMTgREYXJEhIey4IpJByaipQYB5KcNpYMJyIiasAYnIiIKsmwBNymBQWAy6YhNc6OBLsOG8uGExERNXgMTkRE5ZBSwmMJ+CwBm6oi2WlHklNHnF3nVDwiIqJGhMGJiKgUlpDwmBZMKeHUVLSMdSDRaYNL12q7a0RERFQLGJyIiIoEFqj1mBYUBYi16Uh22pDg0KGrnI5HRETUmDE4EVGjJ6SE1xTwCf90vCYuO5KcNsTaNE7HIyIiIgAMTkTUiJlCwGMKCCnh1FW0inEgwWGDk9PxiIiI6BQMTkTUqEgp4SuajqcpCmLtGpKddsTbdS5SS0RERGVicCKiRkFICY8pYAgBu6aieYwdiQ7/dDyuvUREREQVYXAiogZJFBV6MCz/VDwFgFPX0CLWiXiHDQ6uvURERERhYHAiogahtKCkayri7Bri7DqcuoYYXYPG6XhERERUBQxORFQvBYKSaQlYZQQlp67CxjLiREREFAEMTkRULwgpYRaNKBUPSrEMSkRERFQDGJyIqE5iUCIiIqK6hMGJiOoEBiUiIiKqyxiciCjipJQQEpAoeislBAAp/QFJAsECDgGBoBRj1xAfCEqaChur3xEREVEdwOBERBWSUsKSp4agwHN/QCpOAaAoClSl6C0ATVGgawp0VYFNVaCpKrSiNpqqQFMUOBiUiIiIqI5icCKiMhVfNNamKsEQpCsKdE2FripFDxWqokBT4X+rKEVvAVX9/TkRERFRfcXgREQlWFLCY1gwpYRLV9Ei1ok4uw5d9QcghiAiIiJqbBiciCjIFBJu04KERKyuoYnLjgSHDToXjSUiIqJGjsGJiGBYAm7TgqoA8XYdTZx2xDt0jiwRERERFWFwImqkpJTwCQmvaUFTFSQ77Uh22RBn06AwMBERERGFqPXyVc8++yzS0tLgdDrRq1cvbN68ucy2GzduhKIoJR7ffvttDfaYqH6TUsJjWsj1mRBColmMHR2SYtE20YV4u87QRERERFSKWh1xevXVV3HnnXfi2WefRf/+/fHcc89h6NCh2LNnD9q2bVvmcfv27UNCQkLwefPmzWuiu0T1WvEKeQ5NRWqsA4lOG5y6VttdIyIiIqrzanXE6YknnsD48eMxYcIEdO3aFQsWLECbNm2wcOHCco9LSUlBy5Ytgw9N4y9+RGWxhESBz0S+z4RNVdA63oVOybFoEedkaCIiIiKqpFoLTj6fD19++SUuuuiikO0XXXQRPvvss3KPTU9PR2pqKgYPHoyPP/643LZerxe5ubkhD6LGwBQCeT4TBaYJp66ibaILHZNj0SzGzkVmiYiIiMJUa789HT16FJZloUWLFiHbW7Rogezs7FKPSU1NxfPPP4/Vq1djzZo16NKlCwYPHoxPPvmkzNeZO3cuEhMTg482bdpE9DqI6hrDEsj1GvCYAvF2De0TY9AhORbJTjs0lhUnIiIiqpJar6p36o3oUsoyb07v0qULunTpEnyekZGBgwcPYv78+RgwYECpx8yYMQNTp04NPs/NzWV4ogZHSgmfJeGxLNhUBU2KKuTFskIeERERUUTUWnBq1qwZNE0rMbp05MiREqNQ5enbty9WrlxZ5n6HwwGHw1HlfhLVVVJKmELCZwmYUsKuqUiJsSPJaUeMjfcuEREREUVSrU3Vs9vt6NWrFzZs2BCyfcOGDejXr1+lz5OZmYnU1NRId4+oTpJSwrAE8n0mcn0mDCEQY9fQJt6FjkkxaBXvYmgiIiIiioJanao3depU3HDDDejduzcyMjLw/PPP48CBA5g4cSIA/zS7Q4cOYfny5QCABQsWoH379ujevTt8Ph9WrlyJ1atXY/Xq1bV5GURRFRhZ8loClpSwqSpi7RoS7TbE/H979x4cVXn/cfxzLnuHBLkYbvlBsFqwWIRQLnFSqlUotHQ6vciMtqADtinTYYChQKXDRbBM7YTpIAQ6yuWPokW0OtbSCuMoF+UPw4TWEYZaQC411EJbEggk2T3P74+QSEjKsoHds2Hfr5kd2JPnhO8J31nOh+ec5wQdhR2by/EAAADSzNfgNGXKFJ09e1ZPPfWUqqurNXToUG3fvl0DBgyQJFVXV+vEiRMt4xsaGjRv3jz94x//UCQS0Re+8AX98Y9/1KRJk/w6BCAtrgxLnjFym8NSqOm+pRBhCQAAIKMsY4zxu4hMqqmpUX5+vs6dO9fqIbp+OXuxQadqLiovFPC7FPisvbAUCdiEJQAAgDRJJRv4vqoekMvauwyvS9BRHmEJAAAgqxCcgAwzxqjx8mp4V4al/FBA0YCjsMviDgAAANmG4ARkQHthqevlmSXCEgAAQPYjOAFpYoxRw+Ww5F0VlmIBRyHCEgAAQKdBcAJuIs803a/UmPAkSwrYtrqFAuoSdBQLuAq5vj06DQAAADeA4ATcoLjnqSFh1Oh5si0paNvqFQ0qFnQVdR0FHMISAABAZ0dwAlJ09f1Krm0p5NjqGQkpFnQVcR05NivhAQAA3EoITsB18IxRY8JTg2da7leKBR3lBZsWd4i4LBsOAABwKyM4Af9DwjNq8D67Xylo27otHFCXy5fgcb8SAABA7iA4AVdovByU4p5pul/JsdUtGlKXoKNowJFrE5YAAAByEcEJOS/ueboU/+x+pbBjq1e0acnwSMCRzSV4AAAAOY/ghJyV8Izq4glJRl2D7mcPo3W4XwkAAACtEZyQczxjVNeYkHc5MPWMBNU16BKWAAAA8D8RnJAzPGN0MZ5QwjPqEnDUIxpSXsjlUjwAAAAkRXDCLc8Yo4txT42ep2jAUa+uQeWHAgQmAAAAXDeCE25ZxhhdSnhqSHiKuLZ6d4moWyjAw2kBAACQMoITbjnGGNUnPNUnPIUdW/26hHVbJMBS4gAAAOgwghNuKfUJT5ca4wq6jvrEQrotElTQITABAADgxhCccEtoSHi6GE8oYNu6PRZWj0hAIdfxuywAAADcIghO6NQaPU8XGxNybEs9o0H1iAQVITABAADgJiM4oVOKe57qGhOybUvdw0H1iAYUDdDOAAAASA/ONNGpJDyjunhCklF+OKCekaBiAYeH1wIAACCtCE7oFDxjVNeYkCejrkFXPSNBdQ26BCYAAABkBMEJWcEzRsY0/epd/d4YSVKXgKMe0ZDyQi4PrwUAAEBGEZyQFsYYGTUHnyuCkD57f2X0sSzJtixZsmRbkmNZch1LAdtSwLYVDtjKDwUITAAAAPAFwQk3JO41PWg24UmSafU122oKQZZlyZbkOpZc22kKQ44tx7Lk2E0hybEs2bb12e8v7wcAAABkA4ITUuYZo0txT42eJ9e2FHEdRV1HrtMceiw5LSFIcmzrcogiCAEAAKBzIjjhuhhj1JDwVO95sowUdh31jIbUNRhQxLWZHQIAAMAtjeCE/8kYo7hnmi7FM0Yhx1bPSFB5wYBiQYcZJAAAAOQMghPaSHhG9YmEGj2jgG2ra8hRfiioLgFHAcf2uzwAAAAg4whOkNR031JDwlNDwpNtSRHXUUEsoC5BV2HX8bs8AAAAwFcEpxxmjFGj17TQgyyjkG3r9lhIXYOuogEuxQMAAACaEZxyUNzzVB/3FDdGQdtW93BAeSFXsaAr1yYsAQAAAFcjOOUIzxjVxz01NC8hHnDULdx0KV6I+5YAAACAayI43YKMMfKMFDdGCc8o7nmyJIVcR30iIXUNsYQ4AAAAkAqCUyeX8IwSl5cNTxgjY4yMmh4661qWQo6l28JBdQm6igVcOVyKBwAAAKSM4NRJeFeEo4Rn5DUHJMuSY1sKOpYirquwayvg2AraTb9yzxIAAABw4whOWcZrvrzuioAkSZYlubYt17LUJewq4toK2LaCjq2gY8m1uU8JAAAASBeCUxbwjFFNfaMkyZLk2LZcW4qFXEVc5/IMkqXg5Rkk7k0CAAAAMovg5LOgY+u2SFBhp3n2qOkVICABAAAAWYPg5LOuQVddg/w1AAAAANmMG2MAAAAAIAmCEwAAAAAkQXACAAAAgCR8D04VFRUqKipSOBxWcXGx9uzZc83xu3btUnFxscLhsAYNGqT169dnqFIAAAAAucrX4LR161bNnj1bixYtUlVVlUpLSzVx4kSdOHGi3fHHjh3TpEmTVFpaqqqqKj355JOaNWuWXnnllQxXDgAAACCXWMZcfsKqD0aPHq0RI0Zo3bp1LduGDBmib33rW1q5cmWb8QsWLNDrr7+uQ4cOtWwrKyvTX/7yF+3bt6/dP6O+vl719fUt72tqalRYWKhz584pLy/vJh4NAAAAgM6kpqZG+fn515UNfJtxamho0P79+zV+/PhW28ePH6/33nuv3X327dvXZvyECRNUWVmpxsbGdvdZuXKl8vPzW16FhYU35wAAAAAA5AzfgtOZM2eUSCRUUFDQantBQYFOnz7d7j6nT59ud3w8HteZM2fa3ednP/uZzp071/I6efLkzTkAAAAAADnD9yevWpbV6r0xps22ZOPb294sFAopFArdYJUAAAAAcplvM049e/aU4zhtZpc+/fTTNrNKzXr37t3ueNd11aNHj7TVCgAAACC3+RacgsGgiouLtXPnzlbbd+7cqZKSknb3GTt2bJvxO3bs0MiRIxUIBNJWKwAAAIDc5uty5HPnztXzzz+vjRs36tChQ5ozZ45OnDihsrIySU33J02dOrVlfFlZmY4fP665c+fq0KFD2rhxozZs2KB58+b5dQgAAAAAcoCv9zhNmTJFZ8+e1VNPPaXq6moNHTpU27dv14ABAyRJ1dXVrZ7pVFRUpO3bt2vOnDlau3at+vbtq9WrV+s73/mOX4cAAAAAIAf4+hwnP6SyVjsAAACAW1eneI4TAAAAAHQWBCcAAAAASILgBAAAAABJEJwAAAAAIAlfV9XzQ/NaGDU1NT5XAgAAAMBPzZngetbLy7ngVFtbK0kqLCz0uRIAAAAA2aC2tlb5+fnXHJNzy5F7nqdPPvlEXbt2lWVZfpejmpoaFRYW6uTJkyyPjutCzyAV9AtSRc8gVfQMUpVNPWOMUW1trfr27SvbvvZdTDk342Tbtvr37+93GW3k5eX53jjoXOgZpIJ+QaroGaSKnkGqsqVnks00NWNxCAAAAABIguAEAAAAAEkQnHwWCoW0ZMkShUIhv0tBJ0HPIBX0C1JFzyBV9AxS1Vl7JucWhwAAAACAVDHjBAAAAABJEJwAAAAAIAmCEwAAAAAkQXACAAAAgCQITmlWUVGhoqIihcNhFRcXa8+ePdccv2vXLhUXFyscDmvQoEFav359hipFtkilZ37/+9/roYceUq9evZSXl6exY8fqzTffzGC1yAapfs40e/fdd+W6ru699970Foisk2rP1NfXa9GiRRowYIBCoZDuuOMObdy4MUPVIhuk2jNbtmzRsGHDFI1G1adPHz3++OM6e/ZshqqF33bv3q3Jkyerb9++sixLr732WtJ9OsM5MMEpjbZu3arZs2dr0aJFqqqqUmlpqSZOnKgTJ060O/7YsWOaNGmSSktLVVVVpSeffFKzZs3SK6+8kuHK4ZdUe2b37t166KGHtH37du3fv1/333+/Jk+erKqqqgxXDr+k2jPNzp07p6lTp+qrX/1qhipFtuhIzzz88MN66623tGHDBh0+fFgvvviiBg8enMGq4adUe2bv3r2aOnWqpk+frg8//FDbtm3T+++/rxkzZmS4cvjlwoULGjZsmNasWXNd4zvNObBB2owaNcqUlZW12jZ48GCzcOHCdsfPnz/fDB48uNW2H/3oR2bMmDFpqxHZJdWeac/dd99tli1bdrNLQ5bqaM9MmTLF/PznPzdLliwxw4YNS2OFyDap9syf/vQnk5+fb86ePZuJ8pCFUu2ZX/3qV2bQoEGttq1evdr0798/bTUie0kyr7766jXHdJZzYGac0qShoUH79+/X+PHjW20fP3683nvvvXb32bdvX5vxEyZMUGVlpRobG9NWK7JDR3rmap7nqba2Vt27d09HicgyHe2ZTZs26ciRI1qyZEm6S0SW6UjPvP766xo5cqSeeeYZ9evXT3fddZfmzZunixcvZqJk+KwjPVNSUqJTp05p+/btMsbon//8p15++WV9/etfz0TJ6IQ6yzmw63cBt6ozZ84okUiooKCg1faCggKdPn263X1Onz7d7vh4PK4zZ86oT58+aasX/utIz1ytvLxcFy5c0MMPP5yOEpFlOtIzH330kRYuXKg9e/bIdfknINd0pGeOHj2qvXv3KhwO69VXX9WZM2c0c+ZM/fvf/+Y+pxzQkZ4pKSnRli1bNGXKFF26dEnxeFzf/OY39eyzz2aiZHRCneUcmBmnNLMsq9V7Y0ybbcnGt7cdt65Ue6bZiy++qKVLl2rr1q26/fbb01UestD19kwikdAjjzyiZcuW6a677spUechCqXzOeJ4ny7K0ZcsWjRo1SpMmTdKqVau0efNmZp1ySCo9c/DgQc2aNUuLFy/W/v379ec//1nHjh1TWVlZJkpFJ9UZzoH578Y06dmzpxzHafO/MZ9++mmbRN2sd+/e7Y53XVc9evRIW63IDh3pmWZbt27V9OnTtW3bNj344IPpLBNZJNWeqa2tVWVlpaqqqvSTn/xEUtNJsTFGrutqx44deuCBBzJSO/zRkc+ZPn36qF+/fsrPz2/ZNmTIEBljdOrUKd15551prRn+6kjPrFy5Uvfdd59++tOfSpK++MUvKhaLqbS0VCtWrMia2QNkj85yDsyMU5oEg0EVFxdr586drbbv3LlTJSUl7e4zduzYNuN37NihkSNHKhAIpK1WZIeO9IzUNNP02GOP6YUXXuD68RyTas/k5eXpgw8+0IEDB1peZWVl+vznP68DBw5o9OjRmSodPunI58x9992nTz75ROfPn2/Z9re//U22bat///5prRf+60jP1NXVybZbn2I6jiPps1kE4Eqd5hzYp0UpcsLvfvc7EwgEzIYNG8zBgwfN7NmzTSwWMx9//LExxpiFCxeaH/zgBy3jjx49aqLRqJkzZ445ePCg2bBhgwkEAubll1/26xCQYan2zAsvvGBc1zVr16411dXVLa///ve/fh0CMizVnrkaq+rlnlR7pra21vTv399897vfNR9++KHZtWuXufPOO82MGTP8OgRkWKo9s2nTJuO6rqmoqDBHjhwxe/fuNSNHjjSjRo3y6xCQYbW1taaqqspUVVUZSWbVqlWmqqrKHD9+3BjTec+BCU5ptnbtWjNgwAATDAbNiBEjzK5du1q+Nm3aNDNu3LhW49955x0zfPhwEwwGzcCBA826desyXDH8lkrPjBs3zkhq85o2bVrmC4dvUv2cuRLBKTel2jOHDh0yDz74oIlEIqZ///5m7ty5pq6uLsNVw0+p9szq1avN3XffbSKRiOnTp4959NFHzalTpzJcNfzy9ttvX/P8pLOeA1vGMGcKAAAAANfCPU4AAAAAkATBCQAAAACSIDgBAAAAQBIEJwAAAABIguAEAAAAAEkQnAAAAAAgCYITAAAAACRBcAIAAACAJAhOAAAAAJAEwQkA4JvHHntMlmW1ef3973+/Kd9/8+bN6tat2035Xh21e/duTZ48WX379pVlWXrttdd8rQcA0DEEJwCAr772ta+purq61auoqMjvstpobGzs0H4XLlzQsGHDtGbNmptcEQAgkwhOAABfhUIh9e7du9XLcRxJ0h/+8AcVFxcrHA5r0KBBWrZsmeLxeMu+q1at0j333KNYLKbCwkLNnDlT58+flyS98847evzxx3Xu3LmWmaylS5dKUrszP926ddPmzZslSR9//LEsy9JLL72kr3zlKwqHw/rtb38rSdq0aZOGDBmicDiswYMHq6Ki4prHN3HiRK1YsULf/va3b8JPCwDgF9fvAgAAaM+bb76p73//+1q9erVKS0t15MgR/fCHP5QkLVmyRJJk27ZWr16tgQMH6tixY5o5c6bmz5+viooKlZSU6Ne//rUWL16sw4cPS5K6dOmSUg0LFixQeXm5Nm3apFAopOeee05LlizRmjVrNHz4cFVVVemJJ55QLBbTtGnTbu4PAACQVQhOAABfvfHGG60CzcSJE7Vt2zY9/fTTWrhwYUsgGTRokJYvX6758+e3BKfZs2e37FdUVKTly5frxz/+sSoqKhQMBpWfny/LstS7d+8O1TZ79uxWM0XLly9XeXl5y7aioiIdPHhQv/nNbwhOAHCLIzgBAHx1//33a926dS3vY7GYJGn//v16//339fTTT7d8LZFI6NKlS6qrq1M0GtXbb7+tX/ziFzp48KBqamoUj8d16dIlXbhwoeX73IiRI0e2/P5f//qXTp48qenTp+uJJ55o2R6Px5Wfn3/DfxYAILsRnAAAvorFYvrc5z7XZrvneVq2bFm79waFw2EdP35ckyZNUllZmZYvX67u3btr7969mj59etKFHCzLkjGm1bb29rkyfHmeJ0l67rnnNHr06Fbjmu/JAgDcughOAICsNGLECB0+fLjdUCVJlZWVisfjKi8vl203rXX00ksvtRoTDAaVSCTa7NurVy9VV1e3vP/oo49UV1d3zXoKCgrUr18/HT16VI8++miqhwMA6OQITgCArLR48WJ94xvfUGFhob73ve/Jtm399a9/1QcffKAVK1bojjvuUDwe17PPPqvJkyfr3Xff1fr161t9j4EDB+r8+fN66623NGzYMEWjUUWjUT3wwANas2aNxowZI8/ztGDBAgUCgaQ1LV26VLNmzVJeXp4mTpyo+vp6VVZW6j//+Y/mzp3b7j7nz59v9VyqY8eO6cCBA+revbv+7//+78Z+SACAjGE5cgBAVpowYYLeeOMN7dy5U1/60pc0ZswYrVq1SgMGDJAk3XvvvVq1apV++ctfaujQodqyZYtWrlzZ6nuUlJSorKxMU6ZMUa9evfTMM89IksrLy1VYWKgvf/nLeuSRRzRv3jxFo9GkNc2YMUPPP/+8Nm/erHvuuUfjxo3T5s2br/ncqcrKSg0fPlzDhw+XJM2dO1fDhw/X4sWLO/qjAQD4wDJXX+QNAAAAAGiFGScAAAAASILgBAAAAABJEJwAAAAAIAmCEwAAAAAkQXACAAAAgCQITgAAAACQBMEJAAAAAJIgOAEAAABAEgQnAAAAAEiC4AQAAAAASRCcAAAAACCJ/wfogTSKOqej1QAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAIhCAYAAAB5deq6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACaqklEQVR4nOzdd3xUVfoG8OeWaamEEgg9FBFQIMIqYEWwgMuisiuKBRALqD9URFx0Eayoqy7qCqhLWQQ76KJiVxAUBCSoK8qigiCC1PQp995zfn/czJhJIxNmMpPk+X4+kcydMzNnQjFPznveo0gpJYiIiIiIiKhKarwnQERERERElOgYnIiIiIiIiI6CwYmIiIiIiOgoGJyIiIiIiIiOgsGJiIiIiIjoKBiciIiIiIiIjoLBiYiIiIiI6CgYnIiIiIiIiI6CwYmIiIiIiOgoGJyIKCEsWrQIiqKEPnRdR9u2bTFu3Djs2bOnTubQsWNHjB07NnR71apVUBQFq1atiuh5Pv/8c8ycORN5eXkV7jvrrLNw1llnHdM8E03591RSUoKZM2dW+nWbOXMmFEXBwYMHa/16S5cuRU5ODtxuN5o3b47Ro0dj9+7dFcZ17Ngx7M9U8GPChAlh43bv3o1hw4YhLS0N3bt3x3/+858Kz/Xqq6+iWbNmOHDgQERz/frrrzFu3DhkZ2fD7XYjJSUFJ510Eh555BEcPnw4sjdeCzt37oSiKFi0aFHoWvD3oKyOHTvij3/8Y62e71jV9LUrs3LlSsycOTNqc4m1sWPHomPHjvGeBhHVkh7vCRARlbVw4UIcf/zx8Hq9+PTTTzFr1iysXr0a33zzDZKTk+t0LieddBLWrVuHHj16RPS4zz//HPfccw/Gjh2LJk2ahN03Z86cKM4wMZR/TyUlJbjnnnsAIOoh8amnnsKkSZNwzTXX4KGHHsIvv/yC6dOn4/TTT0dubi4yMjLCxp966ql49NFHw661bNky7PaYMWPg9/vx2muvYdWqVbjkkkuwdetWdO7cGQCQn5+Pm2++GY8++ihatGhR47k+99xzuOGGG9CtWzfcfvvt6NGjBwzDwKZNmzBv3jysW7cOr7/+ei2/ErV3zTXX4Pzzz6/z142FlStX4umnn65X4YmI6i8GJyJKKCeccAL69esHABg0aBAsy8J9992HN954A5dffnmljykpKUFSUlLU55KWlob+/ftH9TkjDWH1QV29J7/fj+nTp2P48OF47rnnwl5/4MCBePTRR/HAAw+EPaZJkybV/h6WlJRg1apV+OyzzzBgwACce+65eO211/DBBx+EgtMdd9yBbt26Ydy4cTWe67p16zBx4kScc845eOONN+ByuUL3nXPOObjtttvw7rvvVvscXq8XHo+nxq9ZU23btkXbtm2j/rwNSaz+TSGi+o2lekSU0ILf9P78888A7FKXlJQUfPPNNzj33HORmpqKwYMHAwACgQDuv/9+HH/88XC5XGjRogXGjRtXobzKMAxMnToVrVq1QlJSEk477TRs2LChwmtXVar3xRdfYPjw4WjWrBncbjc6d+6MW265BYBdBnX77bcDALKzs0PlYcHnqKxU7/Dhw7jhhhvQpk0bOJ1OdOrUCXfddRf8fn/YOEVRcNNNN+H5559H9+7dkZSUhN69e+Ott94KG3fgwAFcd911aNeuXejrcOqpp+LDDz+s8uv87bffQlEUvPrqq6FrX375JRRFQc+ePcPG/ulPf0Lfvn1Dt8u+p507d4ZWZe65557Q+y9bAgkAv/32Gy677DKkp6ejZcuWuPrqq5Gfn1/l/ADgv//9L/Lz8zFs2LCw6wMGDEDTpk2xbNmyah9fmUAgACll2GpmSkoKfD4fAHv1cPHixXjmmWciet4HH3wQiqLg2WefDQtNQU6nE3/6059Ct4PlasuXLw+VIQZX7fbt24frr78ebdu2hdPpRHZ2Nu655x6Yphn2nL/++isuueQSpKamIj09HaNGjcK+ffsqvHZlpXpBr7/+Onr16gW3241OnTrhySefrNH73b59O0aPHo3MzEy4XC50794dTz/9dI0eW16wHPDRRx/F448/juzsbKSkpGDAgAFYv359aNzYsWNDr1G2FHPnzp0AACkl5syZgz59+sDj8SAjIwN//vOf8dNPP4W93llnnYUTTjgBn376KQYOHIikpCRcffXVuPDCC9GhQwcIISrM8ZRTTsFJJ50Uuv3000/jjDPOQGZmJpKTk3HiiSfikUcegWEYtfoaEFFi4ooTESW0H374AQDCSqQCgQD+9Kc/4frrr8df//pXmKYJIQRGjBiBNWvWYOrUqRg4cCB+/vlnzJgxA2eddRY2bdoU+un9tddei8WLF2PKlCk455xz8N///hcXX3wxCgsLjzqf9957D8OHD0f37t3x+OOPo3379ti5cyfef/99AHYZ1OHDh/HUU09h+fLlyMrKAlD1qozP58OgQYPw448/4p577kGvXr2wZs0azJo1C1u2bMHbb78dNv7tt9/Gxo0bce+99yIlJQWPPPIILrroImzbtg2dOnUCAFx55ZXYvHkzHnjgARx33HHIy8vD5s2bcejQoSrfV8+ePZGVlYUPP/wQf/nLXwAAH374ITweD7Zu3Ypff/0VrVu3hmmaWL16dYV9QkFZWVl49913cf7552P8+PG45pprKvz+AcDIkSMxatQojB8/Ht988w2mTZsGAFiwYEGVcwwEAgBQaRBxuVzYvn07fD4f3G536Pqnn36K1NRU+Hw+dO3aFePHj8ctt9wCTdMA2CtSxx9/PB577DHMnj0bq1evxldffYWBAwfCMAxcd911mDZtGo477rgq51WeZVn4+OOP0bdvX7Rr167Gj9u8eTO+++47/O1vf0N2djaSk5Oxb98+nHzyyVBVFXfffTc6d+6MdevW4f7778fOnTuxcOFCAPbq1JAhQ/Drr79i1qxZOO644/D2229j1KhRNX79LVu24JZbbsHMmTPRqlUrLF26FDfffDMCgQCmTJlS5eO2bt2KgQMHon379njsscfQqlUrvPfee5g0aRIOHjyIGTNm1HgOZT399NM4/vjjMXv2bADA9OnTMWzYMOzYsQPp6emYPn06iouL8dprr2HdunWhxwX/zl1//fVYtGgRJk2ahIcffhiHDx/Gvffei4EDB+Krr74KK9ncu3cvrrjiCkydOhUPPvggVFVFXl4eRowYgY8//hhDhgwJjf3++++xYcOGsFD5448/YvTo0cjOzobT6cRXX32FBx54AN9//321f6aJqJ6RREQJYOHChRKAXL9+vTQMQxYWFsq33npLtmjRQqampsp9+/ZJKaUcM2aMBCAXLFgQ9vgXX3xRApDLli0Lu75x40YJQM6ZM0dKKeV3330nAchbb701bNzSpUslADlmzJjQtU8++UQCkJ988knoWufOnWXnzp2l1+ut8r38/e9/lwDkjh07Ktx35plnyjPPPDN0e968eRKAfOWVV8LGPfzwwxKAfP/990PXAMiWLVvKgoKC0LV9+/ZJVVXlrFmzQtdSUlLkLbfcUuX8qnLFFVfITp06hW4PGTJEXnvttTIjI0P++9//llJK+dlnn1WYV/n3dODAAQlAzpgxo8JrzJgxQwKQjzzySNj1G264QbrdbimEqHJ+hw4dkqqqyvHjx4dd/+GHHyQACUD++uuvYc+5YMECuXr1avnGG2/Iyy+/XAKQV1xxRdjjP/vsM9mqVSsJQKqqKu+++24ppZT33Xef7NGjh/T7/VXOqTL79u2TAOSll15a48d06NBBapomt23bFnb9+uuvlykpKfLnn38Ou/7oo49KAPLbb7+VUko5d+5cCUD+5z//CRt37bXXSgBy4cKFoWvB34Pyr68oityyZUvY9XPOOUempaXJ4uJiKaWUO3bsqPB85513nmzbtq3Mz88Pe+xNN90k3W63PHz48FHf+wUXXBC6HXyNE088UZqmGbq+YcMGCUC++OKLoWs33nhjhfcipZTr1q2TAORjjz0Wdn337t3S4/HIqVOnhq6deeaZEoD86KOPwsYahiFbtmwpR48eHXZ96tSp0ul0yoMHD1b6fizLkoZhyMWLF0tN08Le/5gxY2SHDh2q+WoQUSJjqR4RJZT+/fvD4XAgNTUVf/zjH9GqVSu88847FTb0jxw5Muz2W2+9hSZNmmD48OEwTTP00adPH7Rq1SpUKvfJJ58AQIX9Updccgl0vfpF+P/973/48ccfMX78+LBVjWPx8ccfIzk5GX/+85/DrgdL2z766KOw64MGDUJqamrodsuWLZGZmRkqZQSAk08+GYsWLcL999+P9evX17hcaPDgwfjpp5+wY8cO+Hw+rF27Fueffz4GDRqEDz74AIC9CuVyuXDaaafV5u2GlC1TA4BevXrB5/Nh//79VT6madOmuPzyy0Olc4cPH8bXX3+Nyy+/PLSCpKq//2/t6aefxrhx43DGGWdgxIgRWLJkCW666SYsWbIEubm5oXEDBw7Erl278P333+Pw4cO45557sH37djz44IN45plnoOs6ZsyYgfbt26NVq1a46aabQqV80dSrV68KK1tvvfUWBg0aFFrtC34MHToUALB69WoA9p/r1NTUCl/X0aNH1/j1e/bsid69e1d4fEFBATZv3lzpY3w+Hz766CNcdNFFSEpKCpvjsGHD4PP5wsrrInHBBReEfl8B++sDIOzPelXeeustKIqCK664ImxOrVq1Qu/evSuU32ZkZODss88Ou6brOq644gosX748VEZqWRaef/55jBgxAs2aNQuNzc3NxZ/+9Cc0a9YM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Tb/MFXzzzTc477zzcPHFF+Prr7/Gyy+/jLVr1+Kmm24CAGzatAmTJk3Cvffei23btuHdd9/FGWecUevXIwAyAWzYsEF27NhR9urVS958881Vjvvpp59kUlKSvPnmm+XWrVvlc889Jx0Oh3zttddq/Fr5+fkSgMzPz4/CzImIiIgi4/V65datW6XX663V401TyrZtpQQq/1AUKdu1s8dF25gxY+SIESNCt7/44gvZrFkzeckll0gppZwxY4Z0OBxy//79oTEfffSRTEtLkz6fL+y5OnfuLJ955hkppZQDBgyQEyZMCLv/lFNOkb179670tQsKCqTL5ZLPPfdcpfPcsWOHBCBzc3PDrrdr106+8MILYdfuu+8+OWDAACmllM8884xs2rSpLC4uDt0/d+7cSp+rrF69esl77703dHvatGnyD3/4Q5XjTdOUqamp8s033wxdAyBff/11KaWUn3zyiQQgjxw5Ero/NzdXApA7duyQUkp55ZVXyuuuuy7sedesWSNVVZVer1cuW7ZMpqWlyYKCgirn0VhU93cukmwQ9xWnoqIiXH755XjuueeQkZFR7dh58+ahffv2mD17Nrp3745rrrkGV199NR599NE6mi0RERFRfK1ZU3GlqSwpgd277XGx8NZbbyElJQVutxsDBgzAGWecgaeeeip0f4cOHdCiRYvQ7S+//BJFRUVo1qwZUlJSQh87duwIrdJ89913GDBgQNjrlL9d1nfffQe/34/BgwfXeN4HDhzA7t27MX78+LB53H///WHz6N27N5KSkmo0j6DLL78cS5cuBQBIKfHiiy+GVpsAYP/+/ZgwYQKOO+44pKenIz09HUVFRdi1a1eN51/el19+iUWLFoW9l/POOw9CCOzYsQPnnHMOOnTogE6dOuHKK6/E0qVLUVJSUuvXowRoDnHjjTfiggsuwJAhQ3D//fdXO3bdunU499xzw66dd955mD9/fpWbD/1+P/x+f+h2QUFBdCZOREREFAd790Z3XKQGDRqEuXPnwuFwoHXr1hW+/0pOTg67LYRAVlYWVq1aVeG5mjRpUqs5eDyeiB8jhABgl+udcsopYfdppR01pJS1ms/o0aPx17/+FZs3b4bX68Xu3btx6aWXhu4fO3YsDhw4gNmzZ6NDhw5wuVwYMGAAAoFApc+nqmqF+ZQthwy+n+uvvx6TJk2q8Pj27dvD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5KSUKAyY6JSRjFRnfI+VjSQbRDzTk08+GTt27MCSJUvw/fffQ0qJUaNGYfTo0UhOTq71pAEgv/SwiqZNm1Y5Zt26dTj33HPDrp133nmYP38+DMOAwxEeQPx+P/x+f+h2QUHBMc2RiIgaj9xcoLJq8Lwj9vUJExieiIgai1pFvKSkJFx33XVRnYiUEpMnT8Zpp52GE044ocpx+/btQ8uWLcOutWzZEqZp4uDBg8jKygq7b9asWbjnnnuiOlciIkosQgDbt9uHxaan2y28j7XcTQh7pak6L78M9O7N0joiosagVsHp+eefxzPPPIOffvoJ69atQ4cOHfCPf/wDnTp1wogRI2o1kZtuuglff/011q5de9Sx5c+SClYbVnbG1LRp0zB58uTQ7YKCArRr165WcyQiosQTq1K67durP2MJAI4cscd161b71yEiovoh4p+RzZ07F5MnT8bQoUNx5MiR0IG3GRkZmD17dq0m8X//939YsWIFPvnkE7Rt27basa1atcK+ffvCru3fvx+6rqNZs2YVxrtcLqSlpYV9EBFRwxAspSsfcIKldLm5tX/u0urxqI0jIqL6LeLg9NRTT+G5557DXXfdBV3/fcGqX79++OabbyJ6LiklbrrpJixfvhwff/xxpW3OyxswYAA++OCDsGvvv/8++vXrV2F/ExERNVw1LaWrbQe89PTojiMiovot4uC0Y8cO5FRS++ByuaptI16ZG2+8EUuWLMELL7yA1NRU7Nu3D/v27YPX6w2NmTZtGq666qrQ7QkTJuDnn3/G5MmT8d1332HBggWYP38+pkyZEulbISKieiySUrra6NrVLvmrTkaGPY6IiBq+iINTdnY2tmzZUuH6O++8gx49ekT0XHPnzkV+fj7OOussZGVlhT5efvn3HyHu3bsXu3btCnv9lStXYtWqVejTpw/uu+8+PPnkkxg5cmSkb4WIiOqxWJfSqaq9T6o6o0axMQQRUWMRcXOI22+/HTfeeCN8Ph+klNiwYQNefPFFzJo1C//6178ieq6aHCG1aNGiCtfOPPNMbN68OaLXIiKihqUuSulycuyW4+WbT2Rk2KGJrciJiBqPiIPTuHHjYJompk6dipKSEowePRpt2rTBE088gUsvvTQWcyQionosFq3Cgd9L6aor14tGKV1Ojt1yPBbvgYioMTGFhCkEDCGhVmyGnfAUWZNl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", "text/plain": [ "
" ] @@ -2152,11 +2313,18 @@ "source": [ "# Plot the predictions with the confidence intervals\n", "plt.figure(figsize=(10, 6))\n", - "plt.scatter(X_test['feature1'], y_pred_bayes, color='blue', label='Predicted values')\n", - "plt.fill_between(X_test['feature1'], y_pred_bayes_interval[\"target\"][0.95][\"lower\"], y_pred_bayes_interval[\"target\"][0.95][\"upper\"], color='lightblue', alpha=0.4, label='95% Confidence Interval')\n", - "plt.xlabel('Feature 1')\n", - "plt.ylabel('Predicted Target')\n", - "plt.title('Predictions with 95% Credible Interval')\n", + "plt.scatter(X_test[\"feature1\"], y_pred_bayes, color=\"blue\", label=\"Predicted values\")\n", + "plt.fill_between(\n", + " X_test[\"feature1\"],\n", + " y_pred_bayes_interval[\"target\"][0.95][\"lower\"],\n", + " y_pred_bayes_interval[\"target\"][0.95][\"upper\"],\n", + " color=\"lightblue\",\n", + " alpha=0.4,\n", + " label=\"95% Confidence Interval\",\n", + ")\n", + "plt.xlabel(\"Feature 1\")\n", + "plt.ylabel(\"Predicted Target\")\n", + "plt.title(\"Predictions with 95% Credible Interval\")\n", "plt.legend()\n", "plt.show()" ] @@ -2188,7 +2356,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 309, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -2198,6 +2366,13 @@ "outputId": "40183b13-4505-4042-96a4-f13e9715629f" }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "arviz - WARNING - Shape validation failed: input_shape: (1, 1000), minimum_shape: (chains=2, draws=4)\n" + ] + }, { "data": { "text/html": [ @@ -2234,38 +2409,50 @@ " \n", " intercept\n", " 1.048\n", - " 0.123\n", - " 0.820\n", - " 1.274\n", - " 0.003\n", - " 0.002\n", - " 1868.0\n", - " 1961.0\n", - " 1.0\n", + " 0.137\n", + " 0.794\n", + " 1.311\n", + " 0.006\n", + " 0.005\n", + " 467.0\n", + " 253.0\n", + " NaN\n", " \n", " \n", " slopes[feature1]\n", - " 1.889\n", - " 0.233\n", - " 1.456\n", - " 2.325\n", - " 0.006\n", - " 0.004\n", - " 1778.0\n", - " 2002.0\n", - " 1.0\n", + " 1.894\n", + " 0.264\n", + " 1.414\n", + " 2.387\n", + " 0.012\n", + " 0.009\n", + " 450.0\n", + " 373.0\n", + " NaN\n", + " \n", + " \n", + " noise_var\n", + " 0.257\n", + " 0.053\n", + " 0.171\n", + " 0.363\n", + " 0.002\n", + " 0.002\n", + " 499.0\n", + " 660.0\n", + " NaN\n", " \n", " \n", " noise\n", - " 0.475\n", - " 0.050\n", - " 0.390\n", - " 0.571\n", - " 0.001\n", - " 0.001\n", - " 2528.0\n", - " 2382.0\n", - " 1.0\n", + " 0.505\n", + " 0.051\n", + " 0.413\n", + " 0.602\n", + " 0.002\n", + " 0.002\n", + " 499.0\n", + " 660.0\n", + " NaN\n", " \n", " \n", "\n", @@ -2273,17 +2460,19 @@ ], "text/plain": [ " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", - "intercept 1.048 0.123 0.820 1.274 0.003 0.002 1868.0 \n", - "slopes[feature1] 1.889 0.233 1.456 2.325 0.006 0.004 1778.0 \n", - "noise 0.475 0.050 0.390 0.571 0.001 0.001 2528.0 \n", + "intercept 1.048 0.137 0.794 1.311 0.006 0.005 467.0 \n", + "slopes[feature1] 1.894 0.264 1.414 2.387 0.012 0.009 450.0 \n", + "noise_var 0.257 0.053 0.171 0.363 0.002 0.002 499.0 \n", + "noise 0.505 0.051 0.413 0.602 0.002 0.002 499.0 \n", "\n", " ess_tail r_hat \n", - "intercept 1961.0 1.0 \n", - "slopes[feature1] 2002.0 1.0 \n", - "noise 2382.0 1.0 " + "intercept 253.0 NaN \n", + "slopes[feature1] 373.0 NaN \n", + "noise_var 660.0 NaN \n", + "noise 660.0 NaN " ] }, - "execution_count": 25, + "execution_count": 309, "metadata": {}, "output_type": "execute_result" } @@ -2303,7 +2492,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 310, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -2327,14 +2516,14 @@ "text": [ "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", - "Multiprocess sampling (2 chains in 2 jobs)\n", - "NUTS: [intercept, slopes, noise]\n" + "Sequential sampling (1 chains in 1 job)\n", + "NUTS: [intercept, slopes, noise_var]\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d6342a01c4504215a67091b630a31019", + "model_id": "d3ed0d463376425b99036be35e99c896", "version_major": 2, "version_minor": 0 }, @@ -2372,58 +2561,35 @@ "name": "stderr", "output_type": "stream", "text": [ - "Sampling 2 chains for 1_000 tune and 2_000 draw iterations (2_000 + 4_000 draws total) took 2 seconds.\n", - "We recommend running at least 4 chains for robust computation of convergence diagnostics\n", - "Sampling: [y_obs]\n" + "Sampling 1 chain for 1_000 tune and 1_000 draw iterations (1_000 + 1_000 draws total) took 2 seconds.\n", + "Only one chain was sampled, this makes it impossible to run some convergence checks\n" ] }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8f5ea9fc137b4afabd9f21d1bb169c56", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n"
-      ],
-      "text/plain": []
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "data": {
-      "text/html": [
-       "
\n",
-       "
\n" - ], - "text/plain": [ - "\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, { "data": { "text/html": [ - "
BayesianLinearRegressor()
Please rerun this cell to show the HTML repr or trust the notebook.
" + "
BayesianLinearRegressor(prior_config={'intercept': Prior("Normal", mu=0, sigma=10),\n",
+       "                                      'noise_var': Prior("InverseGamma", alpha=1, beta=1),\n",
+       "                                      'slopes': Prior("Normal", mu=0, sigma=10, dims="pred_id")},\n",
+       "                        sampler_config={'chains': 1, 'draws': 1000,\n",
+       "                                        'progressbar': True, 'random_seed': 123,\n",
+       "                                        'target_accept': 0.95, 'tune': 1000})
Please rerun this cell to show the HTML repr or trust the notebook.
" ], "text/plain": [ - "BayesianLinearRegressor()" + "BayesianLinearRegressor(prior_config={'intercept': Prior(\"Normal\", mu=0, sigma=10),\n", + " 'noise_var': Prior(\"InverseGamma\", alpha=1, beta=1),\n", + " 'slopes': Prior(\"Normal\", mu=0, sigma=10, dims=\"pred_id\")},\n", + " sampler_config={'chains': 1, 'draws': 1000,\n", + " 'progressbar': True, 'random_seed': 123,\n", + " 'target_accept': 0.95, 'tune': 1000})" ] }, - "execution_count": 26, + "execution_count": 310, "metadata": {}, "output_type": "execute_result" } @@ -2433,7 +2599,7 @@ "\n", "# Creating 500 random data points containing 1 feature\n", "feature1 = np.random.uniform(0, 1, N)\n", - "X_train = pd.DataFrame({'feature1': feature1})\n", + "X_train = pd.DataFrame({\"feature1\": feature1})\n", "\n", "# Set the relationship between the feature and the target variable\n", "TRUE_INTERCEPT = 1\n", @@ -2444,9 +2610,7 @@ "y_true = TRUE_INTERCEPT + np.dot(X_train, TRUE_SLOPES)\n", "y_train = y_true + np.random.normal(0, TRUE_SIGMA, size=len(X_train))\n", "\n", - "bayes_model_500 = BayesianLinearRegressor(intercept_mu=0, intercept_sigma=10,\n", - " slopes_mu=0, slopes_sigma=10,\n", - " noise_sigma=10)\n", + "bayes_model_500 = BayesianLinearRegressor()\n", "bayes_model_500.fit(X_train, y_train)" ] }, @@ -2461,7 +2625,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 311, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -2471,6 +2635,13 @@ "outputId": "9a5d0be8-1f99-4414-e988-5cb2fa2313a8" }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "arviz - WARNING - Shape validation failed: input_shape: (1, 1000), minimum_shape: (chains=2, draws=4)\n" + ] + }, { "data": { "text/html": [ @@ -2506,39 +2677,51 @@ " \n", " \n", " intercept\n", - " 0.963\n", - " 0.047\n", - " 0.879\n", " 1.054\n", - " 0.001\n", - " 0.001\n", - " 1936.0\n", - " 1910.0\n", - " 1.0\n", + " 0.047\n", + " 0.969\n", + " 1.138\n", + " 0.003\n", + " 0.002\n", + " 312.0\n", + " 291.0\n", + " NaN\n", " \n", " \n", " slopes[feature1]\n", - " 2.097\n", - " 0.081\n", - " 1.942\n", - " 2.241\n", - " 0.002\n", + " 1.914\n", + " 0.085\n", + " 1.762\n", + " 2.077\n", + " 0.005\n", + " 0.003\n", + " 326.0\n", + " 211.0\n", + " NaN\n", + " \n", + " \n", + " noise_var\n", + " 0.244\n", + " 0.016\n", + " 0.217\n", + " 0.276\n", " 0.001\n", - " 1881.0\n", - " 1787.0\n", - " 1.0\n", + " 0.001\n", + " 390.0\n", + " 431.0\n", + " NaN\n", " \n", " \n", " noise\n", - " 0.497\n", + " 0.494\n", " 0.016\n", - " 0.468\n", - " 0.527\n", - " 0.000\n", - " 0.000\n", - " 2394.0\n", - " 2169.0\n", - " 1.0\n", + " 0.466\n", + " 0.526\n", + " 0.001\n", + " 0.001\n", + " 390.0\n", + " 431.0\n", + " NaN\n", " \n", " \n", "\n", @@ -2546,17 +2729,19 @@ ], "text/plain": [ " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", - "intercept 0.963 0.047 0.879 1.054 0.001 0.001 1936.0 \n", - "slopes[feature1] 2.097 0.081 1.942 2.241 0.002 0.001 1881.0 \n", - "noise 0.497 0.016 0.468 0.527 0.000 0.000 2394.0 \n", + "intercept 1.054 0.047 0.969 1.138 0.003 0.002 312.0 \n", + "slopes[feature1] 1.914 0.085 1.762 2.077 0.005 0.003 326.0 \n", + "noise_var 0.244 0.016 0.217 0.276 0.001 0.001 390.0 \n", + "noise 0.494 0.016 0.466 0.526 0.001 0.001 390.0 \n", "\n", " ess_tail r_hat \n", - "intercept 1910.0 1.0 \n", - "slopes[feature1] 1787.0 1.0 \n", - "noise 2169.0 1.0 " + "intercept 291.0 NaN \n", + "slopes[feature1] 211.0 NaN \n", + "noise_var 431.0 NaN \n", + "noise 431.0 NaN " ] }, - "execution_count": 27, + "execution_count": 311, "metadata": {}, "output_type": "execute_result" } @@ -2567,7 +2752,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 312, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -2577,6 +2762,14 @@ "outputId": "27a32c99-7a24-4e95-c03f-2e75b5872fb2" }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "arviz - WARNING - Shape validation failed: input_shape: (1, 1000), minimum_shape: (chains=2, draws=4)\n", + "arviz - WARNING - Shape validation failed: input_shape: (1, 1000), minimum_shape: (chains=2, draws=4)\n" + ] + }, { "data": { "text/html": [ @@ -2612,39 +2805,51 @@ " \n", " \n", " intercept\n", - " 1.088266\n", - " 2.617021\n", - " 0.932878\n", - " 1.208729\n", - " 3.0\n", + " 0.994307\n", + " 2.914894\n", + " 0.819401\n", + " 1.152021\n", " 2.0\n", - " 0.964876\n", - " 1.026702\n", - " 1.0\n", + " 2.5\n", + " 1.496795\n", + " 0.869416\n", + " NaN\n", " \n", " \n", " slopes[feature1]\n", - " 0.900811\n", - " 2.876543\n", - " 0.749743\n", - " 1.037483\n", + " 0.989551\n", + " 3.105882\n", + " 0.802497\n", + " 1.149254\n", + " 2.4\n", " 3.0\n", - " 4.0\n", - " 0.945242\n", - " 1.120313\n", - " 1.0\n", + " 1.380368\n", + " 1.767773\n", + " NaN\n", + " \n", + " \n", + " noise_var\n", + " 1.053279\n", + " 3.312500\n", + " 0.788018\n", + " 1.315217\n", + " 2.0\n", + " 2.0\n", + " 1.279487\n", + " 1.531323\n", + " NaN\n", " \n", " \n", " noise\n", - " 0.955734\n", - " 3.125000\n", - " 0.833333\n", - " 1.083491\n", - " inf\n", - " inf\n", - " 1.055973\n", - " 1.098202\n", - " 1.0\n", + " 1.022267\n", + " 3.187500\n", + " 0.886266\n", + " 1.144487\n", + " 2.0\n", + " 2.0\n", + " 1.279487\n", + " 1.531323\n", + " NaN\n", " \n", " \n", "\n", @@ -2652,23 +2857,25 @@ ], "text/plain": [ " mean sd hdi_3% hdi_97% mcse_mean mcse_sd \\\n", - "intercept 1.088266 2.617021 0.932878 1.208729 3.0 2.0 \n", - "slopes[feature1] 0.900811 2.876543 0.749743 1.037483 3.0 4.0 \n", - "noise 0.955734 3.125000 0.833333 1.083491 inf inf \n", + "intercept 0.994307 2.914894 0.819401 1.152021 2.0 2.5 \n", + "slopes[feature1] 0.989551 3.105882 0.802497 1.149254 2.4 3.0 \n", + "noise_var 1.053279 3.312500 0.788018 1.315217 2.0 2.0 \n", + "noise 1.022267 3.187500 0.886266 1.144487 2.0 2.0 \n", "\n", " ess_bulk ess_tail r_hat \n", - "intercept 0.964876 1.026702 1.0 \n", - "slopes[feature1] 0.945242 1.120313 1.0 \n", - "noise 1.055973 1.098202 1.0 " + "intercept 1.496795 0.869416 NaN \n", + "slopes[feature1] 1.380368 1.767773 NaN \n", + "noise_var 1.279487 1.531323 NaN \n", + "noise 1.279487 1.531323 NaN " ] }, - "execution_count": 28, + "execution_count": 312, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "bayes_model.get_posterior_summary()/bayes_model_500.get_posterior_summary()" + "bayes_model.get_posterior_summary() / bayes_model_500.get_posterior_summary()" ] }, { @@ -2689,7 +2896,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 313, "metadata": {}, "outputs": [ { @@ -2702,7 +2909,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "13c4c6f411f94fa3b151546ed3b5626a", + "model_id": "c366de61e37b40aab79836eac0c699de", "version_major": 2, "version_minor": 0 }, @@ -2750,9 +2957,16 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 314, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "arviz - WARNING - Shape validation failed: input_shape: (1, 1000), minimum_shape: (chains=2, draws=4)\n" + ] + }, { "data": { "text/html": [ @@ -2788,363 +3002,363 @@ " \n", " \n", " y_obs[0]\n", - " 1.056\n", - " 0.497\n", - " 0.118\n", - " 1.969\n", + " 1.057\n", + " 0.533\n", " 0.008\n", - " 0.006\n", - " 3669.0\n", - " 3667.0\n", - " 1.0\n", + " 1.988\n", + " 0.019\n", + " 0.013\n", + " 832.0\n", + " 906.0\n", + " NaN\n", " \n", " \n", " y_obs[1]\n", - " 1.106\n", - " 0.500\n", - " 0.207\n", - " 2.066\n", - " 0.008\n", - " 0.006\n", - " 3552.0\n", - " 3901.0\n", - " 1.0\n", + " 1.110\n", + " 0.513\n", + " 0.181\n", + " 2.101\n", + " 0.016\n", + " 0.012\n", + " 1032.0\n", + " 875.0\n", + " NaN\n", " \n", " \n", " y_obs[2]\n", - " 1.178\n", - " 0.487\n", - " 0.245\n", - " 2.087\n", - " 0.008\n", - " 0.006\n", - " 3856.0\n", - " 3939.0\n", - " 1.0\n", + " 1.152\n", + " 0.545\n", + " 0.059\n", + " 2.117\n", + " 0.016\n", + " 0.012\n", + " 1112.0\n", + " 901.0\n", + " NaN\n", " \n", " \n", " y_obs[3]\n", - " 1.233\n", - " 0.491\n", - " 0.316\n", - " 2.182\n", - " 0.008\n", - " 0.006\n", - " 3648.0\n", - " 3755.0\n", - " 1.0\n", + " 1.259\n", + " 0.505\n", + " 0.327\n", + " 2.218\n", + " 0.017\n", + " 0.012\n", + " 882.0\n", + " 872.0\n", + " NaN\n", " \n", " \n", " y_obs[4]\n", - " 1.308\n", - " 0.483\n", - " 0.418\n", - " 2.258\n", - " 0.008\n", - " 0.006\n", - " 3710.0\n", - " 3680.0\n", - " 1.0\n", + " 1.314\n", + " 0.499\n", + " 0.340\n", + " 2.173\n", + " 0.016\n", + " 0.011\n", + " 1010.0\n", + " 825.0\n", + " NaN\n", " \n", " \n", " y_obs[5]\n", - " 1.375\n", - " 0.484\n", - " 0.417\n", - " 2.224\n", - " 0.008\n", - " 0.006\n", - " 3471.0\n", - " 3436.0\n", - " 1.0\n", + " 1.390\n", + " 0.524\n", + " 0.411\n", + " 2.326\n", + " 0.017\n", + " 0.012\n", + " 1010.0\n", + " 983.0\n", + " NaN\n", " \n", " \n", " y_obs[6]\n", - " 1.445\n", - " 0.486\n", - " 0.546\n", - " 2.358\n", - " 0.008\n", - " 0.005\n", - " 4150.0\n", - " 3721.0\n", - " 1.0\n", + " 1.431\n", + " 0.505\n", + " 0.499\n", + " 2.393\n", + " 0.017\n", + " 0.012\n", + " 922.0\n", + " 839.0\n", + " NaN\n", " \n", " \n", " y_obs[7]\n", - " 1.514\n", - " 0.479\n", - " 0.663\n", - " 2.416\n", - " 0.008\n", - " 0.006\n", - " 3727.0\n", - " 3919.0\n", - " 1.0\n", + " 1.525\n", + " 0.527\n", + " 0.575\n", + " 2.518\n", + " 0.018\n", + " 0.013\n", + " 843.0\n", + " 892.0\n", + " NaN\n", " \n", " \n", " y_obs[8]\n", - " 1.562\n", - " 0.490\n", - " 0.610\n", - " 2.450\n", - " 0.008\n", - " 0.006\n", - " 3901.0\n", - " 3861.0\n", - " 1.0\n", + " 1.567\n", + " 0.530\n", + " 0.634\n", + " 2.576\n", + " 0.017\n", + " 0.012\n", + " 910.0\n", + " 1060.0\n", + " NaN\n", " \n", " \n", " y_obs[9]\n", - " 1.623\n", - " 0.489\n", - " 0.702\n", - " 2.542\n", - " 0.008\n", - " 0.006\n", - " 3754.0\n", - " 3921.0\n", - " 1.0\n", + " 1.629\n", + " 0.498\n", + " 0.763\n", + " 2.579\n", + " 0.016\n", + " 0.012\n", + " 955.0\n", + " 877.0\n", + " NaN\n", " \n", " \n", " y_obs[10]\n", - " 1.709\n", - " 0.487\n", - " 0.744\n", - " 2.579\n", - " 0.008\n", - " 0.005\n", - " 4110.0\n", - " 3704.0\n", - " 1.0\n", + " 1.710\n", + " 0.485\n", + " 0.802\n", + " 2.560\n", + " 0.016\n", + " 0.011\n", + " 942.0\n", + " 873.0\n", + " NaN\n", " \n", " \n", " y_obs[11]\n", - " 1.754\n", - " 0.478\n", - " 0.869\n", - " 2.658\n", - " 0.007\n", - " 0.005\n", - " 4132.0\n", - " 4181.0\n", - " 1.0\n", + " 1.786\n", + " 0.513\n", + " 0.946\n", + " 2.797\n", + " 0.016\n", + " 0.011\n", + " 1036.0\n", + " 944.0\n", + " NaN\n", " \n", " \n", " y_obs[12]\n", - " 1.833\n", - " 0.487\n", - " 0.944\n", - " 2.779\n", - " 0.008\n", - " 0.006\n", - " 3882.0\n", - " 3731.0\n", - " 1.0\n", + " 1.819\n", + " 0.523\n", + " 0.783\n", + " 2.703\n", + " 0.017\n", + " 0.012\n", + " 938.0\n", + " 860.0\n", + " NaN\n", " \n", " \n", " y_obs[13]\n", - " 1.894\n", - " 0.474\n", - " 1.000\n", - " 2.773\n", - " 0.008\n", - " 0.005\n", - " 3975.0\n", - " 3647.0\n", - " 1.0\n", + " 1.887\n", + " 0.504\n", + " 0.985\n", + " 2.900\n", + " 0.017\n", + " 0.013\n", + " 824.0\n", + " 901.0\n", + " NaN\n", " \n", " \n", " y_obs[14]\n", - " 1.954\n", - " 0.480\n", - " 1.022\n", - " 2.823\n", - " 0.008\n", - " 0.005\n", - " 3992.0\n", - " 3965.0\n", - " 1.0\n", + " 1.955\n", + " 0.526\n", + " 0.901\n", + " 2.862\n", + " 0.017\n", + " 0.013\n", + " 910.0\n", + " 817.0\n", + " NaN\n", " \n", " \n", " y_obs[15]\n", - " 2.028\n", - " 0.482\n", - " 1.196\n", - " 2.996\n", - " 0.007\n", - " 0.005\n", - " 4221.0\n", - " 3924.0\n", - " 1.0\n", + " 1.983\n", + " 0.511\n", + " 1.063\n", + " 3.023\n", + " 0.015\n", + " 0.011\n", + " 1148.0\n", + " 878.0\n", + " NaN\n", " \n", " \n", " y_obs[16]\n", - " 2.089\n", - " 0.478\n", - " 1.226\n", - " 3.016\n", - " 0.008\n", - " 0.006\n", - " 3775.0\n", - " 4139.0\n", - " 1.0\n", + " 2.087\n", + " 0.499\n", + " 1.102\n", + " 2.998\n", + " 0.016\n", + " 0.012\n", + " 950.0\n", + " 944.0\n", + " NaN\n", " \n", " \n", " y_obs[17]\n", - " 2.147\n", - " 0.488\n", - " 1.211\n", - " 3.072\n", - " 0.008\n", - " 0.006\n", - " 3649.0\n", - " 3800.0\n", - " 1.0\n", + " 2.157\n", + " 0.531\n", + " 1.128\n", + " 3.095\n", + " 0.016\n", + " 0.012\n", + " 1048.0\n", + " 1013.0\n", + " NaN\n", " \n", " \n", " y_obs[18]\n", - " 2.236\n", - " 0.492\n", - " 1.300\n", - " 3.168\n", - " 0.008\n", - " 0.006\n", - " 3969.0\n", - " 3729.0\n", - " 1.0\n", + " 2.257\n", + " 0.508\n", + " 1.346\n", + " 3.276\n", + " 0.017\n", + " 0.012\n", + " 911.0\n", + " 907.0\n", + " NaN\n", " \n", " \n", " y_obs[19]\n", - " 2.275\n", - " 0.477\n", - " 1.327\n", - " 3.146\n", - " 0.008\n", - " 0.005\n", - " 4003.0\n", - " 3613.0\n", - " 1.0\n", + " 2.276\n", + " 0.535\n", + " 1.238\n", + " 3.236\n", + " 0.018\n", + " 0.013\n", + " 871.0\n", + " 981.0\n", + " NaN\n", " \n", " \n", " y_obs[20]\n", - " 2.349\n", - " 0.483\n", - " 1.465\n", - " 3.267\n", - " 0.008\n", - " 0.005\n", - " 3925.0\n", - " 3938.0\n", - " 1.0\n", + " 2.377\n", + " 0.511\n", + " 1.364\n", + " 3.251\n", + " 0.016\n", + " 0.011\n", + " 1014.0\n", + " 768.0\n", + " NaN\n", " \n", " \n", " y_obs[21]\n", - " 2.413\n", - " 0.493\n", - " 1.426\n", - " 3.304\n", - " 0.008\n", - " 0.006\n", - " 3781.0\n", - " 3925.0\n", - " 1.0\n", + " 2.406\n", + " 0.521\n", + " 1.518\n", + " 3.433\n", + " 0.017\n", + " 0.012\n", + " 994.0\n", + " 806.0\n", + " NaN\n", " \n", " \n", " y_obs[22]\n", - " 2.475\n", - " 0.484\n", - " 1.599\n", - " 3.405\n", - " 0.007\n", - " 0.005\n", - " 4380.0\n", - " 4091.0\n", - " 1.0\n", + " 2.501\n", + " 0.493\n", + " 1.617\n", + " 3.433\n", + " 0.015\n", + " 0.011\n", + " 1038.0\n", + " 873.0\n", + " NaN\n", " \n", " \n", " y_obs[23]\n", - " 2.545\n", - " 0.482\n", - " 1.613\n", - " 3.431\n", - " 0.008\n", - " 0.005\n", - " 3955.0\n", - " 3730.0\n", - " 1.0\n", + " 2.557\n", + " 0.520\n", + " 1.579\n", + " 3.567\n", + " 0.016\n", + " 0.011\n", + " 1050.0\n", + " 984.0\n", + " NaN\n", " \n", " \n", " y_obs[24]\n", - " 2.600\n", - " 0.492\n", - " 1.696\n", - " 3.546\n", - " 0.008\n", - " 0.006\n", - " 3889.0\n", - " 3925.0\n", - " 1.0\n", + " 2.605\n", + " 0.520\n", + " 1.640\n", + " 3.577\n", + " 0.017\n", + " 0.012\n", + " 908.0\n", + " 722.0\n", + " NaN\n", " \n", " \n", " y_obs[25]\n", - " 2.674\n", - " 0.492\n", - " 1.729\n", - " 3.593\n", - " 0.008\n", - " 0.006\n", - " 3590.0\n", - " 3858.0\n", - " 1.0\n", + " 2.695\n", + " 0.523\n", + " 1.730\n", + " 3.668\n", + " 0.016\n", + " 0.012\n", + " 1011.0\n", + " 936.0\n", + " NaN\n", " \n", " \n", " y_obs[26]\n", - " 2.726\n", - " 0.499\n", - " 1.788\n", - " 3.673\n", - " 0.008\n", - " 0.006\n", - " 3675.0\n", - " 3766.0\n", - " 1.0\n", + " 2.738\n", + " 0.537\n", + " 1.709\n", + " 3.719\n", + " 0.016\n", + " 0.012\n", + " 1072.0\n", + " 979.0\n", + " NaN\n", " \n", " \n", " y_obs[27]\n", - " 2.821\n", - " 0.490\n", - " 1.907\n", - " 3.750\n", - " 0.008\n", - " 0.006\n", - " 3811.0\n", - " 3802.0\n", - " 1.0\n", + " 2.832\n", + " 0.524\n", + " 1.790\n", + " 3.762\n", + " 0.017\n", + " 0.012\n", + " 915.0\n", + " 981.0\n", + " NaN\n", " \n", " \n", " y_obs[28]\n", - " 2.871\n", - " 0.494\n", - " 1.954\n", - " 3.815\n", - " 0.008\n", - " 0.006\n", - " 4019.0\n", - " 3889.0\n", - " 1.0\n", + " 2.867\n", + " 0.536\n", + " 1.937\n", + " 3.832\n", + " 0.017\n", + " 0.012\n", + " 1035.0\n", + " 935.0\n", + " NaN\n", " \n", " \n", " y_obs[29]\n", - " 2.942\n", - " 0.504\n", - " 1.988\n", - " 3.863\n", - " 0.008\n", - " 0.006\n", - " 3730.0\n", - " 4008.0\n", - " 1.0\n", + " 2.957\n", + " 0.519\n", + " 1.933\n", + " 3.907\n", + " 0.018\n", + " 0.013\n", + " 786.0\n", + " 907.0\n", + " NaN\n", " \n", " \n", "\n", @@ -3152,84 +3366,91 @@ ], "text/plain": [ " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", - "y_obs[0] 1.056 0.497 0.118 1.969 0.008 0.006 3669.0 \n", - "y_obs[1] 1.106 0.500 0.207 2.066 0.008 0.006 3552.0 \n", - "y_obs[2] 1.178 0.487 0.245 2.087 0.008 0.006 3856.0 \n", - "y_obs[3] 1.233 0.491 0.316 2.182 0.008 0.006 3648.0 \n", - "y_obs[4] 1.308 0.483 0.418 2.258 0.008 0.006 3710.0 \n", - "y_obs[5] 1.375 0.484 0.417 2.224 0.008 0.006 3471.0 \n", - "y_obs[6] 1.445 0.486 0.546 2.358 0.008 0.005 4150.0 \n", - "y_obs[7] 1.514 0.479 0.663 2.416 0.008 0.006 3727.0 \n", - "y_obs[8] 1.562 0.490 0.610 2.450 0.008 0.006 3901.0 \n", - "y_obs[9] 1.623 0.489 0.702 2.542 0.008 0.006 3754.0 \n", - "y_obs[10] 1.709 0.487 0.744 2.579 0.008 0.005 4110.0 \n", - "y_obs[11] 1.754 0.478 0.869 2.658 0.007 0.005 4132.0 \n", - "y_obs[12] 1.833 0.487 0.944 2.779 0.008 0.006 3882.0 \n", - "y_obs[13] 1.894 0.474 1.000 2.773 0.008 0.005 3975.0 \n", - "y_obs[14] 1.954 0.480 1.022 2.823 0.008 0.005 3992.0 \n", - "y_obs[15] 2.028 0.482 1.196 2.996 0.007 0.005 4221.0 \n", - "y_obs[16] 2.089 0.478 1.226 3.016 0.008 0.006 3775.0 \n", - "y_obs[17] 2.147 0.488 1.211 3.072 0.008 0.006 3649.0 \n", - "y_obs[18] 2.236 0.492 1.300 3.168 0.008 0.006 3969.0 \n", - "y_obs[19] 2.275 0.477 1.327 3.146 0.008 0.005 4003.0 \n", - "y_obs[20] 2.349 0.483 1.465 3.267 0.008 0.005 3925.0 \n", - "y_obs[21] 2.413 0.493 1.426 3.304 0.008 0.006 3781.0 \n", - "y_obs[22] 2.475 0.484 1.599 3.405 0.007 0.005 4380.0 \n", - "y_obs[23] 2.545 0.482 1.613 3.431 0.008 0.005 3955.0 \n", - "y_obs[24] 2.600 0.492 1.696 3.546 0.008 0.006 3889.0 \n", - "y_obs[25] 2.674 0.492 1.729 3.593 0.008 0.006 3590.0 \n", - "y_obs[26] 2.726 0.499 1.788 3.673 0.008 0.006 3675.0 \n", - "y_obs[27] 2.821 0.490 1.907 3.750 0.008 0.006 3811.0 \n", - "y_obs[28] 2.871 0.494 1.954 3.815 0.008 0.006 4019.0 \n", - "y_obs[29] 2.942 0.504 1.988 3.863 0.008 0.006 3730.0 \n", + "y_obs[0] 1.057 0.533 0.008 1.988 0.019 0.013 832.0 \n", + "y_obs[1] 1.110 0.513 0.181 2.101 0.016 0.012 1032.0 \n", + "y_obs[2] 1.152 0.545 0.059 2.117 0.016 0.012 1112.0 \n", + "y_obs[3] 1.259 0.505 0.327 2.218 0.017 0.012 882.0 \n", + "y_obs[4] 1.314 0.499 0.340 2.173 0.016 0.011 1010.0 \n", + "y_obs[5] 1.390 0.524 0.411 2.326 0.017 0.012 1010.0 \n", + "y_obs[6] 1.431 0.505 0.499 2.393 0.017 0.012 922.0 \n", + "y_obs[7] 1.525 0.527 0.575 2.518 0.018 0.013 843.0 \n", + "y_obs[8] 1.567 0.530 0.634 2.576 0.017 0.012 910.0 \n", + "y_obs[9] 1.629 0.498 0.763 2.579 0.016 0.012 955.0 \n", + "y_obs[10] 1.710 0.485 0.802 2.560 0.016 0.011 942.0 \n", + "y_obs[11] 1.786 0.513 0.946 2.797 0.016 0.011 1036.0 \n", + "y_obs[12] 1.819 0.523 0.783 2.703 0.017 0.012 938.0 \n", + "y_obs[13] 1.887 0.504 0.985 2.900 0.017 0.013 824.0 \n", + "y_obs[14] 1.955 0.526 0.901 2.862 0.017 0.013 910.0 \n", + "y_obs[15] 1.983 0.511 1.063 3.023 0.015 0.011 1148.0 \n", + "y_obs[16] 2.087 0.499 1.102 2.998 0.016 0.012 950.0 \n", + "y_obs[17] 2.157 0.531 1.128 3.095 0.016 0.012 1048.0 \n", + "y_obs[18] 2.257 0.508 1.346 3.276 0.017 0.012 911.0 \n", + "y_obs[19] 2.276 0.535 1.238 3.236 0.018 0.013 871.0 \n", + "y_obs[20] 2.377 0.511 1.364 3.251 0.016 0.011 1014.0 \n", + "y_obs[21] 2.406 0.521 1.518 3.433 0.017 0.012 994.0 \n", + "y_obs[22] 2.501 0.493 1.617 3.433 0.015 0.011 1038.0 \n", + "y_obs[23] 2.557 0.520 1.579 3.567 0.016 0.011 1050.0 \n", + "y_obs[24] 2.605 0.520 1.640 3.577 0.017 0.012 908.0 \n", + "y_obs[25] 2.695 0.523 1.730 3.668 0.016 0.012 1011.0 \n", + "y_obs[26] 2.738 0.537 1.709 3.719 0.016 0.012 1072.0 \n", + "y_obs[27] 2.832 0.524 1.790 3.762 0.017 0.012 915.0 \n", + "y_obs[28] 2.867 0.536 1.937 3.832 0.017 0.012 1035.0 \n", + "y_obs[29] 2.957 0.519 1.933 3.907 0.018 0.013 786.0 \n", "\n", " ess_tail r_hat \n", - "y_obs[0] 3667.0 1.0 \n", - "y_obs[1] 3901.0 1.0 \n", - "y_obs[2] 3939.0 1.0 \n", - "y_obs[3] 3755.0 1.0 \n", - "y_obs[4] 3680.0 1.0 \n", - "y_obs[5] 3436.0 1.0 \n", - "y_obs[6] 3721.0 1.0 \n", - "y_obs[7] 3919.0 1.0 \n", - "y_obs[8] 3861.0 1.0 \n", - "y_obs[9] 3921.0 1.0 \n", - "y_obs[10] 3704.0 1.0 \n", - "y_obs[11] 4181.0 1.0 \n", - "y_obs[12] 3731.0 1.0 \n", - "y_obs[13] 3647.0 1.0 \n", - "y_obs[14] 3965.0 1.0 \n", - "y_obs[15] 3924.0 1.0 \n", - "y_obs[16] 4139.0 1.0 \n", - "y_obs[17] 3800.0 1.0 \n", - "y_obs[18] 3729.0 1.0 \n", - "y_obs[19] 3613.0 1.0 \n", - "y_obs[20] 3938.0 1.0 \n", - "y_obs[21] 3925.0 1.0 \n", - "y_obs[22] 4091.0 1.0 \n", - "y_obs[23] 3730.0 1.0 \n", - "y_obs[24] 3925.0 1.0 \n", - "y_obs[25] 3858.0 1.0 \n", - "y_obs[26] 3766.0 1.0 \n", - "y_obs[27] 3802.0 1.0 \n", - "y_obs[28] 3889.0 1.0 \n", - "y_obs[29] 4008.0 1.0 " + "y_obs[0] 906.0 NaN \n", + "y_obs[1] 875.0 NaN \n", + "y_obs[2] 901.0 NaN \n", + "y_obs[3] 872.0 NaN \n", + "y_obs[4] 825.0 NaN \n", + "y_obs[5] 983.0 NaN \n", + "y_obs[6] 839.0 NaN \n", + "y_obs[7] 892.0 NaN \n", + "y_obs[8] 1060.0 NaN \n", + "y_obs[9] 877.0 NaN \n", + "y_obs[10] 873.0 NaN \n", + "y_obs[11] 944.0 NaN \n", + "y_obs[12] 860.0 NaN \n", + "y_obs[13] 901.0 NaN \n", + "y_obs[14] 817.0 NaN \n", + "y_obs[15] 878.0 NaN \n", + "y_obs[16] 944.0 NaN \n", + "y_obs[17] 1013.0 NaN \n", + "y_obs[18] 907.0 NaN \n", + "y_obs[19] 981.0 NaN \n", + "y_obs[20] 768.0 NaN \n", + "y_obs[21] 806.0 NaN \n", + "y_obs[22] 873.0 NaN \n", + "y_obs[23] 984.0 NaN \n", + "y_obs[24] 722.0 NaN \n", + "y_obs[25] 936.0 NaN \n", + "y_obs[26] 979.0 NaN \n", + "y_obs[27] 981.0 NaN \n", + "y_obs[28] 935.0 NaN \n", + "y_obs[29] 907.0 NaN " ] }, - "execution_count": 38, + "execution_count": 314, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "az.summary(bayes_model.trace.predictions)" + "az.summary(bayes_model.idata.predictions)" ] }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 315, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "arviz - WARNING - Shape validation failed: input_shape: (1, 1000), minimum_shape: (chains=2, draws=4)\n" + ] + }, { "data": { "text/html": [ @@ -3265,363 +3486,363 @@ " \n", " \n", " y_obs[0]\n", - " 0.971\n", - " 0.504\n", - " 0.045\n", - " 1.915\n", - " 0.008\n", - " 0.006\n", - " 3823.0\n", - " 3796.0\n", - " 1.0\n", + " 1.063\n", + " 0.493\n", + " 0.065\n", + " 1.956\n", + " 0.016\n", + " 0.011\n", + " 993.0\n", + " 844.0\n", + " NaN\n", " \n", " \n", " y_obs[1]\n", - " 1.028\n", - " 0.507\n", - " 0.053\n", - " 1.928\n", - " 0.008\n", - " 0.006\n", - " 3679.0\n", - " 3709.0\n", - " 1.0\n", - " \n", - " \n", - " y_obs[2]\n", " 1.108\n", - " 0.500\n", - " 0.133\n", - " 2.026\n", - " 0.008\n", - " 0.006\n", - " 4058.0\n", - " 3707.0\n", - " 1.0\n", + " 0.498\n", + " 0.121\n", + " 1.986\n", + " 0.016\n", + " 0.012\n", + " 967.0\n", + " 944.0\n", + " NaN\n", + " \n", + " \n", + " y_obs[2]\n", + " 1.182\n", + " 0.496\n", + " 0.167\n", + " 2.007\n", + " 0.016\n", + " 0.011\n", + " 1001.0\n", + " 994.0\n", + " NaN\n", " \n", " \n", " y_obs[3]\n", - " 1.169\n", - " 0.503\n", - " 0.253\n", - " 2.165\n", - " 0.008\n", - " 0.006\n", - " 3692.0\n", - " 3363.0\n", - " 1.0\n", + " 1.229\n", + " 0.492\n", + " 0.381\n", + " 2.288\n", + " 0.016\n", + " 0.011\n", + " 926.0\n", + " 951.0\n", + " NaN\n", " \n", " \n", " y_obs[4]\n", - " 1.253\n", - " 0.496\n", - " 0.290\n", - " 2.155\n", - " 0.008\n", - " 0.006\n", - " 3824.0\n", - " 3669.0\n", - " 1.0\n", + " 1.333\n", + " 0.515\n", + " 0.315\n", + " 2.272\n", + " 0.018\n", + " 0.013\n", + " 832.0\n", + " 820.0\n", + " NaN\n", " \n", " \n", " y_obs[5]\n", - " 1.327\n", - " 0.498\n", - " 0.364\n", - " 2.221\n", - " 0.008\n", - " 0.006\n", - " 3620.0\n", - " 3599.0\n", - " 1.0\n", + " 1.408\n", + " 0.491\n", + " 0.501\n", + " 2.339\n", + " 0.016\n", + " 0.011\n", + " 1000.0\n", + " 944.0\n", + " NaN\n", " \n", " \n", " y_obs[6]\n", - " 1.403\n", - " 0.499\n", - " 0.417\n", - " 2.299\n", - " 0.008\n", - " 0.005\n", - " 4252.0\n", - " 3825.0\n", - " 1.0\n", + " 1.445\n", + " 0.500\n", + " 0.498\n", + " 2.407\n", + " 0.016\n", + " 0.012\n", + " 937.0\n", + " 884.0\n", + " NaN\n", " \n", " \n", " y_obs[7]\n", - " 1.478\n", - " 0.494\n", - " 0.539\n", - " 2.379\n", - " 0.008\n", - " 0.006\n", - " 3839.0\n", - " 3924.0\n", - " 1.0\n", + " 1.509\n", + " 0.483\n", + " 0.655\n", + " 2.428\n", + " 0.017\n", + " 0.012\n", + " 842.0\n", + " 944.0\n", + " NaN\n", " \n", " \n", " y_obs[8]\n", - " 1.534\n", - " 0.502\n", - " 0.591\n", - " 2.446\n", - " 0.008\n", - " 0.006\n", - " 3961.0\n", - " 4090.0\n", - " 1.0\n", + " 1.568\n", + " 0.506\n", + " 0.632\n", + " 2.504\n", + " 0.017\n", + " 0.012\n", + " 848.0\n", + " 876.0\n", + " NaN\n", " \n", " \n", " y_obs[9]\n", - " 1.602\n", - " 0.503\n", - " 0.693\n", - " 2.590\n", - " 0.008\n", - " 0.006\n", - " 3814.0\n", - " 4007.0\n", - " 1.0\n", + " 1.626\n", + " 0.494\n", + " 0.803\n", + " 2.669\n", + " 0.016\n", + " 0.011\n", + " 1004.0\n", + " 979.0\n", + " NaN\n", " \n", " \n", " y_obs[10]\n", - " 1.698\n", + " 1.727\n", " 0.500\n", - " 0.710\n", - " 2.582\n", - " 0.008\n", - " 0.006\n", - " 4118.0\n", - " 3570.0\n", - " 1.0\n", + " 0.835\n", + " 2.696\n", + " 0.016\n", + " 0.011\n", + " 975.0\n", + " 896.0\n", + " NaN\n", " \n", " \n", " y_obs[11]\n", - " 1.748\n", - " 0.493\n", - " 0.821\n", - " 2.683\n", - " 0.008\n", - " 0.005\n", - " 4127.0\n", - " 4094.0\n", - " 1.0\n", + " 1.808\n", + " 0.495\n", + " 0.840\n", + " 2.678\n", + " 0.017\n", + " 0.012\n", + " 874.0\n", + " 937.0\n", + " NaN\n", " \n", " \n", " y_obs[12]\n", - " 1.835\n", - " 0.501\n", - " 0.917\n", - " 2.783\n", - " 0.008\n", - " 0.006\n", - " 3940.0\n", - " 3732.0\n", - " 1.0\n", + " 1.848\n", + " 0.503\n", + " 0.894\n", + " 2.717\n", + " 0.017\n", + " 0.012\n", + " 923.0\n", + " 812.0\n", + " NaN\n", " \n", " \n", " y_obs[13]\n", - " 1.903\n", - " 0.488\n", - " 0.964\n", - " 2.784\n", - " 0.008\n", - " 0.005\n", - " 3973.0\n", - " 3846.0\n", - " 1.0\n", + " 1.894\n", + " 0.484\n", + " 0.907\n", + " 2.704\n", + " 0.015\n", + " 0.011\n", + " 1006.0\n", + " 914.0\n", + " NaN\n", " \n", " \n", " y_obs[14]\n", - " 1.970\n", - " 0.498\n", - " 0.968\n", - " 2.818\n", - " 0.008\n", - " 0.006\n", - " 3993.0\n", - " 3924.0\n", - " 1.0\n", + " 1.984\n", + " 0.479\n", + " 1.104\n", + " 2.903\n", + " 0.015\n", + " 0.010\n", + " 1041.0\n", + " 994.0\n", + " NaN\n", " \n", " \n", " y_obs[15]\n", - " 2.049\n", - " 0.495\n", - " 1.089\n", - " 2.924\n", - " 0.008\n", - " 0.005\n", - " 4229.0\n", - " 4093.0\n", - " 1.0\n", + " 2.050\n", + " 0.484\n", + " 1.175\n", + " 2.960\n", + " 0.016\n", + " 0.011\n", + " 970.0\n", + " 918.0\n", + " NaN\n", " \n", " \n", " y_obs[16]\n", - " 2.118\n", - " 0.495\n", - " 1.211\n", - " 3.070\n", - " 0.008\n", - " 0.006\n", - " 3925.0\n", - " 3989.0\n", - " 1.0\n", + " 2.104\n", + " 0.482\n", + " 1.203\n", + " 2.963\n", + " 0.015\n", + " 0.011\n", + " 1019.0\n", + " 1059.0\n", + " NaN\n", " \n", " \n", " y_obs[17]\n", - " 2.183\n", - " 0.502\n", - " 1.175\n", - " 3.063\n", - " 0.008\n", - " 0.006\n", - " 3763.0\n", - " 3866.0\n", - " 1.0\n", + " 2.191\n", + " 0.483\n", + " 1.352\n", + " 3.128\n", + " 0.015\n", + " 0.010\n", + " 1104.0\n", + " 905.0\n", + " NaN\n", " \n", " \n", " y_obs[18]\n", - " 2.281\n", - " 0.505\n", - " 1.377\n", - " 3.285\n", - " 0.008\n", - " 0.006\n", - " 3948.0\n", - " 3920.0\n", - " 1.0\n", + " 2.263\n", + " 0.513\n", + " 1.408\n", + " 3.348\n", + " 0.017\n", + " 0.012\n", + " 922.0\n", + " 700.0\n", + " NaN\n", " \n", " \n", " y_obs[19]\n", " 2.326\n", - " 0.492\n", - " 1.376\n", - " 3.244\n", - " 0.008\n", - " 0.006\n", - " 4019.0\n", - " 3468.0\n", - " 1.0\n", + " 0.495\n", + " 1.368\n", + " 3.166\n", + " 0.016\n", + " 0.012\n", + " 917.0\n", + " 830.0\n", + " NaN\n", " \n", " \n", " y_obs[20]\n", - " 2.407\n", - " 0.495\n", - " 1.456\n", - " 3.308\n", - " 0.008\n", - " 0.006\n", - " 3886.0\n", - " 3804.0\n", - " 1.0\n", + " 2.360\n", + " 0.499\n", + " 1.419\n", + " 3.273\n", + " 0.016\n", + " 0.011\n", + " 982.0\n", + " 820.0\n", + " NaN\n", " \n", " \n", " y_obs[21]\n", - " 2.479\n", - " 0.502\n", - " 1.525\n", - " 3.439\n", - " 0.008\n", - " 0.006\n", - " 3739.0\n", - " 3884.0\n", - " 1.0\n", + " 2.434\n", + " 0.495\n", + " 1.389\n", + " 3.282\n", + " 0.015\n", + " 0.011\n", + " 1027.0\n", + " 1070.0\n", + " NaN\n", " \n", " \n", " y_obs[22]\n", - " 2.547\n", - " 0.494\n", - " 1.673\n", - " 3.523\n", - " 0.008\n", - " 0.005\n", - " 4292.0\n", - " 4094.0\n", - " 1.0\n", + " 2.510\n", + " 0.516\n", + " 1.511\n", + " 3.399\n", + " 0.017\n", + " 0.012\n", + " 956.0\n", + " 911.0\n", + " NaN\n", " \n", " \n", " y_obs[23]\n", - " 2.627\n", - " 0.493\n", - " 1.722\n", - " 3.579\n", - " 0.008\n", - " 0.006\n", - " 3861.0\n", - " 3966.0\n", - " 1.0\n", + " 2.564\n", + " 0.484\n", + " 1.710\n", + " 3.470\n", + " 0.017\n", + " 0.012\n", + " 822.0\n", + " 1021.0\n", + " NaN\n", " \n", " \n", " y_obs[24]\n", - " 2.687\n", - " 0.503\n", - " 1.735\n", - " 3.622\n", - " 0.008\n", - " 0.006\n", - " 3881.0\n", - " 4049.0\n", - " 1.0\n", + " 2.620\n", + " 0.486\n", + " 1.769\n", + " 3.583\n", + " 0.016\n", + " 0.011\n", + " 925.0\n", + " 868.0\n", + " NaN\n", " \n", " \n", " y_obs[25]\n", - " 2.768\n", - " 0.502\n", - " 1.748\n", - " 3.664\n", - " 0.008\n", - " 0.006\n", - " 3645.0\n", - " 3721.0\n", - " 1.0\n", + " 2.687\n", + " 0.498\n", + " 1.782\n", + " 3.691\n", + " 0.016\n", + " 0.012\n", + " 910.0\n", + " 951.0\n", + " NaN\n", " \n", " \n", " y_obs[26]\n", - " 2.827\n", - " 0.507\n", - " 1.802\n", - " 3.724\n", - " 0.008\n", - " 0.006\n", - " 3629.0\n", - " 3788.0\n", - " 1.0\n", + " 2.764\n", + " 0.498\n", + " 1.852\n", + " 3.680\n", + " 0.016\n", + " 0.011\n", + " 1019.0\n", + " 959.0\n", + " NaN\n", " \n", " \n", " y_obs[27]\n", - " 2.930\n", - " 0.494\n", - " 2.006\n", - " 3.835\n", - " 0.008\n", - " 0.006\n", - " 3793.0\n", - " 3962.0\n", - " 1.0\n", + " 2.839\n", + " 0.472\n", + " 1.896\n", + " 3.674\n", + " 0.015\n", + " 0.010\n", + " 1037.0\n", + " 975.0\n", + " NaN\n", " \n", " \n", " y_obs[28]\n", - " 2.987\n", - " 0.493\n", - " 2.086\n", - " 3.925\n", - " 0.008\n", - " 0.005\n", - " 4158.0\n", - " 3922.0\n", - " 1.0\n", + " 2.890\n", + " 0.491\n", + " 1.972\n", + " 3.796\n", + " 0.017\n", + " 0.012\n", + " 865.0\n", + " 909.0\n", + " NaN\n", " \n", " \n", " y_obs[29]\n", - " 3.066\n", - " 0.502\n", - " 2.140\n", - " 4.012\n", - " 0.008\n", - " 0.006\n", - " 4075.0\n", - " 3939.0\n", - " 1.0\n", + " 2.943\n", + " 0.520\n", + " 1.957\n", + " 3.878\n", + " 0.017\n", + " 0.012\n", + " 975.0\n", + " 981.0\n", + " NaN\n", " \n", " \n", "\n", @@ -3629,77 +3850,77 @@ ], "text/plain": [ " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", - "y_obs[0] 0.971 0.504 0.045 1.915 0.008 0.006 3823.0 \n", - "y_obs[1] 1.028 0.507 0.053 1.928 0.008 0.006 3679.0 \n", - "y_obs[2] 1.108 0.500 0.133 2.026 0.008 0.006 4058.0 \n", - "y_obs[3] 1.169 0.503 0.253 2.165 0.008 0.006 3692.0 \n", - "y_obs[4] 1.253 0.496 0.290 2.155 0.008 0.006 3824.0 \n", - "y_obs[5] 1.327 0.498 0.364 2.221 0.008 0.006 3620.0 \n", - "y_obs[6] 1.403 0.499 0.417 2.299 0.008 0.005 4252.0 \n", - "y_obs[7] 1.478 0.494 0.539 2.379 0.008 0.006 3839.0 \n", - "y_obs[8] 1.534 0.502 0.591 2.446 0.008 0.006 3961.0 \n", - "y_obs[9] 1.602 0.503 0.693 2.590 0.008 0.006 3814.0 \n", - "y_obs[10] 1.698 0.500 0.710 2.582 0.008 0.006 4118.0 \n", - "y_obs[11] 1.748 0.493 0.821 2.683 0.008 0.005 4127.0 \n", - "y_obs[12] 1.835 0.501 0.917 2.783 0.008 0.006 3940.0 \n", - "y_obs[13] 1.903 0.488 0.964 2.784 0.008 0.005 3973.0 \n", - "y_obs[14] 1.970 0.498 0.968 2.818 0.008 0.006 3993.0 \n", - "y_obs[15] 2.049 0.495 1.089 2.924 0.008 0.005 4229.0 \n", - "y_obs[16] 2.118 0.495 1.211 3.070 0.008 0.006 3925.0 \n", - "y_obs[17] 2.183 0.502 1.175 3.063 0.008 0.006 3763.0 \n", - "y_obs[18] 2.281 0.505 1.377 3.285 0.008 0.006 3948.0 \n", - "y_obs[19] 2.326 0.492 1.376 3.244 0.008 0.006 4019.0 \n", - "y_obs[20] 2.407 0.495 1.456 3.308 0.008 0.006 3886.0 \n", - "y_obs[21] 2.479 0.502 1.525 3.439 0.008 0.006 3739.0 \n", - "y_obs[22] 2.547 0.494 1.673 3.523 0.008 0.005 4292.0 \n", - "y_obs[23] 2.627 0.493 1.722 3.579 0.008 0.006 3861.0 \n", - "y_obs[24] 2.687 0.503 1.735 3.622 0.008 0.006 3881.0 \n", - "y_obs[25] 2.768 0.502 1.748 3.664 0.008 0.006 3645.0 \n", - "y_obs[26] 2.827 0.507 1.802 3.724 0.008 0.006 3629.0 \n", - "y_obs[27] 2.930 0.494 2.006 3.835 0.008 0.006 3793.0 \n", - "y_obs[28] 2.987 0.493 2.086 3.925 0.008 0.005 4158.0 \n", - "y_obs[29] 3.066 0.502 2.140 4.012 0.008 0.006 4075.0 \n", + "y_obs[0] 1.063 0.493 0.065 1.956 0.016 0.011 993.0 \n", + "y_obs[1] 1.108 0.498 0.121 1.986 0.016 0.012 967.0 \n", + "y_obs[2] 1.182 0.496 0.167 2.007 0.016 0.011 1001.0 \n", + "y_obs[3] 1.229 0.492 0.381 2.288 0.016 0.011 926.0 \n", + "y_obs[4] 1.333 0.515 0.315 2.272 0.018 0.013 832.0 \n", + "y_obs[5] 1.408 0.491 0.501 2.339 0.016 0.011 1000.0 \n", + "y_obs[6] 1.445 0.500 0.498 2.407 0.016 0.012 937.0 \n", + "y_obs[7] 1.509 0.483 0.655 2.428 0.017 0.012 842.0 \n", + "y_obs[8] 1.568 0.506 0.632 2.504 0.017 0.012 848.0 \n", + "y_obs[9] 1.626 0.494 0.803 2.669 0.016 0.011 1004.0 \n", + "y_obs[10] 1.727 0.500 0.835 2.696 0.016 0.011 975.0 \n", + "y_obs[11] 1.808 0.495 0.840 2.678 0.017 0.012 874.0 \n", + "y_obs[12] 1.848 0.503 0.894 2.717 0.017 0.012 923.0 \n", + "y_obs[13] 1.894 0.484 0.907 2.704 0.015 0.011 1006.0 \n", + "y_obs[14] 1.984 0.479 1.104 2.903 0.015 0.010 1041.0 \n", + "y_obs[15] 2.050 0.484 1.175 2.960 0.016 0.011 970.0 \n", + "y_obs[16] 2.104 0.482 1.203 2.963 0.015 0.011 1019.0 \n", + "y_obs[17] 2.191 0.483 1.352 3.128 0.015 0.010 1104.0 \n", + "y_obs[18] 2.263 0.513 1.408 3.348 0.017 0.012 922.0 \n", + "y_obs[19] 2.326 0.495 1.368 3.166 0.016 0.012 917.0 \n", + "y_obs[20] 2.360 0.499 1.419 3.273 0.016 0.011 982.0 \n", + "y_obs[21] 2.434 0.495 1.389 3.282 0.015 0.011 1027.0 \n", + "y_obs[22] 2.510 0.516 1.511 3.399 0.017 0.012 956.0 \n", + "y_obs[23] 2.564 0.484 1.710 3.470 0.017 0.012 822.0 \n", + "y_obs[24] 2.620 0.486 1.769 3.583 0.016 0.011 925.0 \n", + "y_obs[25] 2.687 0.498 1.782 3.691 0.016 0.012 910.0 \n", + "y_obs[26] 2.764 0.498 1.852 3.680 0.016 0.011 1019.0 \n", + "y_obs[27] 2.839 0.472 1.896 3.674 0.015 0.010 1037.0 \n", + "y_obs[28] 2.890 0.491 1.972 3.796 0.017 0.012 865.0 \n", + "y_obs[29] 2.943 0.520 1.957 3.878 0.017 0.012 975.0 \n", "\n", " ess_tail r_hat \n", - "y_obs[0] 3796.0 1.0 \n", - "y_obs[1] 3709.0 1.0 \n", - "y_obs[2] 3707.0 1.0 \n", - "y_obs[3] 3363.0 1.0 \n", - "y_obs[4] 3669.0 1.0 \n", - "y_obs[5] 3599.0 1.0 \n", - "y_obs[6] 3825.0 1.0 \n", - "y_obs[7] 3924.0 1.0 \n", - "y_obs[8] 4090.0 1.0 \n", - "y_obs[9] 4007.0 1.0 \n", - "y_obs[10] 3570.0 1.0 \n", - "y_obs[11] 4094.0 1.0 \n", - "y_obs[12] 3732.0 1.0 \n", - "y_obs[13] 3846.0 1.0 \n", - "y_obs[14] 3924.0 1.0 \n", - "y_obs[15] 4093.0 1.0 \n", - "y_obs[16] 3989.0 1.0 \n", - "y_obs[17] 3866.0 1.0 \n", - "y_obs[18] 3920.0 1.0 \n", - "y_obs[19] 3468.0 1.0 \n", - "y_obs[20] 3804.0 1.0 \n", - "y_obs[21] 3884.0 1.0 \n", - "y_obs[22] 4094.0 1.0 \n", - "y_obs[23] 3966.0 1.0 \n", - "y_obs[24] 4049.0 1.0 \n", - "y_obs[25] 3721.0 1.0 \n", - "y_obs[26] 3788.0 1.0 \n", - "y_obs[27] 3962.0 1.0 \n", - "y_obs[28] 3922.0 1.0 \n", - "y_obs[29] 3939.0 1.0 " + "y_obs[0] 844.0 NaN \n", + "y_obs[1] 944.0 NaN \n", + "y_obs[2] 994.0 NaN \n", + "y_obs[3] 951.0 NaN \n", + "y_obs[4] 820.0 NaN \n", + "y_obs[5] 944.0 NaN \n", + "y_obs[6] 884.0 NaN \n", + "y_obs[7] 944.0 NaN \n", + "y_obs[8] 876.0 NaN \n", + "y_obs[9] 979.0 NaN \n", + "y_obs[10] 896.0 NaN \n", + "y_obs[11] 937.0 NaN \n", + "y_obs[12] 812.0 NaN \n", + "y_obs[13] 914.0 NaN \n", + "y_obs[14] 994.0 NaN \n", + "y_obs[15] 918.0 NaN \n", + "y_obs[16] 1059.0 NaN \n", + "y_obs[17] 905.0 NaN \n", + "y_obs[18] 700.0 NaN \n", + "y_obs[19] 830.0 NaN \n", + "y_obs[20] 820.0 NaN \n", + "y_obs[21] 1070.0 NaN \n", + "y_obs[22] 911.0 NaN \n", + "y_obs[23] 1021.0 NaN \n", + "y_obs[24] 868.0 NaN \n", + "y_obs[25] 951.0 NaN \n", + "y_obs[26] 959.0 NaN \n", + "y_obs[27] 975.0 NaN \n", + "y_obs[28] 909.0 NaN \n", + "y_obs[29] 981.0 NaN " ] }, - "execution_count": 39, + "execution_count": 315, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "az.summary(bayes_model_500.trace.predictions)" + "az.summary(bayes_model_500.idata.predictions)" ] }, { @@ -3711,9 +3932,17 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 316, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "arviz - WARNING - Shape validation failed: input_shape: (1, 1000), minimum_shape: (chains=2, draws=4)\n", + "arviz - WARNING - Shape validation failed: input_shape: (1, 1000), minimum_shape: (chains=2, draws=4)\n" + ] + }, { "data": { "text/html": [ @@ -3741,123 +3970,123 @@ " \n", " \n", " y_obs[0]\n", - " 1.014085\n", + " 0.924953\n", " \n", " \n", " y_obs[1]\n", - " 1.014000\n", + " 0.970760\n", " \n", " \n", " y_obs[2]\n", - " 1.026694\n", + " 0.910092\n", " \n", " \n", " y_obs[3]\n", - " 1.024440\n", + " 0.974257\n", " \n", " \n", " y_obs[4]\n", - " 1.026915\n", + " 1.032064\n", " \n", " \n", " y_obs[5]\n", - " 1.028926\n", + " 0.937023\n", " \n", " \n", " y_obs[6]\n", - " 1.026749\n", + " 0.990099\n", " \n", " \n", " y_obs[7]\n", - " 1.031315\n", + " 0.916509\n", " \n", " \n", " y_obs[8]\n", - " 1.024490\n", + " 0.954717\n", " \n", " \n", " y_obs[9]\n", - " 1.028630\n", + " 0.991968\n", " \n", " \n", " y_obs[10]\n", - " 1.026694\n", + " 1.030928\n", " \n", " \n", " y_obs[11]\n", - " 1.031381\n", + " 0.964912\n", " \n", " \n", " y_obs[12]\n", - " 1.028747\n", + " 0.961759\n", " \n", " \n", " y_obs[13]\n", - " 1.029536\n", + " 0.960317\n", " \n", " \n", " y_obs[14]\n", - " 1.037500\n", + " 0.910646\n", " \n", " \n", " y_obs[15]\n", - " 1.026971\n", + " 0.947162\n", " \n", " \n", " y_obs[16]\n", - " 1.035565\n", + " 0.965932\n", " \n", " \n", " y_obs[17]\n", - " 1.028689\n", + " 0.909605\n", " \n", " \n", " y_obs[18]\n", - " 1.026423\n", + " 1.009843\n", " \n", " \n", " y_obs[19]\n", - " 1.031447\n", + " 0.925234\n", " \n", " \n", " y_obs[20]\n", - " 1.024845\n", + " 0.976517\n", " \n", " \n", " y_obs[21]\n", - " 1.018256\n", + " 0.950096\n", " \n", " \n", " y_obs[22]\n", - " 1.020661\n", + " 1.046653\n", " \n", " \n", " y_obs[23]\n", - " 1.022822\n", + " 0.930769\n", " \n", " \n", " y_obs[24]\n", - " 1.022358\n", + " 0.934615\n", " \n", " \n", " y_obs[25]\n", - " 1.020325\n", + " 0.952199\n", " \n", " \n", " y_obs[26]\n", - " 1.016032\n", + " 0.927374\n", " \n", " \n", " y_obs[27]\n", - " 1.008163\n", + " 0.900763\n", " \n", " \n", " y_obs[28]\n", - " 0.997976\n", + " 0.916045\n", " \n", " \n", " y_obs[29]\n", - " 0.996032\n", + " 1.001927\n", " \n", " \n", "\n", @@ -3865,45 +4094,48 @@ ], "text/plain": [ " sd\n", - "y_obs[0] 1.014085\n", - "y_obs[1] 1.014000\n", - "y_obs[2] 1.026694\n", - "y_obs[3] 1.024440\n", - "y_obs[4] 1.026915\n", - "y_obs[5] 1.028926\n", - "y_obs[6] 1.026749\n", - "y_obs[7] 1.031315\n", - "y_obs[8] 1.024490\n", - "y_obs[9] 1.028630\n", - "y_obs[10] 1.026694\n", - "y_obs[11] 1.031381\n", - "y_obs[12] 1.028747\n", - "y_obs[13] 1.029536\n", - "y_obs[14] 1.037500\n", - "y_obs[15] 1.026971\n", - "y_obs[16] 1.035565\n", - "y_obs[17] 1.028689\n", - "y_obs[18] 1.026423\n", - "y_obs[19] 1.031447\n", - "y_obs[20] 1.024845\n", - "y_obs[21] 1.018256\n", - "y_obs[22] 1.020661\n", - "y_obs[23] 1.022822\n", - "y_obs[24] 1.022358\n", - "y_obs[25] 1.020325\n", - "y_obs[26] 1.016032\n", - "y_obs[27] 1.008163\n", - "y_obs[28] 0.997976\n", - "y_obs[29] 0.996032" + "y_obs[0] 0.924953\n", + "y_obs[1] 0.970760\n", + "y_obs[2] 0.910092\n", + "y_obs[3] 0.974257\n", + "y_obs[4] 1.032064\n", + "y_obs[5] 0.937023\n", + "y_obs[6] 0.990099\n", + "y_obs[7] 0.916509\n", + "y_obs[8] 0.954717\n", + "y_obs[9] 0.991968\n", + "y_obs[10] 1.030928\n", + "y_obs[11] 0.964912\n", + "y_obs[12] 0.961759\n", + "y_obs[13] 0.960317\n", + "y_obs[14] 0.910646\n", + "y_obs[15] 0.947162\n", + "y_obs[16] 0.965932\n", + "y_obs[17] 0.909605\n", + "y_obs[18] 1.009843\n", + "y_obs[19] 0.925234\n", + "y_obs[20] 0.976517\n", + "y_obs[21] 0.950096\n", + "y_obs[22] 1.046653\n", + "y_obs[23] 0.930769\n", + "y_obs[24] 0.934615\n", + "y_obs[25] 0.952199\n", + "y_obs[26] 0.927374\n", + "y_obs[27] 0.900763\n", + "y_obs[28] 0.916045\n", + "y_obs[29] 1.001927" ] }, - "execution_count": 42, + "execution_count": 316, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "(az.summary(bayes_model_500.trace.predictions)/az.summary(bayes_model.trace.predictions))[['sd']]" + "(\n", + " az.summary(bayes_model_500.idata.predictions)\n", + " / az.summary(bayes_model.idata.predictions)\n", + ")[[\"sd\"]]" ] }, { @@ -3937,3022 +4169,6 @@ "https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf" ] }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "H8NNxB0WUQx1", - "outputId": "63865169-72a3-4adc-a0e0-178fcc164c39" - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
\n", - "
\n", - "
arviz.InferenceData
\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", - "
      <xarray.Dataset> Size: 16MB\n",
      -       "Dimensions:    (chain: 2, draw: 2000, mu_dim_0: 500, pred_id: 1)\n",
      -       "Coordinates:\n",
      -       "  * chain      (chain) int64 16B 0 1\n",
      -       "  * draw       (draw) int64 16kB 0 1 2 3 4 5 6 ... 1994 1995 1996 1997 1998 1999\n",
      -       "  * mu_dim_0   (mu_dim_0) int64 4kB 0 1 2 3 4 5 6 ... 494 495 496 497 498 499\n",
      -       "  * pred_id    (pred_id) <U8 32B 'feature1'\n",
      -       "Data variables:\n",
      -       "    intercept  (chain, draw) float64 32kB 0.9792 0.9792 0.9929 ... 0.9953 1.038\n",
      -       "    mu         (chain, draw, mu_dim_0) float64 16MB 2.436 2.53 ... 2.719 2.574\n",
      -       "    noise      (chain, draw) float64 32kB 0.457 0.457 0.4922 ... 0.4775 0.4884\n",
      -       "    slopes     (chain, draw, pred_id) float64 32kB 2.004 2.004 ... 1.994 1.959\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-06-13T14:05:10.616157+00:00\n",
      -       "    arviz_version:              0.18.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.15.1\n",
      -       "    sampling_time:              1.6659340858459473\n",
      -       "    tuning_steps:               1000

      \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", - "
      <xarray.Dataset> Size: 16MB\n",
      -       "Dimensions:  (chain: 2, draw: 2000, obs_id: 500)\n",
      -       "Coordinates:\n",
      -       "  * chain    (chain) int64 16B 0 1\n",
      -       "  * draw     (draw) int64 16kB 0 1 2 3 4 5 6 ... 1994 1995 1996 1997 1998 1999\n",
      -       "  * obs_id   (obs_id) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
      -       "Data variables:\n",
      -       "    y_obs    (chain, draw, obs_id) float64 16MB 2.485 2.589 ... 2.834 2.436\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-06-13T14:05:10.765817+00:00\n",
      -       "    arviz_version:              0.18.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.15.1

      \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", - "
      <xarray.Dataset> Size: 504kB\n",
      -       "Dimensions:                (chain: 2, draw: 2000)\n",
      -       "Coordinates:\n",
      -       "  * chain                  (chain) int64 16B 0 1\n",
      -       "  * draw                   (draw) int64 16kB 0 1 2 3 4 ... 1996 1997 1998 1999\n",
      -       "Data variables: (12/17)\n",
      -       "    acceptance_rate        (chain, draw) float64 32kB 0.9788 0.4275 ... 0.9474\n",
      -       "    diverging              (chain, draw) bool 4kB False False ... False False\n",
      -       "    energy                 (chain, draw) float64 32kB 373.9 380.0 ... 373.5\n",
      -       "    energy_error           (chain, draw) float64 32kB 0.0656 0.0 ... -0.447\n",
      -       "    index_in_trajectory    (chain, draw) int64 32kB 2 0 3 4 3 -1 ... 1 3 4 -3 -4\n",
      -       "    largest_eigval         (chain, draw) float64 32kB nan nan nan ... nan nan\n",
      -       "    ...                     ...\n",
      -       "    process_time_diff      (chain, draw) float64 32kB 0.000238 ... 0.000473\n",
      -       "    reached_max_treedepth  (chain, draw) bool 4kB False False ... False False\n",
      -       "    smallest_eigval        (chain, draw) float64 32kB nan nan nan ... nan nan\n",
      -       "    step_size              (chain, draw) float64 32kB 0.2953 0.2953 ... 0.4814\n",
      -       "    step_size_bar          (chain, draw) float64 32kB 0.4423 0.4423 ... 0.5098\n",
      -       "    tree_depth             (chain, draw) int64 32kB 2 3 3 4 3 1 ... 3 3 2 3 3 3\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-06-13T14:05:10.624021+00:00\n",
      -       "    arviz_version:              0.18.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.15.1\n",
      -       "    sampling_time:              1.6659340858459473\n",
      -       "    tuning_steps:               1000

      \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", - "
      <xarray.Dataset> Size: 8kB\n",
      -       "Dimensions:  (obs_id: 500)\n",
      -       "Coordinates:\n",
      -       "  * obs_id   (obs_id) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
      -       "Data variables:\n",
      -       "    y_obs    (obs_id) float64 4kB 1.775 2.387 2.569 2.701 ... 2.315 2.781 2.381\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-06-13T14:05:10.626281+00:00\n",
      -       "    arviz_version:              0.18.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.15.1

      \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", - "
      <xarray.Dataset> Size: 8kB\n",
      -       "Dimensions:  (obs_id: 500, pred_id: 1)\n",
      -       "Coordinates:\n",
      -       "  * obs_id   (obs_id) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
      -       "  * pred_id  (pred_id) <U8 32B 'feature1'\n",
      -       "Data variables:\n",
      -       "    X        (obs_id, pred_id) float64 4kB 0.7267 0.7739 ... 0.8581 0.7838\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-06-13T14:05:10.626826+00:00\n",
      -       "    arviz_version:              0.18.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.15.1

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
\n", - "
\n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> sample_stats\n", - "\t> observed_data\n", - "\t> constant_data" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "bayes_model_500.trace" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "id": "SFmXY53DYO5a" - }, - "outputs": [ - { - "data": { - "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", - " \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", - " \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", - " \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", - " \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", - " \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", - " \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", - " \n", - "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hat
y_obs[0]1.0560.4970.1181.9690.0080.0063669.03667.01.0
y_obs[1]1.1060.5000.2072.0660.0080.0063552.03901.01.0
y_obs[2]1.1780.4870.2452.0870.0080.0063856.03939.01.0
y_obs[3]1.2330.4910.3162.1820.0080.0063648.03755.01.0
y_obs[4]1.3080.4830.4182.2580.0080.0063710.03680.01.0
y_obs[5]1.3750.4840.4172.2240.0080.0063471.03436.01.0
y_obs[6]1.4450.4860.5462.3580.0080.0054150.03721.01.0
y_obs[7]1.5140.4790.6632.4160.0080.0063727.03919.01.0
y_obs[8]1.5620.4900.6102.4500.0080.0063901.03861.01.0
y_obs[9]1.6230.4890.7022.5420.0080.0063754.03921.01.0
y_obs[10]1.7090.4870.7442.5790.0080.0054110.03704.01.0
y_obs[11]1.7540.4780.8692.6580.0070.0054132.04181.01.0
y_obs[12]1.8330.4870.9442.7790.0080.0063882.03731.01.0
y_obs[13]1.8940.4741.0002.7730.0080.0053975.03647.01.0
y_obs[14]1.9540.4801.0222.8230.0080.0053992.03965.01.0
y_obs[15]2.0280.4821.1962.9960.0070.0054221.03924.01.0
y_obs[16]2.0890.4781.2263.0160.0080.0063775.04139.01.0
y_obs[17]2.1470.4881.2113.0720.0080.0063649.03800.01.0
y_obs[18]2.2360.4921.3003.1680.0080.0063969.03729.01.0
y_obs[19]2.2750.4771.3273.1460.0080.0054003.03613.01.0
y_obs[20]2.3490.4831.4653.2670.0080.0053925.03938.01.0
y_obs[21]2.4130.4931.4263.3040.0080.0063781.03925.01.0
y_obs[22]2.4750.4841.5993.4050.0070.0054380.04091.01.0
y_obs[23]2.5450.4821.6133.4310.0080.0053955.03730.01.0
y_obs[24]2.6000.4921.6963.5460.0080.0063889.03925.01.0
y_obs[25]2.6740.4921.7293.5930.0080.0063590.03858.01.0
y_obs[26]2.7260.4991.7883.6730.0080.0063675.03766.01.0
y_obs[27]2.8210.4901.9073.7500.0080.0063811.03802.01.0
y_obs[28]2.8710.4941.9543.8150.0080.0064019.03889.01.0
y_obs[29]2.9420.5041.9883.8630.0080.0063730.04008.01.0
\n", - "
" - ], - "text/plain": [ - " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk \\\n", - "y_obs[0] 1.056 0.497 0.118 1.969 0.008 0.006 3669.0 \n", - "y_obs[1] 1.106 0.500 0.207 2.066 0.008 0.006 3552.0 \n", - "y_obs[2] 1.178 0.487 0.245 2.087 0.008 0.006 3856.0 \n", - "y_obs[3] 1.233 0.491 0.316 2.182 0.008 0.006 3648.0 \n", - "y_obs[4] 1.308 0.483 0.418 2.258 0.008 0.006 3710.0 \n", - "y_obs[5] 1.375 0.484 0.417 2.224 0.008 0.006 3471.0 \n", - "y_obs[6] 1.445 0.486 0.546 2.358 0.008 0.005 4150.0 \n", - "y_obs[7] 1.514 0.479 0.663 2.416 0.008 0.006 3727.0 \n", - "y_obs[8] 1.562 0.490 0.610 2.450 0.008 0.006 3901.0 \n", - "y_obs[9] 1.623 0.489 0.702 2.542 0.008 0.006 3754.0 \n", - "y_obs[10] 1.709 0.487 0.744 2.579 0.008 0.005 4110.0 \n", - "y_obs[11] 1.754 0.478 0.869 2.658 0.007 0.005 4132.0 \n", - "y_obs[12] 1.833 0.487 0.944 2.779 0.008 0.006 3882.0 \n", - "y_obs[13] 1.894 0.474 1.000 2.773 0.008 0.005 3975.0 \n", - "y_obs[14] 1.954 0.480 1.022 2.823 0.008 0.005 3992.0 \n", - "y_obs[15] 2.028 0.482 1.196 2.996 0.007 0.005 4221.0 \n", - "y_obs[16] 2.089 0.478 1.226 3.016 0.008 0.006 3775.0 \n", - "y_obs[17] 2.147 0.488 1.211 3.072 0.008 0.006 3649.0 \n", - "y_obs[18] 2.236 0.492 1.300 3.168 0.008 0.006 3969.0 \n", - "y_obs[19] 2.275 0.477 1.327 3.146 0.008 0.005 4003.0 \n", - "y_obs[20] 2.349 0.483 1.465 3.267 0.008 0.005 3925.0 \n", - "y_obs[21] 2.413 0.493 1.426 3.304 0.008 0.006 3781.0 \n", - "y_obs[22] 2.475 0.484 1.599 3.405 0.007 0.005 4380.0 \n", - "y_obs[23] 2.545 0.482 1.613 3.431 0.008 0.005 3955.0 \n", - "y_obs[24] 2.600 0.492 1.696 3.546 0.008 0.006 3889.0 \n", - "y_obs[25] 2.674 0.492 1.729 3.593 0.008 0.006 3590.0 \n", - "y_obs[26] 2.726 0.499 1.788 3.673 0.008 0.006 3675.0 \n", - "y_obs[27] 2.821 0.490 1.907 3.750 0.008 0.006 3811.0 \n", - "y_obs[28] 2.871 0.494 1.954 3.815 0.008 0.006 4019.0 \n", - "y_obs[29] 2.942 0.504 1.988 3.863 0.008 0.006 3730.0 \n", - "\n", - " ess_tail r_hat \n", - "y_obs[0] 3667.0 1.0 \n", - "y_obs[1] 3901.0 1.0 \n", - "y_obs[2] 3939.0 1.0 \n", - "y_obs[3] 3755.0 1.0 \n", - "y_obs[4] 3680.0 1.0 \n", - "y_obs[5] 3436.0 1.0 \n", - "y_obs[6] 3721.0 1.0 \n", - "y_obs[7] 3919.0 1.0 \n", - "y_obs[8] 3861.0 1.0 \n", - "y_obs[9] 3921.0 1.0 \n", - "y_obs[10] 3704.0 1.0 \n", - "y_obs[11] 4181.0 1.0 \n", - "y_obs[12] 3731.0 1.0 \n", - "y_obs[13] 3647.0 1.0 \n", - "y_obs[14] 3965.0 1.0 \n", - "y_obs[15] 3924.0 1.0 \n", - "y_obs[16] 4139.0 1.0 \n", - "y_obs[17] 3800.0 1.0 \n", - "y_obs[18] 3729.0 1.0 \n", - "y_obs[19] 3613.0 1.0 \n", - "y_obs[20] 3938.0 1.0 \n", - "y_obs[21] 3925.0 1.0 \n", - "y_obs[22] 4091.0 1.0 \n", - "y_obs[23] 3730.0 1.0 \n", - "y_obs[24] 3925.0 1.0 \n", - "y_obs[25] 3858.0 1.0 \n", - "y_obs[26] 3766.0 1.0 \n", - "y_obs[27] 3802.0 1.0 \n", - "y_obs[28] 3889.0 1.0 \n", - "y_obs[29] 4008.0 1.0 " - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "az.summary(bayes_model.trace.predictions)" - ] - }, { "cell_type": "code", "execution_count": null, @@ -6969,7 +4185,7 @@ "kernelspec": { "display_name": "pymc_env", "language": "python", - "name": "pymc_env" + "name": "python3" }, "language_info": { "codemirror_mode": { From 050322f533cd274b1c726cf7db91b52a2e957fc4 Mon Sep 17 00:00:00 2001 From: Meraldo Antonio Date: Fri, 30 Aug 2024 11:39:04 +0800 Subject: [PATCH 27/51] Updated sampling and notebook --- examples/04_BayesianLinearRegressor.ipynb | 2381 ++++++++++----------- skpro/regression/bayesian_prior_class.py | 46 +- 2 files changed, 1200 insertions(+), 1227 deletions(-) diff --git a/examples/04_BayesianLinearRegressor.ipynb b/examples/04_BayesianLinearRegressor.ipynb index 991bf942..b254d8f7 100644 --- a/examples/04_BayesianLinearRegressor.ipynb +++ b/examples/04_BayesianLinearRegressor.ipynb @@ -40,7 +40,7 @@ }, { "cell_type": "code", - "execution_count": 273, + "execution_count": 1, "metadata": { "id": "RQirXZwKipys" }, @@ -56,18 +56,9 @@ }, { "cell_type": "code", - "execution_count": 274, + "execution_count": 2, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The autoreload extension is already loaded. To reload it, use:\n", - " %reload_ext autoreload\n" - ] - } - ], + "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" @@ -122,7 +113,7 @@ }, { "cell_type": "code", - "execution_count": 275, + "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -202,7 +193,7 @@ "4 0.065052 1.130103 1.112190" ] }, - "execution_count": 275, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -246,7 +237,7 @@ }, { "cell_type": "code", - "execution_count": 276, + "execution_count": 4, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -301,7 +292,7 @@ }, { "cell_type": "code", - "execution_count": 277, + "execution_count": 5, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -369,7 +360,7 @@ "4 0.137931" ] }, - "execution_count": 277, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -403,7 +394,7 @@ }, { "cell_type": "code", - "execution_count": 278, + "execution_count": 6, "metadata": { "id": "P7Af9sHKKdx8" }, @@ -430,7 +421,7 @@ }, { "cell_type": "code", - "execution_count": 279, + "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -479,7 +470,7 @@ }, { "cell_type": "code", - "execution_count": 280, + "execution_count": 8, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -551,7 +542,7 @@ }, { "cell_type": "code", - "execution_count": 281, + "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -576,7 +567,7 @@ }, { "cell_type": "code", - "execution_count": 282, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -584,10 +575,10 @@ "text/plain": [ "{'intercept': Prior(\"Normal\", mu=0, sigma=10),\n", " 'slopes': Prior(\"Normal\", mu=0, sigma=10, dims=\"pred_id\"),\n", - " 'noise_var': Prior(\"InverseGamma\", alpha=1, beta=1)}" + " 'noise_var': Prior(\"InverseGamma\", alpha=3, beta=1)}" ] }, - "execution_count": 282, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -599,7 +590,7 @@ }, { "cell_type": "code", - "execution_count": 283, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -608,14 +599,14 @@ "text": [ "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", - "Sequential sampling (1 chains in 1 job)\n", + "Multiprocess sampling (2 chains in 2 jobs)\n", "NUTS: [intercept, slopes, noise_var]\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "46a052957dc747d2989b7afd4530ac54", + "model_id": "0dd6ddce7d9a42d99b31f48de80effc6", "version_major": 2, "version_minor": 0 }, @@ -653,35 +644,37 @@ "name": "stderr", "output_type": "stream", "text": [ - "Sampling 1 chain for 1_000 tune and 1_000 draw iterations (1_000 + 1_000 draws total) took 1 seconds.\n", - "Only one chain was sampled, this makes it impossible to run some convergence checks\n" + "Sampling 2 chains for 1_000 tune and 1_000 draw iterations (2_000 + 2_000 draws total) took 1 seconds.\n", + "We recommend running at least 4 chains for robust computation of convergence diagnostics\n", + "/opt/homebrew/Caskroom/miniforge/base/envs/pymc_env/lib/python3.12/site-packages/arviz/data/inference_data.py:1538: UserWarning: The group training_data is not defined in the InferenceData scheme\n", + " warnings.warn(\n" ] }, { "data": { "text/html": [ - "
BayesianLinearRegressor(prior_config={'intercept': Prior("Normal", mu=0, sigma=10),\n",
-       "                                      'noise_var': Prior("InverseGamma", alpha=1, beta=1),\n",
+       "
BayesianLinearRegressor(prior_config={'intercept': Prior("Normal", mu=0, sigma=10),\n",
+       "                                      'noise_var': Prior("InverseGamma", alpha=3, beta=1),\n",
        "                                      'slopes': Prior("Normal", mu=0, sigma=10, dims="pred_id")},\n",
-       "                        sampler_config={'chains': 1, 'draws': 1000,\n",
+       "                        sampler_config={'chains': 2, 'draws': 1000,\n",
        "                                        'progressbar': True, 'random_seed': 123,\n",
-       "                                        'target_accept': 0.95, 'tune': 1000})
Please rerun this cell to show the HTML repr or trust the notebook.