diff --git a/docs/auto_examples/auto_examples_jupyter.zip b/docs/auto_examples/auto_examples_jupyter.zip index 2daefde..d5f8064 100644 Binary files a/docs/auto_examples/auto_examples_jupyter.zip and b/docs/auto_examples/auto_examples_jupyter.zip differ diff --git a/docs/auto_examples/auto_examples_python.zip b/docs/auto_examples/auto_examples_python.zip index 8098402..aef5dc6 100644 Binary files a/docs/auto_examples/auto_examples_python.zip and b/docs/auto_examples/auto_examples_python.zip differ diff --git a/docs/auto_examples/ex_genz_bcs.codeobj.json b/docs/auto_examples/ex_genz_bcs.codeobj.json index 98eb677..7cddeee 100644 --- a/docs/auto_examples/ex_genz_bcs.codeobj.json +++ b/docs/auto_examples/ex_genz_bcs.codeobj.json @@ -708,6 +708,15 @@ "name": "function" } ], + "ksi_domain": [ + { + "is_class": false, + "is_explicit": false, + "module": "numpy", + "module_short": "numpy", + "name": "ndarray" + } + ], "math.sqrt": [ { "is_class": false, @@ -1076,13 +1085,27 @@ "name": "PCE.evaluate" } ], - "pce_surr.pcrv.mindices": [ + "pce_surr.get_pc_terms": [ { "is_class": false, "is_explicit": false, - "module": "builtins", - "module_short": "builtins", - "name": "list" + "module": "pytuq.surrogates.pce", + "module_short": "pytuq.surrogates.pce", + "name": "PCE.get_pc_terms" + }, + { + "is_class": false, + "is_explicit": false, + "module": "pytuq.surrogates", + "module_short": "pytuq.surrogates", + "name": "PCE.get_pc_terms" + }, + { + "is_class": false, + "is_explicit": false, + "module": "pytuq", + "module_short": "pytuq", + "name": "PCE.get_pc_terms" } ], "pce_surr.pcrv.printInfo": [ @@ -1503,6 +1526,40 @@ "name": "root_mean_squared_error" } ], + "scaleDomTo01": [ + { + "is_class": false, + "is_explicit": false, + "module": "builtins", + "module_short": "builtins", + "name": "function" + }, + { + "is_class": false, + "is_explicit": false, + "module": "pytuq.utils.maps", + "module_short": "pytuq.utils.maps", + "name": "scaleDomTo01" + } + ], + "value_ksi_trn": [ + { + "is_class": false, + "is_explicit": false, + "module": "numpy", + "module_short": "numpy", + "name": "ndarray" + } + ], + "value_ksi_tst": [ + { + "is_class": false, + "is_explicit": false, + "module": "numpy", + "module_short": "numpy", + "name": "ndarray" + } + ], "x_trn": [ { "is_class": false, diff --git a/docs/auto_examples/ex_genz_bcs.ipynb b/docs/auto_examples/ex_genz_bcs.ipynb index 3772d88..b50df99 100644 --- a/docs/auto_examples/ex_genz_bcs.ipynb +++ b/docs/auto_examples/ex_genz_bcs.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n# Function Approximation with Sparse Regression\n\nIn this tutorial, we demonstrate how to approximate a function with sparse regression by constructing a Polynomial Chaos (PC) surrogate with \nBayesian compressive sensing (BCS). The function we will approximate here is the Genz Oscillatory function, defined as:\n\n\\begin{align}f(x) = \\cos\\left(2 \\pi s + \\sum_{i=1}^d w_i x_i\\right)\\end{align}\n\nWhere:\n\n- $s$: The shift parameter (``self.shift`` in the class).\n- $w_i$: The weights for each dimension (``self.weights`` in the class).\n- $x_i$: The input variables.\n- $d$: The dimensionality of the input $x$ (number of components in $x$).\n\nThrough 2 different build processes, we will construct two different PC surrogates to demonstrate effects of the BCS eta hyperparameter on model results. \nThe first build process will demonstrate most simply the construct-build-evaluate process when using BCS for our PC surrogate, along with a given a eta of 1e-10.\nThe second build process will select the most optimal eta for BCS through cross-validation algorithms (exposed here), which will soon be implemented in PyTUQ under-the-hood.\nAfterwards, we will evaluate both models on testing and training data, returning parity plots and a Root Mean Square Error for each evaluation.\n" + "\n# Function Approximation with Sparse Regression\n\nIn this tutorial, we demonstrate how to approximate a function with sparse regression by constructing a Polynomial Chaos (PC) surrogate with \nBayesian compressive sensing (BCS). The function we will approximate here is the Genz Oscillatory function, defined as:\n\n\\begin{align}f(x) = \\cos\\left(2 \\pi s + \\sum_{i=1}^d w_i x_i\\right)\\end{align}\n\nWhere:\n\n- $s$: The shift parameter (``self.shift`` in the class).\n- $w_i$: The weights for each dimension (``self.weights`` in the class).\n- $x_i$: The input variables.\n- $d$: The dimensionality of the input $x$ (number of components in $x$).\n\nThrough three different build processes, we will construct three PC surrogates to highlight the advantages of BCS and explore the effects of the `eta` hyperparameter on model results.\n\nFirst, we'll build with least squares regression to demonstrate the limitations of non-sparse methods and the need for BCS. \nThen we'll build with BCS using a given eta of $1 \\times 10^{-10}$ and identify aspects for model improvement. \nLast, we'll build with the most optimal eta, as found through cross-validation algorithms exposed here. All three surrogates will be evaluated on testing and training data, \nwith parity plots and Root Mean Square Error (RMSE) values used to compare their performance. \n\nTo follow along with the cross-validation algorithm for selecting the optimal eta, see section \"Functions for cross-validation algorithm\" in the second half of the notebook. \nThese methods have been implemented under-the-hood in PyTUQ. Refer to example \"Polynomial Chaos Expansion Construction\" (``ex_pce.py``) for a demonstration of how to use these methods through a direct call to the PCE class.\n" ] }, { @@ -15,14 +15,14 @@ }, "outputs": [], "source": [ - "import os\nimport sys\n\nimport numpy as np\nimport copy\nimport math\nimport pytuq.utils.funcbank as fcb\nfrom matplotlib import pyplot as plt\nfrom sklearn.metrics import root_mean_squared_error\n\nfrom pytuq.surrogates.pce import PCE\nfrom pytuq.utils.maps import scale01ToDom\nfrom pytuq.func.genz import GenzOscillatory" + "import os\nimport sys\n\nimport numpy as np\nimport copy\nimport math\nimport pytuq.utils.funcbank as fcb\nfrom matplotlib import pyplot as plt\nfrom sklearn.metrics import root_mean_squared_error\n\nfrom pytuq.surrogates.pce import PCE\nfrom pytuq.utils.maps import scaleDomTo01\nfrom pytuq.func.genz import GenzOscillatory" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Setting a random number generator seed:\n\n" + "## Constructing PC surrogate and generating data\nTo start, we begin with defining our true model and input parameters for our PC surrogate.\n\nAfter importing GenzOscillatory from ``pytuq.func.genz``, we generate the Genz function below, \nalong with training data and testing data with output noise. This data and the corresponding Genz function \nwill be used to create the same PC surrogate fitted in all three examples: first with linear regression, \nnext using BCS with a given eta, and third using BCS with the most optimal eta. \n\n" ] }, { @@ -36,11 +36,22 @@ "# Random number generator\nfrom scipy.stats import qmc\nrng_seed = 43" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Define our true model as the Genz Oscillatory function in multiple dimensions\nfunc_dim = 4\nfunc_weights = [1.0/(i+1)**2 for i in range(func_dim)] \nfunc = GenzOscillatory(shift=0.25, weights=func_weights)\nnoise_std = 0.025\n\nrng = qmc.LatinHypercube(d=func_dim, seed=rng_seed)\nnp.random.seed(42)\n\n# As we choose to use Legendre polynomials later in the surrogate construction, we define the domain of \u03be on [-1, 1]^d\nksi_domain = np.array([[-1.0, 1.0]] * func_dim) \n\n# Training data\nn_trn = 70\nvalue_ksi_trn = 2*rng.random(n=n_trn) - 1 # Randomly generating 70 data points within the domain of \u03be (ksi)\nx_trn = scaleDomTo01(value_ksi_trn, ksi_domain) # We scale our training data to [0, 1]^d, the domain of the Genz function\ny_trn = func(x_trn) + np.random.normal(0, noise_std, size = (n_trn, 1))\n\n# Testing data\nn_tst = 10000\nvalue_ksi_tst = 2*rng.random(n=n_tst) - 1 \nx_tst = scaleDomTo01(value_ksi_tst, ksi_domain)\ny_tst = func(x_tst)" + ] + }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Constructing PC surrogate and generating data\nAfter importing GenzOscillatory from ``pytuq.func.genz``, we generate the Genz function below, along with training data and testing data with output noise. \nThis data and the corresponding Genz function will be used to create the same PC surrogate fitted in both examples: \n(1) The first surrogate will be fitted using BCS with a given eta, and (2) the second surrogate will be fitted using BCS with the most optimal eta.\n\n" + "With a stochastic dimensionality of 4 (defined above) and a chosen polynomial order of 4, we construct the PC surrogate that \nwill be used in both builds. By calling the ``printInfo()`` method from the PCRV variable, you can print the PC surrogate's \nfull basis and current coefficients, before BCS selects and retains the most significant PC terms to reduce the basis.\n\n" ] }, { @@ -51,14 +62,21 @@ }, "outputs": [], "source": [ - "# Use Genz Oscillatory function in multiple dimensions for the true model\nfunc_dim = 4\nfunc_weights = [1.0/(i+1)**2 for i in range(func_dim)]\nfunc = GenzOscillatory(shift=0.25, weights=func_weights)\nnoise_std = 0.1\nrng = qmc.LatinHypercube(d=func_dim, seed=rng_seed)\n\n# Training data\nnp.random.seed(42)\nn_trn = 70\nx_trn = rng.random(n=n_trn) # random numbers in [0,1]^d\ny_trn = func(x_trn) + np.random.normal(0, noise_std, size = (n_trn,1))\n\n# Testing data\nn_tst = 10000\nx_tst = rng.random(n=n_tst) # random numbers in [0,1]^d\ny_tst = func(x_tst) + np.random.normal(0, noise_std, size = (n_tst,1))" + "# (1) Construct a PC surrogate\norder = 4\npce_surr = PCE(func_dim, order, 'LU', verbose = 1)\n\n# Optional verbosity output:\nprint(\"Full Basis and Current Coefficients:\")\npce_surr.pcrv.printInfo()\nprint(\"Number of Basis Terms:\", pce_surr.get_pc_terms())\n\n# (1.5) Set training data\npce_surr.set_training_data(value_ksi_trn, y_trn[:,0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the input parameters of our PC surrogate, we have 70 basis terms in our PCE. With 70 training points and no noise, having 70 basis terms would mean that we have a fully determined system, as the number of training points is the same as the number of basis terms. However, with the addition of noise in our training data, it becomes harder for the model to accurately fit all basis terms, leading to potential overfitting. This demonstrates the helpful role BCS might play as a choice for our regression build. As a sparse regression approach, BCS uses regularization to select only the most relevant basis terms, making it particularly effective in situations like this, where we do not have enough clear information to fit all basis terms without overfitting.\n\nIn the next sections, we will explore the effects of overfitting in more detail.\n\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "With a stochastic dimensionality of 4 (defined above) and a polynomial order of 4, we construct the PC surrogate that will be used in both builds. \nYou have the option of printing the PC surrogate's full basis, before BCS selects and retains the most significant PC coefficients to reduce the basis.\n\n" + "## Least Squares Regression\nTo start, we call the PCE class method of ``build()`` with no arguments to use the default regression option of least squares. Then, through ``evaluate()``, we can generate model predictions for our training and testing data.\n\n" ] }, { @@ -69,14 +87,18 @@ }, "outputs": [], "source": [ - "# (1) Construct a PC surrogate\norder = 4\npce_surr = PCE(func_dim, order, 'LU', verbose = 1)\n\n# Optional verbosity output:\nprint(\"Full Basis and Current Coefficients:\")\npce_surr.pcrv.printInfo()\nprint(\"Number of Basis Terms:\", len(pce_surr.pcrv.mindices[0]))\n\n# (1.5) Set training data\npce_surr.set_training_data(x_trn, y_trn[:,0])" + "# (2) Build the linear regression object for fitting\npce_surr.build()\n\n# (3) Evaluate the PC model\ny_trn_approx = pce_surr.evaluate(value_ksi_trn)\ny_tst_approx = pce_surr.evaluate(value_ksi_tst)" ] }, { - "cell_type": "markdown", - "metadata": {}, + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ - "## BCS with default settings (default eta)\nHere, we call the PCE class method of ``build()`` to build the linear regression model used to fit the surrogate. \nWith the flag ``regression='bcs'``, we choose the BCS method for the fitting. A user-defined eta of 1e-10 is also passed in.\n\n" + "# Plot the surrogate model's output vs. the training data output\ny_trn_mM = [y_trn[:,0].min(),y_trn[:,0].max()]\n\nfig1 = plt.figure(figsize=(8,6))\nax1 = fig1.add_axes([0.15, 0.15, 0.80, 0.75])\n\nax1.plot(y_trn[:,0],y_trn_approx[\"Y_eval\"],\".\")\nax1.plot(y_trn_mM,y_trn_mM) # Diagonal line\n\nax1.set_xlabel(\"Train Data y\", size=16)\nax1.set_ylabel(\"Predicted y\", size=16);" ] }, { @@ -87,14 +109,32 @@ }, "outputs": [], "source": [ - "# (2) Build the linear regression object for fitting\npce_surr.build(regression='bcs', eta=1.e-10)\n\n# Optional verbosity output:\nprint(\"Retained Basis and Coefficients:\")\npce_surr.pcrv.printInfo()\nprint(\"Number of retained basis terms:\", len(pce_surr.pcrv.mindices[0]))" + "# Plot the surrogate model's output vs. the testing data output\n\ny_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()]\n\n\nfig2 = plt.figure(figsize=(8,6))\nax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75])\n\n\nax2.plot(y_tst[:,0],y_tst_approx[\"Y_eval\"],\".\")\nax2.plot(y_tst_mM,y_tst_mM) # Diagonal line\n\nax2.set_xlabel(\"Test Data y\", size=16)\nax2.set_ylabel(\"Predicted y\", size=16);" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Evaluate goodness of fit with RMSE\nrmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx[\"Y_eval\"])\nprint(\"The training RMSE in the PCE LSQ approximation is %.2e\"%rmse_trn)\n\nrmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx[\"Y_eval\"])\nprint(\"The testing RMSE in the PCE LSQ approximation is %.2e\"%rmse_tst)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The results above show us the limitations of using least squares regression to construct our surrogate. From the parity plots, we can see how the testing predictions from the LSQ regression are more spread out from the parity line, while the training predictions are extremely close to the line. Because LSQ fits all the basis terms to the training data, the model fits too closely to the noisy training dataset, and the true underlying pattern of the function is not effectively captured. Our RMSE values align with this as well: while the training RMSE is extremely low, the testing RMSE is significantly higher, as the model struggles to generalize to the unseen test data. \n\nTo improve our model's generalization, we can build our model with BCS instead. As a sparse regression method, BCS reduces the number of basis terms with which we can fit our data to, reducing the risk of overfitting. \n\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "After fitting, we evaluate the PCE using our training and testing data. To analyze the model's goodness of fit, \nwe calculate the root mean square error between the surrogate results and the training and testing data.\n\n" + "## BCS with default settings (default eta)\nIn this section, we use the same PC surrogate, ``pce_surr``, for the second build. With the flag ``regression='bcs'``, we choose the BCS method for the fitting. A user-defined eta of 1e-10 is also passed in.\n\n" ] }, { @@ -105,14 +145,14 @@ }, "outputs": [], "source": [ - "# (3) Evaluate the PC model\ny_trn_approx = pce_surr.evaluate(x_trn)\ny_tst_approx = pce_surr.evaluate(x_tst)\n\n# Evaluate goodness of fit with RMSE\nrmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx[\"Y_eval\"])\nprint(\"The training RMSE error in the PCE BCS approximation is %.2e\"%rmse_trn)\n\nrmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx[\"Y_eval\"])\nprint(\"The testing RMSE error in the PCE BCS approximation is %.2e\"%rmse_tst)" + "# (2) Build the linear regression object for fitting\npce_surr.build(regression='bcs', eta=1.e-10)\n\n# Optional verbosity output:\nprint(\"Retained Basis and Coefficients:\")\npce_surr.pcrv.printInfo()\nprint(\"Number of retained basis terms:\", pce_surr.get_pc_terms())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Notice above how the training RMSE error is almost half that of the testing RMSE error. This shows that our current model is overfitting, \nlearning the training data with noise too well. To address this issue, we can explore selecting a better eta for the BCS fitting.\n\n" + "After fitting, we evaluate the PCE using our training and testing data. To analyze the model's goodness of fit, we first plot the surrogate predictions against the training and testing data respectively.\n\n" ] }, { @@ -123,7 +163,7 @@ }, "outputs": [], "source": [ - "# Plot the surrogate model's output vs. the training data output\n\ny_trn_mM = [y_trn[:,0].min(),y_trn[:,0].max()]\n\n\nfig1 = plt.figure(figsize=(8,6))\nax1 = fig1.add_axes([0.15, 0.15, 0.80, 0.75])\n\n\nax1.plot(y_trn[:,0],y_trn_approx[\"Y_eval\"],\".\")\nax1.plot(y_trn_mM,y_trn_mM) # Diagonal line\n\nax1.set_xlabel(\"Train Data y\", size=16)\nax1.set_ylabel(\"Predicted y\", size=16);" + "# (3) Evaluate the PC model\ny_trn_approx = pce_surr.evaluate(value_ksi_trn)\ny_tst_approx = pce_surr.evaluate(value_ksi_tst)" ] }, { @@ -134,14 +174,43 @@ }, "outputs": [], "source": [ - "# Plot the surrogate model's output vs. the testing data output\n\ny_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()]\n\n\nfig2 = plt.figure(figsize=(8,6))\nax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75])\n\n\nax2.plot(y_tst[:,0],y_tst_approx[\"Y_eval\"],\".\")\nax2.plot(y_tst_mM,y_tst_mM) # Diagonal line\n\nax2.set_xlabel(\"Test Data y\", size=16)\nax2.set_ylabel(\"Predicted y\", size=16);" + "# Plot the surrogate model's output vs. the training data output\ny_trn_mM = [y_trn[:,0].min(),y_trn[:,0].max()]\n\nfig1 = plt.figure(figsize=(8,6))\nax1 = fig1.add_axes([0.15, 0.15, 0.80, 0.75])\n\nax1.plot(y_trn[:,0],y_trn_approx[\"Y_eval\"],\".\")\nax1.plot(y_trn_mM,y_trn_mM) # Diagonal line\n\nax1.set_xlabel(\"Train Data y\", size=16)\nax1.set_ylabel(\"Predicted y\", size=16);" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Plot the surrogate model's output vs. the testing data output\n\ny_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()]\n\nfig2 = plt.figure(figsize=(8,6))\nax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75])\n\nax2.plot(y_tst[:,0],y_tst_approx[\"Y_eval\"],\".\")\nax2.plot(y_tst_mM,y_tst_mM) # Diagonal line\n\nax2.set_xlabel(\"Test Data y\", size=16)\nax2.set_ylabel(\"Predicted y\", size=16); \n\n# sphinx_gallery_thumbnail_number = 2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Evaluate goodness of fit with RMSE\nrmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx[\"Y_eval\"])\nprint(\"The training RMSE in the PCE BCS approximation is %.2e\"%rmse_trn)\n\nrmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx[\"Y_eval\"])\nprint(\"The testing RMSE in the PCE BCS approximation is %.2e\"%rmse_tst)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From our parity plots, we can see how BCS already generalizes better to unseen data as compared to LSQ, with reduced error in our testing data predictions. In our RMSE calculations, notice how the training error is smaller than the testing error. Though the difference in value is small, this amount is still significant as we have noise in our training data yet no noise in our testing data. That the testing error is higher than the training error suggests that overfitting is still happening within our model. \n\nIn the next section, we explore how finding the optimal value of eta -- the stopping criterion for the BCS parameter of gamma, determined through a Bayesian evidence maximization approach -- can impact model sparsity and accuracy to avoid overfitting.\n\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "BCS with optimal eta (found through cross-validation) \n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n In this section, we use the same PC surrogate, ``pce_surr``, for the second build. We call the PCE class method of ``build()`` \n to build the linear regression model used to fit the surrogate. With the flag ``regression='bcs'``, we choose the BCS method for the fitting. \n\n#############################################################################\n Instead of using a default eta, we call the cross-validation algorithm, ``optimize_eta()``, to choose the most optimal eta below. \n\n - With the flag ``plot=True``, the CV algorithm produces a graph of the training and testing (validation) data's RMSE values for each eta. The eta with the smallest RMSE for the validation data is the one chosen as the optimal eta.\n\n#############################################################################\n Before that, we expose the cross-validation algorithm ``optimize_eta`` and its two helper functions, ``kfold_split`` and ``kfold_cv`` that will be called in this section.\n\n" + "## BCS with optimal eta (found through cross-validation) \nBefore we build our PC surrogate again with the most optimal eta, we first expose the cross-validation algorithm ``optimize_eta`` and its two helper functions, ``kfold_split`` and ``kfold_cv`` below. These functions have been implemented under-the-hood in the PCE surrogate class, but for the purposes of this tutorial, you may find it useful to follow along with the K-fold cross-validation method used to find the most optimal eta (the eta with the lowest validation RMSE across all of its folds).\n\n### Functions for cross-validation algorithm\n\n" ] }, { @@ -174,7 +243,14 @@ }, "outputs": [], "source": [ - "def optimize_eta(pce, etas, nfolds, verbose=0, plot=False):\n \"\"\"\n Choose the optimum eta for Bayesian compressive sensing. Calculates the RMSE\n for each eta for a specified number of folds. Selects the eta with the lowest\n RMSE after averaging the RMSEs over the folds.\n\n Input:\n y: 1D numpy array (vector) with function, evaluated at the\n sample points [#samples,]\n x: N-dimensional NumPy array with sample points [#samples,\n #dimensions]\n etas: NumPy array or list with the threshold for stopping the\n algorithm. Smaller values retain more nonzero\n coefficients\n verbose: Flag for print statements\n plot: Flag for whether to generate a plot for eta optimization\n\n Output:\n eta_opt: Optimum eta\n\n \"\"\"\n # Split data in k folds -> Get dictionary of data split in training + testing folds\n kfold_data = kfold_cv(pce._x_train, pce._y_train, nfolds)\n\n # Each value has data for 1 fold. Each value is a list of the RMSEs for each possible eta in the fold. \n RMSE_list_per_fold_tr = [] \n\n # Same but for testing data\n RMSE_list_per_fold_test = []\n\n # Make a copy of the PCE object to run the cross-validation algorithm on\n pce_copy = copy.deepcopy(pce)\n pce_copy.verbose = 0\n\n # Loop through each fold\n for i in range(nfolds):\n\n # Get the training and validation data\n x_tr = kfold_data[i]['xtrain']\n y_tr = kfold_data[i]['ytrain']\n x_test = kfold_data[i]['xval']\n y_test = kfold_data[i]['yval']\n \n # As we conduct BCS for this fold with each separate eta, the RMSEs will be added to these lists\n RMSE_per_eta_tr = [] \n RMSE_per_eta_test = [] \n\n # Set the x and y training data for the copied PCE object\n pce_copy.set_training_data(x_tr, y_tr)\n\n # Loop through each eta\n for eta in etas:\n\n # Conduct the BCS fitting. The object is automatically updated with new multiindex and coefficients received from the fitting.\n cfs = pce_copy.build(regression = 'bcs', eta=eta)\n\n # Evaluate the PCE object at the training and validation points \n y_tr_eval = (pce_copy.evaluate(x_tr))['Y_eval']\n y_test_eval = (pce_copy.evaluate(x_test))['Y_eval']\n\n # Print statement for verbose flag\n if verbose > 1:\n print(\"Fold \" + str(i + 1) + \", eta \" + str(eta) + \", \" + str(len(cfs)) + \" terms retained out of a full basis of size \" + str(len(pce.pcrv.mindices[0])))\n \n # Calculate the RMSEs for the training and validation points.\n # Append the values into the list of etas per fold.\n MSE = np.square(np.subtract(y_tr, y_tr_eval)).mean()\n RMSE = math.sqrt(MSE)\n RMSE_per_eta_tr.append(RMSE)\n\n MSE = np.square(np.subtract(y_test, y_test_eval)).mean()\n RMSE = math.sqrt(MSE)\n RMSE_per_eta_test.append(RMSE)\n\n # Now, append the fold's list of RMSEs for each eta into the list carrying the lists for all folds \n RMSE_list_per_fold_tr.append(RMSE_per_eta_tr)\n RMSE_list_per_fold_test.append(RMSE_per_eta_test)\n\n # After compiling the RMSE data for each eta from all the folds, we find the eta with the lowest validation RMSE to be our optimal eta.\n # Compute the average and standard deviation of the training and testing RMSEs over the folds\n avg_RMSE_tr = np.array(RMSE_list_per_fold_tr).mean(axis=0)\n avg_RMSE_test = np.array(RMSE_list_per_fold_test).mean(axis=0)\n\n std_RMSE_tr = np.std(np.array(RMSE_list_per_fold_tr), axis=0)\n std_RMSE_test = np.std(np.array(RMSE_list_per_fold_test), axis=0)\n\n # Choose the eta with lowest RMSE across all folds' testing data\n eta_opt = etas[np.argmin(avg_RMSE_test)]\n\n # Plot RMSE vs. eta for training and testing RMSE\n if plot:\n\n fig, ax = plt.subplots(figsize=(10,10))\n\n plt.errorbar(etas, avg_RMSE_tr, xerr=None, yerr=std_RMSE_tr, linewidth=2, markersize=8, capsize=8, label=('Training'))\n plt.errorbar(etas, avg_RMSE_test, xerr=None, yerr=std_RMSE_test, linewidth=2, markersize=8, capsize=8, label=('Validation'))\n\n plt.plot(eta_opt, np.min(avg_RMSE_test), marker=\"o\", markersize=15, color='black', label=(\"Optimum\"))\n\n plt.xlabel(\"Eta\",fontsize=20)\n plt.ylabel(\"RMSE\",fontsize=20)\n\n # Change size of tick labels\n plt.tick_params(axis='both', labelsize=16)\n\n plt.xscale('log')\n plt.yscale('log')\n\n # Create legend\n plt.legend(loc='upper left')\n\n # Save\n plt.savefig('eta_opt.pdf', format='pdf', dpi=1200)\n\n return eta_opt" + "def optimize_eta(pce, etas, nfolds=3, verbose=0, plot=False):\n \"\"\"\n Choose the optimum eta for Bayesian compressive sensing. Calculates the RMSE\n for each eta for a specified number of folds. Selects the eta with the lowest\n RMSE after averaging the RMSEs over the folds.\n\n Input:\n y: 1D numpy array (vector) with function, evaluated at the\n sample points [#samples,]\n x: N-dimensional NumPy array with sample points [#samples,\n #dimensions]\n etas: NumPy array or list with the threshold for stopping the\n algorithm. Smaller values retain more nonzero\n coefficients\n verbose: Flag for print statements\n plot: Flag for whether to generate a plot for eta optimization\n\n Output:\n eta_opt: Optimum eta\n\n \"\"\"\n # Split data in k folds -> Get dictionary of data split in training + testing folds\n kfold_data = kfold_cv(pce._x_train, pce._y_train, nfolds)\n\n # Each value has data for 1 fold. Each value is a list of the RMSEs for each possible eta in the fold. \n RMSE_list_per_fold_tr = [] \n\n # Same but for testing data\n RMSE_list_per_fold_test = []\n\n # Make a copy of the PCE object to run the cross-validation algorithm on\n pce_copy = copy.deepcopy(pce)\n pce_copy.verbose = 0\n\n # Loop through each fold\n for i in range(nfolds):\n\n # Get the training and validation data\n x_tr = kfold_data[i]['xtrain']\n y_tr = kfold_data[i]['ytrain']\n x_test = kfold_data[i]['xval']\n y_test = kfold_data[i]['yval']\n \n # As we conduct BCS for this fold with each separate eta, the RMSEs will be added to these lists\n RMSE_per_eta_tr = [] \n RMSE_per_eta_test = [] \n\n # Set the x and y training data for the copied PCE object\n pce_copy.set_training_data(x_tr, y_tr)\n\n # Loop through each eta\n for eta in etas:\n\n # Conduct the BCS fitting. The object is automatically updated with new multiindex and coefficients received from the fitting.\n cfs = pce_copy.build(regression = 'bcs', eta=eta)\n\n # Evaluate the PCE object at the training and validation points \n y_tr_eval = (pce_copy.evaluate(x_tr))['Y_eval']\n y_test_eval = (pce_copy.evaluate(x_test))['Y_eval']\n\n # Print statement for verbose flag\n if verbose > 0:\n print(\"Fold \" + str(i + 1) + \", eta \" + str(eta) + \", \" + str(len(cfs)) + \" terms retained out of a full basis of size \" + str(len(pce.pcrv.mindices[0])))\n \n # Calculate the RMSEs for the training and validation points.\n # Append the values into the list of etas per fold.\n MSE = np.square(np.subtract(y_tr, y_tr_eval)).mean()\n RMSE = math.sqrt(MSE)\n RMSE_per_eta_tr.append(RMSE)\n\n MSE = np.square(np.subtract(y_test, y_test_eval)).mean()\n RMSE = math.sqrt(MSE)\n RMSE_per_eta_test.append(RMSE)\n\n # Now, append the fold's list of RMSEs for each eta into the list carrying the lists for all folds \n RMSE_list_per_fold_tr.append(RMSE_per_eta_tr)\n RMSE_list_per_fold_test.append(RMSE_per_eta_test)\n\n # After compiling the RMSE data for each eta from all the folds, we find the eta with the lowest validation RMSE to be our optimal eta.\n # Compute the average and standard deviation of the training and testing RMSEs over the folds\n avg_RMSE_tr = np.array(RMSE_list_per_fold_tr).mean(axis=0)\n avg_RMSE_test = np.array(RMSE_list_per_fold_test).mean(axis=0)\n\n std_RMSE_tr = np.std(np.array(RMSE_list_per_fold_tr), axis=0)\n std_RMSE_test = np.std(np.array(RMSE_list_per_fold_test), axis=0)\n\n # Choose the eta with lowest RMSE across all folds' testing data\n eta_opt = etas[np.argmin(avg_RMSE_test)]\n\n # Plot RMSE vs. eta for training and testing RMSE\n if plot:\n\n fig, ax = plt.subplots(figsize=(10,10))\n\n plt.errorbar(etas, avg_RMSE_tr, xerr=None, yerr=std_RMSE_tr, linewidth=2, markersize=8, capsize=8, label=('Training'))\n plt.errorbar(etas, avg_RMSE_test, xerr=None, yerr=std_RMSE_test, linewidth=2, markersize=8, capsize=8, label=('Validation'))\n\n plt.plot(eta_opt, np.min(avg_RMSE_test), marker=\"o\", markersize=15, color='black', label=(\"Optimum\"))\n\n plt.xlabel(\"Eta\",fontsize=20)\n plt.ylabel(\"RMSE\",fontsize=20)\n\n # Change size of tick labels\n plt.tick_params(axis='both', labelsize=16)\n\n plt.xscale('log')\n plt.yscale('log')\n\n # Create legend\n plt.legend(loc='upper left')\n\n # Save\n plt.savefig('eta_opt.pdf', format='pdf', dpi=1200)\n\n return eta_opt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### BCS build with the most optimal eta\nInstead of using a default eta, here we call the cross-validation algorithm, ``optimize_eta()``, to choose the most optimal eta from a range of etas given below. \n\n- With the flag ``plot=True``, the CV algorithm produces a graph of the training and testing (validation) data's RMSE values for each eta. The eta with the smallest RMSE for the validation data is the one chosen as the optimal eta.\n\n" ] }, { @@ -185,14 +261,14 @@ }, "outputs": [], "source": [ - "# We first create a list of possible etas to pass in: [1e-16, 1e-15, ... , 1e-2, 1e-1, 1]\netas = 1/np.power(10,[i for i in range(0,16)])\n\n# Then, we call the function to choose the optimal eta:\neta_opt = optimize_eta(pce_surr, etas, 10, plot=True)" + "# We first create a list of possible etas to pass in: [1e-16, 1e-15, ... , 1e-2, 1e-1, 1]\netas = 1/np.power(10,[i for i in range(0,16)])\n\n# Then, we call the function to choose the optimal eta:\neta_opt = optimize_eta(pce_surr, etas, nfolds=10, verbose = True, plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Now, with the optimal eta obtained, we run the fitting again. Then, we evaluate the PCE and produce a parity plot for the predicted output vs. the testing data. \nNotice that the larger eta, 10e-2, retained fewer basis terms (6) compared to the smaller user-defined eta of 10e-10 (which retained 20 basis terms).\n\n" + "From our eta plot above, we can see that our most optimal eta falls at $1 \\times 10^{-10}$, where the validation error is the lowest. While this indicates that the model performs well at this eta value, we can still observe a tendency towards overfitting in the model. For larger eta values, the training and validation RMSE lines are close together, suggesting that the model is performing similarly on both seen and unseen datasets, as would be desired. However, as eta decreases, the training RMSE falls while the validation RMSE rises, highlighting a region where overfitting occurs. \n\nThis behavior is expected because smaller eta values retain more basis terms, increasing the model's degrees of freedom. While this added flexibility allows the model to fit the training data more closely, it also makes the model more prone to fitting noise rather than capturing the true underlying function. Selecting the most optimal eta of $1 \\times 10^{-4}$, as compared to the earlier user-defined eta of $1 \\times 10^{-10}$, allows us to balance model complexity and generalization.\n\nNow, with the optimum eta obtained, we can run the fitting again and produce parity plots for our predicted output.\n\n" ] }, { @@ -203,14 +279,18 @@ }, "outputs": [], "source": [ - "# Build the linear regression object for fitting\npce_surr.build(regression='bcs', eta=eta_opt)\n\n# Optional verbosity output:\nprint(\"Retained Basis and Coefficients:\")\npce_surr.pcrv.printInfo()\nprint(\"Number of retained basis terms:\", len(pce_surr.pcrv.mindices[0]))" + "# Build the linear regression object for fitting\npce_surr.build(regression='bcs', eta=eta_opt)\n\n# Optional verbosity output:\nprint(\"Retained Basis and Coefficients:\")\npce_surr.pcrv.printInfo()\nprint(\"Number of retained basis terms:\", pce_surr.get_pc_terms())" ] }, { - "cell_type": "markdown", - "metadata": {}, + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ - "Evaluate the PC model with training and testing data\n\n" + "# Evaluate the PC model with training and testing data\ny_trn_approx = pce_surr.evaluate(value_ksi_trn)\ny_tst_approx = pce_surr.evaluate(value_ksi_tst)" ] }, { @@ -221,14 +301,18 @@ }, "outputs": [], "source": [ - "y_trn_approx = pce_surr.evaluate(x_trn)\ny_tst_approx = pce_surr.evaluate(x_tst)\n\n# Evaluate goodness of fit with RMSE\nrmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx[\"Y_eval\"])\nprint(\"The training RMSE error in the PCE BCS approximation is %.2e\"%rmse_trn)\n\nrmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx[\"Y_eval\"])\nprint(\"The testing RMSE error in the PCE BCS approximation is %.2e\"%rmse_tst)" + "# Plot the surrogate model's output vs. the training data output\ny_tst_mM = [y_trn[:,0].min(),y_trn[:,0].max()]\n\nfig2 = plt.figure(figsize=(8,6))\nax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75])\n\nax2.plot(y_trn[:,0],y_trn_approx[\"Y_eval\"],\".\")\nax2.plot(y_tst_mM,y_tst_mM) # Diagonal line\n\nax2.set_xlabel(\"Train Data y\", size=16)\nax2.set_ylabel(\"Predicted y\", size=16);" ] }, { - "cell_type": "markdown", - "metadata": {}, + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ - "While the training RMSE error was almost half that of the testing RMSE error for the first fitting, the RMSE errors here are much closer to each other in value. \nThis suggests that the model has more effectively generalized to the unseen data; a better eta has improved performance.\n\n" + "# Plot the surrogate model's output vs. the testing data output\ny_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()]\n\nfig2 = plt.figure(figsize=(8,6))\nax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75])\n\nax2.plot(y_tst[:,0],y_tst_approx[\"Y_eval\"],\".\")\nax2.plot(y_tst_mM,y_tst_mM) # Diagonal line\n\nax2.set_xlabel(\"Test Data y\", size=16)\nax2.set_ylabel(\"Predicted y\", size=16);" ] }, { @@ -239,7 +323,14 @@ }, "outputs": [], "source": [ - "# Plot the surrogate model's output vs. the testing data output\ny_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()]\n\n\nfig2 = plt.figure(figsize=(8,6))\nax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75])\n\n\nax2.plot(y_tst[:,0],y_tst_approx[\"Y_eval\"],\".\")\nax2.plot(y_tst_mM,y_tst_mM) # Diagonal line\n\nax2.set_xlabel(\"Test Data y\", size=16)\nax2.set_ylabel(\"Predicted y\", size=16); \n\n# sphinx_gallery_thumbnail_number = 2" + "# Evaluate goodness of fit with RMSE\nrmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx[\"Y_eval\"])\nprint(\"The training RMSE in the PCE BCS approximation is %.2e\"%rmse_trn)\n\nrmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx[\"Y_eval\"])\nprint(\"The testing RMSE in the PCE BCS approximation is %.2e\"%rmse_tst)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In these final RMSE calculations, we can see how our training RMSE has decreased from 1.80e-02 to 1.21e-02 by building with the most optimal eta. This indicates that our model has improved in generalization and is performing better on unseen data. Though our training error is still larger than our testing error, this can be attributed to the lack of noise in our testing data, while noise is present in our training data. While the optimal eta reduces overfitting and improves generalization, the noise in our training data still impacts the training error and remains an important consideration during our evaluation of the model performance.\n\nWhile this demonstration calls the cross-validation algorithm as a function outside of the PCE class, these methods have been implemented in PyTUQ through the PCE class. The example \"Polynomial Chaos Expansion Construction\" demonstrates how to call the eta optimization methods directly from the PCE class.\n\n" ] } ], diff --git a/docs/auto_examples/ex_genz_bcs.py b/docs/auto_examples/ex_genz_bcs.py index 1dd7b14..e186469 100644 --- a/docs/auto_examples/ex_genz_bcs.py +++ b/docs/auto_examples/ex_genz_bcs.py @@ -16,10 +16,15 @@ - :math:`x_i`: The input variables. - :math:`d`: The dimensionality of the input :math:`x` (number of components in :math:`x`). -Through 2 different build processes, we will construct two different PC surrogates to demonstrate effects of the BCS eta hyperparameter on model results. -The first build process will demonstrate most simply the construct-build-evaluate process when using BCS for our PC surrogate, along with a given a eta of 1e-10. -The second build process will select the most optimal eta for BCS through cross-validation algorithms (exposed here), which will soon be implemented in PyTUQ under-the-hood. -Afterwards, we will evaluate both models on testing and training data, returning parity plots and a Root Mean Square Error for each evaluation. +Through three different build processes, we will construct three PC surrogates to highlight the advantages of BCS and explore the effects of the `eta` hyperparameter on model results. + +First, we'll build with least squares regression to demonstrate the limitations of non-sparse methods and the need for BCS. +Then we'll build with BCS using a given eta of :math:`1 \times 10^{-10}` and identify aspects for model improvement. +Last, we'll build with the most optimal eta, as found through cross-validation algorithms exposed here. All three surrogates will be evaluated on testing and training data, +with parity plots and Root Mean Square Error (RMSE) values used to compare their performance. + +To follow along with the cross-validation algorithm for selecting the optimal eta, see section "Functions for cross-validation algorithm" in the second half of the notebook. +These methods have been implemented under-the-hood in PyTUQ. Refer to example "Polynomial Chaos Expansion Construction" (``ex_pce.py``) for a demonstration of how to use these methods through a direct call to the PCE class. """ # %% @@ -34,44 +39,55 @@ from sklearn.metrics import root_mean_squared_error from pytuq.surrogates.pce import PCE -from pytuq.utils.maps import scale01ToDom +from pytuq.utils.maps import scaleDomTo01 from pytuq.func.genz import GenzOscillatory # %% -# Setting a random number generator seed: +# Constructing PC surrogate and generating data +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +# To start, we begin with defining our true model and input parameters for our PC surrogate. +# +# After importing GenzOscillatory from ``pytuq.func.genz``, we generate the Genz function below, +# along with training data and testing data with output noise. This data and the corresponding Genz function +# will be used to create the same PC surrogate fitted in all three examples: first with linear regression, +# next using BCS with a given eta, and third using BCS with the most optimal eta. + +# %% # Random number generator from scipy.stats import qmc rng_seed = 43 # %% -# Constructing PC surrogate and generating data -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# After importing GenzOscillatory from ``pytuq.func.genz``, we generate the Genz function below, along with training data and testing data with output noise. -# This data and the corresponding Genz function will be used to create the same PC surrogate fitted in both examples: -# (1) The first surrogate will be fitted using BCS with a given eta, and (2) the second surrogate will be fitted using BCS with the most optimal eta. -# Use Genz Oscillatory function in multiple dimensions for the true model +# Define our true model as the Genz Oscillatory function in multiple dimensions func_dim = 4 -func_weights = [1.0/(i+1)**2 for i in range(func_dim)] +func_weights = [1.0/(i+1)**2 for i in range(func_dim)] func = GenzOscillatory(shift=0.25, weights=func_weights) -noise_std = 0.1 +noise_std = 0.025 + rng = qmc.LatinHypercube(d=func_dim, seed=rng_seed) +np.random.seed(42) + +# As we choose to use Legendre polynomials later in the surrogate construction, we define the domain of ξ on [-1, 1]^d +ksi_domain = np.array([[-1.0, 1.0]] * func_dim) # Training data -np.random.seed(42) n_trn = 70 -x_trn = rng.random(n=n_trn) # random numbers in [0,1]^d -y_trn = func(x_trn) + np.random.normal(0, noise_std, size = (n_trn,1)) +value_ksi_trn = 2*rng.random(n=n_trn) - 1 # Randomly generating 70 data points within the domain of ξ (ksi) +x_trn = scaleDomTo01(value_ksi_trn, ksi_domain) # We scale our training data to [0, 1]^d, the domain of the Genz function +y_trn = func(x_trn) + np.random.normal(0, noise_std, size = (n_trn, 1)) # Testing data n_tst = 10000 -x_tst = rng.random(n=n_tst) # random numbers in [0,1]^d -y_tst = func(x_tst) + np.random.normal(0, noise_std, size = (n_tst,1)) +value_ksi_tst = 2*rng.random(n=n_tst) - 1 +x_tst = scaleDomTo01(value_ksi_tst, ksi_domain) +y_tst = func(x_tst) # %% -# With a stochastic dimensionality of 4 (defined above) and a polynomial order of 4, we construct the PC surrogate that will be used in both builds. -# You have the option of printing the PC surrogate's full basis, before BCS selects and retains the most significant PC coefficients to reduce the basis. +# With a stochastic dimensionality of 4 (defined above) and a chosen polynomial order of 4, we construct the PC surrogate that +# will be used in both builds. By calling the ``printInfo()`` method from the PCRV variable, you can print the PC surrogate's +# full basis and current coefficients, before BCS selects and retains the most significant PC terms to reduce the basis. # (1) Construct a PC surrogate order = 4 @@ -80,16 +96,79 @@ # Optional verbosity output: print("Full Basis and Current Coefficients:") pce_surr.pcrv.printInfo() -print("Number of Basis Terms:", len(pce_surr.pcrv.mindices[0])) +print("Number of Basis Terms:", pce_surr.get_pc_terms()) # (1.5) Set training data -pce_surr.set_training_data(x_trn, y_trn[:,0]) +pce_surr.set_training_data(value_ksi_trn, y_trn[:,0]) + +# %% +# From the input parameters of our PC surrogate, we have 70 basis terms in our PCE. With 70 training points and no noise, having 70 basis terms would mean that we have a fully determined system, as the number of training points is the same as the number of basis terms. However, with the addition of noise in our training data, it becomes harder for the model to accurately fit all basis terms, leading to potential overfitting. This demonstrates the helpful role BCS might play as a choice for our regression build. As a sparse regression approach, BCS uses regularization to select only the most relevant basis terms, making it particularly effective in situations like this, where we do not have enough clear information to fit all basis terms without overfitting. +# +# In the next sections, we will explore the effects of overfitting in more detail. + +# %% +# Least Squares Regression +# ^^^^^^^^^^^^^^^^^^^^^^^^^ +# To start, we call the PCE class method of ``build()`` with no arguments to use the default regression option of least squares. Then, through ``evaluate()``, we can generate model predictions for our training and testing data. + +# %% + +# (2) Build the linear regression object for fitting +pce_surr.build() + +# (3) Evaluate the PC model +y_trn_approx = pce_surr.evaluate(value_ksi_trn) +y_tst_approx = pce_surr.evaluate(value_ksi_tst) + +# %% + +# Plot the surrogate model's output vs. the training data output +y_trn_mM = [y_trn[:,0].min(),y_trn[:,0].max()] + +fig1 = plt.figure(figsize=(8,6)) +ax1 = fig1.add_axes([0.15, 0.15, 0.80, 0.75]) + +ax1.plot(y_trn[:,0],y_trn_approx["Y_eval"],".") +ax1.plot(y_trn_mM,y_trn_mM) # Diagonal line + +ax1.set_xlabel("Train Data y", size=16) +ax1.set_ylabel("Predicted y", size=16); + +# %% + +# Plot the surrogate model's output vs. the testing data output + +y_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()] + + +fig2 = plt.figure(figsize=(8,6)) +ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75]) + + +ax2.plot(y_tst[:,0],y_tst_approx["Y_eval"],".") +ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line + +ax2.set_xlabel("Test Data y", size=16) +ax2.set_ylabel("Predicted y", size=16); + +# %% + +# Evaluate goodness of fit with RMSE +rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) +print("The training RMSE in the PCE LSQ approximation is %.2e"%rmse_trn) + +rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) +print("The testing RMSE in the PCE LSQ approximation is %.2e"%rmse_tst) + +# %% +# The results above show us the limitations of using least squares regression to construct our surrogate. From the parity plots, we can see how the testing predictions from the LSQ regression are more spread out from the parity line, while the training predictions are extremely close to the line. Because LSQ fits all the basis terms to the training data, the model fits too closely to the noisy training dataset, and the true underlying pattern of the function is not effectively captured. Our RMSE values align with this as well: while the training RMSE is extremely low, the testing RMSE is significantly higher, as the model struggles to generalize to the unseen test data. +# +# To improve our model's generalization, we can build our model with BCS instead. As a sparse regression method, BCS reduces the number of basis terms with which we can fit our data to, reducing the risk of overfitting. # %% # BCS with default settings (default eta) # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# Here, we call the PCE class method of ``build()`` to build the linear regression model used to fit the surrogate. -# With the flag ``regression='bcs'``, we choose the BCS method for the fitting. A user-defined eta of 1e-10 is also passed in. +# In this section, we use the same PC surrogate, ``pce_surr``, for the second build. With the flag ``regression='bcs'``, we choose the BCS method for the fitting. A user-defined eta of 1e-10 is also passed in. # (2) Build the linear regression object for fitting pce_surr.build(regression='bcs', eta=1.e-10) @@ -97,36 +176,23 @@ # Optional verbosity output: print("Retained Basis and Coefficients:") pce_surr.pcrv.printInfo() -print("Number of retained basis terms:", len(pce_surr.pcrv.mindices[0])) +print("Number of retained basis terms:", pce_surr.get_pc_terms()) # %% -# After fitting, we evaluate the PCE using our training and testing data. To analyze the model's goodness of fit, -# we calculate the root mean square error between the surrogate results and the training and testing data. +# After fitting, we evaluate the PCE using our training and testing data. To analyze the model's goodness of fit, we first plot the surrogate predictions against the training and testing data respectively. # (3) Evaluate the PC model -y_trn_approx = pce_surr.evaluate(x_trn) -y_tst_approx = pce_surr.evaluate(x_tst) - -# Evaluate goodness of fit with RMSE -rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) -print("The training RMSE error in the PCE BCS approximation is %.2e"%rmse_trn) - -rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) -print("The testing RMSE error in the PCE BCS approximation is %.2e"%rmse_tst) +y_trn_approx = pce_surr.evaluate(value_ksi_trn) +y_tst_approx = pce_surr.evaluate(value_ksi_tst) # %% -# Notice above how the training RMSE error is almost half that of the testing RMSE error. This shows that our current model is overfitting, -# learning the training data with noise too well. To address this issue, we can explore selecting a better eta for the BCS fitting. # Plot the surrogate model's output vs. the training data output - y_trn_mM = [y_trn[:,0].min(),y_trn[:,0].max()] - fig1 = plt.figure(figsize=(8,6)) ax1 = fig1.add_axes([0.15, 0.15, 0.80, 0.75]) - ax1.plot(y_trn[:,0],y_trn_approx["Y_eval"],".") ax1.plot(y_trn_mM,y_trn_mM) # Diagonal line @@ -139,30 +205,41 @@ y_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()] - fig2 = plt.figure(figsize=(8,6)) ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75]) - ax2.plot(y_tst[:,0],y_tst_approx["Y_eval"],".") ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line ax2.set_xlabel("Test Data y", size=16) ax2.set_ylabel("Predicted y", size=16); +# sphinx_gallery_thumbnail_number = 2 + +# %% + +# Evaluate goodness of fit with RMSE +rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) +print("The training RMSE in the PCE BCS approximation is %.2e"%rmse_trn) + +rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) +print("The testing RMSE in the PCE BCS approximation is %.2e"%rmse_tst) + +# %% +# From our parity plots, we can see how BCS already generalizes better to unseen data as compared to LSQ, with reduced error in our testing data predictions. In our RMSE calculations, notice how the training error is smaller than the testing error. Though the difference in value is small, this amount is still significant as we have noise in our training data yet no noise in our testing data. That the testing error is higher than the training error suggests that overfitting is still happening within our model. +# +# In the next section, we explore how finding the optimal value of eta -- the stopping criterion for the BCS parameter of gamma, determined through a Bayesian evidence maximization approach -- can impact model sparsity and accuracy to avoid overfitting. + + # %% # BCS with optimal eta (found through cross-validation) # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# In this section, we use the same PC surrogate, ``pce_surr``, for the second build. We call the PCE class method of ``build()`` -# to build the linear regression model used to fit the surrogate. With the flag ``regression='bcs'``, we choose the BCS method for the fitting. -# -############################################################################## -# Instead of using a default eta, we call the cross-validation algorithm, ``optimize_eta()``, to choose the most optimal eta below. +# Before we build our PC surrogate again with the most optimal eta, we first expose the cross-validation algorithm ``optimize_eta`` and its two helper functions, ``kfold_split`` and ``kfold_cv`` below. These functions have been implemented under-the-hood in the PCE surrogate class, but for the purposes of this tutorial, you may find it useful to follow along with the K-fold cross-validation method used to find the most optimal eta (the eta with the lowest validation RMSE across all of its folds). # -# - With the flag ``plot=True``, the CV algorithm produces a graph of the training and testing (validation) data's RMSE values for each eta. The eta with the smallest RMSE for the validation data is the one chosen as the optimal eta. -# -############################################################################## -# Before that, we expose the cross-validation algorithm ``optimize_eta`` and its two helper functions, ``kfold_split`` and ``kfold_cv`` that will be called in this section. +# Functions for cross-validation algorithm +# +++++++++++++++++++++++++++++++++++++++++ + +# %% def kfold_split(nsamples,nfolds,seed=13): """ @@ -251,7 +328,8 @@ def kfold_cv(x,y,nfolds=3,seed=13): return kfold_data # %% -def optimize_eta(pce, etas, nfolds, verbose=0, plot=False): + +def optimize_eta(pce, etas, nfolds=3, verbose=0, plot=False): """ Choose the optimum eta for Bayesian compressive sensing. Calculates the RMSE for each eta for a specified number of folds. Selects the eta with the lowest @@ -312,7 +390,7 @@ def optimize_eta(pce, etas, nfolds, verbose=0, plot=False): y_test_eval = (pce_copy.evaluate(x_test))['Y_eval'] # Print statement for verbose flag - if verbose > 1: + if verbose > 0: print("Fold " + str(i + 1) + ", eta " + str(eta) + ", " + str(len(cfs)) + " terms retained out of a full basis of size " + str(len(pce.pcrv.mindices[0]))) # Calculate the RMSEs for the training and validation points. @@ -368,16 +446,24 @@ def optimize_eta(pce, etas, nfolds, verbose=0, plot=False): return eta_opt # %% +# BCS build with the most optimal eta +# +++++++++++++++++++++++++++++++++++++ +# Instead of using a default eta, here we call the cross-validation algorithm, ``optimize_eta()``, to choose the most optimal eta from a range of etas given below. +# +# - With the flag ``plot=True``, the CV algorithm produces a graph of the training and testing (validation) data's RMSE values for each eta. The eta with the smallest RMSE for the validation data is the one chosen as the optimal eta. # We first create a list of possible etas to pass in: [1e-16, 1e-15, ... , 1e-2, 1e-1, 1] etas = 1/np.power(10,[i for i in range(0,16)]) # Then, we call the function to choose the optimal eta: -eta_opt = optimize_eta(pce_surr, etas, 10, plot=True) +eta_opt = optimize_eta(pce_surr, etas, nfolds=10, verbose = True, plot=True) # %% -# Now, with the optimal eta obtained, we run the fitting again. Then, we evaluate the PCE and produce a parity plot for the predicted output vs. the testing data. -# Notice that the larger eta, 10e-2, retained fewer basis terms (6) compared to the smaller user-defined eta of 10e-10 (which retained 20 basis terms). +# From our eta plot above, we can see that our most optimal eta falls at :math:`1 \times 10^{-10}`, where the validation error is the lowest. While this indicates that the model performs well at this eta value, we can still observe a tendency towards overfitting in the model. For larger eta values, the training and validation RMSE lines are close together, suggesting that the model is performing similarly on both seen and unseen datasets, as would be desired. However, as eta decreases, the training RMSE falls while the validation RMSE rises, highlighting a region where overfitting occurs. +# +# This behavior is expected because smaller eta values retain more basis terms, increasing the model's degrees of freedom. While this added flexibility allows the model to fit the training data more closely, it also makes the model more prone to fitting noise rather than capturing the true underlying function. Selecting the most optimal eta of :math:`1 \times 10^{-4}`, as compared to the earlier user-defined eta of :math:`1 \times 10^{-10}`, allows us to balance model complexity and generalization. +# +# Now, with the optimum eta obtained, we can run the fitting again and produce parity plots for our predicted output. # Build the linear regression object for fitting pce_surr.build(regression='bcs', eta=eta_opt) @@ -385,36 +471,53 @@ def optimize_eta(pce, etas, nfolds, verbose=0, plot=False): # Optional verbosity output: print("Retained Basis and Coefficients:") pce_surr.pcrv.printInfo() -print("Number of retained basis terms:", len(pce_surr.pcrv.mindices[0])) +print("Number of retained basis terms:", pce_surr.get_pc_terms()) # %% + # Evaluate the PC model with training and testing data -y_trn_approx = pce_surr.evaluate(x_trn) -y_tst_approx = pce_surr.evaluate(x_tst) +y_trn_approx = pce_surr.evaluate(value_ksi_trn) +y_tst_approx = pce_surr.evaluate(value_ksi_tst) -# Evaluate goodness of fit with RMSE -rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) -print("The training RMSE error in the PCE BCS approximation is %.2e"%rmse_trn) +# %% -rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) -print("The testing RMSE error in the PCE BCS approximation is %.2e"%rmse_tst) +# Plot the surrogate model's output vs. the training data output +y_tst_mM = [y_trn[:,0].min(),y_trn[:,0].max()] + +fig2 = plt.figure(figsize=(8,6)) +ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75]) + +ax2.plot(y_trn[:,0],y_trn_approx["Y_eval"],".") +ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line + +ax2.set_xlabel("Train Data y", size=16) +ax2.set_ylabel("Predicted y", size=16); # %% -# While the training RMSE error was almost half that of the testing RMSE error for the first fitting, the RMSE errors here are much closer to each other in value. -# This suggests that the model has more effectively generalized to the unseen data; a better eta has improved performance. # Plot the surrogate model's output vs. the testing data output y_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()] - fig2 = plt.figure(figsize=(8,6)) ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75]) - ax2.plot(y_tst[:,0],y_tst_approx["Y_eval"],".") ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line ax2.set_xlabel("Test Data y", size=16) ax2.set_ylabel("Predicted y", size=16); -# sphinx_gallery_thumbnail_number = 2 \ No newline at end of file +# %% + +# Evaluate goodness of fit with RMSE +rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) +print("The training RMSE in the PCE BCS approximation is %.2e"%rmse_trn) + +rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) +print("The testing RMSE in the PCE BCS approximation is %.2e"%rmse_tst) + +# %% +# +# In these final RMSE calculations, we can see how our training RMSE has decreased from 1.80e-02 to 1.21e-02 by building with the most optimal eta. This indicates that our model has improved in generalization and is performing better on unseen data. Though our training error is still larger than our testing error, this can be attributed to the lack of noise in our testing data, while noise is present in our training data. While the optimal eta reduces overfitting and improves generalization, the noise in our training data still impacts the training error and remains an important consideration during our evaluation of the model performance. +# +# While this demonstration calls the cross-validation algorithm as a function outside of the PCE class, these methods have been implemented in PyTUQ through the PCE class. The example "Polynomial Chaos Expansion Construction" demonstrates how to call the eta optimization methods directly from the PCE class. diff --git a/docs/auto_examples/ex_genz_bcs.py.md5 b/docs/auto_examples/ex_genz_bcs.py.md5 index 1ae0028..2aa64b0 100644 --- a/docs/auto_examples/ex_genz_bcs.py.md5 +++ b/docs/auto_examples/ex_genz_bcs.py.md5 @@ -1 +1 @@ -f4d64dfb6a6e4bd8172e2db42886d735 \ No newline at end of file +5470448baa785fa7c8ecd0b4922b46bd \ No newline at end of file diff --git a/docs/auto_examples/ex_genz_bcs.rst b/docs/auto_examples/ex_genz_bcs.rst index d32031f..a747f77 100644 --- a/docs/auto_examples/ex_genz_bcs.rst +++ b/docs/auto_examples/ex_genz_bcs.rst @@ -35,12 +35,17 @@ Where: - :math:`x_i`: The input variables. - :math:`d`: The dimensionality of the input :math:`x` (number of components in :math:`x`). -Through 2 different build processes, we will construct two different PC surrogates to demonstrate effects of the BCS eta hyperparameter on model results. -The first build process will demonstrate most simply the construct-build-evaluate process when using BCS for our PC surrogate, along with a given a eta of 1e-10. -The second build process will select the most optimal eta for BCS through cross-validation algorithms (exposed here), which will soon be implemented in PyTUQ under-the-hood. -Afterwards, we will evaluate both models on testing and training data, returning parity plots and a Root Mean Square Error for each evaluation. +Through three different build processes, we will construct three PC surrogates to highlight the advantages of BCS and explore the effects of the `eta` hyperparameter on model results. -.. GENERATED FROM PYTHON SOURCE LINES 25-40 +First, we'll build with least squares regression to demonstrate the limitations of non-sparse methods and the need for BCS. +Then we'll build with BCS using a given eta of :math:`1 \times 10^{-10}` and identify aspects for model improvement. +Last, we'll build with the most optimal eta, as found through cross-validation algorithms exposed here. All three surrogates will be evaluated on testing and training data, +with parity plots and Root Mean Square Error (RMSE) values used to compare their performance. + +To follow along with the cross-validation algorithm for selecting the optimal eta, see section "Functions for cross-validation algorithm" in the second half of the notebook. +These methods have been implemented under-the-hood in PyTUQ. Refer to example "Polynomial Chaos Expansion Construction" (``ex_pce.py``) for a demonstration of how to use these methods through a direct call to the PCE class. + +.. GENERATED FROM PYTHON SOURCE LINES 30-45 .. code-block:: Python @@ -56,7 +61,7 @@ Afterwards, we will evaluate both models on testing and training data, returning from sklearn.metrics import root_mean_squared_error from pytuq.surrogates.pce import PCE - from pytuq.utils.maps import scale01ToDom + from pytuq.utils.maps import scaleDomTo01 from pytuq.func.genz import GenzOscillatory @@ -66,11 +71,18 @@ Afterwards, we will evaluate both models on testing and training data, returning -.. GENERATED FROM PYTHON SOURCE LINES 41-42 +.. GENERATED FROM PYTHON SOURCE LINES 46-54 + +Constructing PC surrogate and generating data +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +To start, we begin with defining our true model and input parameters for our PC surrogate. -Setting a random number generator seed: +After importing GenzOscillatory from ``pytuq.func.genz``, we generate the Genz function below, +along with training data and testing data with output noise. This data and the corresponding Genz function +will be used to create the same PC surrogate fitted in all three examples: first with linear regression, +next using BCS with a given eta, and third using BCS with the most optimal eta. -.. GENERATED FROM PYTHON SOURCE LINES 42-47 +.. GENERATED FROM PYTHON SOURCE LINES 56-61 .. code-block:: Python @@ -86,36 +98,34 @@ Setting a random number generator seed: -.. GENERATED FROM PYTHON SOURCE LINES 48-53 - -Constructing PC surrogate and generating data -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -After importing GenzOscillatory from ``pytuq.func.genz``, we generate the Genz function below, along with training data and testing data with output noise. -This data and the corresponding Genz function will be used to create the same PC surrogate fitted in both examples: -(1) The first surrogate will be fitted using BCS with a given eta, and (2) the second surrogate will be fitted using BCS with the most optimal eta. - -.. GENERATED FROM PYTHON SOURCE LINES 53-72 +.. GENERATED FROM PYTHON SOURCE LINES 62-87 .. code-block:: Python - # Use Genz Oscillatory function in multiple dimensions for the true model + # Define our true model as the Genz Oscillatory function in multiple dimensions func_dim = 4 - func_weights = [1.0/(i+1)**2 for i in range(func_dim)] + func_weights = [1.0/(i+1)**2 for i in range(func_dim)] func = GenzOscillatory(shift=0.25, weights=func_weights) - noise_std = 0.1 + noise_std = 0.025 + rng = qmc.LatinHypercube(d=func_dim, seed=rng_seed) + np.random.seed(42) + + # As we choose to use Legendre polynomials later in the surrogate construction, we define the domain of ξ on [-1, 1]^d + ksi_domain = np.array([[-1.0, 1.0]] * func_dim) # Training data - np.random.seed(42) n_trn = 70 - x_trn = rng.random(n=n_trn) # random numbers in [0,1]^d - y_trn = func(x_trn) + np.random.normal(0, noise_std, size = (n_trn,1)) + value_ksi_trn = 2*rng.random(n=n_trn) - 1 # Randomly generating 70 data points within the domain of ξ (ksi) + x_trn = scaleDomTo01(value_ksi_trn, ksi_domain) # We scale our training data to [0, 1]^d, the domain of the Genz function + y_trn = func(x_trn) + np.random.normal(0, noise_std, size = (n_trn, 1)) # Testing data n_tst = 10000 - x_tst = rng.random(n=n_tst) # random numbers in [0,1]^d - y_tst = func(x_tst) + np.random.normal(0, noise_std, size = (n_tst,1)) + value_ksi_tst = 2*rng.random(n=n_tst) - 1 + x_tst = scaleDomTo01(value_ksi_tst, ksi_domain) + y_tst = func(x_tst) @@ -124,12 +134,13 @@ This data and the corresponding Genz function will be used to create the same PC -.. GENERATED FROM PYTHON SOURCE LINES 73-75 +.. GENERATED FROM PYTHON SOURCE LINES 88-91 -With a stochastic dimensionality of 4 (defined above) and a polynomial order of 4, we construct the PC surrogate that will be used in both builds. -You have the option of printing the PC surrogate's full basis, before BCS selects and retains the most significant PC coefficients to reduce the basis. +With a stochastic dimensionality of 4 (defined above) and a chosen polynomial order of 4, we construct the PC surrogate that +will be used in both builds. By calling the ``printInfo()`` method from the PCRV variable, you can print the PC surrogate's +full basis and current coefficients, before BCS selects and retains the most significant PC terms to reduce the basis. -.. GENERATED FROM PYTHON SOURCE LINES 75-88 +.. GENERATED FROM PYTHON SOURCE LINES 91-104 .. code-block:: Python @@ -141,10 +152,10 @@ You have the option of printing the PC surrogate's full basis, before BCS select # Optional verbosity output: print("Full Basis and Current Coefficients:") pce_surr.pcrv.printInfo() - print("Number of Basis Terms:", len(pce_surr.pcrv.mindices[0])) + print("Number of Basis Terms:", pce_surr.get_pc_terms()) # (1.5) Set training data - pce_surr.set_training_data(x_trn, y_trn[:,0]) + pce_surr.set_training_data(value_ksi_trn, y_trn[:,0]) @@ -230,30 +241,34 @@ You have the option of printing the PC surrogate's full basis, before BCS select [0 0 0 4]] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] - Number of Basis Terms: 70 + Number of Basis Terms: [70] -.. GENERATED FROM PYTHON SOURCE LINES 89-93 +.. GENERATED FROM PYTHON SOURCE LINES 105-108 -BCS with default settings (default eta) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Here, we call the PCE class method of ``build()`` to build the linear regression model used to fit the surrogate. -With the flag ``regression='bcs'``, we choose the BCS method for the fitting. A user-defined eta of 1e-10 is also passed in. +From the input parameters of our PC surrogate, we have 70 basis terms in our PCE. With 70 training points and no noise, having 70 basis terms would mean that we have a fully determined system, as the number of training points is the same as the number of basis terms. However, with the addition of noise in our training data, it becomes harder for the model to accurately fit all basis terms, leading to potential overfitting. This demonstrates the helpful role BCS might play as a choice for our regression build. As a sparse regression approach, BCS uses regularization to select only the most relevant basis terms, making it particularly effective in situations like this, where we do not have enough clear information to fit all basis terms without overfitting. + +In the next sections, we will explore the effects of overfitting in more detail. + +.. GENERATED FROM PYTHON SOURCE LINES 110-113 + +Least Squares Regression +^^^^^^^^^^^^^^^^^^^^^^^^^ +To start, we call the PCE class method of ``build()`` with no arguments to use the default regression option of least squares. Then, through ``evaluate()``, we can generate model predictions for our training and testing data. -.. GENERATED FROM PYTHON SOURCE LINES 93-102 +.. GENERATED FROM PYTHON SOURCE LINES 115-123 .. code-block:: Python # (2) Build the linear regression object for fitting - pce_surr.build(regression='bcs', eta=1.e-10) + pce_surr.build() - # Optional verbosity output: - print("Retained Basis and Coefficients:") - pce_surr.pcrv.printInfo() - print("Number of retained basis terms:", len(pce_surr.pcrv.mindices[0])) + # (3) Evaluate the PC model + y_trn_approx = pce_surr.evaluate(value_ksi_trn) + y_tst_approx = pce_surr.evaluate(value_ksi_tst) @@ -263,57 +278,95 @@ With the flag ``regression='bcs'``, we choose the BCS method for the fitting. A .. code-block:: none - Regression method: bcs - Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies. - Retained Basis and Coefficients: - [[2 0 0 0] - [1 0 3 0] - [0 2 0 2] - [0 0 1 2] - [4 0 0 0] - [3 1 0 0] - [1 1 0 1] - [2 0 0 2] - [2 0 1 1] - [0 0 0 4] - [1 0 0 3] - [0 0 0 1] - [1 1 0 0] - [1 0 0 1] - [0 3 1 0] - [0 1 0 2] - [0 1 1 2] - [2 0 2 0] - [0 1 0 1] - [0 0 0 0]] [ 0.11844696 -0.1286659 -0.23890894 0.20561299 -0.65563148 1.41773821 - -0.20218904 -0.30625401 0.40503892 -0.27250245 0.99544673 -0.90463019 - -2.75925351 -0.66386396 0.13068211 -0.96868699 -0.65718534 -0.27253516 - 3.07988105 0.12550357] - Number of retained basis terms: 20 + Regression method: lsq + + + + +.. GENERATED FROM PYTHON SOURCE LINES 124-137 + +.. code-block:: Python + + + # Plot the surrogate model's output vs. the training data output + y_trn_mM = [y_trn[:,0].min(),y_trn[:,0].max()] + + fig1 = plt.figure(figsize=(8,6)) + ax1 = fig1.add_axes([0.15, 0.15, 0.80, 0.75]) + + ax1.plot(y_trn[:,0],y_trn_approx["Y_eval"],".") + ax1.plot(y_trn_mM,y_trn_mM) # Diagonal line + + ax1.set_xlabel("Train Data y", size=16) + ax1.set_ylabel("Predicted y", size=16); + + + + +.. image-sg:: /auto_examples/images/sphx_glr_ex_genz_bcs_001.png + :alt: ex genz bcs + :srcset: /auto_examples/images/sphx_glr_ex_genz_bcs_001.png + :class: sphx-glr-single-img + + +.. rst-class:: sphx-glr-script-out + .. code-block:: none + Text(71.09722222222221, 0.5, 'Predicted y') -.. GENERATED FROM PYTHON SOURCE LINES 103-105 -After fitting, we evaluate the PCE using our training and testing data. To analyze the model's goodness of fit, -we calculate the root mean square error between the surrogate results and the training and testing data. -.. GENERATED FROM PYTHON SOURCE LINES 105-117 +.. GENERATED FROM PYTHON SOURCE LINES 138-154 .. code-block:: Python - # (3) Evaluate the PC model - y_trn_approx = pce_surr.evaluate(x_trn) - y_tst_approx = pce_surr.evaluate(x_tst) + # Plot the surrogate model's output vs. the testing data output + + y_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()] + + + fig2 = plt.figure(figsize=(8,6)) + ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75]) + + + ax2.plot(y_tst[:,0],y_tst_approx["Y_eval"],".") + ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line + + ax2.set_xlabel("Test Data y", size=16) + ax2.set_ylabel("Predicted y", size=16); + + + + +.. image-sg:: /auto_examples/images/sphx_glr_ex_genz_bcs_002.png + :alt: ex genz bcs + :srcset: /auto_examples/images/sphx_glr_ex_genz_bcs_002.png + :class: sphx-glr-single-img + + +.. rst-class:: sphx-glr-script-out + + .. code-block:: none + + + Text(84.34722222222221, 0.5, 'Predicted y') + + + +.. GENERATED FROM PYTHON SOURCE LINES 155-163 + +.. code-block:: Python + # Evaluate goodness of fit with RMSE rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) - print("The training RMSE error in the PCE BCS approximation is %.2e"%rmse_trn) + print("The training RMSE in the PCE LSQ approximation is %.2e"%rmse_trn) rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) - print("The testing RMSE error in the PCE BCS approximation is %.2e"%rmse_tst) + print("The testing RMSE in the PCE LSQ approximation is %.2e"%rmse_tst) @@ -323,31 +376,102 @@ we calculate the root mean square error between the surrogate results and the tr .. code-block:: none - The training RMSE error in the PCE BCS approximation is 1.72e-01 - The testing RMSE error in the PCE BCS approximation is 2.73e-01 + The training RMSE in the PCE LSQ approximation is 1.91e-15 + The testing RMSE in the PCE LSQ approximation is 9.22e-01 + +.. GENERATED FROM PYTHON SOURCE LINES 164-167 -.. GENERATED FROM PYTHON SOURCE LINES 118-120 +The results above show us the limitations of using least squares regression to construct our surrogate. From the parity plots, we can see how the testing predictions from the LSQ regression are more spread out from the parity line, while the training predictions are extremely close to the line. Because LSQ fits all the basis terms to the training data, the model fits too closely to the noisy training dataset, and the true underlying pattern of the function is not effectively captured. Our RMSE values align with this as well: while the training RMSE is extremely low, the testing RMSE is significantly higher, as the model struggles to generalize to the unseen test data. -Notice above how the training RMSE error is almost half that of the testing RMSE error. This shows that our current model is overfitting, -learning the training data with noise too well. To address this issue, we can explore selecting a better eta for the BCS fitting. +To improve our model's generalization, we can build our model with BCS instead. As a sparse regression method, BCS reduces the number of basis terms with which we can fit our data to, reducing the risk of overfitting. -.. GENERATED FROM PYTHON SOURCE LINES 120-136 +.. GENERATED FROM PYTHON SOURCE LINES 169-172 + +BCS with default settings (default eta) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +In this section, we use the same PC surrogate, ``pce_surr``, for the second build. With the flag ``regression='bcs'``, we choose the BCS method for the fitting. A user-defined eta of 1e-10 is also passed in. + +.. GENERATED FROM PYTHON SOURCE LINES 172-181 .. code-block:: Python - # Plot the surrogate model's output vs. the training data output + # (2) Build the linear regression object for fitting + pce_surr.build(regression='bcs', eta=1.e-10) + + # Optional verbosity output: + print("Retained Basis and Coefficients:") + pce_surr.pcrv.printInfo() + print("Number of retained basis terms:", pce_surr.get_pc_terms()) + + + - y_trn_mM = [y_trn[:,0].min(),y_trn[:,0].max()] +.. rst-class:: sphx-glr-script-out + + .. code-block:: none + + Regression method: bcs + Retained Basis and Coefficients: + [[0 0 0 0] + [1 0 0 0] + [0 1 0 0] + [0 0 0 1] + [2 0 0 0] + [0 0 1 0] + [1 1 0 0] + [2 1 0 0] + [0 4 0 0] + [0 0 3 0] + [2 0 2 0] + [1 0 0 2] + [2 1 1 0] + [1 0 2 0] + [1 2 1 0] + [1 2 0 1] + [1 0 0 3]] [-0.62694767 -0.37426547 -0.08797315 -0.02795855 0.04176134 -0.03783695 + 0.01375504 0.02559825 -0.01616989 -0.01758198 -0.02274328 0.01132392 + -0.01835694 -0.00490663 -0.00938681 -0.00898039 0.00175116] + Number of retained basis terms: [17] + + + + +.. GENERATED FROM PYTHON SOURCE LINES 182-183 + +After fitting, we evaluate the PCE using our training and testing data. To analyze the model's goodness of fit, we first plot the surrogate predictions against the training and testing data respectively. + +.. GENERATED FROM PYTHON SOURCE LINES 183-188 + +.. code-block:: Python + + + # (3) Evaluate the PC model + y_trn_approx = pce_surr.evaluate(value_ksi_trn) + y_tst_approx = pce_surr.evaluate(value_ksi_tst) + + + + + + + + +.. GENERATED FROM PYTHON SOURCE LINES 189-202 + +.. code-block:: Python + + + # Plot the surrogate model's output vs. the training data output + y_trn_mM = [y_trn[:,0].min(),y_trn[:,0].max()] fig1 = plt.figure(figsize=(8,6)) ax1 = fig1.add_axes([0.15, 0.15, 0.80, 0.75]) - ax1.plot(y_trn[:,0],y_trn_approx["Y_eval"],".") ax1.plot(y_trn_mM,y_trn_mM) # Diagonal line @@ -357,9 +481,9 @@ learning the training data with noise too well. To address this issue, we can ex -.. image-sg:: /auto_examples/images/sphx_glr_ex_genz_bcs_001.png +.. image-sg:: /auto_examples/images/sphx_glr_ex_genz_bcs_003.png :alt: ex genz bcs - :srcset: /auto_examples/images/sphx_glr_ex_genz_bcs_001.png + :srcset: /auto_examples/images/sphx_glr_ex_genz_bcs_003.png :class: sphx-glr-single-img @@ -372,7 +496,7 @@ learning the training data with noise too well. To address this issue, we can ex -.. GENERATED FROM PYTHON SOURCE LINES 137-153 +.. GENERATED FROM PYTHON SOURCE LINES 203-219 .. code-block:: Python @@ -381,23 +505,23 @@ learning the training data with noise too well. To address this issue, we can ex y_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()] - fig2 = plt.figure(figsize=(8,6)) ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75]) - ax2.plot(y_tst[:,0],y_tst_approx["Y_eval"],".") ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line ax2.set_xlabel("Test Data y", size=16) ax2.set_ylabel("Predicted y", size=16); + # sphinx_gallery_thumbnail_number = 2 -.. image-sg:: /auto_examples/images/sphx_glr_ex_genz_bcs_002.png + +.. image-sg:: /auto_examples/images/sphx_glr_ex_genz_bcs_004.png :alt: ex genz bcs - :srcset: /auto_examples/images/sphx_glr_ex_genz_bcs_002.png + :srcset: /auto_examples/images/sphx_glr_ex_genz_bcs_004.png :class: sphx-glr-single-img @@ -410,22 +534,48 @@ learning the training data with noise too well. To address this issue, we can ex -.. GENERATED FROM PYTHON SOURCE LINES 154-166 +.. GENERATED FROM PYTHON SOURCE LINES 220-228 + +.. code-block:: Python + + + # Evaluate goodness of fit with RMSE + rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) + print("The training RMSE in the PCE BCS approximation is %.2e"%rmse_trn) + + rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) + print("The testing RMSE in the PCE BCS approximation is %.2e"%rmse_tst) + + + -BCS with optimal eta (found through cross-validation) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - In this section, we use the same PC surrogate, ``pce_surr``, for the second build. We call the PCE class method of ``build()`` - to build the linear regression model used to fit the surrogate. With the flag ``regression='bcs'``, we choose the BCS method for the fitting. -############################################################################# - Instead of using a default eta, we call the cross-validation algorithm, ``optimize_eta()``, to choose the most optimal eta below. +.. rst-class:: sphx-glr-script-out + + .. code-block:: none + + The training RMSE in the PCE BCS approximation is 1.62e-02 + The testing RMSE in the PCE BCS approximation is 1.80e-02 + + + + +.. GENERATED FROM PYTHON SOURCE LINES 229-232 + +From our parity plots, we can see how BCS already generalizes better to unseen data as compared to LSQ, with reduced error in our testing data predictions. In our RMSE calculations, notice how the training error is smaller than the testing error. Though the difference in value is small, this amount is still significant as we have noise in our training data yet no noise in our testing data. That the testing error is higher than the training error suggests that overfitting is still happening within our model. - - With the flag ``plot=True``, the CV algorithm produces a graph of the training and testing (validation) data's RMSE values for each eta. The eta with the smallest RMSE for the validation data is the one chosen as the optimal eta. +In the next section, we explore how finding the optimal value of eta -- the stopping criterion for the BCS parameter of gamma, determined through a Bayesian evidence maximization approach -- can impact model sparsity and accuracy to avoid overfitting. -############################################################################# - Before that, we expose the cross-validation algorithm ``optimize_eta`` and its two helper functions, ``kfold_split`` and ``kfold_cv`` that will be called in this section. +.. GENERATED FROM PYTHON SOURCE LINES 235-241 -.. GENERATED FROM PYTHON SOURCE LINES 166-208 +BCS with optimal eta (found through cross-validation) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Before we build our PC surrogate again with the most optimal eta, we first expose the cross-validation algorithm ``optimize_eta`` and its two helper functions, ``kfold_split`` and ``kfold_cv`` below. These functions have been implemented under-the-hood in the PCE surrogate class, but for the purposes of this tutorial, you may find it useful to follow along with the K-fold cross-validation method used to find the most optimal eta (the eta with the lowest validation RMSE across all of its folds). + +Functions for cross-validation algorithm ++++++++++++++++++++++++++++++++++++++++++ + +.. GENERATED FROM PYTHON SOURCE LINES 243-285 .. code-block:: Python @@ -478,7 +628,7 @@ BCS with optimal eta (found through cross-validation) -.. GENERATED FROM PYTHON SOURCE LINES 209-253 +.. GENERATED FROM PYTHON SOURCE LINES 286-330 .. code-block:: Python @@ -533,11 +683,12 @@ BCS with optimal eta (found through cross-validation) -.. GENERATED FROM PYTHON SOURCE LINES 254-370 +.. GENERATED FROM PYTHON SOURCE LINES 331-448 .. code-block:: Python - def optimize_eta(pce, etas, nfolds, verbose=0, plot=False): + + def optimize_eta(pce, etas, nfolds=3, verbose=0, plot=False): """ Choose the optimum eta for Bayesian compressive sensing. Calculates the RMSE for each eta for a specified number of folds. Selects the eta with the lowest @@ -598,7 +749,7 @@ BCS with optimal eta (found through cross-validation) y_test_eval = (pce_copy.evaluate(x_test))['Y_eval'] # Print statement for verbose flag - if verbose > 1: + if verbose > 0: print("Fold " + str(i + 1) + ", eta " + str(eta) + ", " + str(len(cfs)) + " terms retained out of a full basis of size " + str(len(pce.pcrv.mindices[0]))) # Calculate the RMSEs for the training and validation points. @@ -660,7 +811,15 @@ BCS with optimal eta (found through cross-validation) -.. GENERATED FROM PYTHON SOURCE LINES 371-378 +.. GENERATED FROM PYTHON SOURCE LINES 449-454 + +BCS build with the most optimal eta ++++++++++++++++++++++++++++++++++++++ +Instead of using a default eta, here we call the cross-validation algorithm, ``optimize_eta()``, to choose the most optimal eta from a range of etas given below. + +- With the flag ``plot=True``, the CV algorithm produces a graph of the training and testing (validation) data's RMSE values for each eta. The eta with the smallest RMSE for the validation data is the one chosen as the optimal eta. + +.. GENERATED FROM PYTHON SOURCE LINES 454-461 .. code-block:: Python @@ -669,14 +828,14 @@ BCS with optimal eta (found through cross-validation) etas = 1/np.power(10,[i for i in range(0,16)]) # Then, we call the function to choose the optimal eta: - eta_opt = optimize_eta(pce_surr, etas, 10, plot=True) + eta_opt = optimize_eta(pce_surr, etas, nfolds=10, verbose = True, plot=True) -.. image-sg:: /auto_examples/images/sphx_glr_ex_genz_bcs_003.png +.. image-sg:: /auto_examples/images/sphx_glr_ex_genz_bcs_005.png :alt: ex genz bcs - :srcset: /auto_examples/images/sphx_glr_ex_genz_bcs_003.png + :srcset: /auto_examples/images/sphx_glr_ex_genz_bcs_005.png :class: sphx-glr-single-img @@ -684,27 +843,179 @@ BCS with optimal eta (found through cross-validation) .. code-block:: none - Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies. - Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies. - Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies. - Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies. - Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies. - Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies. - Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies. - Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies. - Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies. - Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies. - Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies. - - - - -.. GENERATED FROM PYTHON SOURCE LINES 379-381 - -Now, with the optimal eta obtained, we run the fitting again. Then, we evaluate the PCE and produce a parity plot for the predicted output vs. the testing data. -Notice that the larger eta, 10e-2, retained fewer basis terms (6) compared to the smaller user-defined eta of 10e-10 (which retained 20 basis terms). - -.. GENERATED FROM PYTHON SOURCE LINES 381-390 + Fold 1, eta 1.0, 3 terms retained out of a full basis of size 17 + Fold 1, eta 0.1, 3 terms retained out of a full basis of size 17 + Fold 1, eta 0.01, 4 terms retained out of a full basis of size 17 + Fold 1, eta 0.001, 5 terms retained out of a full basis of size 17 + Fold 1, eta 0.0001, 9 terms retained out of a full basis of size 17 + Fold 1, eta 1e-05, 12 terms retained out of a full basis of size 17 + Fold 1, eta 1e-06, 13 terms retained out of a full basis of size 17 + Fold 1, eta 1e-07, 16 terms retained out of a full basis of size 17 + Fold 1, eta 1e-08, 16 terms retained out of a full basis of size 17 + Fold 1, eta 1e-09, 16 terms retained out of a full basis of size 17 + Fold 1, eta 1e-10, 16 terms retained out of a full basis of size 17 + Fold 1, eta 1e-11, 16 terms retained out of a full basis of size 17 + Fold 1, eta 1e-12, 16 terms retained out of a full basis of size 17 + Fold 1, eta 1e-13, 16 terms retained out of a full basis of size 17 + Fold 1, eta 1e-14, 16 terms retained out of a full basis of size 17 + Fold 1, eta 1e-15, 16 terms retained out of a full basis of size 17 + Fold 2, eta 1.0, 3 terms retained out of a full basis of size 17 + Fold 2, eta 0.1, 3 terms retained out of a full basis of size 17 + Fold 2, eta 0.01, 4 terms retained out of a full basis of size 17 + Fold 2, eta 0.001, 5 terms retained out of a full basis of size 17 + Fold 2, eta 0.0001, 9 terms retained out of a full basis of size 17 + Fold 2, eta 1e-05, 12 terms retained out of a full basis of size 17 + Fold 2, eta 1e-06, 16 terms retained out of a full basis of size 17 + Fold 2, eta 1e-07, 18 terms retained out of a full basis of size 17 + Fold 2, eta 1e-08, 18 terms retained out of a full basis of size 17 + Fold 2, eta 1e-09, 18 terms retained out of a full basis of size 17 + Fold 2, eta 1e-10, 18 terms retained out of a full basis of size 17 + Fold 2, eta 1e-11, 18 terms retained out of a full basis of size 17 + Fold 2, eta 1e-12, 18 terms retained out of a full basis of size 17 + Fold 2, eta 1e-13, 18 terms retained out of a full basis of size 17 + Fold 2, eta 1e-14, 18 terms retained out of a full basis of size 17 + Fold 2, eta 1e-15, 18 terms retained out of a full basis of size 17 + Fold 3, eta 1.0, 3 terms retained out of a full basis of size 17 + Fold 3, eta 0.1, 3 terms retained out of a full basis of size 17 + Fold 3, eta 0.01, 4 terms retained out of a full basis of size 17 + Fold 3, eta 0.001, 8 terms retained out of a full basis of size 17 + Fold 3, eta 0.0001, 9 terms retained out of a full basis of size 17 + Fold 3, eta 1e-05, 12 terms retained out of a full basis of size 17 + Fold 3, eta 1e-06, 14 terms retained out of a full basis of size 17 + Fold 3, eta 1e-07, 17 terms retained out of a full basis of size 17 + Fold 3, eta 1e-08, 17 terms retained out of a full basis of size 17 + Fold 3, eta 1e-09, 18 terms retained out of a full basis of size 17 + Fold 3, eta 1e-10, 18 terms retained out of a full basis of size 17 + Fold 3, eta 1e-11, 18 terms retained out of a full basis of size 17 + Fold 3, eta 1e-12, 18 terms retained out of a full basis of size 17 + Fold 3, eta 1e-13, 18 terms retained out of a full basis of size 17 + Fold 3, eta 1e-14, 18 terms retained out of a full basis of size 17 + Fold 3, eta 1e-15, 18 terms retained out of a full basis of size 17 + Fold 4, eta 1.0, 3 terms retained out of a full basis of size 17 + Fold 4, eta 0.1, 3 terms retained out of a full basis of size 17 + Fold 4, eta 0.01, 4 terms retained out of a full basis of size 17 + Fold 4, eta 0.001, 5 terms retained out of a full basis of size 17 + Fold 4, eta 0.0001, 11 terms retained out of a full basis of size 17 + Fold 4, eta 1e-05, 11 terms retained out of a full basis of size 17 + Fold 4, eta 1e-06, 16 terms retained out of a full basis of size 17 + Fold 4, eta 1e-07, 17 terms retained out of a full basis of size 17 + Fold 4, eta 1e-08, 17 terms retained out of a full basis of size 17 + Fold 4, eta 1e-09, 17 terms retained out of a full basis of size 17 + Fold 4, eta 1e-10, 17 terms retained out of a full basis of size 17 + Fold 4, eta 1e-11, 17 terms retained out of a full basis of size 17 + Fold 4, eta 1e-12, 17 terms retained out of a full basis of size 17 + Fold 4, eta 1e-13, 17 terms retained out of a full basis of size 17 + Fold 4, eta 1e-14, 17 terms retained out of a full basis of size 17 + Fold 4, eta 1e-15, 17 terms retained out of a full basis of size 17 + Fold 5, eta 1.0, 3 terms retained out of a full basis of size 17 + Fold 5, eta 0.1, 3 terms retained out of a full basis of size 17 + Fold 5, eta 0.01, 4 terms retained out of a full basis of size 17 + Fold 5, eta 0.001, 7 terms retained out of a full basis of size 17 + Fold 5, eta 0.0001, 10 terms retained out of a full basis of size 17 + Fold 5, eta 1e-05, 12 terms retained out of a full basis of size 17 + Fold 5, eta 1e-06, 14 terms retained out of a full basis of size 17 + Fold 5, eta 1e-07, 14 terms retained out of a full basis of size 17 + Fold 5, eta 1e-08, 14 terms retained out of a full basis of size 17 + Fold 5, eta 1e-09, 14 terms retained out of a full basis of size 17 + Fold 5, eta 1e-10, 14 terms retained out of a full basis of size 17 + Fold 5, eta 1e-11, 14 terms retained out of a full basis of size 17 + Fold 5, eta 1e-12, 14 terms retained out of a full basis of size 17 + Fold 5, eta 1e-13, 14 terms retained out of a full basis of size 17 + Fold 5, eta 1e-14, 14 terms retained out of a full basis of size 17 + Fold 5, eta 1e-15, 14 terms retained out of a full basis of size 17 + Fold 6, eta 1.0, 3 terms retained out of a full basis of size 17 + Fold 6, eta 0.1, 3 terms retained out of a full basis of size 17 + Fold 6, eta 0.01, 4 terms retained out of a full basis of size 17 + Fold 6, eta 0.001, 7 terms retained out of a full basis of size 17 + Fold 6, eta 0.0001, 11 terms retained out of a full basis of size 17 + Fold 6, eta 1e-05, 11 terms retained out of a full basis of size 17 + Fold 6, eta 1e-06, 16 terms retained out of a full basis of size 17 + Fold 6, eta 1e-07, 16 terms retained out of a full basis of size 17 + Fold 6, eta 1e-08, 16 terms retained out of a full basis of size 17 + Fold 6, eta 1e-09, 17 terms retained out of a full basis of size 17 + Fold 6, eta 1e-10, 17 terms retained out of a full basis of size 17 + Fold 6, eta 1e-11, 17 terms retained out of a full basis of size 17 + Fold 6, eta 1e-12, 17 terms retained out of a full basis of size 17 + Fold 6, eta 1e-13, 17 terms retained out of a full basis of size 17 + Fold 6, eta 1e-14, 17 terms retained out of a full basis of size 17 + Fold 6, eta 1e-15, 17 terms retained out of a full basis of size 17 + Fold 7, eta 1.0, 3 terms retained out of a full basis of size 17 + Fold 7, eta 0.1, 3 terms retained out of a full basis of size 17 + Fold 7, eta 0.01, 4 terms retained out of a full basis of size 17 + Fold 7, eta 0.001, 4 terms retained out of a full basis of size 17 + Fold 7, eta 0.0001, 7 terms retained out of a full basis of size 17 + Fold 7, eta 1e-05, 13 terms retained out of a full basis of size 17 + Fold 7, eta 1e-06, 13 terms retained out of a full basis of size 17 + Fold 7, eta 1e-07, 13 terms retained out of a full basis of size 17 + Fold 7, eta 1e-08, 13 terms retained out of a full basis of size 17 + Fold 7, eta 1e-09, 13 terms retained out of a full basis of size 17 + Fold 7, eta 1e-10, 13 terms retained out of a full basis of size 17 + Fold 7, eta 1e-11, 13 terms retained out of a full basis of size 17 + Fold 7, eta 1e-12, 13 terms retained out of a full basis of size 17 + Fold 7, eta 1e-13, 13 terms retained out of a full basis of size 17 + Fold 7, eta 1e-14, 13 terms retained out of a full basis of size 17 + Fold 7, eta 1e-15, 13 terms retained out of a full basis of size 17 + Fold 8, eta 1.0, 3 terms retained out of a full basis of size 17 + Fold 8, eta 0.1, 3 terms retained out of a full basis of size 17 + Fold 8, eta 0.01, 4 terms retained out of a full basis of size 17 + Fold 8, eta 0.001, 7 terms retained out of a full basis of size 17 + Fold 8, eta 0.0001, 10 terms retained out of a full basis of size 17 + Fold 8, eta 1e-05, 11 terms retained out of a full basis of size 17 + Fold 8, eta 1e-06, 15 terms retained out of a full basis of size 17 + Fold 8, eta 1e-07, 16 terms retained out of a full basis of size 17 + Fold 8, eta 1e-08, 16 terms retained out of a full basis of size 17 + Fold 8, eta 1e-09, 16 terms retained out of a full basis of size 17 + Fold 8, eta 1e-10, 16 terms retained out of a full basis of size 17 + Fold 8, eta 1e-11, 16 terms retained out of a full basis of size 17 + Fold 8, eta 1e-12, 16 terms retained out of a full basis of size 17 + Fold 8, eta 1e-13, 16 terms retained out of a full basis of size 17 + Fold 8, eta 1e-14, 16 terms retained out of a full basis of size 17 + Fold 8, eta 1e-15, 16 terms retained out of a full basis of size 17 + Fold 9, eta 1.0, 3 terms retained out of a full basis of size 17 + Fold 9, eta 0.1, 3 terms retained out of a full basis of size 17 + Fold 9, eta 0.01, 4 terms retained out of a full basis of size 17 + Fold 9, eta 0.001, 7 terms retained out of a full basis of size 17 + Fold 9, eta 0.0001, 8 terms retained out of a full basis of size 17 + Fold 9, eta 1e-05, 12 terms retained out of a full basis of size 17 + Fold 9, eta 1e-06, 14 terms retained out of a full basis of size 17 + Fold 9, eta 1e-07, 15 terms retained out of a full basis of size 17 + Fold 9, eta 1e-08, 15 terms retained out of a full basis of size 17 + Fold 9, eta 1e-09, 15 terms retained out of a full basis of size 17 + Fold 9, eta 1e-10, 15 terms retained out of a full basis of size 17 + Fold 9, eta 1e-11, 15 terms retained out of a full basis of size 17 + Fold 9, eta 1e-12, 15 terms retained out of a full basis of size 17 + Fold 9, eta 1e-13, 15 terms retained out of a full basis of size 17 + Fold 9, eta 1e-14, 15 terms retained out of a full basis of size 17 + Fold 9, eta 1e-15, 15 terms retained out of a full basis of size 17 + Fold 10, eta 1.0, 3 terms retained out of a full basis of size 17 + Fold 10, eta 0.1, 3 terms retained out of a full basis of size 17 + Fold 10, eta 0.01, 4 terms retained out of a full basis of size 17 + Fold 10, eta 0.001, 4 terms retained out of a full basis of size 17 + Fold 10, eta 0.0001, 9 terms retained out of a full basis of size 17 + Fold 10, eta 1e-05, 14 terms retained out of a full basis of size 17 + Fold 10, eta 1e-06, 14 terms retained out of a full basis of size 17 + Fold 10, eta 1e-07, 14 terms retained out of a full basis of size 17 + Fold 10, eta 1e-08, 14 terms retained out of a full basis of size 17 + Fold 10, eta 1e-09, 14 terms retained out of a full basis of size 17 + Fold 10, eta 1e-10, 14 terms retained out of a full basis of size 17 + Fold 10, eta 1e-11, 14 terms retained out of a full basis of size 17 + Fold 10, eta 1e-12, 14 terms retained out of a full basis of size 17 + Fold 10, eta 1e-13, 14 terms retained out of a full basis of size 17 + Fold 10, eta 1e-14, 14 terms retained out of a full basis of size 17 + Fold 10, eta 1e-15, 14 terms retained out of a full basis of size 17 + + + + +.. GENERATED FROM PYTHON SOURCE LINES 462-467 + +From our eta plot above, we can see that our most optimal eta falls at :math:`1 \times 10^{-10}`, where the validation error is the lowest. While this indicates that the model performs well at this eta value, we can still observe a tendency towards overfitting in the model. For larger eta values, the training and validation RMSE lines are close together, suggesting that the model is performing similarly on both seen and unseen datasets, as would be desired. However, as eta decreases, the training RMSE falls while the validation RMSE rises, highlighting a region where overfitting occurs. + +This behavior is expected because smaller eta values retain more basis terms, increasing the model's degrees of freedom. While this added flexibility allows the model to fit the training data more closely, it also makes the model more prone to fitting noise rather than capturing the true underlying function. Selecting the most optimal eta of :math:`1 \times 10^{-4}`, as compared to the earlier user-defined eta of :math:`1 \times 10^{-10}`, allows us to balance model complexity and generalization. + +Now, with the optimum eta obtained, we can run the fitting again and produce parity plots for our predicted output. + +.. GENERATED FROM PYTHON SOURCE LINES 467-476 .. code-block:: Python @@ -715,7 +1026,7 @@ Notice that the larger eta, 10e-2, retained fewer basis terms (6) compared to th # Optional verbosity output: print("Retained Basis and Coefficients:") pce_surr.pcrv.printInfo() - print("Number of retained basis terms:", len(pce_surr.pcrv.mindices[0])) + print("Number of retained basis terms:", pce_surr.get_pc_terms()) @@ -727,55 +1038,72 @@ Notice that the larger eta, 10e-2, retained fewer basis terms (6) compared to th Regression method: bcs Retained Basis and Coefficients: - [[1 0 0 0] + [[0 0 0 0] + [1 0 0 0] + [0 1 0 0] + [0 0 0 1] [2 0 0 0] - [0 1 0 1] - [1 0 3 0] - [0 2 0 2] - [0 0 1 2]] [-1.15692903 0.24292952 -0.29524043 -0.15503765 0.13276008 0.06118484] - Number of retained basis terms: 6 + [0 0 1 0] + [1 1 0 0] + [2 1 0 0]] [-0.62783727 -0.37134989 -0.08735439 -0.02919352 0.0480559 -0.03471433 + 0.0232746 0.0196456 ] + Number of retained basis terms: [8] + + + + +.. GENERATED FROM PYTHON SOURCE LINES 477-482 + +.. code-block:: Python + + + # Evaluate the PC model with training and testing data + y_trn_approx = pce_surr.evaluate(value_ksi_trn) + y_tst_approx = pce_surr.evaluate(value_ksi_tst) -.. GENERATED FROM PYTHON SOURCE LINES 391-392 -Evaluate the PC model with training and testing data -.. GENERATED FROM PYTHON SOURCE LINES 392-402 + + +.. GENERATED FROM PYTHON SOURCE LINES 483-496 .. code-block:: Python - y_trn_approx = pce_surr.evaluate(x_trn) - y_tst_approx = pce_surr.evaluate(x_tst) - # Evaluate goodness of fit with RMSE - rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) - print("The training RMSE error in the PCE BCS approximation is %.2e"%rmse_trn) + # Plot the surrogate model's output vs. the training data output + y_tst_mM = [y_trn[:,0].min(),y_trn[:,0].max()] - rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) - print("The testing RMSE error in the PCE BCS approximation is %.2e"%rmse_tst) + fig2 = plt.figure(figsize=(8,6)) + ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75]) + ax2.plot(y_trn[:,0],y_trn_approx["Y_eval"],".") + ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line + ax2.set_xlabel("Train Data y", size=16) + ax2.set_ylabel("Predicted y", size=16); -.. rst-class:: sphx-glr-script-out - .. code-block:: none +.. image-sg:: /auto_examples/images/sphx_glr_ex_genz_bcs_006.png + :alt: ex genz bcs + :srcset: /auto_examples/images/sphx_glr_ex_genz_bcs_006.png + :class: sphx-glr-single-img - The training RMSE error in the PCE BCS approximation is 8.11e-02 - The testing RMSE error in the PCE BCS approximation is 1.10e-01 +.. rst-class:: sphx-glr-script-out + .. code-block:: none -.. GENERATED FROM PYTHON SOURCE LINES 403-405 + Text(71.09722222222221, 0.5, 'Predicted y') + -While the training RMSE error was almost half that of the testing RMSE error for the first fitting, the RMSE errors here are much closer to each other in value. -This suggests that the model has more effectively generalized to the unseen data; a better eta has improved performance. -.. GENERATED FROM PYTHON SOURCE LINES 405-420 +.. GENERATED FROM PYTHON SOURCE LINES 497-510 .. code-block:: Python @@ -783,23 +1111,21 @@ This suggests that the model has more effectively generalized to the unseen data # Plot the surrogate model's output vs. the testing data output y_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()] - fig2 = plt.figure(figsize=(8,6)) ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75]) - ax2.plot(y_tst[:,0],y_tst_approx["Y_eval"],".") ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line ax2.set_xlabel("Test Data y", size=16) ax2.set_ylabel("Predicted y", size=16); - # sphinx_gallery_thumbnail_number = 2 -.. image-sg:: /auto_examples/images/sphx_glr_ex_genz_bcs_004.png + +.. image-sg:: /auto_examples/images/sphx_glr_ex_genz_bcs_007.png :alt: ex genz bcs - :srcset: /auto_examples/images/sphx_glr_ex_genz_bcs_004.png + :srcset: /auto_examples/images/sphx_glr_ex_genz_bcs_007.png :class: sphx-glr-single-img @@ -812,10 +1138,42 @@ This suggests that the model has more effectively generalized to the unseen data +.. GENERATED FROM PYTHON SOURCE LINES 511-519 + +.. code-block:: Python + + + # Evaluate goodness of fit with RMSE + rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) + print("The training RMSE in the PCE BCS approximation is %.2e"%rmse_trn) + + rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) + print("The testing RMSE in the PCE BCS approximation is %.2e"%rmse_tst) + + + + + +.. rst-class:: sphx-glr-script-out + + .. code-block:: none + + The training RMSE in the PCE BCS approximation is 2.02e-02 + The testing RMSE in the PCE BCS approximation is 1.21e-02 + + + + +.. GENERATED FROM PYTHON SOURCE LINES 520-523 + +In these final RMSE calculations, we can see how our training RMSE has decreased from 1.80e-02 to 1.21e-02 by building with the most optimal eta. This indicates that our model has improved in generalization and is performing better on unseen data. Though our training error is still larger than our testing error, this can be attributed to the lack of noise in our testing data, while noise is present in our training data. While the optimal eta reduces overfitting and improves generalization, the noise in our training data still impacts the training error and remains an important consideration during our evaluation of the model performance. + +While this demonstration calls the cross-validation algorithm as a function outside of the PCE class, these methods have been implemented in PyTUQ through the PCE class. The example "Polynomial Chaos Expansion Construction" demonstrates how to call the eta optimization methods directly from the PCE class. + .. rst-class:: sphx-glr-timing - **Total running time of the script:** (0 minutes 5.760 seconds) + **Total running time of the script:** (0 minutes 6.413 seconds) .. _sphx_glr_download_auto_examples_ex_genz_bcs.py: diff --git a/docs/auto_examples/ex_genz_bcs.zip b/docs/auto_examples/ex_genz_bcs.zip index b37d268..f9021fb 100644 Binary files a/docs/auto_examples/ex_genz_bcs.zip and b/docs/auto_examples/ex_genz_bcs.zip differ diff --git a/docs/auto_examples/ex_nn.zip b/docs/auto_examples/ex_nn.zip index d3840b3..2b8ba85 100644 Binary files a/docs/auto_examples/ex_nn.zip and b/docs/auto_examples/ex_nn.zip differ diff --git a/docs/auto_examples/ex_pce.ipynb b/docs/auto_examples/ex_pce.ipynb index 014222d..bfd2e5a 100644 --- a/docs/auto_examples/ex_pce.ipynb +++ b/docs/auto_examples/ex_pce.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n# Polynomial Chaos Expansion Construction\n\nThis tutorial demonstrates how to create a Polynomial Chaos Expansion (PCE) surrogate model for scalar valued\nfunctions. We will use the ``pytuq.surrogates.pce`` wrapper class to approximate the function $\\sin^4(x)$.\n\nPyTUQ provides a number of utilities for your workflows, including modules for mapping, test functions, and metric comparisons --\nthese, along with others, can be found in the ``utils`` directory. You can also explore the ``func`` directory for additional sample functions to use.\n\nThis example below outlines how to:\n\n- Define basic parameters for the surrogate model\n- Use a sample function of $\\sin^4(x)$ from the ``utils`` directory\n- Set up a PCE surrogate model\n- And evaluate the performance of your model\n" + "\n# Polynomial Chaos Expansion Construction\n\nThis tutorial demonstrates how to create a Polynomial Chaos Expansion (PCE) surrogate model for scalar valued\nfunctions. We will use the ``pytuq.surrogates.pce`` wrapper class to approximate the function $\\sin^4(x)$.\n\nPyTUQ provides a number of utilities for your workflows, including modules for mapping, test functions, and metric comparisons --\nthese, along with others, can be found in the ``utils`` directory. You can also explore the ``func`` directory for additional sample functions to use.\n\nThis example below outlines how to:\n\n- Define basic parameters for the surrogate model\n- Use a sample function of $\\sin^4(x)$ from the ``utils`` directory\n- Set up a PCE surrogate model, with different regression options for build (lsq, anl, vi, bcs)\n- And evaluate the performance of your model\n" ] }, { @@ -15,7 +15,7 @@ }, "outputs": [], "source": [ - "import numpy as np\nimport pytuq.utils.funcbank as fcb\n\n\nfrom pytuq.surrogates.pce import PCE\nfrom pytuq.utils.maps import scale01ToDom\nfrom pytuq.lreg.anl import anl\nfrom pytuq.lreg.lreg import lsq\nfrom pytuq.utils.mindex import get_mi" + "import numpy as np\nimport pytuq.utils.funcbank as fcb\n\nfrom pytuq.surrogates.pce import PCE\nfrom pytuq.utils.maps import scale01ToDom" ] }, { @@ -51,7 +51,7 @@ }, "outputs": [], "source": [ - "np.random.seed(42) \n\n# Domain: defining range of input variable\ndomain = np.ones((dim, 2))*np.array([-1.,1.])\n\n# Generating x-y data\nx = scale01ToDom(np.random.rand(N,dim), domain)\ny = true_model(x)\n\n# Testing PCE class:\n\n# (1) Construct polynomial chaos expansion\npce = PCE(dim, order, 'LU')\n# pce = PCE(dim, order, 'HG')\n# pce = PCE(dim, order, ['LU', 'HG']) # dim = 2\n# pce = PCE(dim, order, ['HG', 'LU', 'HG', 'LU']) # dim = 4\n\npce.set_training_data(x, y)\n\n# (2) Pick method for linear regression object, defaulting to least squares regression\n# print(pce.build(regression = 'anl'))\n# print(pce.build(regression = 'anl', method = 'vi'))\nprint(pce.build())\n# print(pce.build(regression = 'lsq'))\n# print(pce.build(regression = 'bcs'))\n\n# (3) Make predictions for data points and print results:\nresults = pce.evaluate(x)\n\n# np.random.seed(45) # Generate a single random data point within the domain:\n# single_point = scale01ToDom(np.random.rand(1, dim), domain)\n# results = pce.evaluate(single_point)\n\n# Generate random input for evaluation:\n# x_eval = scale01ToDom(np.random.rand(10,dim), domain)\n# results = pce.evaluate(x_eval)\n\nprint(results)" + "np.random.seed(42) \n\n# Domain: defining range of input variable\ndomain = np.ones((dim, 2))*np.array([-1.,1.])\n\n# Generating x-y data\nx = scale01ToDom(np.random.rand(N,dim), domain)\ny = true_model(x)\n\n# Testing PCE class:\n\n# (1) Construct polynomial chaos expansion by defining at least a stochastic dimensionality, polynomial order, and polynomial type.\npce = PCE(dim, order, 'LU')\n# pce = PCE(dim, order, 'HG')\n# pce = PCE(dim, order, ['LU', 'HG']) # dim = 2\n# pce = PCE(dim, order, ['HG', 'LU', 'HG', 'LU']) # dim = 4\n\npce.set_training_data(x, y)\n\n# (2) Pick a linear regression method to build your surrogate model with. build() returns the coefficients of your PC model,\n# and with no arguments, will default to least squares regression.\nprint(pce.build())\n\n# You may choose different regression options by specifying the correct argument: \n# print(pce.build(regression = 'lsq'))\n# print(pce.build(regression = 'anl'))\n# print(pce.build(regression = 'anl', method = 'vi'))\n\n# For a BCS build, if the eta argument is given a list or an array, the optimum value will be chosen through cross-validation\n# on a specified number of folds (nfolds, defaulting to 3). Setting the eta_plot argument to True generates a RMSE vs. eta plot\n# of the cross-validation results. While this example does not necessarily benefit from building with BCS, the statements below\n# demonstrate calling this functionality.\n\n# etas = 1/np.power(10,[i for i in range(0,16)]) # List of etas to pass in: [1e-16, 1e-15, ... , 1e-2, 1e-1, 1]\n# cfs = pce.build(regression = 'bcs', eta = etas, nfolds = 2, eta_plot = True, eta_verbose = False)\n\n# To see an problem better suited to using a BCS build and to explore BCS in more detail, visit \n# the example \"Function Approximation with Sparse Regression\".\n\n# (3) Make predictions for data points and print results:\nresults = pce.evaluate(x)\n\n# np.random.seed(45) # Generate a single random data point within the domain:\n# single_point = scale01ToDom(np.random.rand(1, dim), domain)\n# results = pce.evaluate(single_point)\n\n# Generate random input for evaluation:\n# x_eval = scale01ToDom(np.random.rand(10,dim), domain)\n# results = pce.evaluate(x_eval)\n\nprint(results)" ] } ], diff --git a/docs/auto_examples/ex_pce.py b/docs/auto_examples/ex_pce.py index 68672f8..3a970a7 100644 --- a/docs/auto_examples/ex_pce.py +++ b/docs/auto_examples/ex_pce.py @@ -12,7 +12,7 @@ - Define basic parameters for the surrogate model - Use a sample function of :math:`\sin^4(x)` from the ``utils`` directory -- Set up a PCE surrogate model +- Set up a PCE surrogate model, with different regression options for build (lsq, anl, vi, bcs) - And evaluate the performance of your model """ @@ -20,13 +20,8 @@ import numpy as np import pytuq.utils.funcbank as fcb - from pytuq.surrogates.pce import PCE from pytuq.utils.maps import scale01ToDom -from pytuq.lreg.anl import anl -from pytuq.lreg.lreg import lsq -from pytuq.utils.mindex import get_mi - ######################################################## ######################################################## @@ -53,7 +48,7 @@ # Testing PCE class: -# (1) Construct polynomial chaos expansion +# (1) Construct polynomial chaos expansion by defining at least a stochastic dimensionality, polynomial order, and polynomial type. pce = PCE(dim, order, 'LU') # pce = PCE(dim, order, 'HG') # pce = PCE(dim, order, ['LU', 'HG']) # dim = 2 @@ -61,12 +56,25 @@ pce.set_training_data(x, y) -# (2) Pick method for linear regression object, defaulting to least squares regression -# print(pce.build(regression = 'anl')) -# print(pce.build(regression = 'anl', method = 'vi')) +# (2) Pick a linear regression method to build your surrogate model with. build() returns the coefficients of your PC model, +# and with no arguments, will default to least squares regression. print(pce.build()) + +# You may choose different regression options by specifying the correct argument: # print(pce.build(regression = 'lsq')) -# print(pce.build(regression = 'bcs')) +# print(pce.build(regression = 'anl')) +# print(pce.build(regression = 'anl', method = 'vi')) + +# For a BCS build, if the eta argument is given a list or an array, the optimum value will be chosen through cross-validation +# on a specified number of folds (nfolds, defaulting to 3). Setting the eta_plot argument to True generates a RMSE vs. eta plot +# of the cross-validation results. While this example does not necessarily benefit from building with BCS, the statements below +# demonstrate calling this functionality. + +# etas = 1/np.power(10,[i for i in range(0,16)]) # List of etas to pass in: [1e-16, 1e-15, ... , 1e-2, 1e-1, 1] +# cfs = pce.build(regression = 'bcs', eta = etas, nfolds = 2, eta_plot = True, eta_verbose = False) + +# To see an problem better suited to using a BCS build and to explore BCS in more detail, visit +# the example "Function Approximation with Sparse Regression". # (3) Make predictions for data points and print results: results = pce.evaluate(x) diff --git a/docs/auto_examples/ex_pce.rst b/docs/auto_examples/ex_pce.rst index 02bf7b9..7c7277c 100644 --- a/docs/auto_examples/ex_pce.rst +++ b/docs/auto_examples/ex_pce.rst @@ -31,10 +31,10 @@ This example below outlines how to: - Define basic parameters for the surrogate model - Use a sample function of :math:`\sin^4(x)` from the ``utils`` directory -- Set up a PCE surrogate model +- Set up a PCE surrogate model, with different regression options for build (lsq, anl, vi, bcs) - And evaluate the performance of your model -.. GENERATED FROM PYTHON SOURCE LINES 19-31 +.. GENERATED FROM PYTHON SOURCE LINES 19-26 .. code-block:: Python @@ -42,21 +42,16 @@ This example below outlines how to: import numpy as np import pytuq.utils.funcbank as fcb - from pytuq.surrogates.pce import PCE from pytuq.utils.maps import scale01ToDom - from pytuq.lreg.anl import anl - from pytuq.lreg.lreg import lsq - from pytuq.utils.mindex import get_mi - -.. GENERATED FROM PYTHON SOURCE LINES 32-34 +.. GENERATED FROM PYTHON SOURCE LINES 27-29 ####################################################### ####################################################### -.. GENERATED FROM PYTHON SOURCE LINES 34-41 +.. GENERATED FROM PYTHON SOURCE LINES 29-36 .. code-block:: Python @@ -68,12 +63,12 @@ This example below outlines how to: # dim = 1 -.. GENERATED FROM PYTHON SOURCE LINES 42-44 +.. GENERATED FROM PYTHON SOURCE LINES 37-39 ####################################################### ####################################################### -.. GENERATED FROM PYTHON SOURCE LINES 44-82 +.. GENERATED FROM PYTHON SOURCE LINES 39-90 .. code-block:: Python @@ -89,7 +84,7 @@ This example below outlines how to: # Testing PCE class: - # (1) Construct polynomial chaos expansion + # (1) Construct polynomial chaos expansion by defining at least a stochastic dimensionality, polynomial order, and polynomial type. pce = PCE(dim, order, 'LU') # pce = PCE(dim, order, 'HG') # pce = PCE(dim, order, ['LU', 'HG']) # dim = 2 @@ -97,12 +92,25 @@ This example below outlines how to: pce.set_training_data(x, y) - # (2) Pick method for linear regression object, defaulting to least squares regression - # print(pce.build(regression = 'anl')) - # print(pce.build(regression = 'anl', method = 'vi')) + # (2) Pick a linear regression method to build your surrogate model with. build() returns the coefficients of your PC model, + # and with no arguments, will default to least squares regression. print(pce.build()) + + # You may choose different regression options by specifying the correct argument: # print(pce.build(regression = 'lsq')) - # print(pce.build(regression = 'bcs')) + # print(pce.build(regression = 'anl')) + # print(pce.build(regression = 'anl', method = 'vi')) + + # For a BCS build, if the eta argument is given a list or an array, the optimum value will be chosen through cross-validation + # on a specified number of folds (nfolds, defaulting to 3). Setting the eta_plot argument to True generates a RMSE vs. eta plot + # of the cross-validation results. While this example does not necessarily benefit from building with BCS, the statements below + # demonstrate calling this functionality. + + # etas = 1/np.power(10,[i for i in range(0,16)]) # List of etas to pass in: [1e-16, 1e-15, ... , 1e-2, 1e-1, 1] + # cfs = pce.build(regression = 'bcs', eta = etas, nfolds = 2, eta_plot = True, eta_verbose = False) + + # To see an problem better suited to using a BCS build and to explore BCS in more detail, visit + # the example "Function Approximation with Sparse Regression". # (3) Make predictions for data points and print results: results = pce.evaluate(x) diff --git a/docs/auto_examples/ex_pce.zip b/docs/auto_examples/ex_pce.zip index 1f6c5da..99056d8 100644 Binary files a/docs/auto_examples/ex_pce.zip and b/docs/auto_examples/ex_pce.zip differ diff --git a/docs/auto_examples/images/sphx_glr_ex_genz_bcs_001.png b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_001.png index 99f7409..3717b0b 100644 Binary files a/docs/auto_examples/images/sphx_glr_ex_genz_bcs_001.png and b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_001.png differ diff --git a/docs/auto_examples/images/sphx_glr_ex_genz_bcs_002.png b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_002.png index a590523..beca382 100644 Binary files a/docs/auto_examples/images/sphx_glr_ex_genz_bcs_002.png and b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_002.png differ diff --git a/docs/auto_examples/images/sphx_glr_ex_genz_bcs_003.png b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_003.png index ce0031b..005da08 100644 Binary files a/docs/auto_examples/images/sphx_glr_ex_genz_bcs_003.png and b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_003.png differ diff --git a/docs/auto_examples/images/sphx_glr_ex_genz_bcs_004.png b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_004.png index 796bf33..be10c6e 100644 Binary files a/docs/auto_examples/images/sphx_glr_ex_genz_bcs_004.png and b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_004.png differ diff --git a/docs/auto_examples/images/sphx_glr_ex_genz_bcs_005.png b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_005.png new file mode 100644 index 0000000..ab496da Binary files /dev/null and b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_005.png differ diff --git a/docs/auto_examples/images/sphx_glr_ex_genz_bcs_006.png b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_006.png new file mode 100644 index 0000000..7f43ecc Binary files /dev/null and b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_006.png differ diff --git a/docs/auto_examples/images/sphx_glr_ex_genz_bcs_007.png b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_007.png new file mode 100644 index 0000000..8115e57 Binary files /dev/null and b/docs/auto_examples/images/sphx_glr_ex_genz_bcs_007.png differ diff --git a/docs/auto_examples/images/thumb/sphx_glr_ex_genz_bcs_thumb.png b/docs/auto_examples/images/thumb/sphx_glr_ex_genz_bcs_thumb.png index 8f2d01b..3a9dd7a 100644 Binary files a/docs/auto_examples/images/thumb/sphx_glr_ex_genz_bcs_thumb.png and b/docs/auto_examples/images/thumb/sphx_glr_ex_genz_bcs_thumb.png differ diff --git a/docs/auto_examples/index.rst b/docs/auto_examples/index.rst index 92ded99..0ef58da 100644 --- a/docs/auto_examples/index.rst +++ b/docs/auto_examples/index.rst @@ -7,7 +7,7 @@ Welcome to the PyTUQ Tutorials page! Here, you'll find a series of comprehensive showcase the functionality of PyTUQ and guide you through its core features. Surrogates -~~~~~~~~~~ +~~~~~~~~~~~ PyTUQ supports the construction of various surrogate models, including Polynomial Chaos Expansions for multivariate random variables and Neural Networks, which can be accessed through the Quantification of Uncertainties in Neural Networks (QUiNN) library. diff --git a/docs/auto_examples/sg_execution_times.rst b/docs/auto_examples/sg_execution_times.rst index d48caef..846e881 100644 --- a/docs/auto_examples/sg_execution_times.rst +++ b/docs/auto_examples/sg_execution_times.rst @@ -6,7 +6,7 @@ Computation times ================= -**00:05.760** total execution time for 3 files **from auto_examples**: +**00:06.413** total execution time for 3 files **from auto_examples**: .. container:: @@ -33,7 +33,7 @@ Computation times - Time - Mem (MB) * - :ref:`sphx_glr_auto_examples_ex_genz_bcs.py` (``ex_genz_bcs.py``) - - 00:05.760 + - 00:06.413 - 0.0 * - :ref:`sphx_glr_auto_examples_ex_nn.py` (``ex_nn.py``) - 00:00.000 diff --git a/examples/surrogates/ex_genz_bcs.ipynb b/examples/surrogates/ex_genz_bcs.ipynb index 01bc04b..3e724a3 100644 --- a/examples/surrogates/ex_genz_bcs.ipynb +++ b/examples/surrogates/ex_genz_bcs.ipynb @@ -4,16 +4,27 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Genz Function Approximation with PCE fitted via BCS" + "## Function Approximation with Sparse Regression" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "In this example, we approximate the Genz Oscillatory function by constructing a Polynomial Chaos (PC) surrogate with Bayesian compressive sensing (BCS). The first build process uses a given eta of 1e-10, while the second build process selects the most optimal eta for BCS through cross-validation. Both models are then evaluated on testing and training data, returning parity plots and a Root Mean Square Error for each evaluation. \n", + "In this tutorial, we demonstrate how to approximate a function with sparse regression by constructing a Polynomial Chaos (PC) surrogate with Bayesian compressive sensing (BCS). The function we will approximate here is the Genz Oscillatory function, defined as:\n", "\n", - "To follow along with the cross-validation algorithm used to select the optimal eta, see section \"Functions for cross-validation algorithm\" at the end of the notebook." + "\\begin{align}f(x) = \\cos\\left(2 \\pi s + \\sum_{i=1}^d w_i x_i\\right)\\end{align}\n", + "\n", + "Where:\n", + "\n", + "- $s$: The shift parameter (``self.shift`` in the class).\n", + "- $w_i$: The weights for each dimension (``self.weights`` in the class).\n", + "- $x_i$: The input variables.\n", + "- $d$: The dimensionality of the input $x$ (number of components in $x$).\n", + "\n", + "Through three different build processes, we will construct three PC surrogates to highlight the advantages of BCS and explore the effects of the `eta` hyperparameter on model results. First, we'll build with least squares regression to demonstrate the limitations of non-sparse methods and the need for BCS. Then we'll build with BCS using a given eta of $1 \\times 10^{-10}$ and identify aspects for model improvement. Last, we'll build with the most optimal eta, as found through cross-validation algorithms exposed here. All three surrogates will be evaluated on testing and training data, with parity plots and Root Mean Square Error (RMSE) values used to compare their performance. \n", + "\n", + "To follow along with the cross-validation algorithm for selecting the optimal eta, see section \"Functions for cross-validation algorithm\" in the second half of the notebook. These methods have been implemented under-the-hood in PyTUQ. Refer to example \"Polynomial Chaos Expansion Construction\" (``ex_pce.py``) for a demonstration of how to use these methods through a direct call to the PCE class." ] }, { @@ -32,9 +43,8 @@ "from matplotlib import pyplot as plt\n", "from sklearn.metrics import root_mean_squared_error\n", "\n", - "\n", "from pytuq.surrogates.pce import PCE\n", - "from pytuq.utils.maps import scale01ToDom\n", + "from pytuq.utils.maps import scaleDomTo01\n", "from pytuq.func.genz import GenzOscillatory" ] }, @@ -42,69 +52,70 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Setting a random number generator seed:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Random number generator\n", - "from scipy.stats import qmc\n", - "rng_seed = 43" + "# Constructing PC surrogate and generating data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Constructing PC surrogate and generating data" + "To start, we begin with defining our true model and input parameters for our PC surrogate.\n", + "\n", + "After importing GenzOscillatory from ``pytuq.func.genz``, we generate the Genz function below, along with training data and testing data with output noise. This data and the corresponding Genz function will be used to create the same PC surrogate fitted in all three examples: first with linear regression, next using BCS with a given eta, and third using BCS with the most optimal eta. " ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 2, "metadata": {}, + "outputs": [], "source": [ - "We generate the Genz function, as well as training data and testing data with output noise. This data and the corresponding Genz function will be used to create the same PC surrogate fitted in both examples: (1) The first surrogate will be fitted using BCS with a given eta, and (2) the second surrogate will be fitted using BCS with the most optimal eta." + "# Random number generator\n", + "from scipy.stats import qmc\n", + "rng_seed = 43" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ - "# Use Genz Oscillatory function in multiple dimensions for the true model\n", + "# Define our true model as the Genz Oscillatory function in multiple dimensions\n", "func_dim = 4\n", - "func_weights = [1.0/(i+1)**2 for i in range(func_dim)]\n", + "func_weights = [1.0/(i+1)**2 for i in range(func_dim)] \n", "func = GenzOscillatory(shift=0.25, weights=func_weights)\n", - "noise_std = 0.1\n", + "noise_std = 0.025\n", + "\n", "rng = qmc.LatinHypercube(d=func_dim, seed=rng_seed)\n", + "np.random.seed(42)\n", + "\n", + "# As we choose to use Legendre polynomials later in the surrogate construction, we define the domain of ξ on [-1, 1]^d\n", + "ksi_domain = np.array([[-1.0, 1.0]] * func_dim) \n", "\n", "# Training data\n", - "np.random.seed(42)\n", "n_trn = 70\n", - "x_trn = rng.random(n=n_trn) # random numbers in [0,1]^d\n", - "y_trn = func(x_trn) + np.random.normal(0, noise_std, size = (n_trn,1))\n", + "value_ksi_trn = 2*rng.random(n=n_trn) - 1 # Randomly generating 70 data points within the domain of ξ (ksi)\n", + "x_trn = scaleDomTo01(value_ksi_trn, ksi_domain) # We scale our training data to [0, 1]^d, the domain of the Genz function\n", + "y_trn = func(x_trn) + np.random.normal(0, noise_std, size = (n_trn, 1))\n", "\n", "# Testing data\n", "n_tst = 10000\n", - "x_tst = rng.random(n=n_tst) # random numbers in [0,1]^d\n", - "y_tst = func(x_tst) + np.random.normal(0, noise_std, size = (n_tst,1))" + "value_ksi_tst = 2*rng.random(n=n_tst) - 1 \n", + "x_tst = scaleDomTo01(value_ksi_tst, ksi_domain)\n", + "y_tst = func(x_tst)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "With a stochastic dimensionality of 4 (defined above) and a polynomial order of 4, we construct the PC surrogate that will be used in both builds. You have the option of printing the PC surrogate's full basis, before BCS selects and retains the most significant PC coefficients to reduce the basis." + "With a stochastic dimensionality of 4 (defined above) and a chosen polynomial order of 4, we construct the PC surrogate that will be used in both builds. By calling the `printInfo()` method from the PCRV variable, you can print the PC surrogate's full basis and current coefficients, before BCS selects and retains the most significant PC terms to reduce the basis." ] }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -187,7 +198,7 @@ " [0 0 0 4]] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", - "Number of Basis Terms: 70\n" + "Number of Basis Terms: [70]\n" ] } ], @@ -199,124 +210,60 @@ "# Optional verbosity output:\n", "print(\"Full Basis and Current Coefficients:\")\n", "pce_surr.pcrv.printInfo()\n", - "print(\"Number of Basis Terms:\", len(pce_surr.pcrv.mindices[0]))\n", + "print(\"Number of Basis Terms:\", pce_surr.get_pc_terms())\n", "\n", "# (1.5) Set training data\n", - "pce_surr.set_training_data(x_trn, y_trn[:,0])" + "pce_surr.set_training_data(value_ksi_trn, y_trn[:,0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# BCS with default settings (default eta)" + "From the input parameters of our PC surrogate, we have 70 basis terms in our PCE. With 70 training points and no noise, having 70 basis terms would mean that we have a fully determined system, as the number of training points is the same as the number of basis terms. However, with the addition of noise in our training data, it becomes harder for the model to accurately fit all basis terms, leading to potential overfitting. This demonstrates the helpful role BCS might play as a choice for our regression build. As a sparse regression approach, BCS uses regularization to select only the most relevant basis terms, making it particularly effective in situations like this, where we do not have enough clear information to fit all basis terms without overfitting.\n", + "\n", + "In the next sections, we will explore the effects of overfitting in more detail.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Here, we call the PCE class method of `build()` to build the linear regression model used to fit the surrogate. With the flag `regression='bcs'`, we choose the BCS method for the fitting. A user-defined eta of 1e-10 is also passed in." + "# Least Squares Regression\n", + "\n", + "To start, we call the PCE class method of `build()` with no arguments to use the default regression option of least squares. Then, through `evaluate()`, we can generate model predictions for our training and testing data." ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Regression method: bcs\n", - "Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies.\n", - "Retained Basis and Coefficients:\n", - "[[2 0 0 0]\n", - " [1 0 3 0]\n", - " [0 2 0 2]\n", - " [0 0 1 2]\n", - " [4 0 0 0]\n", - " [3 1 0 0]\n", - " [1 1 0 1]\n", - " [2 0 0 2]\n", - " [2 0 1 1]\n", - " [0 0 0 4]\n", - " [1 0 0 3]\n", - " [0 0 0 1]\n", - " [1 1 0 0]\n", - " [1 0 0 1]\n", - " [0 3 1 0]\n", - " [0 1 0 2]\n", - " [0 1 1 2]\n", - " [2 0 2 0]\n", - " [0 1 0 1]\n", - " [0 0 0 0]] [ 0.11844696 -0.1286659 -0.23890894 0.20561299 -0.65563148 1.41773821\n", - " -0.20218904 -0.30625401 0.40503892 -0.27250245 0.99544673 -0.90463019\n", - " -2.75925351 -0.66386396 0.13068211 -0.96868699 -0.65718534 -0.27253516\n", - " 3.07988105 0.12550357]\n", - "Number of retained basis terms: 20\n" + "Regression method: lsq\n" ] } ], "source": [ "# (2) Build the linear regression object for fitting\n", - "pce_surr.build(regression='bcs', eta=1.e-10)\n", + "pce_surr.build()\n", "\n", - "# Optional verbosity output:\n", - "print(\"Retained Basis and Coefficients:\")\n", - "pce_surr.pcrv.printInfo()\n", - "print(\"Number of retained basis terms:\", len(pce_surr.pcrv.mindices[0]))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After fitting, we evaluate the PCE using our training and testing data. To analyze the model's goodness of fit, we calculate the root mean square error between the surrogate results and the training and testing data." - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The training RMSE error in the PCE BCS approximation is 1.72e-01\n", - "The testing RMSE error in the PCE BCS approximation is 2.73e-01\n" - ] - } - ], - "source": [ "# (3) Evaluate the PC model\n", - "y_trn_approx = pce_surr.evaluate(x_trn)\n", - "y_tst_approx = pce_surr.evaluate(x_tst)\n", - "\n", - "# Evaluate goodness of fit with RMSE\n", - "rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx[\"Y_eval\"])\n", - "print(\"The training RMSE error in the PCE BCS approximation is %.2e\"%rmse_trn)\n", - "\n", - "rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx[\"Y_eval\"])\n", - "print(\"The testing RMSE error in the PCE BCS approximation is %.2e\"%rmse_tst)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Notice above how the training RMSE error is almost half that of the testing RMSE error. This shows that our current model is overfitting, learning the training data with noise too well. To address this issue, we can explore selecting a better eta for the BCS fitting." + "y_trn_approx = pce_surr.evaluate(value_ksi_trn)\n", + "y_tst_approx = pce_surr.evaluate(value_ksi_tst)\n" ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { - "image/png": "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kIbtPVsffJpTAbt///4aN26c3nnnnXKve+WVV/Tuu+8qPz/fqeIAAAAslZ0hbZonJfxTOn3UHKtZR+o+Vop7SApneSuqzuk12KwsAQAAPuN0itkRZP27Uk5BR5DajcyOIN3G0REElnI6YFfEyZMnFRzMTlsAAOAhqXsKOoJ8eF5HkMuk3o9IV46QAjlxGtarcMBOSkoq8eszZ85cNFYoLy9P27dv14oVK9SqVauqVQgAAFBZh9aZGxdLdATpKfV5TGozRLI7ddYeUCEVDtixsbEl+l1/8skn+uSTT8p9jmEYuueee5yvDgAAoKIcDmnP12awTkooHm871Gy1F3OV52pDtVLhgB0TE1MUsJOSklSrVi1FRkaWem3NmjXVtGlT3XbbbXrooYesqRQAAKA0eeekrYvNpSAndplj9hpSpxFSr0ekBm09Wx+qnQoH7IMHDxb9t91u1x133KF3333XFTUBAABcWna6tPF96afZ0ulkcywoTOo+Top7UApr7NHyUH05tcnxvffeU+vWra2uBQAA4NIykqXE2dKG96ScDHOsdpQU/7DUbawUHO7R8gCnAvaYMWOsrgMAAKB8J341l4H8sqi4I0hkG3N9dcc76AgCr+HUFtqEhATdd999Wrt2bZnXrFmzRvfdd5/WrVvndHEAAABKSpQ+GCnN6iFt/rcZrptdJd39ofRwotTlHsI1vIpTM9hvv/22PvjgA73yyitlXtOmTRstWLBAgYGB6tmzp9MFAgCAasjhkH5dbnYEOfRT8XjbG8we1nQEgRdzagZ77dq16ty5c5ldRCSpQYMG6tKli3788Ueni6uItLQ0jRo1SmFhYYqIiND48eN15syZCj3XMAwNGTJENptNn332mUvrBAAAFZCXI236t/TPOOnDu81wHVBT6nKv9If10t0LCdfwek7NYB85ckRdunS55HXNmzfX8uXLnblFhY0aNUrJycn65ptvlJubq3HjxmnixIlauHDhJZ/7+uuvl+jtDQAAPCQ73dy0+NNs6UyKORYUJnW/r6AjSLRn6wMqwamAbbfbde7cuUtel5ubq7y8PGduUSE7d+7U8uXLtX79enXv3l2S9Oabb2ro0KF69dVX1bhx2e15tmzZor///e/asGGDoqP5pgUAwCMyjpqhesN70rnT5lidaOmqwo4gYR4tD3CGUwE7NjZWCQkJysvLU2Bg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0aNH9eqrr2rbtm16//33tXz5co0fP96NVVeCAbjIe++9Z4SHh1/yOofDYURFRRl/+9vfisZOnTplBAUFGR988IELK4Qr7dixw5BkrF+/vmjsq6++Mmw2m3HkyJEynxcaGmrMnz+/xFi9evWMuXPnuqxWuJazn4W4uDjj6aefdkeJcBNnPwuGYRibN282mjRpYiQnJxuSjE8//dTF1cJVqvI5ON9HH31k1KxZ08jNzXVFmVXCNAA87sCBA0pJSdHAgQOLxsLDwxUXF6eEhAQPVoaqSEhIUEREhLp37140NnDgQNntdiUmJpb5vF69emnRokVKS0uTw+HQhx9+qOzsbPXv398NVcMVnPksHD9+XImJiWrYsKF69eqlRo0a6eqrr9bq1avdVTZcwNk/F86ePauRI0dq1qxZioqKckepcCFnPwcXSk9PV1hYmAIDA11RZpUQsOFxKSkpkqRGjRqVGG/UqFHRY/A9KSkpatiwYYmxwMBA1atXr9z/rx999JFyc3NVv359BQUF6YEHHtCnn36q1q1bu7pkuIgzn4X9+/dLkp5//nlNmDBBy5cvV9euXTVgwAD2Z/gwZ/9cePzxx9WrVy/dcsstri4RbuDs5+B8qamp+vOf/1zh5UXuRsBGhUydOlU2m63cr127dnm6TLiBqz8LzzzzjE6dOqVvv/1WGzZs0JQpU3TnnXdq69atFr4LWMGVnwWHwyFJeuCBBzRu3Dh16dJFr732mtq2bat3333XyrcBC7jys7B06VKtXLlSr7/+urVFw3LuygoZGRm64YYb1KFDBz3//PNVL9wFvG9OHV7piSee0NixY8u9pmXLlk69duE/9x07dkzR0dFF48eOHVPnzp2dek24TkU/C1FRUTp+/HiJ8by8PKWlpZX5T7z79u3TzJkztW3bNl1++eWSpE6dOunHH3/UrFmzNGfOHEveA6zhys9C4Z8FHTp0KDHevn17JSUlOV80XMKVn4WVK1dq3759F3Wluu2229S3b199//33VagcVnLl56DQ6dOnNXjwYNWpU0effvqpatSoUdWyXYKAjQpp0KCBGjRo4JLXbtGihaKiovTdd98VBeqMjAwlJiZWqhMJ3KOin4X4+HidOnVKGzduVLdu3SSZf1E6HA7FxcWV+pyzZ89K0kVdIgICAopmNOE9XPlZiI2NVePGjbV79+4S47/++quGDBlS9eJhKVd+FqZOnar777+/xFjHjh312muv6aabbqp68bCMKz8HkpkNBg0apKCgIC1dulTBwcGW1W45T++yhP/57bffjM2bNxsvvPCCUbt2bWPz5s3G5s2bjdOnTxdd07ZtW2PJkiVFv37ppZeMiIgI47///a/xyy+/GLfccovRokULIysryxNvARYZPHiw0aVLFyMxMdFYvXq1cdlllxl333130eOHDx822rZtayQmJhqGYRjnzp0zWrdubfTt29dITEw09u7da7z66quGzWYzvvzyS0+9DVigsp8FwzCM1157zQgLCzMWL15s7Nmzx3j66aeN4OBgY+/evZ54C7CIM5+FC4kuIj6vsp+D9PR0Iy4uzujYsaOxd+9eIzk5uegrLy/PU2+jTARsWG7MmDGGpIu+Vq1aVXSNJOO9994r+rXD4TCeeeYZo1GjRkZQUJAxYMAAY/fu3e4vHpb6/fffjbvvvtuoXbu2ERYWZowbN67ED1oHDhy46LPx66+/GsOHDzcaNmxo1KpVy7jyyisvatsH3+PMZ8EwDGP69OlG06ZNjVq1ahnx8fHGjz/+6ObKYTVnPwvnI2D7vsp+DlatWlVqtpBkHDhwwDNvohw2wzAMd8+aAwAAAP6KLiIAAACAhQjYAAAAgIUI2AAAAICFCNgAAACAhQjYAAAAgIUI2AAAAICFCNgAAACAhQjYAFBBNput0l/9+/d3SS3PP/+8bDabnn/+eZe8/oUufF92u13h4eFq3ry5Bg0apKefflo7duxwSy0A4O0CPV0AAPiKMWPGXDSWkpKir7/+uszH27Vr5/K63GnQoEGKioqSJGVmZur48eNau3atVqxYob/+9a8aPny4Zs+erYYNG1pyv++//17XXHONrr76an3//feWvCYAuBonOQJAFRQGQEly5x+nqampSk1NVWRkpCIjI11+P5vNJklatWrVRbPyeXl5+uijjzRlyhQdO3ZM7dq109q1a1W3bt0q35eADcAXsUQEAHxQZGSk2rVr55ZwfSmBgYEaOXKk1q1bp8jISO3atUv/8z//4+myAMBjCNgA4CLnr5NOSkrS+PHj1axZM9WoUUNjx44tum7JkiW6//77dcUVV6hu3boKDg5WixYtdN9992n37t2XfO3zvf/++7LZbBo7dqwyMzM1bdo0tW7dWkFBQYqKitKYMWN05MgRl7zfmJgYvfDCC5Kk+fPn69ixYyUeX7dunf74xz+qZ8+eioqKUs2aNdWoUSPddNNN+vbbby96vf79+xf968D//d//lVgDHhsbW3TdiRMnNGPGDA0dOlQtWrRQSEiIwsLC1L17d7388svKzs6u8HvIyMhQWFiYAgMDdejQoTKvGzp0qGw2m/75z39W+LUBVB8EbABwsT179qhLly5atmyZ4uLidPPNN5eYeb7zzjv1wQcfKCQkRNdee60GDRoku92u9957T926ddPatWsrfc/09HT16tVLc+bMUYcOHTRkyBAZhqH58+erd+/eSk9Pt/ItFhk5cqRsNpvy8vK0atWqEo899dRT+vvf/67s7Gx169ZNt956q5o2baovvvhC1113nd54440S1w8ePFiDBg2SJDVq1Ehjxowp+rr99tuLrvv666/16KOP6pdfflHz5s116623qmfPntq9e7emTp2qa6+9Vjk5ORWqPywsTGPHjlV+fr7mzJlT6jX79u3T8uXLFRYWptGjR1fmtwdAdWEAAJy2atUqQ5JR2h+nzz33XNFj99xzj5GdnV3qa3z44YfGmTNnSow5HA5j1qxZhiTj8ssvNxwOR6mv/dxzz5UYf++994ruOWjQICM9Pb3osbS0NKNz586GJOPFF1+s1PssfM1Vq1Zd8trWrVsbkoynn366xPiyZcuMo0ePXnT92rVrjbCwMKNGjRrG4cOHSzxW+Pt79dVXl3m/HTt2GAkJCReNp6WlGddff70hyXjllVcuWXehX3/91bDZbEbDhg1L/X/2xBNPGJKMyZMnV/g1AVQvzGADgIvVq1dPM2fOVFBQUKmPjxgxQqGhoSXGbDabHn74YcXHx2v79u3auXNnpe4ZGhqq9957T2FhYUVjdevW1dSpUyWp1CUZVimcnf/9999LjA8ZMkTR0dEXXR8fH68//OEPys3N1X//+99K3699+/a66qqrLhqvW7eu3nzzTUnS4sWLK/x6l112mYYMGaLjx49f9LysrCy9++67stls+sMf/lDpWgFUD7TpAwAXGzhwoMLDw8u9Zu/evVq+fLn27t2r06dPKz8/X5KK1jHv3r1bHTp0qPA9u3fvXmqYbd++vSS5bB22JDkcDknFnUfO9/vvv+vLL7/Utm3bdPLkSeXm5koyl9FIKnPN+aXk5+fr+++/19q1a5WcnKysrCwZhlHU2aWyr/voo49q2bJlmjlzpu65556i8YULF+rkyZO67rrr1LZtW6dqBeD/CNgA4GLnb8i7UH5+viZNmqS33nqr3DZ/GRkZlbpnTExMqeOFM9qV2fhXWampqZLMmfvzzZ07V48//rgyMzPLfG5l36dkhvNhw4Zp+/btlr3uddddp/bt2ysxMVEbN25Ut27dJEmzZs2SJE2aNKnSdQKoPlgiAgAuFhISUuZjb7zxhubMmaNGjRpp4cKFOnjwYInZ17vvvltS5Xts2+2e+eP95MmTOnDggCSpY8eOReMbN27UAw88oJycHL388svasWOHzpw5I4fDIcMw9NZbb0lyrpf47bffru3bt+vGG2/UDz/8oNTUVJ07d06GYVR4c+OFbDabJk+eLEmaOXOmJCkhIUGbN29WbGysbrzxRqdeF0D1QMAGAA/66KOPJElvvfWW7r77bjVv3lzBwcFFjxcunfAVCxculGEYqlGjRlGLPclcA20YhiZPnqw//vGPat++vUJDQ4uWkTj7Pnft2qVffvlFDRs21Keffqq+ffuqfv36qlGjRpVeV5JGjx6tiIgIffjhh/r999+LgvZDDz3ksR9gAPgG/oQAAA9KS0uTJDVv3vyix7Zv364tW7a4uSLnJSUlFfXlHjt2rBo0aFD0WHnvMzs7W5988kmpr1mzZk1J5mmRpSl83caNGysw8OJVj//5z38q/gYuEBoaqvHjxys7O1svvviiPv74YwUHB2v8+PFOvyaA6oGADQAeVLjpcNasWUWbAyUpOTlZo0ePLjNYepO8vDx98MEHiouLU2pqqjp06KBXXnmlxDWF73PevHk6ffp00Xh2drYefvjhomUlF2ratKkkcya6cEPk+dq0aaOAgABt3br1oqPUP//8c7322mtVeWuaNGmS7Ha7/vGPf+jcuXO6++67Vb9+/Sq9JgD/R8AGAA966qmnVLNmTc2dO1dt27bViBEjNGTIELVq1Uo5OTkaNmyYp0ss4aWXXtLYsWM1duxYjRgxQv3791e9evU0cuRIpaSk6Pbbb9f333+viIiIEs8bN26cmjdvrs2bN6tFixYaNmyYbr/9djVv3lwff/yxHn300VLvFxMTo+7du+v48ePq2LGj7rnnHt1///1F7QYjIyM1adIk5efna8CAAerfv79Gjhypbt266eabb9aTTz5ZpfcbGxurm2++uejXbG4EUBEEbADwoLi4OG3YsEE333yzMjMztXTpUu3bt0+TJ09WQkJCiT7W3uDrr7/WvHnzNH/+fH311Vfav3+/4uPj9fTTT2vHjh1avHhxiaUhhSIiIrRhwwY9/PDDioiI0FdffaWEhARdf/312rRpkzp37lzmPT/55BONHDlSGRkZWrRokd555x19+OGHRY+/9tpreuedd9SlSxdt3LhRy5YtU61atfThhx/qz3/+c5Xfc+FpkvHx8eratWuVXw+A/7MZzmzZBgCgmujTp4/WrFmjhQsXFnV1AYDyELABACjDV199paFDhyomJkZ79+4t6k4CAOXhoBkAAM7z+++/63//93918uRJLVu2TJL0yiuvEK4BVBgz2AAAnOfgwYNq0aKFAgMD1bJlSz3xxBOaOHGip8sC4EMI2AAAAICF6CICAAAAWIiADQAAAFiIgA0AAABYiIANAAAAWIiADQAAAFiIgA0AAABYiIANAAAAWIiADQAAAFiIgA0AAABY6P8DzvDunSm4IlMAAAAASUVORK5CYII=", + "image/png": "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ELNZs2bmjz/+WMDJxRs8vV7+SAW7eLjaa2XdunWX7DiAeejQIe/8CC8zTNM0C3rUXERERESkqNIqIiIiIiIieUgFW0REREQkD6lgi4iIiIjkIRVsEREREZE8pIItIiIiIpKHVLBFRERERPKQCraIiIiISB5SwRYRySXDMK761apVq3zJ8tJLL2EYBi+99FK+fP6f/fl3WSwWwsLCqFKlCh06dGDcuHHs3r27QLKIiPg6P28HEBEpLPr06fOXfUlJSaxateqy79euXTvfcxWkDh06EBkZCUB6ejrJycn8/PPPrF69mtdff50ePXowbdo0ypcvnyfft379elq3bs2dd97J+vXr8+QzRUTym57kKCJyDS4UQICC/OM0JSWFlJQUIiIiiIiIyPfvMwwDgHXr1v1lVN7hcLBw4UKeeeYZTpw4Qe3atfn5558pXbr0NX+vCraIFEaaIiIiUghFRERQu3btAinXf8fPz49evXqxadMmIiIi2Lt3L//4xz+8HUtExGtUsEVE8skf50knJCTQv39/KlWqhL+/P3379s05LiYmhgEDBlCvXj1Kly5NUFAQVatW5fHHH2ffvn1/+9l/NHv2bAzDoG/fvqSnpzN27Fhq1KhBYGAgkZGR9OnTh2PHjuXL761cuTIvv/wyAJ9++iknTpy46P1NmzYxevRobr31ViIjIwkICKBChQrcfffdfPvtt3/5vFatWuX868D3339/0Rzw6OjonONOnjzJ+++/T+fOnalatSrBwcGEhobSpEkT/vWvf5GVlZXr35CWlkZoaCh+fn4cOXLkssd17twZwzD48MMPc/3ZIlJ8qGCLiOSz3377jYYNG7J8+XKaNm3KPffcc9HI8wMPPMD8+fMJDg7mrrvuokOHDlgsFj755BMaN27Mzz//fNXfabPZaN68OdOnT6du3bp06tQJ0zT59NNPuf3227HZbHn5E3P06tULwzBwOBysW7fuoveef/553n77bbKysmjcuDHdunXj+uuv5+uvv6Zdu3a89957Fx3fsWNHOnToAECFChXo06dPzuu+++7LOW7VqlU89dRT/Prrr1SpUoVu3bpx6623sm/fPsaMGcNdd93F+fPnc5U/NDSUvn374nQ6mT59+iWPOXjwICtXriQ0NJTHHnvsav7ziEhxYYqIiMfWrVtnAual/jh98cUXc9575JFHzKysrEt+xueff26eO3fuon0ul8ucOnWqCZg33nij6XK5LvnZL7744kX7P/nkk5zv7NChg2mz2XLeS01NNW+++WYTMCdMmHBVv/PCZ65bt+5vj61Ro4YJmOPGjbto//Lly83jx4//5fiff/7ZDA0NNf39/c2jR49e9N6F/7533nnnZb9v9+7dZmxs7F/2p6ammu3btzcB84033vjb3Bfs37/fNAzDLF++/CX/fzZq1CgTMEeMGJHrzxSR4kUj2CIi+axMmTJMmTKFwMDAS77/4IMPUqJEiYv2GYbB0KFDadasGbt27WLPnj1X9Z0lSpTgk08+ITQ0NGdf6dKlGTNmDMAlp2TklQuj86dOnbpof6dOnYiKivrL8c2aNWPYsGHY7XaWLFly1d9Xp04dbrvttr/sL126NB988AEAX3zxRa4/74YbbqBTp04kJyf/5bzMzEw+/vhjDMNg2LBhV51VRIoHLdMnIpLP2rZtS1hY2BWPOXDgACtXruTAgQOcPXsWp9MJkDOPed++fdStWzfX39mkSZNLltk6deoA5Ns8bACXywX8/8ojf3Tq1Cm++eYbdu7cyenTp7Hb7YB7Gg1w2Tnnf8fpdLJ+/Xp+/vlnEhMTyczMxDTNnJVdrvZzn3rqKZYvX86UKVN45JFHcvbPmzeP06dP065dO2rVquVRVhEp+lSwRUTy2R9vyPszp9PJ8OHDmTFjxhWX+UtLS7uq76xcufIl918Y0b6aG/+uVkpKCuAeuf+jWbNm8fTTT5Oenn7Zc6/2d4K7nHfv3p1du3bl2ee2a9eOOnXqsHHjRrZs2ULjxo0BmDp1KgDDhw+/6pwiUnxoioiISD4LDg6+7Hvvvfce06dPp0KFCsybN4/4+PiLRl8ffvhh4OrX2LZYvPPH++nTpzl06BAA9evXz9m/ZcsWBg8ezPnz5/nXv/7F7t27OXfuHC6XC9M0mTFjBuDZWuL33Xcfu3btomvXrvzwww+kpKSQnZ2NaZq5vrnxzwzDYMSIEQBMmTIFgNjYWLZu3Up0dDRdu3b16HNFpHhQwRYR8aKFCxcCMGPGDB5++GGqVKlCUFBQzvsXpk4UFvPmzcM0Tfz9/XOW2AP3HGjTNBkxYgSjR4+mTp06lChRImcaiae/c+/evfz666+UL1+exYsXc8cdd1C2bFn8/f2v6XMBHnvsMcLDw/n88885depUTtEeMmSI1/4HjIgUDvoTQkTEi1JTUwGoUqXKX97btWsX27ZtK+BEnktISMhZl7tv376UK1cu570r/c6srCwWLVp0yc8MCAgA3E+LvJQLn1uxYkX8/P466/Gzzz7L/Q/4kxIlStC/f3+ysrKYMGECX375JUFBQfTv39/jzxSR4kEFW0TEiy7cdDh16tScmwMBEhMTeeyxxy5bLH2Jw+Fg/vz5NG3alJSUFOrWrcsbb7xx0TEXfuecOXM4e/Zszv6srCyGDh2aM63kz66//nrAPRJ94YbIP6pZsyZWq5UdO3b85VHqy5YtY/Lkydfy0xg+fDgWi4V33nmH7OxsHn74YcqWLXtNnykiRZ8KtoiIFz3//PMEBAQwa9YsatWqxYMPPkinTp2oXr0658+fp3v37t6OeJFJkybRt29f+vbty4MPPkirVq0oU6YMvXr1Iikpifvuu4/169cTHh5+0Xn9+vWjSpUqbN26lapVq9K9e3fuu+8+qlSpwpdffslTTz11ye+rXLkyTZo0ITk5mfr16/PII48wYMCAnOUGIyIiGD58OE6nkzZt2tCqVSt69epF48aNueeee3j22Wev6fdGR0dzzz335Gzr5kYRyQ0VbBERL2ratCmbN2/mnnvuIT09naVLl3Lw4EFGjBhBbGzsRetY+4JVq1YxZ84cPv30U1asWMHvv/9Os2bNGDduHLt37+aLL764aGrIBeHh4WzevJmhQ4cSHh7OihUriI2NpX379vzyyy/cfPPNl/3ORYsW0atXL9LS0liwYAEfffQRn3/+ec77kydP5qOPPqJhw4Zs2bKF5cuXExISwueff86rr756zb/5wtMkmzVrRqNGja7580Sk6DNMT27ZFhERKSZatGjBTz/9xLx583JWdRERuRIVbBERkctYsWIFnTt3pnLlyhw4cCBndRIRkSvRg2ZERET+4NSpUzz33HOcPn2a5cuXA/DGG2+oXItIrmkEW0RE5A/i4+OpWrUqfn5+VKtWjVGjRjFo0CBvxxKRQkQFW0REREQkD2kVERERERGRPKSCLSIiIiKSh1SwRURERETykAq2iIiIiEgeUsEWEREREclDKtgiIiIiInlIBVtEREREJA+pYIuIiIiI5CEVbBERERGRPPR/LqpqcS5aSf4AAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -327,14 +274,11 @@ ], "source": [ "# Plot the surrogate model's output vs. the training data output\n", - "\n", "y_trn_mM = [y_trn[:,0].min(),y_trn[:,0].max()]\n", "\n", - "\n", "fig1 = plt.figure(figsize=(8,6))\n", "ax1 = fig1.add_axes([0.15, 0.15, 0.80, 0.75])\n", "\n", - "\n", "ax1.plot(y_trn[:,0],y_trn_approx[\"Y_eval\"],\".\")\n", "ax1.plot(y_trn_mM,y_trn_mM) # Diagonal line\n", "\n", @@ -344,12 +288,12 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 7, "metadata": {}, "outputs": [ { "data": { - "image/png": "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CAsLM5r+ww8/4JFHHkFlZaXiuvX19Vbvr6GhAU888QQ2bNhgdjlrth0aGoonnngCH330ET7++GO88sorAID3338fjDHMnDkT/v7+Vo+VIIj2CwlsgiAIF8FHWTMzMxEfH2922YEDBwr/HjVqFCoqKrB582Z8//33KCoqwtdff42tW7fijTfewIYNGzB+/Hinjl2JQ4cOAQCSkpKEaY2NjZg2bRquXLmCmTNn4re//S369OmDoKAgaLVanD59GgkJCTY1k1m4cCE2bNiAxMRE5OXlYdiwYejSpYuQMpKeno69e/dave0XXngBH330ET744AO89NJLuHXrFlatWgWO4yg9hCAIqyGBTRAE4SJiYmIAAFOnThWipGrx8/PDQw89hIceegiAIcL92muv4Z///Cd+/etf4/z58w4fryWOHTuGkpISAMCECROE6bt378aVK1cwZMgQ/Otf/5Ksd+bMGZv3+dlnnwEA1q1bh+TkZIdte8CAAbj33nvx3XffYevWrbh06RJqa2uRnZ1t8WGIIAjCFCpyJAiCcBHZ2dkADMV9tkRvxURERAjFgpWVlaipqRHm8dHcu3fv2rUPczQ3N+M3v/kNAEPr95ycHGHejRs3AAA9e/aUXff//u//FLfbsWNHAMpj57cttjHk+frrr4WUFVv43e9+B8BQ2MgXPJI1H0EQtkACmyAIwkVMnToVw4YNw/79+zFz5kyjPGuempoafPjhh4LAPH/+PFauXCmbU/zll18CMOQQBwUFCdN79OgBwBBhdgaFhYUYNWoUCgoKEBgYiP/85z/QaFpvJ/379wcAbN++HcePHzda95///CfWrVunuG1LY+e3/d577xlNP3XqlCD4bWXy5Mno06cPtm3bhsOHDyM+Pl54KCIIgrAGjtkbRiEIgiCM2LVrF8aOHQsAkkj1pUuXMGXKFJSUlCAgIAApKSno2bMnmpubce7cOZSWlkKn06GpqQmdOnVCSUkJUlNT0bFjRwwePBhxcXEADKkQxcXF4DgOK1aswKxZs4R9HDlyRHDQGDduHGJiYqDRaJCTk2MUaVZizJgx+P7775GSkiI0p7lz5w5u3LiBkpISXL58GQCQkpKC1atXyzawmTZtGjZt2gQfHx+MGTMGYWFhKCkpwalTp/Dqq6/i7bffRq9evYQOjTy///3v8de//hVdunTBuHHjBCvDJUuWIDw8HOvXr8dDDz0ExhiSkpIwcOBAXL16FXv27MGoUaNw69YtFBUVYefOnRgzZozFYzXlH//4B1588UUAwN/+9je89NJLVm+DIAiCGs0QBEE4GKVGMzy3bt1iH374IRs7diwLDw9nHTp0YF27dmWDBw9mzz//PPv666+FZevr69k777zDHnjgAda3b18WGBjIAgICWL9+/diTTz7JfvzxR9l9bNiwgWVkZLDOnTszjuNUN45hrLXRjPg/Pz8/FhkZydLS0tjcuXPZ9u3bmV6vV9xGc3Mz+8tf/sKSkpKYv78/CwsLYxMmTGDffPMNKy8vZwBYr169JOs1NTWx+fPnsz59+jAfHx9h/+Xl5cIyu3fvZuPHj2ddunRh/v7+bNCgQeztt99mt2/fFsa+c+dOVcdqyokTJxgA5u/vz2pqamzaBkEQBEWwCYIgCKKF1157DW+//TaeffZZfPTRR+4eDkEQXgoJbIIgCIIAUFVVhQEDBqC+vh5Hjx4V8r0JgiCshWz6CIIgiHZNbm4uLl68iO+++w61tbX4zW9+Q+KaIAi7oAg2QRAE0a6JjY1FZWUlIiMj8cgjjyAvLw++vr7uHhZBEF4MCWyCIAiCIAiCcCDkg00QBEEQBEEQDoQENkEQBEEQBEE4EBLYBEEQBEEQBOFASGATBEEQBEEQhAMhgU0QBEEQBEEQDoQENkEQBEEQBEE4EBLYBEEQBEEQBOFASGATBEEQBEEQhAMhgU0QBEEQBEEQDuT/B2gDAhCzvui3AAAAAElFTkSuQmCC", + "image/png": "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js0iKlAGGCwTERERURilpyRgTE5kBcjemIZBRERERKSDwTIRERERkQ4Gy0REREREOhgsExERERHpYLBMRERERKSDwTIRERERkQ4Gy0REREREOhgsExERERHpYLBMRERERKSDwTIRERERkQ4Gy0REREREOhgsExERERHpYLBMRERERKSDwTIRERERkQ4Gy0REREREOhqGuwGRQAgBAKisrAxzS4iIiIgoFJS4T4kD9TBYBnD27FkAQEZGRphbQkREREShdPbsWaSkpOj+3SX8hdMxwO12o6ysDE2bNoXL5QpoG5WVlcjIyMChQ4eQnJxscwspEnGfxybu99jDfR57uM9jgxACZ8+eRdu2bREXp5+ZzJFlAHFxcWjfvr0t20pOTuaJFWO4z2MT93vs4T6PPdzn9Z/RiLKCE/yIiIiIiHQwWCYiIiIi0sFg2Sbx8fF45plnEB8fH+6mUIhwn8cm7vfYw30ee7jPyRsn+BERERER6eDIMhERERGRDgbLREREREQ6GCwTEREREelgsExEREREpIPBchCee+45DBo0CImJiUhNTTX1GiEE/ud//gfp6elISEjAjTfeiO+++87ZhpJtTp06hbvvvhvJyclITU3FlClT8OOPPxq+5siRI7j33nvRpk0bJCUloW/fvli6dGmIWkzBCmSfA8DmzZsxYsQIJCUlITk5GcOGDUN1dXUIWkx2CHS/A3X9/KhRo+ByufDhhx8621CyjdV9furUKfzyl79EVlYWEhISkJmZiUcffRQVFRUhbDWFAoPlINTW1uLf//3f8Ytf/ML0a+bOnYs//vGPWLBgAbZs2YKkpCTcfPPNOH/+vIMtJbvcfffd+Oabb/Dpp5/i73//OzZs2IAHHnjA8DU/+9nPsG/fPnz88cfYvXs3brvtNtxxxx3Yvn17iFpNwQhkn2/evBkjR47ETTfdhC+//BJbt27FI488YricKkWWQPa74sUXX4TL5XK4hWQ3q/u8rKwMZWVlmDdvHvbs2YM333wTq1atwpQpU0LYagoJQUFbvHixSElJ8fs8t9st2rRpI55//nnPY2fOnBHx8fHi3XffdbCFZId//etfAoDYunWr57GVK1cKl8slDh8+rPu6pKQk8ec//9nnsbS0NLFo0SLH2kr2CHSfDxgwQDz99NOhaCI5IND9LoQQ27dvF+3atRPl5eUCgFi+fLnD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BUpLS/HGG2+gV69eyMnJQZMmTXDfffehoKAAxcXFGDx4MLp27erZjpJ/bJdevXqhT58+2L59Oz799FOMHz/e87e//OUvmDFjBjp16oRu3bph8ODBKC8vx+bNm7Fp0yasWbMGf/vb3zwBcu/evXHfffd5An11rneTJk0AAEePHsW9996LlJQU9OjRAzk5OaiqqsKOHTvw0ksv4b333kNhYaHP5zbyq1/9Chs2bMD8+fNx1113af7udrvx6quvAgAeeeQR618SEcUuQUREUuvWrRMAhLqrdLvdYvDgwQKAmDJliqisrPT87cKFC+Lxxx8XAEReXp7n8fPnz4uEhATRpEkT8e2332re68CBA2Lv3r0+j913330CgFi8eHFA7b/++usFAPHMM8/4fe79998vAIghQ4b4PP7ll1+K3bt3a55/+PBhkZubKwCI999/X/N32ffmrbKyUnz00UeipqbG5/Ha2loxffp0AUCMHj3ab7sVFy9eFB06dBAAxLZt2zR//+STTwQAkZOTY3qbRERCCME0DCIii1avXo1Nmzahd+/eWLBgAZo2ber5W8OGDTF37lxcc801WLduHfbs2QMAqKysRHV1NTp37oysrCzNNjt06OB4dQ0jLVq0AABN+kj//v1xzTXXaJ7ftm1bzJ07F0BdaolVTZs2xdixY9G4cWOfxxs1aoTf/va3aNu2LVatWoWzZ8+a2l6DBg3w8MMPAwBefvllzd/nz58PAJ7nEBGZxTQMIiKLVqxYAQAYP348GjbUdqNxcXEYNmwY9uzZg8LCQlxzzTVo2bIlOnbsiF27duHxxx/HlClT0LNnz1A3XZeSe+ydb6yoqanBmjVrsHXrVhw7dgw1NTUQQngC2X379gX8vjt37sTnn3+OkpISVFVVedpx8eJFuN1uFBUVmS5pd//992PmzJl455138Pzzz6NZs2YAgKKiIqxZswapqam45557Am4rEcUmBstERBZ9//33AIAZM2ZgxowZhs89fvy45////Oc/4/bbb8fvf/97/P73v0daWhoGDBiAn/zkJ7j33ns9o7vhcOLECQBAWlqaz+P//Oc/MWHCBJSWluq+trKy0vL7VVVV4d5778Xy5csNn2dl282aNcO9996LhQsX4o033sATTzwBAHjllVcghMDkyZORmJhoua1EFNsYLBMRWaSMfg4ZMgRdunQxfG6vXr08/z906FAcOHAAK1aswBdffIHCwkKsXr0aK1euxDPPPIPly5fjhhtucLTterZt2wYAyM7O9jx27tw5jBs3DkePHsXkyZPxi1/8Al27dkVycjIaNGiA/fv3IysrK6CFR6ZPn47ly5eje/fumD17Nvr3748WLVp40jIGDRqEzZs3W972o48+ioULF+LVV1/FY489hvPnz2Px4sVwuVxMwSCigDBYJiKyKCMjAwBwyy23eEYvzUpISMDtt9+O22+/HUDdyPPTTz+N1157DT//+c9x8OBB29vrzzfffIMdO3YAAG666SbP4xs2bMDRo0fRt29f/OlPf9K87rvvvgv4Pd9//30AwJIlS5CTk2Pbtnv27Ikbb7wRn332GVauXImysjKcOXMGo0aN8nthQ0Qkwwl+REQWjRo1CkDdxLZARlW9tWzZ0jNRrrS0FKdPn/b8TRllvXjxYlDvYaS2thYPPfQQgLrlu8eOHev526lTpwAAmZmZ0te+/fbbuttt1KgRAP22K9v2Lq2nWL16tSctJBC/+tWvANRN6lMm+7FcHBEFisEyEZFFt9xyC/r3748vv/wSkydP9slLVpw+fRoLFizwBIsHDx7E66+/Ls3B/eSTTwDU5dwmJyd7Hm/fvj2AupFfJ2zatAlDhw5FQUEBmjRpgr/+9a+Ii7vys9CjRw8AwOeff45//etfPq997bXXsGTJEt1t+2u7su2XXnrJ5/F9+/Z5gvdAjR49Gl27dsWqVauwc+dOdOnSxXOBQ0RklUsEOyxCRFRPrV+/Hnl5eQCgGUEuKyvDmDFjsGPHDiQlJSE3NxeZmZmora3F999/j927d+PSpUuorq7GVVddhR07dqBPnz5o1KgRevfujU6dOgGoSzfYvn07XC4XFi1ahClTpnjeY9euXZ5KECNGjEBGRgbi4uIwduxYnxFgPcOHD8cXX3yB3Nxcz0ImFy5cwKlTp7Bjxw4cOXIEAJCbm4s333xTutjJuHHj8NFHH6Fx48YYPnw40tLSsGPHDuzbtw+//vWv8dxzz6FDhw6elfkU//Vf/4V58+ahRYsWGDFihKe83pw5c9C8eXMsW7YMt99+O4QQyM7ORq9evXDs2DFs3LgRQ4cOxfnz51FYWIh169Zh+PDhfj+r2h/+8Af8x3/8BwDgd7/7HR577DHL2yAiAsBFSYiI9OgtSqI4f/68WLBggcjLyxPNmzcXDRs2FK1atRK9e/cWDz/8sFi9erXnuZWVleLFF18Ut956q7j66qtFkyZNRFJSkujWrZv42c9+Jr766ivpeyxfvlwMHjxYNG3aVLhcLtOLjAhxZVES7/8SEhJEmzZtxMCBA8UjjzwiPv/8c+F2u3W3UVtbK55//nmRnZ0tEhMTRVpamrjpppvEmjVrRElJiQAgOnTooHlddXW1ePLJJ0XXrl1F48aNPe9fUlLiec6GDRvEDTfcIFq0aCESExPFNddcI5577jlRU1Pjafu6detMfVa1vXv3CgAiMTFRnD59OqBtEBEJIQRHlomIqN55+umn8dxzz+GBBx7AwoULw90cIopiDJaJiKheKS8vR8+ePVFZWYk9e/Z48qOJiALB0nFERFQv5Ofn4/Dhw/jss89w5swZPPTQQwyUiShoHFkmIqJ6oWPHjigtLUWbNm0wYcIEzJ49G/Hx8eFuFhFFOQbLREREREQ6WGeZiIiIiEgHg2UiIiIiIh0MlomIiIiIdDBYJiIiIiLSwWCZiIiIiEgHg2UiIiIiIh0MlomIiIiIdDBYJiIiIiLSwWCZiIiIiEjH/wfqb26YB8XFpgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -376,73 +320,54 @@ ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 8, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The training RMSE in the PCE LSQ approximation is 1.91e-15\n", + "The testing RMSE in the PCE LSQ approximation is 9.22e-01\n" + ] + } + ], "source": [ - "# BCS with optimal eta (found through cross-validation) " + "# Evaluate goodness of fit with RMSE\n", + "rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx[\"Y_eval\"])\n", + "print(\"The training RMSE in the PCE LSQ approximation is %.2e\"%rmse_trn)\n", + "\n", + "rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx[\"Y_eval\"])\n", + "print(\"The testing RMSE in the PCE LSQ approximation is %.2e\"%rmse_tst)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "In this section, we use the same PC surrogate, `pce_surr`, for the second build. We call the PCE class method of `build()` to build the linear regression model used to fit the surrogate. With the flag `regression='bcs'`, we choose the BCS method for the fitting. \n", + "The results above show us the limitations of using least squares regression to construct our surrogate. From the parity plots, we can see how the testing predictions from the LSQ regression are more spread out from the parity line, while the training predictions are extremely close to the line. Because LSQ fits all the basis terms to the training data, the model fits too closely to the noisy training dataset, and the true underlying pattern of the function is not effectively captured. Our RMSE values align with this as well: while the training RMSE is extremely low, the testing RMSE is significantly higher, as the model struggles to generalize to the unseen test data. \n", "\n", - "Instead of using a default eta, we call the cross-validation algorithm, `optimize_eta()`, to choose the most optimal eta below. \n", - "- With the flag `plot=True`, the CV algorithm produces a graph of the training and testing (validation) data's RMSE values for each eta. The eta with the smallest RMSE for the validation data is the one chosen as the optimal eta." + "To improve our model's generalization, we can build our model with BCS instead. As a sparse regression method, BCS reduces the number of basis terms with which we can fit our data to, reducing the risk of overfitting. " ] }, { - "cell_type": "code", - "execution_count": 29, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies.\n", - "Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies.\n", - "Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies.\n", - "Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies.\n", - "Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies.\n", - "Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies.\n", - "Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies.\n", - "Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies.\n", - "Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies.\n", - "Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies.\n", - "Warning: Sigma matrix has a negative diagonal element. Setting them to zero, but this may lead to inaccuracies.\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA38AAANaCAYAAAA51vUKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAACF1UlEQVR4nOzdd3gUdeLH8c9sKmn00DF06aEEEAvSRDzriWBDsZ+CCpaf6Knn6dnFA4WznSIKKmLh7EoRpCgC0kUpCkRa6Gkk2ezO74+BDZH07GZ2M+/X8+yz35397swnizzh4zTDNE1TAAAAAIBqzWV3AAAAAABA4FH+AAAAAMABKH8AAAAA4ACUPwAAAABwAMofAAAAADgA5Q8AAAAAHIDyBwAAAAAOQPkDAAAAAAcItzsAys/r9WrXrl2Kj4+XYRh2xwEAAABgE9M0lZGRocaNG8vlKnnfHuUvBO3atUvNmjWzOwYAAACAIJGamqqmTZuWOIfyF4Li4+MlWX/ACQkJNqcBAAAAYJf09HQ1a9bM1xFKQvkLQccP9UxISKD8AQAAACjT6WBc8AUAAAAAHIDyBwAAAAAOwGGf1ZjH45Hb7bY7BvwgIiJCYWFhdscAAABACKP8VUOmaWrPnj06fPiw3VHgR7Vq1VLDhg25vQcAAAAqhPJXDR0vfomJiYqJiSlXWTBNU6tXr9bKlSv1888/KycnR9HR0erQoYN69Oih5ORkykcVM01T2dnZSktLkyQ1atTI5kQAAAAIRZS/asbj8fiKX926dcv8Obfbrddee00TJ07U5s2bZRiGwsPDZZqmDMNQfn6+TNNUmzZtNHbsWN10002KiIgI4E+CE9WoUUOSlJaWpsTERA4BBQAAQLlxwZdq5vg5fjExMWX+zPr165WSkqIxY8Zoy5Ytkqy9TW63W/n5+XK73TJNU5K0ZcsWjRkzRikpKVq/fr3/fwAU6/ifKedxAgAAoCIof9VUWQ/NXLhwoXr16qX169fLNE1fySvO8Tnr169Xr169tHDhQn/ERRlwuC0AAAAqg/LnYOvXr9fQoUOVm5srj8dTrs96PB7l5uZq6NCh7AEEAAAAQgDlz6Hcbreuvvpq5eXlyev1VmgdXq/Xtx4ORQQAAACCG+XPoV577TWtXbu23Hv8/iw/P19r167Va6+95qdkgfPII48oOTnZ7hgAAACALSh/DmSapiZOnOjXdU6aNKnU8wXLIjU1Vddff70aN26syMhInXLKKbrzzjt14MCBcq3HMAzNnj270LJ77rlH8+bNq3RGAAAAIBRR/hxo1apV2rx5s1/KmmSVyU2bNmn16tWVWs9vv/2mnj17avPmzXr33Xe1ZcsWvfzyy5o3b55OO+00HTx4sFLrj4uLK9ftLwAAAIDqhPLnAKZpKisry/dYvHix368caRiGFi9eXGg75S2Xo0ePVmRkpL755hv169dPzZs319ChQzV37lzt3LlTf//73yVJSUlJeuyxx3TFFVcoNjZWTZo00ZQpU3zrSUpKkiRdcsklMgzD9/rPh32OGjVKF198sZ544gk1aNBAtWrV0qOPPqr8/Hzde++9qlOnjpo2baqpU6f6PrNgwQIZhqHDhw/7lq1evVqGYWjbtm2SpDfffFO1atXSZ599pnbt2ikmJkbDhg1Tdna2pk2bpqSkJNWuXVt33HFHpQ+7BQAAAMqK8ucA2dnZiouL8z3uvPNOv+31O840Td1xxx2FtpOdnV3mzx88eFBff/21brvtNt8NzY9r2LChrrrqKs2cOdOX+9lnn1XXrl21atUqjR8/XnfeeafmzJkjSVq+fLkkaerUqdq9e7fvdVHmz5+vXbt26bvvvtPzzz+vf/zjHzr//PNVu3ZtLVu2TH/72990yy236I8//ijX95Gdna0XXnhB7733nr766istWLBAl1xyib744gt98cUXevvtt/XKK6/ogw8+KNd6AQAAgIoKtzsAIMl3GGr79u2LfL99+/Y6dOiQ9u3bJ0k6/fTTNX78eElS27ZttWTJEv373//W4MGDVb9+fUlSrVq11LBhwxK3W6dOHb3wwgtyuVxq166dnnnmGWVnZ+uBBx6QJN1///166qmntHjxYl1++eVl/nncbrdeeukltWrVSpI0bNgwvf3229q7d6/i4uLUoUMH9e/fX99++61GjBhR5vUCAAAAFcWePweIiYlRZmam7/G3v/1NERERft1GRESEbr311kLbiYmJKfd6yrpH8rTTTjvp9caNG8u9vY4dO8rlKvhr0KBBA3Xu3Nn3OiwsTHXr1lVaWlq51hsTE+MrfsfXm5SUpLi4uELLyrteAAAAoKIofw5gGIZiY2N9j+TkZOXn5/t1G/n5+UpOTi60nfKcV9i6dWsZhlFsgdu4caNq167t26vnL38u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X7fddps2b95caPkpp5yif//737rooosqGgEAAAAorPUgq/xJ1qGfoVr+ynp4ZlhkwXPj5IBGQuhzVeRDa9eu1amnnqr27dvrq6++Knbe119/rXPPPVebN2+WaZqFHtu2bdOll16qd955p8LhAQAAgEJa9Zd07BYPW+bbGgUINhUqf998840kqWbNmrriiiuKnJOdna3rr79e+fn5Mk1TderU0ciRI3Xfffdp4MCBkiSv16sxY8bo4MGDFYwPAAAAnCC2ntSoqzXeuy4wF00BQlSFyt+PP/4owzD0l7/8RREREUXOeeedd7R7924ZhqFOnTpp/fr1mjZtmp588knNmTNHb7zxhiTpyJEjmjFjRsV/AgAAAOBErQcWjLey9w84rkLlb+PGjZKks846q9g5s2bN8o1feOEFNWxY+JjlUaNGaejQoTJN07cnEQAAAKi0VieUvy3z7MsBBJkKlb8//vhDktS+ffsi3/d6vVq6dKkMw1DTpk119tlnFzlv+PDhkqT169dXJAYAAABwsma9pMh4a/zbt5LXa28eIEhUqPxlZmZKkhISEop8f8OGDcrKypIk9etX/BWWTj31VEnSgQMHKhIDAAAAOFlYRMFVPrMPSLtX2xoHCBYVKn/R0dGSpIyMjCLfX7ZsmW/co0ePUteTk5NTkRgAAABA0VoNKBhv5dBPQKpg+WvUqJEkafXq1UW+v2jRIt+4T58+xa7n0KFDkqS4uLiKxAAAAACK1prz/oA/q1D569mzp0zT1NSpU096LysrS59++qkkKT4+Xj179ix2Pb/++qskqWnTphWJAQAAABStdpJUp5U1Tv1RyjliaxwgGFSo/B2/t9+qVat00003KT09XZJ0+PBhjRo1SocPH5ZhGBo2bJjCwsKKXc93330nSerYsWNFYgAAAADFO773z/RIv39nbxYgCFSo/F1wwQU6/fTTZZqm3njjDdWvX19NmjRRvXr19NFHH0mSIiIidN999xW7juzsbH366acyDEOnn356xdIDAAAAxWk9qGDMoZ9AxcqfJH344Yfq1KmTTNOU2+3W7t275fV6ZZqmXC6X/vOf/6hNmzbFfn7atGm+q4YOGTKkojEAAACAoiWdIYVFWuOt8yTTtDcPYLPwin4wMTFRK1eu1KuvvqpPPvlEO3bsUGRkpLp3767bbrtNKSkpJX5+zpw56tGjh5o2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rNS6AQAAAMCfQrb8nX766fr1118LLdu0aZNOOeWUIufv379fAwcOVPv27fXRRx9p3rx5mjlzpu65554KZ4iMjFSPHj00b9483zKv16t58+bptNNOq/B6AQAAAMDfQvawz3Hjxqlv37564oknNHz4cP3444969dVXi7xVgtfr1dChQ3XKKado5syZCg8PV4cOHTRnzhwNGDBATZo0KXIvYGZmprZs2eJ7/fvvv2v16tWqU6eOmjdvLkm66667dO2116pnz57q1auXJk6cqKysLF133XWB++EBAAAAoJxC9lYPkvTZZ5/p/vvv1+bNm9WiRQvddddduummm4qcO2fOHJ155pmKjo4utHzVqlWqX7++mjZtetJnFixYoP79+5+0/Nprr9Wbb77pez158mQ9++yz2rNnj5KTk/XCCy+od+/elfvhSsCtHgAAAABI5esGIV3+nIryBwAAAEByyH3+AAAAAABlR/kDAAAAAAeg/AEAAACAA1D+AAAAAMABKH8AAAAA4ACUPwAAAABwAMofAAAAADgA5Q8AAAAAHIDyBwAAAAAOEG53AJSfaZqSpPT0dJuTAAAAALDT8U5wvCOUhPIXgjIyMiRJzZo1szkJAAAAgGCQkZGhmjVrljjHMMtSERFUvF6vdu3apfj4eBmGYXeckJWenq5mzZopNTVVCQkJdsdxDL53e/C924Pv3R587/bge7cH37s9gul7N01TGRkZaty4sVyuks/qY89fCHK5XGratKndMaqNhIQE2//SOhHfuz343u3B924Pvnd78L3bg+/dHsHyvZe2x+84LvgCAAAAAA5A+QMAAAAAB6D8wbGioqL0j3/8Q1FRUXZHcRS+d3vwvduD790efO/24Hu3B9+7PUL1e+eCLwAAAADgAOz5AwAAAAAHoPwBAAAAgANQ/gAAAADAASh/QDls2bJFf/vb39S9e3dFREQoKSmp1M/k5+erS5cuMgxD7733XuBDVkNl/d4/+OADXXLJJWrevLliYmLUsWNHTZgwQW63u2oDVxPl+e99y5YtOu+88xQXF6d69erptttuU1ZWVtWFdYD//e9/6tOnjxISEpSYmKi//OUvWr16td2xHGHmzJnq1auXYmJiVKdOHQ0cOFC7d++2O5Yj8Du06vA7NLCC5fck5Q8ohw0bNuizzz5TUlKSOnXqVKbPTJo0Sfv27Qtwsuqt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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], "source": [ - "# We first create a list of possible etas to pass in: [1e-16, 1e-15, ... , 1e-2, 1e-1, 1]\n", - "etas = 1/np.power(10,[i for i in range(0,16)])\n", - "\n", - "# Then, we call the function to choose the optimal eta:\n", - "eta_opt = optimize_eta(pce_surr, etas, 10, plot=True)" + "# BCS with default settings (default eta)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Now, with the optimal eta obtained, we run the fitting again. Then, we evaluate the PCE and produce a parity plot for the predicted output vs. the testing data. Notice that the larger eta, 10e-2, retained fewer basis terms (6) compared to the smaller user-defined eta of 10e-10 (which retained 20 basis terms)." + "In this section, we use the same PC surrogate, `pce_surr`, for the second build. With the flag `regression='bcs'`, we choose the BCS method for the fitting. A user-defined eta of 1e-10 is also passed in." ] }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -451,68 +376,95 @@ "text": [ "Regression method: bcs\n", "Retained Basis and Coefficients:\n", - "[[1 0 0 0]\n", + "[[0 0 0 0]\n", + " [1 0 0 0]\n", + " [0 1 0 0]\n", + " [0 0 0 1]\n", " [2 0 0 0]\n", - " [0 1 0 1]\n", - " [1 0 3 0]\n", - " [0 2 0 2]\n", - " [0 0 1 2]] [-1.15692903 0.24292952 -0.29524043 -0.15503765 0.13276008 0.06118484]\n", - "Number of retained basis terms: 6\n" + " [0 0 1 0]\n", + " [1 1 0 0]\n", + " [2 1 0 0]\n", + " [0 4 0 0]\n", + " [0 0 3 0]\n", + " [2 0 2 0]\n", + " [1 0 0 2]\n", + " [2 1 1 0]\n", + " [1 0 2 0]\n", + " [1 2 1 0]\n", + " [1 2 0 1]\n", + " [1 0 0 3]] [-0.62694767 -0.37426547 -0.08797315 -0.02795855 0.04176134 -0.03783695\n", + " 0.01375504 0.02559825 -0.01616989 -0.01758198 -0.02274328 0.01132392\n", + " -0.01835694 -0.00490663 -0.00938681 -0.00898039 0.00175116]\n", + "Number of retained basis terms: [17]\n" ] } ], "source": [ - "# Build the linear regression object for fitting\n", - "pce_surr.build(regression='bcs', eta=eta_opt)\n", + "# (2) Build the linear regression object for fitting\n", + "pce_surr.build(regression='bcs', eta=1.e-10)\n", "\n", "# Optional verbosity output:\n", "print(\"Retained Basis and Coefficients:\")\n", "pce_surr.pcrv.printInfo()\n", - "print(\"Number of retained basis terms:\", len(pce_surr.pcrv.mindices[0]))" + "print(\"Number of retained basis terms:\", pce_surr.get_pc_terms())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After fitting, we evaluate the PCE using our training and testing data. To analyze the model's goodness of fit, we first plot the surrogate predictions against the training and testing data respectively." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# (3) Evaluate the PC model\n", + "y_trn_approx = pce_surr.evaluate(value_ksi_trn)\n", + "y_tst_approx = pce_surr.evaluate(value_ksi_tst)" ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 11, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "The training RMSE error in the PCE BCS approximation is 8.11e-02\n", - "The testing RMSE error in the PCE BCS approximation is 1.10e-01\n" - ] + "data": { + "image/png": "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kV69epktW7Y0V61aZS5fvty84IILzJtvvtn5+p49e8zGjRubq1atMk3TNI8fP242bNjQ7Ny5s7lq1Spz+/bt5iuvvGIahmF+++233voYUgZK+l0xTdOcNGmSGRYWZn7++efmn3/+aT7++ONmUFCQuX37dm98BClD7nxfToe6iFQKJf2u2O12s127dmbz5s3N7du3m8nJyc6fvLw8b30Mr1LALiO33367CZzxs3TpUuc5gPn+++87xw6Hwxw/frxZq1YtMzAw0OzWrZu5devWsi9eytShQ4fMm2++2TzvvPPMsLAw84477ijwP2JJSUlnfHe2bdtmJiQkmDVr1jRDQkLMiy+++Iy2fVLxuPNdMU3TnDBhglmnTh0zJCTEbN++vfnjjz+WceXiDe5+X06lgF05lPS7snTp0kIzDmAmJSV550N4mWGaplnWs+YiIiIiIhWVuoiIiIiIiHiQAraIiIiIiAcpYIuIiIiIeJACtoiIiIiIBylgi4iIiIh4kAK2iIiIiIgHKWCLiIiIiHiQAraIiIsMwyjxT9euXUullqeeegrDMHjqqadK5f6nO/1z2Ww2wsPDqVevHj179uTxxx/njz/+KJNaRETKO39vFyAi4ituv/32M46lpKSwYMGCIl9v0qRJqddVlnr27El0dDQAGRkZHDhwgBUrVrBw4UKef/55EhISmDJlCjVr1vTI+/3www9cccUVXH755fzwww8euaeISGnTTo4iIufgZAAEKMtfp6mpqaSmphIZGUlkZGSpv59hGAAsXbr0jFn5vLw8PvvsMx566CH2799PkyZNWLFiBdWqVTvn91XAFhFfpCUiIiI+KDIykiZNmpRJuD4bf39/Bg0axOrVq4mMjGTLli08/PDD3i5LRMRrFLBFRErJqeukd+3axZAhQ6hbty4BAQEMHjzYeV5iYiJ33XUXF110EdWqVSMoKIj4+HjuvPNOtm7detZ7n+qDDz7AMAwGDx5MRkYGY8eOpWHDhgQGBhIdHc3tt9/O3r17S+XzxsbG8vTTTwPw0UcfsX///gKvr169mkcffZRLL72U6OhoqlSpQq1atbj22mtZvHjxGffr2rWr808H/ve//xVYAx4XF+c87+DBg7zxxhv06dOH+Ph4goODCQsLo02bNrz44otkZ2e7/BnS09MJCwvD39+f3bt3F3lenz59MAyDt99+2+V7i0jloYAtIlLK/vzzT1q2bMm8efNo164dffv2LTDzfOONN/LJJ58QHBzMlVdeSc+ePbHZbLz//vu0bt2aFStWlPg97XY7HTp0YOrUqTRr1ozevXtjmiYfffQRHTt2xG63e/IjOg0aNAjDMMjLy2Pp0qUFXhs3bhyvvvoq2dnZtG7dmn79+lGnTh2++eYbrrrqKl5//fUC5/fq1YuePXsCUKtWLW6//Xbnz/XXX+88b8GCBdx///38/vvv1KtXj379+nHppZeydetWxowZw5VXXklOTo5L9YeFhTF48GDy8/OZOnVqoefs2LGD+fPnExYWxm233VaSvz0iUlmYIiLitqVLl5qAWdiv0yeffNL52q233mpmZ2cXeo9PP/3UPHbsWIFjDofDnDx5sgmYF154oelwOAq995NPPlng+Pvvv+98z549e5p2u935WlpamtmiRQsTMF944YUSfc6T91y6dOlZz23YsKEJmI8//niB4/PmzTP37dt3xvkrVqwww8LCzICAAHPPnj0FXjv59/fyyy8v8v3++OMPc+XKlWccT0tLM3v06GEC5ksvvXTWuk/atm2baRiGWbNmzUL/mY0ePdoEzHvvvdfle4pI5aIZbBGRUla9enXeeustAgMDC3194MCBhIaGFjhmGAYjR46kffv2bNq0ic2bN5foPUNDQ3n//fcJCwtzHqtWrRpjxowBKHRJhqecnJ0/dOhQgeO9e/cmJibmjPPbt2/PPffcQ25uLl999VWJ369p06ZcdtllZxyvVq0ab775JgCff/65y/e74IIL6N27NwcOHDjjuqysLN577z0Mw+Cee+4pca0iUjmoTZ+ISCnr3r074eHhxZ6zfft25s+fz/bt2zl69Cj5+fkAznXMW7dupVmzZi6/Z5s2bQoNs02bNgUotXXYAA6HA/in88ipDh06xLfffsvGjRs5fPgwubm5gLWMBihyzfnZ5Ofn88MPP7BixQqSk5PJysrCNE1nZ5eS3vf+++9n3rx5vPXWW9x6663O4zNnzuTw4cNcddVVNG7c2K1aRaTiU8AWESllpz6Qd7r8/HxGjRrFtGnTim3zl56eXqL3jI2NLfT4yRntkjz4V1KpqamANXN/qhkzZvDggw+SkZFR5LUl/ZxghfP+/fuzadMmj933qquuomnTpqxatYp169bRunVrACZPngzAqFGjSlyniFQeWiIiIlLKgoODi3zt9ddfZ+rUqdSqVYuZM2eyc+fOArOvN998M1DyHts2m3d+vR8+fJikpCQAmjdv7jy+bt06hg8fTk5ODi+++CJ//PEHx44dw+FwYJom06ZNA9zrJX799dezadMmrrnmGpYtW0ZqairHjx/HNE2XH248nWEY3HvvvQC89dZbAKxcuZJff/2VuLg4rrnmGrfuKyKVgwK2iIgXffbZZwBMmzaNm2++mXr16hEUFOR8/eTSCV8xc+ZMTNMkICDA2WIPrDXQpmly77338uijj9K0aVNCQ0Ody0jc/Zxbtmzh999/p2bNmsyZM4fOnTtTo0YNAgICzum+ALfddhsRERF8+umnHDp0yBm0R4wY4bX/gRER36DfECIiXpSWlgZAvXr1znht06ZNrF+/vowrct+uXbucfbkHDx5MVFSU87XiPmd2djazZ88u9J5VqlQBrN0iC3PyvrVr18bf/8xVj//9739d/wCnCQ0NZciQIWRnZ/PCCy/wxRdfEBQUxJAhQ9y+p4hUDgrYIiJedPKhw8mTJzsfDgRITk7mtttuKzJYlid5eXl88skntGvXjtTUVJo1a8ZLL71U4JyTn/PDDz/k6NGjzuPZ2dmMHDnSuazkdHXq1AGsmeiTD0SeqlGjRvj5+bFhw4YztlL/+uuvmTRp0rl8NEaNGoXNZuM///kPx48f5+abb6ZGjRrndE8RqfgUsEVEvGjcuHFUqVKFGTNm0LhxYwYOHEjv3r1p0KABOTk59O/f39slFjBx4kQGDx7M4MGDGThwIF27dqV69eoMGjSIlJQUrr/+en744QciIiIKXHfHHXdQr149fv31V+Lj4+nfvz/XX3899erV44svvuD+++8v9P1iY2Np06YNBw4coHnz5tx6663cddddznaDkZGRjBo1ivz8fLp160bXrl0ZNGgQrVu3pm/fvjzyyCPn9Hnj4uLo27evc6yHG0XEFQrYIiJe1K5dO9auXUvfvn3JyMhg7ty57Nixg3vvvZeVK1cW6GNdHixYsIAPP/yQjz76iO+++46//vqL9u3b8/jjj/PHH3/w+eefF1gaclJERARr165l5MiRRERE8N1337Fy5Up69OjBL7/8QosWLYp8z9mzZzNo0CDS09OZNWsW7777Lp9++qnz9UmTJvHuu+/SsmVL1q1bx7x58wgJCeHTTz/l2WefPefPfHI3yfbt29OqVatzvp+IVHyG6c4j2yIiIpVEp06d+Omnn5g5c6azq4uISHEUsEVERIrw3Xff0adPH2JjY9m+fbuzO4mISHG00YyIiMgpDh06xGOPPcbhw4eZN28eAC+99JLCtYi4TDPYIiIip9i5cyfx8fH4+/tTv359Ro8ezbBhw7xdloj4EAVsEREREREPUhcREREREREPUsAWEREREfEgBWwREREREQ9SwBYRERER8SAFbBERERERD1LAFhERERHxIAVsEREREREPUsAWEREREfEgBWwREREREQ/6f2RqvndOoyJ7AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "# Evaluate the PC model with training and testing data\n", - "y_trn_approx = pce_surr.evaluate(x_trn)\n", - "y_tst_approx = pce_surr.evaluate(x_tst)\n", + "# Plot the surrogate model's output vs. the training data output\n", + "y_trn_mM = [y_trn[:,0].min(),y_trn[:,0].max()]\n", "\n", - "# Evaluate goodness of fit with RMSE\n", - "rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx[\"Y_eval\"])\n", - "print(\"The training RMSE error in the PCE BCS approximation is %.2e\"%rmse_trn)\n", + "fig1 = plt.figure(figsize=(8,6))\n", + "ax1 = fig1.add_axes([0.15, 0.15, 0.80, 0.75])\n", "\n", - "rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx[\"Y_eval\"])\n", - "print(\"The testing RMSE error in the PCE BCS approximation is %.2e\"%rmse_tst)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "While the training RMSE error was almost half that of the testing RMSE error for the first fitting, the RMSE errors here are much closer to each other in value. This suggests that the model has more effectively generalized to the unseen data; a better eta has improved performance." + "ax1.plot(y_trn[:,0],y_trn_approx[\"Y_eval\"],\".\")\n", + "ax1.plot(y_trn_mM,y_trn_mM) # Diagonal line\n", + "\n", + "ax1.set_xlabel(\"Train Data y\", size=16)\n", + "ax1.set_ylabel(\"Predicted y\", size=16); " ] }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 12, "metadata": {}, "outputs": [ { "data": { - "image/png": "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qFevXsD2VZUE8rimpqaSmJjIt99+awmoCwsL2bRpk1eVSIKRp8e1a9eunDt3jq1bt9KxY0fAFJAYjUY6d+6su87FixcBHCpbhISEWHphq6tAHteUlBQaNWrEvn37bJ7fv38/gwYNKn/jq7BAHtfMzEzuvfdem+fS09N59dVX+f3vf1/+xldhgTyuYPp7OmDAACIiIvjss8+oVauW39oebMLDw+nYsSPffvstw4cPB0x3pb799lseeOAB3XW6du3Kt99+yyOPPGJ57uuvv6Zr164V0OIgU9mjLEXVcOTIEbV9+3b13HPPqdq1a6vt27er7du3q/Pnz1uWadWqlVq0aJFSSqni4mI1dOhQdc0116js7GyVl5dn+e/y5cuV9TaqHG+Pq1JKZWVlqbi4OPXpp5+qnTt3qmHDhqnU1FRVVFRUGW+hSho4cKBq37692rRpk1q3bp269tpr1e233255/ZdfflGtWrVSmzZtUkqZztcWLVqonj17qk2bNqmff/5Z/fOf/1SapqmlS5dW1tuocrw9rkop9eqrr6qYmBj1ySefqAMHDqinnnpK1apVS/3888+V8RaqJF+Oqz2kiogDb49rQUGB6ty5s0pPT1c///yzze9WaWlpZb2NSvXxxx+riIgI9d5776mffvpJTZgwQcXFxakTJ04opZS64447VGZmpmX59evXq9DQUPXPf/5T7dmzRz3zzDMqLCxM7dq1q7LeQpUlAbZQSil11113KcDhv1WrVlmWAdS7776rlFIqJydHd3n7dWo6b4+rUqZSfVOnTlUNGzZUERER6qabblL79u2r+MZXYb/++qu6/fbbVe3atVVMTIwaO3aszUWL+fy0Ps779+9Xt9xyi2rQoIGKiopSbdu2dSjbV9P5clyVUmratGnqmmuuUVFRUapr165q7dq1Fdzyqs3X42pNAmxH3h7XVatWOf3dysnJqZw3UQW88cYbqkmTJio8PFzdeOON6vvvv7e81rt3b3XXXXfZLL9gwQLVsmVLFR4ertq0aSOdFE5oSilVET3lQgghhBBC1ARSRUQIIYQQQgg/kgBbCCGEEEIIP5IAWwghhBBCCD+SAFsIIYQQQgg/kgBbCCGEEEIIP5IAWwghhBBCCD+SAFsIIYQQQgg/kgBbCCHKQdM0r//r06dPZTfbpT59+ji0OTo6mqSkJLp3786DDz7IypUrkWkUhBBCX2hlN0AIIYLZXXfd5fDciRMn+PLLL52+npaWFtA23X333bz//vu8++673H333T5vJyMjg3bt2gFQXFzMr7/+yo4dO9iwYQMzZsygbdu2vPfee7Rv394/Dcd0wQJI8C6ECGoSYAshRDm89957Ds+tXr3aEmDrvR4shg8fzrPPPuvw/Nq1a3niiSfYvHkzPXr04LvvvuOGG26o+AYKIUQVJSkiQgghvNKzZ0/Wrl1Ljx49uHjxImPGjKGsrKyymyWEEFWGBNhCCFHBioqKeOWVV+jSpQtxcXHUqlWLVq1a8eSTT/Lrr7/qrvPJJ5/Qv39/6tWrR1hYGPXq1eO6665j/Pjx7Ny5E4DDhw+jaRrvv/8+AGPHjrXJo9brjfZVeHg4s2fPBuDAgQMsWbLE5vUjR44wffp0+vXrR5MmTYiIiCAuLo4ePXrw1ltvYTQabZZ/9tlnLekh4JjbfvjwYQBKSkr48MMP+eMf/0haWhoxMTFERkbSqlUrHnroIY4fP+7V++jduzeapjFv3jyny7z00ktomsaoUaO82rYQouaSFBEhhKhAx48fZ+DAgezatYv4+Hg6depEnTp12LZtGy+//DKffPIJq1evpmnTppZ1/v73v/PMM88QGhpKt27daNy4MQUFBeTm5vLOO+/Qpk0b2rZtS+3atbnrrrtYt24dBw8epHv37rRo0cKyHXM+tb+0adOG9u3bs337dr7++mtGjhxpee3//b//x9SpU0lNTaVly5Z0796dvLw8Nm7cyPr16/nqq6/43//+Zwmq27Vrx1133WW5OLDPXa9duzYAJ0+e5I477iA2NpbWrVvTtm1bLly4QHZ2Nm+88QYff/wxGzZssHnfrjz88MOsWbOGGTNmcPvttzu8bjQaefPNNwF44IEHvD9IQoiaSQkhhPCrVatWKUDZ/4k1Go2qe/fuClDjxo1ThYWFltdKSkrU448/rgDVt29fy/OXLl1SkZGRqnbt2mrv3r0O+zp8+LDas2ePzXN33XWXAtS7777rU/t79+6tAPXMM8+4Xfbee+9VgOrRo4fN85s3b1a7du1yWP7YsWMqIyNDAWrBggUOr+sdN2uFhYXq008/VZcvX7Z5vri4WE2ZMkUBavDgwW7bbVZaWqqaNm2qALVt2zaH1z///HMFqLZt23q8TSGEkBQRIYSoIF9++SXr16+nXbt2zJ49mzp16lheCw0N5aWXXuL6669n1apV7N69G4DCwkKKiopo1qwZrVq1cthm06ZNA16VxJX69esDOKS2dOrUieuvv95h+UaNGvHSSy8BprQXb9WpU4ehQ4cSHh5u83xYWBgvvvgijRo1YsWKFZw/f96j7YWEhDBp0iQAZs6c6fD6jBkzACzLCCGEJyRFRAghKsjSpUsBGDlyJKGhjn9+DQYDvXr1Yvfu3WzYsIHrr7+ehIQEUlJS2LlzJ48//jjjxo3juuuuq+imO2XOpbbOnza7fPkyX331FVu2bOHUqVNcvnwZpZQl+N23b5/P+92xYwfffvstOTk5XLhwwdKO0tJSjEYjP//8s8flA++9916effZZPvroI15++WXq1q0LwM8//8xXX31FXFwcf/rTn3xuqxCi5pEAWwghKsihQ4cAmDp1KlOnTnW57OnTpy3//uCDD7j11lv517/+xb/+9S/i4+Pp3Lkz//d//8cdd9xh6UWuDGfOnAEgPj7e5vnvv/+e0aNHk5ub63TdwsJCr/d34cIF7rjjDhYvXuxyOW+2XbduXe644w7eeust3nnnHZ544gkAZs2ahVKKsWPHEhUV5XVbhRA1lwTYQghRQcy9rD169KB58+Yul23Tpo3l3z179uTw4cMsXbqU7777jg0bNvDll1+yfPlynnnmGRYvXsxNN90U0LY7s23bNgDS09Mtz128eJHhw4dz8uRJxo4dy3333UeLFi2IiYkhJCSE/fv306pVK58mk5kyZQqLFy8mLS2NrKwsOnXqRP369S0pI926dWPjxo1eb/uhhx7irbfe4s033+Sxxx7j0qVLvPvuu2iaJukhQgivSYAthBAVJDk5GYBhw4ZZekk9FRkZya233sqtt94KmHq4n3rqKd5++23uuecejhw54vf2uvPjjz+SnZ0NwO9+9zvL82vWrOHkyZN06NCB//znPw7rHThwwOd9LliwAID58+fTtm1bv237uuuuo3///nzzzTcsX76c48ePc+7cOQYNGuT2YkgIIezJIEchhKgggwYNAkyD+3zpvbWWkJBgGSyYm5tLfn6+5TVzb25paWm59uFKcXExf/7znwHT1O9Dhw61vHb27FkAmjRporvuhx9+6HS7YWFhgPO2m7dtXcbQ7Msvv7SkrPji4YcfBkwDG80DHqU0nxDCFxJgCyFEBRk2bBidOnVi8+bNjB071ibP2iw/P5/Zs2dbAswjR44wd+5c3Zzizz//HDDlEMfExFiev+aaawBTD3MgrF+/np49e7Ju3Tpq167Nf//7XwyGqz8nrVu3BuDbb7/lp59+sln37bffZv78+U637a7t5m2/8cYbNs/v27fPEvD7avDgwbRo0YIVK1awY8cOmjdvbrkoEkIIb2iqvN0oQgghbKxevZq+ffsCOPRUHz9+nCFDhpCdnU10dDQZGRk0adKE4uJiDh06xK5duygrK6OoqIhatWqRnZ1N+/btCQsLo127dqSmpgKmVIjt27ejaRpz5sxh3Lhxln3s3LnTUkGjX79+JCcnYzAYGDp0qE1PszN9+vThu+++IyMjwzI5TUlJCWfPniU7O5sTJ04AkJGRwXvvvac7gc3w4cP59NNPCQ8Pp0+fPsTHx5Odnc2+ffv461//ygsvvEDTpk0tMzSa/eUvf+Gf//wn9evXp1+/fpZShtOnT6devXosWrSIW2+9FaUU6enptGnThlOnTrF27Vp69uzJpUuX2LBhA6tWraJPnz5u36u9f//73zzyyCMAvPLKKzz22GNeb0MIIWSiGSGE8DNnE82YXbp0Sc2ePVv17dtX1atXT4WGhqoGDRqodu3aqUmTJqkvv/zSsmxhYaF67bXX1IgRI9S1116rateuraKjo1XLli3VnXfeqX744QfdfSxevFh1795d1alTR2ma5vHEMUpdnWjG+r/IyEiVmJiounbtqh544AH17bffKqPR6HQbxcXF6uWXX1bp6ekqKipKxcfHq9/97nfqq6++Ujk5OQpQTZs2dVivqKhIPfnkk6pFixYqPDzcsv+cnBzLMmvWrFE33XSTql+/voqKilLXX3+9euGFF9Tly5ctbV+1apVH79Xenj17FKCioqJUfn6+T9sQQgjpwRZCCCGueOqpp3jhhReYMGECb731VmU3RwgRpCTAFkIIIYC8vDyuu+46CgsL2b17tyXfWwghvCVl+oQQQtRomZmZHDt2jG+++YZz587x5z//WYJrIUS5SA+2EEKIGi0lJYXc3FwSExMZPXo0WVlZREREVHazhBBBTAJsIYQQQggh/EjqYAshhBBCCOFHEmALIYQQQgjhRxJgCyGEEEII4UcSYAshhBBCCOFHEmALIYQQQgjhRxJgCyGEEEII4UcSYAshhBBCCOFHEmALIYQQQgjhRxJgCyGEEEII4Uf/HziQ93+nXucfAAAAAElFTkSuQmCC", + "image/png": "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vceyZcuoWrUqe/fupX79+j4fOMCvv/5Kq1at2LJlC5deeikAK1asYODAgRw5coS6devm+r7LL7+cq666iunTp3t978TEREJCQrDb7QQHe/cfRhEpGzI/yFgcKpHCQ7aljLV+7em0/pdzCO972WmdwWLA0ge6ac21iEgJKWj+8+p39rp16/Lpp58ydOhQvvjiC5YtW5blddM0qVq1Kp9++mmxhWtIm4muVq2aJ1wD9OvXD4vFwqZNm7jxxhtzvOfEiRNs2rSJ22+/nW7dunHw4EFatGjBjBkz6NGjR573SklJISUlxfNzYmKibz+MiJS4WHsyW2MSijVc97Hs4DnbfBpY0hpGvnN1YKpzJEfMsCJf221CUqq7yNcRERHf8npNRN++fdm7dy+PPPIIzZs3p1KlSlSqVIlmzZrxyCOPsHfvXq666ipfjjWHuLg4atWqleWYzWajRo0axMXF5fqeP/74A4CpU6cyduxYVqxYQceOHenbty+///57nveaOXMmISEhnl8NGjTw3QcRkRK3aMshus9azUMf7SyWcF2Hv3jb71Xm+f+TBpaTHDVrck/qo9zteKLQ4doAHuzdBEu2KmytvRYRKZu8/7tJoH79+rz66qu+GovH+PHjmT17dr7n/Prrr15d2+1Om+259957GTVqFAAdOnTg+++/Z+7cucycOTPX902YMIHHHnvM83NiYqJCtkgZlt/mMLH25GKbtbbh9HRaBxkpOE0L77sG8C8vOq0NYGzPxozqEUGdkEAa1qzMM0v24jJNrb0WESnDihSwi8vjjz/OyJEj8z2ncePGhIeHc+LEiSzHnU4nCQkJhIeH5/q+OnXqANCqVassx1u2bMmhQ4fyvF9AQAABAQEFGL2IlLbsm8M83b8FUfVDPGE7Ov5csYTrjsZvzPCbS0tL2u8lW9zNeNYxmv2F7LTO8MZtHbi23d/Pkgzr3JBezcK0O6OISBlXJgN2WFgYYWEX/ivUrl27cvr0abZt20anTp0AWL16NW63my5duuT6noiICOrWrcv+/fuzHP/tt98YMGBA0QcvIqUq++y024SZy/cBf+/E2KtZGBYDn4XstE7rjxhuWwPAKbMKM5238amXndaQtvyjU0TOhxfrhAQqWIuIlHEFCtijR4/GMAxeeOEFateuzejRowt8A8MweP/9970eYH5atmxJ//79GTt2LHPmzMHhcDBu3DhuvfVWT4PI0aNH6du3LwsWLOCyyy7DMAyefPJJpkyZQrt27Wjfvj0ffPAB+/bt47PPPiuWcYpIyclvdtptwjNL9rJ+fB+eHtCC2cv3FTFkmwy1rOMZvw+paZwB4BPnFcx03sapQtTuWYD+bcL59ufjWv4hInIRKFDAnj9/PoZh8PTTT1O7dm3mz59f4BsUZ8AG+PDDDxk3bhx9+/bFYrEwdOhQXn/9dc/rDoeD/fv3k5SU5Dn2j3/8g/Pnz/Poo4+SkJBAu3btWLVqFU2aNCm2cYpIyYgMDcKAPHusXabJvJ+ieW9tdJG6rpsaR5jhN5culrTZ8f3u+jzrGM0Ws0WhrvPkNc0Y0rE+dUICibUna/mHiMhFoEABe968ecDf65czfi4LatSowcKFC/N8PSIigtyqvsePH8/48eOLc2giUgZZDHh3bbTX769ECg+nd1r7GS6SzID0TusBOL1YdVfJZvWEaS3/EBG5OBTovwYjRozI92cRkbIiOv5cvjPTRVkScqVlO9NsH3g6rVe5OjHVcRdH8b7TWjV7IiIXnzL5kKOIiLciQ4N8+gAjQF3imeK3gGusWwE4atZkqmMEq9yXXuCdF1bZ36/I1xARkbLF641mRETKojohgcwcEoXVMC588gXYcDLW+hWrAp7kGutWHKaVOc7r6JfyT5+Ea20UIyJycSrQDPZzzz3n9Q0Mw2DSpElev19EJLP8NpDJMKxzQ0Kr+DPmg21e3yet0/p9WloOA7DZ3ZxnHaP5zSz8BlMW4O5ekdSsEsCLy/erKURE5CJnmLk9AZiNxWLBMIwcDwsaF5ghMk0TwzBwuVxFG2UZlJiYSEhICHa7neDggtdxiYj3sm8gM3NIFMM659zEZdfhU9z+702cTSn87z3VOMPTto+5Lb3TOsGswkzncD5z9Sp0p/WEgS1oW69allYQNYWIiJRfBc1/BZrBnjJlSo5j0dHRLFiwgEqVKnH11VcTGRkJQExMDCtXruT8+fOMGDGCiIgI7z6BiEgmuw6fYvziPZ4HGDM6rXs1C+NE4nm++/U4ATYr3/96nB2H7V7cweRm64+Mt33k6bRe5OzNLOetheq0zvDFg91o10AbxYiIVEReBezDhw/TsWNHBg8ezNtvv03t2rWzvH7ixAnuu+8+vv76a7Zu3eq70YpIhbRoyyHGL9mTox3EZZr846MdbIo5VaTrX2Ic4flMndb73A141jGKrYXstM4sKdVdpDGJiEj55dVDjpMmTcLPz4+FCxfmCNcAtWrVYuHChdhsNq2/FpEiydj6PK/FbEUJ14Gc52nbR3zjP4Euln0kmQG84LiNa1NnFClc6+FFEZGKzauavpUrV9KrVy8qVaqU5zmVKlWiZ8+erFq1yuvBiYjkt/V5UfS1bGOa3wfUN+IBWOnqxFTHCI4RWuhrXdOqFqt+OYEb9PCiiIh4F7ATEhJITk6+4Hnnz5/n1Kmi/dWtiFRse454s546b3WJZ6rfB1xtTWsYOWKGMtUxgu/cnby6XlTdYN65q7MeXhQREQ+vAnbDhg1Zs2YNx48fz3WJCEBcXBxr1qyhQYPCV1qJiMTak9n25ylmLd/nk+vZcDLaupx/2JZQ2UjBYVr5t2sgrztvJJm8/zYuPyO6NmLaDW0APbwoIiJ/82oN9vDhwzl79ix9+/bNdQnId999x1VXXcW5c+cYPnx4kQcpIhe3WHsyGw7GE2tP+5uxRVsO0X3WasYt3JHvtucF1cnYz1f+E3nG7yMqGylscrdgYOpMZjtvK3S4thhwT8/GbJxwpSdci4iIZFagHuzszp8/T58+fdi0aROGYRAaGuqp44uJiSE+Ph7TNOnSpQtr1qzJd612eaUebJGii7UnM299NO+ti8YkLbw+3b8Fs5bv80mwrsYZxts+4lbbD0Bap/ULztv5zNULKNhOjwbw0JVNadcghMr+floCIiJSgRU0/3kVsAGSk5OZPHky7777LmfOnMnyWpUqVbjnnnt47rnnqFz54nySXgFbpGgybxrjawZubrKuZYJtITWMswB85OzDbOetnKZqIa+FJ/zntbGNiIhUDMUesDOcP3+e7du3c+TIEQDq1atHp06dLspZ68wUsEW8F2tPpvus1cUSrpsZh3neby6XWfYD8Ku7Ac86RrPNbF7ka1sNg/Xj+2gGW0SkgvLpTo75qVSpEt26dSvqZUSkAimO6r1AzvOIbSljrN/gZ7g4ZwbwqvMm5ruuwVmI3+oyZqxz4zJNYuKTFLBFRCRfRQ7YAAcOHODkyZPUrFmTZs2a+eKSInIRiwwNyjfIFlY/yzamZuq0/tZ1KdMcd12w07p9/RB2ZqsBzG9M2kBGREQKwqsWEQCXy8Xzzz9PeHg4zZs3p0ePHsyaNcvz+ocffki3bt34+eeffTJQESmfsjeEAJxIPO+TcF2Pk7zn9zL/9n+Z+kY8R8xQRqc+wb2Oxy4Yrp+8phlPDWjB+yM6FehxR20gIyIiBeXVDLbL5eLaa69l5cqV2Gw2WrZsyS+//JLlnO7du3PnnXeyZMkSWrdu7ZPBikj5kvlBRsOAu3tEEmCz8Naag0W6rg0nY6zLeSRTp/V7rkG87ryR8wQU6Bovr/zNM668wr7VMHhqQHPa1qum9hARESkwrwL2nDlz+Pbbb7nyyitZsGABdevWxWLJOhkeERFBkyZNWLlyJZMmTfLJYEWk/Ii1JzN+8R5PeDVNeG9ddJGv29nYx/N+c2luSXuwepO7Bc86RvO7Wb/A1zDAswY8t8e8LcAbwzvQsVF1hWoRESk0rwL2Bx98QI0aNfj000+pXr16nue1bNmSXbt2eT04ESm/tv15ymdrrAGqk8gE20fcYvsRgL/MqrzguJ3F7p4UtNN6cPu69GtVm3ELd+R4zQK4+XspyKC2dX03eBERqVC8Ctj79u2jR48e+YZrgJCQEE6cOOHVwESkfCtiA6iHgZubrT8ywfYR1dM7rRc6+/CiF53Wy3Ydo2XdYCwGWVpMrIbBkge6kpTq1lIQEREpMq/XYAcEXHidY2xsbIHOE5GLS6w9GcMo2Kxyfpobh5jhN5dLLb8B8Ku7IRMdo9luetdW5DbhxeX7ebp/C15csR+XaXpmrNs1yH/CQEREpKC8CtiNGjVi9+7d+Z7jcDjYu3cvl1xyiVcDE5Hy6Z0fDxZ5q/PKnOcR22LGWJdjM9ycMwN4xXkT8139cWEt0vhcpknb+tVYP74PMfFJmrEWERGf86qmr3///sTExPDuu+/mec4bb7zByZMnGTRokNeDE5HyI9aezCMfb2dmEcP1VZatrAp4knttX2Mz3Cx3daZfyku87xpU5HANf3dZ1wkJpGuTmgrXIiLic17NYD/55JPMnz+fBx54gF9++YVbbrkFgHPnzrF9+3Y++eQTXnnlFUJDQxk3bpxPBywiZUusPZk3vv+dhZsPF+k69Y2TTLF9wFXW7QAcdocx2TmSNe4OBb6GAQzpWI+l24/iJm0G4caO9fh8x7Esy0EUqkVEpDgZppdPIq1du5YhQ4aQkJCQY62laZpUq1aNZcuW0aNHD58MtKwp6F70IheTXYdPsTkmgcsialAruBLz1kfzbhGr9/xwMsb6DY/YlhBopJJqWnnXdS1vOgcXuNMa4J5ekYzqHkmdkEBi7clZln9k/1lERMQbBc1/XgdsgOPHj/Pqq6/yzTff8Mcff+B2u2nQoAEDBgzgySefpF69et5eusxTwJaK5vFPdrJ4+1GfXvMy41ee95tLM0vadf/nbslEx2gOmoX7vWPCgBbce0UTn45NREQku2IN2IcOHcIwDBo0aFCkQZZnCthSkew6fIob3trgs+vVIJEJtoXcbFsLQLwZzAuO4SwpRKd1ZhbgpwlXanZaRESKVUHzn1drsCMiIujatSs//fST1wMUkfJjc0yCT65j4OYW64+Mz9JpfSWznbdip4rX13UDMfFJCtgiIlImeBWwg4ODiYyM9PVYRKSMuiyiRpGv0cI4xAy/9+lk+R2AX9yNmOgYzQ6z6FWeFiAitHKRryMiIuILXgXsVq1acfhw0RoDRKTsirUnEx1/jiB/K+dSXQT5e1+PV5nz/MO2mNHpndZnzUq86ryJ+a5rfFK7ZwAzh0Zp9lpERMoMrwL22LFjGTt2LFu2bKFz586+HpOIlKJFWw4xfvGeInVZpzG5xrKVKX4fUNdIW2LyjesynnPcSRw1i3z1R/o25ZJaVekUUV3hWkREyhSvAvaoUaPYsWMHV199NU8++SRDhw4lIiJC26KLlHOx9mSeXrynyNepb5xkqm0+/aw7ADiU3mn9QyE6rfNjNQxuvayhgrWIiJRJXrWIWK0F/2tdwzBwOp2FvUWZpxYRKe8yloFEhgZ5guo9C7aw8pcTXl/TDydjrV/zkG2pp9P6Hdd1vOW8oVCd1vmxkLYkZFjnhj65noiISEEVa4tIYTJ5EWq2RaSYLNpyiAlL9uA2wWLA0/1b8P2vx9kcc8rra3ZJ77S+JL3TeqOrFc86RxW60zovBjC2Z2NG9YjQzLWIiJRpXgVst9vt63GIiI9lf1AxY6Y61p7M+CV7yPizr9uEmcv3eX2fGiTyjN9CbrL+3Wk9w3E7S9098KbTOjcG8PmD3WjXoLpPriciIlKcvArYIlK2ZZ6hzmAxYOaQKL7aHYsv/mLJwM0w6w+Mt31ENeMcbtPgI9eVzHYOI7EIndbZWQ2DF4a0UbgWEZFyo1AB+8CBAyxZsoSYmBgCAgJo3749t9xyC4GB+utakbIi1p6cI1xD2ky1Lx5gBGhp/MnzfnM9ndY/uxsx0TGGnWZTn1wf4ME+TejRNIyI0MpaEiIiIuVKgQP2a6+9xlNPPYXL5cpyfNKkSXzzzTe0adPG54MTkcKLjj+XI1z7ShDJ/MO2mFHWFZ5O61ecN/OB62qfdFpD2nKQ8QNbcG+vJj65noiISEkrUMBev349jz/+OKZpEhQURPPmzUlMTOSPP/7gyJEjDB06lF9//RWLxVLc4xWRC4gMDcJi4OOQbXKNZQtT/BZ4Oq2/dl3Gc467OE7Rd3nM7M3hHRjUtq5PrykiIlKSCpSI33zzTUzTZMSIEcTFxbF161Z+++03tm/fTpMmTThw4AArVqwo7rGKSD5i7cl8tfsYq36J49bODQr2f+4CqG+c4H2/l3jH/zXqGgn86a7FyNSneNDxjyKFawtp68IzsxoGHRtprbWIiJRvBZrB3rhxI/Xr1+edd97B39/fc7xt27b861//4tprr+V///sfAwcOLLaBikjefLf74t/SOq2/4iHb555O6zmu63jLOZgU/C98gXTPD25NVL0QFm05wkebD2Hy94OLAM8s2YvLND3HtN5aRETKuwIF7OPHjzNw4MAs4TpDjx49ADhxwvvNKUTEe7sOn/J5uL7c8gvTbfM8ndYbXK2Y5EWn9YSBLbjj8ggWbTnEx1vSwrVhwFMDmns2iunVLIyY+CQ9zCgiIheNAgXs1NRUqlWrlutrGbvYpKam+mxQIlIwvp65romdZ/wWMtS6DoCTZjDPO+7gC3d3CttpPeLyRtzbq0mOVhPThBeX7+f6dnWpExLo+SUiInKxUA+2SDmVEVx9Ea4N3NxqXcPTto89ndYfuvryT+ctXnda94+qA+TeauIyTWLikxSsRUTkolTggH3gwAEWLFjg1et33XVX4UcmIvmatz7aJ00hrYwYnvebS0fLAQD2uiOY6BjNriJ0WlsNg4jQykDurSaZXxcREbnYGKZ54T3dLBYLhuHdlseGYeB0Or16b1mWmJhISEgIdrvds0xGpKTE2pPpNnN1kWavg0jmUdtnjLKuwGqYnDEDecV5Ewt80Gk9tGM9Xr6lvefnRVsO5XiYMWMNtoiISHlR0PxXoBnshg0beh2wRcT3tv15qgjh2qR/eqd1nfRO669cXZjuuLPAtXu3dKxHQrKD737N/eHmz3cc44lrmnuWgAzr3FAPM4qISIVRoIAdExNTzMMQkYLYdfgU7679g6/3xHn1/gbGcZ6zzaePdRcAMe7aTHGO5Ed3u0Jd55PtR/N9Pbc11nqYUUREKgo95ChSTtz/320s3+tdsPbHwVjr1zxkW0olw0GKaWOO6zr+z3lDoTqtC0prrEVEpCJTwBYpB176dp/X4bqr5Weet82liSUWgJ9crZnkHMUfZvFsR64NY0REpKJTwBYpI2LtyWlrq02TSyPS1kJHx5/j6Kkk3lxzsNDXC8XOM34fMsS6HkjrtJ7uuJNl7m4UttM6LxntIBYD7u/dhB5Nw7TGWkREKjwFbJEyILcNYwzw6kFGAze3WdfwtO0jQowk3KbBf139eMl5C4kE+WjE0LFhNd66vaMeXBQREclGAVuklMXakxmfy4Yx3oTr1umd1h3SO633uCOY6BjDbrNJkcaYvccaYNdhOwBdm9Qs0rVFREQuNgrYIqXsqc92c+E2+vwFkcxjts8YmanT+iXnLfzHdRVuLEUe47DODfho8+Esx7Qbo4iISO4UsEVK0a7Dp1j3e3wRrmAywLKZKX4LCDdOAfCl63KmO+7kBNV9M0igR9NQFm05rN0YRURECkABW6QExdqTiY4/R2RoEHVCAvl+X+4btRREw/RO696ZOq0nOUexzt3WV8MF0oJ0x0bVmTkkKsdujJq9FhERyUkBW6QYZQ7Ua3876XmQ0QCGdKzH4gts2JIbfxzcY/2KcbbPPZ3Wb7uu523n9T7rtM5Yc505SGs3RhERkYJRwBYpJou2HGLCkj24zZyNICZ4Fa6zd1qvc7VhsnMU0WadQl2ndnAAJ8+k5HhwMcPrt3agZpWAHEFauzGKiIhcmAK2SDGItSd7wjV41wiSWSh2Jvr9lxutPwFw0gxJ77Tuijed1ifPpPB0/xbUrx7Igwt3ZHnNahh0iqiuIC0iIuKlotcLiEgWsfZkvtp9LM/Z4cKw4OYO6ypWBzzOjdafcJsGHzivom/KS0XaMMZtwosr9tOxUXVmD43CaqRdR2urRUREik4z2CI+lHlZSFG1NqKZ4TeX9pa0XRx3uyOZ6BjDHrNx0S/O3zV7WlstIiLiWwrYIj4Sa0/OsRujN6qQxOO2T7nLuhKrYZKY3mn93yJ0Wue2UUzmmj2trRYREfEdBWwRH5m7PrqI4dpkkGUTk/0WUNs4DcAyV1emO+7gpJed1m8N70CNoLSHFdf+dlI1eyIiIiVAAVvEB3YdPsW/10V7/f6GxnGm2+ZxhXU3ANHu2kxyjma9O6pI46pfPZB2DdLCuZaCiIiIlIxy/5BjQkICt99+O8HBwVSrVo0xY8Zw9uzZfN8TFxfHnXfeSXh4OEFBQXTs2JHFixeX0IjlYhJrT+aZpbu54a0NXs1e++PgYesSVvk/xRXW3aSYNl51DKV/6uwih2uApFR3lp/rhATStUlNhWsREZFiVO5nsG+//XZiY2NZtWoVDoeDUaNGcc8997Bw4cI833PXXXdx+vRpli1bRmhoKAsXLuSWW25h69atdOjQoQRHL+XZoi2HirTmuptlL9Nt8zyd1mtdUUx2jiSmkJ3W+ansX+7/DC0iIlLuGKZp+qDvoHT8+uuvtGrVii1btnDppZcCsGLFCgYOHMiRI0eoW7duru+rUqUKb7/9NnfeeafnWM2aNZk9ezZ33313ge6dmJhISEgIdrud4ODgon8YKTdi7cls+/MUDy3c4VW4DuM0E/3+y2DrBgBOmNWY7riDL73stM6PxYCZQ6IY1rmhT68rIiJSERU0/5XrGeyNGzdSrVo1T7gG6NevHxaLhU2bNnHjjTfm+r5u3bqxaNEiBg0aRLVq1fjkk084f/48vXv3zvNeKSkppKSkeH5OTEz02eeQsivzVueQ9iDj++ujvarhs+BmuPV7nrItIthIwmUa/Md1FS87b+EMlX088jRuE55ZspdezcK0LERERKSElOuAHRcXR61atbIcs9ls1KhRg7i4uDzf98knnzBs2DBq1qyJzWajcuXKLF26lKZNm+b5npkzZzJt2jSfjV3KroxQveeIndkr9uW61XlhtTH+4Hm/ubS3/AHALndjJjpGs9dHndaQexUf/N13rYAtIiJSMspkwB4/fjyzZ8/O95xff/3V6+tPmjSJ06dP89133xEaGsrnn3/OLbfcwrp164iKyv3BsgkTJvDYY495fk5MTKRBgwZej0HKprw2ivE2XFcliceydVr/0zmMD139vO60zo0BLH2gG0dOJTMu29KVzH3XIiIiUvzKZMB+/PHHGTlyZL7nNG7cmPDwcE6cOJHluNPpJCEhgfDw8Fzfd/DgQd5880327t1L69atAWjXrh3r1q3jrbfeYs6cObm+LyAggICAgMJ/GCk3fLVRTBqTay3/Y5Lffzyd1l+4uvG843avO63zZUCt4Eq0a1CdsylO9V2LiIiUojIZsMPCwggLC7vgeV27duX06dNs27aNTp06AbB69WrcbjddunTJ9T1JSUkAWCxZZw+tVitutzu3t0gFUfSNYtI0MuKYbptHL+seAP5whzPJOYqffFC7lxfTxLMMRH3XIiIipatcd3i1bNmS/v37M3bsWDZv3sxPP/3EuHHjuPXWWz0NIkePHqVFixZs3rwZgBYtWtC0aVPuvfdeNm/ezMGDB3n55ZdZtWoVgwcPLsVPI6Up1p7M++u93ygG/u60Xun/NL2se0gx/XjFcRMDUmcVa7iGnMtA1HctIiJSesrkDHZhfPjhh4wbN46+fftisVgYOnQor7/+uud1h8PB/v37PTPXfn5+fPPNN4wfP57rrruOs2fP0rRpUz744AMGDhxYWh9DStm2P0951QySobtlD9Nt82hsSXu4dq0riknOUfxp5r5UqbCuuCSUtb/H5zrDbjHQMhAREZEypFz3YJcm9WBfPIqyYUwYp3nW77/ckN5pfdysxnTHnXzlvhxfdlrn1WLS65JQZt/UVuFaRESkBFSIHmwRb2VU8QX5W70K1xbc3G79jidtiwg2knGZBgtcV/OK8+Zi6bTObXzPD27NHZdH+PxeIiIiUjQK2FLh5FXFV1BtjD+Y4TeXdumd1jvdjZnoGMPPZqQPR/m3Pi3C+HH/ySzjtRoGfVvWLpb7iYiISNEoYEuFEWtPZmtMgtfLQaqSxOO2T7jTuiq907oyLzqHsdDV16ed1tnd07MJ/VuHq3pPRESknFDAlgqhaLPWJtdZNjLJ77/USu+0/tzVjRmOOzhJNR+OMqeMdpCuTWqqek9ERKScUMCWi16sPdnrcB1hxDLdNo+e1r0AHHTXYZJzFBvcbXw8ytw91b+5J0zXCQlUsBYRESkHFLDlohFrT2bVL3HEn02lb4tatGtQnVh7Mu+u/aPQ4TqAVO6zfskDtmUEGA5STD/edN7AO67rSMWveD5ALtrWr1Zi9xIRERHfUMCWi8KiLYd4evEez8+vf3+AS2oF8fuJc4W+Vg/LHqbb5hJpOQ7Aj662THaO9FmndUFl3zxGREREygcFbCn3Yu3JWcJ1hsKG6zBOMcnvv1xv3QikdVpPc9zFN+4u+LLTevoNrankZ+HJz3KO2WKA20QPMoqIiJRjCthS7m2NSSjS+y24ucO6iidsn3g6rT9wXcMrzps4Wwyd1k1rVaVrk5r8748EFm8/6jk+tGM9nrimuR5kFBERKecUsKVcy9iF0VtRxh/M8HuftpZoAHa6m6R3Wkf4aIRZZV728fIt7bmrayO2xpzi0ojqtGtQHUDBWkREpJxTwJYyLWPHxcjQoBzBM6MdxJvmvWDOpXdaf4clvdN6tvNWPnJd6ZNO65s71mNIpwbsPnKaF1fsz7O/ul2Dv4O1iIiIXBwUsKXMytxdbTFg5pAohnVu6Hk9Ov6cF9V7JtdbNjLJ7z+EGXYAlrh68ILjduIJ8dnYh3RqQNcmNenapCbXt6+rZR8iIiIViAK2lEnZu6vdJkxYsofQKv4E+tuIDA0iMjTI81BgQUQasUy3zaWH9WcgrdP6WedoNrpb+3Ts2ds/1F8tIiJSsShgS5mU2+y024QxH2wD/p7Rfrp/C2Yu35fvtQJI5QHbMu6zLiPAcHLe9OMN54285xpULJ3WgzvUVaAWERGpwBSwpUy60Oy024SnF+/h0kbV8r1OT8tunrPN83Ra/+Bqx2TnSA6ZtX084r99vuMYT1zTXCFbRESkglLAljJp7W8nMQuw9GPrn6dzPV6LU0z2+w/XWv8HQJxZnWmOu1juvgxfdlrnxmWaxMQnKWCLiIhUUArYUuYUpR3Egpu7rCt53PYpVdM7ree7+vOqc2ixdFpnRPXMY9UOjCIiIhWbAraUKbH2ZN798aAX7SDQ1jjIDL/3ibLEALDD3ZRnHaOLrdMaYPyAFlSr7MczS/bmWcUnIiIiFYsCtpQZi7YcynXL8wsJ5hxP2D7hjvROa7tZmdnO2/jI1QfTB53W+Wlbvxpdm9SkV7MwVfGJiIgIoIAtZcSuw6e8CNcmN1h+4lm/Dz2d1otdPZjp407rvGReCqIqPhEREcmggC2lzpvtzhsbx5hum0f39E7rA+66THKO8nmndQaLATd2qMfnO45pKYiIiIjkSwFbStWuw6cYX4gHGtM6rb/gPuuXnk7r15038p7rWhw++p9z5gcXLcDdvSIZ1T2SOiGBPHFNcy0FERERkXwpYEupyZi5Lmi4vsKyi2m2+USkd1qvSe+0PuzjTmuTtJB9T6ZgnUFLQURERORCFLClVBSmiq82CUzy+w/XWjelvdeswTTHXaxwd6a4Oq1N4P11MYzqHlks1xcREZGLlwK2lIrctkLPzoqLu6wrecz2GVWNZJymhfmua3jVeRPnKP5ZZG0YIyIiIt5QwJYSE2tPJjr+HEH+Vnb8eSrfc9sZB5jhN5c26Z3W291NmegYw69moxIYaRptGCMiIiLeUMCWErFoyyEmLNlzwVnrYM7ylG0Rw62rsRgmp80gZjtv5WMfdlrXqOxHQpIj33MsoJYQERER8YoCthSrXYdP8f2+E7z+/YELnGky2PITE/3+S5iRCMBiV09ecAznLx93Wl8wXBuw9IFutGtQ3af3FRERkYpBAVuKzeOf7GTx9qMXPK+JcZTptnl0s/4CwO/uekxyjuJ/7lbFPUQPg7QHGzP6rRWuRURExFsK2OITsfZktv15CtM0uTSiBut/P3nBcB1AKg/aPuc+65f4G670TushvOca5LNO64J64ppmdGxYQ/3WIiIiUmQK2FJkhe2zBuht2ck023waWU4AsNrVnsnOkRwxaxXPIC/g5ZW/MXNIFF2b1CyV+4uIiMjFQwFbiiTWnlyonRhrk8BkvwUMsm4G4Fh6p/W3xdhpXRBuE55ZspdezcI0gy0iIiJF4ptaBqmw5q2PxixAurbiYrR1Od8HPMEg62acpoX3nAO5KuWffOu+jJII109e0yzfu2T0XouIiIgUhWawxSsZa67fXRd9wXPbGweY4fc+rS1/ArDNfQkTHWPYZzYs7mF6DGwTzoN9LiG0SgDPLNmLK5c/Faj3WkRERHxBAVsKrTCd1k/bFnFbpk7rWc7bWOTq7bNO64K6s2sEAMM6N6RXszBi4pPYffQ0Ly7fj8s0Pe0hWh4iIiIiRaWALYUSa08uwAONJjda1jPR70NC0zutP3P14gXHcBIILolhZpF9ZrpOSCB1QgLp2qQm17erS0x8ktpDRERExGcUsKVQ5q6PzjdcNzGO8rxtHl3TO61/c9fjWcdoNpstS2aA2VxoZjojbIuIiIj4igK25BBrTyY6/hyRoUEARMefI8jfyqGEJP69Pvc11wGkMs72Ofemd1onm/687hzCv10DS7zTGtJ2Y3z91g50iqiuAC0iIiIlSgFbssi8vjpjd8ML6W3ZwXO2+TS0nATgO1cHpjpHcsQMK9ax5iVj1vradnVL5f4iIiJSsSlgi0esPTnLw4sXCtfh/MVkv/8wMFOn9VTHCFa6L6W0Oq0NYMkDXbXVuYiIiJQaBewKLvNykOj4cxdsBoG0TuuR1m951PYZVYzzOE0L77sG8C/nUJKoVPyDzocJJKW6S3UMIiIiUrEpYFdg2ZeDXBZ54VnfDsbvzPCbS6v0Tuut7mY86xhdop3WGXPjuf1ZQF3WIiIiUtoUsCuo3JaDbIo+lef5IZzladvH3Gpdg8UwOWVWYabzNj51XVHsndZfPNiNpFQ3lf0tJKW6PQFaXdYiIiJSFilgV1AFXQ4CJkMs63jGb6Gn0/pTZy9mOkum03p4lwZ5rqdWl7WIiIiURQrYFUzGmusgf+sFW0KaGEeZ4TeXyy2/ArDfXZ9nHaPZYrYokbECPHTlJRc8R13WIiIiUpYoYFcgBa3gq0QKD9mWMtb6tafT+l/OIbxfwp3WEwa2UHAWERGRckcBu4IoaAVfn/RO6wbpndarXB2Z5hxRKp3WbetVK/F7ioiIiBSVAnYFcaE113X4i8l+Cxhg3QLAUbMmUx0jWOW+tIRGmJUF1AYiIiIi5ZICdgURGRqExSBHyLbh9HRaBxkpOEwr77sG8LpzSKl1WhvAzKFRWh4iIiIi5ZICdgVRJySQpwe0YOY3+zzHOhq/McNvLi0thwDYkt5pvb8EO62zG35ZQx7q21ThWkRERMotBewKJKpeCJDRaf0Rw21rADhlVuEF53A+c/Uq9k7rzCzAXV0bERLoR1hwAH1b1lawFhERkXJPAbsCiaxZmZusa5lg+5CaxhkAFjl7M8t5K6dKoNM6MwNY+mC3PDuuRURERMorBewKYt/uzYSsfpqX/LYDaZ3WEx2j2VqCndaZmcCRU8kK2CIiInLRUcC+2KUm8f07T9Ar/mP8DBdJZgCvOYcw1zUAZyl//fvjztCxUbKWhYiIiMhFxTBNs0AbZktWiYmJhISEYLfbCQ4u2eUVBbZ/BSlfPk7A2SMArHR1YprjLo5S8p3WebEYMHNIFMM6l96DlSIiIiIFUdD8pxnsi9Hpw7BiPOz7igDgiBnKVMcIvnN3Ku2R5eA24Zkle+nVLEwz2SIiInJRKLnKCCl+Lgf89Dq81QX2fYVpsbEm9DauSnmxTIRrAxgUVSfHcZdpEhOfVPIDEhERESkGmsG+WBzaBF89Cid+BuBk9Y7cETeM/UcalPLA0paB3N2jMaN6RACwfG9slg1vrIahXRtFRETkoqGAXd4lJcB3U2D7grSfA2twuuckLlsWVqKd1vlZ+kDWOr6ZQ6J4ZsleXKaJ1TB4YUgbLQ8RERGRi4YCdnllmrDzQ1g1GZL+SjvW4U646jneWhOHSXTpji+TpFR3lp+HdW5Ir2ZhxMQnERFaWeFaRERELioK2OXRiV/hq8fg0Ia0n2u1gmtfhYaXE2tP5v31ZSdcWw2Dyv4WNhyMJzI0yBOm64QEKliLiIjIRUkBuzxJPQc/vggb3wS3E/wqQ+8JcPn9YPUDIDr+XJb1zaXJahgM7lCXG/9vA25TlXwiIiJSMShglxfHf4GFw8B+KO3nFtdC/1lQLetDjBsOxJfC4HJ6a3gH6lcP9IRrUCWfiIiIVAwK2OVFtYZguiGkIQx8EZoPyHFKrD2Zt9YcLIXB5VQjKIBzqa4cs+kZlXwK2CIiInKxUsAuLwKqwO2fQPUI8A/K9ZTo+HOUhdUhFgNP7Z4BWcZkZHpNRERE5GJUNnrcpGBqt84zXAME+VtLcDC5M9LXWec5Q10W/gQgIiIiUozKfcCeMWMG3bp1o3LlylSrVq1A7zFNk8mTJ1OnTh0CAwPp168fv//+e/EOtAQcSii93RAfvrIpbw3vwIbxV3oeYsxtRt0E7dooIiIiF7VyH7BTU1O5+eabuf/++wv8nhdffJHXX3+dOXPmsGnTJoKCgrjmmms4f/58MY60+BmGUSr3tQC3dWnIoLZ1s8xcR4YGYck2JO3aKCIiIhe7ch+wp02bxqOPPkpUVFSBzjdNk9dee41nn32WG264gbZt27JgwQKOHTvG559/XryDLUax9mSmfPFzqdx75tDcl4TUCQlk5pAorOnBX7s2ioiISEVQ4R5yjI6OJi4ujn79+nmOhYSE0KVLFzZu3Mitt96a6/tSUlJISUnx/JyYmFjsYy2oRVsO8fTiPaVy7+k3tM6311q7NoqIiEhFU+5nsAsrLi4OgNq1a2c5Xrt2bc9ruZk5cyYhISGeXw0aNMjz3JIUa09mwpLSCdcG0K9V7QueVyckkK5Naipci4iISIVQJgP2+PHjMQwj31/79u0r0TFNmDABu93u+XX48OESvX9eSmvnRgswK4+lISIiIiIVWZlcIvL4448zcuTIfM9p3LixV9cODw8H4Pjx49SpU8dz/Pjx47Rv3z7P9wUEBBAQEODVPYtTZGhQjq7p4jQwKpw7L4/Qcg8RERGRPJTJgB0WFkZYWFixXDsyMpLw8HC+//57T6BOTExk06ZNhWoiKSvW/nayRKulv917nEnXtlK4FhEREclDmVwiUhiHDh1i586dHDp0CJfLxc6dO9m5cydnz571nNOiRQuWLl0KpFXZ/eMf/+D5559n2bJl7Nmzh7vuuou6desyePDgUvoU3om1JzO+hB9uzNjqXERERERyVyZnsAtj8uTJfPDBB56fO3ToAMCaNWvo3bs3APv378dut3vOeeqppzh37hz33HMPp0+fpkePHqxYsYJKlSqV6NiLqjS2RlePtYiIiEj+DNM0tXm1FxITEwkJCcFutxMcHFwqY9h1+BQ3vLWhxO6X0WOdXy2fiIiIyMWqoPmv3M9gV2QltTW6BXhjeAc6NqqutdciIiIiF6CAXU6V1OYyFtJ2ahzUtm6x30tERETkYqCAXQ6V1MONFgOWPtCNdg2qF/u9RERERC4W5b5FpCLaGpNQ7A83WgyYOSRK4VpERESkkBSwyyHDMIp8jZs71SOvq1hIm7nWw4wiIiIihaeAXQ51alQ9z3BcUJ9tO8qQjvWwZgvrVsNg5lDNXIuIiIh4S2uwy6E6IYGMH9CCmcv3eX0NE1i6/ShLH+xGUqqbyv4WklLd2gJdREREpIgUsMupqPohRb6GG0hKddO1Sc2iD0hEREREAC0RKbciQ4Ow5LJOZECb8EItH9GujCIiIiK+pYBdTtUJCWTmkCjPGmqLAcO7NOS+Kxoz7YZWBbqGD56VFBEREZFstESkHBvWuSG9moXxxurfWbjpMAs3HWLhpkMFfr9pQkx8ktZci4iIiPiQZrDLuWU7j7Fw02Gv3ms1DC0REREREfExBexyLNaezKxCNolkrAqxGgYvDGmj2WsRERERH9MSkXJs3vroQu3oaACfp9fyqY5PREREpHgoYJdTsfZk3l0XXaj3jO0VqQ1kRERERIqZAnY5E2tPJjr+HH+dTSnU+ywGjOoeWUyjEhEREZEMCtjlyKIth5iwZA9uk1w7sPOi9dYiIiIiJUcBu5yItSd7wjWA20xbU53bGmwL8MbwDtSvHqj11iIiIiIlTAG7nIiOP+cJ1xnyesDRDdQICtB6axEREZFSoJq+ciKvrdFzo35rERERkdKjgF1O5LY1em552wJaby0iIiJSirREpBzJ2Bo9Jj6JiNDKvPTtfhZvP+p5vdclocy+qa3CtYiIiEgpUsAuZ+qEBFInJJBYezJLdxzN8tpPB/4qpVGJiIiISAYtESmncnvo0WWaxMQnlc6ARERERARQwC63cnvoUQ83ioiIiJQ+BexyKvtDj9pMRkRERKRs0BrsciRjm/TI0CDqhATmeOhR4VpERESk9ClglxPZt0mfOSSKYZ0beh56FBEREZGyQUtEyoFYezLjF2fdJn38kj3E2pNLd2AiIiIikoMCdjmw7c9TObZFN03Y/uepUhmPiIiIiORNAbscMM3s8TrjeAkPREREREQuSAG7HLg0okaObdENoFNE9dIYjoiIiIjkQwG7HKgTEsisoVGeL8sCzBoapYcbRURERMogtYiUE6rkExERESkfNINdzpg5HncUERERkbJEM9jlRF492CIiIiJStmgGuxyItSd7wjWk9WA/s2SverBFREREyiAF7HIgOv6cJ1xncJkmMfFJpTMgEREREcmTAnY5EBkahCVbT5/VMIgIrVw6AxIRERGRPClglwN1QgKZOSQKq5GWsq2GwQtD2qhJRERERKQM0kOO5YRq+kRERETKBwXscqROSKCCtYiIiEgZpyUiIiIiIiI+pIAtIiIiIuJDCtgiIiIiIj6kgC0iIiIi4kMK2CIiIiIiPqSALSIiIiLiQwrYIiIiIiI+pIAtIiIiIuJDCtgiIiIiIj6kgC0iIiIi4kMK2CIiIiIiPqSALSIiIiLiQwrYIiIiIiI+pIAtIiIiIuJDCtgiIiIiIj5kK+0BlFemaQKQmJhYyiMRERERkZKQkfsycmBeFLC9dObMGQAaNGhQyiMRERERkZJ05swZQkJC8nzdMC8UwSVXbrebY8eOUbVqVQzD8OoaiYmJNGjQgMOHDxMcHOzjEUpZpe+94tF3XvHoO6+Y9L1f/EzT5MyZM9StWxeLJe+V1prB9pLFYqF+/fo+uVZwcLD+j1gB6XuvePSdVzz6zismfe8Xt/xmrjPoIUcRERERER9SwBYRERER8SEF7FIUEBDAlClTCAgIKO2hSAnS917x6DuvePSdV0z63iWDHnIUEREREfEhzWCLiIiIiPiQAraIiIiIiA8pYIuIiIiI+JACtoiIiIiIDylgl7AZM2bQrVs3KleuTLVq1Qr0HtM0mTx5MnXq1CEwMJB+/frx+++/F+9AxWcSEhK4/fbbCQ4Oplq1aowZM4azZ8/m+564uDjuvPNOwsPDCQoKomPHjixevLiERiy+4M33DrBx40auvPJKgoKCCA4OplevXiQnJ5fAiKWovP3OIe33+QEDBmAYBp9//nnxDlR8prDfeUJCAg899BDNmzcnMDCQhg0b8vDDD2O320tw1FISFLBLWGpqKjfffDP3339/gd/z4osv8vrrrzNnzhw2bdpEUFAQ11xzDefPny/GkYqv3H777fz888+sWrWKr776irVr13LPPffk+5677rqL/fv3s2zZMvbs2cOQIUO45ZZb2LFjRwmNWorKm+9948aN9O/fn6uvvprNmzezZcsWxo0bl+92vFJ2ePOdZ3jttdcwDKOYRyi+Vtjv/NixYxw7doyXXnqJvXv3Mn/+fFasWMGYMWNKcNRSIkwpFfPmzTNDQkIueJ7b7TbDw8PNf/7zn55jp0+fNgMCAsyPPvqoGEcovvDLL7+YgLllyxbPseXLl5uGYZhHjx7N831BQUHmggULshyrUaOG+d577xXbWMV3vP3eu3TpYj777LMlMUTxMW+/c9M0zR07dpj16tUzY2NjTcBcunRpMY9WfKEo33lmn3zyienv7286HI7iGKaUEk2LlHHR0dHExcXRr18/z7GQkBC6dOnCxo0bS3FkUhAbN26kWrVqXHrppZ5j/fr1w2KxsGnTpjzf161bNxYtWkRCQgJut5uPP/6Y8+fP07t37xIYtRSVN9/7iRMn2LRpE7Vq1aJbt27Url2bK664gvXr15fUsKUIvP3/elJSEsOHD+ett94iPDy8JIYqPuLtd56d3W4nODgYm81WHMOUUqKAXcbFxcUBULt27SzHa9eu7XlNyq64uDhq1aqV5ZjNZqNGjRr5fn+ffPIJDoeDmjVrEhAQwL333svSpUtp2rRpcQ9ZfMCb7/2PP/4AYOrUqYwdO5YVK1bQsWNH+vbtq2cuygFv/7/+6KOP0q1bN2644YbiHqL4mLffeWbx8fFMnz69wEuJpPxQwPaB8ePHYxhGvr/27dtX2sMUHyru73zSpEmcPn2a7777jq1bt/LYY49xyy23sGfPHh9+Cims4vze3W43APfeey+jRo2iQ4cOvPrqqzRv3py5c+f68mNIIRTnd75s2TJWr17Na6+95ttBS5GU1H/TExMTGTRoEK1atWLq1KlFH7iUKfr7CB94/PHHGTlyZL7nNG7c2KtrZ/yV4fHjx6lTp47n+PHjx2nfvr1X15SiK+h3Hh4ezokTJ7IcdzqdJCQk5PnXwQcPHuTNN99k7969tG7dGoB27dqxbt063nrrLebMmeOTzyCFV5zfe8b/v1u1apXleMuWLTl06JD3g5YiKc7vfPXq1Rw8eDBHo9TQoUPp2bMnP/zwQxFGLt4qzu88w5kzZ+jfvz9Vq1Zl6dKl+Pn5FXXYUsYoYPtAWFgYYWFhxXLtyMhIwsPD+f777z2BOjExkU2bNhWqiUR8q6DfedeuXTl9+jTbtm2jU6dOQNp/VN1uN126dMn1PUlJSQA5miOsVqtnllNKR3F+7xEREdStW5f9+/dnOf7bb78xYMCAog9evFKc3/n48eO5++67sxyLiori1Vdf5brrriv64MUrxfmdQ9p/w6+55hoCAgJYtmwZlSpV8tnYpQwp7acsK5o///zT3LFjhzlt2jSzSpUq5o4dO8wdO3aYZ86c8ZzTvHlzc8mSJZ6fZ82aZVarVs384osvzN27d5s33HCDGRkZaSYnJ5fGR5BC6t+/v9mhQwdz06ZN5vr1681LLrnEvO222zyvHzlyxGzevLm5adMm0zRNMzU11WzatKnZs2dPc9OmTeaBAwfMl156yTQMw/z6669L62NIIRX2ezdN03z11VfN4OBg89NPPzV///1389lnnzUrVapkHjhwoDQ+ghSSN995dqhFpFwp7Hdut9vNLl26mFFRUeaBAwfM2NhYzy+n01laH0OKgQJ2CRsxYoQJ5Pi1Zs0azzmAOW/ePM/PbrfbnDRpklm7dm0zICDA7Nu3r7l///6SH7x45a+//jJvu+02s0qVKmZwcLA5atSoLH+gio6OzvG/gd9++80cMmSIWatWLbNy5cpm27Ztc9T2SdnmzfdumqY5c+ZMs379+mblypXNrl27muvWrSvhkYu3vP3OM1PALl8K+52vWbMm1wwAmNHR0aXzIaRYGKZpmiU9ay4iIiIicrFSi4iIiIiIiA8pYIuIiIiI+JACtoiIiIiIDylgi4iIiIj4kAK2iIiIiIgPKWCLiIiIiPiQAraIiIiIiA8pYIuIiIiI+JACtohIERiGUehfvXv3Lu1h56t37945xhwUFESdOnXo3r07Dz30EKtXr0b7lImI5M5W2gMQESnPRowYkeNYXFwc3377bZ6vt2jRoljHNHLkSD744APmzZvHyJEjvb5Ou3btaN++PQCpqan89ddf7Nq1iw0bNvDmm2/Stm1b5s+fT4cOHXwzcNL+wAIovItIuaaALSJSBPPnz89x7IcffvAE7NxeLy8GDx7M1KlTcxxft24dTzzxBJs3b6ZHjx78+OOPXHrppSU/QBGRMkpLREREpFB69uzJunXr6NGjB0lJSQwfPhyXy1XawxIRKTMUsEVESlhycjIvv/wyl19+OdWqVaNSpUo0b96cp556ir/++ivX93z66af069ePmjVr4ufnR82aNWnVqhVjx45l9+7dAMTExGAYBh988AEAo0aNyrKOOrfZaG/5+/szZ84cAH7//Xc+//zzLK//+eefzJ49myuvvJKGDRsSEBBAtWrV6NGjB++88w5utzvL+VOnTvUsD4Gca9tjYmIAcDgc/Pe//+X222+nRYsWBAcHExgYSPPmzXn44Yc5duxYoT7HFVdcgWEYfPTRR3me8+KLL2IYBrfcckuhri0iFZeWiIiIlKBjx47Rv39/9uzZQ40aNejcuTNVq1Zl+/bt/POf/+TTTz/lhx9+oFGjRp73PPfcc0yZMgWbzUa3bt2oV68edrudQ4cO8f7779O6dWvatm1LlSpVGDFiBOvXr+fgwYN0796dpk2beq6TsZ7aV1q3bk2HDh3YsWMHq1atYujQoZ7X/vOf/zBp0iQiIyNp1qwZ3bt3JzY2lo0bN/LTTz+xcuVKPvvsM0+obt++PSNGjPD84SD72vUqVaoAcPz4ce68805CQkJo2bIlbdu25dy5c+zcuZM33niDjz/+mA0bNmT53Pl55JFHWLt2LW+++Sa33XZbjtfdbjdvv/02AOPGjSv8vyQRqZhMERHxqTVr1piAmf23WLfbbXbv3t0EzDFjxpiJiYme1xwOh/n444+bgNmnTx/P8fPnz5uBgYFmlSpVzH379uW4V0xMjPnrr79mOTZixAgTMOfNm+fV+K+44goTMKdMmXLBc++++24TMHv06JHl+ObNm809e/bkOP/o0aNmu3btTMD85JNPcrye27+3zBITE80vvvjCTElJyXI8NTXVnDBhggmYAwcOvOC4MzidTrNRo0YmYG7fvj3H619++aUJmG3bti3wNUVEtERERKSEfPvtt/z000+0b9+eOXPmULVqVc9rNpuNF198kTZt2rBmzRr27t0LQGJiIsnJyTRu3JjmzZvnuGajRo2KvZUkP6GhoQA5lrZ07tyZNm3a5Di/bt26vPjii0DaspfCqlq1Ktdffz3+/v5Zjvv5+fHCCy9Qt25dVqxYwZkzZwp0PavVyoMPPgjAW2+9leP1N998E8BzjohIQWiJiIhICfn6668BGDp0KDZbzt9+LRYLvXr1Yu/evWzYsIE2bdoQFhZGREQEu3fv5vHHH2fMmDG0atWqpIeep4y11JnXT2dISUlh5cqVbNmyhRMnTpCSkoJpmp7wu3//fq/vu2vXLr7//nuio6M5d+6cZxxOpxO3282BAwcKXB949913M3XqVBYuXMg///lPqlevDsCBAwdYuXIl1apV44477vB6rCJS8Shgi4iUkD/++AOASZMmMWnSpHzPPXnypOefFyxYwE033cQrr7zCK6+8Qo0aNejSpQtXXXUVd955p2cWuTTEx8cDUKNGjSzH//e//zFs2DAOHTqU53sTExMLfb9z585x5513snTp0nzPK8y1q1evzp133sk777zD+++/zxNPPAHA//3f/2GaJqNGjaJy5cqFHquIVFwK2CIiJSRjlrVHjx40adIk33Nbt27t+eeePXsSExPD119/zY8//siGDRv49ttvWb58OVOmTGHp0qX07du3WMeel+3btwMQFRXlOZaUlMTgwYM5fvw4o0aN4v7776dp06YEBwdjtVr57bffaN68uVebyUyYMIGlS5fSokULZs2aRefOnQkNDfUsGenWrRsbN24s9LUffvhh3nnnHd5++20ee+wxzp8/z7x58zAMQ8tDRKTQFLBFREpIgwYNALjhhhs8s6QFFRgYyE033cRNN90EpM1wP/vss7z77ruMHj2aP//80+fjvZCff/6ZnTt3AnD11Vd7jq9du5bjx4/TsWNH5s6dm+N9v//+u9f3/OSTTwBYtGgRbdu29dm1W7VqRb9+/fjuu+9Yvnw5x44d4/Tp0wwYMOCCfxgSEclODzmKiJSQAQMGAGkP93kze5tZWFiY52HBQ4cOcerUKc9rGbO5TqezSPfIT2pqKvfddx+QtvX79ddf73ktISEBgIYNG+b63v/+9795XtfPzw/Ie+wZ185cY5jh22+/9SxZ8cYjjzwCpD3YmPHAo6r5RMQbCtgiIiXkhhtuoHPnzmzevJlRo0ZlWWed4dSpU8yZM8cTMP/880/+/e9/57qm+MsvvwTS1hAHBwd7jtevXx9Im2EuDj/99BM9e/Zk/fr1VKlShQ8//BCL5e//nLRs2RKA77//nl9++SXLe999910WLVqU57UvNPaMa7/xxhtZju/fv98T+L01cOBAmjZtyooVK9i1axdNmjTx/KFIRKQwDLOo0ygiIpLFDz/8QJ8+fQByzFQfO3aMQYMGsXPnToKCgmjXrh0NGzYkNTWVP/74gz179uByuUhOTqZSpUrs3LmTDh064OfnR/v27YmMjATSlkLs2LEDwzB47733GDNmjOceu3fv9jRoXHnllTRo0ACLxcL111+fZaY5L7179+bHH3+kXbt2ns1pHA4HCQkJ7Ny5k7i4OADatWvH/Pnzc93AZvDgwXzxxRf4+/vTu3dvatSowc6dO9m/fz/PPPMMM2bMoFGjRp4dGjM8+eSTvPTSS4SGhnLllVd6qgxnz55NzZo1WbJkCTfddBOmaRIVFUXr1q05ceIE69ato2fPnpw/f54NGzawZs0aevfufcHPmt2//vUv/vGPfwDw8ssv89hjjxX6GiIi2mhGRMTH8tpoJsP58+fNOXPmmH369DFr1qxp2mw2s1atWmb79u3NBx980Pz222895yYmJpqvvfaaeeONN5qXXHKJWaVKFTMoKMhs1qyZedddd5lbt27N9R5Lly41u3fvblatWtU0DKPAG8eY5t8bzWT+FRgYaIaHh5tdu3b9/3buHlWRIArA6I0UOhQDMw2MRFchuAV3IAbGYmAqCK7ArYgiuAbBsEEQQ8VENLBeMhjMMDA/DY/HOyfurr6dfRRFpdFolDabTXq9Xr9d4/l8psVikTqdTsqyLFUqldTr9dJqtUp5nqeISPV6/Zf37vd7Go/HqdlsplKp9P5+nufvZ3a7Xep2u6laraYsy1K73U6z2Sw9Ho/37Nvt9o/+9WeHwyFFRMqyLF0ul39aA8AONgD8MJ1OYzabxWAwiOVy+dnjAF+UwAaAiDifz9FqteJ2u8V+v3+f9wb4W67pA+Bbm0wmcTqdYr1ex/V6jeFwKK6B/2IHG4BvrdFoxPF4jFqtFv1+P+bzeZTL5c8eC/jCBDYAABTIPdgAAFAggQ0AAAUS2AAAUCCBDQAABRLYAABQIIENAAAFEtgAAFAggQ0AAAX6AMrKeQJQIta3AAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -523,13 +475,12 @@ ], "source": [ "# Plot the surrogate model's output vs. the testing data output\n", - "y_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()]\n", "\n", + "y_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()]\n", "\n", "fig2 = plt.figure(figsize=(8,6))\n", "ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75])\n", "\n", - "\n", "ax2.plot(y_tst[:,0],y_tst_approx[\"Y_eval\"],\".\")\n", "ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line\n", "\n", @@ -537,23 +488,62 @@ "ax2.set_ylabel(\"Predicted y\", size=16); " ] }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The training RMSE in the PCE BCS approximation is 1.62e-02\n", + "The testing RMSE in the PCE BCS approximation is 1.80e-02\n" + ] + } + ], + "source": [ + "# Evaluate goodness of fit with RMSE\n", + "rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx[\"Y_eval\"])\n", + "print(\"The training RMSE in the PCE BCS approximation is %.2e\"%rmse_trn)\n", + "\n", + "rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx[\"Y_eval\"])\n", + "print(\"The testing RMSE in the PCE BCS approximation is %.2e\"%rmse_tst)" + ] + }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Functions for cross-validation algorithm" + "From our parity plots, we can see how BCS already generalizes better to unseen data as compared to LSQ, with reduced error in our testing data predictions. In our RMSE calculations, notice how the training error is smaller than the testing error. Though the difference in value is small, this amount is still significant as we have noise in our training data yet no noise in our testing data. That the testing error is higher than the training error suggests that overfitting is still happening within our model. \n", + "\n", + "In the next section, we explore how finding the optimal value of eta -- the stopping criterion for the BCS parameter of gamma, determined through a Bayesian evidence maximization approach -- can impact model sparsity and accuracy to avoid overfitting." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Below, we expose the cross-validation algorithm `optimize_eta` and its two helper functions, `kfold_split` and `kfold_cv`." + "# BCS with optimal eta (found through cross-validation) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before we build our PC surrogate again with the most optimal eta, we first expose the cross-validation algorithm `optimize_eta` and its two helper functions, `kfold_split` and `kfold_cv` below. These functions have been implemented under-the-hood in the PCE surrogate class, but for the purposes of this tutorial, you may find it useful to follow along with the K-fold cross-validation method used to find the most optimal eta (the eta with the lowest validation RMSE across all of its folds)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Functions for cross-validation algorithm" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -601,7 +591,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -651,11 +641,11 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ - "def optimize_eta(pce, etas, nfolds, verbose=0, plot=False):\n", + "def optimize_eta(pce, etas, nfolds=3, verbose=0, plot=False):\n", " \"\"\"\n", " Choose the optimum eta for Bayesian compressive sensing. Calculates the RMSE\n", " for each eta for a specified number of folds. Selects the eta with the lowest\n", @@ -716,7 +706,7 @@ " y_test_eval = (pce_copy.evaluate(x_test))['Y_eval']\n", "\n", " # Print statement for verbose flag\n", - " if verbose > 1:\n", + " if verbose > 0:\n", " print(\"Fold \" + str(i + 1) + \", eta \" + str(eta) + \", \" + str(len(cfs)) + \" terms retained out of a full basis of size \" + str(len(pce.pcrv.mindices[0])))\n", " \n", " # Calculate the RMSEs for the training and validation points.\n", @@ -771,6 +761,360 @@ "\n", " return eta_opt" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### BCS build with the most optimal eta" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Instead of using a default eta, here we call the cross-validation algorithm, `optimize_eta()`, to choose the most optimal eta from a range of etas given below. \n", + "\n", + "- With the flag `plot=True`, the CV algorithm produces a graph of the training and testing (validation) data's RMSE values for each eta. The eta with the smallest RMSE for the validation data is the one chosen as the optimal eta." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fold 1, eta 1.0, 3 terms retained out of a full basis of size 17\n", + "Fold 1, eta 0.1, 3 terms retained out of a full basis of size 17\n", + "Fold 1, eta 0.01, 4 terms retained out of a full basis of size 17\n", + "Fold 1, eta 0.001, 5 terms retained out of a full basis of size 17\n", + "Fold 1, eta 0.0001, 9 terms retained out of a full basis of size 17\n", + "Fold 1, eta 1e-05, 12 terms retained out of a full basis of size 17\n", + "Fold 1, eta 1e-06, 13 terms retained out of a full basis of size 17\n", + "Fold 1, eta 1e-07, 16 terms retained out of a full basis of size 17\n", + "Fold 1, eta 1e-08, 16 terms retained out of a full basis of size 17\n", + "Fold 1, eta 1e-09, 16 terms retained out of a full basis of size 17\n", + "Fold 1, eta 1e-10, 16 terms retained out of a full basis of size 17\n", + "Fold 1, eta 1e-11, 16 terms retained out of a full basis of size 17\n", + "Fold 1, eta 1e-12, 16 terms retained out of a full basis of size 17\n", + "Fold 1, eta 1e-13, 16 terms retained out of a full basis of size 17\n", + "Fold 1, eta 1e-14, 16 terms retained out of a full basis of size 17\n", + "Fold 1, eta 1e-15, 16 terms retained out of a full basis of size 17\n", + "Fold 2, eta 1.0, 3 terms retained out of a full basis of size 17\n", + "Fold 2, eta 0.1, 3 terms retained out of a full basis of size 17\n", + "Fold 2, eta 0.01, 4 terms retained out of a full basis of size 17\n", + "Fold 2, eta 0.001, 5 terms retained out of a full basis of size 17\n", + "Fold 2, eta 0.0001, 9 terms retained out of a full basis of size 17\n", + "Fold 2, eta 1e-05, 12 terms retained out of a full basis of size 17\n", + "Fold 2, eta 1e-06, 16 terms retained out of a full basis of size 17\n", + "Fold 2, eta 1e-07, 18 terms retained out of a full basis of size 17\n", + "Fold 2, eta 1e-08, 18 terms retained out of a full basis of size 17\n", + "Fold 2, eta 1e-09, 18 terms retained out of a full basis of size 17\n", + "Fold 2, eta 1e-10, 18 terms retained out of a full basis of size 17\n", + "Fold 2, eta 1e-11, 18 terms retained out of a full basis of size 17\n", + "Fold 2, eta 1e-12, 18 terms retained out of a full basis of size 17\n", + "Fold 2, eta 1e-13, 18 terms retained out of a full basis of size 17\n", + "Fold 2, eta 1e-14, 18 terms retained out of a full basis of size 17\n", + "Fold 2, eta 1e-15, 18 terms retained out of a full basis of size 17\n", + "Fold 3, eta 1.0, 3 terms retained out of a full basis of size 17\n", + "Fold 3, eta 0.1, 3 terms retained out of a full basis of size 17\n", + "Fold 3, eta 0.01, 4 terms retained out of a full basis of size 17\n", + "Fold 3, eta 0.001, 8 terms retained out of a full basis of size 17\n", + "Fold 3, eta 0.0001, 9 terms retained out of a full basis of size 17\n", + "Fold 3, eta 1e-05, 12 terms retained out of a full basis of size 17\n", + "Fold 3, eta 1e-06, 14 terms retained out of a full basis of size 17\n", + "Fold 3, eta 1e-07, 17 terms retained out of a full basis of size 17\n", + "Fold 3, eta 1e-08, 17 terms retained out of a full basis of size 17\n", + "Fold 3, eta 1e-09, 18 terms retained out of a full basis of size 17\n", + "Fold 3, eta 1e-10, 18 terms retained out of a full basis of size 17\n", + "Fold 3, eta 1e-11, 18 terms retained out of a full basis of size 17\n", + "Fold 3, eta 1e-12, 18 terms retained out of a full basis of size 17\n", + "Fold 3, eta 1e-13, 18 terms retained out of a full basis of size 17\n", + "Fold 3, eta 1e-14, 18 terms retained out of a full basis of size 17\n", + "Fold 3, eta 1e-15, 18 terms retained out of a full basis of size 17\n", + "Fold 4, eta 1.0, 3 terms retained out of a full basis of size 17\n", + "Fold 4, eta 0.1, 3 terms retained out of a full basis of size 17\n", + "Fold 4, eta 0.01, 4 terms retained out of a full basis of size 17\n", + "Fold 4, eta 0.001, 5 terms retained out of a full basis of size 17\n", + "Fold 4, eta 0.0001, 11 terms retained out of a full basis of size 17\n", + "Fold 4, eta 1e-05, 11 terms retained out of a full basis of size 17\n", + "Fold 4, eta 1e-06, 16 terms retained out of a full basis of size 17\n", + "Fold 4, eta 1e-07, 17 terms retained out of a full basis of size 17\n", + "Fold 4, eta 1e-08, 17 terms retained out of a full basis of size 17\n", + "Fold 4, eta 1e-09, 17 terms retained out of a full basis of size 17\n", + "Fold 4, eta 1e-10, 17 terms retained out of a full basis of size 17\n", + "Fold 4, eta 1e-11, 17 terms retained out of a full basis of size 17\n", + "Fold 4, eta 1e-12, 17 terms retained out of a full basis of size 17\n", + "Fold 4, eta 1e-13, 17 terms retained out of a full basis of size 17\n", + "Fold 4, eta 1e-14, 17 terms retained out of a full basis of size 17\n", + "Fold 4, eta 1e-15, 17 terms retained out of a full basis of size 17\n", + "Fold 5, eta 1.0, 3 terms retained out of a full basis of size 17\n", + "Fold 5, eta 0.1, 3 terms retained out of a full basis of size 17\n", + "Fold 5, eta 0.01, 4 terms retained out of a full basis of size 17\n", + "Fold 5, eta 0.001, 7 terms retained out of a full basis of size 17\n", + "Fold 5, eta 0.0001, 10 terms retained out of a full basis of size 17\n", + "Fold 5, eta 1e-05, 12 terms retained out of a full basis of size 17\n", + "Fold 5, eta 1e-06, 14 terms retained out of a full basis of size 17\n", + "Fold 5, eta 1e-07, 14 terms retained out of a full basis of size 17\n", + "Fold 5, eta 1e-08, 14 terms retained out of a full basis of size 17\n", + "Fold 5, eta 1e-09, 14 terms retained out of a full basis of size 17\n", + "Fold 5, eta 1e-10, 14 terms retained out of a full basis of size 17\n", + "Fold 5, eta 1e-11, 14 terms retained out of a full basis of size 17\n", + "Fold 5, eta 1e-12, 14 terms retained out of a full basis of size 17\n", + "Fold 5, eta 1e-13, 14 terms retained out of a full basis of size 17\n", + "Fold 5, eta 1e-14, 14 terms retained out of a full basis of size 17\n", + "Fold 5, eta 1e-15, 14 terms retained out of a full basis of size 17\n", + "Fold 6, eta 1.0, 3 terms retained out of a full basis of size 17\n", + "Fold 6, eta 0.1, 3 terms retained out of a full basis of size 17\n", + "Fold 6, eta 0.01, 4 terms retained out of a full basis of size 17\n", + "Fold 6, eta 0.001, 7 terms retained out of a full basis of size 17\n", + "Fold 6, eta 0.0001, 11 terms retained out of a full basis of size 17\n", + "Fold 6, eta 1e-05, 11 terms retained out of a full basis of size 17\n", + "Fold 6, eta 1e-06, 16 terms retained out of a full basis of size 17\n", + "Fold 6, eta 1e-07, 16 terms retained out of a full basis of size 17\n", + "Fold 6, eta 1e-08, 16 terms retained out of a full basis of size 17\n", + "Fold 6, eta 1e-09, 17 terms retained out of a full basis of size 17\n", + "Fold 6, eta 1e-10, 17 terms retained out of a full basis of size 17\n", + "Fold 6, eta 1e-11, 17 terms retained out of a full basis of size 17\n", + "Fold 6, eta 1e-12, 17 terms retained out of a full basis of size 17\n", + "Fold 6, eta 1e-13, 17 terms retained out of a full basis of size 17\n", + "Fold 6, eta 1e-14, 17 terms retained out of a full basis of size 17\n", + "Fold 6, eta 1e-15, 17 terms retained out of a full basis of size 17\n", + "Fold 7, eta 1.0, 3 terms retained out of a full basis of size 17\n", + "Fold 7, eta 0.1, 3 terms retained out of a full basis of size 17\n", + "Fold 7, eta 0.01, 4 terms retained out of a full basis of size 17\n", + "Fold 7, eta 0.001, 4 terms retained out of a full basis of size 17\n", + "Fold 7, eta 0.0001, 7 terms retained out of a full basis of size 17\n", + "Fold 7, eta 1e-05, 13 terms retained out of a full basis of size 17\n", + "Fold 7, eta 1e-06, 13 terms retained out of a full basis of size 17\n", + "Fold 7, eta 1e-07, 13 terms retained out of a full basis of size 17\n", + "Fold 7, eta 1e-08, 13 terms retained out of a full basis of size 17\n", + "Fold 7, eta 1e-09, 13 terms retained out of a full basis of size 17\n", + "Fold 7, eta 1e-10, 13 terms retained out of a full basis of size 17\n", + "Fold 7, eta 1e-11, 13 terms retained out of a full basis of size 17\n", + "Fold 7, eta 1e-12, 13 terms retained out of a full basis of size 17\n", + "Fold 7, eta 1e-13, 13 terms retained out of a full basis of size 17\n", + "Fold 7, eta 1e-14, 13 terms retained out of a full basis of size 17\n", + "Fold 7, eta 1e-15, 13 terms retained out of a full basis of size 17\n", + "Fold 8, eta 1.0, 3 terms retained out of a full basis of size 17\n", + "Fold 8, eta 0.1, 3 terms retained out of a full basis of size 17\n", + "Fold 8, eta 0.01, 4 terms retained out of a full basis of size 17\n", + "Fold 8, eta 0.001, 7 terms retained out of a full basis of size 17\n", + "Fold 8, eta 0.0001, 10 terms retained out of a full basis of size 17\n", + "Fold 8, eta 1e-05, 11 terms retained out of a full basis of size 17\n", + "Fold 8, eta 1e-06, 15 terms retained out of a full basis of size 17\n", + "Fold 8, eta 1e-07, 16 terms retained out of a full basis of size 17\n", + "Fold 8, eta 1e-08, 16 terms retained out of a full basis of size 17\n", + "Fold 8, eta 1e-09, 16 terms retained out of a full basis of size 17\n", + "Fold 8, eta 1e-10, 16 terms retained out of a full basis of size 17\n", + "Fold 8, eta 1e-11, 16 terms retained out of a full basis of size 17\n", + "Fold 8, eta 1e-12, 16 terms retained out of a full basis of size 17\n", + "Fold 8, eta 1e-13, 16 terms retained out of a full basis of size 17\n", + "Fold 8, eta 1e-14, 16 terms retained out of a full basis of size 17\n", + "Fold 8, eta 1e-15, 16 terms retained out of a full basis of size 17\n", + "Fold 9, eta 1.0, 3 terms retained out of a full basis of size 17\n", + "Fold 9, eta 0.1, 3 terms retained out of a full basis of size 17\n", + "Fold 9, eta 0.01, 4 terms retained out of a full basis of size 17\n", + "Fold 9, eta 0.001, 7 terms retained out of a full basis of size 17\n", + "Fold 9, eta 0.0001, 8 terms retained out of a full basis of size 17\n", + "Fold 9, eta 1e-05, 12 terms retained out of a full basis of size 17\n", + "Fold 9, eta 1e-06, 14 terms retained out of a full basis of size 17\n", + "Fold 9, eta 1e-07, 15 terms retained out of a full basis of size 17\n", + "Fold 9, eta 1e-08, 15 terms retained out of a full basis of size 17\n", + "Fold 9, eta 1e-09, 15 terms retained out of a full basis of size 17\n", + "Fold 9, eta 1e-10, 15 terms retained out of a full basis of size 17\n", + "Fold 9, eta 1e-11, 15 terms retained out of a full basis of size 17\n", + "Fold 9, eta 1e-12, 15 terms retained out of a full basis of size 17\n", + "Fold 9, eta 1e-13, 15 terms retained out of a full basis of size 17\n", + "Fold 9, eta 1e-14, 15 terms retained out of a full basis of size 17\n", + "Fold 9, eta 1e-15, 15 terms retained out of a full basis of size 17\n", + "Fold 10, eta 1.0, 3 terms retained out of a full basis of size 17\n", + "Fold 10, eta 0.1, 3 terms retained out of a full basis of size 17\n", + "Fold 10, eta 0.01, 4 terms retained out of a full basis of size 17\n", + "Fold 10, eta 0.001, 4 terms retained out of a full basis of size 17\n", + "Fold 10, eta 0.0001, 9 terms retained out of a full basis of size 17\n", + "Fold 10, eta 1e-05, 14 terms retained out of a full basis of size 17\n", + "Fold 10, eta 1e-06, 14 terms retained out of a full basis of size 17\n", + "Fold 10, eta 1e-07, 14 terms retained out of a full basis of size 17\n", + "Fold 10, eta 1e-08, 14 terms retained out of a full basis of size 17\n", + "Fold 10, eta 1e-09, 14 terms retained out of a full basis of size 17\n", + "Fold 10, eta 1e-10, 14 terms retained out of a full basis of size 17\n", + "Fold 10, eta 1e-11, 14 terms retained out of a full basis of size 17\n", + "Fold 10, eta 1e-12, 14 terms retained out of a full basis of size 17\n", + "Fold 10, eta 1e-13, 14 terms retained out of a full basis of size 17\n", + "Fold 10, eta 1e-14, 14 terms retained out of a full basis of size 17\n", + "Fold 10, eta 1e-15, 14 terms retained out of a full basis of size 17\n" + ] + }, + { + "data": { + "image/png": "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QFDkFZRoW26BJKlf2xTFRzMJDQgmwp/N9u7dq1GjRqlPnz4aMGCA3n77bbtLAgAACIjsykc8dGHKJxBs/HOLzVwul5588kmlp6crJydHgwcP1ne/+10lJCTYXRoAAIBfZQXpfD8A1SP82ax169Zq3bq1JKlVq1Zq0aKFjh49SvgDAACNzpnwZxjS4I6EPyDYwnba55/+9CcNHTpUSUlJSk1N1aRJk7R582a/XmPx4sW67LLL1KZNGxmGoffff7/afs8++6w6deqk2NhYDR8+XMuXL2/Q9VauXCm326327dv7UDUAAEDoOVFUpk05+ZKkPq2TlRIXZXNFQOQJ2/C3aNEizZgxQ1999ZXmzZunsrIyfec731FhYWG1/ZcuXaqysrKz3t+wYYMOHTpU7XcKCws1cOBAPfvsszXWMXfuXN1999367W9/q1WrVmngwIGaMGGCcnNzvX3S09PVr1+/sx4HDhzw9jl69KimTJmiF154oa6/BQAAAGFjxe6jMk2rzREPgD0M0zzz1zC8HT58WKmpqVq0aJEuvvjiKp95PB6dd9556t69u9566y05nU5J0ubNm5WRkaG7775bv/zlL885vmEYeu+99zRp0qQq7w8fPlxDhw7VrFmzvNdq3769br/9dt133311qr2kpETjx4/XzTffrMmTJ9faPz8/XykpKTpx4oSSk5PrdA0AAAA7PfLRRr2weIck6fkbz9Ml/VrbXFElf+0tnTwgJbWRfr7R7mqAeqlPNgjbO3/fduLECUlSs2Zn/0uSw+HQRx99pNWrV2vKlCnyeDzavn27xowZo0mTJtUa/GpSWlqqlStXaty4cVWuNW7cOC1btqxOY5imqWnTpmnMmDG1Br9nn31Wffr00dChQxtULwAAgF0qb/YytBN3/gA7NIrw5/F4dOedd+rCCy9Uv379qu3Tpk0bzZ8/X0uWLNH111+vMWPGaNy4cXruuecafN28vDy53W6lpaVVeT8tLU05OTl1GmPp0qWaO3eu3n//faWnpys9PV1r166ttu+MGTO0YcMGZWdnN7hmAACAYCsoKde6/dY/1HdPTVTzxBibKwIiU6PY7XPGjBlat26dlixZcs5+HTp00GuvvaaMjAx16dJFL730kgzDCFKV1bvooovk8XhsrQEAACCQVu0+JrfHWmnE+X6AfcL+zt/MmTP1v//9TwsWLFC7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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# We first create a list of possible etas to pass in: [1e-16, 1e-15, ... , 1e-2, 1e-1, 1]\n", + "etas = 1/np.power(10,[i for i in range(0,16)])\n", + "\n", + "# Then, we call the function to choose the optimal eta:\n", + "eta_opt = optimize_eta(pce_surr, etas, nfolds=10, verbose = True, plot=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From our eta plot above, we can see that our most optimal eta falls at $1 \\times 10^{-4}$, where the validation error is the lowest. While this indicates that the model performs well at this eta value, we can still observe a tendency towards overfitting in the model. For larger eta values, the training and validation RMSE lines are close together, suggesting that the model is performing similarly on both seen and unseen datasets, as would be desired. However, as eta decreases, the training RMSE falls while the validation RMSE rises, highlighting a region where overfitting occurs. \n", + "\n", + "This behavior is expected because smaller eta values retain more basis terms, increasing the model's degrees of freedom. While this added flexibility allows the model to fit the training data more closely, it also makes the model more prone to fitting noise rather than capturing the true underlying function. Selecting the most optimal eta of $1 \\times 10^{-4}$, as compared to the earlier user-defined eta of $1 \\times 10^{-10}$, allows us to balance model complexity and generalization.\n", + "\n", + "Now, with the most optimal eta obtained, we can run the fitting again and produce parity plots for our predicted output." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Regression method: bcs\n", + "Retained Basis and Coefficients:\n", + "[[0 0 0 0]\n", + " [1 0 0 0]\n", + " [0 1 0 0]\n", + " [0 0 0 1]\n", + " [2 0 0 0]\n", + " [0 0 1 0]\n", + " [1 1 0 0]\n", + " [2 1 0 0]] [-0.62783727 -0.37134989 -0.08735439 -0.02919352 0.0480559 -0.03471433\n", + " 0.0232746 0.0196456 ]\n", + "Number of retained basis terms: [8]\n" + ] + } + ], + "source": [ + "# Build the linear regression object for fitting\n", + "pce_surr.build(regression='bcs', eta=eta_opt)\n", + "\n", + "# Optional verbosity output:\n", + "print(\"Retained Basis and Coefficients:\")\n", + "pce_surr.pcrv.printInfo()\n", + "print(\"Number of retained basis terms:\", pce_surr.get_pc_terms())" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# Evaluate the PC model with training and testing data\n", + "y_trn_approx = pce_surr.evaluate(value_ksi_trn)\n", + "y_tst_approx = pce_surr.evaluate(value_ksi_tst)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtgAAAIHCAYAAACluyv/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAABp30lEQVR4nO3deViU9f7/8ec9gCAooIKKK5i5pWUuuZul5lopVpZ2yjI1S097qd9sTz11SltM0/ZfWbZg6clccjlZctDMSs1dzA1EREFZZJn798cdJMoyDAMzwOtxXVzX+czcy3tqjr768LnfH8M0TRMREREREXEJm7sLEBERERGpTBSwRURERERcSAFbRERERMSFFLBFRERERFxIAVtERERExIUUsEVEREREXEgBW0RERETEhRSwRURERERcyNvdBVRUdrudY8eOUbNmTQzDcHc5IiIiIlLGTNPkzJkzNGjQAJut8HlqBWwnHTt2jMaNG7u7DBEREREpZ4cPH6ZRo0aFvq+A7aSaNWsC1j/gwMBAN1cjIiIiImUtJSWFxo0b5+XAwihgOyl3WUhgYKACtoiIiEgVUtzyYD3kKCIiIiLiQgrYIiIiIiIupIAtIiIiIuJCCtgiIiIiIi6kgC0iIiIi4kIK2CIiIiIiLqSALSIiIiLiQgrYIiIiIiIupIAtIiIiIuJCCtgiIiIiIi6kgC0iIiIi4kIK2CIiIiIiLqSALSIiIiLiQgrYIiIiIiIupIAtIiIiIuJCCtgiIiIiUvFkpkFmqrurKJACtoiIiIhULMe2kj2vF8c/f5C45HR3V3MRBWwRERERqRjsObDhFewL++F9ah/m3tUMmfUNizcfcndl+Shgi4iIiIjnO/UnfDAE1jyHzczm25yrGHDuXySZNZkWtd2jZrK93V2AiIiIiEihTBN+XwzfPgqZZ8j2qcHjqbcTZe8FGADkmCYHE9MIC6ru3lr/ohlsEREREfFMaUnw5V2wZAJknoHGXUn6xxq+NnuTG64BvAyD8BB/99V5AQVsEREREfE8B9bDvB6wYwnYvOHaJ2HMt9Rt0oqZke3wMqyA7WUYzIhs6zGz16AlIiIiIiLiSbIyYO3zEP2mNa7THCIXQsMOeYeM7NyE3i1COZiYRniIv0eFa1DAFhERERFPcXwHfDUOEnZY405j4brnoVrARYeGBVX3uGCdSwFbRERERNzLboeYefD9M5CTCQGhcONcaDHA3ZU5RQFbRERERNwn+Sh8PRFi/2uNWwyCG96AGqHurasUFLBFRERExD12LIFlD0LGafDxhwEzoOMYMIxiTvRsCtgiIiIiUr4yUuC7x+G3T61xgw7Wg4whzd1bl4soYIuIiIhI+fkzGpaMh9OHwLBBr0fh6sfBy8fdlbmMAraIiIiIlL3sTPjvLPhxNph2CG5qzVo36eLuylxOAVtEREREytaJPRA1DuJ+tcbtb4eBM8Ev0K1llRUFbBEREREpG6YJP78LK5+E7HSoXguGzoHLhrm7sjKlgC0iIiIirnc2Ab6ZBHtXWuNm18CwtyCwgXvrKgcK2CIiIiLiWruWw9LJkJYIXr7Q/1m4agLYbO6urFwoYIuIiIiIa2SmwsppsOUDa1yvHYxYCHVbu7Ws8qaALSIiIiKld2SL9SBj0n7AgO6T4donwdvX3ZWVOwVsEREREXFeTjb8+CqsnwVmDgQ2hOHzIaK3uytzGwVsEREREXFO0gGImgBHNlnjtiNgyCtWt5AqTAFbRERERErGNOHXT+C7JyDzLPgGwpBX4fKb3V2ZR1DAFhERERHHpSXBsn/CzmXWuGkPa0lIcBP31uVBKnyvlKSkJEaPHk1gYCDBwcGMHTuWs2fPFnn85MmTadmyJdWrV6dJkyb885//JDk5uRyrFhEREamA9q2Bt7pZ4drmA/2ehTuXKVxfoMLPYI8ePZq4uDhWr15NVlYWd911F+PHj2fRokUFHn/s2DGOHTvGv//9b9q0acOff/7Jvffey7Fjx/jyyy/LuXoRERGRCiArHb5/BmLmW+OQllb7vbAr3FqWpzJM0zTdXYSzdu7cSZs2bdi8eTOdOnUCYMWKFQwePJgjR47QoIFjOwV98cUX3H777aSmpuLt7dh/c6SkpBAUFERycjKBgYFOfwYRERERjxb3u9V+78Qua3zVeOj/HPhUd29dbuBo/qvQS0Sio6MJDg7OC9cA/fr1w2azERMT4/B1cv8hFRWuz507R0pKSr4fERERkUrLngM/vQYLr7XCdY16MPpLGPxylQzXJVGhA3Z8fDx169bN95q3tze1a9cmPj7eoWskJiby/PPPM378+CKPmzlzJkFBQXk/jRs3drpuEREREY92+jB8dCOsfgrsWdBqKEzcCJf2d3dlFYJHBuwpU6ZgGEaRP7t27Sr1fVJSUhgyZAht2rThmWeeKfLYqVOnkpycnPdz+PDhUt9fRERExONs+xLm9YCDG8AnAG54A0Z+DAEh7q6swvDIhxwfeeQRxowZU+QxzZo1o379+iQkJOR7PTs7m6SkJOrXr1/k+WfOnGHgwIHUrFmTJUuW4OPjU+Txvr6++PpWva0+RUREpIpIPw3LH4VtX1jjRp0hcgHUbubWsioijwzYoaGhhIaGFntct27dOH36NFu2bKFjx44ArF27FrvdTpcuXQo9LyUlhQEDBuDr68vSpUvx8/NzWe0iIiIiFU7sBlhyL6QcAcMLrn4Cej0CXh4ZFT2eRy4RcVTr1q0ZOHAg48aNY9OmTfz0009MmjSJW2+9Na+DyNGjR2nVqhWbNllbeKakpHDdddeRmprKu+++S0pKCvHx8cTHx5OTk+POjyMiIiJSvrLPWeusP7zeCte1m8HYVdDnCYXrUqjw/+Q++eQTJk2aRN++fbHZbIwYMYLXX3897/2srCx2795NWloaAL/88kteh5HmzZvnu1ZsbCzh4eHlVruIiIiI2yTsgqh7IH6bNe5wJwyYAb413FtXJVCh+2C7k/pgi4iISIVkmrBpgTVznZ0B/nWsBxlbDXF3ZR7P0fxX4WewRURERMRBZ+Lh6/tg/xpr3Lw/3DgXatZzb12VjAK2iIiISFWwcxks/SekJ4G3H1z3AnS+BwzD3ZVVOgrYIiIiIpXZuTOwYgps/dgah10BkQshtKV766rEFLBFREREKqvDmyBqHJw6CBjQ80HoMw28q7m5sMpNAVtERESkssnJgh9etn5MOwQ1huFvQ3gPd1dWJShgi4iIiFQmJ/dbs9ZHt1jjy2+FwS+BX5B766pCFLBFREREKgPThF8+hBVTISvNCtRDZ0PbEe6urMpRwBYRERGpAOKS04lNTCUiJICwoOr530xNhKWTYfdyaxzRG4bNh6CG5V+oKGCLiIiIeLrFmw8xNWobdhNsBsyMbMfIzk2sN/esgm/uh9QE8KoGfZ+GrveBzebeoqswBWwRERERDxaXnJ4XrgHsJkyL2k7viADCYmbA5nesN+q2sdrv1W/rvmIFUMAWERER8Wixial54TpXa/ZT84NpcDbWeqHr/dD3KfDxK/8C5SL63YGIiIiIB4sICcD212aLNuzc5/UNS6o9TY2zscSbtfhH5lQW17lX4dqDKGCLiIiIeLCwoOrMjGxHEyORz6o9z+M+i/Excvg25yoGnPsXG+ztmBa1nbjkdHeXKn/REhERERERT2aajKy2kZtrTsOWeZYs7wCeSPsHUfZegDW1nWOaHExMu7i7iLiFZrBFREREPFVaEnx5FyyZgC3zLDTuyqk71vK12ZvccA3gZRiEh/i7r07JRwFbRERExBMdWA/zesCOJWDzhmufhDHfUrdJK2ZGtsPLsAK2l2EwI7KtZq89iJaIiIiIiHiSrAzOfvcUNX552xrXaW6132vYIe+QkZ2b0LtFKAcT0wgP8Ve49jAK2CIiIiKe4vgOTn98J8Fn9gLwcU4//Dq9yE0NW110aFhQdQVrD6WALSIiIlKOCtzy3G6HmHmY3z9DcE4mJ8xAHs+awDr7lXgtPUCPNk0VpisQBWwRERGRclLgluctvODriRD7XwxgdU4HpmSN4yRBgDqEVEQK2CIiIiLloKAtzzd8/Q431/gQ27nT4OPP6d7PMmF5A+zqEFKhKWCLiIiIlIPztzyvQRrP+nzICK8NcA5o0AEiFxIc0pyZfoeYFrWdHNNUh5AKSgFbREREpBzkbnnegV3M9plHY9sJckyDtK4PUvO6/wMvH0AdQioDBWwRERGRchAW4MV/2qyj5b538DJMDpl1+aXjv6jbojcRZ7MJC/L5+1h1CKnQFLBFRERESqnAziDnO7EHosbRJu5XMCDhkpv4vuE/eWH1EewbY/5+4LFzk3KvXVxPAVtERESkFArsDJIblE0Tfn4XVj4J2elQvRYMnUNOowG8MGttvgcep0Vtp3eLUM1cVwLaKl1ERETESQV1BpkWtZ245HQ4mwCLboFvH7HCdbNrYOJGuGxYvgcec+W245OKTzPYIiIiIk4qLCgnb11K2KZpkJYIXr7Q/1m4agLYrLnN3Acezz9X7fgqD81gi4iIiDgpNyjnqk4GM33epdX68Va4rtcOxq+HrhPzwjVYDzHOjGyHl2GdrHZ8lYthmqZZ/GFyoZSUFIKCgkhOTiYwMNDd5YiIiIibLN5s9a1uy17m+LxFhC0eMKD7ZLj2SfD2LfTcuOR0teOrQBzNf1oiIiIiIlIKIzs0YHDS/6PG/17BMHMgsCEMnw8RvYs9V+34KicFbBERERFnJR2AqAnUPLLJGrcdAUNesbqFSJWlgC0iIiJSUqYJv34C3z0BmWfBNxCGvAqX3+zuysQDKGCLiIiIlERaEiz7J+xcZo2b9rCWhARrkxixKGCLiIiIOCAuOZ2k31fQ6n9P4JV6HGw+1kOM3SeDzcvd5YkHUcAWERERKcaX/9vDmf88yV3eKwFIrtGMoNEfQNgV7i1MPJL6YIuIiIgU4cTezVy+fFheuP4g+zq6nXyaOP8Wbq5MPJVmsEVEREQKYs+B6Deps+Z5Qm1ZJJjBPJ41nvX29gAcTExTiz0pkAK2iIiIyIVOH4avJ8LBDdiAlTmdmJp1D0lYm4toW3MpigK2iIiIyPm2fQn/eRjOJYNPAAyaxensq0lesgNMU9uaS7EUsEVEREQA0k/D8kdh2xfWuFFniFwAtZsxEujdsq62NReHKGCLiIiIxG6AJfdCyhEwvODqJ6DXI+D1d1TStubiKAVsERERqbqyz8G6F+Gn1wETajeDyIXQqJO7K5MKTAFbREREqqaEXRB1D8Rvs8Yd7oQBM8C3hnvrkgpPAVtERESqFtOETQtg9VOQnQH+deCGN6DVkAIPj0tOJzYxlYiQAC0REYcoYIuIiEjVcSYevr4P9q+xxs37w41zoWa9Ag9fvPkQU6O2YTfBZsDMyHaM7NykHAuWikg7OYqIiEjVsHMZvNXNCtfefjD43zD6i0LDdVxyel64BrCbMC1qO3HJ6eVYtFREmsEWERGRyu3cGVgxBbZ+bI3DrrAeZAxtWeRpsYmpeeE6V45pagdHKZYCtoiIiFRehzdB1Dg4dRAwoOeD0GcaeFcr9tSIkABsBvlCtnZwFEdoiYiIiIhUPjlZsG4GvDfACtdBjWHMt9DvGYfCNVh9r2dGtsPLMAC0g6M4TDPYIiIiUrmc3G/NWh/dYo0vHwmDXwa/oBJfamTnJvRuEaodHKVEFLBFRESkcjBN+OVDWDEVstKsQD10NrQdUarLagdHKSkFbBEREan4UhNh6WTYvdwaR/SGYfMhqKF765IqSQFbREREKrY9q+Cb+yE1AbyqQd+noet9YNOjZuIeCtgiIiJSMWWmwerpsPkda1y3jdV+r35b99YlVZ4CtoiIiFQ8x7bCV+Pg5F5r3PV+6PsU+Pi5ty4RFLBFRESkIrHnwE9zrBZ89myoGQbD5sEl17i7MpE8CtgiIiJSMZz6E5ZMgEPR1rjNjTB0DvjXdmtZIhdSwBYRERHPZprw+2L49lHIPAPValp9ra+4Ff7aBEbEkyhgi4iIiOdKS4JvH4YdS6xx464Q+TbUCndrWSJFUcAWERERz3RgPSyZCGeOgc0b+kyBHg+Bl+KLeDZ9Q0VERMSzZGXA2uch+k1rXKc5RC6Ahh3dW5eIgxSwRURExHMc32G130vYYY073Q3XvQDVAtxbl0gJKGCLiIiI+9ntEDMPvn8GcjIhIBRunAstBpTqsnHJ6cQmphIREkBYUHXX1CpSDAVsERERcavjR/bj+59JBMdvtF5oMQhueANqhJbquos3H2Jq1DbsJtgMmBnZjpGdm7igYpGi2dxdgIiIiFRdPy1diO/CXgTHbyTN9GVzu6fgtk9LHa7jktPzwjWA3YRpUduJS053QdUiRVPAFhERkfKXkULa4nvo8cujBBup/GpvxpDMGdz6c2viUjJKffnYxNS8cJ0rxzQ5mJhW6muLFEdLRERERKR8/RkNS8bjf/oQOabBmznDeCN7ONl4A1YILu166YiQAGwG+UK2l2EQHuJfutpFHKAZbBERESkf2Zmw5jn4YDCcPkR2YBNGZj3N7Oyb/wrXrgvBYUHVmRnZDq+/dnr0MgxmRLbVg45SLjSDLSIiImXvxB6IGgdxv1rj9rfjPXAmN287zdao7eSYpstD8MjOTejdIpSDiWmEh/grXEu5UcAWERGRsmOa8PO7sPJJyE6H6rVg6By4bBgAIzsHlmkIDguqrmAt5U4BW0RERMrG2QT45n7YuwqAc02uZlvnGTRsdAlh5x2mECyVjQK2iIiIuN6u5bB0MqQlgpcvv7R8kJu3tiNnz5/YjD/Vk1oqNT3kKCIiIsWKS05n4/7E4vtIZ6bCsgfgs9uscF2vLSdGreCmrVeQY1qxQz2ppbLTDLaIiIgUyeEdEY9ssR5kTNoPGNB9Elw7nb1/nsFuxuU7NLcntZaGSGWkgC0iIiKFKmxHxN4tQv8OxznZ8OOrsH4WmDkQ2BCGz4eI3gBEhNjVk1qqFC0RERERkUIVuyNi0gF4fxCse9EK121HwMSf8sI1qCe1VD2awRYREZFCFbojYp3qsPVj+O4JyDwLvoEw5FW4/OYCr6Oe1FKVKGCLiIhIoXJnn6edtxnMv4c2ImzleNi5zDqoaQ9rSUhw0V1B1I5PqgoFbBERESnS+bPPLVI3UWfVzXA2Hmw+cO2T0H0y2LzcXaaIx1DAFhERkWKF+UPYnpcgZr71QkhLGLEQwq5wb2EiHkgBW0RERIoW97vVfu/ELmt81Xjo/xz4aLmHSEEUsEVERKRg9hyIfhPWPA/2LKhRD26cC5f2d3dlIh5NAVtEREQudvow574cj++Rjda41VC4/jUICCn1peOS04lNTCUiJEAPPUqlpIAtIiIi+W37ksxvHsQ3+wyppi/PZ9/Blc0mM9IF4drhXSFFKjBtNCMiIiKW9NPw1T3w1ViqZZ/hF3tzBmfO5LOca5i2ZAdxyemlunxhu0KW9roinkYz2CIiIgKxG2DJvZByBNPwYnbmcObm3EgOVvu93N0bS7Oko6hdIbVURCqTCj+DnZSUxOjRowkMDCQ4OJixY8dy9uxZh841TZNBgwZhGAZff/112RYqIiLiibLPweqn4MPrIeUI1G7GyZHLeNMemReu4a/dG0P8S3Wr3F0hz+eK64p4mgofsEePHs2OHTtYvXo1//nPf/jhhx8YP368Q+fOmTMHwzCKP1BERKQyStgF7/SFn14DTOhwJ0zYQEirHsyMbIfXX39HehkGMyLblnqWOXdXSFdfV8TTGKZpmsUf5pl27txJmzZt2Lx5M506dQJgxYoVDB48mCNHjtCgQYNCz/31118ZOnQoP//8M2FhYSxZsoRhw4Y5fO+UlBSCgoJITk4mMDCwtB9FRESk/JgmbFpgzVxnZ4B/HbjhDWg1JN9hccnpHExMIzzE36UhuKyuK1LWHM1/FXoNdnR0NMHBwXnhGqBfv37YbDZiYmIYPnx4geelpaUxatQo5s6dS/369R2617lz5zh37lzeOCUlpXTFi4iIuMOZePj6Pti/xho372/1tq5Z76JDw4Kql0kALqvriniKCr1EJD4+nrp16+Z7zdvbm9q1axMfH1/oeQ899BDdu3fnxhtvdPheM2fOJCgoKO+ncePGTtctIiLiFjuXwVvdrHDt7QeD/w2jvygwXIuI8zwyYE+ZMgXDMIr82bVrl1PXXrp0KWvXrmXOnDklOm/q1KkkJyfn/Rw+fNip+4uIiJS7c2fgm/th8e2QngRhV8CEH+CqcaBnkURcziOXiDzyyCOMGTOmyGOaNWtG/fr1SUhIyPd6dnY2SUlJhS79WLt2Lfv37yc4ODjf6yNGjKBXr16sX7++wPN8fX3x9fV19COIiIh4hsObIGocnDoIGNDzQegzDbyrubkwkcrLIwN2aGgooaGhxR7XrVs3Tp8+zZYtW+jYsSNgBWi73U6XLl0KPGfKlCncc889+V5r164ds2fP5vrrry998SIiIp4gJwt+eNn6Me0Q1BiGvw3hPdxdmUil55EB21GtW7dm4MCBjBs3jvnz55OVlcWkSZO49dZb8zqIHD16lL59+/LRRx9x1VVXUb9+/QJnt5s0aUJERER5fwQRERHXO7nfmrU+usUaXz4SBr8MfkHurUukiqjQARvgk08+YdKkSfTt2xebzcaIESN4/fXX897Pyspi9+7dpKWlubFKERGRcmCa8MuHsGIqZKVZgXrIq9DuJndXJlKlVOg+2O6kPtgiIuJRUhNh6WTYvdwaR/SGYfMgqJF76xKpRKpEH2wREZGqKC45ndjEVCJCAqx+0ntWWV1CUhPAqxr0fRq63gc2j2wWJlLpKWCLiIhUIIs3H2Jq1DbsJvgb5/imxQou/XOx9WbdNhC5EOq3dW+RIlWcAraIiEgFEZecnheu2xoHeM1nLpf8GWe92fV+6PsU+Pi5t0gRUcAWERGpKGITU8G0c5/XMh7y/hIfI4d4sxZJ/V+jTU/HdycWkbKlgC0iIlJBNPc5yeJqz9PZthuAb3OuYlrWPdxnb0sbN9cmIn/T0w8iIiKezjTht8+o+3FfOtt2c8aszsOZ93J/1gMkU4OXvttNXHK6u6sUkb9oBltERMSTpSXBtw/DjiUApIR2ZPCRf3DErJt3SI5pcjAxzeooIiJupxlsERERT3VgPczrYYVrmzdc+ySpo77hGHXzHeZlGISH+LunRhG5iAK2iIiIp8nKgJX/Bx/dCGeOQZ3mMHYV9H6MsFo1mRnZDi/DAKxwPSOyrWavRTyIloiIiIh4kuM74KtxkLDDGne6G657AaoF5B0ysnMTercI5WBiGuEh/grXIh5GAVtERMQT2O0QMw++fwZyMiEgFG54E1oOLPDwsKDqCtYiHsqpgG2327Fp+1UREamkLtqKvKwlH4WvJ0Lsf61xi0FwwxtQI7Ts7y0iLudUwG7atCn33nsv48aNo27dusWfICIiUkGcvxW5zYCZke0Y2blJ2d1wxxJY9iBknAYffxgwAzqOgb/WWItIxWOYpmmW9CSbzYZhGPj4+HDzzTdz//3307Vr17Koz2OlpKQQFBREcnIygYGB7i5HRERcIC45nR6z1mI/729GL8PgxynXuH4mOyMFvnscfvvUGjfoAJELIaS5a+8jIi7jaP5zap1HTEwMt99+O4Zh8Mknn9CjRw86d+7Mhx9+yLlz55wuWkRExJ1iE1PzhWv4u8e0S/0ZDfN7WOHasEHvx60uIQrXIpWCUwE7N0wfOXKEGTNm0LhxY7Zs2cLdd99No0aNmDp1KocOHXJ1rSIiImUqIiQA2wUrM2wGJJ7NcM1OidmZsOY5+GAwnD4EwU3hrhVw7f+Bl0/pry8iHsGpJSIXMk2TZcuWMXfuXL7//ntM08TLy4uhQ4cyadIk+vbt64paPYqWiIiIVE6LNx9iWtR2ckzTWgZtgokL1mOf2ANR4yDuV2vc/nYYOBP89HeISEXhaP5zScA+3969e3nllVdYsGABxl8PaLRq1YqHH36Yu+66q9J0H1HAFhGpvOKS0/nlz1NMWrSV8/+SdGo9tmnCz+/CyichOx2q14Khc+CyYS6uWkTKWpmuwS7Mn3/+yTvvvMNXX30FWDPb9erVY+fOnYwfP56OHTty5MgRV95SRETEIXHJ6Wzcn+jQUo+woOrUCqjGhTNQJV6PfTYBFt0C3z5ihetm18DEjQrXIpWcSwL2qlWruOGGG2jevDkvv/wyqamp3H333fz6668cO3aMVatW0bVrV3777TceeughV9xSRETEYYs3H6LHrLWMWhhDj1lrWby5+OeEClqP7WUYhIf4O3bTXcvhrW6wdxV4+cLAWXB7FAQ2cOITiEhF4vQSkZSUFN5//33mzZvH3r17MU2Thg0bMnHiRCZMmECdOnXyHW+322nfvj1Hjx7l5MmTLinenbRERESkYihN673z12N7GQYzItsWvwY7MxVWToMtH1jjem2t9nv12pTug4iI2zma/5zaaGbixIl88sknpKamYpom3bp145///Cc33XQTXl5eBZ5js9no1KkTO3bscOaWIiIiTimq9V5xAXtk5yb0bhHKwcQ0wkP8i197fWSL9SBj0n7AgO6T4Nrp4O1bug8hIhWKUwH77bffplq1aowaNYoHHniATp06OXRe7969cfEzlSIiIkXKXepx4Qy2o0s9woKqFx+sc7Lhx1dh/SwwcyCwIQyfDxG9S1G5iFRUTi0ReeaZZ5g4cSL16tUri5oqBC0RERGpOJxa6uGopAMQNQGObLLGbUfAkFesbiEiUqm4rU1fVaGALSJSscQlpzu+1KOY68QmphJRx5+w2Cj47gnIPAu+gTDkVbj8ZhdWLSKepEzXYIuIiFQ0Di31KMbizYeYGrWNQPMMs3zeIcxrs/VG0x7WkpBgF82Ki0iFpoAtIiLigLjkdKZGbaOH8Tv/rjafesZpMk0vMnpNJfDah8FW8EP+IlL1VI5tFUVERMrYn/Enme71If+v2izqGafZa2/I8Mzn2RFxt8K1iOSjGWwREZHixP1Ox5Vj6eq9B4APsq9jZvYosg1fxzeeEZEqQwFbRESkMPYciH4T1jyPjz2LdN8Q7j87lrU5V+R1Iyntum4RqXwUsEVERApy+jB8PREObrDGrYZS/frXeDE7wCXdSESk8lLAFhERudC2L+E/D8O5ZPAJgEGz4Mp/gGEQBgrWIlIkBWwREZFc6adh+aOw7Qtr3LATRC6AOpe4tSwRqVgcCtjPPfec0zcwDIPp06c7fb6IiEi5iN0AS+6FlCNgeMHVj0OvR8FLc1EiUjIO7eRos9kwDIMLDzUMo8jzTNPEMAxycnJKV6UH0k6OIiKVRPY5WPci/PQ6YELtZhC5EBp1cndlIuJhXLqT49NPP33Ra7GxsXz00Uf4+flx3XXXERERAcDBgwdZtWoVGRkZ3HnnnYSHhzv3CURERMpawi6Iugfit1njDnfCgBngW8O9dYlIhebQDPaFDh8+TIcOHejVqxfz5s2jXr16+d5PSEjg3nvv5ccff+Tnn3+mSZPKt3WsZrBFRCow04RNC2D1U5CdAf514IY3oNUQd1cmIh7M0fzn1E6O06dPx8fHh0WLFl0UrgHq1q3LokWL8Pb21vprEREptbjkdDbuTyQuOb30FzsTDx+PgO8et8J18/4wMVrhWkRcxqknN1atWkXv3r3x8/Mr9Bg/Pz969erF6tWrnS5ORERk8eZDTI3aht0EmwEzI9sxsvPfvxmNS04nNjGViJCA4tvn7VwGS/8J6Ung7QfXvQCd74FinikSESkJpwJ2UlIS6enFzyJkZGRw6tQpZ24hIiJCXHJ6XrgGsJswLWo7vVuEEhZUvdjwnefcGVgxBbZ+bI3DrrAeZAxtWX4fRkSqDKeWiDRp0oR169Zx/PjxQo+Jj49n3bp1NG7c2OniRESkaotNTM0L17lyTJODiWmFhu+LlpEc3gTze/4Vrg3o+RCM/V7hWkTKjFMBe9SoUZw9e5a+ffsWuATk+++/p3///qSmpjJq1KhSFykiIlVTREgAtgtWb3gZBuEh/kWGb2uQBetmwHsD4NRBCGoMY76Ffs+Ad7XyKF9EqiinlohMmTKFlStXEhMTw8CBAwkJCclrx3fw4EESExMxTZMuXbowZcoUV9YrIiJVSFhQdWZGtmNa1HZyTBMvw2BGZNu8tdY2g3whOzd8c3I/RI2Do1usNy4fCYNfBr8gN3wKEalqnGrTB5Cens5TTz3FggULOHPmTL73atSowfjx43nuuefw9/d3SaGeRm36RETKT1xyOgcT0wgP8c/3IOPizYfyh+/hlzHSax2smApZaVagHvIqtLvJjdWLSGXhaP5zOmDnysjI4JdffuHIkSMANGzYkI4dOxbZYaQyUMAWEfEMueG7mX8a9dY/DruXW2+E94Lh8yGokXsLFJFKw6U7ORbFz8+P7t27l/YyIiIiTgkLqk7Y8Q3w8f2QmgBe1aDvU9D1frA59aiRiEiplDpgA+zbt48TJ05Qp04dWrRo4YpLioiIFC8zDVZPh83vWOO6baz2e/XburcuEanSnP5P+5ycHF544QXq169Py5Yt6dmzJ7Nmzcp7/5NPPqF79+7s2LHDJYWKiIjkc2wrvN3773Dd9X4Yt07hWkTczqmAnZOTw9ChQ3n66ac5deoUrVu35sKl3D169OB///sfUVFRLilUREQEAHsObHgF3ukHJ/dCzTD4x9cwcAb4VO7nf0SkYnAqYM+fP5+VK1dyzTXXEBsby/bt2y86Jjw8nEsuuYRVq1aVukgREREATv0JHwyBNc+BPRva3AgTN8Il15T4UnHJ6Wzcn3jxxjQiIqXk1BrsDz/8kNq1a/PFF19Qq1atQo9r3bo1v/32m9PFiYiIAGCa8Pti+PZRyDwD1Wpafa2vuBUMo/jzL+DwFusiIk5wKmDv2rWLnj17FhmuAYKCgkhISHCqMBEREQDSkuDbh2HHEmvcuCtEvg21wp26XGFbrPduEZqvx7aIiLOcCtg5OTn4+voWe1xcXJxDx4mIiBTowHpYMhHOHAObN/SZAj0eAi/nm2AVtcW6AraIuIJTf0I1bdqU33//vchjsrKy2L59O5deeqlThYmISBWWlQFrn4foN61xneYQuQAadiz1pSNCAgrfYl1ExAWceshx4MCBHDx4kAULFhR6zBtvvMGJEycYMmSI08WJiEgVdHwHLLz273Dd6W6Y8INLwjVYG9PMjGyH119rt70MgxmRbTV7LSIu49QM9mOPPcYHH3zAfffdxx9//MEtt9wCQGpqKr/88guff/45r776KiEhIUyaNMmlBYuISCVlt0PMPPj+GcjJBP8QuHEutBzo8luN7NyE3i1COZiYRniIv8K1iLiUYV7YwNpBP/zwA5GRkSQlJWFc8AS3aZoEBwezdOlSevbs6ZJCPY2je9GLiIgDko/C1xMh9r/WuMVAuOENqFG3yNPiktOJTUwlIiRAIVlEypyj+c/pp0R69+7Njh07mD17NsuXL+fAgQPY7XYaN27MoEGDeOyxx2jYsKGzlxcRkapixxJY9iBknAYffxgwAzqOKbb9nlrtiYincnoGu6rTDLaISCllpMB3j8Nvn1rjBh0gciGENC/21LjkdHrMWnvRg4o/TrlGM9kiUmYczX9OPeT4ww8/sGfPnmKP27t3Lz/88IMztxARkcrsz2iY38MK14YNej8OY1c5FK6h6FZ7IiLu5lTA7tOnD//617+KPe6ll17immtKvn2tiIhUUtmZ1jbnHwyG04cguCnctQKu/T/w8nH4Mrmt9s6nVnsi4imcCthgPcgoIiLisBN74N3+sOEVMO3Q/na490do0qXElyqo1d7jg1oSm5hKXHK6qysXESkR57fCcsCpU6fw8/Mry1uIiIinM034+V1Y+SRkp0P1WjB0Dlw2rFSXPb/V3u9HTvOv73bpgUcR8QgOB+xDhw7lG589e/ai13JlZ2ezY8cOVq1axSWXXFK6CkVExC1c0gLvbAJ8cz/sXWWNm10Dw96CwAYuqTG3rtHv/C9vTbbdhGlR2+ndIlQPPIqIWzgcsMPDw/P1u/7qq6/46quvijzHNE1uv/1256sTERG3cEkLvF3LYelkSEsEL1/o/yxcNQFsTq9OLFBRDzwqYIuIOzgcsJs0aZIXsA8dOoS/vz8hISEFHlutWjUaNWrEiBEjmDhxomsqFRGRchGXnJ4XrsGJGeHMVFg5DbZ8YI3rtbXa79VrUyb15j7weGHLPj3wKCLu4nDAPnjwYN7/ttls3Hzzzbz33ntlUZOIiLhRqWaEj2yBqHGQtB8woPskuHY6ePuWWb25DzxOi9pOjmniZRjMiGyr2WsRcRunHnJ8//33ad7csV6lIiJSsTg1I5yTDT++CutngZkDgQ052f81dvtfSUSqnbCgsq35/Acew0P8Fa5FxK20k6OTtJOjiFRmizcfumhGuNA12EkHIGoCHNlkjduOIKrBQzy67JC6eohIpVKmOzlGR0dz9913s3HjxkKP+emnn7j77rvZtGmTM7cQERE3Gtm5CT9OuYZPx3XlxynXFByOTRO2fgzze1nh2jcQIt8hrv/cvHANf6/hVn9qEakqnFoismDBAj799FNeeumlQo9p0aIFn3zyCd7e3lx11VVOFygiIu4RFlS98KUWaUmw7J+wc5k1btoDhs+H4CbE7k9UVw8RqdKcCtgbN26kffv2hXYRAQgNDeXKK69kw4YNThcnIiIeaN8a+Po+OBsPNh+49knoPhlsXoC6eoiIOLVE5OjRo4SHhxd7XNOmTTl27JgztxAREU+TlQ7fPQEfR1rhOqQljFsDPR/MC9dQ8Dbm6uohIlWJUzPYNpuNzMzMYo/LysoiOzvbmVuIiIgnifvdar93Ypc1vmo89H8OfAoOzerqISJVmVMBOzw8nOjoaLKzs/H2LvgS2dnZREdH07Rp01IVKCIibmTPgeg3Yc3zYM+CGvXgxrlwaf9iTy1yDbeISCXm1BKRAQMGkJCQwDPPPFPoMc8++ywJCQkMHDjQ2dpERMSdTh+Gj26E1U9Z4brVUJi40aFwLSJSlTnVB/vYsWO0bduW5ORkbrjhBsaNG0erVq0A2LVrFwsXLmTp0qXUrFmT7du306hRI5cX7m7qgy0iFUlccjqxialEhAQ4Nqu87Uv4z8NwLhl8AmDQLLjyH/DXumoRkarI0fzn9EYza9asYcSIEaSkpGBc8AeuaZrUrFmTL7/8kv79K+dMhwK2iFQUizcfYmrUNsc2fUk/DcsfhW1fAHAmpD3p18+jbtM25VewiIiHKtONZgD69u3L9u3beeCBB2jZsiV+fn74+fnRokULHnjgAbZv315pw7WISEURl5yeF66hmE1fYjfAvB6w7QvshhdzskfQ/sgjdJ0fy+LNh8q3cBGRCsyphxxzNWrUiNmzZ7uqFhERcbHYxNTiN33JPgfrXoSfXgdMsoMjuDnhLrbam1vv/xXKe7cI1UOLIiIOcHoGW0REPF/upi/ny7fpS8IueKcv/PQaYEKHO/l54Dd/h+u/5IZyEREpngK2iEglVuimL4F+EPM2LLga4reBfx24dRHc8DpNw+oWHcpFRKRIDi0RufvuuzEMgxkzZlCvXj3uvvtuh29gGAbvvvuu0wWKiEjpXLTpiy0ZPh4B+9dYBzTvb/W2rlkP+DuUT4vaTo5paidGEZEScqiLiM1mwzAMdu7cSYsWLbDZHJ/4NgyDnJycUhXpidRFREQqpD+WwrIHID0JvP3guheg8z0Ftt+LS07XTowiIudxNP85NIP9/vvvAxAWFpZvLCIiFcS5M7BiCmz92BqHXQGRCyG0ZaGnaCdGERHnON0Hu6rTDLaIVBiHN0HUODh1EDCg54PQZxp4V3NzYSIiFYtLZ7BFRKQCysmCH162fkw7BDWG4W9DeA93VyYiUqlV+C4iSUlJjB49msDAQIKDgxk7dixnz54t9rzo6GiuvfZaAgICCAwMpHfv3qSnF7DxgohIRXRyP7w3AP77LytcXz4SJv6kcC0iUg4cmsF+7rnnnL6BYRhMnz7d6fOLM3r0aOLi4li9ejVZWVncddddjB8/nkWLFhV6TnR0NAMHDmTq1Km88cYbeHt789tvv5Xo4U0REY9kmvDLh7BiKmSlgV8QDHkV2t3k7spERKqMEnURufBQo4Cnzs9nmmaZdhHZuXMnbdq0YfPmzXTq1AmAFStWMHjwYI4cOUKDBg0KPK9r167079+f559/3ul7aw22iHic1ERYOhl2L7fG4b1g+HwIauTeukREKgmXrsF++umnL3otNjaWjz76CD8/P6677joiIiIAOHjwIKtWrSIjI4M777yT8PBw5z6BA6KjowkODs4L1wD9+vXDZrMRExPD8OHDLzonISGBmJgYRo8eTffu3dm/fz+tWrXixRdfpGfPnoXe69y5c5w7dy5vnJKS4toPIyJSGntWwTf3Q2oCeFWDvk9B1/tBv5kTESl3TgXsw4cP06FDB4YNG8a8efOoV69evvcTEhK49957+fbbb/n5559dV+0F4uPjqVu3br7XvL29qV27NvHx8QWec+DAAQCeeeYZ/v3vf9O+fXs++ugj+vbty/bt27n00ksLPG/mzJk8++yzrv0AIiKllZkGq6fD5nescd02Vvu9+m3dW5eISBXm1NTG9OnT8fHxYdGiRReFa4C6deuyaNEivL29nVp/PWXKFAzDKPJn165dzpSO3W4HYMKECdx1111ceeWVzJ49m5YtW/Lee+8Vet7UqVNJTk7O+zl8+LBT9xcRcZljW+Ht3n+H6673w7h1CtciIm7mVJu+VatW0bt3b/z8/Ao9xs/Pj169erF69eoSX/+RRx5hzJgxRR7TrFkz6tevT0JCQr7Xs7OzSUpKon79+gWel7tZTps2bfK93rp1aw4dOlTo/Xx9ffH19XWgehGRMmbPgZ/mwLoZYM+GmmEwbB5cco27KxMREZwM2ElJSQ61tMvIyODUqVMlvn5oaCihoaHFHtetWzdOnz7Nli1b6NixIwBr167FbrfTpUuXAs8JDw+nQYMG7N69O9/re/bsYdCgQSWuVUSkOHHJ6cQmphIRElCqnRHjktM5dnA37WIep9qxGOvFNjfC0DngX9s1xYqISKk5FbCbNGnCunXrOH78eIFLRMBaH71u3ToaN25cqgKL0rp1awYOHMi4ceOYP38+WVlZTJo0iVtvvTWvg8jRo0fp27cvH330EVdddRWGYfDYY4/x9NNPc8UVV9C+fXs+/PBDdu3axZdffllmtYpI1bR48yGmRm3DboLNgJmR7RjZuUnJr7PpT2K+mcez3h9QzUgnyzsAn6GvwBW3QjEdnUREpHw5tQZ71KhRnD17lr59+xa4BOT777+nf//+pKamMmrUqFIXWZRPPvmEVq1a0bdvXwYPHkzPnj1ZsGBB3vtZWVns3r2btLS0vNcefPBBpk6dykMPPcQVV1zBmjVrWL16NZdcckmZ1ioiVUtccnpeuAawmzAtajtxySXb1Cr++DEClo3nVZ951DTS2WxvQb/UGcRFDFO4FhHxQA71wb5QRkYG11xzDTExMRiGQUhISF47voMHD5KYmIhpmnTp0oV169YVuVa7olIfbBEpzsb9iYxaGHPR65+O60q3S+o4dpED6zn35QR80+LJMr2Ykz2C+TnXk4NXya4jIiKl5tI+2Bfy8/Nj7dq1PPXUUyxYsIATJ05w4sSJvPdr1KjB+PHjee655ypluBYRcURESAA2g7wZbLCWiYSH+Bd/clYGrH0eot/EFzhgD+PBrPv43bR+0+ZlGI5dR0REyp1TM9jny8jI4JdffuHIkSMANGzYkI4dO1b6YK0ZbBFxxOLNh5gStY3cP2kNYNaIYtZhH98BX42DhB3WuNPdfFlnAk8sPUCOaeJlGMyIbOvUWm4REXFemc5gn8/Pz4/u3buX9jIiIpVS7xahcN40hom1Drt3i9CLO4rY7RAzD75/BnIywT8EbpwLLQdyE9CjTVMOJqYRHuJfqm4kIiJStkodsAH27dvHiRMnqFOnDi1atHDFJUVEKoXYxFQu/DVhjmlyMDEtf0hOPgpfT4TY/1rjFgPhhjegxt+71YYFVVewFhGpAJzqIgKQk5PDCy+8QP369WnZsiU9e/Zk1qxZee9/8skndO/enR07drikUBGRiih3Hfb5Llo/vWMJzOtuhWsffxg6G277LF+4FhGRisOpgJ2Tk8PQoUN5+umnOXXqFK1bt+bCpdw9evTgf//7H1FRUS4pVESkIgoLqs7MyHZ4/dVOL3f9dFhQdchIgSX3whdjIOM0NOgAEzZAp7vVfk9EpAJzaonI/PnzWblyJddeey0fffQRDRo0wGbLn9XDw8O55JJLWLVqFdOnT3dJsSIiFdHIzk3o3SI0//rpP6NhyXg4fQgMG/R6FK5+HLx83F2uiIiUklMB+8MPP6R27dp88cUX1KpVq9DjWrduzW+//eZ0cSIilUXe+unsTFjzHPw4G0w7BDeFyIXQpIu7SxQRERdxKmDv2rWLnj17FhmuAYKCgkhISHCqMBGRSufEHogaB3G/WuP2t8PAmeCnVp8iIpWJUwE7JycHX1/fYo+Li4tz6DgRkUrNNOHnd2Hlk5CdDtVrwdA5cNkwd1cmIiJlwKmA3bRpU37//fcij8nKymL79u1ceumlThUmIlIpnE2Ab+6HvauscbNrYNhbENjAvXWJiEiZcaqLyMCBAzl48CALFiwo9Jg33niDEydOMGTIEKeLExGp0HYth7e6WeHayxcGzoLboxSuRUQqOadmsB977DE++OAD7rvvPv744w9uueUWAFJTU/nll1/4/PPPefXVVwkJCWHSpEkuLVhExONlpsLKabDlA2tcr631IGO9Nm4tS0REyodhXtjA2kE//PADkZGRJCUlYVzQr9U0TYKDg1m6dCk9e/Z0SaGextG96EWkijmyxXqQMWk/YED3SXDtdPDW8ygiIhWdo/nP6a3Se/fuzY4dO5g9ezbLly/nwIED2O12GjduzKBBg3jsscdo2LChs5cXEalYcrLhx1dh/SwwcyCwIQybB82udndlIiJSzpyawT506BCGYdC4ceOyqKlC0Ay2iORJOgBRE+DIJmvcdgQMecXqFiIiIpVGmc5gh4eH061bN3766SenCxQR8TRxyenEJqYSERJgbQpTHNOEXz+B756AzLPgGwhDXoXLby77YkVExGM5FbADAwOJiIhwdS0iIm6zePMhpkZtw26CzYCZke0Y2blJ4SekJcGyf8LOZda4aQ8YPh+CizhHRESqBKfa9LVp04bDhw+7uhYREbeIS07PC9cAdhOmRW0nLjm94BP2rbHa7+1cBjYf6Pcs3LlM4VpERAAnA/a4ceP46aef2Lx5s6vrEREpd7GJqXnhOleOaXIwMS3/i1np1nKQjyPhbDyEtIRxa6Dng2DzKrd6RUTEszm1ROSuu+5i69atXHfddTz22GOMGDGC8PBwbYsuIhVSREgANoN8IdvLMAgP8f/7hbjfrfZ7J3ZZ46vGQ//nwMeBtdoiIlKlONVFxMvL8ZkawzDIzs4u6S08nrqIiFQuizcfYlrUdnJMEy/DYEZkW2sNtj0Hot+ENc+DPQtq1IMb58Kl/d1dsoiIlLMy7SJSkkzu5D42IiLlamTnJvRuEcrBxDTCQ/ytLiKnD8PXE+HgBuugVkPh+tcgIMS9xYqIiEdzKmDb7XZX1yEi4nZhQdX/bs+37Uv4z8NwLhl8AmDQLLjyH3DBzrUiIiIXcnonRxGRSin9NCx/FLZ9YY0bdoLIBVDnEreWJSIiFUeJAva+ffuIiori4MGD+Pr60r59e2655RaqV9dDPiJSCcRugCX3QsoRMLzg6seh16PgpbkIERFxnMN/a8yZM4fHH3+cnJycfK9Pnz6d5cuX07ZtW5cXJyJSGg7vzJh9Dta9CD+9DphQKwIiF0LjzuVWq4iIVB4OdRH58ccfufrqqzFNk4CAAFq2bElKSgoHDhzAbrdz6aWXsnPnTmw2p9pqV0jqIiLi2RzemTFhF0TdA/HbrHGHO2DATPCtUar7l3jbdRER8XiO5j+HEvGbb76JaZrceeedxMfH8/PPP7Nnzx5++eUXLrnkEvbt28eKFStcVryISGk4tDOjaULM27Dgaitc+9eBWxfBDW+UOlwv3nyIHrPWMmphDD1mrWXx5kOlup6IiFQsDgXs6OhoGjVqxNtvv01AQEDe65dffjmvvfYapmnyv//9r8yKFBEpiWJ3ZjwTDx+PgO8eh+wMaN4fJkZDqyGlvneJt10XEZFKx6GAffz4cTp16kS1atUueq9nz54AJCQkuLYyEREn5e7MeL68nRn/WApvdYP9a8DbDwb/G0Z/ATXrueTeDm+7LiIilZZDATszM5Pg4OAC38tdf5KZmemyokRESiMsqDozI9vh9VfPai/D4KUbIghb/yh8/g9IT4KwK2DCD3DVOJf2ti4y3IuISJWg3lMiUimdvzPjpZl/ELLqVjh1EDCg54PQZxp4X/xbudLKDfcXbruuBx1FRKoOhwP2vn37+Oijj5x6/4477ih5ZSIipRRWw5uwX96GH14G0w5BjWH42xDeo0zvW+C26yIiUmU41KbPZrNhOPkrVMMwyM7OdupcT6Y2fSIe7uR+iBoHR7dY48tHwuCXwS/IvXWJiEiF5Wj+c2gGu0mTJk4HbBGRcmWa8MuHsGIqZKVZgXrIq9DuJndXJiIiVYRDAfvgwYNlXIaIiAukJsLSybB7uTUO7wXD50NQI/fWJSIiVYoechSRymHPKvjmfkhNAK9q0Pcp6Ho/VKEdZkVExDMoYIuIR3J4q/HMNFg9HTa/Y41DW8OIhVC/XfkUKiIicgEFbBHxOIs3H8rbDdFmwMzIdozs3OTiA49tha/Gwcm91rjr/dbMtY9f+RYsIiJyHgVsEfEohW013rtF6N8z2fYc+GkOrJsB9myoGQbD5sEl17itbhERkVwK2CLiUYraajwsqDqc+hOWTIBD0dabbW6EoXPAv3a51yoiIlIQBWwR8Si5W42fH7K9DIPwOtXht8/g20ch8wxUq2n1tb7iVpdudS4iIlJaerxeRDxK7lbjXn+FZi/D4N9DGxO2+j5r5jrzDDTuChN/hPa3KVyLiIjH0Qy2iHic3K3Gf/nzFLWPb+Sq6JvhbBzYvKHPFOjxEHjpjy8REfFM+htKRDzSjzuPkPyfpxjibW0akxIQTuCo96BhRzdXJiIiUjQtERERj3Ni/y+0Wz6ce/4K1x9n96V70tPE1Wjj5spERESKpxlsEfEcdjvEzKPO6mcItWWSaAbyeNZ41to7APzdSURERMSDKWCLSLkrcJfG5KPw9USI/S82YE3OlTyRNZ5EgoC/OomE+LuvaBEREQcpYItIiTi8hXkhCtyl0X8LLHsQMk6Dd3UYOINEe19OLdkBpomXYTAjsq1mr0VEpEJQwBYRhzm8hTkFB/ELd2n0N9PwWXofeG2wXmhwJUQuhJBLGQn0blmXg4lphIf4K1yLiEiFoYAtIg5xaAvzvxQWxM/fpbGTsYvZPvNobDuBadgwej0KVz8OXj551wkLqq5gLSIiFY4Ctog4pNgtzP9SVBCPCAnA18hmstdXTPRaipdhcsisi//Idwlp3bscP42IiEjZUcAWEYcUuoX5BQ8eFhXEuwWeJLruLGon/wHAFzlXYxs0ixGtC2+/V9o13yIiIuVNAVtEHJK7hfm0qO3kFPHgYcFBHNoc/Rw+fZba2elk+gSxrcOz9Ox+a5GhuSRrvkVERDyFYZqmWfxhcqGUlBSCgoJITk4mMDDQ3eWIlJu45PRiHzxcvPlQXhCvayTzdaNFNDhhPci4wd6ORzMncMKoXexDkj1mrb1oxvzHKddoJltERNzC0fynGWwRKRFHHjwc2bkJvVuEkrx1KZfGPInXiZOYXr48f+4W3s8egIkNinhIEhxf8y0iIuJptFW6iLheZiphP0yh1frxeKWfhHpt+W3QEt7LHmSF67/kBuaC5C41OZ82mxERkYpAAVtEXOvIFpjfC7Z8ABjQfTKMW0u9SzuUKDDnrvn2Moy8Y7XZjIiIVARaIiIirpGTDT++CutngZkDgQ1h2DxodjUAYUE49JDk+V1DcpeaaLMZERGpSBSwRaT0kg5A1AQ4sskaXxYJQ1+F6rXyHVZcYC6sa4iCtYiIVCQK2CLiPNOEXz+B756AzLPgGwhDXoF2N4NhFHhKYQ9JlmSnSBEREU+mgC0izklLgmX/hJ3LrHHTHjB8PgQ716daXUNERKSyUMAWkZLb9z18fT+cjQebD1z7pPUwo83L6Us6ulOkiIiIp1MXERFxXFa6tRzk4xFWuA5pCePWQM8HSxWuQV1DRESk8tAMtog4Ju53iBoHJ3ZZ46vGQ//nwMd1AVhdQ0REpDJQwBap4s5vi1dgoLXnQPSbsOZ5sGdBjXpw41y4tH+Z1OPITpEiIiKeTAFbpAorrC1entOH4euJcHCDNW41FK5/DQJC3FOwiIhIBaA12CJVVEFt8aZGbSMuOd16YduXMK+HFa59AuCGN2DkxwrXIiIixdAMtkgVVVBbPLsJi/77O49kLYRtX1gvNuwEkQugziXlX6SIiEgFpIAtUkUV1Bavq+0PbtsyD4yTYHjB1Y9Dr0fBS39UiIiIOEpLRESqqLCg6oztGQFANbKY4v0pi3xepIFxkoyaTeHuldBnSl64jktOZ+P+xL+XkIiIiEiBNC0lUoXd3TOC9T9uYI7PXC6z/QnA4pxruPqOd6gf+vda62IfhhQREZE8msEWqapMk7BdH/Fd9elcZvuTk2ZN7s16GG54PV+4LuhhyGlR2zWTLSIiUgjNYItURWfi4ev7YP8avIGM8GuJ7TSTpxs3vagHdUEPQ+aYJgcT09SvWkREpAAK2CJVzR9LYdkDkJ4E3n5w3Qv4db6HTn9tUX6hgh6G9DIMwkP8y6lgERGRikVLRESqinNn4Jv74fN/WOE67AqY8ANcNQ4KCddgPQw5M7IdXn8d42UYzIhsq9lrERGRQmgGW6QqOLwJosbBqYOAAT0fhD7TwLuaQ6eP7NyE3i1COZiYRniIv8K1iIhIERSwRSqznCz44WXrx7RDUGMY/jaE9yjxpcKCqitYi4iIOEABW6SyOrnfmrU+usUaXz4SBr8MfkHurUtERKSSU8AWqWxME375EFZMhaw0K1APeRXa3eTuykRERKoEBWyRyiQ1EZZOht3LrXF4Lxg+H4IaubcuERGRKkQBW6Sy2LPK6hKSmgBe1aDvU9D1frCpWZCIiEh5UsAWqegy02D1dNj8jjUObQ0jFkL9du6tS0REpIpSwBapyI5tha/Gwcm91rjrfdD3afDxc8nl45LTiU1MJSIkQB1EREREHKSALVIR2XPgpzmwbgbYs6FmGAybB5dc47JbLN58iKlR27CbYDNgZmQ7RnZu4rLri4iIVFYK2CIVzak/YckEOBRtjdvcCEPngH9tl90iLjk9L1yDtU36tKjt9G4RqplsERGRYlT4p5+SkpIYPXo0gYGBBAcHM3bsWM6ePVvkOfHx8fzjH/+gfv36BAQE0KFDB7766qtyqlikZOKS09m4P5G402nw22cwr4cVrqvVhGHz4eYPXRquAWITU/PCda4c0+RgYppL7yMiIlIZVfgZ7NGjRxMXF8fq1avJysrirrvuYvz48SxatKjQc+644w5Onz7N0qVLCQkJYdGiRdxyyy38/PPPXHnlleVYvUjRcpdp1DTP8qLPewz1+p/1RuOuEPk21Aovk/tGhARgM8gXsr0Mg/AQ/zK5n4iISGVSoWewd+7cyYoVK3jnnXfo0qULPXv25I033uCzzz7j2LFjhZ63ceNGJk+ezFVXXUWzZs148sknCQ4OZsuWLeVYvUjRcpdpdDW2s8J3CkO9/keW6cWZ7lNgzLdlFq7B2hZ9ZmQ7vAwDsML1jMi2Wh4iIiLigAo9gx0dHU1wcDCdOnXKe61fv37YbDZiYmIYPnx4ged1796dxYsXM2TIEIKDg/n888/JyMigT58+hd7r3LlznDt3Lm+ckpLiss8hUpCDx5OY6vUx47ytTWP228N4KOs+pl4ymvCzWcQmni7T7h4jOzehd4tQDiamER7ir3AtIiLioAodsOPj46lbt26+17y9valduzbx8fGFnvf5558zcuRI6tSpg7e3N/7+/ixZsoTmzZsXes7MmTN59tlnXVa7SJGO76DTqrF0894JwMfZfXkxezSZRnV+P3Ka0e/8r1y6e4QFVVewFhERKSGPXCIyZcoUDMMo8mfXrl1OX3/69OmcPn2a77//np9//pmHH36YW265hW3bthV6ztSpU0lOTs77OXz4sNP3FymU3Q7Rc2FBH3wSd5JRrTb3ZD3Gk9ljyTSq8/iglvxrxa6LunvEJae7t24RERHJ45Ez2I888ghjxowp8phmzZpRv359EhIS8r2enZ1NUlIS9evXL/C8/fv38+abb7J9+3Yuu+wyAK644go2bNjA3LlzmT9/foHn+fr64uvrW/IPI+Ko5KPw9USI/a81bjEQvxve4Pmcmoz9a5lGUd09NNMsIiLiGTwyYIeGhhIaGlrscd26deP06dNs2bKFjh07ArB27VrsdjtdunQp8Jy0NKvNmM2Wf/Ley8sLu91eyspFnLRjCSx7EDJOg3d1GDgDOt4FhkEY5AvP6u4hIiLi2TxyiYijWrduzcCBAxk3bhybNm3ip59+YtKkSdx66600aNAAgKNHj9KqVSs2bdoEQKtWrWjevDkTJkxg06ZN7N+/n1deeYXVq1czbNgwN34aqZIyUmDJvfDFGCtcN7gS7t0Ane6Gvzp4nE/dPURERDyfR85gl8Qnn3zCpEmT6Nu3LzabjREjRvD666/nvZ+VlcXu3bvzZq59fHxYvnw5U6ZM4frrr+fs2bM0b96cDz/8kMGDB7vrY0hV9Gc0LBkPpw+BYYNej8DVT4CXT5GnqbuHiIiIZzNM0zSLP0wulJKSQlBQEMnJyQQGBrq7HKlIsjPhv7Pgx9lg2iG4KUQuhCYFL2sSERERz+Bo/qvwM9gijohLTic2MbVEfaOdOadYJ/ZA1DiI+9Uat78dBs4Ev8Cyu6eIiIiUKwVsqfRytxsvSd9oZ84pkmnCz+/CyichOx2q14Khc+CyYWV3TxEREXGLCv2Qo0hxcrcbL0nfaGfOKdLZBFh0C3z7iBWum10DEzfmC9cuv6eIiIi4jQK2VGpF9Y125TmF2rUc3uoGe1eBly8MnAW3R0Fgg7K7p4iIiLiVlohIpRYRElDivtHOnHORzFRYOQ22fGCN67W1HmSs16bs7ikiIiIeQTPYUqk50ze61L2mj2yB+b3+CtcGdJ8M49YWGq5zH2x8YlAr9bcWERGpBNSmz0lq01exxCWnl7hvdInPycmGH1+F9bPAzIHAhjBsHjS7utBTLnyw8YmBrbi8UbD6W4uIiHggR/OfAraTFLAln6QDEDUBjlg7hnJZJAx91eoWUoi45HR6zFp70bKQH6dco3AtIiLigdQHW6Q8mCb8+gl89wRkngXfQBjyCrS7ucCtzs9X1IONCtgiIiIVlwK2iLPSkmDZP2HnMmvctAcMnw/BjvWu1oONIiIilZMechRxxr7vrfZ7O5eBzQf6PQt3LnM4XIMLHqYUERERj6QZbJGSyEqH75+BmPnWOKQljFgIYVfkO8zRLc9Hdm5C7xahJX4AU0RERDyXAraIo+J+h6hxcGKXNb5qPPR/Dnzyh+KSbnkeFlRdwVpERKQSUcAWKY49B6LfhDXPgz0LatSDG+fCpf0vOrSwLc97twhViBYREakiFLBFinL6MHw9EQ5usMathsL1r0FASIGHqzOIiIiIKGCLFGbbl/Cfh+FcMvgEwKBZcOU/imy/p84gIiIioi4iIhdKPw1f3QNfjbXCdcNOcO8G6HBHsb2t1RlERERENIMtcr7YDbDkXkg5AoYXXP049HoUvBz/v4o6g4iIiFRtCthSoTnaDq9Y2edg3Yvw0+uACbUiIHIhNO7s1OXUGURERKTqUsCWCquk7fAKlbALou6B+G3WuMMdMGAm+NZwbcEiIiJSJWgNtlRIhbXDi0tOd/wipgkxb8OCq61wXb02jPwEbnhD4VpEREScphlsqZBK3Q4vJQ6+uR/2r7HGzftZva1r1nd9sSIiIlKlKGBLhXDhWutStcP7YyksewDSk8DbD657ATrfU2yHEBERERFHKGCLxytorXXvFqHc0zOCdzbEYsfBdnjnzsCKKbD1Y2scdoX1IGNoy3yHuezBSREREamSFLDFoxW01nrKV9sw/pq9thkwvmcz7uoZXnQYPrwJosbBqYOAAT0fhD7TwLtavsNc9uCkiIiIVFl6yFE8WkFrrU3IF7jf/TG28AvkZMG6GfDeACtcBzWGMd9Cv2cuCtcueXBSREREqjzNYItHK2it9YUKfbjx5H5r1vroFmt8+UgY/DL4BRV4nVI/OCkiIiKCZrDFw1249bgNuPBRxIsebjRN2PIBzO9phWu/IBjxLkQuKDRcw99hvshri4iIiBRDM9ji8S7cevyHPSeYFrWdHNO8+OHG1ERYOhl2L7fG4b1g+HwIalTsfXLDfKHXFhEREXGAYZpmEb98l8KkpKQQFBREcnIygYGB7i6nyolLTs8L3HkBeM8qq7d1agJ2WzXO9pxKYJ8HwVayX9QUeG0RERGp8hzNf5rBlgopLKj63+E3Mw1WT4fN7wCw296IB8/dz+7VTZlZ80iJu4Dku7aIiIhICSlgS7kpk/7Sx7bCV+Pg5F4A3ssexL+yR3IOq0PItKjt9G4RqsAsIiIi5UYBW8rFhf2lx/aM4O6eEc4HX3sO/DTHasFnz4aaYey4ahbPfeuT7zBXdQHR5jMiIiLiKAVsKXMF9ZdeuCGWdzbEMmuEExu5nPoTlkyAQ9HWuM2NMHQOtbOqY1u+1rnt04ugzWdERESkJNSmT8pcQf2lwdowpkQbuZgm/PYZzOthhetqNWHYfLj5Q/CvfVFLP1d0AdHmMyIiIlJSmsGWMlfUZjEOL+FIS4JvH4YdS6xx464Q+TbUCs932IUt/Uq7nEObz4iIiEhJaQZbylzuzPKFm7iAg0s4Dqy3Zq13LAGbN1z7pLXd+QXh+vz7dbukjksCsDafERERkZJSwJZyMbJzE36aci3je0fkfemKXcKRlQEr/w8+uhHOHIM6zWHsKuj9GHiVzy9fymLZiYiIiFRu2mjGSdpoxnkObeRyfIfVfi9hhzXudDdc9wJUCyi/Qs+jzWdEREREG82IxypyIxe7HWLmwffPQE4m+IfAjXOh5cByrfFC2nxGREREHKWALZ4j+Sh8PRFi/2uNWwyEG96AGnXdW5eIiIhICShgi2fYsQSWPQgZp8G7OgycAR3vAqOAJyNFREREPJgCtrhXRgp89zj89qk1bnAlRC6EkEvdW5eIiIiIkxSwxX3+jIYl4+H0ITBs0OsRuPoJ8PIp/lwRERERD6WALeUvOxP+Owt+nA2mHYKbQuQCaNLV3ZWJiIiIlJoCtpSvE3sgahzE/WqN298OA2eCn1odioiISOWggC3lwzTh53dh5ZOQnQ7Va8HQOXDZsGJPjUtOJzYxlYiQALXKExEREY+ngC1l72wCfHM/7F1ljZtdA8PegsAGxZ66ePMhpkZtw26CzYCZke3o3SJUgVtEREQ8lgK2lK1dy2HpZEhLBC9f6P8sXDUBbLZiT41LTs8L1wB2E6Z8tQ3DIF/gHtm5SRl/CBERERHHKWBL2chMhZXTYMsH1rheW6v9Xr02Dl8iNjE1L1znMrFWm4AVsqdFbad3i1DNZIuIiIjHUMAW1zuyxXqQMWk/YED3SXDtdPD2LdFlIkICsP01W12YHNPkYGKaAraIiIh4jOJ/Ty/iqJxs+O9L8G5/K1wHNoQ7voHrXihxuAYIC6rOzMh2eP21m6MNuHBfRy/DIDzEv/S1i4iIiLiIZrDFNZIOQNQEOLLJGl8WCUNftbqFlMLIzk3o3SKUg4lphIf488OeE0yL2k6OaeJlGMyIbKvZaxEREfEoCthSOqYJv34C3z0BmWfBNxCGvALtbgbjwvlm54QFVc8L0RcGboVrERER8TQK2OK8tCRY9k/YuQyAcw274nvzQggu264e5wduEREREU+jNdhSpLjkdDbuTyQuOT3/G/u+h7e6wc5lZJpezMq6lcsOTGLxXvfUKSIiIuIpNIMthSpok5eR7UPh+2cgZj4Ae+0NeTDrfnaY4YDa5omIiIgoYMtF4pLT+flg0kWbvPy/Jf8hMvp9fJL2WMe1/AdDf+vLOarlnau2eSIiIlLVKWBLPufPWueyYecer2951PtzfJJyoEY9uHEu1O1J1u9rrd1f/qK2eSIiIlLVaQ225Llwa3KABiTyic8Mpvl8SjUjh4xLBsHEjXBp/4v6VKttnoiIiIhmsOU8F25NfoNtIy/4vEegkUaq6cuOy6dxVeQD+drvqW2eiIiISH4K2JInd2vyGmYqz/m8zzCvjQCcqnU5WcPe5qqmbQBrpjs2MZWIkIC8lnkK1iIiIiIWBWzJExZUnXeuzqBV9BQaGCfJNm3sanEvbW99Hrysr0qBnUU6l23faxEREZGKRAFbLNnnYN2LXPu/18EwyajZlLND3qJtq555h1y4Rttuqi2fiIiIyIUUsAUSdkHUPRC/zRp3uAO/ATPx862R77AL12iD2vKJiIiIXEgBuyozTdi0AFY/BdkZUL023PAGtB5a4OG5a7TtassnIiIiUii16auqUuLg4xHw3eNWuG7eD+6LLjRcA2rLJyIiIuIAzWBXRX8shWUPQHoSePvBdS9A53vytd8rjNryiYiIiBRNAbsqOXcGVkyBrR9b47ArIHIhhLYs0WXUlk9ERESkcArYFciF/adL5PAmiBoHpw4CBvR8EPpMA+9qZVCpiIiISNWlgF1BON1/OicLfnjZ+jHtENQYhr8N4T3KvmgRERGRKkgBuwJwuv/0yf3WrPXRLdb48pEw+GXwCyr7okVERESqKAXsCqDE/adNE375EFZMhaw0K1APeRXa3VQ+BYuIiIhUYQrYFUCJ+k+nJsLSybB7uTUO7wXD50NQo/IpVkRERKSKUx/sCsDh/tN7VsFb3axw7VXNar93x1KFaxEREZFypBnsCqLI/tOZabB6Omx+xxqHtoYRC6F+O/cUKyIiIlKFKWBXIAX2nz62Fb4aByf3WuOu90Hfp8HHr/wLFBEREREF7ArLngM/zYF1M8CeDTXDYNhbcMm17q5MREREpEpTwK6ITv0JSybAoWhr3OZGGDoH/Gu7tSwRERERUcCuWEwTfl8M3z4KmWegWk2rr/UVt8JfD0CKiIiIiHspYFcUaUnw7cOwY4k1btwVIt+GWuFuLUtERERE8lPArihSE2H3CrB5Q58p0OMh8NK/PhERERFPo4RWUYS2gBvfhNoR0LCju6sRERERkUIoYFck2upcRERExONpJ0cRERERERdSwBYRERERcSEFbBERERERF6rwAfvFF1+ke/fu+Pv7Exwc7NA5pmny1FNPERYWRvXq1enXrx979+4t20JFREREpEqo8AE7MzOTm2++mYkTJzp8zksvvcTrr7/O/PnziYmJISAggAEDBpCRkVGGlYqIiIhIVWCYpmm6uwhX+OCDD3jwwQc5ffp0kceZpkmDBg145JFHePTRRwFITk6mXr16fPDBB9x6660O3S8lJYWgoCCSk5MJDAwsbfkiIiIi4uEczX8Vfga7pGJjY4mPj6dfv355rwUFBdGlSxeio6MLPe/cuXOkpKTk+xERERERuVCVC9jx8fEA1KtXL9/r9erVy3uvIDNnziQoKCjvp3HjxmVap4iIiIhUTB4ZsKdMmYJhGEX+7Nq1q1xrmjp1KsnJyXk/hw8fLtf7i4iIiEjF4JE7OT7yyCOMGTOmyGOaNWvm1LXr168PwPHjxwkLC8t7/fjx47Rv377Q83x9ffH19XXqniIiIiJSdXhkwA4NDSU0NLRMrh0REUH9+vVZs2ZNXqBOSUkhJiamRJ1IREREREQK4pFLREri0KFD/Prrrxw6dIicnBx+/fVXfv31V86ePZt3TKtWrViyZAkAhmHw4IMP8sILL7B06VK2bdvGHXfcQYMGDRg2bJibPoWIiIiIVBYeOYNdEk899RQffvhh3vjKK68EYN26dfTp0weA3bt3k5ycnHfM448/TmpqKuPHj+f06dP07NmTFStW4OfnV661i4iIiEjlU2n6YJc39cEWERERqVrUB1tERERExA0UsEVEREREXEgBW0RERETEhSr8Q47ukrt0XVumi4iIiFQNubmvuEcYFbCddObMGQBtmS4iIiJSxZw5c4agoKBC31cXESfZ7XaOHTtGzZo1MQyjROempKTQuHFjDh8+rA4kUiR9V6Qk9H0RR+m7Io7SdyU/0zQ5c+YMDRo0wGYrfKW1ZrCdZLPZaNSoUamuERgYqC+rOETfFSkJfV/EUfquiKP0XflbUTPXufSQo4iIiIiICylgi4iIiIi4kAK2G/j6+vL000/j6+vr7lLEw+m7IiWh74s4St8VcZS+K87RQ44iIiIiIi6kGWwRERERERdSwBYRERERcSEFbBERERERF1LAFhERERFxIQXscvLiiy/SvXt3/P39CQ4Odugc0zR56qmnCAsLo3r16vTr14+9e/eWbaHidklJSYwePZrAwECCg4MZO3YsZ8+eLfKc+Ph4/vGPf1C/fn0CAgLo0KEDX331VTlVLO7izHcFIDo6mmuvvZaAgAACAwPp3bs36enp5VCxuJOz3xew/j4aNGgQhmHw9ddfl22h4nYl/a4kJSUxefJkWrZsSfXq1WnSpAn//Oc/SU5OLseqPYsCdjnJzMzk5ptvZuLEiQ6f89JLL/H6668zf/58YmJiCAgIYMCAAWRkZJRhpeJuo0ePZseOHaxevZr//Oc//PDDD4wfP77Ic+644w52797N0qVL2bZtG5GRkdxyyy1s3bq1nKoWd3DmuxIdHc3AgQO57rrr2LRpE5s3b2bSpElFbvkrlYMz35dcc+bMwTCMMq5QPEVJvyvHjh3j2LFj/Pvf/2b79u188MEHrFixgrFjx5Zj1R7GlHL1/vvvm0FBQcUeZ7fbzfr165svv/xy3munT582fX19zU8//bQMKxR3+uOPP0zA3Lx5c95r3333nWkYhnn06NFCzwsICDA/+uijfK/Vrl3bXLhwYZnVKu7l7HelS5cu5pNPPlkeJYoHcfb7YpqmuXXrVrNhw4ZmXFycCZhLliwp42rFnUrzXTnf559/blarVs3MysoqizI9nqYsPFRsbCzx8fH069cv77WgoCC6dOlCdHS0GyuTshQdHU1wcDCdOnXKe61fv37YbDZiYmIKPa979+4sXryYpKQk7HY7n332GRkZGfTp06ccqhZ3cOa7kpCQQExMDHXr1qV79+7Uq1ePq6++mh9//LG8yhY3cfbPlrS0NEaNGsXcuXOpX79+eZQqbubsd+VCycnJBAYG4u3tXRZlejwFbA8VHx8PQL169fK9Xq9evbz3pPKJj4+nbt26+V7z9vamdu3aRf57//zzz8nKyqJOnTr4+voyYcIElixZQvPmzcu6ZHETZ74rBw4cAOCZZ55h3LhxrFixgg4dOtC3b18931HJOftny0MPPUT37t258cYby7pE8RDOflfOl5iYyPPPP+/wEqTKSAG7FKZMmYJhGEX+7Nq1y91ligco6+/K9OnTOX36NN9//z0///wzDz/8MLfccgvbtm1z4aeQ8lCW3xW73Q7AhAkTuOuuu7jyyiuZPXs2LVu25L333nPlx5ByUpbfl6VLl7J27VrmzJnj2qLFLcors6SkpDBkyBDatGnDM888U/rCK6iqOW/vIo888ghjxowp8phmzZo5de3cX8UdP36csLCwvNePHz9O+/btnbqmuI+j35X69euTkJCQ7/Xs7GySkpIK/fXs/v37efPNN9m+fTuXXXYZAFdccQUbNmxg7ty5zJ8/3yWfQcpHWX5Xcv8sadOmTb7XW7duzaFDh5wvWtymLL8va9euZf/+/Rd1vhoxYgS9evVi/fr1pahcyltZfldynTlzhoEDB1KzZk2WLFmCj49PacuusBSwSyE0NJTQ0NAyuXZERAT169dnzZo1eYE6JSWFmJiYEnUiEc/g6HelW7dunD59mi1bttCxY0fA+kvObrfTpUuXAs9JS0sDuKgLhJeXV96MpVQcZfldCQ8Pp0GDBuzevTvf63v27GHQoEGlL17KXVl+X6ZMmcI999yT77V27doxe/Zsrr/++tIXL+WqLL8rYGWUAQMG4Ovry9KlS/Hz83NZ7RWSu5+yrCr+/PNPc+vWreazzz5r1qhRw9y6dau5detW88yZM3nHtGzZ0oyKisobz5o1ywwODja/+eYb8/fffzdvvPFGMyIiwkxPT3fHR5ByMnDgQPPKK680Y2JizB9//NG89NJLzdtuuy3v/SNHjpgtW7Y0Y2JiTNM0zczMTLN58+Zmr169zJiYGHPfvn3mv//9b9MwDPPbb79118eQclDS74ppmubs2bPNwMBA84svvjD37t1rPvnkk6afn5+5b98+d3wEKUfOfF8uhLqIVAkl/a4kJyebXbp0Mdu1a2fu27fPjIuLy/vJzs5218dwKwXscnLnnXeawEU/69atyzsGMN9///28sd1uN6dPn27Wq1fP9PX1Nfv27Wvu3r27/IuXcnXy5EnztttuM2vUqGEGBgaad911V77/EIuNjb3ou7Nnzx4zMjLSrFu3runv729efvnlF7Xtk8rHme+KaZrmzJkzzUaNGpn+/v5mt27dzA0bNpRz5eIOzn5fzqeAXTWU9Luybt26AjMOYMbGxrrnQ7iZYZqmWd6z5iIiIiIilZW6iIiIiIiIuJACtoiIiIiICylgi4iIiIi4kAK2iIiIiIgLKWCLiIiIiLiQAraIiIiIiAspYIuIiIiIuJACtoiIgwzDKPFPnz59yqSWZ555BsMweOaZZ8rk+he68HPZbDaCgoJo2rQpAwYM4Mknn+SPP/4ol1pERDydt7sLEBGpKO68886LXouPj2flypWFvt+qVasyr6s8DRgwgPr16wOQmppKQkICGzduZNWqVbz44otERkYyb9486tat65L7rV+/nmuuuYarr76a9evXu+SaIiJlTTs5ioiUQm4ABCjPP04TExNJTEwkJCSEkJCQMr+fYRgArFu37qJZ+ezsbD7//HMefvhhjh8/TqtWrdi4cSO1atUq9X0VsEWkItISERGRCigkJIRWrVqVS7gujre3N6NGjWLTpk2EhISwa9cuHn30UXeXJSLiNgrYIiJl5Px10ocOHWLs2LE0btwYHx8fxowZk3dcVFQU99xzD23btqVWrVr4+fkRERHB3Xffze7du4u99vk++OADDMNgzJgxpKamMnXqVJo3b46vry/169fnzjvv5OjRo2XyeZs0acKzzz4LwEcffcTx48fzvb9p0yYef/xxrrrqKurXr0+1atWoV68e119/Pd9///1F1+vTp0/ebwf++9//5lsDHh4ennfciRMneP311xk8eDARERFUr16dwMBAOnXqxL/+9S8yMjIc/gwpKSkEBgbi7e3N4cOHCz1u8ODBGIbBW2+95fC1RaTqUMAWESlje/fu5corr2T58uV06dKFG264Id/M8y233MKnn35K9erVufbaaxkwYAA2m43333+fjh07snHjxhLfMzk5me7duzN//nzatGnDoEGDME2Tjz76iB49epCcnOzKj5hn1KhRGIZBdnY269aty/fetGnTeOWVV8jIyKBjx44MGzaMRo0a8Z///If+/fvz2muv5Tt+4MCBDBgwAIB69epx55135v3cdNNNecetXLmSBx54gN9//52mTZsybNgwrrrqKnbv3s2UKVO49tprOXfunEP1BwYGMmbMGHJycpg/f36Bx+zfv58VK1YQGBjIHXfcUZJ/PCJSVZgiIuK0devWmYBZ0B+nTz/9dN57t99+u5mRkVHgNT777DPz7Nmz+V6z2+3m3LlzTcC87LLLTLvdXuC1n3766Xyvv//++3n3HDBggJmcnJz3XlJSktm+fXsTMGfMmFGiz5l7zXXr1hV7bPPmzU3AfPLJJ/O9vnz5cvPYsWMXHb9x40YzMDDQ9PHxMY8cOZLvvdx/vldffXWh9/vjjz/M6Ojoi15PSkoyr7vuOhMwX3rppWLrzrVnzx7TMAyzbt26Bf47e+SRR0zAnDx5ssPXFJGqRTPYIiJlrHbt2rz55pv4+voW+P7IkSMJCAjI95phGNx3331069aNHTt2sHPnzhLdMyAggPfff5/AwMC812rVqsWUKVMAClyS4Sq5s/MnT57M9/qgQYMICwu76Phu3bpx//33k5WVxTfffFPi+7Vu3ZquXbte9HqtWrV44403APjiiy8cvt6ll17KoEGDSEhIuOi89PR03nvvPQzD4P777y9xrSJSNahNn4hIGevXrx9BQUFFHrNv3z5WrFjBvn37OHPmDDk5OQB565h3795NmzZtHL5np06dCgyzrVu3BiizddgAdrsd+LvzyPlOnjzJt99+y/bt2zl16hRZWVmAtYwGKHTNeXFycnJYv349GzduJC4ujvT0dEzTzOvsUtLrPvDAAyxfvpw333yT22+/Pe/1RYsWcerUKfr370/Lli2dqlVEKj8FbBGRMnb+A3kXysnJYdKkSbz99ttFtvlLSUkp0T2bNGlS4Ou5M9olefCvpBITEwFr5v58Cxcu5KGHHiI1NbXQc0v6OcEK58OHD2fHjh0uu27//v1p3bo1MTExbNmyhY4dOwIwd+5cACZNmlTiOkWk6tASERGRMla9evVC33vttdeYP38+9erVY9GiRRw8eDDf7Ottt90GlLzHts3mnj/eT506RWxsLADt2rXLe33Lli1MmDCBc+fO8a9//Ys//viDs2fPYrfbMU2Tt99+G3Cul/hNN93Ejh07GDp0KD/88AOJiYlkZmZimqbDDzdeyDAMJk+eDMCbb74JQHR0NFu3biU8PJyhQ4c6dV0RqRoUsEVE3Ojzzz8H4O233+a2226jadOm+Pn55b2fu3Sioli0aBGmaeLj45PXYg+sNdCmaTJ58mQef/xxWrduTUBAQN4yEmc/565du/j999+pW7cuS5YsoVevXtSpUwcfH59SXRfgjjvuIDg4mM8++4yTJ0/mBe2JEye67T9gRKRi0J8QIiJulJSUBEDTpk0vem/Hjh38+uuv5VyR8w4dOpTXl3vMmDGEhobmvVfU58zIyOCrr74q8JrVqlUDrN0iC5J73QYNGuDtffGqx48//tjxD3CBgIAAxo4dS0ZGBjNmzODLL7/Ez8+PsWPHOn1NEakaFLBFRNwo96HDuXPn5j0cCBAXF8cdd9xRaLD0JNnZ2Xz66ad06dKFxMRE2rRpw0svvZTvmNzP+eGHH3LmzJm81zMyMrjvvvvylpVcqFGjRoA1E537QOT5WrRogZeXF9u2bbtoK/Vly5Yxe/bs0nw0Jk2ahM1m49VXXyUzM5PbbruNOnXqlOqaIlL5KWCLiLjRtGnTqFatGgsXLqRly5aMHDmSQYMGcckll3Du3DmGDx/u7hLzmTVrFmPGjGHMmDGMHDmSPn36ULt2bUaNGkV8fDw33XQT69evJzg4ON95d911F02bNmXr1q1EREQwfPhwbrrpJpo2bcqXX37JAw88UOD9mjRpQqdOnUhISKBdu3bcfvvt3HPPPXntBkNCQpg0aRI5OTn07duXPn36MGrUKDp27MgNN9zAY489VqrPGx4ezg033JA31sONIuIIBWwRETfq0qULP//8MzfccAOpqaksXbqU/fv3M3nyZKKjo/P1sfYEK1eu5MMPP+Sjjz7iu+++48CBA3Tr1o0nn3ySP/74gy+++CLf0pBcwcHB/Pzzz9x3330EBwfz3XffER0dzXXXXccvv/xC+/btC73nV199xahRo0hJSWHx4sW8++67fPbZZ3nvz549m3fffZcrr7ySLVu2sHz5cvz9/fnss894/vnnS/2Zc3eT7NatGx06dCj19USk8jNMZx7ZFhERqSJ69uzJTz/9xKJFi/K6uoiIFEUBW0REpBDfffcdgwcPpkmTJuzbty+vO4mISFG00YyIiMh5Tp48yRNPPMGpU6dYvnw5AC+99JLCtYg4TDPYIiIi5zl48CARERF4e3vTrFkzHnnkEcaPH+/uskSkAlHAFhERERFxIXURERERERFxIQVsEREREREXUsAWEREREXEhBWwRERERERdSwBYRERERcSEFbBERERERF1LAFhERERFxIQVsEREREREXUsAWEREREXGh/w+suimp9j//cQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot the surrogate model's output vs. the training data output\n", + "y_tst_mM = [y_trn[:,0].min(),y_trn[:,0].max()]\n", + "\n", + "fig2 = plt.figure(figsize=(8,6))\n", + "ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75])\n", + "\n", + "ax2.plot(y_trn[:,0],y_trn_approx[\"Y_eval\"],\".\")\n", + "ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line\n", + "\n", + "ax2.set_xlabel(\"Train Data y\", size=16)\n", + "ax2.set_ylabel(\"Predicted y\", size=16); " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtgAAAIHCAYAAACluyv/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB+dElEQVR4nO3dd3hUVf7H8fedQiBAAiFA6KGHXhXpICjFhmAFERABC7qubiSoCBYMxS7uUmzwUxQUECwICCgqCIiAdCmBUBKKCQklJFPu749ssiApk8mkf17Pw7POnXPP+Y6zwoeTc88xTNM0ERERERERn7AUdAEiIiIiIsWJAraIiIiIiA8pYIuIiIiI+JACtoiIiIiIDylgi4iIiIj4kAK2iIiIiIgPKWCLiIiIiPiQAraIiIiIiA/ZCrqAosrtdnPixAnKly+PYRgFXY6IiIiI5DHTNDl37hzVq1fHYsl8nloB20snTpygVq1aBV2GiIiIiOSzo0ePUrNmzUzfV8D2Uvny5YHUf8EBAQEFXI2IiIiI5LXExERq1aqVngMzo4DtpbRlIQEBAQrYIiIiIiVIdsuD9ZCjiIiIiIgPKWCLiIiIiPiQAraIiIiIiA8pYIuIiIiI+JACtoiIiIiIDylgi4iIiIj4kAK2iIiIiIgPKWCLiIiIiPiQAraIiIiIiA8pYIuIiIiI+JACtoiIiIiIDylgi4iIiIj4kAK2iIiIiIgPKWCLiIiIiPiQAraIiIiIiA8pYIuIiIhI0eO4BMnnCrqKDClgi4iIiEjRcnQTzOoK30UUdCUZshV0ASIiIiIiHkm5CGsnw4Z3ARMuJcLFOPAPKujKrqCALSIiIiKF3+FfYNlYiDuU+rrVYOgzudCFa1DAFhEREZHCLPk8rH4BNs1OfR1QA25+ExrdWKBlZUUBW0REREQKp0M/wLLH4Gx06uu2w+DGl6B0YIGWlR0FbBEREREpXC4lwqoJsOWj1NeBteHWt6F+zwIty1MK2CIiIiJSeOz/Hr56HBKPp76+ZhT0ngh+5Qu2rhxQwBYRERGRgpcUDyuehW2fpL6uWBdumwGhXQq2Li8oYIuIiIhIwdr7LXz9TzgfCxhw3SNw/XNQyr+gK/OKAraIiIiIFIyLcbD8adjxeerrSg3htnehdoeCrSuXFLBFREREJP/t+hK+/RdcOA2GBTo9Dj3Gg710QVeWawrYIiIiIpJ/zp9KDda7l6a+rtwEBrwLNdoVbF0+pIAtIiIiInnPNGHHF6lLQpLiwGKDLk9Ct3+Bza+gq/MpBWwRERERyVuJMfDNk7Dv29TXIS3gtn9DtZYFW1ceUcAWERERkbxhmrBtPqwYD5cSwGKH7uOgyxNgtRd0dXlGAVtEREREfC/hGHz1Dzjwferr6m1SZ62rNvW6y5iEJKLOXKBucFmqBZbxUaG+p4AtIiIiIr5jmqlHnK+cACnnwOoHPZ+BjmPB6n30XLA5mvGLd+A2wWJA5MAW3H1Nbd/V7UMK2CIiIiLiG/GHYdnjEPVj6uua16bua125kdddxiQkseVIPBGLdmD+95rbhPGLd+Bfykr70KBCN5utgC0iIiIiueN2w+b34PtJ4LgAtjLQ63noMAYsVq+7vXzW+qohTXjs022FcjZbAVtEREREvPfXQVg6FqLXp76u0wVufRsq1fe6y5iEJH47HJdpuL6c24RnFu+kW6PKhWYmWwFbRERERHLO7YJf/wNrXgZnEtjLwg0vQPuRYLF43W1Ws9aZcZkmh89cVMAWERERkSLq9D5Y+igc25z6ul4PuOVtqFgnV93GJCRlGa4tBhm+ZwFCg/1zNbYvef/XCxEREREpWVxO+Ol1mNk1NVz7BaQG66Ff5jpcA0SduZBpuLYaBuP6hWExrn5vXL+wQjN7DZrBFhERERFPnNwFXz4CMdtSXze4AW55EwJr5rrrtP2ty5ayXjVLbQHeGdyGtnUqUi2wDBXK2Hlm8U5cponFSA3XY7p5v947Lyhgi4iIiEjmXI7UWet108HtgNKB0HcqtLoHjAymk3Po7/tb396mBl9uPYHLNLEaBq8MbM5NLaunt7/7mtp0a1SZw2cuEhrsX6hmrtMoYIuIiIhIxk5sS90h5OSO1NeNb4KbX4fyIT7p/u9rrt0mfLn1BIsf6cjFFHemAbpaYJlCGazTKGCLiIiIyJWcyfDjNPj5DTBdUCYI+k+H5oMynbXO6Bjz7Ufj2XQ4jmtDg2hVq+JV92S05tplmlxMcdOxfiWff6z8ooAtIiIiIv9zbAssfQRO70193XQA9H8VylXO9JaMjjHfFBXHot+Pp7fpULciN7WsRlBZP9r9dz113eCyV625thpGodoRxBuGaZo52GVQ0iQmJhIYGEhCQgIBAQEFXY6IiIhI7jiSYO0rsGEGmG4oWxlueg2a3pblbTEJSXSesubKBxMz2U4vjQFMGZR6+uKCzdHpDy2mrbkuTKcyXs7T/KcZbBEREZGSLvrX1H2t/zqQ+rrFXdBvKvgHZXlbTEISX/9x4qownd0hMSYwfvEOujWqXCQeWswpBWwRERGRkirlAqx+CTbOBEwoXw1ufgMa97uq6d/XWGd14mJ2M9iQ+n7a6YuF/aHFnFLAFhERESmJon6CZWMh/nDq6zb3wY2ToUyFq5r+fY31uL5hTP1ub6Yh+vY2NYg6c4Hfo89mOrzFKFynL/qSAraIiIhISZJ8DlZNhN/eT30dUBNufQsa9L6q6faj8Xy/5yQz1hwkLUu7TZi6fC/uLIZYsvV41muw//sgZHGatb6cAraIiIhISXFgNXz1D0g4mvq6/QPQ+wUoffUDe08t3HbFLiCXc5MakjPbKiOzcP1Ap1DahVZMP5WxuFLAFhERESnuks7Cyudg6/+lvq5Qh796vcY+/zbUTbZTrfSVzVfvic00XKd5tEd93v3hYKYh+++shsGo7vWKdbBOo4AtIiIiUpz9uQK+egLOnQAM6DCGRRVGED7/IG5zY/q+1Wlb4y3YHM24RTuy7TYksHSOwvUrA5uXiHAN2gfba9oHW0RERAq1i3Hw3Xj447PU10H14bZ3ianQmk6Ra7g8AFoNg58jegJc9V5uWAx4+542tAstHktCtA+2iIiISEm15yv4+km4cAoMC3R8FHo8A6X8+eCb3VcFaJdp8s0fMfjZLT4L1wDj+oVxc6vqPuyxaFDAFhERESkuLpyBb8Nh1+LU18GNYcC/oWZ7IHUv6/d/jsrw1pe/2eOzMgwgol8YY7rV91mfRYkCtoiIiEhRZ5qpofrbcLj4FxhW6PIEdB9HzAU3UQfPUDe4LFFnLmR7AExuWQxY8kgnWtWqmLcDFWIK2CIiIiJF2bmT8M2TsPfr1NdVm8NtM4gpG8Y7X+1j/sbULfkM4JrQvA29aQ8zluRwDQrYIiIiIkWTacIfC2D5OLh0Fiw26BYOXZ5kwdZYIhZd+bCiCWw6HO/zMl66rRktawZyMcVNaLB/sXiYMbcUsEVERESKmsQTqVvv7V+R+rpaK7jt3xDSnJiEJCIW7/Dpw4qZmTrof9v7yf8oYIuIiIgUFaaZeljMimchORGspUi87l/sDB1G3TKBVAM+/DnK4/2pvWUAXz5astdZZ0UBW0RERKQoOBudesz5wTWpr2u0Z3n953h01UXc5hYM4NbW1Vi6LSZPy0g7mEbhOnMK2CIiIiKFmdsNWz6AVRMh5TzYSsP1zxHTZASPTvsxfVcQE/I8XEPqwTElcW/rnFDAFhERESmEYhKSOBG1m+a/PYffsfWpF2t35NT1r7IpMYh9m4/l6ZZ7FoOr+rcaBu3yeCeS4kABW0RERKSQWbDpMPuWvcq/rAvxM5JxWstwoeuzzDjfk/dmHsHkSJ6On7YMBOCZxTtxmWb6FnzaJSR7CtgiIiIihcipqB3U//oB7rb9CcB6V1MikkcR/V1VyONgnebyZSDdGlXm8JmL2oIvBxSwRURERAoDtws2zKDSmslUsSRzzixDpHMwn7p6YmLJtzL+vgykWmAZBescUsAWERERKWin9sDSR+H4FqzAOlcLIhyjOEFwvpahZSC+oYAtIiIiUgBiEpI4fOoszaM+ovzG18GVwiVrOZ6/NJiFru6k7jadfybc1IT+LaspXPuAAraIiIhIPluwOZqPFn/NdPssylsOA/C9qw3PXhrJSYLyvR6rYShc+5ACtoiIiEg+WrMzmtilE1lWail2w0W8WY5JjvtZ6u5Mfs9aQ+qOIVoW4lsK2CIiIiJ5JCYhiagzF6gbXJZqgWV4Y+5n9Dv4MtfbjgKw3HUNzztGcJoK+VaTQeqhNBbgwW51GdG5rsK1jylgi4iIiPhYTEISH/4cxZyfojCB0kYKc+uu4bHjH2OzuDljBvC8Yzjfuq/z6biGAWYGh88M61iHvs2rERrsD6Bt9/KYAraIiIiIDy3YHM34xTvST0Fsa/zJNPtsGpw4AQYsdXXiBcf9xBHg87FNE7o1DOaXA3/hMlM39xvXL4wx3etf0U7BOm8pYIuIiIjkwuXLQID0cF2aZJ6yfc5I63IshskpswLPOh5glbt9ntbz8/4zLHm0ExdT3JqlLiD5t2t5HomLi2PIkCEEBARQoUIFRo4cyfnz57Ns/9hjj9G4cWPKlClD7dq1efzxx0lISMjHqkVERKQ4WLA5ms5T1jB4zkY6TVnD1OV7cZtwrbGH5aUiGGX7Foth8oWrGzckT8vzcA3gBi6muOlYv5LCdQEp8jPYQ4YMISYmhlWrVuFwOBgxYgSjR49m/vz5GbY/ceIEJ06c4NVXX6Vp06YcOXKEhx56iBMnTvDFF1/kc/UiIiJSVMUkJF2xFMQ0YeW2Q0yyfcZw20oATphBPOMYyQ/uNvlWl9Uw0tdaS8EwTDOjpfBFw549e2jatCmbN2+mffvUvxF+99139O/fn2PHjlG9enWP+vn888+57777uHDhAjabZ3/nSExMJDAwkISEBAICfL+GSkRERAqvmIQkvv7jBJO/2Zt+rZNlJ1Ntc6hlOQ3AfGdPIp1DOEfeh10LqTPXaScx3n1N7TwfsyTyNP8V6RnsDRs2UKFChfRwDdC7d28sFgsbN27k9ttv96iftH9JWYXr5ORkkpOT018nJiZ6X7iIiIgUWX9/iLEcF3nGNp/BtjUAHDODGecYxS/uFvlSjwW05rqQKdIBOzY2lipVqlxxzWazERQURGxsrEd9nDlzhpdeeonRo0dn2S4yMpIXXnjB61pFRESk6Ep7kDEpxUnEoh2k/fi/u2U7kfY5VDfiAJjrvIFpznu4QP6EXAOIHNSCVrUq5st44plCGbAjIiKYOnVqlm327NmT63ESExO56aabaNq0KZMmTcqy7fjx43nyySevuLdWrVq5rkFEREQKt1k/HmTK8r1cvqY2gPNMsH3MnbZ1ABx2V2WcYzQbzSZ5VofFgAe71OOmliEci0/CNKFdaEXNWBdChTJgP/XUUwwfPjzLNvXq1SMkJIRTp05dcd3pdBIXF0dISEiW9587d46+fftSvnx5lixZgt1uz7K9n58ffn5+HtUvIiIixcOsdQeJXL73imu9LVuYbH+fqsZZ3KbBB66+vOq8i0vkXU7oFVaZl29vkR6mNWNduBXKgF25cmUqV66cbbuOHTty9uxZtmzZQrt27QBYs2YNbrebDh06ZHpfYmIiffr0wc/Pj2XLllG6dGmf1S4iIiLFQ0xCElO+/V+4rkgiE+3zGGBdD8BBdzXCHWP43WyU57Ws2Xs6z8cQ3ynS+2A3adKEvn37MmrUKDZt2sQvv/zC2LFjueeee9J3EDl+/DhhYWFs2rQJSA3XN954IxcuXOD9998nMTGR2NhYYmNjcblcBflxREREpADEJCSx/uAZYhKSrri+5Uh8+rKQfpaNrPR7mgHW9bhMg/84b6F/SmS+hGsAk9TjzaVoKJQz2DnxySefMHbsWHr16oXFYmHQoEG8/fbb6e87HA727dvHxYup/6f8/fff2bhxIwANGjS4oq+oqChCQ0PzrXYREREpWAs2R6c/tGgAEf3CaFEzkLrBZTFNk2ASeMH+ITdZUyfq9rlrEu4Ywx9m/Sz7zY1hHeswd8ORK65pb+uipUjvg12QtA+2iIhI0bX9aDzf7znJO2sOZvi+YZg8X3s3t8W+RZBxHodp5d+uW3nXOYAUsn5uK7c+HXUdfxw7m3oqJNrbujApEftgi4iIiGQlbXu9usFl0x8QfPjjLSzfmfl2vlWIZ7LtA244uQUM2OWuQ7hjDLvN0DyvN22mumP9StzaujqHz1zU3tZFkAK2iIiIFEuXHwhjMSByYAuOxl3MIlyb3GFdxwTb/xFoXCTFtPK2cyAzXbfgzIfIZAFeGdg8PUxXCyyjYF1EKWCLiIhIsROTkHTFaYtukyte/101/iLS/h49rNsB2O6uR7hjDH+a+XPmRZcGlZh+ZysF6mJCAVtERESKnagzF64K0xmHa5N7rWt4xjaf8kYSyaad15138J6rPy6s+VEqgMJ1MaOALSIiIsVO3eCyWIzMQnWqmsYpptrm0Nm6C4At7oY87RjNQbNGntbWK6wKa/aewuR/S1cUrosXBWwREREpcjJ6ePFy1QLL0LVBMD/uP3PVewZuhlpXMc72GWWNZJLMUkx33s1Hrj648/iIEKth8PLtzQH0AGMxpoAtIiIiRcrfH158uHt9KpS1U6GMnei4i5S2Wfnxz9NsOhx/1b2hRgxT7XPoYEk9ofFXdxPGOUZxxAzJ87rTttu7/CFGKZ4UsEVERKTIyOjhxXd/yHgv68tZcDPCupx/2T6njJHCBdOPSOdgPnH1wszjWetn+4fRvEYFzVaXIArYIiIiUmRk9PBiduobx5lun0VbywEAfnI1Z7xzFMfMynlQ4ZX6twhhVLe8O/VRCicFbBERESn00tZcly1lzfbhxTRWXIy2fsMTtkX4GQ4SzTJMdt7HAlcPUg9Gz1t9mlbl30Pa5fk4UvgoYIuIiEih9vc1132ahWR5EiNAYyOa6fZZtLREAbDG1ZpnHCOJpVJ+lIwBTLqtWb6MJYWPAraIiIgUqKx2BIlJSCJi0Q7SJqzdJqzIIlzbcPKIdRljbUsoZbhIMP15wXE/i91dyYtZawN47PoGuNwm//nhIG5ST2SMHKSt90oyBWwREREpMBkdZ373NbWB1HD9r4Xb+ftqEHcmfTUzophun01TyxEAVrra8azjAU5TMc/qN4GO9YPpWL8S93Wso633BFDAFhERkQKS0Y4gzyzeSbdGlVn352nGLdrhUT+lcPCYbQkPW5dhM9zEmeWY6BjOV+6O5PVaa6thEBrsD6Ruu6dgLaCALSIiIgUkox1BXKbJ70fiiVjsWbhuZRxgun0WjSzHAfja1YGJjuH8RaCvy73K3/e1FkmjgC0iIiIFYsexhAyvz994BDObXUL8SOGfti8YZf0Gq2Fy2gxgguMBvnNfmweV/o8FmDOsHf6l7FoKIplSwBYREZF8F5OQxNTv9mb43i8H47K8t52xj2n22dS3xACw2NWFFx1DOUt5n9d5ubQZ615N8v7URynaFLBFREQkz20/Gs+mw3FcGxpEq1oVvTowpgyXCLctZLh1BRbDJNasyDOOkaxxt82bokldwR3RL4yWNXUSo3hOAVtERER87vKt9178avcV+1Z3bRjM8E51MOCqHUIyc51lN1Nts6ljOQXAAmcPJjuHkEhZ3xcPhPdpRNvaQQrV4hUFbBEREfGpBZujr9i7+u9+2n+Gn/af8aivsiQRYfuUobbvAThuVmK840HWuVv5qNqrWYCBbWsqWIvXFLBFRETEZ/5+MExudLX8QaT9PWoaqWH8Y2cvpjjv5Tz+Pug9c+P6hSlcS64oYIuIiEiupS0JOXDqXK7DdQAXeMb2CffYfgAg2l2Zcc7RbHD7/ujxJiHl2XfyXPpBN+P6hTGmW32fjyMliwK2iIiI5MqsdQeZsnwvppn7Y116Wrbyiv19qhlxuE2Dua4bme68m4uU9kmtfzdlUAuqBJTWCYziUwrYIiIi4rVZPx4kcvn/ttvzdvY6kPM8b5/HIOvPABxyh/C0YzS/mWE+qDJj3RoG06pW6jHqCtbiSwrYIiIi4pWYhCSmLM94L+uc6GPZzMv2D6hsJOAyDd5z9ed1550kU8oHVWbMAKbe0TLP+peSTQFbREREspS2vrpsKStH45MwTZP2oUFEnbmQq/XWQSTyov0jbrb+CsB+dw3CHWPYZjbwTeGZ0BHnktcUsEVERCRTmW25ZwCP9PD2YUCTmy2/8oL9IyoZ53CaFma6buFt50BSsOey4qxNuKkJ/VtWU7iWPKWALSIiIhnafjSecYt2ZPieCbz7w8Ec91mZs7xk/5C+1s0A7HHXJtwxmp1mvdyUepWxPevz7x8OXnFapNUwFK4lXyhgi4iIyFXSZq59x+R2y89MtM+jgnEBh2llhnMA/3bdhsPHccQAhlxXh1pB/jyzeCcu09SyEMlXCtgiIiKSbvvReL7fc5IZaw/65LAYgKrE8Yr9fXpZtwKwwx1KuOMh9pq1fTTClUzg8JmL3H1Nbbo1qqwt+CTfKWCLiIiUUNuPxrPpcBzXhgbRqlZFnlq4jUW/H/fhCCZ3WX/gOdvHBBhJJJs23nIOYpbrZlxYfTjOlayGQWhw6mmP1QLLKFhLvlPAFhERKYH+HqY71Q9i/cE4n/Vfg9NE2t+jmzV1mclWdwPCHaM5YNb02RgZsYCWgkiBU8AWEREpYbYfjb9qptpX4drAzRDraiJsn1LOuMQl086rzrv4wNUPNxafjJEZiwFLHumUfniMSEFRwBYRESnG0vawrhtcNn1Wd9Nh381UX662cZKptjl0tO5OHcfdmHGO0USZ1Xw+1rP9wzh9Ppn31kXh5n97WytcS2GggC0iIlJMXb6HtQFE9A+jRY1A6gWX9ek4Bm6GW1cQbluIv5HMRdOPqc57mOe6ATMPZq3b1q7AqG6pe3CP6FxXDzFKoaOALSIiUgzFJCRdcUCMCUR+m/tjzf+unnGCqfbZXGP5E4D1rqaMc47iqFnV52NdVy+IUV3r0qtJSPo1PcQohZECtoiISDFx+ZHm3+856bNt9jJiwc2D1m940vYFpQ0H58wyRDoH86mrp89nrZtVK897w69RkJYiQwFbRESkGFiwOZrxi3dccXJhXmloHGO6fRatLaknOf7oasl4x4OcINjnYw3rWIcXbmvu835F8pICtoiISBH39+UgecWGkzHWr3ncthg/w0mi6c9Lzvv43NWd1FXevpO2ZnzMf9daixQlCtgiIiJFWExCEp9uis7zcN3EOMJ0+yyaWw4D8L2rDc86RnKSIJ+P9Y/rG3BPh9paEiJFlgK2iIhIEZUfy0LsOBlr+5JHrEuxGy7izXJMctzPUndnfD1rDanb7SlcS1GngC0iIlJEXL6nNZDn4bqFcYjp9lmEWY4CsNx1Dc87RnCaCnkynsXQKYxSPChgi4iIFAGXz1YbwL3X1sqzcO1HCv+wLWa09WtshpszZgDPO4bzrfu6vBkQGN2tLiM611W4lmJBAVtERKSQi0lIumK22gTmbzqK8d9/9qW2xp9Ms8+mgeUEAEtdnXjBcT9xBPik//A+jWhbOwj/UhaOxSdhmtAutKKCtRQrCtgiIiKFXNSZC5nOVlsAtw/GKE0yT9k+Z6R1ORbD5JRZgWcdD7DK3d4HvacygIFta6aHaR1rLsWVAraIiEghVze4bIaz1SZwb4da/LjvNMfPXvK6/2uNPUy1z6au5SQAX7i68aLjPhIp53Wff2cBIge10Ey1lAgK2CIiIoXQ5acyXkhx8UiP+rz7w8Gr2s3feNTrMfy5xNO2zxhuWwnACTOIZxwj+cHdxus+MxLep9EVM9cixZ0CtoiISCGT0fZ7FgM61A1iY1ScT8boZNnJVNscallOAzDf2ZNI5xDO4e+T/tO0rV2BR3s29GmfIoWdAraIiEghEJOQxG+H4zh70cGEpbuuet9twiYfhOtyXOQZ23wG29YAcMwMZpxjFL+4W+S67zRDOtTiksNF/xbV6NUkxGf9ihQVCtgiIiIFbMHmaI+OOs/tjiHdLduJtM+hupEa1Oc6b2Ca8x4u4LulG9c3rszk21v6rD+RokgBW0REpADFJCR5FK5zI4DzTLB9zJ22dQAcdldlnGM0G80mueq3cdVy7Dt5Pv11j8aV+WDEtbnqU6Q4UMAWEREpQFFnLuRpuO5t2cJk+/tUNc7iNg0+cPXlVeddXMIvV/2O7Vmff/UJY/vReH47HE/70Iradk/kvxSwRURECkhMQhIHTp3Lk74rkshE+zwGWNcDcNBdjXDHGH43G+W672HX1eFffcKA1L2sFaxFrqSALSIiUgCyWned2xMa+1k28qL9QyobibhMg9mum3nTOYhkSuWi1//p26KaT/oRKa4UsEVERPJZTEIS4xbtyPC98D6NMIFXV/yZ436DSeAF+4fcZN0EwD53TcIdY/jDrJ+bcq9gNQxCg327lZ9IcaOALSIikk/SDo85ePp8pm2mexGsweRWy3om2ecSZJzHYVr5t+tW3nUOIAW79wX/jQV4ZWBzHRgjkg0FbBERkTySFqjrBpdl3Z+n0w+PMXw4RhXimWz/gBusWwDY5a5DuGMMu81QH44CA1pXZ1y/MIVrEQ8oYIuIiOSBv6+xvnxdtW92DTG5w7qOCbb/I9C4SIpp5W3nQGa6bsHp4z/eezSuzJv3+Pb4dJHiTAFbRETExzLa29qXW/FV4y8i7e/Rw7odgG3uejztGMOfZi2f9G8YYJqp//toj/rpO4aIiGcUsEVERHzst8NxebS3tcm91jU8Y5tPeSOJZNPO6847eM/VHxdWn4xgAZY80omLKW5Cg/21JETECwrYIiIiPnb2osPnfdY0TjHVNofO1l0AbHE35GnHaA6aNXw6zoPd6mpfa5FcUsAWERHxoZiEJA5lsUtIThm4GWpdxTjbZ5Q1kkkySzHdeTcfufrgxuKzcQAsBozoXNenfYqURArYIiIiPrJgc3T6TiG+EGrEMNU+hw6WvQD86m7COMcojpghXvfZp2lVJt3WjFOJl5izLopvdsRgkrq/tbbgE/ENwzTNvFkmVswlJiYSGBhIQkICAQEBBV2OiIgUsJiEJDpPWeOTcG3BzQjrcv5l+5wyRgoXTD8inYP5xNULMxez1uP7hTGm+5WHzsQkJHH4zEWttxbxgKf5TzPYIiIiXrh8j+tqgWWIOnPBJ+G6vnGc6fZZtLUcAOAnV3PGO0dxzKycq35fHtCM+64Lvep6tcAyCtYiPqaALSIikkOXLwWxGBA5sAXdGlXGYuB1yLbiYrT1G56wLcLPcJBolmGy8z4WuHrgi6NpKpQples+RMQzvn06QkREpJiJSUhi/cEzxCQkpb++fJ2124RnFu8EUoO2Nxob0Swp9Tzj7J/hZzhY42rNjcnTWODqiS/CtQG0C9XOICL5RTPYIiIimchoprpWkP9Vs9Qu0+TTTdHsjUnMUf82nDxiXcZY2xJKGS4STH9ecNzPYndXfHWgugWIHNRCy0BE8pECtoiISAYymqkev2gHT/ZpdMWx52neXn0gR/03M6KYbp9NU8sRAFa62vGs4wFOk/uZZsOAL3VYjEiBUcAWERHJQEYPLbqBV1f8mat+S+HgMdsSHrYuw2a4iTPLMdExnK/cHfHFrHXaTLsOixEpOArYIiIiGagbXDZXDy1mpJVxgOn2WTSyHAfga1cHJjqG8xeBPuk/7ZhzhWuRglXkH3KMi4tjyJAhBAQEUKFCBUaOHMn5856doGWaJv369cMwDL788su8LVRERIqUaoFlGNc3zCcrof1IIcI2n8WlJtLIcpzTZgAPpTzBWMc/chWuDeN/c95WwyBykGauRQqDIj+DPWTIEGJiYli1ahUOh4MRI0YwevRo5s+fn+29b775Jobhm4dIRESk6Lt8b+t1f55myvK9V621zql2xj6m2WdT3xIDwGJXF150DOUs5XPV79DravNIzwYAOihGpJAp0gF7z549fPfdd2zevJn27dsD8M4779C/f39effVVqlevnum927Zt47XXXuO3336jWrVq+VWyiIgUUpfvGJI29ZKbcF2GS4TbFjLcugKLYRJrVuQZx0jWuNv6olzuaFczPVArWIsULkU6YG/YsIEKFSqkh2uA3r17Y7FY2LhxI7fffnuG9128eJHBgwfz7rvvEhIS4tFYycnJJCcnp79OTMzZVkwiIlI4xSQkseVIPBGLdqQH6tzOWl9n2c1U22zqWE4BsMDZg8nOISRSNpc9pxrUtoaWgogUYl4FbLfbjcVS8Mu3Y2NjqVKlyhXXbDYbQUFBxMbGZnrfP//5Tzp16sRtt93m8ViRkZG88MILXtcqIiKFS0xCEh/8HMV7P0dh+uhBxrIkEWH7lKG27wE4blZivONB1rlb+aT/m1tUY1S3ugrXIoWcVwG7Tp06PPTQQ4waNeqqgOsLERERTJ06Ncs2e/bs8arvZcuWsWbNGrZu3Zqj+8aPH8+TTz6Z/joxMZFatWp5VYOIiBSsWesOEvntXp/22dXyB5H296hpnAHgY2cvpjjv5Tz+Xvd5Z9sa9AirgmmmnsSopSAiRYNXAfv48eM8//zzvPTSS9x55508+uijXHfddT4r6qmnnmL48OFZtqlXrx4hISGcOnXqiutOp5O4uLhMl36sWbOGgwcPUqFChSuuDxo0iK5du/LDDz9keJ+fnx9+fn6efgQRESmkZv14kMjlvgvXAVzgGdsn3GP7AYBod2XGOUezwd0sV/2O7xfGmO71fVChiOQ3wzRz/oOxzZs3M2PGDBYuXEhycjKGYdC2bVvGjh3LPffck29BdM+ePTRt2pTffvuNdu3aAbBy5Ur69u3LsWPHMnzIMTY2ljNnzlxxrUWLFrz11lvccsst1K1b16OxExMTCQwMJCEhgYCAgNx/GBERyROX7wwC0ClyTa7XWKfpadnKK/b3qWbE4TYN5rpuZLrzbi5SOlf9zri3DTe3yvxBfREpGJ7mP68Cdpq//vqLOXPmMHPmTKKjozEMg6CgIB588EEefvhhateu7W3XHuvXrx8nT55k5syZ6dv0tW/fPn2bvuPHj9OrVy/mzZvHtddem2EfhmGwZMkSBgwY4PG4CtgiIoXf5TuDWAwY2aUuc36KynW/gZznefs8Bll/BuCQO4SnHaP5zQzLdd9Ww+DniJ5aDiJSCHma/3L1pGKlSpWIiIggKiqKL7/8kt69exMXF8fUqVOpX78+t99+O6tXr87NENn65JNPCAsLo1evXvTv358uXbowe/bs9PcdDgf79u3j4sWLeVqHiIgULjEJSenhGlJPZHz/59yH6z6WzXzvF84g68+4TINZzpvolzLFZ+H6lYHNFa5FirhczWBnZP/+/bz22mvMnj07/RCXsLAwnnzySUaMGFEodh/xBc1gi4gUbusPnmHwnI1XXb+5ZQhf/5H5TlOZCSKRF+0fcbP1VwD2u2sQ7hjDNrNBjvu6o20NFm89nrrntgGP9qhP5waVdViMSCHnaf7z6T7YR44c4b333mPRokVA6lHkISEh7Nmzh9GjRzNjxgy++uoratas6cthRURErlI3uCwWg/QZbEj9sW33RpVzGLBNbrb8ygv2j6hknMNpWpjpuoW3nQNJwe5VXa/e1Zqn+jTWCYwixZRPppNXrlzJrbfeSoMGDZg+fToXLlzggQceYNu2bZw4cYKVK1dy3XXXsX37dv75z3/6YkgREZEsVQssQ4e6QVdccwPhX+zwuI/KnGWm/U1mlHqHSsY59rhrMyDlRV513u1VuAaYP6pDen0d61dSuBYphryewU5MTOTDDz/kP//5D/v378c0TWrUqMHDDz/MmDFjqFSpUnrb3r17c/3119O6dWvWrFnjk8JFRESycss7P7HjuLen7prcbvmZifZ5VDAu4DCtzHAO4N+u23B4+UenBYgc1EKBWqQE8Op3iYcffphPPvmECxcuYJomHTt25PHHH+eOO+7AarVmeI/FYqF9+/bs2rUrVwWLiIhk5PLt+HafSPA6XFcljlfs79PLmnog2Q53KOGOh9hrerczlgG8c28bHRQjUoJ4FbBnzZpFqVKlGDx4MP/4xz9o3769R/d169YNHz9TKSIiJdDlYbpaYJmrtuNrVTPQi15N7rL+wHO2jwkwkkg2bbzlHMQs1824yHjyyBOjutbTntYiJYxXu4hMmjSJhx9+mKpVq+ZFTUWCdhERESkYfw/Tj/Soz7trD+bq8JganCbS/h7drKnrs7e6GxDuGM0BM3cP5RvA+vHXa+ZapJjIl4NmSjIFbBGR/BeTkETnKWuu2BkkNwzcDLGuJsL2KeWMS1wy7bzqvIsPXP1w+2AfgPH9wxjTTcedixQXBbJNn4iISF6KOnPBZ+G6tnGSqbY5dLTuBmCTuzHjHKOJMqvlum8DiOincC1SUilgi4hIkZHR3tY5ZeBmuHUF4baF+BvJXDT9mOq8h3muGzBzMGtdP9ifg2euPCXYYsCDXeoxokuoloWIlGAK2CIiUiSkPdh4z7W1mb8x2qs+6hknmGqfzTWWPwFY72rKOOcojpo5f6bonzc0pl1oRQ6fuYh/KQsXU9w6NEZEAAVsEREphLLaJcQbFtw8aP2GJ21fUNpwcM4sQ6RzMJ+6euZo1jqNAenb7ilQi8jfKWCLiEihkuEuIT8cxNtH8hsax5hun0Vry0EAfnS1ZLzjQU4Q7HWNU3RgjIhkQQFbREQKjZiEJCIW7Ujfcs9twoy1B73qy4aTMdavedy2GD/DSaLpz0vO+/jc1Z3UOeicMQx48dZm9G5aVeFaRLKkgC0iIoXGliPxudrPOk0T4wjT7bNobjkMwPeuNjzrGMlJgrzqz2JA5MAW3H2Nd6c5ikjJooAtIiKFRm6PZrDjZKztSx6xLsVuuIg3yzHJcT9L3Z3xZtYaoFvDYKbe0VKz1iLiMY8C9osvvuj1AIZhMGHCBK/vFxGRkuNEwiWv721hHGK6fRZhlqMALHddw/OOEZymQo77qlvJn1tbV+f6sCq0qlXR65pEpGTy6CRHi8WCYRhXzSwYRtazAaZpYhgGLpcrd1UWQjrJUUTEt7w9pdGPFP5hW8xo69fYDDdnzACedwznW/d1XtXx/rB29GoS4tW9IlK8+fQkx4kTJ151LSoqinnz5lG6dGluvPFG6tatC8Dhw4dZuXIlly5dYtiwYYSGhnr3CUREpERI25Lvr/PJOQ7XbY0/mWafTQPLCQCWujrxguN+4vBu4mN013oK1yKSa14F7KNHj9K2bVsGDBjAf/7zH6pWvXKD/lOnTvHQQw/xzTff8Ntvv/muWhERKVZeXbGXd9cexCR1hbQBHj3kWJpknrJ9zkjrciyGySmzAs86HmCVu73XtViAEV1Cvb5fRCSNR0tE/m748OGsXLmSQ4cOUbp06QzbXLp0iXr16nHDDTcwd+7cXBda2GiJiIhIzsQkJKXuEmKatA8N4sWvdrN8Z2yO+7nW2MNU+2zqWk4C8IWrGy867iORcl7Xpl1CRMQTPl0i8ncrV66kW7dumYZrgNKlS9O1a1dWrVrlzRAiIlKMLNgcfcX+1t7w5xJP2z5juG0lACfMIJ5xjOQHdxuv+7QAD3ary4jOdbVLiIj4jFcBOy4ujqSkpGzbXbp0ifj4eG+GEBGRYiImIYnxi3MXrjtZdjLVNodaltMAzHf2JNI5hHP457ivBzqF0rlhJfxL2QkN9lewFhGf8ypg165dm7Vr13Ly5Mmr1l+niY2NZe3atdSqVStXBYqISNEWdeZCjh9eTFOOizxjm89g2xoAjpnBjHOM4hd3C6/6G9S2Bs/f2sy7YkREPGTx5qbBgwdz/vx5evXqleESkO+//54bbriBCxcuMHjw4FwXKSIiRVfd4LJYvDjjpbtlOyv9nk4P13OdN9AnearX4fr9Ye147a7WXt0rIpITXj3keOnSJXr27MnGjRsxDIPg4OD07fgOHz7MmTNnME2TDh06sHbt2izXahdVeshRRCRzaVvv1Q0uS7XAMoz4cBNr95326N4AzjPB9jF32tYBcNhdlXGO0Ww0m3hdz/h+YYzpXt/r+0VEII8fcixdujRr1qzh+eefZ/bs2Zw+fZrTp//3G2e5cuUYPXo0L774YrEM1yIikrkFm6MZv3gHbhMMA+5oU8PjcN3bsoXJ9vepapzFbRp84OrLq867uISfV7UYQET/MMZ0U7gWkfzj1Qz25S5dusTvv//OsWPHAKhRowbt2rUr9sFaM9giIlfz9jTGiiQy0T6PAdb1ABx0VyPcMYbfzUY56mdwh1rc3b4WR+OSMAxoW6eiHmIUEZ/J0xnsy5UuXZpOnTrlthsRESnC0paExF1IyXG47mfZyIv2D6lsJOIyDWa7buZN5yCSKZWjfh7tUZ/wvmEAtKpVMWdFiIj4UK4DNsCBAwc4ffo0lSpVolGjnM02iIhI0RWTkMQHP0fx/s9ROQ7WwSTwgv1DbrJuAmCfuybhjjH8YeZsOYeWgYhIYePVLiIALpeLl19+mZCQEBo3bkyXLl2YMmVK+vuffPIJnTp1YteuXT4pVERECpcFm6PpFLmGOT/lNFyb3Gr5hZV+4dxk3YTDtPKW83ZuSZmc43A9pENt1o+/XuFaRAoVr2awXS4XN998MytXrsRms9GkSRN27959RZvOnTszdOhQFi9eTLNm2nNURKQ48fbwmCrEM9n+ATdYtwCwy12HcMcYdpuhOa5BO4OISGHl1Qz2zJkzWbFiBT179iQqKoqdO3de1SY0NJT69euzcuXKXBcpIiIFLyYhifUHzxCTkMT3e07meNb6DuuPrPIL5wbrFlJMK6867uS2lJdyHK4f6laXDeOvV7gWkULLqxnsuXPnEhQUxOeff07Fipk/SNKkSRO2b9/udXEiIlI4XL71Xk5V4y8i7e/Rw5r658E2dz2edozhTzPnJ/0OaluDiP5Nc16EiEg+8ipg7927ly5dumQZrgECAwM5deqUV4WJiEjhEJOQRMSinC8HAZN7rWt4xjaf8kYSyaad15138J6rPy6sOeqpV1gVHu/VQLuDiEiR4PUabD+/7Df9j4mJ8aidiIgUXluOxOc4XNc0TjHVNofO1tQH3be4G/K0YzQHzRo5Hn/po50UrEWkSPEqYNepU4c//vgjyzYOh4OdO3fSsGFDrwoTEZGCs/1oPJsOx3FtaBA5OY/MwM1Q6yrG2T6jrJFMklmK6c67+cjVB7cXj/1MHdRC4VpEihyvAnbfvn156623mD17NqNHj86wzTvvvMPp06d56KGHclWgiIjkr6cWbmPR78fTXzeuWs6j+0KNGKba59DBsheAX91NGOcYxREzJEfjt69TgeGd6tIuVKcwikjR5FXADg8P56OPPuKRRx5h9+7d3HXXXQBcuHCB33//nYULF/L6668THBzM2LFjfVqwiIjkndV7Yq8I1wD7Tp7P8h4LbkZYl/Mv2+eUMVK4YPoR6RzMJ65emDmctbYY8M7gtgrWIlKkGWZOfvZ3mXXr1jFw4EDi4uIwDOOK90zTpEKFCixbtowuXbr4pNDCxtOz6EVEiooFm6MZt2hHju6pbxxnun0WbS0HAPjJ1ZzxzlEcMyvneHzDgCkDW3D3NbVzfK+ISH7wNP95fVR6t27d2LVrF2+88Qbffvsthw4dwu12U6tWLfr160d4eDg1auT8YRYREcl/aTuFeMqKi9HWb3jCtgg/w0GiWYbJzvtY4OpB6uHlnuneKJjeTaoSVLYUbetoSYiIFA9ez2CXdJrBFpHiIiYhifkbj/DOmoMetW9sRDPdPouWligA1rha84xjJLFUytG4g6+txSsDW+a4XhGRgpKnM9jr1q0jJCSERo0aZdlu//79xMTE0K1bN2+GERGRPBSTkMSHP0cx+6coj9rbcPKIdRljbUsoZbhIMP15wXE/i91dycmsNaSutX6sl3aZEpHiyauA3aNHD0aMGMH777+fZbtp06bxwQcf4HK5vCpORETyxoLN0UQs3oGnP8NsZkQx3T6bppYjAKx0teNZxwOcJudb6FkNg1cGNtdyEBEptrxeg62VJSIiRVNOTmYshYPHbEt42LoMm+EmzizHRMdwvnJ3JKez1mN71qdzg8qEBvsrXItIseZ1wPZEfHw8pUuXzsshREQkh95Zs9+jcN3KOMB0+ywaWVK37fvadR0THcP4i8Acjzm+XxhjutfP8X0iIkWRxwE7Ojr6itfnz5+/6loap9PJrl27WLlyJfXr6zdUEZGCFJOQxJYj8cRfTME0TeZvPJplez9S+KftC0ZZv8FqmJw2A3jO8QAr3NfmaNw+TatyS6vqOjBGREocjwN2aGjoFftdL1q0iEWLFmV5j2ma3Hfffd5XJyIiuTJ9xV7eXevZ7iAA7Yx9TLPPpr4lBoDFri686BjKWcp73MdLtzWjd9OqCtUiUmJ5HLBr166dHrCjo6Px9/cnODg4w7alSpWiZs2aDBo0iIcfftg3lYqISI488vEWvt0Z61HbMlwi3LaQ4dYVWAyTWLMizzhGssbd1uPx0h5e1EExIlLSeRywDx8+nP7PFouFO++8kw8++CAvahIRkVxavSfW43B9nWU3U22zqWM5BcACZw8mO4eQSNks77Ma0L95CAPa1sC/lF0PL4qI/JdXDzl++OGHNGjQwNe1iIiID3h65HlZkoiwfcpQ2/cAHDcrMd7xIOvcrTwaZ8qgFtzZXrPVIiJ/51XAHjZsmK/rEBERH4hJSCJicfbhuqvlDyLt71HTOAPAx85eTHHey3n8PRqndlAZhWsRkUxYvLlpw4YNPPDAA6xfvz7TNr/88gsPPPAAmzZt8ro4ERHJXkxCEusPnuHz36K5d/aGLA+PCeACU2yz+b9SU6hpnCHaXZl7U57lOedIj8J1KYvB9DtasO7p6334CUREihevZrBnz57Np59+yrRp0zJt06hRIz755BNsNhvXXpuzrZ1ERCR7MQlJvLPmAJ9ujPZoX+uelq28Yn+fakYcbtNgrutGpjnvJonszyu4JrQid7WvqVlrEREPeBWw169fT+vWrTPdRQSgcuXKtGnThp9++snr4kREJGOz1h0k8tu9HrUN5DwT7fMYaP0ZgEPuEJ52jOY3M8yj+3uFVeH94dd4XauISEnj1RKR48ePExoamm27OnXqcOLECW+GEBGRTMz60fNw3ceyme/9whlo/RmXaTDLeRP9UqZ4HK4BHu+lh9pFRHLCqxlsi8VCSkpKtu0cDgdOp9ObIUREJAPbj8YTuTz7cB1EIi/aP+Jm668A7HfXINwxhm1mzsLyoLY1aFWrole1ioiUVF4F7NDQUDZs2IDT6cRmy7gLp9PJhg0bqFOnTq4KFBGRVLN+POhBuDa52fIrL9g/opJxDqdpYabrFt52DiQFu8djGcB7w9rRq0lIrmoWESmJvFoi0qdPH06dOsWkSZMybfPCCy9w6tQp+vbt621tIiLyX5OW7cw2XFfmLDPtbzKj1DtUMs6xx12bASkv8qrz7hyFa6thMGVQC4VrEREvGaaZ1YZOGTtx4gTNmzcnISGBW2+9lVGjRhEWlrqeb+/evcyZM4dly5ZRvnx5du7cSc2aNX1eeEFLTEwkMDCQhIQEAgICCrocESmmYhKS+MenW9l0OD6LVia3W35mon0eFYwLOEwrM5wD+LfrNhw5+EHl8E516NOsmk5kFBHJhKf5z6uADbB69WoGDRpEYmIihmFc8Z5pmpQvX54vvviCG264wZvuCz0FbBHJSzEJSXz4cxSzf4rKsl0IfzHZ/gG9rFsB2OEOJdzxEHtNz7fTuza0Im/d20ahWkQkG57mP6/WYAP06tWLnTt38tprr7FixQqOHDkCQO3atenbty9PPvkktWrV8rZ7EZESJyYhiS1H4ll/4Ayfbj6a5YExYHKX9Qees31MgJFEsmnjLecgZrluxoXVo/FuaRnCg13r6SFGEREf83oGu6TTDLaI+NKCzdFELNrh0YExNThNpP09ullTj0Tf6m5AuGM0B0zPl+ON7xfGmO71vaxWRKRkyvMZbBER8Y3tR+MZt2hHtu0M3AyxribC9inljEtcMu286ryLD1z9cHv4zLrFgHH9whjTTeFaRCSvKGCLiBSgtJnr7NQ2TjLVNoeO1t0AbHI3ZpxjNFFmNY/HendwG9rWqai11iIiecyjgP3AAw9gGAavvPIKVatW5YEHHvB4AMMweP/9970uUESkuNp+ND7bZSEGboZbVxBuW4i/kcxF04+pznuY57oBMwc7rU4d1IKbWlbPfdEiIpItj9ZgWywWDMNgz549NGrUCIvF89/UDcPA5XLlqsjCSGuwRSQ3PFlzXc84wVT7bK6x/AnAL65mRDgf5KhZ1eNxOoRW5E3tECIi4hM+XYP94YcfAlCtWrUrXouISM7FJCRluebaiouR1m950vYFpQ0H58wyRDoHM991PalnLGYtsIyN4R1Dub5JFe0QIiJSALSLiJc0gy0iORGTkETUmQuULWXlpa9389uRsxm2a2gcY7p9Jq0thwD40dWS8Y4HOUFwtmPYLfDKwBbc2d7zPbBFRMRz2kVERKSQmPXjQaYs35vlchAbTsZYv+Zx22L8DCeJpj8vOe/jc1d3PJm1Bvji4U6asRYRKQQUsEVE8tCsdQeJXL43yzZNjCNMt8+iueUwAN+72vCsYyQnCfJ4nEFtayhci4gUEh4F7BdffNHrAQzDYMKECV7fLyJSVG0/Gk/kt5mHaztOxtq+5BHrUuyGi3izHJMc97PU3RlPZq2rlC/FvdfW5vowrbUWESlMcrSLyN+bGkbWfwCYpqldRESkRJq0dCcfbTiS6fstjENMt88izHIUgOWua3jeMYLTVPCo/zvb1mD6Xa19UKmIiHjKp2uwJ06ceNW1qKgo5s2bR+nSpbnxxhupW7cuAIcPH2blypVcunSJYcOGERoa6t0n8FBcXByPPfYYX331FRaLhUGDBvHWW29Rrly5LO/bsGEDzz77LBs3bsRqtdK6dWtWrFhBmTLaykpEvLf9aDxj/m8LsYnJGb7vRwr/sC1mtPVrbIabM2YAzzuG8637Oo/HeLRnfcL7hPmqZBER8TGvAvbRo0dp27YtAwYM4D//+Q9Vq165J+upU6d46KGH+Oabb/jtt998V20GhgwZQkxMDKtWrcLhcDBixAhGjx7N/PnzM71nw4YN9O3bl/Hjx/POO+9gs9nYvn17jvb3FhG53Paj8Ty5cBsHT1/MtE1b40+m2WfTwHICgKWuTkxy3E88nv0UzAAi+uuYcxGRws6rbfqGDx/OypUrOXToEKVLl86wzaVLl6hXrx433HADc+fOzXWhGdmzZw9NmzZl8+bNtG/fHoDvvvuO/v37c+zYMapXz/jUsuuuu44bbriBl156yeuxtURERCB1+72nv/iDn/afybRNaZJ5yvY5I63LsRgmp8wKPOt4gFXu9h6PM7pbXUZ0rqsDY0RECpCn+c+rKduVK1fSrVu3TMM1QOnSpenatSurVq3yZgiPbNiwgQoVKqSHa4DevXtjsVjYuHFjhvecOnWKjRs3UqVKFTp16kTVqlXp3r07P//8c5ZjJScnk5iYeMUvESm5YhKSmPzNbjpGrskyXF9r7GF5qQhG2b7FYph84epG7+RpHofrwdfWYsP463mmf1OFaxGRIsKrbfri4uJISkrKtt2lS5eIj4/3ZgiPxMbGUqVKlSuu2Ww2goKCiI2NzfCeQ4dSD2+YNGkSr776Kq1bt2bevHn06tWLnTt30rBhwwzvi4yM5IUXXvDtBxCRImnWj9lvvefPJZ62fcZw20oATphBPOMYyQ/uNtn2P6htdVrXqkjvplUVqkVEiiCvZrBr167N2rVrOXnyZKZtYmNjWbt2LbVq1cpx/xERERiGkeWvvXuz/sMtM263G4AxY8YwYsQI2rRpwxtvvEHjxo354IMPMr1v/PjxJCQkpP86evSoV+OLSNE2fcXebMN1J8tOVpQalx6u5zt70id5mkfh2mLAv/qEMbRjqMK1iEgR5dUM9uDBg3nxxRfp1asXb7zxBjfccMMV73///ff885//5MKFCwwePDjH/T/11FMMHz48yzb16tUjJCSEU6dOXXHd6XQSFxdHSEhIhvdVq1YNgKZNm15xvUmTJkRHR2c6np+fH35+fh5ULyLFUUxCEpOW7mLF7swnFspxkWds8xlsWwPAMTOYcY5R/OJu4fE44/qFKViLiBRxXgXsiIgIVqxYwcaNG+nbty/BwcHp2/EdPnyYM2fOYJomHTp0ICIiIsf9V65cmcqVK2fbrmPHjpw9e5YtW7bQrl07ANasWYPb7aZDhw4Z3hMaGkr16tXZt2/fFdf//PNP+vXrl+NaRaT4W7A5mnGLdmTZprtlO5H2OVQ34gCY67yBqc57uUjmz6pczgAi+mmHEBGR4sCrgF26dGnWrFnD888/z+zZszl9+jSnT59Of79cuXKMHj2aF198McsHIXOrSZMm9O3bl1GjRjFz5kwcDgdjx47lnnvuSd9B5Pjx4/Tq1Yt58+Zx7bXXYhgG4eHhTJw4kVatWtG6dWvmzp3L3r17+eKLL/KsVhEpmmISkrIM1wGcZ4LtY+60rQPgsLsq4xyj2Wg28XgM7RAiIlK8eBWwAcqUKcP06dN56aWX+P333zl27BgANWrUoF27dnkarC/3ySefMHbsWHr16pV+0Mzbb7+d/r7D4WDfvn1cvPi/vWmfeOIJLl26xD//+U/i4uJo1aoVq1aton59zRyJSGqojjpzgbKlrAye82um7XpbtjDZ/j5VjbO4TYMPXH151XkXl8h+OVmz6gE80qM+betUVLAWESlmvNoHW7QPtkhxFJOQxDur9zN/U9YPMVckkYn2eQywrgfgoLsa4Y4x/G428micR3vUJ7yvTmIUESlqfHpUenYOHDjA6dOnqVSpEo0aefYHjIhIYbJgczQRi3aQ3YxDP8tGXrR/SGUjEZdpMNt1M286B5FMqWzHGN21HiO6aHcQEZHizuuzwV0uFy+//DIhISE0btyYLl26MGXKlPT3P/nkEzp16sSuXbt8UqiISF5JW2edVbgOJoF37W/yn1JvUdlIZJ+7JrenvMhU573ZhmsDWPpoJ565qYnCtYhICeDVDLbL5eLmm29m5cqV2Gw2mjRpwu7du69o07lzZ4YOHcrixYtp1qyZT4oVEfGltLXW//xsaxatTG61rGeSfS5BxnkcppV/u27lXecAUrBnO4YBTBnUgla1KvqsbhERKdy8CtgzZ85kxYoVXH/99cybN4/q1atjsVw5GR4aGkr9+vVZuXIlEyZM8EmxIiK+smBzNOMX78CdxbR1FeKZbP+AG6xbANjlrkO4Ywy7zdBs+x/Quho3NA3RQ4wiIiWQVwF77ty5BAUF8fnnn1OxYuazMk2aNGH79u1eFycikhdiEpKyWW9tcod1HRNs/0egcZEU08rbzoHMdN2C04PfNsf2rM+/+ughRhGRksqrgL137166dOmSZbgGCAwMvOqkRRGRgrD9aDyr957iksPJD/vOZBquq/EXkfb36GFNnRzY5q7H044x/GnW8mic8f3CGNNdW36KiJRkXq/B9uTY8JiYGB0vLiIF7uGPt7B8Z2w2rUzuta7hGdt8yhtJJJt2XnfewXuu/riwejTO0kc7aa21iIh4F7Dr1KnDH3/8kWUbh8PBzp07adiwoVeFiYjkVkxCEhFf/MGP+89k2a6mcYqptjl0tqbuerTF3ZCnHaM5aNbwaBwLEKkHGUVE5L+82qavb9++HD58mNmzZ2fa5p133uH06dPcdNNNXhcnIuKNmIQkJn+zm46Ra7IM1wZu7reuYEWpcXS27iLJLMWLjqHcmTLR43B9c4tq/DL+eu6+pravyhcRkSLOqxns8PBwPvroIx555BF2797NXXfdBcCFCxf4/fffWbhwIa+//jrBwcGMHTvWpwWLiGRlweZoxi3akW27UCOGqfY5dLDsBeBXdxPGOUZxxAzxeCwL8OzN2ttaRESu5PVR6evWrWPgwIHExcVhGMYV75mmSYUKFVi2bBldunTxSaGFjY5KFyl8th+N57Z312fZxoKbEdbl/Mv2OWWMFC6YfkQ6B/OJqxdmNj/Ua1ilHAdPnccNWA2DVwY218y1iEgJkudHpXfr1o1du3bxxhtv8O2333Lo0CHcbje1atWiX79+hIeHU6OGZz9iFRHJLU9mrusbx5lun0VbywEAfnI1Z7xzFMfMylneN6htde7vGEqrWhWJSUji8JmLhAb7a+ZaREQy5NUMdnR0NIZhUKuWZ9tWFUeawRYpeGknMZYtZc1y5tqKi9HWb3jCtgg/w0GiWYbJzvtY4OpB6lmLmTMMWB9xvcK0iIjk7Qx2aGgoHTt25JdffvG6QBGR3PB0rXVjI5rp9lm0tEQBsMbVmmccI4mlUrb3WgyIHNhC4VpERHLEq4AdEBBA3bp1fV2LiIhHth+NzzZc23DyiHUZY21LKGW4SDD9ecFxP4vdXclu1rpecFkm395Cy0BERMQrXgXspk2bcvToUV/XIiKSpZiEJN5Zc4D5G6OzbNfMiGK6fTZNLUcAWOlqx7OOBzhN9vtUN6tWnm/+0c0n9YqISMnkVcAeNWoUo0aNYvPmzVxzzTW+rklE5Cqz1h0k8tu9WbYphYPHbEt42LoMm+EmzizHRMdwvnJ3JLtZa0hdEvLecP2eJiIiueNVwB4xYgRbt27lxhtvJDw8nEGDBhEaGqpj0UUkT0xfsZd31x7Msk0r4wDT7bNoZDkOwNeu65joGMZfBHo0Rtq2e1oSIiIiueXVLiJWq9XzAQwDp9OZ0yEKPe0iIpK30nYIWbEzlrkbjmTazo8U/mn7glHWb7AaJqfNAJ5zPMAK97XZjvHu4DbUrFiGiylurbcWEZFs5ekuIjnJ5F6eYyMiJdikpTv5KItQnaadsY9p9tnUt8QAsNjVhRcdQzlL+WzvnTqoBTe1rJ7rWkVERP7Oq4Dtdrt9XYeICAA3v/0TO08kZtmmDJcIty1kuHUFFsMk1qzIM46RrHG3zfI+AxjVtR4juoRqtlpERPKM1yc5ioj4UkxCEnN/ico2XF9n2c1U22zqWE4BsMDZg8nOISRSNsv7Xh7QjF5NqipYi4hInstRwD5w4ACLFy/m8OHD+Pn50bp1a+666y7KlNEfWCLinZiEJKYs38PSbTFZtitLEhG2Txlq+x6A42YlxjseZJ27VbZjPNqjPvddF+qLckVERLLlccB+8803efrpp3G5XFdcnzBhAt9++y3Nmzf3eXEiUrx5ehpjV8sfRNrfo6ZxBoCPnb2Y4ryX8/hne2//FiGE9w3Lda0iIiKe8mgXkZ9//pnu3btjmiZly5alcePGJCYmcujQIdxuNw0bNmTPnj1YLJb8qLlQ0C4iIt6LSUhi1e5Ynl+6O8t2AVzgGdsn3GP7AYBod2XGOUezwd0s2zE616/E030b06pW9ofLiIiIeMKnu4jMmDED0zQZNmwYM2bMoGzZ1LWOf/zxB4MGDeLAgQN899139O/f3zfVi0ix5emsdU/LVl6xv081Iw63aTDXdSPTnHeTROks7+vWMJipd7TUWmsRESkwHgXsDRs2ULNmTWbNmkWpUqXSr7ds2ZK33nqLm2++mV9//VUBW0SytP1ofLbhOpDzTLTPY6D1ZwAOuUN42jGa38ysl3l0aVCJ8D6asRYRkYLnUcA+efIk/fv3vyJcp+nSpQsAp06d8m1lIlIsxCQkseVIPOsPnGH+pqNZtu1j2czL9g+obCTgMg3ec/XndeedJHP17z2XG98vjDHd6/uybBEREa95FLBTUlKoUKFChu+lrT9JSUnxWVEiUjws2BxNxKIdZPegRxCJvGj/iJutvwKw312DcMcYtpkNsryvQhkby5/opuUgIiJSqGgfbBHxqbQjzpNSnB6Ea5ObLb/ygv0jKhnncJoWZrpu4W3nQFKwZzuWwrWIiBRGHgfsAwcOMG/ePK/ev//++3NemYgUOQs2RzN+8Q7c2e5NBJU5y0v2D+lr3QzAHndtwh2j2WnW82isqYNaKFyLiEih5NE2fRaLBcMwvBvAMHA6nV7dW5hpmz6RK8UkJNF5yhoPwrXJ7ZafmWifRwXjAg7TygznAP7tug2HB3/nn3FvG9qFVlS4FhGRfOfTbfpq167tdcAWkeIvJiGJr/84kW24DuEvJts/oJd1KwA73KGEOx5ir1nbo3GmDmrBza2q57ZcERGRPOVRwD58+HAelyEiRdWsdQeZsnwvWf8szOQu6w88Z/uYACOJZNPGW85BzHLdjAtrtmMMaF2Ncf2aaNZaRESKBD3kKCJe2X40nrdW72fN3tNZtqvBaSLt79HNmrr/9VZ3A8Idozlg1vRonOEd6zDptua5rldERCS/KGCLSI49tXAbi34/nmUbAzdDrKuJsH1KOeMSl0w7rzrv4gNXP9xYPBqnf/MQhWsRESlyFLBFJEc+/y0623Bd2zjJVNscOlp3A7DJ3ZhxjtFEmdU8Huf9Ye3o1SQkV7WKiIgUBAVsEfFYdjPXBm6GW1cQbluIv5HMRdOPqc57mOe6AdPDWWsLEDmohcK1iIgUWQrYIuKR7UfjswzX9YwTTLXP5hrLnwD84mpGhPNBjppVs+27c/1KPNAlFP9SdkKD/fUwo4iIFGkK2CLikYH/Xp/hdSsuRlq/5UnbF5Q2HJwzyxDpHMx81/VA9tt7ju8Xxpju9X1crYiISMFRwBaRq6Qdd143uCy7TyTw5IJtuDLYhq+hcYzp9pm0thwC4EdXS8Y7HuQEwdmOYQBfPtqJVrUq+rh6ERGRgqWALSJXWLA5mohFO8hqW2sbTsZYv+Zx22L8DCeJpj8vOe/jc1d3PJm1BojoF6ZwLSIixZICtoiki0lIYtyiHVm2aWIcYbp9Fs0thwH43tWGZx0jOUlQlvcZgAlYDBjXL4wx3bQsREREiicFbBFh9Z5Y1uw9xeaouEzb2HEy1vYlj1iXYjdcxJvlmOS4n6XuzmQ3az2+fxi3tqrO4TMX9RCjiIgUewrYIiXcLe/8xI7jiVm2aWEcYrp9FmGWowAsd13D844RnKZClvf1aVaVSbc2Sw/UCtYiIlISKGCLlFAxCUmM+/yPLMO1Hyn8w7aY0davsRluzpgBPO8Yzrfu67Ltv2lIeWYNbe/LkkVERIoEBWyREmjB5uhs11q3Nf5kmn02DSwnAFjq6sQkx/3EE+DRGO+PuCbXdYqIiBRFCtgiJUhMQhJfbDnKayv3Z9qmNMk8ZfuckdblWAyTU2YFnnU8wCq3Z7PRBjBlUAstBxERkRJLAVukBIhJSOKd1fuZv+lolu2uNfYw1T6bupaTAHzh6saLjvtIpFy2YxjAO/e2oV1oRYVrEREp0RSwRYo5T5aD+HOJp22fMdy2EoATZhDPOEbyg7uNR2MYBkwZ2IKbW1XPdb0iIiJFnQK2SDG2ek9stuG6k2UnU21zqGU5DcB8Z08inUM4h3+2/d99TU26NaxM2zqatRYREUmjgC1SzKQdc/7ayn1sOXI203bluMgztvkMtq0B4JgZzDjHKH5xt/BoHAN4oncjBWsREZG/UcAWKUYWbI5m/OIduLM65xzobtlOpH0O1Y3Ug2XmOm9gqvNeLlLao3EsBkQO1IOMIiIiGVHAFikmPFkOEsB5Jtg+5k7bOgAOu6syzjGajWYTj8aYcW8bKpXz02mMIiIiWVDAFikGnlq4jUW/H8+yTW/LFibb36eqcRa3afCBqy+vOu/iEn4ejWE1DO0QIiIi4gEFbJEiLCYhiRlr9mcZriuSyET7PAZY1wNw0F2NcMcYfjcbeTyOBXhlYHOFaxEREQ8oYIsUUdO/28u7PxzMsk0/y0ZetH9IZSMRl2kw23UzbzoHkUwpj8YwgFFd6zGiS6jCtYiIiIcUsEWKoFve+YkdxxMzfT+YBF6wf8hN1k0A7HPXJNwxhj/M+h71H96nEXWCympJiIiIiBcUsEWKkJiEJPq8sY7ES85MWpjcalnPJPtcgozzOEwr/3bdyrvOAaRg92iMfs1DeLRnQ98VLSIiUsIoYIsUERO/3MncX49k+n4V4pls/4AbrFsA2OWuQ7hjDLvNUI/6N4BHe9bnX33CfFCtiIhIyaWALVLIxSQkcdfMDRyNT8qkhckd1nVMsP0fgcZFUkwrbzsHMtN1C04P/hM3gFHd6jKic10tBxEREfEBBWyRQiomIYl3Vu9n/qajmbapxl9E2t+jh3U7ANvc9XjaMYY/zVoejfHygGb0alJVwVpERMSHFLBFCqFZPx4kcvneLFqY3GtdwzO2+ZQ3kkg27bzuvIP3XP1xYfVojEFta3DfdaE+qVdERET+RwFbpJB5dcVeZqzNfPu9msYpptrm0Nm6C4At7oY87RjNQbNGtn0bwIjOodzWujqtalX0VckiIiJyGQVskUJi9Z5Ypn63lz9PXsjwfQM3Q62rGGf7jLJGMklmKaY77+YjVx/cWLLt3wJEDmrB3dfU9nHlIiIicjkFbJFCoPu0NRyJy+whRgg1Yphqn0MHS+qykV/dTRjnGMURM8Sj/m9uUY1nb26itdYiIiL5QAFbpADFJCTR+7UfuJDizvB9C25GWJcTbltIacPBBdOPSOdgPnH1wvRg1jq1DxSuRURE8pECtkgB2H40nrdX72f13tOZtqlvHGe6fRZtLQcA+MnVnPHOURwzK3s8jtUweGVgc4VrERGRfKSALZKPYhKSGPnRb+yOyfyYcysuRlu/4QnbIvwMB4lmGSY772OBqwepjylmzQDeG9YO/1J2QoP9Fa5FRETymQK2SD5ZsDmacYt2ZNmmsRHNdPssWlqiAFjjas0zjpHEUsnjcaYMakGvJp6tzRYRERHfU8AWyUMxCUl8v/skO44nsPC3Y5m2s+HkEesyxtqWUMpwkWD684Ljfha7u+LJrDVA/cr+fPzgdZqxFhERKWCePSVViMXFxTFkyBACAgKoUKECI0eO5Pz581neExsby9ChQwkJCaFs2bK0bduWRYsW5VPFUlIs2BxNx8g1TFi6K8tw3cyIYlmpCTxp/4JShouVrnb0Tp7OYnc3PA3XBihci4iIFBJFfgZ7yJAhxMTEsGrVKhwOByNGjGD06NHMnz8/03vuv/9+zp49y7JlywgODmb+/Pncdddd/Pbbb7Rp0yYfq5fiKiYhiYjFWS8HKYWDx2xLeNi6DJvhJs4sx0THcL5yd8TTYM1/W04Z1ELhWkREpJAwTNM0C7oIb+3Zs4emTZuyefNm2rdvD8B3331H//79OXbsGNWrV8/wvnLlyvGf//yHoUOHpl+rVKkSU6dO5cEHH/Ro7MTERAIDA0lISCAgICD3H0aKlfUHzzB4zsZM329lHGC6fRaNLMcB+Np1HRMdw/iLwByN061hMFPvaKlwLSIikg88zX9FeonIhg0bqFChQnq4BujduzcWi4WNGzMPN506dWLBggXExcXhdrv57LPPuHTpEj169MiHqqW42340nkc+/i3D9/xIIcI2n8WlJtLIcpzTZgBjUp5grOPxHIVrw4D3h7Vj3sgOCtciIiKFTJFeIhIbG0uVKlWuuGaz2QgKCiI2NjbT+xYuXMjdd99NpUqVsNls+Pv7s2TJEho0aJDpPcnJySQnJ6e/TkzMfJs1KTliEpKIOnOBusFlAfjHp1vZdDg+w7btjH1Ms8+mviUGgMWuLrzoGMpZyudozLS9rbVTiIiISOFUKAN2REQEU6dOzbLNnj17vO5/woQJnD17lu+//57g4GC+/PJL7rrrLn766SdatGiR4T2RkZG88MILXo8pxc+CzdGMX7wDdzaLrMpwiXDbQoZbV2AxTGLNijzjGMkad1uPx7IYMK5vGC1rVtDe1iIiIoVcoVyDffr0af76668s29SrV4+PP/6Yp556ivj4/80YOp1OSpcuzeeff87tt99+1X0HDx6kQYMG7Ny5k2bNmqVf7927Nw0aNGDmzJkZjpfRDHatWrW0BruEiklIovOUNdmG6+ssu5lqm00dyykAFjh7MNk5hETKejzW6G51GdG5rkK1iIhIAfN0DXahnMGuXLkylStnfxx0x44dOXv2LFu2bKFdu3YArFmzBrfbTYcOHTK85+LFiwBYLFcuP7darbjd7kzH8vPzw8/Pz9OPIMXcO6v3Zxmuy5JEhO1Thtq+B+CYGcx4x4P85G6Zo3GWPtqJVrUq5qZUERERyWdF+iHHJk2a0LdvX0aNGsWmTZv45ZdfGDt2LPfcc0/6DiLHjx8nLCyMTZs2ARAWFkaDBg0YM2YMmzZt4uDBg7z22musWrWKAQMGFOCnkaIgJiGJ0fN+Y/6mo5m26Wr5gxV+49LD9cfOXvRNnpLjcD11UAuFaxERkSKoUM5g58Qnn3zC2LFj6dWrFxaLhUGDBvH222+nv+9wONi3b1/6zLXdbufbb78lIiKCW265hfPnz9OgQQPmzp1L//79C+pjSBGQ3VHnAVzgWdsn3G37AYBod2XGOUezwd0s03syMqZbXYZrSYiIiEiRVSjXYBcF2ge7ZIlJSKJj5JpM3+9p2cor9vepZsThNg3mum5kmvNukiido3H6twjh30Pa5bZcERERyQNFeg22SGGQtgVfUoqTCV/uzLBNIOeZaJ/HQOvPABxyh/C0YzS/mWE5Hu/RHvUJ75vz+0RERKRwUcAWyYAnW/D1sWzmZfsHVDYScJkG77n687rzTpIp5fE4wzvVoU+zatp6T0REpBhRwBb5m+1H47Ncax1EIi/aP+Jm668A7HfXINwxhm1m5gcVZUQ7hIiIiBRPCtgil5n140Eil+/N5F2Tmy2/8oL9IyoZ53CaFma6buFt50BSsOdoHO0QIiIiUnwpYEuJF5OQxJYj8Xz+21F+/PNMhm0qc5aX7B/S17oZgD3u2vzLMYZdZt0cjTX42lo81quhloOIiIgUYwrYUqIt2BxNxKIdZL7U2uR2y89MtM+jgnEBh2llhnMA/3bdhsPD/3wCS9sY1a0eg9rVVLAWEREpARSwpUSKSUji+90nmbB0V6ZtQviLyfYP6GXdCsAOdyjhjofYa9b2eJxh19XhhQHNc12viIiIFB0K2FLiZHdgDJjcZf2B52wfE2AkkWzaeMs5iFmum3FhzdFYfVtUy1WtIiIiUvQoYEuJEpOQlGW4rsFpIu3v0c2a2maruwHhjtEcMGvmeCyrYRAa7O91rSIiIlI0KWBLsZd2YEzd4LJMXb4nwzYGboZYVxNh+5RyxiUumXZedd7FB65+uLF4PJYBmKSG61cGNteaaxERkRJIAVuKtay33UtV2zjJVNscOlp3A7DRHcY4xygOmzlb3tGtYTBT72jJ4TMXdXCMiIhICaaALcXG5TPV1QLLMGtd1uHagpth1hWE2xbibyRz0fRjqvMe5rluwMzBrHWaqXe0pFpgGQVrERGREk4BW4qFy482txjwcPf6vPvDwUzb1zNOMM0+m/aWPwH4xdWMCOeDHDWr5nhsA5gyqIWCtYiIiAAK2FIMxCQkpYdrALdJpuHaiouR1m950vYFpQ0H58wyRDoHM991PalR2XM9GgZzR/tatAutqHAtIiIi6RSwpciLOnMhPVxnpaFxjOn2mbS2HALgR1dLxjse5ATBOR6zf4sQ/j2kXY7vExERkeJPAVuKtJiEJA6eOp9lGxtOxli/5nHbYvwMJ4mmPy857+NzV3dyOmvduX4QT/cNo1WtirmoWkRERIozBWwpsi5fd52ZJsYRpttn0dxyGIDvXW141jGSkwR5NebY6xspXIuIiEiWFLClyIlJSOLDXw4xe93hTNvYcTLW9iWPWJdiN1zEm+WY5Lifpe7O5HTWOo0OjhERERFPKGBLkbH9aDxz1h3i6x2xWbZrYRxiun0WYZajAHzrupbnHSM4Q2COx7QYqQ9N6uAYERER8ZQCthRqaXtbz153iB/2nc6yrR8pPGFbxGjr11gNkzNmAM87hvOt+7ocj2sBIge1oFujyjo4RkRERHJEAVsKLU/WWKdpa/zJNPtsGlhOALDU1YlJjvuJJyDH447uWo8RXULTA7WCtYiIiOSEArYUStuPxjNu0Y5s25UmmadsnzPSuhyLYXLKrMCzjgdY5W7v1bgv3daMoR1DvbpXREREBBSwpRBasDnao3B9rbGHqfbZ1LWcBOALVzdedNxHIuW8Hrt305yf5CgiIiJyOQVsKVRW74nNNlz7c4mnbZ8x3LYSgBNmEM84RvKDu02uxp6q485FRETEBxSwpdB4auE2Fv1+PMs2nSw7mWqbQy1L6gOP8509iXQO4RzebZ9nAPd2qMVj1zdUuBYRERGfUMCWAheTkMSi349lGa7Lc5HxtvkMtq0B4JgZzDjHKH5xt/BqzJcHNKN+5fLaHURERER8TgFbCtSCzdFELNpBVhuFdLdsJ9I+h+pGHABznTcw1XkvFynt1ZgG0KtJVQVrERERyRMK2FJgYhKSsgzXAZxngu1j7rStA+CwuyrjHKPZaDbJ1bgR/cIUrkVERCTPKGBLvtt+NJ5Nh+MobbNmGq57W7Yw2f4+VY2zuE2DD1x9edV5F5fw83pciwHj+oUxplt9r/sQERERyY4CtuSbmIQknvhsKxuj4jNtU5FEJtrnMcC6HoCD7mqEO8bwu9koV2OP7laXEZ3rauZaRERE8pwCtuQLT/a27mfZyIv2D6lsJOIyDWa7buZN5yCSKeXVmN0bBvNQjwZ6kFFERETylQK25KmYhCR+OxxHRBbhOpgEXrB/yE3WTQDsddfiacdo/jBzt5Tjzva16Fi/Uq76EBEREckpBWzJM9nvEGJyq2U9k+xzCTLO4zCt/Nt1K+86B5CCPVdjG0C70Iq56kNERETEGwrYkie2H43PcklIFeKZbH+fG6y/A7DLXYdwxxh2m6E+GX+KTmUUERGRAqKALbkWk5BE1JkL1A0uS7XAMsz68SCRy/dm0trkDus6Jtj+j0DjIimmlbedA5npugVnLv/vaDHgnmtq81ivBgrXIiIiUmAUsCVXFmyOZvziHbjN1GUZHesFsf5QXIZtq/EXkfb36GHdDsA2dz2edozhT7NWrusI79OIgW1rKliLiIhIgVPAFq/FJCSlh2sAEzIJ1yb3WtfwjG0+5Y0kkk07rzvv4D1Xf1xYc11H29oVeLRnw1z3IyIiIuILCtjitagzF9LDdWZqGqeYaptDZ+suALa4G/K0YzQHzRo+qSG8TyOFaxERESlUFLDFa3WDy2b6noGbodZVjLN9RlkjmSSzFNOdd/ORqw9uLD4Z3wAGtq3pk75EREREfEUBW3Js+9F4vt9zkn2x5zN8P9SIYap9Dh0sqQ86/upuwtOO0USbVX1ah3YKERERkcJIAVty5KmF21j0+/EM37PgZoR1OeG2hZQ2HFww/Yh0DuYTVy9MH81ad2lQiT7NQujdtKrCtYiIiBRKCtjise1H4zMN1/WN40y3z6Kt5QAAP7maM945imNmZZ+N3yusCu8Pv8Zn/YmIiIjkBQVsyVJMQhJbjsRjmib7T129JMSKi9HWb3jCtgg/w0GiWYbJzvtY4OpB6ipp33m8VwOf9iciIiKSFxSwJVPZHXXe2Ihmun0WLS1RAKxxteYZx0hiqeTzWga1rUGrWjr6XERERAo/BWzJUExCUqbh2oaTR6zLGGtbQinDRYLpzwuO+1ns7oqvZ60N4L1h7ejVJMSn/YqIiIjkFQVsydAHP0dlGK6bGVFMt8+mqeUIACtc7XnOMYLT+H522WoYvDKwucK1iIiIFCkK2HKV7UfjmfNT1BXXSuHgMdsSHrYuw2a4iTPLMdExnK/cHfH1rHWvJpV5sEt9QoP9tVOIiIiIFDkK2HKFBZujGbdoxxXXWhkHmG6fRSNL6g4iX7uuY6JjGH8RmCc1PH59Q623FhERkSJLAbuEu3yXkNpB/kRcFq79SOGfti8YZf0Gq2Fy2gzgOccDrHBfm2f16GFGERERKeoUsEuwrHYJaWfsY5p9NvUtMQAsdnXhRcdQzlLe53UYpG7Bd31YFYVrERERKfIUsEuomIQkxi++OlyX4RLhtoUMt67AYpjEmhV5xjGSNe62eVJH2oOMd19TO0/6FxEREclvCtglVNSZC7j/lq6vs+xmqm02dSynAFjg7MFk5xASKevTsW9oUoUbm1WlZsWyepBRREREih0F7BKqbnBZDMAEypJEhO1Thtq+B+CYGcx4x4P85G6ZJ2Pfc20tbb0nIiIixZYCdglmAl0tfxBpf4+axhkAPnb2YorzXs7jn2fjHj5zMc/6FhERESloCtglTExCElFnLpAYf4apttncbfsBgGh3ZcY5R7PB3SzPa2gfqgcZRUREpPhSwC5BFmyOZvziHXQ3tvKK/X2q2eJwmwZzXTcyzXk3SZT2+ZjNqgew60Ri+mttwyciIiLFnQJ2CRGTkMSUxRt41TaPgdafATjkDuFpx2h+M8PyZEyrYfDesPacSrzEb4fjaR9aUeFaREREij0F7BIi4ffFrCw1nspGAi7T4D1Xf1533kkypfJkvLTt96oFlqFaYBkFaxERESkxFLCLuwtn4Nt/EbZrCRiw312DcMcYtpkN8mzIEZ1CGd29nrbfExERkRJJAbu4Mk3iN39GudXPYE+Ow2lamOm6hbedA0nBnqdDtw+tqHAtIiIiJZYCdnF07iTHPn6YmidXA7DHXZt/Ocawy6ybL8O3raPlICIiIlJyKWAXJ6YJfyzA/e04aiafxWFameEcwL9dt+HIp6/60R71NXstIiIiJZoCdnGRcBy+/ifsX4EF2OEOJdzxEHvN2vlWQs/GlQnvmzc7koiIiIgUFQrYRZ1pwtb/gxXPQnIiWEuxrsZIRvzZCRfWfCnBAB7pWZ/wPgrXIiIiIgrYRdnZaFj2OBxam/q6RnsW1Ihg3LqUfBn+/WHt8C9lJzTYX8tCRERERP5LAbsocrthywewaiKknAdbabj+OWKajGDc1B/zpYTx/cLo1SQkX8YSERERKUoUsIuauEOps9aHf0p9XbsT3DYDKtXnt+3H86WER3vWZ0z3+vkyloiIiEhRo4BdVLhdsGk2rH4RHBfB7g+9J8E1o8BiAcAwjDwtwQAi+ocxppvCtYiIiEhmFLCLihNb4buI1H+u2w1ueRuCrtzXem9MYp4N37BKWeaN7KC11iIiIiLZUMAuKmq2h06PQVA9aDcC/jZbvf1oPDPWHvT5sPWCy/LsTVpvLSIiIuIpBeyi5MaXM7y8YHM04xbt8OlQLWsG8NJtzWlVS6cyioiIiOSEAnYRF5OQxPjFvgvXvZtU4bHrGyhYi4iIiHjJUtAF5NbkyZPp1KkT/v7+VKhQwaN7TNPk+eefp1q1apQpU4bevXuzf//+vC00j0SduYDb9F1/I7vUU7gWERERyYUiH7BTUlK48847efjhhz2+Z9q0abz99tvMnDmTjRs3UrZsWfr06cOlS5fysNK8seNYgs/6shoGocH+PutPREREpCQq8ktEXnjhBQA++ugjj9qbpsmbb77Jc889x2233QbAvHnzqFq1Kl9++SX33HNPXpXqczEJSUxZvtcnfVmAVwY21y4hIiIiIrlU5GewcyoqKorY2Fh69+6dfi0wMJAOHTqwYcOGTO9LTk4mMTHxil8FLerMBXyxOsRiwJJHO3H3NbV90JuIiIhIyVbiAnZsbCwAVatWveJ61apV09/LSGRkJIGBgem/atWqlad1emLH8dwvDzEMiBzYQuuuRURERHykUAbsiIgIDMPI8tfevb5ZGuGp8ePHk5CQkP7r6NGj+Tr+38UkJDE1l8tDXh7QjPUR12vmWkRERMSHCuUa7Keeeorhw4dn2aZevXpe9R0SknpgysmTJ6lWrVr69ZMnT9K6detM7/Pz88PPz8+rMfNCbncPGd6pDvddF+qzekREREQkVaEM2JUrV6Zy5cp50nfdunUJCQlh9erV6YE6MTGRjRs35mgnkoJWN7is1/c2rx7ApFub+7AaEREREUlTKJeI5ER0dDTbtm0jOjoal8vFtm3b2LZtG+fPn09vExYWxpIlSwAwDIMnnniCl19+mWXLlrFjxw7uv/9+qlevzoABAwroU+RctcAydKoXlKN7qpQrxfvD2vH1413zqCoRERERKZQz2Dnx/PPPM3fu3PTXbdq0AWDt2rX06NEDgH379pGQ8L8HAp9++mkuXLjA6NGjOXv2LF26dOG7776jdOnS+Vp7bsQkJLH+UFyO7ln6WBdtwyciIiKSxwzTNH14DmDJkZiYSGBgIAkJCQQEBOTbuDEJSUSducDcXw6zYvdJj+8b3y+MMd3r52FlIiIiIsWbp/mvyM9glyQLNkczfvGOHD3caDFgXL8wxnRTuBYRERHJDwrYRURMQlKOwrUBzBjchrZ1KmpZiIiIiEg+UsAuInKyLZ8BTBnUgptaVs/TmkRERETkagrYRUTd4LJYDLIN2d0aBjP1jpaatRYREREpIEV+m76SolpgGcb1C8NiZPy+Abw/rB3zRnZQuBYREREpQArYRcSCzdFMXb4Xt5kapvs3D8FqpKZtq2EwZVALejUJKdgiRURERERLRIqCvz/gaAIrdp1k8SMduZjiJjTYX7PWIiIiIoWEAnYRkNEDji7T5GKKm471KxVMUSIiIiKSIS0RKQLqBpfl70uvDSA02L8gyhERERGRLChgFxE6blNERESkaFDALgK2HIm/6poJ/J7BdREREREpWArYRYBpZjx/ncllERERESlACthFQPvQoAzXYLcLrVgQ5YiIiIhIFhSwi4BqgWWYMqhF+pdlIfUodG3NJyIiIlL4aJu+IuLua2rTrVFlDp+5qH2vRURERAoxBewipFpgGQVrERERkUJOS0RERERERHxIAVtERERExIcUsEVEREREfEgBW0RERETEhxSwRURERER8SAFbRERERMSHFLBFRERERHxIAVtERERExIcUsEVEREREfEgBW0RERETEhxSwRURERER8SAFbRERERMSHFLBFRERERHxIAVtERERExIcUsEVEREREfMhW0AUUVaZpApCYmFjAlYiIiIhIfkjLfWk5MDMK2F46d+4cALVq1SrgSkREREQkP507d47AwMBM3zfM7CK4ZMjtdnPixAnKly+PYRhe9ZGYmEitWrU4evQoAQEBPq5QCit97yWPvvOSR995yaTvvfgzTZNz585RvXp1LJbMV1prBttLFouFmjVr+qSvgIAA/YdYAul7L3n0nZc8+s5LJn3vxVtWM9dp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7NhxVfvjx4+brVq1MgFz4cKFV72f0b+3yyUmJppLly41k5OTr7iekpJijh8/3gTM/v37Z1t3GqfTadapU8cEzN9///2q97/66isTMFu2bOlxnyIiWiIiIpJPVqxYwS+//ELr1q2ZOXMm5cuXT3/PZrMxbdo0mjdvztq1a9m5cycAiYmJJCUlUa9ePRo3bnxVn3Xq1MnzXUmyEhwcDHDV0pZrrrmG5s2bX9W+evXqTJs2DUhd9pJT5cuX59Zbb6VUqVJXXLfb7bzyyitUr16d7777jnPnznnUn9Vq5dFHHwXg3Xffver9GTNmAKS3ERHxhJaIiIjkk2+++QaAQYMGYbNd/duvxWKhW7du7Ny5k/Xr19O8eXMqV65MaGgof/zxB0899RQjR46kadOm+V16ptLWUl++fjpNcnIyK1euZPPmzZw6dYrk5GRM00wPv/v27fN63O3bt7N69WqioqK4cOFCeh1OpxO3282BAwc83j7wwQcfZNKkScyfP5/p06dTsWJFAA4cOMDKlSupUKEC9913n9e1ikjJo4AtIpJPDh06BMCECROYMGFClm1Pnz6d/s/z5s3jjjvu4PXXX+f1118nKCiIDh06cMMNNzB06ND0WeSCcObMGQCCgoKuuP7rr79y9913Ex0dnem9iYmJOR7vwoULDB06lCVLlmTZLid9V6xYkaFDhzJr1izef/99/vWvfwHw73//G9M0GTFiBP7+/jmuVURKLgVsEZF8kjbL2qVLF+rXr59l22bNmqX/c9euXTl8+DDffPMNP/74I+vXr2fFihUsX76ciRMnsmTJEnr16pWntWfm999/B6BFixbp1y5evMiAAQM4efIkI0aM4OGHH6ZBgwYEBARgtVr5888/ady4sVeHyYwfP54lS5YQFhbGlClTuOaaawgODk5fMtKpUyc2bNiQ474ff/xxZs2axX/+8x+efPJJLl26xIcffohhGFoeIiI5poAtIpJPatWqBcBtt92WPkvqqTJlynDHHXdwxx13AKkz3M899xyzZ8/mgQce4MiRIz6vNzu7du1i27ZtANx4443p19etW8fJkydp27YtH3zwwVX37d+/3+sxFy5cCMCCBQto2bKlz/pu2rQpvXv35vvvv2f58uWcOHGCs2fP0q9fv2z/MiQi8nd6yFFEJJ/069cPSH24z5vZ28tVrlw5/WHB6Oho4uPj099Lm811Op25GiMrKSkpPPTQQ0Dq0e+33npr+ntxcXEA1K5dO8N7P/7440z7tdvtQOa1p/V9+TaGaVasWJG+ZMUb//jHP4DUBxvTHnjU1nwi4g0FbBGRfHLbbbdxzTXXsGnTJkaMGHHFOus08fHxzJw5Mz1gHjlyhPfeey/DNcVfffUVkLqGOCAgIP16zZo1gdQZ5rzwyy+/0LVrV37++WfKlSvHJ598gsXyvz9OmjRpAsDq1avZvXv3FffOnj2bBQsWZNp3drWn9f3OO+9ccX3fvn3pgd9b/fv3p0GDBnz33Xds376d+vXrp/+lSEQkJwwzt9MoIiJyhR9++IGePXsCXDVTfeLECW666Sa2bdtG2bJladWqFbVr1yYlJYVDhw6xY8cOXC4XSUlJlC5dmm3bttGmTRvsdjutW7embt26QOpSiK1bt2IYBnPmzGHkyJHpY/zxxx/pO2hcf/311KpVC4vFwq233nrFTHNmevTowY8//kirVq3SD6dxOBzExcWxbds2YmNjAWjVqhUfffRRhgfYDBgwgKVLl1KqVCl69OhBUFAQ27ZtY9++fTzzzDNMnjyZOnXqpJ/QmCY8PJxXX32V4OBgrr/++vStDKdOnUqlSpVYvHgxd9xxB6Zp0qJFC5o1a8apU6f46aef6Nq1K5cuXWL9+vWsXbuWHj16ZPtZ/+6tt97iiSeeAOC1117jySefzHEfIiI6aEZExMcyO2gmzaVLl8yZM2eaPXv2NCtVqmTabDazSpUqZuvWrc1HH33UXLFiRXrbxMRE88033zRvv/12s2HDhma5cuXMsmXLmo0aNTLvv/9+87fffstwjCVLlpidO3c2y5cvbxqG4fHBMab5v4NmLv9VpkwZMyQkxOzYsaM5duxYc/Xq1abb7c60j5SUFHP69OlmixYtTH9/fzMoKMi88cYbzZUrV5pRUVEmYNapU+eq+5KSksynn37abNCggVmqVKn08aOiotLbrFu3zuzVq5cZHBxs+vv7m82bNzcnT55sJicnp9e+du1ajz7r3+3Zs8cETH9/fzM+Pt6rPkRENIMtIiLyX8899xyTJ09m9OjRzJo1q6DLEZEiSgFbREQEiImJoWnTpiQmJrJz58709d4iIjmlbfpERKREi4iI4Pjx43z//fecPXuWhx56SOFaRHJFM9giIlKihYaGEh0dTUhICHfffTdTpkzBz8+voMsSkSJMAVtERERExIe0D7aIiIiIiA8pYIuIiIiI+JACtoiIiIiIDylgi4iIiIj4kAK2iIiIiIgPKWCLiIiIiPiQAraIiIiIiA8pYIuIiIiI+JACtoiIiIiID/0/KQC3G67+3toAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot the surrogate model's output vs. the testing data output\n", + "y_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()]\n", + "\n", + "fig2 = plt.figure(figsize=(8,6))\n", + "ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75])\n", + "\n", + "ax2.plot(y_tst[:,0],y_tst_approx[\"Y_eval\"],\".\")\n", + "ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line\n", + "\n", + "ax2.set_xlabel(\"Test Data y\", size=16)\n", + "ax2.set_ylabel(\"Predicted y\", size=16); " + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The training RMSE in the PCE BCS approximation is 2.02e-02\n", + "The testing RMSE in the PCE BCS approximation is 1.21e-02\n" + ] + } + ], + "source": [ + "# Evaluate goodness of fit with RMSE\n", + "rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx[\"Y_eval\"])\n", + "print(\"The training RMSE in the PCE BCS approximation is %.2e\"%rmse_trn)\n", + "\n", + "rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx[\"Y_eval\"])\n", + "print(\"The testing RMSE in the PCE BCS approximation is %.2e\"%rmse_tst)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In these final RMSE calculations, we can see how our training RMSE has decreased from 1.80e-02 to 1.21e-02 by building with the most optimal eta. This indicates that our model has improved in generalization and is performing better on unseen data. Though our training error is still larger than our testing error, this can be attributed to the lack of noise in our testing data, while noise is present in our training data. While the optimal eta reduces overfitting and improves generalization, the noise in our training data still impacts the training error and remains an important consideration during our evaluation of the model performance.\n", + "\n", + "While this demonstration calls the cross-validation algorithm as a function outside of the PCE class, these methods have been implemented in PyTUQ through the PCE class. The example \"Polynomial Chaos Expansion Construction\" demonstrates how to call the eta optimization methods directly from the PCE class." + ] } ], "metadata": { diff --git a/examples/surrogates/ex_genz_bcs.py b/examples/surrogates/ex_genz_bcs.py index 1dd7b14..e186469 100644 --- a/examples/surrogates/ex_genz_bcs.py +++ b/examples/surrogates/ex_genz_bcs.py @@ -16,10 +16,15 @@ - :math:`x_i`: The input variables. - :math:`d`: The dimensionality of the input :math:`x` (number of components in :math:`x`). -Through 2 different build processes, we will construct two different PC surrogates to demonstrate effects of the BCS eta hyperparameter on model results. -The first build process will demonstrate most simply the construct-build-evaluate process when using BCS for our PC surrogate, along with a given a eta of 1e-10. -The second build process will select the most optimal eta for BCS through cross-validation algorithms (exposed here), which will soon be implemented in PyTUQ under-the-hood. -Afterwards, we will evaluate both models on testing and training data, returning parity plots and a Root Mean Square Error for each evaluation. +Through three different build processes, we will construct three PC surrogates to highlight the advantages of BCS and explore the effects of the `eta` hyperparameter on model results. + +First, we'll build with least squares regression to demonstrate the limitations of non-sparse methods and the need for BCS. +Then we'll build with BCS using a given eta of :math:`1 \times 10^{-10}` and identify aspects for model improvement. +Last, we'll build with the most optimal eta, as found through cross-validation algorithms exposed here. All three surrogates will be evaluated on testing and training data, +with parity plots and Root Mean Square Error (RMSE) values used to compare their performance. + +To follow along with the cross-validation algorithm for selecting the optimal eta, see section "Functions for cross-validation algorithm" in the second half of the notebook. +These methods have been implemented under-the-hood in PyTUQ. Refer to example "Polynomial Chaos Expansion Construction" (``ex_pce.py``) for a demonstration of how to use these methods through a direct call to the PCE class. """ # %% @@ -34,44 +39,55 @@ from sklearn.metrics import root_mean_squared_error from pytuq.surrogates.pce import PCE -from pytuq.utils.maps import scale01ToDom +from pytuq.utils.maps import scaleDomTo01 from pytuq.func.genz import GenzOscillatory # %% -# Setting a random number generator seed: +# Constructing PC surrogate and generating data +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +# To start, we begin with defining our true model and input parameters for our PC surrogate. +# +# After importing GenzOscillatory from ``pytuq.func.genz``, we generate the Genz function below, +# along with training data and testing data with output noise. This data and the corresponding Genz function +# will be used to create the same PC surrogate fitted in all three examples: first with linear regression, +# next using BCS with a given eta, and third using BCS with the most optimal eta. + +# %% # Random number generator from scipy.stats import qmc rng_seed = 43 # %% -# Constructing PC surrogate and generating data -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# After importing GenzOscillatory from ``pytuq.func.genz``, we generate the Genz function below, along with training data and testing data with output noise. -# This data and the corresponding Genz function will be used to create the same PC surrogate fitted in both examples: -# (1) The first surrogate will be fitted using BCS with a given eta, and (2) the second surrogate will be fitted using BCS with the most optimal eta. -# Use Genz Oscillatory function in multiple dimensions for the true model +# Define our true model as the Genz Oscillatory function in multiple dimensions func_dim = 4 -func_weights = [1.0/(i+1)**2 for i in range(func_dim)] +func_weights = [1.0/(i+1)**2 for i in range(func_dim)] func = GenzOscillatory(shift=0.25, weights=func_weights) -noise_std = 0.1 +noise_std = 0.025 + rng = qmc.LatinHypercube(d=func_dim, seed=rng_seed) +np.random.seed(42) + +# As we choose to use Legendre polynomials later in the surrogate construction, we define the domain of ξ on [-1, 1]^d +ksi_domain = np.array([[-1.0, 1.0]] * func_dim) # Training data -np.random.seed(42) n_trn = 70 -x_trn = rng.random(n=n_trn) # random numbers in [0,1]^d -y_trn = func(x_trn) + np.random.normal(0, noise_std, size = (n_trn,1)) +value_ksi_trn = 2*rng.random(n=n_trn) - 1 # Randomly generating 70 data points within the domain of ξ (ksi) +x_trn = scaleDomTo01(value_ksi_trn, ksi_domain) # We scale our training data to [0, 1]^d, the domain of the Genz function +y_trn = func(x_trn) + np.random.normal(0, noise_std, size = (n_trn, 1)) # Testing data n_tst = 10000 -x_tst = rng.random(n=n_tst) # random numbers in [0,1]^d -y_tst = func(x_tst) + np.random.normal(0, noise_std, size = (n_tst,1)) +value_ksi_tst = 2*rng.random(n=n_tst) - 1 +x_tst = scaleDomTo01(value_ksi_tst, ksi_domain) +y_tst = func(x_tst) # %% -# With a stochastic dimensionality of 4 (defined above) and a polynomial order of 4, we construct the PC surrogate that will be used in both builds. -# You have the option of printing the PC surrogate's full basis, before BCS selects and retains the most significant PC coefficients to reduce the basis. +# With a stochastic dimensionality of 4 (defined above) and a chosen polynomial order of 4, we construct the PC surrogate that +# will be used in both builds. By calling the ``printInfo()`` method from the PCRV variable, you can print the PC surrogate's +# full basis and current coefficients, before BCS selects and retains the most significant PC terms to reduce the basis. # (1) Construct a PC surrogate order = 4 @@ -80,16 +96,79 @@ # Optional verbosity output: print("Full Basis and Current Coefficients:") pce_surr.pcrv.printInfo() -print("Number of Basis Terms:", len(pce_surr.pcrv.mindices[0])) +print("Number of Basis Terms:", pce_surr.get_pc_terms()) # (1.5) Set training data -pce_surr.set_training_data(x_trn, y_trn[:,0]) +pce_surr.set_training_data(value_ksi_trn, y_trn[:,0]) + +# %% +# From the input parameters of our PC surrogate, we have 70 basis terms in our PCE. With 70 training points and no noise, having 70 basis terms would mean that we have a fully determined system, as the number of training points is the same as the number of basis terms. However, with the addition of noise in our training data, it becomes harder for the model to accurately fit all basis terms, leading to potential overfitting. This demonstrates the helpful role BCS might play as a choice for our regression build. As a sparse regression approach, BCS uses regularization to select only the most relevant basis terms, making it particularly effective in situations like this, where we do not have enough clear information to fit all basis terms without overfitting. +# +# In the next sections, we will explore the effects of overfitting in more detail. + +# %% +# Least Squares Regression +# ^^^^^^^^^^^^^^^^^^^^^^^^^ +# To start, we call the PCE class method of ``build()`` with no arguments to use the default regression option of least squares. Then, through ``evaluate()``, we can generate model predictions for our training and testing data. + +# %% + +# (2) Build the linear regression object for fitting +pce_surr.build() + +# (3) Evaluate the PC model +y_trn_approx = pce_surr.evaluate(value_ksi_trn) +y_tst_approx = pce_surr.evaluate(value_ksi_tst) + +# %% + +# Plot the surrogate model's output vs. the training data output +y_trn_mM = [y_trn[:,0].min(),y_trn[:,0].max()] + +fig1 = plt.figure(figsize=(8,6)) +ax1 = fig1.add_axes([0.15, 0.15, 0.80, 0.75]) + +ax1.plot(y_trn[:,0],y_trn_approx["Y_eval"],".") +ax1.plot(y_trn_mM,y_trn_mM) # Diagonal line + +ax1.set_xlabel("Train Data y", size=16) +ax1.set_ylabel("Predicted y", size=16); + +# %% + +# Plot the surrogate model's output vs. the testing data output + +y_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()] + + +fig2 = plt.figure(figsize=(8,6)) +ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75]) + + +ax2.plot(y_tst[:,0],y_tst_approx["Y_eval"],".") +ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line + +ax2.set_xlabel("Test Data y", size=16) +ax2.set_ylabel("Predicted y", size=16); + +# %% + +# Evaluate goodness of fit with RMSE +rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) +print("The training RMSE in the PCE LSQ approximation is %.2e"%rmse_trn) + +rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) +print("The testing RMSE in the PCE LSQ approximation is %.2e"%rmse_tst) + +# %% +# The results above show us the limitations of using least squares regression to construct our surrogate. From the parity plots, we can see how the testing predictions from the LSQ regression are more spread out from the parity line, while the training predictions are extremely close to the line. Because LSQ fits all the basis terms to the training data, the model fits too closely to the noisy training dataset, and the true underlying pattern of the function is not effectively captured. Our RMSE values align with this as well: while the training RMSE is extremely low, the testing RMSE is significantly higher, as the model struggles to generalize to the unseen test data. +# +# To improve our model's generalization, we can build our model with BCS instead. As a sparse regression method, BCS reduces the number of basis terms with which we can fit our data to, reducing the risk of overfitting. # %% # BCS with default settings (default eta) # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# Here, we call the PCE class method of ``build()`` to build the linear regression model used to fit the surrogate. -# With the flag ``regression='bcs'``, we choose the BCS method for the fitting. A user-defined eta of 1e-10 is also passed in. +# In this section, we use the same PC surrogate, ``pce_surr``, for the second build. With the flag ``regression='bcs'``, we choose the BCS method for the fitting. A user-defined eta of 1e-10 is also passed in. # (2) Build the linear regression object for fitting pce_surr.build(regression='bcs', eta=1.e-10) @@ -97,36 +176,23 @@ # Optional verbosity output: print("Retained Basis and Coefficients:") pce_surr.pcrv.printInfo() -print("Number of retained basis terms:", len(pce_surr.pcrv.mindices[0])) +print("Number of retained basis terms:", pce_surr.get_pc_terms()) # %% -# After fitting, we evaluate the PCE using our training and testing data. To analyze the model's goodness of fit, -# we calculate the root mean square error between the surrogate results and the training and testing data. +# After fitting, we evaluate the PCE using our training and testing data. To analyze the model's goodness of fit, we first plot the surrogate predictions against the training and testing data respectively. # (3) Evaluate the PC model -y_trn_approx = pce_surr.evaluate(x_trn) -y_tst_approx = pce_surr.evaluate(x_tst) - -# Evaluate goodness of fit with RMSE -rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) -print("The training RMSE error in the PCE BCS approximation is %.2e"%rmse_trn) - -rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) -print("The testing RMSE error in the PCE BCS approximation is %.2e"%rmse_tst) +y_trn_approx = pce_surr.evaluate(value_ksi_trn) +y_tst_approx = pce_surr.evaluate(value_ksi_tst) # %% -# Notice above how the training RMSE error is almost half that of the testing RMSE error. This shows that our current model is overfitting, -# learning the training data with noise too well. To address this issue, we can explore selecting a better eta for the BCS fitting. # Plot the surrogate model's output vs. the training data output - y_trn_mM = [y_trn[:,0].min(),y_trn[:,0].max()] - fig1 = plt.figure(figsize=(8,6)) ax1 = fig1.add_axes([0.15, 0.15, 0.80, 0.75]) - ax1.plot(y_trn[:,0],y_trn_approx["Y_eval"],".") ax1.plot(y_trn_mM,y_trn_mM) # Diagonal line @@ -139,30 +205,41 @@ y_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()] - fig2 = plt.figure(figsize=(8,6)) ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75]) - ax2.plot(y_tst[:,0],y_tst_approx["Y_eval"],".") ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line ax2.set_xlabel("Test Data y", size=16) ax2.set_ylabel("Predicted y", size=16); +# sphinx_gallery_thumbnail_number = 2 + +# %% + +# Evaluate goodness of fit with RMSE +rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) +print("The training RMSE in the PCE BCS approximation is %.2e"%rmse_trn) + +rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) +print("The testing RMSE in the PCE BCS approximation is %.2e"%rmse_tst) + +# %% +# From our parity plots, we can see how BCS already generalizes better to unseen data as compared to LSQ, with reduced error in our testing data predictions. In our RMSE calculations, notice how the training error is smaller than the testing error. Though the difference in value is small, this amount is still significant as we have noise in our training data yet no noise in our testing data. That the testing error is higher than the training error suggests that overfitting is still happening within our model. +# +# In the next section, we explore how finding the optimal value of eta -- the stopping criterion for the BCS parameter of gamma, determined through a Bayesian evidence maximization approach -- can impact model sparsity and accuracy to avoid overfitting. + + # %% # BCS with optimal eta (found through cross-validation) # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# In this section, we use the same PC surrogate, ``pce_surr``, for the second build. We call the PCE class method of ``build()`` -# to build the linear regression model used to fit the surrogate. With the flag ``regression='bcs'``, we choose the BCS method for the fitting. -# -############################################################################## -# Instead of using a default eta, we call the cross-validation algorithm, ``optimize_eta()``, to choose the most optimal eta below. +# Before we build our PC surrogate again with the most optimal eta, we first expose the cross-validation algorithm ``optimize_eta`` and its two helper functions, ``kfold_split`` and ``kfold_cv`` below. These functions have been implemented under-the-hood in the PCE surrogate class, but for the purposes of this tutorial, you may find it useful to follow along with the K-fold cross-validation method used to find the most optimal eta (the eta with the lowest validation RMSE across all of its folds). # -# - With the flag ``plot=True``, the CV algorithm produces a graph of the training and testing (validation) data's RMSE values for each eta. The eta with the smallest RMSE for the validation data is the one chosen as the optimal eta. -# -############################################################################## -# Before that, we expose the cross-validation algorithm ``optimize_eta`` and its two helper functions, ``kfold_split`` and ``kfold_cv`` that will be called in this section. +# Functions for cross-validation algorithm +# +++++++++++++++++++++++++++++++++++++++++ + +# %% def kfold_split(nsamples,nfolds,seed=13): """ @@ -251,7 +328,8 @@ def kfold_cv(x,y,nfolds=3,seed=13): return kfold_data # %% -def optimize_eta(pce, etas, nfolds, verbose=0, plot=False): + +def optimize_eta(pce, etas, nfolds=3, verbose=0, plot=False): """ Choose the optimum eta for Bayesian compressive sensing. Calculates the RMSE for each eta for a specified number of folds. Selects the eta with the lowest @@ -312,7 +390,7 @@ def optimize_eta(pce, etas, nfolds, verbose=0, plot=False): y_test_eval = (pce_copy.evaluate(x_test))['Y_eval'] # Print statement for verbose flag - if verbose > 1: + if verbose > 0: print("Fold " + str(i + 1) + ", eta " + str(eta) + ", " + str(len(cfs)) + " terms retained out of a full basis of size " + str(len(pce.pcrv.mindices[0]))) # Calculate the RMSEs for the training and validation points. @@ -368,16 +446,24 @@ def optimize_eta(pce, etas, nfolds, verbose=0, plot=False): return eta_opt # %% +# BCS build with the most optimal eta +# +++++++++++++++++++++++++++++++++++++ +# Instead of using a default eta, here we call the cross-validation algorithm, ``optimize_eta()``, to choose the most optimal eta from a range of etas given below. +# +# - With the flag ``plot=True``, the CV algorithm produces a graph of the training and testing (validation) data's RMSE values for each eta. The eta with the smallest RMSE for the validation data is the one chosen as the optimal eta. # We first create a list of possible etas to pass in: [1e-16, 1e-15, ... , 1e-2, 1e-1, 1] etas = 1/np.power(10,[i for i in range(0,16)]) # Then, we call the function to choose the optimal eta: -eta_opt = optimize_eta(pce_surr, etas, 10, plot=True) +eta_opt = optimize_eta(pce_surr, etas, nfolds=10, verbose = True, plot=True) # %% -# Now, with the optimal eta obtained, we run the fitting again. Then, we evaluate the PCE and produce a parity plot for the predicted output vs. the testing data. -# Notice that the larger eta, 10e-2, retained fewer basis terms (6) compared to the smaller user-defined eta of 10e-10 (which retained 20 basis terms). +# From our eta plot above, we can see that our most optimal eta falls at :math:`1 \times 10^{-10}`, where the validation error is the lowest. While this indicates that the model performs well at this eta value, we can still observe a tendency towards overfitting in the model. For larger eta values, the training and validation RMSE lines are close together, suggesting that the model is performing similarly on both seen and unseen datasets, as would be desired. However, as eta decreases, the training RMSE falls while the validation RMSE rises, highlighting a region where overfitting occurs. +# +# This behavior is expected because smaller eta values retain more basis terms, increasing the model's degrees of freedom. While this added flexibility allows the model to fit the training data more closely, it also makes the model more prone to fitting noise rather than capturing the true underlying function. Selecting the most optimal eta of :math:`1 \times 10^{-4}`, as compared to the earlier user-defined eta of :math:`1 \times 10^{-10}`, allows us to balance model complexity and generalization. +# +# Now, with the optimum eta obtained, we can run the fitting again and produce parity plots for our predicted output. # Build the linear regression object for fitting pce_surr.build(regression='bcs', eta=eta_opt) @@ -385,36 +471,53 @@ def optimize_eta(pce, etas, nfolds, verbose=0, plot=False): # Optional verbosity output: print("Retained Basis and Coefficients:") pce_surr.pcrv.printInfo() -print("Number of retained basis terms:", len(pce_surr.pcrv.mindices[0])) +print("Number of retained basis terms:", pce_surr.get_pc_terms()) # %% + # Evaluate the PC model with training and testing data -y_trn_approx = pce_surr.evaluate(x_trn) -y_tst_approx = pce_surr.evaluate(x_tst) +y_trn_approx = pce_surr.evaluate(value_ksi_trn) +y_tst_approx = pce_surr.evaluate(value_ksi_tst) -# Evaluate goodness of fit with RMSE -rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) -print("The training RMSE error in the PCE BCS approximation is %.2e"%rmse_trn) +# %% -rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) -print("The testing RMSE error in the PCE BCS approximation is %.2e"%rmse_tst) +# Plot the surrogate model's output vs. the training data output +y_tst_mM = [y_trn[:,0].min(),y_trn[:,0].max()] + +fig2 = plt.figure(figsize=(8,6)) +ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75]) + +ax2.plot(y_trn[:,0],y_trn_approx["Y_eval"],".") +ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line + +ax2.set_xlabel("Train Data y", size=16) +ax2.set_ylabel("Predicted y", size=16); # %% -# While the training RMSE error was almost half that of the testing RMSE error for the first fitting, the RMSE errors here are much closer to each other in value. -# This suggests that the model has more effectively generalized to the unseen data; a better eta has improved performance. # Plot the surrogate model's output vs. the testing data output y_tst_mM = [y_tst[:,0].min(),y_tst[:,0].max()] - fig2 = plt.figure(figsize=(8,6)) ax2 = fig2.add_axes([0.15, 0.15, 0.80, 0.75]) - ax2.plot(y_tst[:,0],y_tst_approx["Y_eval"],".") ax2.plot(y_tst_mM,y_tst_mM) # Diagonal line ax2.set_xlabel("Test Data y", size=16) ax2.set_ylabel("Predicted y", size=16); -# sphinx_gallery_thumbnail_number = 2 \ No newline at end of file +# %% + +# Evaluate goodness of fit with RMSE +rmse_trn = root_mean_squared_error(y_trn[:,0],y_trn_approx["Y_eval"]) +print("The training RMSE in the PCE BCS approximation is %.2e"%rmse_trn) + +rmse_tst = root_mean_squared_error(y_tst[:,0],y_tst_approx["Y_eval"]) +print("The testing RMSE in the PCE BCS approximation is %.2e"%rmse_tst) + +# %% +# +# In these final RMSE calculations, we can see how our training RMSE has decreased from 1.80e-02 to 1.21e-02 by building with the most optimal eta. This indicates that our model has improved in generalization and is performing better on unseen data. Though our training error is still larger than our testing error, this can be attributed to the lack of noise in our testing data, while noise is present in our training data. While the optimal eta reduces overfitting and improves generalization, the noise in our training data still impacts the training error and remains an important consideration during our evaluation of the model performance. +# +# While this demonstration calls the cross-validation algorithm as a function outside of the PCE class, these methods have been implemented in PyTUQ through the PCE class. The example "Polynomial Chaos Expansion Construction" demonstrates how to call the eta optimization methods directly from the PCE class. diff --git a/examples/surrogates/ex_pce.py b/examples/surrogates/ex_pce.py index 68672f8..3a970a7 100644 --- a/examples/surrogates/ex_pce.py +++ b/examples/surrogates/ex_pce.py @@ -12,7 +12,7 @@ - Define basic parameters for the surrogate model - Use a sample function of :math:`\sin^4(x)` from the ``utils`` directory -- Set up a PCE surrogate model +- Set up a PCE surrogate model, with different regression options for build (lsq, anl, vi, bcs) - And evaluate the performance of your model """ @@ -20,13 +20,8 @@ import numpy as np import pytuq.utils.funcbank as fcb - from pytuq.surrogates.pce import PCE from pytuq.utils.maps import scale01ToDom -from pytuq.lreg.anl import anl -from pytuq.lreg.lreg import lsq -from pytuq.utils.mindex import get_mi - ######################################################## ######################################################## @@ -53,7 +48,7 @@ # Testing PCE class: -# (1) Construct polynomial chaos expansion +# (1) Construct polynomial chaos expansion by defining at least a stochastic dimensionality, polynomial order, and polynomial type. pce = PCE(dim, order, 'LU') # pce = PCE(dim, order, 'HG') # pce = PCE(dim, order, ['LU', 'HG']) # dim = 2 @@ -61,12 +56,25 @@ pce.set_training_data(x, y) -# (2) Pick method for linear regression object, defaulting to least squares regression -# print(pce.build(regression = 'anl')) -# print(pce.build(regression = 'anl', method = 'vi')) +# (2) Pick a linear regression method to build your surrogate model with. build() returns the coefficients of your PC model, +# and with no arguments, will default to least squares regression. print(pce.build()) + +# You may choose different regression options by specifying the correct argument: # print(pce.build(regression = 'lsq')) -# print(pce.build(regression = 'bcs')) +# print(pce.build(regression = 'anl')) +# print(pce.build(regression = 'anl', method = 'vi')) + +# For a BCS build, if the eta argument is given a list or an array, the optimum value will be chosen through cross-validation +# on a specified number of folds (nfolds, defaulting to 3). Setting the eta_plot argument to True generates a RMSE vs. eta plot +# of the cross-validation results. While this example does not necessarily benefit from building with BCS, the statements below +# demonstrate calling this functionality. + +# etas = 1/np.power(10,[i for i in range(0,16)]) # List of etas to pass in: [1e-16, 1e-15, ... , 1e-2, 1e-1, 1] +# cfs = pce.build(regression = 'bcs', eta = etas, nfolds = 2, eta_plot = True, eta_verbose = False) + +# To see an problem better suited to using a BCS build and to explore BCS in more detail, visit +# the example "Function Approximation with Sparse Regression". # (3) Make predictions for data points and print results: results = pce.evaluate(x) diff --git a/src/pytuq/surrogates/pce.py b/src/pytuq/surrogates/pce.py index b1af6c1..869c29e 100644 --- a/src/pytuq/surrogates/pce.py +++ b/src/pytuq/surrogates/pce.py @@ -1,8 +1,8 @@ #!/usr/bin/env python -"""This module provides a KLPC (Karhunen-Loeve and Polynomial Chaos) wrapper class to facilitate +"""This module provides a Polynomial Chaos Expansion (PCE) wrapper class to facilitate the universal coupling of FASTMath UQ tools and libraries. This class focuses on the use case - of surrogate models built with PCE and linear regression, keeping in mind + of PC surrogate models built with linear regression, keeping in mind flexibility to implement additional UQ functionalities in the future. The PCE class supports a minimal API, with methods to construct the model, build it with training data, @@ -16,6 +16,9 @@ """ import numpy as np +import math +import copy +from matplotlib import pyplot as plt from pytuq.rv.pcrv import PCRV from pytuq.utils.mindex import get_mi @@ -25,7 +28,7 @@ class PCE: - r"""A wrapper class to access KLPC functionalities for PCE surrogate models. + r"""A wrapper class to access PyTUQ functionalities for PCE surrogate models. Attributes: pcrv (PCRV object): Polynomial Chaos random variable object, encapsulates details for polynomial chaos expansion. @@ -34,7 +37,7 @@ class PCE: pctype (list[str]): Type of PC polynomial used. outdim (int): Physical dimensionality, i.e. # of output variables. lreg (lreg object): Linear regression object used for fitting the model. - mindex (int np.ndarray): Multiindex array carrying the powers to which the basis functions will be raised to within the PC terms. + mindex (int np.ndarray): Multiindex array carrying the powers to which the basis functions will be raised to within the PC terms. Reset when build() is called again. regression_method (str): Method used for linear regression. ex] anl, opt, lsq _x_train (np.ndarray): Input training data _y_train (np.ndarray): Output training data, corresponding to x_train @@ -110,6 +113,208 @@ def set_training_data(self, x_train, y_train): self._x_train = x_train self._y_train = y_train + + def get_pc_terms(self): + """Returns a list where each element represents the number of PC terms + in the corresponding dimension of the PCE. + + Returns: + list[int] + """ + + return [mi.shape[0] for mi in self.pcrv.mindices] + + + def kfold_split(self, nsamples, nfolds, seed=13): + """Return dictionary of training and testing pairs using k-fold cross-validation. + + Args: + nsamples (int): Total number of training samples. + nfolds (int): Number of folds to use for k-fold cross-validation. + seed (int, optional): Random seed for reproducibility. Defaults to 13. + + Returns: + dict: A dictionary where each key is the fold number (0 to nfolds-1) + and each value is a dictionary with: + - "train index" (np.ndarray): Indices of training samples. + - "val index" (np.ndarray): Indices of validation samples. + """ + # Returns split data where each data is one fold left out + KK = nfolds + rn = np.random.RandomState(seed) + + # Creating a random permutation of the samples indices list + indp=rn.permutation(nsamples) + + # Split the permuted indices into KK (or # folds) equal-sized chunks + split_index=np.array_split(indp,KK) + + # Dictionary to hold the indices of the training and validation samples + cvindices = {} + + # create testing and training folds + for j in range(KK): + # Iterating through the number of folds + fold = j + # Iterate through # folds, if i != fold number, + newindex = [split_index[i] for i in range(len(split_index)) if i != (fold)] + train_ind = np.array([],dtype='int64') + for i in range(len(newindex)): train_ind = np.concatenate((train_ind,newindex[i])) + test_ind = split_index[fold] + cvindices[j] = {'train index': train_ind, 'val index': test_ind} + + return cvindices + + + def kfold_cv(self, x, y, nfolds=3,seed=13): + """Splits data into training/testing pairs for kfold cross-val + x is a data matrix of size n x d1, d1 is dim of input + y is a data matrix of size n x d2, d2 is dim of output + + Args: + x (np.ndarray): Input matrix with shape (n, d1) or 1D array with shape (n,). Each row is a sample; columns are input features. + y (np.ndarray): Target array with shape (n,) for single-output, or (n, d2) for multi-output. If 1D, it is internally reshaped to (n, 1) before slicing; outputs are `np.squeeze`d per fold. + nfolds (int, optional): Number of folds for cross-validation. Defaults to 3. + seed (int, optional): Random seed for reproducible shuffling in `kfold_split`. Defaults to 13. + """ + + if len(x.shape)>1: + n,d1 = x.shape + else: + n=x.shape + ynew = np.atleast_2d(y) + if len(ynew) == 1: ynew = ynew.T # change to shape (n,1) + _,d2 = ynew.shape + cv_idx = self.kfold_split(n,nfolds,seed) + + kfold_data = {} + for k in cv_idx.keys(): + kfold_data[k] = { + 'xtrain': x[cv_idx[k]['train index']], + 'xval': x[cv_idx[k]['val index']], + 'ytrain': np.squeeze(ynew[cv_idx[k]['train index']]), + 'yval': np.squeeze(ynew[cv_idx[k]['val index']]) + } # use squeeze to return 1d array + + # set train and test to the same if 1 fold + if nfolds == 1: + kfold_data[k]['xtrain'] = kfold_data[k]['xval'] + kfold_data[k]['ytrain'] = kfold_data[k]['yval'] + + return kfold_data + + + def optimize_eta(self, etas, verbose=0, nfolds=3, plot=False): + """Choose the optimum eta for Bayesian compressive sensing. Calculates the RMSE for each eta for a specified number of folds. + Selects the eta with the lowest RMSE after averaging the RMSEs over the folds. + + Arg: + y: 1D numpy array (vector) with function, evaluated at the sample points [#samples,] + x: N-dimensional NumPy array with sample points [#samples, #dimensions] + etas: NumPy array or list with the threshold for stopping the algorithm. Smaller values retain more nonzero coefficients. + plot: Flag for whether to generate a plot for eta optimization + verbose: Flag for print statements during cross-validation + + Returns: + eta_opt: Optimum eta value to be used in BCS build + """ + # Split data in k folds -> Get dictionary of data split in training + testing folds + kfold_data = self.kfold_cv(self._x_train, self._y_train, nfolds) + + # Each value has data for 1 fold. Each value is a list of the RMSEs for each possible eta in the fold. + RMSE_list_per_fold_tr = [] + + # Same but for testing data + RMSE_list_per_fold_test = [] + + # Make a copy of the PCE object to run the cross-validation algorithm on + pce_copy = PCE(self.sdim, self.order, self.pctype, verbose=0) + + pce_copy.pcrv = copy.deepcopy(self.pcrv) # copying over self attributes + + # Loop through each fold + for i in range(nfolds): + + # Get the training and validation data + x_tr = kfold_data[i]['xtrain'] + y_tr = kfold_data[i]['ytrain'] + x_test = kfold_data[i]['xval'] + y_test = kfold_data[i]['yval'] + + # As we conduct BCS for this fold with each separate eta, the RMSEs will be added to these lists + RMSE_per_eta_tr = [] + RMSE_per_eta_test = [] + + # Set the x and y training data for the copied PCE object + pce_copy.set_training_data(x_tr, y_tr) + + # Loop through each eta + for eta in etas: + + # Conduct the BCS fitting. The object is automatically updated with new multiindex and coefficients received from the fitting. + cfs = pce_copy.build(regression = 'bcs', eta=eta) + + # Evaluate the PCE object at the training and validation points + y_tr_eval = (pce_copy.evaluate(x_tr))['Y_eval'] + y_test_eval = (pce_copy.evaluate(x_test))['Y_eval'] + + # Print statement for verbose flag + if verbose > 0: + print("Fold " + str(i + 1) + ", eta " + str(eta) + ", " + str(len(cfs)) + " terms retained out of a full basis of size " + str(len(pce_copy.pcrv.mindices[0]))) + + # Calculate the RMSEs for the training and validation points. + # Append the values into the list of etas per fold. + MSE = np.square(np.subtract(y_tr, y_tr_eval)).mean() + RMSE = math.sqrt(MSE) + RMSE_per_eta_tr.append(RMSE) + + MSE = np.square(np.subtract(y_test, y_test_eval)).mean() + RMSE = math.sqrt(MSE) + RMSE_per_eta_test.append(RMSE) + + # Now, append the fold's list of RMSEs for each eta into the list carrying the lists for all folds + RMSE_list_per_fold_tr.append(RMSE_per_eta_tr) + RMSE_list_per_fold_test.append(RMSE_per_eta_test) + + # After compiling the RMSE data for each eta from all the folds, we find the eta with the lowest validation RMSE to be our optimal eta. + # Compute the average and standard deviation of the training and testing RMSEs over the folds + avg_RMSE_tr = np.array(RMSE_list_per_fold_tr).mean(axis=0) + avg_RMSE_test = np.array(RMSE_list_per_fold_test).mean(axis=0) + + std_RMSE_tr = np.std(np.array(RMSE_list_per_fold_tr), axis=0) + std_RMSE_test = np.std(np.array(RMSE_list_per_fold_test), axis=0) + + # Choose the eta with lowest RMSE across all folds' testing data + eta_opt = etas[np.argmin(avg_RMSE_test)] + + # Plot RMSE vs. eta for training and testing RMSE + if plot: + + fig, ax = plt.subplots(figsize=(10,10)) + + plt.errorbar(etas, avg_RMSE_tr, xerr=None, yerr=std_RMSE_tr, linewidth=2, markersize=8, capsize=8, label=('Training')) + plt.errorbar(etas, avg_RMSE_test, xerr=None, yerr=std_RMSE_test, linewidth=2, markersize=8, capsize=8, label=('Validation')) + + plt.plot(eta_opt, np.min(avg_RMSE_test), marker="o", markersize=15, color='black', label=("Optimum")) + + plt.xlabel("Eta",fontsize=20) + plt.ylabel("RMSE",fontsize=20) + + # Change size of tick labels + plt.tick_params(axis='both', labelsize=16) + + plt.xscale('log') + plt.yscale('log') + + # Create legend + plt.legend(loc='upper left') + + # Save + plt.savefig('eta_opt.pdf', format='pdf', dpi=1200) + + return eta_opt + + def build(self, **kwargs): """Builds and initializes the linear regression model for the pcrv object with training data. Returns coefficients for evaluated Polynomial Chaos Expansion. @@ -155,7 +360,14 @@ def build(self, **kwargs): else: self.lreg = anl(datavar=kwargs.get('datavar'), prior_var=kwargs.get('prior_var'), cov_nugget=kwargs.get('cov_nugget', 0.0)) elif regression == 'bcs': - self.lreg = bcs(eta=kwargs.get('eta', 1.e-8), datavar_init=kwargs.get('datavar_init')) + eta = kwargs.get('eta', 1.e-8) + if (isinstance(eta, list) and not any(isinstance(eta, list) for item in eta)) or (isinstance(eta, np.ndarray) and eta.ndim == 1): + opt_eta = self.optimize_eta(eta, nfolds=kwargs.get('nfolds', 3), verbose=kwargs.get('eta_verbose', False), plot=kwargs.get('eta_plot', False)) + self.lreg = bcs(eta=opt_eta, datavar_init=kwargs.get('datavar_init')) + elif isinstance(eta, float) and eta > 0: + self.lreg = bcs(eta=eta, datavar_init=kwargs.get('datavar_init')) + else: + raise ValueError("You may provide either a positive float (defaulting to 1.e-8) or 1D list/numpy array for the value of eta. If a list/numpy array is provided, the most optimal eta from the array will be chosen.") else: raise ValueError(f"Regression method '{regression}' is not recognized and/or supported yet.")