From 97c5de13355b4f59e9347535e75188d2e1f169cb Mon Sep 17 00:00:00 2001 From: jejjohnson Date: Tue, 6 Oct 2020 17:45:49 +0200 Subject: [PATCH 1/4] Started slimming. --- Makefile | 2 +- docs/density.md | 1 + docs/notebooks/information_theory.md.tmp | 776 ------------- docs/notebooks/innf_demo.md.tmp | 620 ---------- docs/notebooks/rbig_demo.md.tmp | 960 --------------- docs/notebooks/rbig_walkthrough.md.tmp | 274 ----- docs/notebooks/test.md.tmp | 740 ------------ mkdocs.yml | 8 +- notebooks/rbig_demo.ipynb | 85 +- rbig/__init__.py | 1 - rbig/density.py | 158 +++ rbig/information/kld.py | 164 ++- rbig/information/total_corr.py | 1 + rbig/{model/_rbig.py => model.py} | 367 +++--- rbig/model/__init__.py | 6 - rbig/rbig.py | 1358 ---------------------- rbig/transform/gaussian.py | 11 +- rbig/transform/kde.py | 16 +- rbig/transform/uniform.py | 8 +- rbig/{utils/__init__.py => utils.py} | 69 +- 20 files changed, 610 insertions(+), 5015 deletions(-) create mode 100644 docs/density.md delete mode 100644 docs/notebooks/information_theory.md.tmp delete mode 100644 docs/notebooks/innf_demo.md.tmp delete mode 100644 docs/notebooks/rbig_demo.md.tmp delete mode 100644 docs/notebooks/rbig_walkthrough.md.tmp delete mode 100644 docs/notebooks/test.md.tmp create mode 100644 rbig/density.py rename rbig/{model/_rbig.py => model.py} (61%) delete mode 100644 rbig/model/__init__.py delete mode 100644 rbig/rbig.py rename rbig/{utils/__init__.py => utils.py} (76%) diff --git a/Makefile b/Makefile index 1c531eb..030a631 100644 --- a/Makefile +++ b/Makefile @@ -39,7 +39,7 @@ docs-live: ## Build mkdocs documentation live @printf "\033[1;34mStarting live docs with mkdocs...\033[0m\n" mkdocs serve --dev-addr $(HOST):$(PORT) --theme material -docs-live-d: ## Build mkdocs documentation live (quicker reload) +docs-live-d: notebooks_to_docs ## Build mkdocs documentation live (quicker reload) @printf "\033[1;34mStarting live docs with mkdocs...\033[0m\n" mkdocs serve --dev-addr $(HOST):$(PORT) --dirtyreload --theme material diff --git a/docs/density.md b/docs/density.md new file mode 100644 index 0000000..06f3b7b --- /dev/null +++ b/docs/density.md @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/notebooks/information_theory.md.tmp b/docs/notebooks/information_theory.md.tmp deleted file mode 100644 index f70f570..0000000 --- a/docs/notebooks/information_theory.md.tmp +++ /dev/null @@ -1,776 +0,0 @@ - - - - -
-
-
-# Information Theory Measures w/ RBIG -
-
-
-
-
- -```python -import sys - -# MacOS -sys.path.insert(0, '/Users/eman/Documents/code_projects/rbig/') -sys.path.insert(0, '/home/emmanuel/code/py_packages/py_rbig/src') - -# ERC server -sys.path.insert(0, '/home/emmanuel/code/rbig/') - - -import numpy as np -import warnings -from time import time -from rbig.rbig import RBIGKLD, RBIG, RBIGMI, entropy_marginal -from sklearn.model_selection import train_test_split -from sklearn.utils import check_random_state -import matplotlib.pyplot as plt -plt.style.use('ggplot') -%matplotlib inline - -warnings.filterwarnings('ignore') # get rid of annoying warnings - -%load_ext autoreload -%autoreload 2 -``` - -
- -
-
-
-
---- -## Total Correlation -
-
-
-
-
- -```python -#Parameters -n_samples = 10000 -d_dimensions = 10 - -seed = 123 - -rng = check_random_state(seed) -``` - -
- -
-
-
-
-#### Sample Data -
-
-
-
-
- -```python -# Generate random normal data -data_original = rng.randn(n_samples, d_dimensions) - -# Generate random Data -A = rng.rand(d_dimensions, d_dimensions) - -data = data_original @ A - -# covariance matrix -C = A.T @ A -vv = np.diag(C) -``` - -
- -
-
-
-
-#### Calculate Total Correlation -
-
-
-
-
- -```python -tc_original = np.log(np.sqrt(vv)).sum() - 0.5 * np.log(np.linalg.det(C)) - -print(f"TC: {tc_original:.4f}") -``` - -
- -
-
- - -
-
-
TC: 9.9326
-
-
-
- -
-
- -
-
-
-
-### RBIG - TC -
-
-
-
-
- -```python -%%time -n_layers = 10000 -rotation_type = 'PCA' -random_state = 0 -zero_tolerance = 60 -pdf_extension = 10 -pdf_resolution = None -tolerance = None - -# Initialize RBIG class -tc_rbig_model = RBIG(n_layers=n_layers, - rotation_type=rotation_type, - random_state=random_state, - zero_tolerance=zero_tolerance, - tolerance=tolerance, - pdf_extension=pdf_extension, - pdf_resolution=pdf_resolution) - -# fit model to the data -tc_rbig_model.fit(data); -``` - -
- -
-
- - -
-
-
CPU times: user 1min 19s, sys: 64.4 ms, total: 1min 19s
-Wall time: 3.01 s
-
-
-
- -
-
- -
-
-
- -```python -tc_rbig = tc_rbig_model.mutual_information * np.log(2) -print(f"TC (RBIG): {tc_rbig:.4f}") -print(f"TC: {tc_original:.4f}") -``` - -
- -
-
- - -
-
-
TC (RBIG): 9.9398
-TC: 9.9326
-
-
-
- -
-
- -
-
-
-
---- -## Entropy -
-
-
-
-
-
-#### Sample Data -
-
-
-
-
- -```python -#Parameters -n_samples = 5000 -d_dimensions = 10 - -seed = 123 - -rng = check_random_state(seed) - -# Generate random normal data -data_original = rng.randn(n_samples, d_dimensions) - -# Generate random Data -A = rng.rand(d_dimensions, d_dimensions) - -data = data_original @ A - -``` - -
- -
-
-
-
-#### Calculate Entropy -
-
-
-
-
- -```python -Hx = entropy_marginal(data) - -H_original = Hx.sum() + np.log2(np.abs(np.linalg.det(A))) - -H_original *= np.log(2) - -print(f"H: {H_original:.4f}") -``` - -
- -
-
- - -
-
-
H: 16.4355
-
-
-
- -
-
- -
-
-
-
-### Entropy RBIG -
-
-
-
-
- -```python -%%time -n_layers = 10000 -rotation_type = 'PCA' -random_state = 0 -zero_tolerance = 60 -pdf_extension = None -pdf_resolution = None -tolerance = None - -# Initialize RBIG class -ent_rbig_model = RBIG(n_layers=n_layers, - rotation_type=rotation_type, - random_state=random_state, - zero_tolerance=zero_tolerance, - tolerance=tolerance) - -# fit model to the data -ent_rbig_model.fit(data); -``` - -
- -
-
- - -
-
-
CPU times: user 53.1 s, sys: 9.81 ms, total: 53.1 s
-Wall time: 1.9 s
-
-
-
- -
-
- -
-
-
- -```python -H_rbig = ent_rbig_model.entropy(correction=True) * np.log(2) -print(f"Entropy (RBIG): {H_rbig:.4f}") -print(f"Entropy: {H_original:.4f}") -``` - -
- -
-
- - -
-
-
Entropy (RBIG): 10.6551
-Entropy: 16.4355
-
-
-
- -
-
- -
-
-
-
---- -## Mutual Information -
-
-
-
-
-
-#### Sample Data -
-
-
-
-
- -```python -#Parameters -n_samples = 10000 -d_dimensions = 10 - -seed = 123 - -rng = check_random_state(seed) - -# Generate random Data -A = rng.rand(2 * d_dimensions, 2 * d_dimensions) - -# Covariance Matrix -C = A @ A.T -mu = np.zeros((2 * d_dimensions)) - -dat_all = rng.multivariate_normal(mu, C, n_samples) - -CX = C[:d_dimensions, :d_dimensions] -CY = C[d_dimensions:, d_dimensions:] - -X = dat_all[:, :d_dimensions] -Y = dat_all[:, d_dimensions:] -``` - -
- -
-
-
-
-#### Calculate Mutual Information -
-
-
-
-
- -```python -H_X = 0.5 * np.log(2 * np.pi * np.exp(1) * np.abs(np.linalg.det(CX))) -H_Y = 0.5 * np.log(2 * np.pi * np.exp(1) * np.abs(np.linalg.det(CY))) -H = 0.5 * np.log(2 * np.pi * np.exp(1) * np.abs(np.linalg.det(C))) - -mi_original = H_X + H_Y - H -mi_original *= np.log(2) - -print(f"MI: {mi_original:.4f}") -``` - -
- -
-
- - -
-
-
MI: 8.0713
-
-
-
- -
-
- -
-
-
-
-### RBIG - Mutual Information -
-
-
-
-
- -```python -%%time -n_layers = 10000 -rotation_type = 'PCA' -random_state = 0 -zero_tolerance = 60 -tolerance = None - -# Initialize RBIG class -rbig_model = RBIGMI(n_layers=n_layers, - rotation_type=rotation_type, - random_state=random_state, - zero_tolerance=zero_tolerance, - tolerance=tolerance) - -# fit model to the data -rbig_model.fit(X, Y); -``` - -
- -
-
- - -
-
-
CPU times: user 5min 37s, sys: 103 ms, total: 5min 38s
-Wall time: 12.1 s
-
-
-
- -
-
- -
-
-
- -```python -H_rbig = rbig_model.mutual_information() * np.log(2) - -print(f"MI (RBIG): {H_rbig:.4f}") -print(f"MI: {mi_original:.4f}") -``` - -
- -
-
- - -
-
-
MI (RBIG): 9.0746
-MI: 8.0713
-
-
-
- -
-
- -
-
-
-
---- -## Kullback-Leibler Divergence (KLD) -
-
-
-
-
-
-#### Sample Data -
-
-
-
-
- -```python -#Parameters -n_samples = 10000 -d_dimensions = 10 -mu = 0.4 # how different the distributions are - -seed = 123 - -rng = check_random_state(seed) - -# Generate random Data -A = rng.rand(d_dimensions, d_dimensions) - -# covariance matrix -cov = A @ A.T - -# Normalize cov mat -cov = A / A.max() - -# create covariance matrices for x and y -cov_x = np.eye(d_dimensions) -cov_y = cov_x.copy() - -mu_x = np.zeros(d_dimensions) + mu -mu_y = np.zeros(d_dimensions) - -# generate multivariate gaussian data -X = rng.multivariate_normal(mu_x, cov_x, n_samples) -Y = rng.multivariate_normal(mu_y, cov_y, n_samples) - -``` - -
- -
-
-
-
-#### Calculate KLD -
-
-
-
-
- -```python -kld_original = 0.5 * ((mu_y - mu_x) @ np.linalg.inv(cov_y) @ (mu_y - mu_x).T + - np.trace(np.linalg.inv(cov_y) @ cov_x) - - np.log(np.linalg.det(cov_x) / np.linalg.det(cov_y)) - d_dimensions) - -print(f'KLD: {kld_original:.4f}') -``` - -
- -
-
- - -
-
-
KLD: 0.8000
-
-
-
- -
-
- -
-
-
-
-### RBIG - KLD -
-
-
-
-
- -```python -X.min(), X.max() -``` - -
- -
-
- - -
- - -
-
(-4.006934109277744, 4.585027222023813)
-
- -
- -
-
- -
-
-
- -```python -Y.min(), Y.max() -``` - -
- -
-
- - -
- - -
-
(-4.607129910785054, 4.299322691460413)
-
- -
- -
-
- -
-
-
- -```python -%%time - -n_layers = 100000 -rotation_type = 'PCA' -random_state = 0 -zero_tolerance = 60 -tolerance = None -pdf_extension = 10 -pdf_resolution = None -verbose = 0 - -# Initialize RBIG class -kld_rbig_model = RBIGKLD(n_layers=n_layers, - rotation_type=rotation_type, - random_state=random_state, - zero_tolerance=zero_tolerance, - tolerance=tolerance, - pdf_resolution=pdf_resolution, - pdf_extension=pdf_extension, - verbose=verbose) - -# fit model to the data -kld_rbig_model.fit(X, Y); -``` - -
- -
-
- - -
-
-
CPU times: user 5min 46s, sys: 10.9 ms, total: 5min 46s
-Wall time: 12.4 s
-
-
-
- -
-
- -
-
-
- -```python -# Save KLD value to data structure -kld_rbig= kld_rbig_model.kld*np.log(2) - -print(f'KLD (RBIG): {kld_rbig:.4f}') -print(f'KLD: {kld_original:.4f}') -``` - -
- -
-
- - -
-
-
KLD (RBIG): 0.8349
-KLD: 0.8000
-
-
-
- -
-
- -
-
-
- -```python - -``` - -
- -
- - diff --git a/docs/notebooks/innf_demo.md.tmp b/docs/notebooks/innf_demo.md.tmp deleted file mode 100644 index 60e2a46..0000000 --- a/docs/notebooks/innf_demo.md.tmp +++ /dev/null @@ -1,620 +0,0 @@ - - - - -
-
- -```python -import sys -sys.path.append('/home/emmanuel/code/rbig') -sys.path.append('/home/emmanuel/code/destructive-deep-learning') - -figsave_path = '/home/emmanuel/projects/2019_rbig_info/reports/figures/invertible_flows/' - -import numpy as np -import seaborn as sns - -from rbig.rbig import RBIGKLD, RBIG, RBIGMI, entropy_marginal -from ddl.datasets import make_toy_data -import matplotlib.pyplot as plt -from scipy import stats -plt.style.use('seaborn') -sns.set_style({ - 'axes.axisbelow': False, - 'xtick.bottom': False, - 'axes.spines.left': False, - 'axes.spines.bottom': False, -}) -%matplotlib inline -%load_ext autoreload -%autoreload 2 -``` - -
- -
-
-
-
-## Data -
-
-
-
-
- -```python -seed = 123 -rng = np.random.RandomState(seed=seed) - -dataset = 'rbig_sin_wave' -n_samples = 10000 - -dat = make_toy_data(dataset, n_samples, seed) - -X, y = dat.X, dat.y -``` - -
- -
-
-
- -```python -fig, ax = plt.subplots(figsize=(5, 5)) -ax.scatter(X[:, 0], X[:, 1], s=1, c='red') -plt.tick_params( - axis='both', # changes apply to the x-axis - which='both', # both major and minor ticks are affected - bottom=False, # ticks along the bottom edge are off - left=False, - top=False, # ticks along the top edge are off - labelbottom=False, - labelleft=False) # labels along the bottom edge are off -plt.tight_layout() -xlims, ylims = plt.xlim(), plt.ylim() -plt.show() -# fig.savefig(f"{figsave_path}/original.png") -# print(ax.xlim) -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
- -```python -# sns.set_style("dark") -# sns.despine() -fig = plt.figure(figsize=(5, 5)) - -g = sns.jointplot(x=X[:, 0], y=X[:, 1], kind='hex', color='red') -g.ax_joint.set_xticks([]) -g.ax_joint.set_yticks([]) -# # sns.despine() -# sns.set_style("ticks", -# { -# 'bottom': False, -# 'axis': 'both', -# 'which': 'both', -# 'labelbottom': False, -# 'labelleft': False, -# 'left': False, -# 'top': False, -# 'xticks': [] -# }) -# plt.axis('off') -# plt.show() -plt.tight_layout() -g.savefig(f"{figsave_path}/rbig_0_data.png", transparent=True) -``` - -
- -
-
- - -
- - -
-
<Figure size 360x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
-
- -
-
-
-
-### RBIG Algorithm - 1 Layer (for Demonstration) -
-
-
-
-
- -```python -n_layers = 1 -rotation_type = 'PCA' -random_state = 123 -zero_tolerance = 100 -base = 'gauss' - -# Initialize RBIG class -rbig_model = RBIG(n_layers=n_layers, rotation_type=rotation_type, - random_state=random_state, zero_tolerance=zero_tolerance, base=base) - -# fit model to the data -rbig_model.fit(X); -``` - -
- -
-
-
-
-#### Step I - Marginal Gaussianization -
-
-
-
-
- -```python -fig = plt.figure(figsize=(5, 5)) - -mg_data = rbig_model.gauss_data @ rbig_model.rotation_matrix[0].T - -g = sns.jointplot(x=mg_data[:, 0], y=mg_data[:, 1], kind='hex', color='red') -g.ax_joint.set_xticks([]) -g.ax_joint.set_yticks([]) -plt.tight_layout() -g.savefig(f"{figsave_path}/rbig_1_mg.png", transparent=True) -``` - -
- -
-
- - -
- - -
-
<Figure size 360x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
-
- -
-
-
-
-#### Step II - Rotation -
-
-
-
-
- -```python -fig = plt.figure(figsize=(5, 5)) - -g = sns.jointplot( - x=rbig_model.gauss_data[:, 0], - y=rbig_model.gauss_data[:, 1], - kind='hex', color='red' -) -g.ax_joint.set_xticks([]) -g.ax_joint.set_yticks([]) -plt.tight_layout() -g.savefig(f"{figsave_path}/rbig_2_rotation.png", transparent=True) -``` - -
- -
-
- - -
- - -
-
<Figure size 360x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
-
- -
-
-
-
-## RBIG Algorithms - 2,3,4,5 Layers -
-
-
-
-
- -```python -n_layers = [1, 2, 3, 4, 5, 6] -rotation_type = 'PCA' -random_state = 123 -zero_tolerance = 100 -base = 'gauss' - -for ilayer in n_layers: - # Initialize RBIG class - rbig_model = RBIG(n_layers=ilayer, rotation_type=rotation_type, - random_state=random_state, zero_tolerance=zero_tolerance, base=base) - - # fit model to the data - rbig_model.fit(X); - - # transform data - data_trans = rbig_model.transform(X) - - # Plot Layer - plot_gauss_layer(data_trans, ilayer) -``` - -
- -
-
- - -
- - -
-
<Figure size 360x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
- - -
-
<Figure size 360x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
- - -
-
<Figure size 360x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
- - -
-
<Figure size 360x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
- - -
-
<Figure size 360x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
- - -
-
<Figure size 360x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
-
- -
-
-
- -```python -def plot_gauss_layer(data, layer): - fig = plt.figure(figsize=(5, 5)) - - g = sns.jointplot( - x=data[:, 0], - y=data[:, 1], - kind='hex', - color='red' - ) - g.ax_joint.set_xticks([]) - g.ax_joint.set_yticks([]) - plt.tight_layout() - g.savefig(f"{figsave_path}/rbig_l{layer}_gaussian.png", transparent=True) -``` - -
- -
-
-
-
-### Full RBIG Algorithm -
-
-
-
-
- -```python -n_layers = 1000 -rotation_type = 'PCA' -random_state = 123 -zero_tolerance = 100 -base = 'gauss' - -# Initialize RBIG class -rbig_model = RBIG(n_layers=n_layers, rotation_type=rotation_type, - random_state=random_state, zero_tolerance=zero_tolerance, base=base) - -# fit model to the data -rbig_model.fit(X); -``` - -
- -
-
-
- -```python -# transform data -data_trans = rbig_model.transform(X) - -fig = plt.figure(figsize=(5, 5)) - -g = sns.jointplot( - x=data_trans[:, 0], - y=data_trans[:, 1], - kind='hex', - color='red' -) -g.ax_joint.set_xticks([]) -g.ax_joint.set_yticks([]) -plt.tight_layout() -g.savefig(f"{figsave_path}/rbig_l_gaussian.png", transparent=True) -``` - -
- -
-
- - -
- - -
-
<Figure size 360x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
-
- -
-
-
- -```python -rbig_model.n_layers -``` - -
- -
-
- - -
- - -
-
64
-
- -
- -
-
- -
-
-
- -```python - -``` - -
- -
- - diff --git a/docs/notebooks/rbig_demo.md.tmp b/docs/notebooks/rbig_demo.md.tmp deleted file mode 100644 index 8c88823..0000000 --- a/docs/notebooks/rbig_demo.md.tmp +++ /dev/null @@ -1,960 +0,0 @@ - - - - -
-
-
-# RBIG Demo -
-
-
-
-
- -```python -import sys -sys.path.insert(0, '/home/emmanuel/code/py_packages/rbig/') -sys.path.insert(0, '/home/emmanuel/code/rbig/') -sys.path.insert(0, '/Users/eman/Documents/code_projects/rbig/') - -import numpy as np -import warnings -from time import time -from rbig.rbig import RBIG, entropy -# from rbig.model import RBIG -from sklearn.model_selection import train_test_split -from sklearn.utils import check_random_state -import matplotlib.pyplot as plt -plt.style.use('ggplot') -warnings.filterwarnings('ignore') # get rid of annoying warnings - -%matplotlib inline -%load_ext autoreload -%autoreload 2 -``` - -
- -
-
- - -
-
-
The autoreload extension is already loaded. To reload it, use:
-  %reload_ext autoreload
-
-
-
- -
-
- -
-
-
-
-#### Toy Data -
-
-
-
-
- -```python -seed = 123 -rng = np.random.RandomState(seed=seed) - -num_samples = 10_000 -x = np.abs(2 * rng.randn(1, num_samples)) -y = np.sin(x) + 0.25 * rng.randn(1, num_samples) -data = np.vstack((x, y)).T - -fig, ax = plt.subplots() -ax.scatter(data[:, 0], data[:, 1], s=1) -ax.set_xlabel('X') -ax.set_ylabel('Y') -ax.set_title('Original Data') -plt.show() -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
-
-## RBIG Fitting -
-
-
-
-
- -```python -%%time - -n_layers = 1000 -rotation_type = 'pca' -random_state = 123 -zero_tolerance = 10 - -# Initialize RBIG class -rbig_model = RBIG(n_layers=n_layers, rotation_type=rotation_type, - random_state=random_state, zero_tolerance=zero_tolerance) - -# transform data -data_trans = rbig_model.fit_transform(data) -``` - -
- -
-
- - -
-
-
CPU times: user 932 ms, sys: 43.2 ms, total: 975 ms
-Wall time: 335 ms
-
-
-
- -
-
- -
-
-
-
-### Transform Data into Gaussian -
-
-
-
-
- -```python - -``` - -
- -
-
-
- -```python - -print(data_trans.shape) -fig, ax = plt.subplots() -ax.scatter(data_trans[:, 0], data_trans[:, 1], s=1) -ax.set_xlabel('X') -ax.set_ylabel('Y') -ax.set_title('Data after RBIG Transformation') -plt.show() -``` - -
- -
-
- - -
-
-
(10000, 2)
-
-
-
- -
- - -
- -
- -
- -
-
- -
-
-
-
-### Invertible -
-
-
-
-
- -```python -%%time -# transform data -data_approx = rbig_model.inverse_transform(data_trans) - -# check approximation -np.testing.assert_array_almost_equal(data, data_approx) -``` - -
- -
-
- - -
-
-
CPU times: user 1.86 ms, sys: 9 µs, total: 1.87 ms
-Wall time: 1.62 ms
-
-
-
- -
-
- -
-
-
-
-#### Check Residuals -
-
-
-
-
- -```python -data_approx = rbig_model.inverse_transform(data_trans) -residual = np.abs(data - data_approx).sum().sum() - -print(f'Residual from Original and Transformed: {residual:.2e}') -``` - -
- -
-
- - -
-
-
Residual from Original and Transformed: 0.00e+00
-
-
-
- -
-
- -
-
-
- -```python -fig, ax = plt.subplots() -ax.scatter(data_approx[:, 0], data_trans[:, 1], s=1) -ax.set_xlabel('X') -ax.set_ylabel('Y') -ax.set_title('Inverse Transformation') -plt.show() -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
-
-### Information Reduction -
-
-
-
-
- -```python -residual_info = rbig_model.residual_info - -fig, ax = plt.subplots() -ax.plot(np.cumsum(rbig_model.residual_info)) -ax.set_title('Information Reduction') -plt.show() -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
-
-### Generated Synthetic Data -
-
-
-
-
- -```python -data_synthetic = rng.randn(data.shape[0], data.shape[1]) - -fig, ax = plt.subplots() -ax.scatter(data_synthetic[:, 0], data_synthetic[:, 1], s=1) -ax.set_xlabel('X') -ax.set_ylabel('Y') -ax.set_title('Synthetically generated factorial gaussian data') -plt.show() -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
-
-### Synthesize New Data from RBIG Model -
-
-
-
-
- -```python -data_original_synthetic = rbig_model.inverse_transform(data_synthetic) - -fig, ax = plt.subplots() -ax.scatter(data_original_synthetic[:, 0], data_original_synthetic[:, 1], s=1) -# ax.scatter(data[:, 0], data[:, 1], s=1) - -ax.set_ylim([-1.5, 2.0]) -ax.set_xlim([0.0, 9.0]) -ax.set_xlabel('X') -ax.set_ylabel('Y') -ax.set_title('Synthetically generated data from the input distribution') -plt.show() -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
-
-### Jacobian -
-
-
-
-
- -```python -%%time - -jacobian = rbig_model.jacobian(data, return_X_transform=False) - -print(jacobian.shape) - -print(f"Jacobian - min: {jacobian.min():.3e}, max: {jacobian.max():.3e}") -``` - -
- -
-
- - -
-
-
(10000, 2, 2)
-Jacobian - min: 0.000e+00, max: 1.000e+00
-CPU times: user 922 µs, sys: 1.02 ms, total: 1.94 ms
-Wall time: 1.58 ms
-
-
-
- -
-
- -
-
-
-
-### Estimating Probabilities with RBIG -
-
-
-
-
- -```python -%%time -prob_input, prob_gauss = rbig_model.predict_proba(data, domain='both', n_trials=1) -print(f"Prob Input Domain - min: {prob_input.min():.3e}, max: {prob_input.max():.3e}") -print(f"Prob Gauss Domain - min: {prob_gauss.min():.3e}, max: {prob_gauss.max():.3e}") -print(f"Det:: {rbig_model.det_jacobians:.3e}") -``` - -
- -
-
- - -
-
-
Prob Input Domain - min: 2.713e-16, max: 1.588e-01
-Prob Gauss Domain - min: 2.713e-16, max: 1.588e-01
-Det:: 1.000e+00
-CPU times: user 6.96 ms, sys: 929 µs, total: 7.89 ms
-Wall time: 6.88 ms
-
-
-
- -
-
- -
-
-
-
-### Original Data with Probabilities -
-
-
-
-
- -```python -fig, ax = plt.subplots() -ax.hist(prob_input, 50, facecolor='green', alpha=0.75) -plt.show() -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
- -```python -fig, ax = plt.subplots() - -h = ax.scatter(data[:, 0], data[:, 1], s=1, c=prob_input, cmap='Reds') - -ax.set_xlabel('X') -ax.set_ylabel('Y') -cbar = plt.colorbar(h, ) -ax.set_title('Original Data w/ Probabilities') -plt.show() -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
-
-### Probability in Gaussian Domain -
-
-
-
-
- -```python -# Plot the probability of the data in the Gaussian Domain -fig, ax = plt.subplots() - -n, bins, patches = ax.hist(prob_gauss, 50, facecolor='green', alpha=0.75) -ax.set_title('Probability in Gaussian domain.') -plt.show() -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
- -```python -# Plot the Probabilities of the data using colors -fig, ax = plt.subplots() -g = ax.scatter(data_trans[:, 0], data_trans[:, 1], - s=1, c=prob_gauss) -ax.set_xlabel('X') -ax.set_ylabel('Y') -ax.set_title('Data after RBIG transform w/ Probabilities') -plt.colorbar(g) -plt.show() -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
-
-## Benchmarks -
-
-
-
-
- -```python -data = np.random.randn(100_000, 100) -``` - -
- -
-
-
- -```python -%%time - -n_layers = 1000 -rotation_type = 'pca' -random_state = 123 -zero_tolerance = 10 - -# Initialize RBIG class -rbig_model = RBIG( - n_layers=n_layers, - rotation_type=rotation_type, - random_state=random_state, - zero_tolerance=zero_tolerance, - pdf_resolution=50, -) - -# transform data -data_trans = rbig_model.fit_transform(data) -``` - -
- -
-
- - -
-
-
CPU times: user 1min 59s, sys: 28.2 s, total: 2min 28s
-Wall time: 31.6 s
-
-
-
- -
-
- -
-
-
- -```python -rbig_model.n_layers -``` - -
- -
-
- - -
- - -
-
0
-
- -
- -
-
- -
-
-
- -```python -from rbig.model import RBIG as RBIG11 -``` - -
- -
-
-
- -```python -%%time -n_layers = 1000 -rotation_type = 'pca' -random_state = 123 -zero_tolerance = 60 -verbose=0 -method = 'custom' - -# Initialize RBIG class -rbig_model = RBIG11( - n_layers=n_layers, - rotation_type=rotation_type, - random_state=random_state, - zero_tolerance=zero_tolerance, - verbose=verbose, - method=method, - pdf_resolution=50, -) - -# transform data -data_trans = rbig_model.fit_transform(data) -``` - -
- -
-
- - -
-
-
CPU times: user 8min 13s, sys: 1min 25s, total: 9min 38s
-Wall time: 1min 58s
-
-
-
- -
-
- -
-
-
- -```python -residual_info = rbig_model.residual_info -plt. -``` - -
- -
-
-
- -```python -%%time - -data_inverted = rbig_model.inverse_transform(data_trans) -``` - -
- -
-
- - -
-
-
CPU times: user 4min 10s, sys: 29.9 s, total: 4min 40s
-Wall time: 32.4 s
-
-
-
- -
-
- -
-
-
- -```python -%%time -prob_input, prob_gauss = rbig_model.predict_proba(data, domain='both', n_trials=1) -``` - -
- -
-
- - -
-
-
----------------------------------------------------------------------------
-KeyboardInterrupt                         Traceback (most recent call last)
-<timed exec> in <module>
-
-~/code/rbig/rbig/rbig.py in predict_proba(self, X, n_trials, chunksize, domain)
-    540             #     data_aux[start_idx:end_idx, :], return_X_transform=True
-    541             # )
---> 542             jacobians, data_temp = self.jacobian(data_aux, return_X_transform=True)
-    543             # set all nans to zero
-    544             jacobians[np.isnan(jacobians)] = 0.0
-
-~/code/rbig/rbig/rbig.py in jacobian(self, X, return_X_transform)
-    471                 for ilayer in range(self.n_layers):
-    472 
---> 473                     XX = np.dot(
-    474                         gaussian_pdf[:, :, ilayer] * XX, self.rotation_matrix[ilayer]
-    475                     )
-
-<__array_function__ internals> in dot(*args, **kwargs)
-
-KeyboardInterrupt: 
-
-
- -
-
- -
-
-
- -```python -plt.plot(np.cumsum(rbig_model.residual_info)) -``` - -
- -
-
- - -
- - -
-
[<matplotlib.lines.Line2D at 0x7f6119463d00>]
-
- -
- -
- - -
- -
- -
- -
-
- -
-
-
- -```python - -``` - -
- -
- - diff --git a/docs/notebooks/rbig_walkthrough.md.tmp b/docs/notebooks/rbig_walkthrough.md.tmp deleted file mode 100644 index dc92bbe..0000000 --- a/docs/notebooks/rbig_walkthrough.md.tmp +++ /dev/null @@ -1,274 +0,0 @@ - - - - -
-
-
-# RBIG Walk-Through (Naive) -
-
-
-
-
-
-This is a quick tutorial to show how the RBIG algorithm itself can be implemented very simply using standard scikit-learn tools. It consists of the following two steps 1) marginal Gaussianization and 2) rotation. -
-
-
-
-
- -```python -import numpy as np -import warnings -from sklearn.preprocessing import QuantileTransformer -from sklearn.decomposition import PCA -from scipy.stats import rv_histogram, norm -import pandas as pd -import seaborn as sns - -import sys -sys.path.insert(0, '/Users/eman/Documents/code_projects/rbig/') -from rbig import RBIG - -import matplotlib.pyplot as plt -plt.style.use('ggplot') -warnings.filterwarnings('ignore') # get rid of annoying warnings - -%matplotlib inline -%load_ext autoreload -%autoreload 2 -``` - -
- -
-
-
- -```python -# Helper Plot Function -def plot_2d_joint(data, savename=None): - fig = plt.figure(figsize=(12, 5)) - - g = sns.jointplot(x=data[:, 0], y=data[:, 1], kind='scatter', color='blue', alpha=0.1) - g.ax_joint.set_xticks([]) - g.ax_joint.set_yticks([]) - plt.tight_layout() - if savename: - g.savefig(f"{savename}/rbig_0_data.png", transparent=True) - plt.show() - return None -``` - -
- -
-
-
-
-## Data -
-
-
-
-
- -```python -seed = 123 -rng = np.random.RandomState(seed=seed) - -num_samples = 10000 -x = np.abs(2 * rng.randn(1, num_samples)) -y = np.sin(x) + 0.25 * rng.randn(1, num_samples) -data = np.vstack((x, y)).T - -d_dimensions = data.shape[1] - -plot_2d_joint(data) -``` - -
- -
-
- - -
- - -
-
<Figure size 864x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
-
- -
-
-
-
-## Step I - Marginal Gaussianization -
-
-
-
-
-
-In this tutorial, for simplicity, I will use the quantile transformer found in the sklearn library. This transformer does an estimate of the CDF for each feature independently. Then the values are mapped to the Guassian distribution from the learned CDF function. -
-
-
-
-
- -```python -n_quantiles = 1000 -output_distribution = 'normal' -random_state = 123 -subsample = 2000 - -# Quantile Transformer -mg_transformer = QuantileTransformer( - n_quantiles=n_quantiles, - output_distribution=output_distribution, subsample=subsample -) - -data_mg = mg_transformer.fit_transform(data) -``` - -
- -
-
-
- -```python -plot_2d_joint(data_mg) -``` - -
- -
-
- - -
- - -
-
<Figure size 864x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
-
- -
-
-
-
-### Step II - Rotation (PCA) -
-
-
-
-
- -```python -pca_model = PCA() - -data_rot = pca_model.fit_transform(data_mg) -``` - -
- -
-
-
- -```python -plot_2d_joint(data_rot) -``` - -
- -
-
- - -
- - -
-
<Figure size 864x360 with 0 Axes>
-
- -
- -
- - -
- -
- -
- -
-
- -
- - diff --git a/docs/notebooks/test.md.tmp b/docs/notebooks/test.md.tmp deleted file mode 100644 index 2016ed9..0000000 --- a/docs/notebooks/test.md.tmp +++ /dev/null @@ -1,740 +0,0 @@ - - - - -
-
-
-# RBIG Demo -
-
-
-
-
- -```python -%matplotlib inline -import sys - -sys.path.insert(0, '/home/emmanuel/code/py_packages/rbig/src') -sys.path.insert(0, '/home/emmanuel/code/rbig/') -# sys.path.insert(0, '/home/emmanuel/Drives/megatron/temp/2017_RBIG/') -# sys.path.insert(0, '/Users/eman/Documents/code_projects/rbig/') -import numpy as np -# import seaborn as sns -import pandas as pd -import warnings -from time import time -from rbig.rbig import RBIG -from sklearn.model_selection import train_test_split -from sklearn.utils import check_random_state -from scipy import io - -import matplotlib.pyplot as plt -plt.style.use('ggplot') -warnings.filterwarnings('ignore') # get rid of annoying warnings - -%load_ext autoreload -%autoreload 2 -``` - -
- -
-
-
-
-#### Toy Data -
-
-
-
-
- -```python -seed = 123 -rng = np.random.RandomState(seed=seed) -aux2 = io.loadmat('/media/disk/erc/papers/2018_RBIG_IT_measures/2018_RBIG_IT_measures/2018_RBIG/DATA/DATA_uniform_dim_10_seed_2.mat') - - -``` - -
- -
-
-
- -```python -seed = 123 -rng = np.random.RandomState(seed=seed) -aux2 = io.loadmat('/media/disk/erc/papers/2018_RBIG_IT_measures/2018_RBIG_IT_measures/2018_RBIG/DATA/DATA_uniform_dim_10_seed_2.mat') - -# aux2 = io.loadmat('/home/emmanuel/Drives/megatron/temp/2017_RBIG/DATA_uniform_dim_10_seed_2.mat') -data = aux2['dat'].T -data_original = aux2['aux'].T -R = aux2['R'].T -# num_samples = 10000 -# x = np.abs(2 * rng.randn(1, num_samples)) -# y = np.sin(x) + 0.25 * rng.randn(1, num_samples) -# data = np.vstack((x, y)).T - -fig, ax = plt.subplots() -ax.scatter(data[:, 0], data[:, 1], s=1) -ax.set_xlabel('X') -ax.set_ylabel('Y') -ax.set_title('Equal') -plt.show() -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
- -```python -data_aux = np.dot(data_original, R) -``` - -
- -
-
-
-
-## RBIG Fitting -
-
-
-
-
- -```python -%%time - -n_layers = 5 -rotation_type = 'PCA' -random_state = 123 -pdf_extension = 0.1 -pdf_resolution = 1000 - -# Initialize RBIG class -rbig_model = RBIG(n_layers=n_layers, rotation_type=rotation_type, random_state=random_state, - pdf_extension=0.1, pdf_resolution=100) - -# fit model to the data -rbig_model.fit(data); -``` - -
- -
-
- - -
-
-
CPU times: user 2min 38s, sys: 1.85 s, total: 2min 40s
-Wall time: 17.2 s
-
-
-
- -
-
- -
-
-
- -```python -ndet = 1000 - -jacobian = rbig_model.jacobian(data[:ndet, :]) -print(jacobian.shape) -dd = np.zeros(ndet) - -for i in range(ndet): - aux = jacobian[i, ...].squeeze() - dd[i] = np.abs(np.linalg.det(aux)) - -fig, ax = plt.subplots() -ax.plot(np.log10(dd)) -plt.show() - -fig_loc = '/home/emmanuel/projects/2019_rbig_info/reports/figures/rbig/' -save_name = 'test_rbig_py.png' -fig.savefig(fig_loc + save_name) -``` - -
- -
-
- - -
-
-
(1000, 10, 10)
-
-
-
- -
- - -
- -
- -
- -
-
- -
-
-
-
-### Checking Versus MATLAB Results -
-
-
-
-
- -```python -# load data -matlab_results = io.loadmat('/Users/eman/Documents/MATLAB/rbig_2018/test_results_matlab.mat')['dd'].squeeze() -py_results = dd -``` - -
- -
-
- - -
-
-
----------------------------------------------------------------------------
-FileNotFoundError                         Traceback (most recent call last)
-~/.conda/envs/rbig_info/lib/python3.7/site-packages/scipy/io/matlab/mio.py in _open_file(file_like, appendmat)
-     30     try:
----> 31         return open(file_like, 'rb'), True
-     32     except IOError:
-
-FileNotFoundError: [Errno 2] No such file or directory: '/media/disk/erc/papers/2018_RBIG_IT_measures/2018_RBIG_IT_measures/2018_RBIG/DATA/test_results_matlab.mat'
-
-During handling of the above exception, another exception occurred:
-
-FileNotFoundError                         Traceback (most recent call last)
-<ipython-input-11-53a75f37242e> in <module>
-      1 # load data
-----> 2 matlab_results = io.loadmat('/media/disk/erc/papers/2018_RBIG_IT_measures/2018_RBIG_IT_measures/2018_RBIG/DATA/test_results_matlab.mat')['dd'].squeeze()
-      3 py_results = dd
-
-~/.conda/envs/rbig_info/lib/python3.7/site-packages/scipy/io/matlab/mio.py in loadmat(file_name, mdict, appendmat, **kwargs)
-    205     """
-    206     variable_names = kwargs.pop('variable_names', None)
---> 207     MR, file_opened = mat_reader_factory(file_name, appendmat, **kwargs)
-    208     matfile_dict = MR.get_variables(variable_names)
-    209     if mdict is not None:
-
-~/.conda/envs/rbig_info/lib/python3.7/site-packages/scipy/io/matlab/mio.py in mat_reader_factory(file_name, appendmat, **kwargs)
-     60 
-     61     """
----> 62     byte_stream, file_opened = _open_file(file_name, appendmat)
-     63     mjv, mnv = get_matfile_version(byte_stream)
-     64     if mjv == 0:
-
-~/.conda/envs/rbig_info/lib/python3.7/site-packages/scipy/io/matlab/mio.py in _open_file(file_like, appendmat)
-     35             if appendmat and not file_like.endswith('.mat'):
-     36                 file_like += '.mat'
----> 37             return open(file_like, 'rb'), True
-     38         else:
-     39             raise IOError('Reader needs file name or open file-like object')
-
-FileNotFoundError: [Errno 2] No such file or directory: '/media/disk/erc/papers/2018_RBIG_IT_measures/2018_RBIG_IT_measures/2018_RBIG/DATA/test_results_matlab.mat'
-
-
- -
-
- -
-
-
- -```python - - - - -x_min = np.minimum(matlab_results.min(), py_results.min()) -x_max = np.maximum(matlab_results.max(), py_results.max()) - -print(py_results.shape, matlab_results.shape) - -fig, ax = plt.subplots() - -ax.scatter(py_results, matlab_results) - -ax.set_yscale('log') -ax.set_xscale('log') -ax.set_title('Comparing RBIG Algorithms Results') -ax.set_xlabel('Python') -ax.set_ylabel('MATLAB') - -plt.show() - -fig_loc = '/Users/eman/Desktop/' -save_name = 'test_mat_v_py.png' -fig.savefig(fig_loc + save_name) - - - - - -fig, ax = plt.subplots() - -ax.scatter(py_results, matlab_results) - -ax.set_yscale('log') -ax.set_xscale('log') -ax.set_xlim([x_min, 10**4]) -ax.set_ylim([x_min, 10**4]) -ax.set_title('Comparing RBIG Algorithms Results (Clean)') -ax.set_xlabel('Python') -ax.set_ylabel('MATLAB') - -plt.show() - -fig_loc = '/Users/eman/Desktop/' -save_name = 'test_mat_v_py_clean.png' -fig.savefig(fig_loc + save_name) -``` - -
- -
-
- - -
-
-
(1000,) (1000,)
-
-
-
- -
- - -
- -
- -
- -
- - -
- -
- -
- -
-
- -
-
-
- -```python -data = pd.DataFrame({ - 'x': matlab_results, - 'y': py_results}) -``` - -
- -
-
-
- -```python -sns_plot = sns.jointplot(x="x", y="y", data=np.log10(data), kind="kde") -fig_loc = '/Users/eman/Desktop/' -save_name = 'test_mat_v_py_jointplot.png' -sns_plot.savefig(fig_loc + save_name) -# ax = g.ax_joint -# ax.set_xscale('log') -# ax.set_yscale('log') -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
- -```python -jacobian, data_transform2 = rbig_model.jacobian(data[:1000, :]) - -ndet = 1000 -# dd = np.zeros(jacobian.shape[1]) -for i in range(jacobian.shape[1]): - dd[i] = np.linalg.det(jacobian[i, :, :]) - -# fig, ax = plt.subplots() -# ax.plot(dd) -# plt.show() -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
-
-### Transform Data into Gaussian -
-
-
-
-
- -```python -# transform data -data_trans = rbig_model.transform(data) - -fig, ax = plt.subplots() -ax.scatter(data_trans[:, 0], data_trans[:, 1], s=1) -ax.set_xlabel('X') -ax.set_ylabel('Y') -ax.set_title('Dara after RBIG Transformation') -plt.show() -``` - -
- -
-
- - -
- - -
- -
- -
- -
-
- -
-
-
-
-## BUCLE -
-
-
-
-
- -```python -%%time - -n_layers = 1000 -rotation_type = 'PCA' -random_state = 123 -pdf_extension = 0.1 -pdf_resolution = 1000 -n_samples = 10000 - -R = np.array([[10, 0.5, 1, 7], [50, -3, 5, -5], [2, -3, 5, 4], [-2, -3, 5, 4]]) -MIS = np.zeros(100) - -for i in range(100): - aux = np.random.rand(n_samples, 4) - dat = np.dot(aux, R) - rbig_model = RBIG(n_layers=n_layers, rotation_type=rotation_type, pdf_extension=pdf_extension, - pdf_resolution=pdf_resolution) - g_data = rbig_model.fit(dat).transform(dat) - - di = rbig_model.residual_info - - MIS[i] = sum(di) - print(i) - -# # Initialize RBIG class -# rbig_model = RBIG(n_layers=n_layers, rotation_type=rotation_type, random_state=random_state, -# pdf_extension=0.1, pdf_resolution=100) - -# # fit model to the data -# rbig_model.fit(data); -``` - -
- -
-
- - -
-
-
0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-
-
-
- -
-
-
----------------------------------------------------------------------------
-KeyboardInterrupt                         Traceback (most recent call last)
-<timed exec> in <module>()
-
-~/code/py_packages/rbig/src/rbig.py in transform(self, data)
-    177                 # marginal gaussianization
-    178                 data_layer[idim, :] = norm.ppf(
---> 179                     data_layer[idim, :]
-    180                 )
-    181 
-
-~/anaconda3/envs/sci_py36/lib/python3.6/site-packages/scipy/stats/_distn_infrastructure.py in ppf(self, q, *args, **kwds)
-   1904         cond1 = (0 < q) & (q < 1)
-   1905         cond2 = cond0 & (q == 0)
--> 1906         cond3 = cond0 & (q == 1)
-   1907         cond = cond0 & cond1
-   1908         output = valarray(shape(cond), value=self.badvalue)
-
-KeyboardInterrupt: 
-
-
- -
-
- -
-
-
- -```python -fig, ax = plt.subplots() - -ax.plot(di) -ax.show() -``` - -
- -
-
- - -
-
-
----------------------------------------------------------------------------
-AttributeError                            Traceback (most recent call last)
-<ipython-input-24-3df48be58a99> in <module>()
-      2 
-      3 ax.plot(di)
-----> 4 ax.show()
-
-AttributeError: 'AxesSubplot' object has no attribute 'show'
-
-
- -
- - -
- -
- -
- -
-
- -
-
-
- -```python -fig, ax = plt.subplots() - -ax.plot(di) -ax.show(MIS) -``` - -
- -
-
- - -
-
-
----------------------------------------------------------------------------
-AttributeError                            Traceback (most recent call last)
-<ipython-input-25-1a669b5b5aa5> in <module>()
-      2 
-      3 ax.plot(di)
-----> 4 ax.show(MIS)
-
-AttributeError: 'AxesSubplot' object has no attribute 'show'
-
-
- -
- - -
- -
- -
- -
-
- -
-
-
- -```python -print(MIS.mean(), MIS.std()) -``` - -
- -
- - diff --git a/mkdocs.yml b/mkdocs.yml index 46e8d53..bc6df17 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -20,11 +20,9 @@ theme: code: source code pro plugins: - - search - - mknotebooks: - execute: false - write_markdown: true - timeout: 600 +- search +- mkdocs-jupyter +- mkdocstrings nav: - Home: "index.md" diff --git a/notebooks/rbig_demo.ipynb b/notebooks/rbig_demo.ipynb index 7f32ded..250b1ed 100644 --- a/notebooks/rbig_demo.ipynb +++ b/notebooks/rbig_demo.ipynb @@ -9,36 +9,44 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 2, "metadata": { "code_folding": [], "scrolled": true }, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "The autoreload extension is already loaded. To reload it, use:\n", - " %reload_ext autoreload\n" + "ename": "ImportError", + "evalue": "cannot import name 'RBIG' from 'rbig' (../rbig/__init__.py)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;31m# RBIG Functions\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;31m# from rbig.model import RBIG\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 12\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mrbig\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mRBIG\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 13\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0;31m# plot utilities\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mImportError\u001b[0m: cannot import name 'RBIG' from 'rbig' (../rbig/__init__.py)" ] } ], "source": [ "import sys\n", - "sys.path.insert(0, '/home/emmanuel/code/py_packages/rbig/')\n", - "sys.path.insert(0, '/home/emmanuel/code/rbig/')\n", - "sys.path.insert(0, '/Users/eman/Documents/code_projects/rbig/')\n", + "sys.path.insert(0, '../')\n", "\n", "import numpy as np\n", "import warnings\n", "from time import time\n", - "from rbig.rbig import RBIG, entropy\n", - "# from rbig.model import RBIG\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.utils import check_random_state\n", + "\n", + "# RBIG Functions\n", + "# from rbig.model import RBIG\n", + "from rbig. import RBIG\n", + "\n", + "# plot utilities\n", "import matplotlib.pyplot as plt\n", - "plt.style.use('ggplot')\n", + "import seaborn as sns\n", + "sns.reset_defaults()\n", + "sns.set_context(context=\"talk\", font_scale=0.7)\n", + "\n", "warnings.filterwarnings('ignore') # get rid of annoying warnings\n", "\n", "%matplotlib inline\n", @@ -55,12 +63,12 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 27, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -97,15 +105,15 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 932 ms, sys: 43.2 ms, total: 975 ms\n", - "Wall time: 335 ms\n" + "CPU times: user 2.77 s, sys: 126 ms, total: 2.9 s\n", + "Wall time: 976 ms\n" ] } ], @@ -115,14 +123,18 @@ "n_layers = 1000\n", "rotation_type = 'pca'\n", "random_state = 123\n", - "zero_tolerance = 10\n", + "zero_tolerance = 60\n", "\n", "# Initialize RBIG class\n", - "rbig_model = RBIG(n_layers=n_layers, rotation_type=rotation_type, \n", - " random_state=random_state, zero_tolerance=zero_tolerance)\n", + "rbig_model = RBIG(\n", + " n_layers=n_layers, \n", + " rotation_type=rotation_type, \n", + " random_state=random_state, \n", + " zero_tolerance=zero_tolerance\n", + ")\n", "\n", "# transform data\n", - "data_trans = rbig_model.fit_transform(data)" + "data_trans = rbig_model.fit_transform(data.copy())" ] }, { @@ -134,14 +146,7 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 78, + "execution_count": 38, "metadata": {}, "outputs": [ { @@ -153,7 +158,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEiCAYAAAAI8/6tAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOy9e3wd5Xnv+33XXUuXpZsBCZuLbMC1jQkhodk22DTdaU1CLj2fNrvkJDshDSG0JO1O9wk5O0nP3mnOLk5vu+AW7LY0FAq59EIaNygXKPjC2THGCZZMjJFkkGTJRtclad3Xmvf88c47mjWadZFlWbI1v89HH3utmTXzzsw7z/M+t98jpJR48ODBgwcP5eBb6gF48ODBg4flD09ZePDgwYOHivCUhQcPHjx4qAhPWXjw4MGDh4rwlIUHDx48eKgIT1l48ODBg4eK8JSFh2UFIUSLEOLHQogpIcT3lno8KxFCiHcJIV4VQkwLIT6/1OMpBSHE3wgh/t+lHsdKgacsVgiEEM8LITKmAIgLIY4LIf5SCHHlPI7xCSHEzxZznMA9gASapJTvX6xzCiGuEkJIIcSMeU9OCSEeFkLU2Pb5hBCiYO4zI4Q4LYR4VAhRZ9vneSHE79k++4UQ/0UI8YoQIiGEGBFCHBZCfF4IEXYZxyO246eEEIbt84wQ4opzfe1V4H8CT0gp66WUf7YE558DIcQTQog/sX8npfyUlPJLSzWmlQZPWaws3G8KgBhwB+r5/0wIcd0Sj8uODuCYlLJwrg4ohAiU2bxaSlkPvAu4FfiiY3uXlLJOSlkHvA3YCPxBmeM9CdwF/C6wCrgE+C3gOqDdubOU8jO2498J9OvP5l//PK/nXKADOHo2PxQK/nM8Hg/LAVJK728F/AHPA7/n8v2PgG/ZPj8OnAKmgZ8BO8zvbwTSQAGYMf+uBa4AfgiMABPm/68pM45fAQ4DceA08DdAnbntO0AOyJrH/5LbOc19fwn43+Y5fw78pu0c/x3YCzwCjAJ/6TKOq1AWTKPtuz8G/s32+RPAzxy/+xLwfbf7CtwGpICrzvIZfQh4w+X7A8ADwI/Ne/BrwDvM78fNa/w2cInjN18DfmA+y6PAO2zbPwa8bm47Azxgfj8KGOZ1zAC/AITM8/ebz/mfgXbbsQZRSvYQkDTnyhPAbvOZzpjP6O3Ax4E3zHH/geN5/Mg2jzqBtea2zzvmxWvm908Af2I7xjuBg8AkcBy4y7btU6h59wfm9b4F/Lelfi8vpL8lH4D3d54edGllcTdwxvb5k0AjEADuNYXJKnObm/C8CngvEAHqgMeAn5QZx62m0PCjFM1PgZ227d8A/pfts9s5N5kC5T+irKN3msLnneb2/w7kUSv6AFDjMo6rsCkL4ErgWLlzoyyDnwBfcruvwB8B+xbwjMopizPAzYAw7/WNwC1AEGXB/Bj4B8dvBlDWkB/4X8Bhc1u9eX+2mp9jwC/afjsI3GH7/FWgy7xHtcDfAQcd+7+Gsp58KOXyBDBlPu8A8DBKSfyVbfw54HrzGB3ADnNbvfl7+zmKFIPzO6DZnAOfNe/JFpTS+BVz+6fM8/2+uf0X7ef3/ir/eW4oD4OoFw0AKeWjUspJKWVeSvkwMIYSxq6QUr4hpfy+lDItpZwB/h/gZiFEbYn990spj0gpC1K5WP4CZSXMB/cCfy+l/LGU0pBSvgR8E+XG0eiWUv6teR2pMsd6UwiRQAmyk+b47bheCDEphIijLC4/8JcljtUKDNm/EEIcNX+fFEJ8rOornIvHpZSHpEJaSvlTKeUBKWVOSjmCWvk77+PfSyl/JpVL7++At5kuIokSlBuEEDEpZVxK+ZMy5/4Y8FUp5ZtSygTwX4D/IIS41rbPQ1LK18znkTW/+1fzeeeBp1DK5g/0+Jm1NpBS9kkpO81t0yiF/x+EEJEq78/7gWEp5UPmPXkReBSl8DXOSCn/1Nz+E6Bbn99DZXjKwsNqlEJACOETQnxVCHHCzEaaBNagVq6uEEK0CiEeF0IMCCGmgFfMTa0l9r9JCPFDIcQZc/+/LHf8ErgK+LQphCfNcf5noM22z5tVHutKlEX0IdQqvNGxvUtK2ShVnKcetWJ/psSxRoHL7V9IKTdLKRuBEyhFc7Youh4hxDVCiO8KIYbM+/gvzL2Pw7b/J8zz15hK/Q6UO6tfCPETIcSvljn35UCf/iClnESt4leXGp+J07b/J4GClHLU8V29eT2XCCH+wTaPXkZZUS1lxmXHavsYTfQ5xnjasT2hz++hMjxl4eHXgX83/38nahX5fpR7phHlyhDmdsPl938ENAA3SSkbgBvM74XLvqAsgP0of3QD8Dtl9i11zjeBvzCFuP6rk1LaLYuq6ZTN1fp3gX9CuWtK7TeDirG8Swjhpgx/ALxTCHF1teeeB5zXswf1bDaY9/HXKH8fiw8m5bNSyveilPrfAP9SZhV/CrCuSQgRA5pQVmmp8c0XO4EaZufRTfp05r9u88COQfsYTVztGKOHBcBTFisUQoi1QoiHUIFSnd3TgHJPjAIBIcR/pXhldgZoF0JEbd81oFaIk0KIJqBS3nsDMCmlnBFCXINyaZSD2zl3A3cJIf6jECIghAgJId4hhLihxDGqxU7gdiHEO9w2mmm1d6FcTWPO7VLK54HvAt8TQvySEKLGtNY2Uf0KuVo0oOJJU0KIy1GB96oghGgTQnxICFEvpcyZx5GUFshPAF8RQlxhPoc/Aw5JKU8s7BKKoOfRhBCiGRWct+MMsK7M7/cClwshfsecE+9Cxd8eO4djXNHwlMXKwk6zpmAK+D7q+d8opXzd3P4YKmvmJGr1Xovy62o8B7wIDJrun2tQPv6rUW6JQ6hsqHL4NPB7QogZ83xPVdh/zjmllK8AHzbP/RbK3fInQLT0YSpDSjlkjumrtq+v1zUPqBX2ZlTwt9RK+iPA36IslDGU6+PvgD9FZQadK/we8AFUEPn7KKuoWvjN32uXz/3Ar9tiDU58DfVcD6IyoppRFum5xFdQ2XWTqCy3Hzi2/zVwhRBiQghxzPljKeUYcDvwf6Lu+2PA/yWldB7Hw1lClJ7zHjx48ODBg4JnWXjw4MGDh4rwlIUHDx48eKgIT1l48ODBg4eK8JSFBw8ePHioiMUmJFsSCCHyKEU4tdRj8eDBg4cLCA2AIaWcoxsuymwoIYQBiFgsttRD8eDBg4cLBvF4HFSd6hyv00VpWQBTsVgsNjk5udTj8ODBg4cLBo2NjcTjcVePjBez8ODBgwcPFeEpCw8ePHjwUBGesvDgwYMHDxXhKQsPHjx48FARnrLw4MGDBw8V4SkLDx48ePBQEZ6y8ODBgwcPFeEpCw8XDA72jPLxRw/xYs9o5Z09ePBwTnGxFuV5uAixZ18fL/aOIgRsWefa4tuDBw+LBE9ZeLhgcM+2DoSAT9/asdRD8eBhxcFTFh4uGGxZ1+pZFB48LBG8mIUHDx48eKgIT1l48ODBg4eK8JSFh7JYKRlIC7nOlXKPPKxseDELD2VxMWQgHewZZc++Pu7Z1lHyGhZynRfDPfLgoRI8ZeGhLC6GDKRqhPlCrvNiuEcePFTCxdopb9JrfuRB48WeUfbs7+PTt5a2LDx48GA1P4pLKRud2zzLwsNFDy/l1oOHhcMLcHvw4MGDh4rwlIWHc44LJTuo2nFeKNfjwcNiYtkpCyHEHiHEsBBiSgjRJYS4Y6nH5GF+0AHlPfv7lnooZVHtOM/mejwF4+Fiw3KMWfwZ8FkpZUYI8U7gR0KIq6SUXrT6AsGFkh20dW0LXacm2bq2pex+Z3M9Xjqth4sNy05ZSCmP2z7mgTBwOeApiwsEF0pA+WDvGNPpPAd7x7h729qS+53N9VwoCtODh2qx7JQFgBDir4C7gAjwb8Crju2VFEdskYbm4RyhmkK5xUYlgb6QMV4oCtODh2qxLJWFlPK3hRCfBX4J2CAvxmKQFY7l4KapJNB3dh6nazDOZDLLd++7peLxloMC9OBhsbDsAtwaUsqClPLHwK8IIX7Vsa2x3B8QX5pRe6gWW9e1UB8OVowXLCXEPPevJhDucVB5uFCxbJWFDX6gtEPZwwWJgz1jTGdyHOwdm8dvzq+wvH/HerZft4r3bW6r6rz3bOtg67rWsnGKhWSKXShZZguBpxCXL5aVG0oIUQd8CHgaSAO/hnJF3b+U4/Jw7rHQDCNpfq7k8pmva8i5/5Z1rUp4VeEyqyZO4XFQlcdycE96cMeyUhYoGfBJYBfKC9AD3CmlPLqko/JwzrHQDKPdVQqV+Qoft/2dQvp8Br7dlNdywrmO06wEhXihYlkpCyllAnj3Uo/Dw8KxGMFep7CsRqjMV/i47e8872Kvfu33brmvtM/1+JajQvSgsKyUhYdzh6XOzFlsIVetUCm3n9s9su+/+4VeHnmhl9++bW1RHcZir37t9265r7TPZnyLMTeXer6vBHjK4iLFUq9Il7uQg8r36JEXeplI5nj4hb4iZaEVig7GugmohQgv+71b7ivtsxnfYszNpZ7vKwGesrhIsdTCerkLOSh9jw72jLKz8ziRoJ/6iOTe7e73sJyAWojw2rKuFQns3tdnfV7umI9yXIy5udTzfSXAUxYXKZa7sHYTLme7GtfCHeCLO9ZX/dtS92jPvj66BlWpzvbrVpWkAiknoPS2LWtbXK2PStd6NplfS4n5KMfFmJvLfb5fDPCUhYclgZtwOdvV+M7O4xw1hfue/X0LFhr3bOtgMpkFlCJwCnb752/cdbPrMSql3Va6VrsiesBWSf6FHeuXpeJYyMp+oenN5wsrPS7iKQsPSwI34aKF9Hgiy4s9o1W/kML8q4sE2NIxu5I/2xX5lnWtRfQeToE/n1V/KSFaSbiWs3qWi2/eLjwlcLakPOcivfl8YDnd+6WApyw8nDdUqhnYsq6VxmjIqlKu9oW8f8d6dnYeRwJ7u4b5+fCUEuSSsi93uZWifZtTsNtdTPc9eYTpdL7oHNXURlQTJNf4onl9ALesa1k2vvkipVnhXjthdx2+f3PbgtObzwdWelzEUxYezhuqWZnN94XUghng58NTbGhrKKLcKFdMV22A+ht33Vy03e5imkrniNWEisY7H8ujGrJCuxJtqg2VdH2dbzif1Xyemz0u1DzPa1qq+MRKj4t4ymIF43z7YKtRBPN9IbVg3tDWwIa2BiSwpaOF3S4xBadyqCZAXW6s9n0kyl21dW0Lk8ksG9oaqqo012SF0+l8kYXhfDZLvap1upzcYjbzeW7OuJDzHCtZKC9XeMpiBWOxfLClXvrFWJm5UYAMTiTnuIac+wJl/ezVjNW+j45rdJ2aZDqdZ6ttW6n03D37+rhjcxtNtSEmEtmScRF9nsUWoOWE9UJcTm5wxoWc5/CUxfKDpyxWMBar+rbcS19tnOBs01+FUO1SD/aOua5Yy1ka9n31Maodi76XznNXE6j+xl0382KPGacxU21vWddyVsH+haCcS8yK03S0sLdr2LKcziWW2nryUB6esljBWKzq23Iv/dkUslWrROzXY6+N2LOvjwM9I3SdmmTXnW+39nEbpx6DthCqHYsupLO7aj6w6wDgXvvh7P/tlmorga7BODs7j1fVfGkxYR+fjg2VKho82wXBSo8JLHd4ysLDvLDQuEOlOMFkMqtcMrbVtBbgk8ksjdFQSb9+uTF3nZpkKpVnz/6+kj53+xim03nWNEWLiuokcN+TR5hK51ytkYlktigTq8tR+2Efb6n+31qJtMci/KRvHImKZ5wPfHHHevbs76sqTuN0m9mxWJXtiwkvXlIZnrLwUDWcQc5KKZ9usCsStxRTnfWzs/O4pRhKCSin4Cm36t9159stQaiL3AYnkqxuis4hEmyMhnh1eIqt61o52DNW5KufTudLZj85M7GcAVz7eLeua6FrMK7cVi5KpPPYadK5AgD1kfPzmrql8zqzuXScR8da5pscsFxdTctViS0neMrCQ9WoFOSc7+qsXO+IcZti0Kmrll+/Y9avbxc85V54N2tnaDJF70iCI29OsPtjN1mC0Xlct//br3nCzH563+Y2DvaMWeezu47s++lg/HQmx96jw/zV872Wy0tff3sswr/8dAiQ3LG5bZ5PqjTmG3NyPuc9+/o42DNK12CcXR+5cd5xp1JW51Kv7JerEltO8JSFh6pRKa9+vquzcr0jtGJw2/bxRw9xsGeUI/0TdLTWzjmevYrbTZgJYPPqGNPpPH2jCWYypnvKJhjvNgV6pfTQPfv6+LnNCrELUvuq3L6fPsZkMkvfSIJENk9jNFTEMvvxRw9ZloV2VS1EoLq5ykopeftz6R6KWxaQvsddg3Hi6axr4WSlOVAqBXepV/ZevKQyPGXhoWo4XyjnyzXf1Vkll1S5uEfXYJzxZJajg3Hue/Kn1irXGSR2Bqd1xfUt17Rald8wVwG61Ue4CTqdtTSRyHLH5rYiQaqVz2QyiwSuaI4WZTc1RkOkclM0RkPsurN4le5Wh7AQgVrKVaa3aSX3me0dVhaYBB56toeZTJ69R4e5e9ta5dL7yI3s7Dw+J7akx11uDpSyWryV/fLHslIWQogw8AjwHqAeOALcJ6U8tqQDW0FYCBtsORfDzs7jCBQ1R6VU0mrqG7TAOn56mvFkli8/3c1z//U2wF3waEURT+WoDQcYTyhB7MwycqbhlqzMtgk6HWcBWNNcwxpqipTPeEKt5uvDQfrHk1aQfSKZZWN7A/fvWD8nBuRWh7AQgWr/rTMuYbcWHtmnXGKTySz940mmMyq43jc6YykGe2zJaV1UWqGXsk7P18p+qd1dFzKWlbJAjacPeBcwDPwu8DRwzVIOaiXhbNlgKxV02TOD9KrcXsvgFCKljmf//rv33cIvfKUTgDfGEkXCzM2iiKdyNEZDrG6q4efDU65uFH389sYIrwxMcmwoXhRPsVsRTlfNdCbPwHiyyNUkga93HmdDWwN3bG5j79Fh+seS3PP4YdI5g1uuKbaGdMbX1nUtHOwprvNYiEB1Bq8nk1leNd1Rd9/awWpTyd2xuY2DvWNMJFRGWH0kABJS2ULR/bI/r1K1KZU6EerP5xNL7e66kLGslIXZg/sP9WchxC7gT4QQLVLKMdv3kxUOFVukIV70KMUGW2lFW+4ltLtUNPneVDpXVMugg9hamLn51t3O0xaL0DeawJCl6cn37OtjOp233D2A5UbZs6+3SCjr40sJeUMWdcnTK+oDPSMMTCStmg0drF7TXKMUhS1msmdfn5VZdfe2tRzoGePoYByJynJykhP2jyc5OhjnQM8oIKvil5oPnO6oLR2zz+PWa1Tvjru3rZ0TMyoVP4K51euVstWqKXhcLNpyz9119lhWysIFW4C37IrCw+LCbfXqpMVwezHLvYR2l8oHdh1gMpmjLhLg3u1ri6qdobxv3X4eXf9w581r2Ht0GCg+t71/tlZW+hLsbpSB8RTxdNYq2NPHvzwW4ZljZ+Z0ydM1G/FkzoqV6DTYOza3saE9xmcef5npTJ4j/RN87t3riu7LPds6ONI/wXQ6T0drbZEFIiWkMgUkUDAkzWZq6gNVkA064RZf2bquhYHxJJGAn43tDXQPTfHQcz0ks3li0dAcZaC79bnVo7g9E2f1unNOVCp4tGOxaMu9QPbZY9kqCyFEI7Ab+G/ObVLKxgq/ncSzLoqwEF+t80V0ezGr7WegifM6WmutVawd9qI45+Hs12APQLsJUHv/7IfuvJH+8SRT6ZxlfdjPk8oVmEjkrEppLVydQWeArlNxcnlJKOArCmRPZ3Ic7B3jyUMDlp9fF905s6l2f/SmOSt1fU99Qt0hIeDe7UrQ943MVL6xDtgLGfvHFVdW12CcCdPC6+w+w4SpQIM+YZ3LHjc5GwHs1qtco5RSccN8LQDPYlh8LEtlIYSIoGIVe6WUjy71eC4GLMRX63wRy9FkVHKb3F+hSliv+t0639lpO+7dvrYsQd97N13Gvx4dpjEaZGfncaZSOXw+YaWASrAUSDQYUELZDOI6r8UenH/khV6mM3miIT+xmiBb17awsT3GZDLLm2NJ3hxLAOATcP3lMcslZY9BuClWfU//d58yoqWEh1/oZXVTlFSuQFNtiPt3rJ/3MxtPZImncviF4PZNl9I9NKUqwgU0RoOMzGRIZpVSO9AzVkSLcrbcYaWSGbS1spBkiXO1v4f5Q8izbW+1SBBC+IF/AhLAR+VZDFAIMRmLxWKTk5VCGysHdh/0YrxU+vhtsQjfOTyIISXXXx4roudwg5vF86IpcCyaCwF14QDv39zGwy/0Ek+qHhJuRWHaf751XStSquPXhPzkCwapnMENq2N8975b+MCuA3QNxokE/bQ1RhiZypDKFdjYrmjOtbDbva+PfSdGANWPe+vaFh5+oY+Q38fpqTT1ET+7P/oOaz89WdtiEf70N26wXEh1kQDpXIENbQ3WSv+Wa1r5xl03F7nMAB58rod8QZIrGGxsb7Aqpc+mtuLrncc5cWaaVM4oGqu+R5++tcMqdPy3rmH6RmdIZdV5S1GrdJ2KW+N11n8475fTfWV/PsulL4eHWTQ2NhKPx+Nu3pvlaFn8NVAD/MbZKAoP7ljslZc+/o1f/SF5QxL0K3dKJfZZt0C2jnF8YNcBy8IQqCY5u+58O/c9+dNZFxBY2Ut7XxmmLhyw6hneb6t7iIYCiJzhMnLJyZEEV7fWUh8J0DeSIJUrcEVzlE8/fpj6SNDapvtWXH95jBNnpgGYThesWo2rW2sZmckwnc5zOp5mz/4+Zkx3WiZnWP02ptI5oqGAVaegXWZf/8Fr/PpNq8kVDKSEVfVhJFStKJyK98tPd3NyNEHY7wNgJq0ymrQLbjyRpXsojpTwb13DvGoSBDbVhugfU4F2HSexM9L2jyctF9/d29YWWWJu9SF2uGVRLaTI0EuBPX9YVspCCHElcBeQBiaE0B5ubpdS7l+ygV3EcL5083kJ3fb97dvW8vALfdy7vYON7THLmrG30fzijvVWIVhNyF+S7lqYfzUhP9dcUmcJzV0fudE6rl4lG1IFhaczeZprVT2DgKKUUB0I/7//+ailIBBwciTByEyGukiARDaP3ycYjqdI5QxmMgVus62Q9co4EvRZfb8BK+Ppax/aZF3nlrUtHH5jHIBswWBgPMW9t3UggL6RBF2n4tzz+MvUhQP4fXkKhuQ7hwfJG2qNNDqdYXQmU7HFrFPx6vTbwYkkAIaU3LBahfD0PdQB/sHxlMrkaopSHw5yx+Y27t62lg+ajLkaWunNZPLcvukyvnN4kNs3XgoUV87v3tdn1Y24sdK6ZVEtpMjwbH67nBTNchpLJSwrZSGlfJPZGOiywIX0MM8G1QSvwf0+uO27oT3G9ZfH2NgemyMYtJWws/M49+9Yb636m2pDrpaHRNFyuPm+tWLTfEtvTWUYnkoT8gsaa0I01oToG0mQzOWtlNADJilg99AUBUOSNyTXXFpHXSRAMptHAOGAj1TOoMEi7xO0xyJFBWzOIO33jg7RdSrOa6eVtaED7oqyw6A+EiBfkIwns3zzpQHGE1mSplKayeSZyeTZvDpGU22Iy2MRnnppAEPClS1RVjdHK8YM9HO4ojlKfSTAW9MZ614DBPzCGpNOTdaV59PpPGuaa5DAwETSohZxxpbqIgGlHMMBTk2mQcCpeLroeRTRq1fRIOlcFRnOF8up1mI5jaUSlpWyWI64kB5mKZRTeNUEr6E06Z+dUlxTeJfqUnfkzQlmzEyhLeta+dWNl/KPRwa5PBaZM16d+7+pPWatUJ39Iuz1AVq49Y8nOTmSoC4cIJUrFDHE3rOtg4EJtR3ziLo3A8BUOk8mr1xVyaxBJOhXDLDdZ5jO5IrqQWA28+d3njyCIWE4nuaeJ17ms7+0jr1dw8yk81aF9pdMl9DJkYQZXA5x7/YOvvnSAG9NZbhjcxt9Iwm+dXjQCn6/OZ7kx79/W8Xnaw9m948nyQXVAS6LRZjJ5FlVHy56PlPpHAMTSfrHkhhS0lgTYsemSxmcSBb115DAA6aV9P7NbVYqL7h3/3POHSfdfLWULtUs0BbiVl1OmVPLaSyV4CmLCriQHmYpzIeNtdRLWIr0z077IKXyxzspvEEJ+qtX1VqB44M9o3znZeVyeebYGd67eTaLRvdwiNWEAIpWqwd6RjjSPw5SkMzmiYaV7x+UINcNh+rCamo3RoPArAAankwjAb9P8Gs3Xk5n9xnu2NxWVCzn9wkKhmQimaMm6KOxNsia5priamVbdtPtmy7jyUMDYI77oed6LKW4ebVSdpoU0ADqwwEaa4J87+gwteEA6bxa0R94fZS8IS3327ZrqhOGEnhzLMnpeIormqP84tXNdHaf4ZNbr7KsKev5pHL4hGB4MmWdK57O0nnstJXqu6E9Zrm1usx7IoAvmAH/UnUXzrnTGA2Zil/Vo1S78FrsBdpyypxaTmOpBE9ZVMCF9DBLYaEKbz6WiS6Yc/qr7ayreoVrmIHwe7d3FFGCbF4dY2O7Wu1vbG+gbzRB/1iSO29eQ9epSSYSOSQq4L26qYZXh6es/heb2hsYnEhSE/JzeirNzMgso+zBnlEKZjwgGvLxbTNr62DvGFvXtXDo5BgIQWNNkGHTxZItSPrHklzREuWex18mkzfIFQwOnRwnnStY8YGATyCRGIYKTNdFApyOp3nFvKaaoM/6N18w6BtV1s0Nq2NsaGtgIpFl+7WtPH9iFL9AxWBKpHc401P37OvjpHm8wYkUZ6aGSGQKPHVogPpIwIoJdQ/FOdhjKiShlOJt17ZSkMVuNR0H2tDWQF0kYGWlOduu2rO4nPUyem7YiRVLzcNyrLfLGRe7i9oJT1ksU5yLiViq9/R8Ua6Gws0ycQtc2gXAbk2/UavoNyTwvaPDVtaRTlnVFdYz6Twz5qp3151vtwLIuu5gz/4+JhJZ9r8+gpSqxmFNU9SiIZ9IKMI+KaWV2prIFDCkEph6TOmcgQSytqwpw5A01YZ4ayrNTKZgfZ8rFKy2p3fevIZbrmmlPRah89hp3tXRzLcPDzqKCgU3rI5ZsRVQdB/v29zGn//odVK5AkG/QBqSLGpc2iXk9jz0iv8/P3qI7TYLJFcwMI0ahqfSvDleIFYTpHsozhu81HoAACAASURBVMPP9yKlJOAXZE1NNDqT5Qs71vPlp7s5HU9bStnivToV55F9vUUJAho6i+t/fl89D6fCcCYj2OeKfW46LYlKC7Rq3o1quMUWKuAvBhf1fOApi2WKczERyx1jPi+NU9BXOqazeRDMtdDsbKO6r7Mz914I9bfvxCiX1IWt1FWd/29XXAAf/dufIFGr8r6RBJ/75XWWG2ZgIolhk946LnBlc9Qal72/hM6yCJjVzaDqHzI5ZVkE/X7yRgEDeObYGY585T18/NFDVozDkBKfAJ8QGFKSzavCuj4rXgL5guTvDrxBynRR5WymRMGQc1qu2p/HZDJL99AUeUPy/OuK8dbvE/zmO1bzr0eHmE4XyOcNCgZMJHJ8vfM1CoYk4BN8+KbV/Osrw0xnVD8PnWIL0DeaUOc1aUZOmqnEB3vHioLeB3tGaYqGmEgqK+/hF/os91U54kC3lOn5ptNWk4RRap9zKeAvFAvoXMFTFssU52IiljvGfCnBdSqkXRE4X2z7MbXQr4Z5tEgZ2Vwb37jrZm786g8pGJJMwSiyWuw0Fvp8AZ+PbEFZB9OZPA+/0MdntitXyNvWxHjp5IRFxaHdWF/70CZrTF/YsZ6vPN1NcjyPIZWfviAlTx0aYCKZ5XPvXmelA29d26KC09MZS5lsXdvCoZPjTKWzhAN+Pv+ea6yq6FhNiC0dLbx2etoaQypXIFtQVoxWThKVkbX+snrX52Z3QSnFMEwmZ1BAWi623R99B/c9dYTxRM46pmFuK0jJqXia3R+7ifue/CmTqSxJ02LyCbiqpdZaFGjrpbk2NMcy+PijhxiYSNJh1pY01qhKeasHOcXJCE4hbuf+qiad1j6PnPxg9vlXqcL/XAr4+bqoL3S3lacslinORayk3DHm+9K4KQInrbabIhkYT3JyNGH5ud0CxPZx/tZjh0nlCvz5j1/n7m1rrbqNHRsvLUr5fO3MNOmcgd83m9raUhdiOJ6muTZIriAJ+3089GwPiWye/a+PYkhJW0OEt2YyxCIB1jTV0D0U5wFbYP3kaMIK6AqUFdM/niBvwB//4DX+7q6bkXKWC8teN7q3a9iyEvJGgQef7aEuEiDk9xEO+KzAtwAiQT+GeaBLGsJMprJmlXWA3R+9qeyq2p4W+/Yrmtj/+oj1+ZuHB+kamiLs9yNQq/62WIRMzmAylS3qyLfrIzdy31NHiCdz1EcCXN1ayxdtacq6uM6euqyf3+WNEerDQe68eY1lvdkVgN0CHU9krVjH/TvWW3PErRajmmw8nZHmVCya5HEqNZeTS2MpY5AXutvKUxYVcKGvBkrBbi1AZRrsctTlE45+2YDV+lSL0plMng/sOsBJs/ZB9X/IzXlxCoZaaefNFbcmG9T0HFoxpc24QsGQfO+oSlO9urWW265bZQmrF0zaCZ3d5BeCX2irJz1QIBzwc3QwrtqqpmczlzavjlmuKL/pgvqjZ5RPPm9IKzVYM8cCRTTmoFbo4YCP6Ux+1oowA+ZBnyBnSK67rI6uwSkKUloxDFCV3roOpdRzOHRyjFTO4MSZGX7txnb8PoFhurAKhixSJn6hiho/ufUqK+bQfSpuZTX96sbL+MfDg9SFAvzcliiwdW2LK1XLTgd9iaYa16y+9mpzPV90jEkH9Z2LDWf1/nznn/5uy7pWdt359rLcY0uJC91t5SmLCliM1cByUUBOZtKp9KzwdlZcl/I963iB3Zet4xZdg3EmU6rorjYcsLKdmmpVjcHB3rE5/bJXN0XpG02wuinqOubpdJ4zUxnrs08AqMB1PJVjPJHlgc7jvH9zG0f6x5lJF7iyOcpkMsdkKstzr42Yv1MumlV1YVbVhRmZyVi03XVhVcmdK0gefK6HzatjvDIQpzEaZDKpSPk0nQmoFfiX/vkoXzQDxSPTGdZeUkvXYByfT5ArqBTVUMBn1XH8bGBWoNuRLRgcHYwXVW3rZzGTyYPZZwOUG+upQwMWFUo8mbUyqIJ+Qb4gKUhVob736LD1jAcmlPtO15xIYCabZ+u6Vovm48ibE6Tzs9lezrm6qi7MFS3Rosw3e0Mp+3y5f8d6i6JFKyO7O6mS8LT3wbBbIqUC5pWSOc7V+zff41zomZWesqiAxVgNLBeqArtloOsa7L0HulyYX/X57Z3W7IVq9tWiPROm+1Sc18/MAJJ7t3dYFoNzdWmny9izr5dvHhrgrek0H7yh3aLJ0Kt1UK6gZFa5fsYSWcbMmouR6QwdrXXAbNaUdnHBbP2FdqO8OZ7gO4cHydmj4CjldOzUFD6V+YohFX3GhBkP0N998/Ag793cTv94krwhLWUgDRXoNiSWonBDczRIU20IKYubIoFazdutBTuk+XdFcw29+QLTmeJgecgv8Pt8nDgzTSZvUBsOEPb7SfkMS1EAfO7d6ywLDlT67xUtimPrwOsjHOwZ5f4d1ymqlv19tDWozK/+sSQDE8mS/UegOCvKaYVWM4er6YMxn3fqXC0AL3S30nzhKYsKWIzVQDUKqJRSOJcTVF+bGyPtPds6GBhPMjKdKUrhdAYonUFG+7XZXV0D40lLUOvCL52uuaYpWuRKsDcmGjf95s8cO8P1l8dI5aYI+X3kDSX4tM+/15ZlBKqaemRaWQu7zRhJJj8byM3lpZXlo1w749b4NHRsIZsvEIuqlbuGtO0jgWjQx31PHrGCzBr2jzVBPyBJmS407ZICSOUMrm+Kll0EOH9vRylLJRzwWwWCTbUhGmuCljtIo60hgiHhxq/+kPduusy6Jv1MPvboIfKGsrIe+ehNjCey7D8xSkEqyhRdAW+fP6WqtZ0d+MrBblHptrRufTDstC/VHPdcLQAvdLfSfOEpiyWAWz8DDbeVe6nMITdXUSWUyk5yBhu3rGtlTXO0iC9Iv5RXNEctYeJMpXUqV61c7MR7+nc6XfPkaIK9R4esQLPub711bQuPHnyDt6bSvG1NjNEZVS8xnc5zcjRBIqNWmW+MKmHo90FjTZAxc9XfUKOshxd7Rzl0cswS3LUhP9OZPOGAj/6xJA90HidbKFYU+jm1xSJMJnPcu72DN0YTfPvlQTa2N9B1Kk7BwBaTKSApqPiBMVvPYceWjmZGEllmzN7WJ85M2ywZOacF6c7O48yk86SyBWqCftpiEa5sjfL88ZGi46v76mc6ra6hLRahJujn1ESKdK6A3wd+n4+w32cVG2prB2AypVx3UsJTLw2w6fKY5VL6xl03c2Wzcg2uqgvzlae7LWUT9Avev7mNZ7pV9bdmAd5pptwmsyo2ZaeSL+fO1Ndtz5zS1u3261a5NsvSc0ynXp9Pd9CF7laaLzxlsQio5CoqZx24pRba4UwzdHMVlcN88s+dKyf9UtaHFatruapcDTfiPX38gfEkfWb20bcOD1qrct3fWtF+5DAk/H+9Y6RzBle31jIcT1sK1w/4fIJCQRLw+SyB6RNYzLc7O4/TdWp25a1dNZm8qqTWK2kNnwAhBLGaAG+Mqe269mBwMs3AeJKCY3Gvf39JXZjRRKaoZkLj30+oosHLYhFGpjOWWyrkF3z+PdcWrZrdXE99o4k5VgEoV9q/vjIEKBfWXVuv4uHne8nYBpk3DIan0lZ8497tHew9OjzHradThu1z7zffuYZH9vVy581r+ItnXwdU0sBjd93M7n19RRQvD9jG7ffBeDJrdSCEue9GOSJLHTjXhZWaY8qJlbbCXyp4ymIRUMlVVG5yO9045eDsHVBNPEP3i7YzqTrdRxpOC2jr2ha6Tk1y+8ZLORVP09YQ4XeePMJv37bWOp+uk7h902V0D00Bs1aPs+Xmc//1Nv56Xy8Pv9AHUjKezOETMJWapejQVdOGma76xljCWhH7haLEKJiC2R4TMCTsPTrMhvYY/eNJMKu1Q35R5MZRjLCG9V3IL6gLB5lIZq06BYD+sSRfMYvXIiZ1hxP1kQCXNKhguc7AskN/1Kt7jV9oa7BWzZoVdsQWxK+Ef/nZEOlsgfpIgM++ex0PPvs6M5kCAnXNfiForguZbiw1zo3tMTa0x4qaI4FSFG9NZyyacXsG28HeMX73l6+xKOidWU9b1rVa9SL1kQCr6sM20kYF57vhtJQnbe4kXYAJFFG62Of3ckkWWQnwlMUioNJKp5z5Wq1pq18Se4plEUU07qmwB3vGmM7kLOK4chQLTi6gg71jxFM5njl2ml13vp3fefIIE8kcDz7Xw4Eexa/0xz94jbwhFUmgKcS11ePmNrt721o2tMf41GOHAbisIUIk5OfwG+PcfHUz9RE/l9RHkFKtrA2H0K8P+0EIK43VbiWMTGf48tPdTCRVltdVzVHe1dHMv/x0iIJhUBcJksrmMbN18Ql17LddEeO54yP2W0HfaAK/Tx9bUG9z++jfrqoLc8fmNlUZPTLXAnBCMEvBrp/ppx57iVTOIOQvVkgNkQAzmXxRDES7kgqmBbGqLszDz/daClai4hypXIFMzuBPf+MGvvx0N68MxvnEN14i7PeRyhW4siXKRDJLIlMgkzcYjqfZ2Xmc/vEkk0mlMJtqQ7Q1RHjw2R5W1YfZ2K76Y+h5o5XcxvYGBiaS3Lt9rVXAaLWWXdvCwESSgE/QP5a0LAU973R69ObVsaI6Cm1lj9uC4/o31cbw3JSKp2jmB09ZLALOhy+zktvoAZug/4JJNleqH0O1sBc97dnfZxXMNdYEVbbKYBxDKnLAD9+02ur3rF0I2rUioGiVuGdfnxVcjgT9vDmaoCDhueMjSkBLGJxQzYx0cDuVU1JzJlPgHz71i1Yb1uF42jrWdCbPhCnstLIZjqctBtjJZNYSvkG/wO9TCsipKKIhP/mCtKqtU7kC5Ip2wZAq9nKwd4xTEynre6eLy/79nTevUb0hmKVlt1b4Qlk5msNpKp3Hac/osecKUlk7QqUP+wRW4WAmb1AwVC+N33rsJUuBZ/MG2bwqAjwzpe6ZVlA1JjX7RDKnCgqDPu7d3sGDz/ZYtSPOBYC2PmI1QYu99u5ta4uEvp0Esm80Mcc91Tcyo7aNJHixZ9SygnVDJrfguFsMTzC3/7fb+7LSspkWCk9ZXKAoRRleKUbi1o9Bw77S0lXM9pWvvehpS0cLB3rG2HXnjeoc+/sUkV73Ge69rcNyqdz35BH6x5Ps7DzO62YrUgm8NZXhVbOrG6iMnMlUluF4eg7bqq6qBuV7DwX8lkJoMlNgv7BjPZ95/GVSuYJV01AXCliptBrpXIGOVbVICacmU5brKleQRXEGu8C9rCHCcDwFc2PgRYgE/fgododd1hApKrrTqIuoJkIq6ytZ5F4DFYQfTxZrpFKJtxKVTTUwVsx/5fcJS8Fh7uObLQ8hHPBZLrj6iOpx3nnsNDs2Xsb3XlEFfHnDIJs22Ht0mFX1YaYzeWqCPks432dal4Li+hmnQNexh6ZoiKFJ1YVQKwUdq9BkisncrBtyOpMrUjzO+V1tDK+aoj4P5bGslIUQ4n8AvwGsBz4ipfzmEg9p2aKS9XLH9W0MTiS5Y3MbUkLXqck5cQpwJ1+z8y7dco3KlLL/zr5a1JW7AkXrEE9nefC519l7dNjqNx2rCVkCTSOezlEfDjKdyTMwniTg81nbdYpowaBI2IGKUejMJZ9QK+7Z+MYs71Mo4OP0lAqE2zN/dBymfzypqrpdYgsCuO3aVTxvBqSdKbWlkMoVeP61YqvkkoYw48lskQIRqGZCx4ZU46VjQ1M4hjBHUQCE/Yr7yk4bru9DwDdrhVjnrgszlshY39cEffwfN15udeLzidlnkskV+NZLg4Cks/sMqVzBigkBnDgzTVtjDR2ttQCWJTeZzBEO+PCZ1O46FvKAub3BZBGWKKVfFw7w+fdcy8Mv9DKVyrOz8zgS5TKMBgN84IY2TsXTZZsslYIzhmdHJUWzEKwUd9ayUhbA68DvAn+41ANZDrBXrup6AOdkLEnF3DtmuQPGE1kmEjm+d3RYpTOemmTXnW93zT7RRXrODJeuwThH+ie4Y3Mbnd2nee+my9jQ1kDvyAyJjKLrrg8HiIb8zKQLHDV9z5vaFU34TDpPR2stqWyBmWyeulBA9ZvI5IkE/aSzswrg2kvreHV4ioDP57qaNwwlcJWAlew/MYIhobk2SDJbIJUzSJsWRtAUsHZoSyXoF6wxK8btCPqFySWlPo9MpylTT1cEv0/RjGslNW2m99px9apa/v34CMNTadauqp2jrJwQqNaomYKyDDK52Xt1dWst/+mda3jo2R6yBaVAmmuDhAN+3poqttI+/55ruXvbWrqHpjg6GFd9ONJ5MvmCQ9FIgn4fhpQU8gZ+H6RzqoivqTZoBf7DAeW2CgUEM+kCfaMJ7nvqCKubokVNk/bs75ttapWZpZrfs7/P4o3SZ9fxMO3iKpVi7oYt61ott9a5wkJYcC82LCtlIaV8AkAI8aVy+wkhJiscKnbOBrWEmE/lqpOWQa+yJsy8flAB0MmUmM02QqWvRoJ+2mMRiy8ITDPepFeYSeet7nXfOay62/3r0WECPkEyW6Auoorjktk8AdPv3RaLcP+O9TzQedwSxrddt8qiYvilP3le9Y4oKMrvSNBHzpBc1VLLhna12g64Jx0R8AkKUtFt211HE8kcftPPor/3+wR+WWw9aEHeWhdmMpnFLwQ+3+xvnCv0ahUFUFQBrqnStVDVMRfdzhQws6v8rtZL0Ad5qSwhPTZDzo7PkIp+/N+ODpPI5gn6Bb9x02qeOz4yJ+MKFBHiowfeYDKVs3qHjM5kVOFhYdZSsVs1QZ/gw++YjT8hYDKRwzDv4fbrVrF1bYuVhjuVypOI5qmLBKgLBYiG/fSPJQFYu6qWunDAmldb17bwb12qj4kQyjWp56ZbWm0plBPoC131VzOGleLOWlbKwkMxKgWj7amGwJziOF0JvaGtge0mwR7M8jjZC+Ps2VFOVs8NbQ3csFrp303tDTxz7AyNNUHeGEvg9wmLuvuex1+2cvbTeWM2tRLlo7fzQOnFdtAnCPgFjdEQ19aHed/1bXzdzKhK2txW7bEIZ6YzREM+sjmJcAh4UC4LZ31DwTAwDInfR1FtRG1IdbKzSuIMtVI2DElByjluIX0d+msfpWMITmgXlAQyBaPoOIbECrg74VKoPQeTqSwzwypLyihIq72rG7KFWdLCN8cSXNlSS2tdmLGZjJU1paFcW8oq+8eXTxEMCC5piNA/liQc9BPwC4si5GDPKAd6xnj/DQ10dp9BmtfU0VpL/3jSSjKoDwf4w49tsgo5u05NEk/liNUE2XXn2wHl3tIJEeWEsJ3KXrPeLpQGxA3VKIKVUpwn5HzsvPMEIcTzwCNnG7MQQkzGYrHY5GQlA+TChhbmuoDKSdnhRuNhh85Q0v5v3bntoJkGu/fo8JzMEjtR4IPPKsrtq1trrWpvnTJ64+oYb4wnufGKRl46OcGqhjCYGUN1kQB14QDD8TQB3+zKvc0sVisYqpvbh29azbdMS8bvE1zZHOXNsSQFx5wVqMKxbx4ecHVb2GMWGg0RPzNmtzznsSJBH9nCbH8It4wmp/I5V/CbzZKqeSvDfh+hoChK4Z0v7PcmbCM6BMVWm8rOHjvknyVF3HbdKu6+tcNqZHRsKI5PCKRUrXCbakOMJ7K8OjSFlIrQUKAskS0dLTyyr5fbN17GM8dOE08ql+euj9zI7n19HOwZpSESLKr8tkOn6eYNSbPZbVHPc2fKeKl3YKXEGeaLxsZG4vF4XErZ6NzmWRZLgIVOVLeOdJVoFNygfbx2C+Lh53uZSucsCnE7hYLOfplK58zAtrSCk7rSuSboJ1so0D08Ra4g+XeTmmJ6JE9N0G+5sxKmBWIXuG9NpykYynW0pinKc6+NKOEplOC2xxZaaoNk8wbTmQJ1YT/fKqEoYFYA2zFlCli/T1Vq2xsFObmX3A5bMMqnxZ7tEkwrQjtvlIZdmAuUleLz+ecoQ7eK9FJhEX1voiE/H3pbO08dGrB+29YQAVTWmJQqM0pv27q2hd//9iucnlL9Q6LBANMZRet+x+Y2DAkPPfc6q+rDZPIFJpM5LmuIFLXVPRVPs+vOt3PPEy9bld7371jPkf4JxpNZvvx0N2ua5/Jl7dnXZ6Vo6+JAt1qjUvVD+hjnoovkSoKnLJYACzWN3RoRObGzRJ2FWxaUG/usG4X4HvMl19lNyaxKdfzADW1822RsDfgFv9ixistjESvrRqMtpoTPm+MJS0lcFoswk8mzqi7MVa1R9r8+SmttuChd1iego7WWwYmk5a+fTheslf90Zi4BoGRWuDqFrh0FQzKdypfcXg4hM/XUmeqrz50rGNb1uwnsckrFPuagT7mk7Kt+vdUZ6wg7xhTwwaq62fTdmqCvKMtsTXMUBAxPpvjHlweteI6uS6mP+MnmDdPamj33U4cGOG0eczyRo8asai8Ykodf6CWbN5gxi/y0azCdV8rGXqW9ZV2rSslN55nJqNiYvriR6QwDE8my/GjOYs/3m7xileIH56qL5EpCiRDi0kAIERRCRFDjCgohIkKIZTXGc4F7tnWUpHOuBlvXtlAfCRSxwZaDnvx79vdZJvzOzuPWd1vWqd7X9+9Yzy3XtLLrzhu5e5tqa7q3a5h9J0a454mXuWVdC1e0RMnmC1zf3kBjNKjqFeJpvrDjOupN99J4Isv7NrcTDfmtMQT9gq99aJMSTmbaZtAvGJvJsKouzG++cw0/7Z/EMCQz2TyXmatamBWydiskWzDmuKPs52priOATwoqNgFqta9TYKDvKKRNQArg+7J/zfSY/V1Fo1Ib8rj2/7ajW+nCLXTRHg+Y1UnSNzjHlDZVS3NFaa1oKAu3k0vfgjdEEqZxhKeLacMAam3ZxaUWlzzcykyk6bzpnUBP04/cJJpM5cgUVJ9rY3kBN0EdN0M+92zuKOK90Sjami6ouHLDqLZprQ3zul9cVvSd67kJxvZAmHOwajFscXrv39fFiz2jR7/RnfW7d+8T+PSz8/bxYsdwsi78GPm7+/1bg74FfAp5fqgEtBhYaELOnxbqxcAJW3wFnvroOLroRFZYal3YdHewdU9lVmQLffnmQL/zqdUXkgAd6xth3QmXi3PPEy3zwhnb+8cgpsnmD1towoF5E3WVOd3frG03w5z8+QSqngr/T6fwcSaotDXuxnBt8Qrly3prOzFEmeZv0dqP5LoVs3iAzT+PDWSfhNt6AGfeQzC8GEvL7iKfy+Hz5ku4lDYFKV53JqEwmfUsCPrgsVjMnbVjTliAl05kCa1fVqjiRodw+BUPSVBtix8ZL6Tx2mretUTGpukiAmXSeTF51JMzk1bPsHUmQzhlsXh3j7m1rrW59faMJvt55nO6hONFggM2rY7xvcxt7jw6zsb3BipNtaI9ZbMj2Hts6vRbm1lc4mZBLVW+XKuAr9R6sdPfUslIWUspPAJ9Y4mEse5QzoUt1DLNP7mqJCkEV950cSbCqPsynb+3g2FCcr//gNQxDsvfosEX0pjOzIkFVXDedztM9NMV1l9VzdDDO8JTiG/rCjvVzJGfANyu89aagXxT56PX3l9ZHODOdtoSe070jpcp0CvpFVQLbjpqgj3TOmLPfYqWA2JXefILl2oVUKCgTXKKeqZvikPZ/HRaHtgwCJqVKQSqLqG80QU3QR0drLW9NZcgbKqi9sb2B/rEU927v4KlDA4wncjz/2ohVR6JiFhSl2g7bMs5gtmveZCpL30iCaDBAKlegqTbEwZ6xOVTjzjogO91M16m4RVrpJBi0vx+lqrdLFfCVwkp3Ty0rZeGhOpSzTCpN6HK/dVs57e0aVm6MVbVI4EDPmGVR2LuoXdESZWBcdUzTtNd9o0rJaJx4a4avdx4nlVP9GbJ5w2ygMzsG3Q40lTNcO8vVhPwIoZbIPqE63k2lctYxJEpo2WktnCiV9hoNBcgVsvOqq1gISrmwNKrJwtL/LZUFFvT7XO9jc23QqsWwb54xAxOpnFFkdUig65TKeDrYO8Zb0+q3hlQbp20JC8otuZ77njxCJq/YcCVY1B6f2d7BH//wNRKZPLXhAFeaHfnc4g3O+IS9x7YmsvzO4UEQlCTQlC7352wK+JxKZ6VZGp6yWKYo1xSm3MQ8mwIhfez+8SRvjCaKguIzNloJ3fhmcCLJVz+4ia93HlfU4VIyOJ6kPhzkjs1tbGyPWT2X68Oq+GvabOLTN5JgY3sDEjg2FCca9FttUQFaa8NkCgXV+tMRvA34BKncbGDbkBTRiNtRzj1TShcks3lLcLrRgGiUyy4qHu/8CvqcsJ+iIeInV5gb0C43Fp+AyxtrGJnJWM9R71rqvjm1k/M+5AuSgz2j1EcC1BiyyBLzCdWZr38sydfNlOzacAApJa8OzfbnPtg7pnqR+ASJbJ7+8QJSqj4b37jrZna/0GtR32tOKPvwtODXRJaaMt/NBQXnziJwLrRWmqXhKYtlinJNYcpNzLOJh1jd7AL+Od/ZC/o+/biiER+aTHHfk0eYTuet6mMhBBPJLA8+18Puj97EZ27r4CGTpfRz717H3qPDnDgzrVhLzU5xl9RFrBUqYFkDKrvGKOImAhVz0K4Dn4BwsLgOoFqUykKyp6VGg745WVYa1SgKUJ36nEK5WkXjxFSJWgpDmplXeWOOEswbWC4lKL5mv7kSLxizLix9X/w+ZWUlMnluu7aVV4emGZ5KWxZNriAZT+S47bpV9I+r2hqfgKtaazk5krCyqOyLgpDfx0/6xnn3nzzPuzqaaYgEuX3TpTxz7DSTyRyN0dn+74+80MtEMsfXO19jY3vMsha2rmuxUruFgLtv7eD6y2O8b3M7EtXp0Z5OrlHtAmq+lsJKqdzW8JTFMoFzojon4rmcmPaWnXUm26hbpbgQKt21s/s0x4bifOCGdr51eADDUFTYjdHZjmsnzkxbgfBZxtA80yN5Hny2h8/+8jr6nk0gMCy2Vy04/T5B1FQ6M1mzAjxXKE7zMVEwlPvp0voI2frouwAAIABJREFUn7zlKh545nhFd44TPp/g+vYGuobihP0+q1LcTjZYSlHMB26r97NRFJXg5maywy2YXzDdR6BW6gL1vAM+VViXMHtnvNg75tr1L+RXPSlSuQL14QCf+2VVxf+V73YrN2S6wHQ6z9c+tIk9+/t4+Y0JyzU5MJ7EQNI9NMWapihrmuB9m9vYva+P7lNxmqIhptJ5ClJac+lAzwgHXh+hIFXxqN2K0MSXdiXibBFcjfCfr6WwUiq3NTxlsUzgnKjOiXi2E9ONjHDPvr6ilp3NtSGrGtfp69WVsg8+16M4mQwooCitd915o5UFlS2o1MmAX1FzHBuasigkpjN5Hnq2h0Q2bwqjWTdSOOCjuTZk7Ts6kzEpQHxk84UiHkF7f4fhqTR/9qMTBPw+CiWEZSk3UMGQ/My8/qRxngIUC4D9uu0oZSGVsl4CPkHQ0SlQQ7t3OpqjrG6OWsLdvq9WKOGAn3S+YMU0BFiZeaubovSaVfynJlN86eluTsdTREN+agxl4WTyBn6fsBiHt65r5aBJ2aED2NGQn47WWj59awfdQ3Fe7BklZ86bjtbaokC2vT6olCuqGlSbOOIWFymHxYxtnM+4iacslgkWy6R1IyO8Z1sHB3pGLYpuO7PswHgSCZyOp1E04dLKgX/L1pehLhRQK8GhOCdOTyMlGIYkWTDo7D7DdCbHmqYob5pU4Jc0hHlrSlkbbQ0Riz48bxhWoDXonyUGzBkFaoKztOVO0kConP6qabgXYzV/LlEpkO2mKHD5jYbb9YYDPrJ5oyh92A29Iwn+xwc3se/ET1zPF/Cp0eq4gaZH6R9Xne+2rm1RLMCoe6+5x1I5gxvM3ij3PPGylR6t07e7T8XNlr2X8Uz3GeLpLE21Ibasa2X3vj4MJPWRAB2ttUX9VSSqANWebgtUDETbuaV0+nm1iSNSMi9ltJixjfMZN/GUxTLBYpm0utuYDgJqxs/ffMdqnjl2xqJL0B6fkZlMUa+EoF/RQVxSHyaTMxg3YwaT6RwHe0Y52DNqCaBMQa0Yb9+kzqXz8/0+uKIlyhujin00GvbTFA0ynswRDc32ZtjU3sDPBmbpqgM+QX04QN6QVfeUsMOtx0M52JXT+YTbCM81ZVtzNDSnCZO2FOz6421rYnz56e7ZDoIO2pFCQRbRukuwGhnd9+RPVaEm6l62NdYwmchaKczT6Ty79/Wxqi7MjBm30i6jgfEkE4kc3UNT7PrIjRbr8ccfPVQUh9Cxie5TqgBvIpktSre1V3NruAlUHRd5+IW+krVKdjgXc/Pts7FYsY3zGTdZlkSCC8VKIRIsBftKSpvkW80qbTv5oL0OQxOubV3bwlOHBhiOp2mMBqkJ+qk3G9gA3PPEYWbSBa5urWUymWMylZ0jlJtrFYvozs7jvGJzd4FabYYCqp4BimsbSlkBQZ/AQNJYE2TMjAOU2leg0kXDAXFO4g4XIppNRWxHqSZPdmXhF3Bla21R//AOkz5cu5aCfsFjd93Mbz12uEiB+x3uxZqgn7xhUB8OEk9niYYUjX0im6c2FGBVfZi6SAABvDo8RSTgZyaTZ/PqmJXS6jZX9Xc6w25DmyIt1Km1H3/0EPtOKD4yPQ+BOWSCf72vl4df6OPe7R1VKYuVgnJEghcdlcaFCjdKgrOFnd7DSV1QispA+6wlii/obz/+Dq69tJ6BiSRNtSFrRfe5d1/D9utW8Zs3r2F1cw3XXx5jdXPUOo7fN9sv4/4d66mPFBuvipJ7ljpCOrZphPw+/Ka5kzNU17wJmwB0KgqfUL59iSpaW6mKAty77LmlAasGR7OfJVi9JzROjiYYtPUU//BNq81nVrw4+OKO66gN2ylOJBvaGrj3tg42tceUosjkkVKlKE8mc/x8eAqADW0NrGoIF7XwBfe5qr972+pGkMoatVN/3LOtg82rY9SHA8STOe578qdAMT0IqJbCR77yniJFcbBnlA/sOsAHdx04J+9hKZzLd/18wlMWywRawO/sPL7giXTPtg42tDXQP57kgc7jlvnuxqujsbPzOPtOjPDQcz2WorFzUOnxae6dB599fTZIbgqImqCP//SO1dQEZxvefPbd60w/92xyk98nuGF1jCtbaknnDHy+4sSnoE/wd3e9c457Rqd3usGQVPTHA5YCupigU2NLNYsqBWcHQbd7KCnOtnrm2Gm+8nS3pfBBuZc2tsfoaK1DMNuuVdXUxGiMhkjm8vj9AiEgFg1x721K6L/v+jb6x5P0j80uSvT815xlEiwhDmr+/nRgkpwheebYmaLx6mK73R+7iVhNiHg6y579fXOu3U1gawqQo4Nx19+cK9gXcxcSvJjFMoH2PY4nsgsOWOnGR0dt3DfOoJwzfdbeTe+KlqgV9J5I5Hjq0AD1kYDFFPpA53FmzJX7TCbPyLQilbv20npF85DJM53JW20ztQAK+pX/2y/gDpMHSACX1Ec4MzVL4ZE3JJ967KVZxlZslcplrtupK9xiELqvgq4nWIyeFOcb+hoXWnleylUVCvhojoaYTOWYSOSsNroBn4pn5QqS3//OK0wks0RCfhprVHX4dCbPl5/upi4SYFN7jDs2t1mp2V2n4rwyMGmlvEZDAfrHkvzWYy+RyRlMJrOWO8qNx0kX5N273d1Xv2VdqxX7qJZZ9mwoQM4GF2p9hqcslgl0gNverKVauKX13bKuZc7EFwIraDiZzBb1Sd68OmY1pjnYO6b2N48/MqOoonUQcWQqAyhXUW04QDKXoKk2ZLVRBbW67B9PksrM9ovOFaTpJpI8/EKf1bRmPJEtagOqg6YaAUfqqCXsRXnKjFLBav0Tu6Jorp1bQHexodL90jUsRb0xhLIshqfSNEeDpHMFKzaRN5MXkHBmKm397tpL6pgxiy/tc+fubbOZRzrmkcwWuPWaVXN6cfeNJizrQgvxmUxeLaZ6RouOVSp91C1pxK0XjH1/zVywmLhQ6zM8ZbHMMJ+JpCf+ZDLLq8NTc9L6vnvfLRzsGbV6a9sD3BvaGri6tZbheNrql60DhPr39+9YX9RJr388yQd2HbAyogJ+wRfNfQC6T8WZSeetFfvJkQQh0zdSFw6QK0gyebUqnUnn+Mjf/IT6sJ+gw3/iTCXNG7Ko7adWcE5Loj2mUnKd34f8gpbaMGOJTMnsqItdUUBlLiqYa7nZ7+V4MmdWzvvIFgoWA3DQL9h2TSuH3pjgkvow9+9YT/dQnD//0euksnn8QvUd3/NCr1Xro2nScwXDEth6ro3MZEhmZ/vE79mn4l+7be6bamg33JRIqV4wel+dXbVSKDzmA09ZXMCwU3LYA4H2FZPzRbpnWwcD40lOnJkB1MtaH1E1E987OsSRNydorQ0zkVAKoTEa4tXhKeojs93kQqbj/7KGCBIs4sATZ2Ysga786ML6PJMpptO2mhhlCmCzPnSg3Q5DQk3Ip1a15nducm9VfZi7tl7FH33/uOW2qgn6aYtF5lBxr3Q4FbL+7Lz3LWZ7VP21IWd7XFxar+hacgXJydEkV7fWWr872DNmPfs8BidHE/zxD16zGHJ//z3X8kDncQoGFhuxRPVqv/PmNZa7yl5gV8p9o9PD22MRq1FXKYqcUsco9S55mIWnLM4TzmWlZam2qho6cwlm/bATpvm+ZV0rE8ms9SI3m0HFF3tHQarMo3S+wGgiY2VTaSoQ3XO7pS7MTCYHAr7y3W6LcVQfUwBtjTWctKVgat6ncjHoSxsiRe4oO+wr/1KVy91DcTa2NxRxJLXHIvQugqIoNYYLBfax+wQEfL45AW9QmUsW79Noovj52dxagxMp6/e6PergRJKhyRRN0ZBqpZvN0xgNsWVtCwd6xrikXj3vt6Yz3GcyyJqHtaziCUdXPfc+E2NMZ3J0HjttFZ66UeZAacvdyW7rYS48ZXGecC4rLe3HcvLgQHFL1e/edwuN0VCR+X77psv41uFBLqkL86cfvkEdc38fl8ciPHPsjFXA1xaLFLF/bmyPsbPzOL0jM8xkCkynE0Ud5zQkUB9WDW2UWyHNTFpZBbpHhU/AtmtX0T+WtFb9p0soCju00nErDyoY8OShgaLvFkNRwNIpirMtHAz5BXU269AOQ87NjNLQ5+obSeD3CcKBWbqQyWTWinHYfz+TUcV3N1/VTOex09x23SqODak0Wbs7KRL0IYCZdJ5UroDfJzBs2mjPvj6r4E5nSbkttuwLGju32XxcuhdqHOF8YtkpCyHEpcDjwC1AD3CXlPLlpR3VwnG2GRBuFon9WHYzXft37bTiev/JZJb+sSQf3HXAypPPFJQloGkT9uzrs/ieAH7hK8+Qyhn82Y9OcPe2tZbLacZWw5ArGHS01pI2eZ2EEFzeWFNEvfBizyi//+1XeGs6g2Er3HpteJpP3nIVf/Yj1SWvGgFcrkveSkAlRVHK4smaTLGV9isFv0nzkcpJWmqDJLMF10ZRAAPjSXpHElbs6jsvDyIlNESCwFzhvnVtC3uPDvPWVIaZTJ47NrdZ+00ms7w5luQzj79MMpevGJeYT4HdSutHsVAsO2UBPIxSEh8EPgb8kxDiGinlBR2BPNuVyx6HMtjZeRwBrjw4WnGsaYrSVBu0XjpnKm3Hqlp8QhBP5tjZeZzGaKgoSD47TlH07559fao9J7MV1HlDsYD+4Yc2WYSFT700wG89dthaBbfFIkymchSkJCB8Vhfo4ak0Dz7bQzVcfkEzTuLGgOphFm53pz7sn1OkaN+vPqJ6itgr5AF+ef0qRmeyHB2MF9VfTKcLGFJax3AqHquXdyhAwO/jbWti7DsxymQqy87O42aCQ543x5IIFBGgBE6bdCSalFCikiomTfdUU22ILR0t/z977x5mV3XdCf72Ofd969atp6QqqnhUCSRTorDAkLYEErE/j0WEiSfd7TbuZBgywbJsxf1NkjYkY6Ztx0mQnUkmRGkhuc24x2mwzbQNRjZlJyZIqLBbgDBVJRBSVQmpXpLqdd/vc/b8sc/ed99T577qeSXO7/v4UJ17Hvuee85ee631W78lPAwKCKn8Yo2PSsH8bl0NhmMlDWBNGQtCSADAfQA6KaVJAIcJIX8GYBuAo2s6uDWC2Yvg9MJ9z5wUfYgpwGofDPkDADg/F8fBoyOglL18MpWWAtApRdBoiSon9ji1ds+OLvzRx24UXHYeP94Q9CCWyuHOGxrx8pkZwcuXBQv5CpbnMEZn4sLs+F0qrmn0YnwugYxGRb4DANyqgnSRcIjZSMg1Eg6FVFSQ935Ek8+JcLJ4A3GFAK0BD85NxwsMBQDMxDJo8LkWGKCcri+o/Oa/nUtVxOdZTcf1LX78cmQWOZ0KiQ4z2YDXchDC8lYyO2o+kYXXqeCm9QFBzeYh1gafC5FUtmK1WaHAvLEZ/cOzBTm/xSrV1hpWUliwpowFgBsBhCilclnmIICbIRkLQkg50afgCoxtTWD2SEIJ1ruYS2ps29iC/X2nhddwawdrFuNzOhBJ5vDksRGx8uJJw/19p7GlPS+tIOvm3H/gOAbHwxifT8DvdqCz0VuwgvM6mYbPiffm8egu1l51W3czfjIwhZvb6tHTXo8fvTlZwFySuftZjS6QlOCwMhQEEH29OZwKgSYlLbjBso3GQlhJf8jQKTA+Z/17vD0ZQYvUFlc+xoyMxjzI1oAbt7TX48cDU0hltQIp/JxGC7oiAqxWx+1UBD07ndNFfiKWyoliT3ML1NHpOL740bYFSemxuQTeeG8e3zo2sqAOg3vPg+NhRNPZBfTZSuTJa92QrGTBX0ljQQj5t5TSZ5f9qsXhBxAxbYsAqFvFMaw5SrVUfX7fXQsK94jxX52hw/TOVEQIrJmTfoePjeLUZBhBL4sfc8+EJ8k5WPyYrQAHJ8LQKQs3tda5Rbe7IwNTeH7fXXjwqROif8WZSzGkshq6Wv1IpDVcjqVxz00tmIllxFh5LwmHAqiKdZc3p0KgKAQ+l7ogB5M1zVb8L9tQFO8vXgrFak+yOi3KTjODApiJpTEdTePcdBw5nQpvkIepZLacyyA6qArBFz+yMS9e6XXiseeGcG4mjq5Wv+jSCLD3AmDPeTydw8GXR3HgM/kcG2f6RdO5AjVZMy3W/E7wY4sZAjNhpJaxkon6cp7F3xFCfhvAFyil4TL7LgfiAAKmbfUAYvIGK0VEGYbnUbPehdVKRd5WrqWq+YHY3duG0Zk4WuvcuK+3rUCFE2CiaVwkLZbKCa+DFz197rtvIJbOYXw+gTqDxcTlOEZn4mLVty7gxp03NIkwAt++Z0cXTl6YL5A2T2Q0TMfS0HSKf3l3Gn4X66a2v+9dsQ8Bk5cwT25Nhsx1VtMLxANlXOnU1ZXCcqiX8OJOM+R+I0AhM0tVCD51ewdeHLokijY5bmjxYzqWMuozKHo7grgcTWMqnEIyq+GJl4bR1eJHnacO70xF4HHmCznllT+ftG9o8cOpKEL3SX4X7t2yAc++Po57e9aLbVa02GoS4eXkxBbreVxJHgtQ3lhsAfAPAIYIIQ9RSv95hcdzFkAjIWS9FIraAuCvV/i6qwqruKK8rdqWqv3Ds4ilcoilcugfmS14weRrcn0dLi/OBQJ53uByJI33snEEvU70tAehU+DvXzoLl8o4+HVuB/qGLopzckXZbRtbmMdhhA0ogNlYXhNKpxCrvX/3oQ78N4PeavYQOEqFTgJuFfGMBpWwkNPVZDBWu1FTMYNLaZ7iLCNn8kBuWp9f1+2+hek+7b2nC8+cGMN7s3HhjX76jk4cGZzCWaloszXgxlQ4BYWwRcfAeBi9HUHc3FaPaCqHrhYHdve2iQVOQNIvC3gc+Pont2B/32nMxTOiMry9wYNnXx+HTikmJI9oqavtR3ZtLinBs9g8wWo2LloOlDQWlNI5AA8QQv4NgH8khPwYwJBpnyeWazCU0igh5AiAxwghfwLgd8Ge6VeX6xqLxWJWAcWOkSf/YgV2xTRurNqkmgXQitFtQ9KKb2w+IY7n2+/rbcMTvxjGfJyxpC7MJRBLawh4HNi2sRmfvbsLpybDeOKlYdS5HQaDZATPnBjD+VnmbXiMZCTn1QNsBepQFdE74IdvTlRUK2CePFUCfOLWdnz/tfGihkZGsbaqtYrVjqKVulzWSFZntHyvdL6/S1XQXOfC6HQcn7i1DROhFH4yOCXYdJ1NPrw3y+oyWuvc+N5rYzg3E4fHqYpVek9bPd6RlAHqjJ4ph46N4m2jtuLIwJTIecj6ZVxF+cJcAtEU84gjyRw0Y/HgVEnBxF5JS9RS73c5Y7PYPMGVJihYaYK7H8DbAD4OloTmoACWzVgY2AvgHwHMg1Fo/3Ut0GYXswoodoz88MlaTFYeAYecpBuaDOPVkRlQCnGcrANlpW/DpZsBFOQ85O0A8MLAFAbHwxidjuP+W9vw4qlL2NWzHhOhlOhOduh3bxfskfG5ZEHYga9GeT0FT1Du7m3DMyfG8M2fvStCGU1+J+bjWctJy6kSqAoRUtgErFr4B6+PVaRxBFxZhsIK5UJtqmkSX074XXm6rdmIqQrzQjVK8f3Xx6HpFF6ngpY6N341OotGnwt+d5755HUqorantyOI3b1t+Ebfu8jpFOFkDrd2BLH7ljYcOjaKaxo8QhZfLrDkxkR+bzgTau/OLhx8mT33TpXgSx/fVFQ7qlhL1KWs8vn7zGXPK11QXmmFgGWNBSHkM2AG4fsA7qOUWlMnlglG+OljK3mNxWAxq4BKjinXJF5uEckT10GvE6FEFg0+V8FxciLv5rb6AokPGVwDaGgyjMcN8bZ642W875Y2vDMZQTyTw9BkBLdcE8SvRucwOhPHK0YHslAig0d2bRaFVU8dfw9TkRQIWOz6ciQt+l87FAVvjYcxNBlZIH8dT2lFJ7qsxhKkQrPI2L5WBmAtmFby1bxOBZqRNObbF1ty0hYsLqsCAG31HlFPI0MhACH5Cm6FQFRcJ7M60oaI41Q4Ba9TFR5Je4NXFNwBLGxKKfttQSka/S70j8wWdMDrH5lFvdFJr87jwKHfvX2Bdx5KsPqMnvZggRy52QvntPG5eAaf6G2zfN+WY5V/pYWVqkU5NtR/B3AngH9PKf3Z6gypNrGYVUCpY2S310r9kie6eZ6htyNYIHBmfjEA68pucwIQkGoixsPCKyDI972gYAKC0TSLJXPlWD5PR1M5IUXe0x7ETRsCuBxLAWAJ0FAyCwLA7cgrxVp1auNUWas2oBzLNT0vNR9AsTJJ9UrPuRiJj2IGbiaaLvibGfW8DPy6ejc2+wP4l3enxT681uHMpSiSOoWqEKikkEnFL0UIBHW6ye/Cn//2FlEfEU3lQAFc1+wHCJOFkQUweTU3p1dzT4Sz9eQwkixjY9XQS568+b5NfpelB78cq/wrLaxULcp5FhkAvZTS+dUYzNWGUnHQYnQ8c6Kb5xNkFxzAgtUTv4a8j9WDK4uz9bTX4/uvjUOjFHWe/EvLr3k5kja8kPyEEPA4EPA4MGAUB375uSGAsLqOOrcDU5EUNJ2izqPCqShIZjUmEV7nLljN8nh4wOPAgc/chp8MTIrENwDDS8l7Ek6FVJSn4FjuZLGVsVsOrKSvktOpJZWW30duqJi2U34kgxMLiY9el4qR6RjSOR1OlWk45bhxQOH32BBgnkmd24HWejdeeGsS56bjuKHFj4DHwXpuOxVEUxoCHhVAnsK9v+80Rg3tMQJg56ZW9A8zryOUyODCXALhZBaDEyHs3dldcnI2T97lJvKlspOutLBStSiX4H5gtQZypaOcdr75ITLT8Yolusvxuvk1eEWrbDR4ZTcAPGoYG1mcbWgyAp2yyto//M2Nou8FX4XxhGRnkw91bvao3Nxejx+9OSFmCM56ARjDxakSZDQdGQ1QCPMq3M6FtRIfaGNMGu6l3HdLW0EDIorCkFPWojFPKRQ08MHKJ499TgWJRaz+F4tKPZIGPwtZWn3/YseLDoUk7x3KulJuRUFSy9dMUDDj39HoFQy5y5MpJLIapiIpnJqIQKMUOV3HdFRBZ6MPyayGaIr9xync+54+KaQ9eE0P9zC4MkE0lRN93s3MP6uFk9UCy4xSvSyuNHrrSqLWKrivWFSjnQ8spOOVU5ItBn6NeaMdq2w0eBiLAtjz3TdwQ6sfW9rrRQLxhYEpAEBXi1/EjGXqLmdcbetm8gh7dnThC0+fFElnebXvUhVMhVlvAz6p65TlMBKZHNbVsdUmD01w6QZes3HO6IlRDGziKq64SsBCKVbeh7IK7VNX01AAlXsknY0+fLynHs+Y1Hg5SnlshACb1teJIkoOHlqUx+F2Kvh3d3TiyaMj2HptAxTkzxv0OgBCkMxoiKZzSGU1dDb5xDV+NTorPAZFIbiuyYevf3ILDh0bxbEzLBTWaygT9LQzj7jv1EVs724uGFe5nIFZ7oM/37yy26qXxdWeh6gGtrFYJlSjnW/1mTnfcHx4GoMTIaH/ZAV51QNAtCjlRoOCiQby5CKX8eAJxEdNBkv2aHhIAAB+MpCnRX7+nm488dIw1gXc+I0bmvD91xg7SdNpgUy1y2iF6lIV3LS+TsSqVYVgV896PN53Gu9M5em1rQE3MppewO0ngOGpUOi0dNyeAgUSIPUeByKGN3M19NleLEamYwWSG2aPpFRoT9NRYCiK5UCcKsEnetvwzZ8xhtPRM9PQ9HwosNHvwi/++B5869iIYEFNR9MIuB2G8dAxFUqiwetCOJXBtc0+UADziQy6Wv2Cps094olQCpEkq+DuaQ8KJpLc+8IKPPR78vw8UjkNgxMhRA09NW4kismfr2T46krBwmYENhaFbRtbLJNsMji17lVDtkDeBkAcv2dHF4Jep6iyLobDpiT2dx66E/f1tiHgdiKazuGdqQg6m3w49Hu3o7cjiN6OIPbu7MbNbfW4MJvA/r7T2NbVLLwYefyHj41iYDyMASMpyUUGjw8z6uwv/vgeTIRSUuKXhbNUhUCngENV4FQJUlkNpyYjCCVZHkTTKfqGLmFwPFxQDfzhriZs2lBYvE9RXIrCCvI8lspqxXd8H8BpNP6IpQsZZ8XuptzZ1utU4eCNQyRoOkXACEfyjxXCvJdTkxFQSuFUCdYFPIanx046H89g69d+DgD4jx/fBEVhRZqtATe8LpazaG/w4sBntuLuG1kdBZ/Y69wOPL/vLjy6a7N4BucTGXhdqqjgBvK9LwAmXSO/Yxz8G62rd2P7xhbs3dmN7Rtb8MiuzUXfXc4cLAX5PbyaYXsWq4hyldt8GwXQ0egDaSxVtc28B3kl1T88g4MvM+HABp9ThJvMuY/jw7NitTlmeBr8+nLu5OT5ecTSrHr2Ow/diY/89csYnYljfD6BX/zxPdje3YxXR2aQ0ygafC4ceGArjgxM4tk3xhH0OA2GFEu08pi316miwedEo9+JRJrFtAHgv50Ywwc7g1XlJUrF7asxMku91nLA61SgUyyoml4sqiEDACw/pBCm+toacGM6kha/zQc7g3j3YhQZTUcsnUNbvQeb2xhbSqfAuRmWvPa5WZ6Bt0V9dyqKqUhKMN0OHh1FR6NXeHqEAN/+Xz5UwOzj70DM8EQ53ZZ/9uBTJwq0z7hKMs/1XZhNYKCIjpMc+q1U9qOSMNTVzoLisI3FElCt+2n1UFltk5PQxc57WKp0lQ0PL1QKeByiSvvm9mDBOM1V21xUrX94RqjLjs0nQEHR5HdhZDqGbx0bwWQ4CQCYDLH/94/MglLGg2/wOgtqQtbVu7GpLYBrgh784I1xUTPhdSoiT2FevP56LB/yaPa7EE1lS076nC3FT7OSk/lKV1jIITa5Be1SWF0KyRczVgKdskn6cjQFn9MhQolvT0YKfodL0ZToPQEwptTEfBJpTUc0lcPBoyM48MBt2N93WhgcAmDvzi4cMfJkANN+slIn2LOjC3W8xsLwZIoRQB586gT6hxkN/MBntgpCB0cptmAlqMQQVHLecnPFlRDKso1S5mkJAAAgAElEQVRFCZT7AatNflk9VFbb+AMqN3qxKjQiBAX9J8wPNl9FmbX6t21swZd2bcbhYyzmy1dXDz51AuFkFoQQnJuOgwKIG2GMg0dH0ehzYSqcQqPRB4Nfby6eEYl0r1OBx6Hivt42IWA4OBnBkKFcG0rmWTWCl4+FkzGltGyjI74IX66J3ONURPJ+LaHTfM6nUkOhFkniX9fsX9A/gsPqvqeyGkAZKYF/lpHUYwlhRojTZr1OBRvqPQXX4HIxj+zajC8/N4SLkRQ21HtEcWW3oUg8Oh0vkBLnoaczF6OIprPoavXnZfSLEED27OjCyfPzmEuwxkrmPNxSE9TLRYctN44rIZFuG4sSKPcDrpT7KbvcpcJW33nozgVyIcWogmYtKjNNsH94BmNzCRCSrylQFeCem1rx5lgYe3d24YWBKVwMp+BxqsJAPXx3Fx57fshQCiUGU0bHX//8DI4MTIECODWZ9xgoLZTRVgiwPuDB5WgKmrSSLlak51IVqAopYOSYJ73FrsbbG7wYnV7ent2LDV9VG0azMhROVcG/6mrC+dm4pXdhdQUevnIqBB6XYijFGm1VKUXQ6wJIPqyYybFambZ6Dy7H0vC5VERTOZy5FMMLA5OYjqZBKcWFuQSefHkU4VQGQa8TmZyOWForkBLnoadLUVYJ7kpkRW+LYo2KvvPQnehq9YuwKidnHDo2iqGJ8IJQ7Vqh3FxxJYSybGNRAuV+wJUuwikmOMilC14dnrHcx+wJyS8QNxJmmuDhY6M4NxMXjCVNp7i+2Y+cDtGXmwIYn0simdVw7My0YFzxCbarxS/qLtI5HW+Nh3FrR9CYQNikw1eXt3YEMTafwHw8K0IVZlhN+hlNB6TctUsl8LsdBVLm8jHVGI5kemlJcQUATNdzWai3LhdKfTeFsIn86SKUWRlmg8ZCVxSJtGyQKSghCCUz8LsdhTsDaK1341I0JWTqk1kNz74+LthTAY8DDX6nqNlwOxQEPA7s3Zl/twJG6GlDvQepnI69O7sWLI44QomMkLN5ZNdm0a71VeMd4F0bBTmjiroJK7HOpb7n5eaKK6GgzzYWJSBPsvzvxWCx8chigoPFZA6sPBEOcwMYrtwpu/PmPAan4ea9j1lE01lkdWsS3XQ0jQfu6MQzr41Bp6wuAmBtO2OpOBTC4udGO218sKMB/3JmumCm4pOfqhC4VKXAg+CTozy5ZTSKTAlJc1LF0r6Y0eJoKlHgBjBviZg+WylDARTKqQCF96WUgTTfEvOuhAB+NzPwcq91vqdLJWgLsrqZ1oCbNb4yWE0cAY8Dd1zfiKNnZrCuzo119W5Wue1g+6VzOj7c3VyQYN7d24axuSQe2n692N7THlywYKPIK87yd0B+J8x1QlZ1E+YiVhlmY1NpaGg18w5rkeOwjUUZLCaWaP4hqzlHJbLmgLV0QSlPyNwARk5my8q1HA/v6F7QkW97dzMGJ0K4t2cDJsKpgl7Jo9NxJLMaJsIpbLkmiMHxMBQCDBjNanZuasUvh2ehaboRmooISWkZBGCFWc0+JNMakllNrDZDySyShuZQpTZADs+UO6acF1LKUHCsdCKcg1FTC5P7S7m2S2U9sNM5HRvqPbgUYfpRDT5nQfU2AMzGs7i1w4df/ulHcdionYinc6Jo0utUhDKxQoBNbQFs627G2FwS1zZ5MTgRxvp6z4KcXP/wLMKpDJ74xTBeGJgSqgNWk7ncextY+HwXYzuZi1gJKdSb4gSQYsamFFYz77AWOQ7bWJTBYmKJ5h+ymnNUImvO/zajXBGg7ElYvXClznfo6Ai++bN3QY3GMjzJuH1jMxp8Lnzxo3lW1QsDkxgaDyOVZYYh4HHg4bu78D9GZwGN5ShimVxBZz0Ahk4QQU7TcWE2IeRDetrrMTTBpEl4iGxD0INLhspppbihxY/L0RRiRcJNOkWB5IjV57UAbvS4hPjCiggGBYBDJQvyH1ZfQy6onDQ0vFSFIFzEa4umcrj/wHGcm45D0ykUhaDB68JN6924ub0eX3j6JLZe2wCPU8XAWAivnJkBBUV0KguNAqmcjiODUwX6aHt2dGFwIoS5eBYD42Hs7zttKXdj7s0CVB7G4fvJCyErAkg5am2xnjGrlXdYixyHbSzKYDnodtWcY7keAqu4q1U3Prkor1hct394Bt/oOy0S0HPxDB57bgijM3EcP8tky+Vq8y88fVIksFWFCMHBVJYlQx+663r87T+dWTBmntcAWII1lMgiq9ECSm2T14F4RkMokYHfxSqA+eRZznOYCqfgUEvsABQ1FLWEBcyxIvvpgCWjzO1QkMnpcCgEGmXyLApRCgwGADgIQcZkIf/9nZ0YmoxgdDouclwEjBQxFUnB61JFruKVs6wGh59BVVhlfSiZxb096zEoNcgC2PP3uR3d2P+zd6HpFNFUDg8+dWJB7oCHoSKprKWqciUhGvM7udQFodU5VxJrkeOwjYUJyxELXMoPudxUPTnuauWqW+U5OIVxfD6BjkYfQomMYNO4HQrrk2zMuhplcg+RZA5ffn4IlyMpEEJAwJK7fpeKgfEwnIbRaK1z48jAlKgrCHgcuL+3DT94gzXRcTtUZDQdOZ3CoeY9CY5ClhQ7B/+U/1+uU+BgIRINWAFbsBa9LswoFkIzbwp4HMhpOjYEPZhPZJDNMnpuwK3A7VCEfhfAJOSb/C5c2+TFr8fCIACGJiNMpjyrw6USuJ0q4ukcFMKUaKdjaehGJfenbu/Ar87NYWwuAYeqYEPQg3MGGWJoMgIC5u0BEH1X+kdmAeN4AJa5g8PHRhFN5Yp6xcUUnYthpeovrjbYxsKE1Y4FrlSiirvq0VQOnY0+y3atfD+rh56CKcq+NxvHlvYgbu0IAmDJ7yMDU4imclhX70ad2yG2DRq1FABbbX64uxlvvMfU7TWj2Q1vbgMAPpeKP/zIRhwZmEJnow8BD9MAensyYvRX0LGuziMSz+a+Cxxeoz6iVHI3q+llZc4XS3MtZyhcFqGgcrBiKFmdgbeOlYfw0c2tOH52VvQLkSHYSqbmR1Ej58C7yQFsEZDN6Xj3Ygwwrv/2VER4K1mNoqPRja4WvyBFyHF+CuCnQxehUYptNzQJGY9oKofR6TgSGWZkKCA8hD07ujA4HkY4lWEKBBtbRI8LKwag1TvDKbj8u/ImYgQLpf7559W+g1cCe2m5URPaUISQ9YSQI4SQaUJIaUrKCmPPjq4FypMriZXSldm2sQUNPhfG5hNMFkEKMcn6VNs2LtS0enTXZjT5nQAFgl4Xdve2ocHnwu5b2nB8eBYUTCaks8mHL+3ajOPDs+JYVQHagx70dgTx2bu78Ilb2+BUCX5zUyt2bmrFI7s2i+pcSin+/hfDGBgPY3QmjtGZGGLpHK5t8qGzyYct7cGCjm3rAx58oK0eBKzbG/cgZEMhQ47l67Swj4MVCCn+meX+Fe63GOkRHt5RjS/Jz0AANPudYj9VURDwqAVjeXsyWhBSspB5skQ6pxcYHV2nhhJwfqUvh7UomNQHADx9Ygz/Y3QOz5wYE5P4/r7TCCWy8LkcYtuXdm3GfCKDeCYHxQiD1XudaAt6sPVrP8epybDQiOKaTQ/v6EaDz4VTk2Hse+YkgMKaokNHR7D1az/Ht46NAIB4vrhcOldfHhgPW75n7xdtp6WiVjwLHcARAIcAPLuWA1ntFcNKurPFpETKeU7bNrbgwAO3LUgAWql08s86G33wux1wKgTRVA4Pbb8eFMCLQxehUwqNshe83zBSHieXG9ehKgQOQhBNaYil4qhzOxBL53BDix+t9W7EptlK0edW0eRn1eOxdJ6ZVGwqLrbdYehgyHLqisUx5TyNpQSe3A4FfrdatAc5P7+56RIFEE7mDWg6p0MhKjzOPI32YiRleU6vU4HXpYq8jNMIn5n39TpVtAU9mI6mEE1r2LQhgEgyh4lQkrVDJQTpnA6vU8VN6+sQSeWE0RidiWPfMydx4IHbxPm6WvwFRaXhZBaqwsJUnFX3hadPYj6RxcGjozj52McKnk2uKOtzOoS4pvz5k0dHxLEP7+heUMUtJ8TLMQVtFEdNGAtK6TSAJwkh16/xUJaMal3a5TZOZs1+8zi2b2zG4HgY7UGPoC3K1EH53+YiKB7S2t3bhv7h2YIKWQAi4QkAj794GluuCYqJgfceOHxsFG9PRgp5/pTC5VSR1nQQo5gMYAnpVFYTE+F7M3GMGDFvORleDDKtVEZWp6LWg8/FusWO1RoDr1OBQ1GQyOQKKqat8gnXNHiLynCUglV+hNOL5evJ1+e7N3hd8EjGIketDcW3H/wQDh0bFeMbnCjsn+51Kri1I4jdt7DQE+9DwpslhRJZ7PnuG6jzOESYkoeCYukc/G4VyYyOiXBKLCAafS7kdFpQpMfBtdK4eKB5Uv/8Pd04eHRUHGvFHCyVu3g/hpQWg5owFtWCEBIqs0twVQZigaXkPEoZGqvPSnXnGxwPI5rOLuCR9w/PIpLK4tnXx1mow4hRC8659G+Z5dHgcwnhQt7mcnAihFCCaUmtq3Pjhha/EJTTqNGWlbLVMRc0DCUy8DrVgvASpcxA8NwDT6w2eJ04NxNHW9CDsblEQb5BIfmxFxPcoyjiMRAg6HUilFxYN+FUCTwORdBSqwH3lFgyP6/rZJXSOFeBobDSe3Kq1sl0eUuxqNdUJAWV5M2KgxBkTfrbN62vw7aNLRiaCOOXIzPI6RRBT75CniLf/OjI4BQGxsPwOlXc2hEUOk57vvsGoumcYKodGZjCf36Zrf4JWCMjPunzep9wMosGnxM97QtfXasaIbk+4+Ed3WXVY20sHVeksahlLMWlLWVoKpU3tyooknnkPIEYSrIKVqsiP1nEkJ9H1ubh+2zvbsY3+t5FltMmnQoUBWiv88DjVHF+NsEmbEIwF8/gG32nMTgRBgGRwlBsAkprOgJOB3rXs54WfOL58nNDmAqn4HEp0DM6rm/24b3ZBHS9UGRP/rfPqSCtUVH0Z+6gRyljVVmF8rMaRU4rbygMqaSS+kqlYB0mUpHRNGi6tYwJADT6XMhE0wX6Xbpe2gtq8jtZFzpCROhtfb0HoUSmYKxuh4LR6Tj+7IcDeHHoosi1uJ0qGn0Ebqci+qhHUzlMR1nhXiqribxY/zCrp2DfR8FN6wOIpnIIJbLibznJfP+B4wglslAUIJLMYX/f6QWV1eaV/3IvyJZKMrkSFGOXA6tiLAghLwK4u8jHX6OUfqOa81FKG8pcL4Q18i6W4tJWWoFt3mauhLUqKJJXZgc+s3WBrr88ZgqI6u7BiRAiyZyQgOb7UTCKYsDrQCiRhUMhYvL35nTcuD6AczNxEADrAm4RRlAVNmE5VBVesNW4UyFwqAStAbeYSPgLeDmaKqC8XpYmymJIZnV85s5OfO91RsflK3GXStDsd+NiNFV0ouffrRwozXs2pSCLJhZsJwulS5JZTSSjVYUgksouyJt4nCp23tiCl95l7UaZYVlYI8ER8DiQzRUm9nXKqtFTWV2Mw+dSkcpoSBt6UgphsiwaZeFAhQC3NAWxLuAGwH4HHn5qC3oKvIRkRkOT3yU0xT7y1y+Dj+CRXZuFOOCeHV1iTC6V5T+AhZ4th5VMeTlUoqZQyvhUYgiuBMXY5cCqGAtK6b2rcZ0rHeUqsK1WQmbl2Uoqu8sZNLm6e+/OLhx8eRShZEb08e5pq8ezb+RF4giAD7TVs9VmLI29O7vQ0x7EyfPziKZz8DpVkRA/NRnGEy8No7XOjWRGQzKbQkudG6mchguzCZG8PHxsFP3DM3CqipjQVIWIDnClQMHYOY0+J+YS+QRyc50brQF3WQ2oYpAnbgpmKJwqWVD4Ju9HLKyFV0pGM88LC0JWyawOh7Iw4R7wOPDmWGEUttnvQiiZEbUPDoUgkdVR71FxQ4sfQxNhKISASEJZaeP6bgcL/amEFAyzwcd++2/87F3Wi4Qw4kKdx4FHd23Gnu++IfaNpnM4dGwUoUSGPTe+vKEAGDsJYB7I4VdGC0Kdj+zajH1Pv4lwKiNCU4dfGbWU5y9WP1FqQq9ETaHUIm2pzY+uJq+jZsJQhBAPALf0b0opTa/tqNYWxR60pciJVHJ+rgG1d2cXHt7RjZ72IPY9cxLz8SwGx8N4ZyqCnM4K5q5v9onV9afvYB3SeF9kLh3NO+0BbLwvDDCZB6chNBhKZpHRNFFkdejoCN44PwenqiCd00RthSaonNYIeBz4RG8bnj4xxlhDqRxu7QhiaCICjVJMhVPwudSCybmUHpTbUIxt8jkBQnBvz3o8c2KsYFK18nJkpVmrBX9b0IPpWEok6XnOhaAw3yBrEAY8KmIpDW9PRvLta3UKQpikN/8NMhoV4aNkVsfuW9owNBFGVqdo8jjY70ZYDQsBsGlDABdmk7h3y3r8+K0pRNM5qAoRv/25mTi+//oYVEJEwnvfMydx/61t+OGbE4ySrOk4PjyNLe1B0RZV9h4eNVRhgYXaZlaebrFiUXP9BEepCb0SNYVSi6elNj+6mryOmjEWAJKmf58HcP3aDKU2UOxBW4ycSKlkOJca50VL/SOziKZyIim9v+80GryMshpOZrGlvR7n55JiQrn/wHFWKzEdRyqnifE+YqIw8jHEjJddNSbItqBHFOQBjAoZS2vwOlnvCrlOISf92+tU8eHuJrx0moVkulr8GJIkJDSd4nIkjU/f0YFn35hAVtNxfjZRNNcho8nvwq6e9fjRmxOIZzQ0+Vx46d3pBSElqzAU38bX8eZQUiKjIW5KoMvjcCiA06FC03RkjBwDNyxZnWIukRU6WuaJkx3PCt06G334yxfzneN4Qv+6Fp+Qkv/1GBN8fPHURXzxoxvxzZ+dQUbT8c2fnUFPexAToRR0HdCgixBZOJHFRDiF//LgHVJy2lWQizD3WfmSYTB4UySZace9NBlWk3TAVD9h3tfKG1lKWLjYYqoab+FqouXWjLGglFZTD/W+QLEHbTEvQKlkOO90BwD7nn4Te+9hvPTzswn8wX99XVAzmfQGMDwdx23XNi5grrQG3Ah4HKLStlhisrPRh0a/E/f2bBCTOwXwzlREaEh5nQoajM58cm7AobBwSkZj/VRnYhmDGcUmzmSmcBKeiqQwNMlECCny1dZmCioXLHxrjHX8A6X40ZuTIg9TLHTFz8CaBanIabo45oYWPwIeB94az2tbKQQFLUldKgGlhUlxp6oik9PAswxW/TliKQ11bodlLUhOp8KjkiGq6wmEQiyQFww8+PIocjrbltF0IfcdSmRw5nJM3NuAxyGIE6zfOws7yd4EP473nOCFcQCr1pYZesV0ligK2wPsvqUNo9NxRFM58Xzxz4p5I0tBscVaNd7C1UTLVb/yla+s9RiWHV/96lcf9Xg8nkcffXSth7IkdDb58Mmt16CzyVdyv/7hGTz23BDWB9xF910fcGM6lsZn7+4S+/DzX9fkw/DlGOIZDbE0o8J6nCreGguJSSzgceBfb70GEyEWyjk1GcHw5RgeuPNaXNfkw2w8g//48U04NRnBmxfmMR1L45Nbr7EcQziVxVSIaUg1+Fw4eWEe6wJu3LQhIMbBq3ovRdJG724VOYMBpRmWI6dR+F0OgADJjIZQIouclNBWCJM297kduBRJQVHY3+vr3UhkcgU5l+/+b7+BockI3ptNAGAhnGr0nljsXyvwgv7hM7fhxaGLCEmMJvmMToWgpc6NsMk7yOkUDkLgdSrIaKwmhFOgRS4EbELnnot5pZXIaHBKMiMf7AyyrnVgjKqA14lERoNLJfg3t3VgdDaBcDKLJr8T6ZwOp6rg03d0ojXgwanJCHSdCmZWs9+FH781iduvbUCj34UPdjTgiZfO4pcjsxicCOFnQ5dwaoppP709FcF0LI09O7owfDmG9fUefPQD6/C1F97G8OWY+OzMpShSWQ3RZBZPvDSM9QG3mJT5s/TES8M4ezmGUCKL2Xim6PMlP+NLQbHzLfd1agmPP/440ul0+itf+crj5s9qxrOwsXgUW+lU0qye7yN6HRtho6HJME6en4fLoSCjafjiRzbi4R3d+IvfYXTHi5K2kHzuoYkwBidCoghPBt+Ps2POXIrif956DTxO1orzkV2bcao7LAqseowQ2Nh8EnPxzILzAWwSbfC6kMzoaAt6jKQ5T96qiKazuNkfgN/lgNNBWAiMQqyqAeAzd3YyCROjrSylbPKnFAtYRvJKvi3oQTqrIZzKYfP6AN6UPAiVsISsfJ9cKsvRZI1JXqd0gcfCmj4RpLJ6vtbDEOmT91kXcAsaKyGA353X3CIAEpkcfE7meXicKoYvx0DBwmsBjwNvT0UQcDsRTmXw4qmLaK1zI5bKoaPRhy3XsEZC/SOzOG7U1Fzb5EPAo2JdgEnDx9IafvD6OP7r79+Jz373dcTSGhIZDQoIomnGnuvtCApiA5f6OHxsFEcGpgrk8SnyzYzG5hOWwpcAy6WdPD+P1oDbMqxT6Sq+0jBSsfNdTd5CNagJbSgb1cGs71RMz8qseWM+zrzPto15naj+4VmkchooKFJZnamBGnh012bs3NSK3be0LTifnO8oBh5zTmZ19J26iJghF3H4lVHolFV0A/nK20jSWipWVVgIZ3QmjlRWw7XNPrTWu8VnyayGWFrDy2dnEE3nMBfPIprOFUzQKgF297bn28pStuLf1t1smbwmJK+1xFhNOjSd4teSoeCJahZ+omL/jKYXeAMaNZoOSefXdZaglmrnWCLb+LfboSDodQg6KwDUuR3inqkKa1mrEILudf6C++B3O/A5o0q/pc6NZFaDS1UQSeYQ8DjQ2xEEBXDXxmZs39iCtqAHJ87NQgHBRCiJREZDZ5MP/+GjNwpRxgefOgGXQVRQCIEOKs71yK7Nou+J3O6UALj7xlbBmOLsu3qvE7t6NjABwe7mgucRYM9WIptDKJlfOJif6XJ/A7YW1GJhexZXAMpxxYutdMwrs1J5Czk5SAEh48HVRM1tLSkFfjLIlGZfHZ7Bl3ZtwsM7uhdc02oV98iuzfjyc0OYjqZxb88G/OrcHCZDSVyYS+CN9xjd9i9/ehq/HJnFm2MhXNfsw+h0HMSI13Np7NY6txiTx6ng/CzzDG7tCOK+3jZ877UxTIaSRoI2P+HKJkCjwJ5/fB1f/MiNLDZvyG8fOztdwEwiYIbigTs68ewbE8hoOsbmEsKgyOd0qPniN0ZnLV4HUedWkcwSpI0OgABLzPtcKrKajpzGGgvx66RzOnLSuZinQ5HIaMLjGBgPQwfrUihXt7fWufHXPz8jmFAUzHD/RldjQfFmk9+F7zx0J7b8pz7hgRENgtrK8wl/9dPTyOoUWY3ink2tooCzrd6DIwNT+PJzQ8KLsZLIt3pOeR6kf2TWsssdr/uRKdbyM13ub6v34mqit64kbGNxBWCxVFmzEbE6zio5yBPevR1BPLyjGze3BwsSjXI/b5WwFebBo6O4uT1YlHFlTl7WeRw4NxPH0GQEHY3MGIxOx+F1sj4ZFBCFZ7FUDg6VoLPRh1Ayi707u3B8eBavnJ0GAUGb0XKVFwHu3NQqJCDuP3Acg+Nhpt5qVNJpemGfjGhKwxO/GMYNrX60NXhxbjoOh6JA0/OTMjeQP3h9XORxuAifQiCKDYG8Miun/JoNhby/LDniVAh6rqnH4EQEQa8Tv7mpFX1DlwBCC5oyBb1OJLM6GrxOeF0qQskMdKoBBj2Yg5/X71KRyulIZjQxFgrmhdzf24a/+J1e9A/PiAVCWz1TgOWei9O49wGPA0MTYRw6Nor5RAaEsO/4id42DE1GcGRgCo8YNRhc7iPgduDmtnpLiXxzvRBHsWd728ZCgUurZ7rc3/Izz3E10VtXEraxuAKwHFTZcqsn+RqP950u+Ex+mWSv45Fdm3FqMp9jqGQVx8E582cuxfBHH7sRY3MJnJ9LIJPTCorWAOBTH+oQrKmvf3ILKJjeECFsFT4TTwtKbZ3B1OEYn2OSIz6XAqeiYt5QHw16HXCrKmbjGeR0HdF0zqgJySu4NvmcCKdyoDQvLZKVkudUTMYOxDP5JLXbocDlIKhzO3HRYHMVUmPznobfpQKEtZJNZXXBxroYTqFv6BKi6axoNMXBqbOXYykh4QEwA3SdkXCdjqVFDiNhhMpimRza6vP9QTQdeHHoEnb3zoiCt96OIPpOXcR8IgvV6PF9c1s9GnwsjzE2n0AkmYNTVeB3OfDFj27E8eHZAqZTa8CNaDoHhQCJbA6NflcBU8q8kBibS2A+kcHn72EGvlRuzWxYyhWcVvKuXE301pWEbSzWAKuhTFuJO17sGlYSz3KYgAsK8mN4uKCnPVh0FSeLv1GgQFeof2QWdR6HWPH/ztZ2/PDNCSQNCq0OCEbOvmdOoqPRh3emIriuyY9QMotrm7wYnIhgXZ0bD22/XnhBFPnOeomMjkc+fiP+yqg7mItnEXDnV/3co4mlNHhcrD8Ez0eYQcDi8zmjJWlrwI3EHFvZqwozItGUhjqXE70dQVyOpIVBawt6GKuI20JC8OTv3o4/+cFbmMrmmzy5HSrcDgWdTfUFDae4Eu+6AOt0F0pk4VIJNAp8+kMduLbZjyePjuB+Y7UfS+dwOcKkxu+8vhHf/l/vFHUxKgHCqQwOvzIqOuSdvhg1kuBUnCOayglp+vt623Dw5VHMJTIggGh3OjaXwHQsje3dzfkmR4ZnIYe4QomM0H7izxUPPT7x0jCOWyglWz3Pyxk6er8mrKuFbSxWAOUe5NVweytxx4uNt9zqrFSYoJJK1rl4BjFDBuSm9XUF3oymU0yEU/j2g3dg3zMnEUnm8P+9npcWYX2548Kz2baxBVv+U59YOR8ZnBKSEPI0/+kPdaB/ZFawndqCHnhdKqLTbPXd3sBYPhSApunwOFVRc8DBQ1cUhZXbY/MJXNfEQmQNPidGDRn1y7E01tW7RX8JAtao6Xe2tosiwUpPLhAAACAASURBVDq3A/v7Thck3R0KawGbzGqYTWQwOh3HFz+6EToF/v6ls9gQ9BiMLRV+F0Wd24GpSAo/fmsKAJPfePHUJZx87GN48KkTQtb9zbGw6CfC8zo8H8Xvfzqn42I4hZ2bWvEXv9OLB586gQHDa+jtCOL48Cz23tOFIwPsWpzNNJ/IIJHJ5xpYs6II6j2sURN//ubjGfQPzwitse88dCe+dWwEB4+OosHrrLgSeyWNhw1r2MZiBVDOGFTj9i72JajGHV/pIiM5Hi5PTDetrxMaP2ZJCB6f3t93GpejaVyKpKBTXpDGKJYc6+o9iE3HkdNogfQ5rz/oavVjPJTCXUYvj1Ayg1iKGavuVj9jEyEv5JfRKGAoz4rmSIQZHO7xeAw59Vs7ggga6r2DE2H8/UtnhVYTj1N1tfoxGWICBaFkBi8OXcIH2gIYGA+LHIPXqYhOdRktL/CXyenI5HQcPDoKSiliaQ1powaEGyBu1KLpHLpa/HA6FNHbYc+OLpy5GMXlWBr39qwXvSG2byyU9u5pq8epiQiCXgc6m3wLGgeJVqjZMAgBnt93F/qHZ4QmlLkntqxuzJshfeehO/Hq8IzQguJJaj6OV4dn8OXnhvDGe/P41rGRggR3ufzb1Zp3qCUjaFNnVwDlWrOaKYGlUA3Nz4omWAm2dzcLuqL5fPcfOI77Dxyv+pwyDh8bxanJCMbm2IR5X28bGn0u9LTX48GnTuBPfziALzx9Evf1tuH5fXcVJMIbfC7MxNKs+M6AQyWCEQMwTSpOEQWFoPVejqShKASJtCbqBg58Ziv8Lgei6RxGZ1hXvuf33YVHd23G3Te2wqnkX4mAxwGH9Pfu3nbctD5gFMSxyXp4Oi5yF1ymhAJ45OObEfQ5cV9vGzoafcjpFA1eFyhlq3BeSwAAl6MppHM63A5FJJVvaPGjrd4DAkav3buzC5+/pxsBjwMtdW5sqPfA61Sxod4DXpLnc6mo8zB67NMnxvCBx17El58fgtetQtcpfjk6h1Aig85Gn6iy5y1Jn/v1JDRKRb2L/Bs8v+8udDb5kMxqBQaBP5sAcNeNLQXigds2tuBzO7ugKgShRFb8Vts2toi2qVbKBPOJDKLpHA4eLf28m9+h1W6HLGOx710lqCWar+1ZrACWMwZajRdS7eqKdy87Nx1H0sgdyKs5s0TDYr8TX2Xy1SSlQDSdFQlczajM/pt/OouHd3Tj0NERPHl0BJ+/J0/F3d7dLEIfPe316Bu6hFA8g+4//WkBsyngceDhu7uwz2jTCbBw0HVNPpyfTWB/32nUeRwFgoSii5uRdAcYM4lSijq3irkEW/Hve+YkdvVsYGEmQpHIsDASD6tsvbYBr5yZwQc7g/jbfz6DZFbHMyfG8PVPbhGxeQqIftZCadaIdiWzutA+8rsdrHkUWNKe/y7Hh2dxfHia1TRQinSO9cBo8rvQ0ejFO1MRjM8nBHtqdDqOgJu95tPRNMbmEwi4nRibZwq/b42FMJ/IinqPnE6FHMf+vtOIpnKo97Bud2baazEqrLivI7MiDyUvREq9H+aud5WiFNPKfK3lXq2vpFdTS8l321jUOKoxPNU+WNwY8Mpe83HlehdXCr6alKvDB8fDuHfLekyEU3h1eBYZTUc6p+HV4ZmCnsonH/uY0BHiK94HnzqBaDqLt8YzRo6BwutU4VAI7uttE0VeTC5DB6UUoURWMKHqjMlTlfbn9wFgk3U8nUMsrSHgIehq8eO9mTjm4ll877WxvMYS8onx+UQGr5ydgQ6KX4+F8ppS4RQOGW1u370YRSKr4e4bW/DauXlxfzj9ts7twLqAG5OhJAbHw9gQ9BSElPhvcuLcHJJZJueRyOZwfbMff/7bW9hv+sootnc345kTY5gKJ9He4BVqwO1BD/qGLon7LkvG5zQdmg4EfS5s62ouMLYErMZCZiFVIrIn10VY1U1YgYek+Gq9WHtgMyrpW8Gx3JP7Sk7otZR8t41FjWEpqx5eC1ApZGMghx44eAhiKRA9wbubxdj6h2eFzMSBB27D9u5mPN53GprOVrPm1aW5jwEf99h8AqFEFusDHqyrd+PtqQj6R2YlifVuUABPvjyKe7esF8weEAARRuvkbB7eeyPgcYgeEE6V4IsfYdRQLs/NDYVLJXBLlFaHyiQ5gkYfCDZZp6DpOo6emcYrZ6fF9//1hTAS2VyBR+RQFFBKQSUpklgqh0O/d3u+gtnwgHgviqzGCuLem03g8b7TuO+WNlDKWGkv/Ul3wf3fs4PliuYTGQxNRvClXZtxyNh+27WNOD48DZ/bgY5GL7732hhCiayQPDF7BkDxCdf8W31uZzeefHm0oOd7JR6AVXvgUh5CNbVIyy3pX0sT+krCNhY1hqWseio9Vn7oqzEGlRoyeT8+eZw8Py/ky7d3N+P42RnMxbPY33caz++7C0/1v4epcArT0XTZnso8l/H2VAQ7bmoViVPeNOfg0RFRBcxDXkOTETT4mMz621MRXNvkw3xcYUYMLAnNDcl0JA23Q0WD14kjA1Poaa9nFF4KNPlc8LlVXI6kmRovAeq9DtzbswET4RS2dTXj+PAsvv7JLTh0bBRHz7DCQt68aV2dG163igYfYwlxKqxGKWJpHYSkcWtHkCWTMznse/pN0aFQ9oBkiRBNpxgcD2Nc0lXiv488ecuQaxymo2lc1+RHnceBd6Yi8DhZnsblIIilNGQ1LPAMKp1w+4dnC0KOlSq48vO3Bz3oO3XRUmtMPtaqFomiULVWfn4WM7lfrUn0SmEbixrDUlzaSo9d7ENf6XHyfhytATeubfYJzr1mcoGiKRbysGpudN8tbRifTzCqp2GIrmnwIOB2FqxYeddAWaQOYEWEo9NxxDNhOBQCnQKJtIZwKoODR0dE3UbA7cS8RLlNZjVMRVI4cykmVvub2gKgFHhvNo4gT1jHmTF6ft9dohL+zKUoLkfSQgqdF7ilNQ0zc2lBj22r92BTVxMUArxydgZ3XN8ITQe++FFWzxBOZURf6msaWG9zTado9ruwrt4tajAAiH9zWXAKYHQ6Ju6jXD/DBR+nwknW2tah4Ouf3CLCWNxD4/Udsuw8UHzCLVajI/eEl2GWMjef/8GnTiyQ/7Bqr2o1nsUsnkrtV0v5g7WAbSxqDEtxaSs9drEPfSXHmWmyAAq6oAFMmZarh3Ixwt++tR0vnrpkmdiUxQm5CmrA7VywYuXV5VvagwW9vC/MJZDI5AoaKYWSWSiE9XHobAS2b2yRYv0paJQiI7rdsf8rhKmjPnBHJ5uAupvxxC/OCgXd3z5wXCSCj52ZZt4EIUI3iU+8nY0+nLkUBQDEMjlh5ADg12MhRFM5hBIZdDR50QkvANaG1OPIV7ZfjKSwqS0g5FgOHxtFT3tQ3J/9fadxYS6BeFqDw+jVcUiaELkGU0udGzmDVis/P/ycjxjhKllsUv6tzZNsKcq2lbfIvUSr8xd75mQjIOdRzFjuxdP7JdxUDLaxeB9isQ99JTmRw6YKb349jv7hGRw8OoJENoeAx4+DR0eMTmtOHHjgtoL4vJwoDSUymItn8AljMpZXv/0jsyIpG0llcfeNreI8h4+NIpzMQiUEn7q9A78cncN0LI3WOjfOz8URNHV4e2FgCqkZDV2tflyOpI02owoCDoJYOodz03G2yjUYV7xvRCqrY2A8LBLB/8cPB/CDN8bxqds78Fu97YJ1lsjmcPeNrfijj91UkJcxr8Dn4hlRD8H7Ul+YSyA6zWQ0rm/247N3d6F/eAaf++4biKWZgXlk12bhSSUyTFOLUqDv1MWCEJXc+GomlsaEpCnVPzyDfU+fLJAKt1r9L1dYptikXmzFv1httGqvb6MQNWEsCCEfBvCXAD4IIAXgWQB/TCm11qa2sSZYTPN6/sK3N3jQN3QRjX6XKOCiYP2UVYUUKIkCLNY+MB7GyQtzOPS7HxKrzyaJlcNXqg/v6GbhJ8Nb4PHt/uEZzCcycBsr8qHJCF76k3vYdzk6giePjWDvzrx21v6+0zh7Kcroqm4H/vz3tghRvK4WP7pa/QDy+lmhRBZ1Rt/vH705ASB/7d/qbcd4KIXdve04dGxUVEF7nQouzCZwYTaBjkav6DbIDXFPe3BBgdqp7nC+oM2oar+22YdtG1tw/4HjBaE7vlKPZ5h44qdu78BEOCU8G3MXQ57rkSfK/X2nMZ/Iio54PP4/MB7Gnu++IZLuVpPsYggaxSb1Ys/bcq/w3+8eQ6WoCWMBIAjg7wD8EwAPgB8C+BKAv1jLQdkoRCUrMPOLx194SiG62N11Ywu2GZNXT7u1DDpPd8RSmqjslkNbQOHExCiWM9AoFfFtXq3scagLOsn1j8winMzi4NER0WSJT+hNfhd239KGQ8dG0VrvRmyasaQ4GaB/eAbnDAmNdQE3Xhy6KGok+LV5YvnMpSiiKcYsYmEtIphVBFggtc21k7ZvbMaFuQRyJkXfvTu7C+4Vr1L3ulRQAK8OzxRQVifCKWFcXxhgUiicVGD1e8nn7Grxg4I1uzp7ieU+Yum8UbfyNCtpxMWp0HaO4MpCTRgLSmmf9GecEPKPAO4vtj8hJFTmlMEyn9tYBBazAuM01q2dDXhzLIy9O7uEJ3BqMoyg1ylW00B+Urmvt63gPObQFg+VhJNZDE6E0NHI1FYbfIWSE1yKoqvVL7oBco/D53QUVIIDrMbiwANbcejYKI6fnRZMKX4swCY6rqbqdztwfjaBgMeBrhY/tnWzviDTRkEdlykJeBzYvCEgchWyLpZ8ny5H0oZHNQ9KKZwqwa6e9QVhITlO/4iRUD4/mygwBGYpbw6W9I4XhJPk+75nR5c4JycjcAYW/46V9Ecp1oiLa3MtV47AypOpJYmMqwk1YSwssB3AqbUexNWK1XyZeHJao8DfP7BVJGKtGtkAhZMKX/0ePjaCsblkAX3ysJGg5SEs0sgkJ+REOg/JDBlGSe7F8M5UBDe31YuGPi+8NYl3piK44/pGHDKYNv3DM9CM3tPmmDmnnN7SXi8KGjl7hyejCVi/60gyizuva8TJsRDSOR1NfleBNIZ8n7JOtlRvrXMjYKzshyYjCxhewEKKstV2WRr80V2bRRhLvufmHIVZiqZYLU4lvSKK7VsZ7bb8c2plsN7vFNeVQs0ZC0LIbgC7ANxabB9KaUOZc4TwPvEuFjPxr+bLZJY359d9+O4udDT6QBoLJ43thtifbBg4V5+HeLhnYA5hWa2U79rI+jbPx7P4238+i1SWJa/l3tAA8IWnTyKrUfzL6WlDzyiDa5t9mI6mFzC0tm3Maxj9eGAKt13biKGJMB43JEPkDoNz8QwiqSzeHGcspwbfQkMhf29ePEgBXI6mMRVOoT3oEVpK5gk+kmJMMNkbeFyqrWjwuXB8eBqDEyEceOA2S4+DV7z7XI4FSWwKCElxq6LNYqt5899yyKpSD3UxObJi26zGaKM6rIqxIIS8CODuIh9/jVL6DWO/OwB8G8AnKaWXVmNsVzoWM/Gv1stkdT7ZcLxjCi2xYwoNg9V4iymnypDvyw2tfgyMh5HOaSJ5bZauaPS5EEnloOsUXpdqKKwy5tLN7cEF1ce8ypzLag9OhDBv6DHxTn03twfx2HND8DgVUbRXVEfJ+N4T4ZRI5uu8k1+a0WvlniCC5WVUV8sTsJyfMXtwZq+BU523GIn2t6cilp6e3IeikmR0tf1UrLCYHFmxbVZjlGEbkvJYFWNBKb233D6EkM0Afgzg9ymlv1r5UV0dWEwScDEv02Jg7rBnfhmt6JjFQhtyNS5fhZeSkJg31Xrse+YkwoksmvyugvwDH2e+JwWbFM8bSegLcwk89twQzs3EhYQFgEJj4FBxb88G0c1PNmrnjPPIiWYZ5iLD7d3NoomUCuDY8AzuN/I35orlYrpLspexbWO+FancZ102Bm+bKLpWq/T5eKYq2f1K+qmUm6CXm6VU6l2xQ1flURNhKEJIJ4CfAXiUUvrTtR7PlYTlfKGWWzOHn29bd3NByISP2aoYqxJDZlattZKQMHstcvilWOHXfJzpTXU2+hD0ujCXyODcdBx1HuvXZH/faYwafb8nwqkF0imy9hZPfBfTQOJFhnzi5/kPGOeWx9kW9OALT5/Eb23JeysyzPeQ/837kctGz6wcW2yVbkWxreSaxf6Wv/tqTdCl3hWbeVUeNWEsAPw+gE4A/0AI+Qdj23lKac8ajul9h8UanlJ8eAoI1pLMVAKqe0GtEqRmCQkrGQjzd5NDOXJcnlKjz4akvsuTxlxGg1NTzeEec99v+Zp8UuaJbysNpJCR/+hs8pa8P/x+PvjUCeR0KrrhVYoF9OEqQi8rUYtQSxP0Sny/qw01YSwopV8F8NW1HoeNxaHUS79fKl4zJ3bNL2i5JKn52P7hGRwfnhXbislAWKmTyjF4WWzvS7s24/G+0yAoZP9wGQ3uBcntSXlNBh+XjFIGjO9PAZybjqO3I1j0/vDzzCcy0CVKbbEw3H6L7/CISbfp8LHRguT3YuL4S4n1L+cEbeccVh41YSxsrB0WoyRbaUJRRleLv+w+lSRFFyNLbaVOymPwISPUJO9r1fDJKsnOY/1Ms8p60q3EgFUCfp6b2+qx46bWBewy8zXN38Hq9zMnv815pUrCRJXssxoTuZ1zWHnYxuJ9jsUoyVbzMppVSGXIvS76R2YXrL7LichVKkttFZfnMfi5eEYU2PHEt9zwSZ7o+GRvlUC3qhnh15YT+XxCDiUyODUZweB4GHvv6bJsPiXfI7PCKoeVcZRzJaUK6OTkt5XxkXNOZg+mnMckYzUm8loKaV2tsI3F+xyVvmSLfRlLhZr4JDI4EbKsTrbyWMolZItNiuUSt9u6moUqq5yolnMN8kRvlUDf33faUspbTuTz6uWb2+pR73EinMqgf2R2AVNKDju9MxWxVFi1+l78uGIFdGZGlPkcZuPLE+2lCt9KKb+af7NKsJz6UjaWD7axeJ+j0pfMKn6+mLCClWdQrNfBYsYrr4bvP3B8Qdy+2PnKJaAvzCWw57uvI5XV0dNeL6im8nmKSW1bJee3dTXjJ4NT6ITX8nvLYSfztUrd/0rIBpFU1rJuoti9rabwrdQ9rhR2SKk2YRsLG1VjKS+zPJnL/RUq6c9cCeTJX47blxOvKzb5cSMwIPUqL2Z8ip3DqnqZ01jNSe1yYSeg9P0vV0vAFX+ByvSZ5DGX27ZcsENKtQnbWNioGkt5mcut5DmWmhQ1x+2LJYPlcRVrwymfqxIvxQyryd1MY7Xat1h4p9T9NyvBmvuCFCTppVxSufu9mmyj5TJENkNqeWEbCxtVYzleZnPit5rVc6VjlCXFzd37ZHCqKW9OZBXCMRfclZqIzJ/Jk7SsqttokdRerMQFRylGmVnqoxhrq1KDVwq1MFHb4azlhW0sbKwJSsX4geUNRcg012ITIQ9ZWU3gVhNfqYnI/Jk8ucse1cOGx8PvB///UnJDZsNkZSSL0WhL3e9qf49amKjtcNbywjYWNirGcvcOsFKY5ajUe6nk+lYre/NEWSrMZDXxlZqISn3G+1Zs725e9tU8gAWGycpIVsoYK3beSrDc0jGLgc2QWl7YxsJGxS+o1SSzlBWklcJstajk+vKkYaWPVEqGG6iub0O5z3jfCi4fUiw0Vuy64jxVGsly25c7bLTYiboWPBIb1rCNhY2KX9ClUihlWBW2LQbLEWoo9/1XwsuZiy+s1ajmutUayXLba2WStkNHtQvbWNio+AVdTgqllTLsYlDs+sUmbquKch6GMhfUVXI+83eqdAIvp+JaDiulELzWk7QdOqpd2MbCxpq8oMs5OVWTgC5m8Eol20udb7HfyUxxrRaVHm++N9Xcl0rOZ+P9A9tY2FgTLKeBqjYBbUY5am2l56vkO/HJNpTI4G1DxmMlY/uVii0u93WvVNjGsDhsY2FjxVHtC1jt/tUmoM0oR60Flu4JyNcqJuMho9w9WKym12KNdDXCgVcyrnZjuBTYxsLGiqPaF7Da/ZfqpZgn1GrrKhZ7rWqZZzIq/c7L5cFVIxx4JaNWcje1CNtY2FhxVPsCruQLa2UIzBPqUsNapVBpQr7WJq1aG89KwU6wFwehy+FbL3UQhHQB+D6AjWAe/zEAeymlU4s8XygYDAZDodAyjtLG1QBeQb19Y0vRFbLMVFqtiaOScVUKO+5uY7FoaGhAOBwOU0obzJ/VimcxDeBTAN4D4ATwNQB/C+DTazgmGyuMtZjUlpqoXqkxL7e8iR13t7HcqAljQSmNAogCACGEAsgCKFrSSwgp5zIEl290NlYKKz2pVRJyqnbyX6kxVxv+KDXuWgsZ2Z7O1YGaMBYchhEIANABPLjGw7GxwljpSW25ekjLqJWJuNS4ay3ubns6VwdqylhQShsIIfUA/gDAcKn9Sp3HMDq2d1GjsOprvRKohOVU7eRfKxNxrRitSnAljdVGcaxKgpsQ8iKAu4t8/DVK6TdM+7cAeAtAB13EAO0Ed21jOZO5tXxdO/xi40rDmie4KaX3VnmICqAdgA9AfPlHZGMtIVqrdjXjwadOrNpkutorXDv8YuNqQk2EoQghO8CMwq8B1AP4vwC8Rim1DcVVCB7KKddadaWuu1ooZpxWwuOwvRgbK42aMBYA6gAcAtAJIAHgKIB/u6YjsrHiuNpj2cWM00p4HLYXY2OlURPGglL6UwA/Xetx2Fhd1EqyeLWxEkbyaje8NtYeNVHBvdywE9w2rnTYYSUba4E1T3DbsGGjOthhJRu1BmWtB2DDxnKhf3iGJc2HZ9Z6KEvGnh1dJSXMbdhYbdiehY2rBlfTavz9ms+xUbuwjYWNqwZ2kteGjZWDbSxsXDWwV+M2bKwc7JyFDRtXOK6mXI2N2oVtLGysCuwJbeXAczWHXxld66HYuIphh6FsrAqupuRzrcHO1dhYDdjGwsaqwJ7QVg52rsbGasA2FjZWBfaEZsPGlQ07Z2HDhg0bNsrCNhY2bNiwYaMsbGNhw4YBm7Flw0Zx2DkLGzYM2IwtGzaKwzYWNmwYsBlbNmwUR80ZC0LIIQCfBdBGKb241uOx8f6BzdiyYaM4aipnQQi5HcCmtR6HDRs2bNgoRM0YC0IIAfB3AP73tR6LDRs2bNgoRC2FoR4C8Dal9E1mN4qDEFKuX2pw2UZlw4YNGzZqw1gQQoIAHgWwfa3HYsOGDRs2FmJVjAUh5EUAdxf5+GsArgFwkFI6Xcn5rJqJm64Xgu1d2LBhw8aygVBK13oMIIT8GsC1AHRjUzOAOQAPUEp/vojzhYLBYDAUKhetsmHDhg0bHA0NDQiHw2GrBXmtGIt1AFzSpjEAtwF4h1KaWsT5dAAkGLSdCxs2bNioFOFwGAAopXQB+akmjIUZhBCKJdRZEEJyYEyvyLIOrHpwaxVe01GUhz3O5YU9zuWFPc7lRalx1gPQKaULUhQ1aSyuFnDWVrkcy1rDHufywh7n8sIe5/JiseOsmToLGzZs2LBRu7CNhQ0bNmzYKAvbWNiwYcOGjbKwjYUNGzZs2CgL21jYsGHDho2ysI2FDRs2bNgoC9tY2LBhw4aNsrDrLGzYsGHDRlnYnoUNGzZs2CgL21jYsGHDho2ysI2FDRs2bNgoC9tY2LBhw4aNsrCNxSqAENJFCHmNEDJPCJkjhDxHCGlb63GZQQj5MCHkX4xxThFCniCEONd6XGYQQtYTQo4QQqYJIVVL2K8kjLH9nBCSIIQMEEJuX+sxmUEI+Soh5G1CiE4I+fRaj6cYCCFuQsj/QwgZJ4SEjWezZ63HZQVCyGHjnYkQQgYJIfet9ZhKwXjXdULIo5UeYxuL1cE0gE8BaAKwAcBpAH+7piOyRhDA3wHoALAFwK0AvrSmI7KGDuAIgN9f64FY4CCAYbAGXgcA/PcaNLhnAfwHACfWeiBl4AAwCuBfgb07LwB4bk1HVBx/A+B6Smk92HP5j4SQmlSfJYQoAP5vVPn729TZVYYxcfyfAHZRSu9Y6/GUAiHkYQD3U0o/sdZjsQIh5HoApymlnjUeCgCAEBIAMAugk1J6ydj2HoAHKaVH13JsViCEvAzgSUrp99Z6LJWAEOICkALQSimdXevxFAMhZCuAVwF8iFJ6aq3HYwYhZC+AG8EM8GlK6eOVHGd7FqsIQ0c+BeBR1KZnYcZ2ADX3sNcwbgQQ4obCwCCAm9doPFcbtgG4XKuGghDynwkhSQAnAfwCwNtrPKQFIIQ0g3mVX6322AXdkGysHCilDYSQegB/ABaqqFkQQnYD2AUWirJRGfxY2J0xAqBuDcZyVcEI6RwC8GdrPZZioJR+nhDyhwB+E8DNtDbDNn8F4G8opWFCSFUH2p7FMoAQ8iIhJFbkv4KYP6U0AuD/BfAjUu2vtUrjJITcAeDbAD5pWiXX1DhrEHEAAdO2egCxNRjLVQNCiAcsV3GEUvrUWo+nFCilGqX0nwH8T4SQj6/1eGQYZIvbAPyXxRxvexbLAErpvVUeogJoB+ADm2BWBZWMkxCyGcCPAfw+pfRXKz+qhVjE/awVnAXQSAj5/9u7nxAboziM49+foUnNRikrJDU2I8rGZmyUZj9ZKAtkQ2Kj2FjasVTEQszCWlHKRiElG7GwNjYWM/kTSvpZnJfGJefOwnvu6Pup2/1Tt55u997nnvOee94NS0p2CrjQMNOKFhFjwC3gDXC6cZzlGAO2tg4xYJoyJfq2+506AXyLiMnMrC4WcWTRg4jYExG7ImIsItYBF4GnmdlbUQwjIjYC94CzmXm3dZ6/6X5tjv+4HRHjjSORmR8oq7TOdZmOAkE52DkyImJN9/qtAtZ0WUf1u+AqsBY4NKLTOkTEREQc7K5XR8R+ylTUw9bZBlwDJoGd3eU2ZfXjUCU8qm+Q/80EMAe8A15RvuT2N030Z0eAjcClJdM+o3qA+zNlCfJ4d/tV2zg/HQO2AYuUA4mzmfm1baTfXKW8ZtOUKdHP8HGy4gAAAVVJREFUwJ6mif4gIjYDhynZFpe8J6cbRxuUlM/OPGU13FngQGY+b5pqQGZ+zMz5HxfgE/A+MxeGeb5LZyVJVY4sJElVloUkqcqykCRVWRaSpCrLQpJUZVlIkqosC0lSlWUh/WPdSXxeDu5rFRFzETGq52eQfuGf8qQedJu4PQB2Z+aLiJgFLgNTLTZrlJbLkYXUg8x8RtkT7Ea3B9dl4LhFoZXCkYXUk+4siU+ATcD9zDzQOJI0NEcWUk+6DQUfA+uB623TSMvjyELqSbdb6h3gJrAX2JmZX9qmkobjyELqQURMUEYTZ4CTwAJwvmUmaTkcWUg9iIgrwJbM3NfdnwSeATOZ+ahpOGkIloX0j0XEDOXUoNsz8/WSx08BJ4AdmfmpVT5pGJaFJKnKYxaSpCrLQpJUZVlIkqosC0lSlWUhSaqyLCRJVZaFJKnKspAkVVkWkqSq760Oiu3opVtCAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] @@ -184,15 +189,15 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 1.86 ms, sys: 9 µs, total: 1.87 ms\n", - "Wall time: 1.62 ms\n" + "CPU times: user 128 ms, sys: 996 µs, total: 129 ms\n", + "Wall time: 128 ms\n" ] } ], @@ -202,7 +207,7 @@ "data_approx = rbig_model.inverse_transform(data_trans)\n", "\n", "# check approximation\n", - "np.testing.assert_array_almost_equal(data, data_approx)" + "# np.testing.assert_array_almost_equal(data, data_approx, decimal=4)" ] }, { @@ -214,14 +219,14 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Residual from Original and Transformed: 0.00e+00\n" + "Residual from Original and Transformed: 6.98e+00\n" ] } ], @@ -234,12 +239,12 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 41, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -268,12 +273,12 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 36, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] diff --git a/rbig/__init__.py b/rbig/__init__.py index d608a0d..e69de29 100644 --- a/rbig/__init__.py +++ b/rbig/__init__.py @@ -1 +0,0 @@ -from .rbig import RBIG, RBIGMI, RBIGKLD \ No newline at end of file diff --git a/rbig/density.py b/rbig/density.py new file mode 100644 index 0000000..ce97c3c --- /dev/null +++ b/rbig/density.py @@ -0,0 +1,158 @@ +from typing import Optional, Tuple, Dict + +import numpy as np +from scipy import stats +from scipy.interpolate import interp1d +from statsmodels.distributions.empirical_distribution import ECDF +from rbig.utils import make_cdf_monotonic + + +def univariate_make_normal( + uni_data: np.ndarray, extension, precision +) -> Tuple[np.ndarray, Dict]: + """ + Takes univariate data and transforms it to have approximately normal dist + We do this through the simple composition of a histogram equalization + producing an approximately uniform distribution and then the inverse of the + normal CDF. This will produce approximately gaussian samples. + Parameters + ---------- + uni_data : ndarray + The univariate data [Sx1] where S is the number of samples in the dataset + extension : float + Extend the marginal PDF support by this amount. + precision : int + The number of points in the marginal PDF + + Returns + ------- + uni_gaussian_data : ndarray + univariate gaussian data + params : dictionary + parameters of the transform. We save these so we can invert them later + """ + data_uniform, params = univariate_make_uniform(uni_data.T, extension, precision) + return stats.norm.ppf(data_uniform).T, params + + +def univariate_make_uniform( + uni_data: np.ndarray, extension, precision +) -> Tuple[np.ndarray, Dict]: + """ + Takes univariate data and transforms it to have approximately uniform dist + Parameters + ---------- + uni_data : ndarray + The univariate data [1xS] where S is the number of samples in the dataset + extension : float + Extend the marginal PDF support by this amount. Default 0.1 + precision : int + The number of points in the marginal PDF + Returns + ------- + uni_uniform_data : ndarray + univariate uniform data + transform_params : dictionary + parameters of the transform. We save these so we can invert them later + """ + n_samps = len(uni_data) + support_extension = (extension / 100) * abs(np.max(uni_data) - np.min(uni_data)) + + # not sure exactly what we're doing here, but at a high level we're + # constructing bins for the histogram + bin_edges = np.linspace( + np.min(uni_data), np.max(uni_data), int(np.sqrt(np.float64(n_samps)) + 1) + ) + bin_centers = np.mean(np.vstack((bin_edges[0:-1], bin_edges[1:])), axis=0) + + counts, _ = np.histogram(uni_data, bin_edges) + + bin_size = bin_edges[2] - bin_edges[1] + pdf_support = np.hstack( + (bin_centers[0] - bin_size, bin_centers, bin_centers[-1] + bin_size) + ) + empirical_pdf = np.hstack((0.0, counts / (np.sum(counts) * bin_size), 0.0)) + # ^ this is unnormalized + c_sum = np.cumsum(counts) + cdf = (1 - 1 / n_samps) * c_sum / n_samps + + incr_bin = bin_size / 2 + + new_bin_edges = np.hstack( + ( + np.min(uni_data) - support_extension, + np.min(uni_data), + bin_centers + incr_bin, + np.max(uni_data) + support_extension + incr_bin, + ) + ) + + extended_cdf = np.hstack((0.0, 1.0 / n_samps, cdf, 1.0)) + new_support = np.linspace(new_bin_edges[0], new_bin_edges[-1], int(precision)) + learned_cdf = interp1d(new_bin_edges, extended_cdf) + uniform_cdf = make_cdf_monotonic(learned_cdf(new_support)) + # ^ linear interpolation + uniform_cdf /= np.max(uniform_cdf) + uni_uniform_data = interp1d(new_support, uniform_cdf)(uni_data) + + return ( + uni_uniform_data, + { + "empirical_pdf_support": pdf_support, + "empirical_pdf": empirical_pdf, + "uniform_cdf_support": new_support, + "uniform_cdf": uniform_cdf, + }, + ) + + +def univariate_invert_normalization( + uni_gaussian_data: np.ndarray, trans_params +) -> np.ndarray: + """ + Inverts the marginal normalization + See the companion, univariate_make_normal.py, for more details + """ + uni_uniform_data = stats.norm.cdf(uni_gaussian_data) + + return univariate_invert_uniformization(uni_uniform_data, trans_params) + + +def univariate_invert_uniformization( + uni_uniform_data: np.ndarray, trans_params +) -> np.ndarray: + """ + Inverts the marginal uniformization transform specified by trans_params + See the companion, univariate_make_normal.py, for more details + """ + # simple, we just interpolate based on the saved CDF + return interp1d(trans_params["uniform_cdf"], trans_params["uniform_cdf_support"])( + uni_uniform_data + ) + + +def estimate_empirical_cdf( + X: np.ndarray, X_new: Optional[np.ndarray] = None +) -> np.ndarray: + + # initialize ecdf + ecdf_f = ECDF(X) + if X_new is None: + return ecdf_f(X) + else: + return ecdf_f(X_new) + + +def bin_estimation(n_samples: int, rule="standard") -> float: + """Bin estimation for the histogram""" + + if rule == "sturge": + n_bins = int(np.ceil(1 + 3.322 * np.log10(n_samples))) + + elif rule == "standard": + n_bins = int(np.ceil(np.sqrt(n_samples))) + + else: + raise ValueError(f"Unrecognized bin estimation rule: {rule}") + + return n_bins diff --git a/rbig/information/kld.py b/rbig/information/kld.py index 0204764..0d70dc5 100644 --- a/rbig/information/kld.py +++ b/rbig/information/kld.py @@ -1,5 +1,167 @@ -from scipy import stats import numpy as np +from scipy import stats + + +class RBIGKLD(object): + """ Rotation-Based Iterative Gaussian-ization (RBIG) applied to two + multidimensional variables to find the Kullback-Leibler Divergence (KLD) between + X and Y + + KLD(X||Y) = int_R P_X(R) log P_Y(R) / P_X(R) dR + + + Note: as with the normal KLD,the KLD using RBIG is not symmetric. + + Parameters + ---------- + n_layers : int, optional (default 1000) + The number of steps to run the sequence of marginal gaussianization + and then rotation + + rotation_type : {'PCA', 'random'} + The rotation applied to the marginally Gaussian-ized data at each iteration. + - 'pca' : a principal components analysis rotation (PCA) + - 'random' : random rotations + - 'ica' : independent components analysis (ICA) + + pdf_resolution : int, optional (default 1000) + The number of points at which to compute the gaussianized marginal pdfs. + The functions that map from original data to gaussianized data at each + iteration have to be stored so that we can invert them later - if working + with high-dimensional data consider reducing this resolution to shorten + computation time. + + pdf_extension : int, optional (default 0.1) + The fraction by which to extend the support of the Gaussian-ized marginal + pdf compared to the empirical marginal PDF. + + verbose : int, optional + If specified, report the RBIG iteration number every + progress_report_interval iterations. + + zero_tolerance : int, optional (default=60) + The number of layers where the total correlation should not change + between RBIG iterations. If there is no zero_tolerance, then the + method will stop iterating regardless of how many the user sets as + the n_layers. + + rotation_kwargs : dict, optional (default=None) + Any extra keyword arguments that you want to pass into the rotation + algorithms (i.e. ICA or PCA). See the respective algorithms on + scikit-learn for more details. + + random_state : int, optional (default=None) + Control the seed for any randomization that occurs in this algorithm. + + entropy_correction : bool, optional (default=True) + Implements the shannon-millow correction to the entropy algorithm + + Attributes + ---------- + + rbig_model_X : RBIG() object + The RBIG model fitted + + rbig_model_Y : + + + rbig_model_XY : + + + References + ---------- + * Original Paper : Iterative Gaussianization: from ICA to Random Rotations + https://arxiv.org/abs/1602.00229 + + """ + + def __init__( + self, + n_layers=50, + rotation_type="PCA", + pdf_resolution=None, + pdf_extension=10, + random_state=None, + verbose=None, + tolerance=None, + zero_tolerance=100, + increment=1.5, + ): + self.n_layers = n_layers + self.rotation_type = rotation_type + self.pdf_resolution = pdf_resolution + self.pdf_extension = pdf_extension + self.random_state = random_state + self.verbose = verbose + self.tolerance = tolerance + self.zero_tolerance = zero_tolerance + self.increment = increment + + def fit(self, X, Y): + + # Check Arrays + X = check_array(X, ensure_2d=True) + Y = check_array(Y, ensure_2d=True) + + mv_g = None + + # Loop Until convergence + try: + while mv_g is None: + + if self.verbose: + print(f"PDF Extension: {self.pdf_extension}%") + + try: + + # initialize RBIG transform for Y + self.rbig_model_Y = RBIG( + n_layers=self.n_layers, + rotation_type=self.rotation_type, + random_state=self.random_state, + zero_tolerance=self.zero_tolerance, + tolerance=self.tolerance, + pdf_extension=self.pdf_extension, + ) + + # fit RBIG model to Y + self.rbig_model_Y.fit(Y) + + # Transform X using rbig_model_Y + X_transformed = self.rbig_model_Y.transform(X) + + # Initialize RBIG transform for X_transformed + self.rbig_model_X_trans = RBIG( + n_layers=self.n_layers, + rotation_type=self.rotation_type, + random_state=self.random_state, + zero_tolerance=self.zero_tolerance, + tolerance=self.tolerance, + pdf_extension=self.pdf_extension, + ) + + # Fit RBIG model to X_transformed + self.rbig_model_X_trans.fit(X_transformed) + + # Get mutual information + mv_g = self.rbig_model_X_trans.residual_info.sum() + + except: + self.pdf_extension = self.increment * self.pdf_extension + except KeyboardInterrupt: + print("Interrupted!") + + self.mv_g = mv_g + if self.verbose == 2: + print(f"mv_g: {mv_g}") + print(f"m_g: {neg_entropy_normal(X_transformed)}") + self.kld = mv_g + neg_entropy_normal(X_transformed).sum() + + return self + + def get_kld(self): + + return self.kld def neg_entropy_normal(data: np.ndarray) -> np.ndarray: diff --git a/rbig/information/total_corr.py b/rbig/information/total_corr.py index 39fa66c..e9d5ee8 100644 --- a/rbig/information/total_corr.py +++ b/rbig/information/total_corr.py @@ -1,4 +1,5 @@ import numpy as np + from rbig.information.entropy import entropy_marginal diff --git a/rbig/model/_rbig.py b/rbig/model.py similarity index 61% rename from rbig/model/_rbig.py rename to rbig/model.py index 5bb8c15..cf079c6 100644 --- a/rbig/model/_rbig.py +++ b/rbig/model.py @@ -1,38 +1,28 @@ -from typing import Dict, Tuple, Optional +import sys +import warnings + import numpy as np -from sklearn.utils import check_random_state, check_array -from sklearn.base import BaseEstimator, TransformerMixin from scipy import stats -from scipy.stats import norm, uniform, ortho_group, entropy as sci_entropy from scipy.interpolate import interp1d -from rbig.information.total_corr import information_reduction -from rbig.information.entropy import entropy_marginal -from rbig.utils import make_cdf_monotonic +from scipy.stats import norm, ortho_group +from sklearn.base import BaseEstimator, TransformerMixin from sklearn.decomposition import PCA -import sys -import logging -from rbig.transform.gaussian import ( - gaussian_transform, - gaussian_fit_transform, - gaussian_inverse_transform, - gaussian_transform_jacobian, -) - -logging.basicConfig( - level=logging.INFO, - stream=sys.stdout, - format="%(asctime)s: %(levelname)s: %(message)s", -) -logger = logging.getLogger() -# logger.setLevel(logging.INFO) +from sklearn.metrics import normalized_mutual_info_score as mi_score +from sklearn.utils import check_array, check_random_state + +from rbig.information.entropy import entropy_marginal +from rbig.information.total_corr import information_reduction +from rbig.density import univariate_invert_normalization, univariate_make_normal + +warnings.filterwarnings("ignore") # get rid of annoying warnings class RBIG(BaseEstimator, TransformerMixin): """ Rotation-Based Iterative Gaussian-ization (RBIG). This algorithm transforms any multidimensional data to a Gaussian. It also provides a sampling mechanism - whereby you can provide multidimensional gaussian data and it will generate + whereby you can provide multidimensional gaussian data and it will generate multidimensional data in the original domain. You can calculate the probabilities - as well as have access to a few information theoretic measures like total + as well as have access to a few information theoretic measures like total correlation and entropy. Parameters @@ -40,35 +30,42 @@ class RBIG(BaseEstimator, TransformerMixin): n_layers : int, optional (default 1000) The number of steps to run the sequence of marginal gaussianization and then rotation + rotation_type : {'PCA', 'random'} The rotation applied to the marginally Gaussian-ized data at each iteration. - 'pca' : a principal components analysis rotation (PCA) - 'random' : random rotations - 'ica' : independent components analysis (ICA) + pdf_resolution : int, optional (default 1000) The number of points at which to compute the gaussianized marginal pdfs. The functions that map from original data to gaussianized data at each iteration have to be stored so that we can invert them later - if working with high-dimensional data consider reducing this resolution to shorten computation time. - method : str, default='custom' + pdf_extension : int, optional (default 0.1) The fraction by which to extend the support of the Gaussian-ized marginal pdf compared to the empirical marginal PDF. + verbose : int, optional If specified, report the RBIG iteration number every progress_report_interval iterations. + zero_tolerance : int, optional (default=60) The number of layers where the total correlation should not change between RBIG iterations. If there is no zero_tolerance, then the method will stop iterating regardless of how many the user sets as the n_layers. + rotation_kwargs : dict, optional (default=None) Any extra keyword arguments that you want to pass into the rotation algorithms (i.e. ICA or PCA). See the respective algorithms on scikit-learn for more details. + random_state : int, optional (default=None) Control the seed for any randomization that occurs in this algorithm. + entropy_correction : bool, optional (default=True) Implements the shannon-millow correction to the entropy algorithm @@ -101,23 +98,20 @@ class RBIG(BaseEstimator, TransformerMixin): def __init__( self, - n_layers: int = 1_000, - rotation_type: str = "PCA", - method: str = "custom", - pdf_resolution: int = 1_000, - pdf_extension: int = 10, - random_state: Optional[int] = None, + n_layers=1000, + rotation_type="PCA", + pdf_resolution=1000, + pdf_extension=None, + random_state=None, verbose: int = 0, - tolerance: int = None, - zero_tolerance: int = 60, - entropy_correction: bool = True, - rotation_kwargs: Dict = {}, + tolerance=None, + zero_tolerance=60, + entropy_correction=True, + rotation_kwargs=None, base="gauss", - n_quantiles: int = 1_000, - ) -> None: + ): self.n_layers = n_layers self.rotation_type = rotation_type - self.method = method self.pdf_resolution = pdf_resolution self.pdf_extension = pdf_extension self.random_state = random_state @@ -127,7 +121,6 @@ def __init__( self.entropy_correction = entropy_correction self.rotation_kwargs = rotation_kwargs self.base = base - self.n_quantiles = n_quantiles def fit(self, X): """ Fit the model with X. @@ -177,19 +170,15 @@ def _fit(self, data): if self.tolerance is None: self.tolerance = self._get_information_tolerance(n_samples) - logging.debug("Data (shape): {}".format(np.shape(gauss_data))) - # Initialize stopping criteria (residual information) self.residual_info = list() self.gauss_params = list() self.rotation_matrix = list() # Loop through the layers - logging.debug("Running: Looping through the layers...") - for layer in range(self.n_layers): - if self.verbose > 2: + if self.verbose > 1: print("Completed {} iterations of RBIG.".format(layer + 1)) # ------------------ @@ -199,32 +188,17 @@ def _fit(self, data): for idim in range(n_dimensions): - gauss_data[:, idim], params = gaussian_fit_transform( - gauss_data[:, idim], - method=self.method, - params={ - "support_extension": self.pdf_extension, - "n_quantiles": self.n_quantiles, - }, + gauss_data[:, idim], temp_params = univariate_make_normal( + gauss_data[:, idim], self.pdf_extension, self.pdf_resolution ) - # gauss_data[:, idim], params = self.univariate_make_normal( - # gauss_data[:, idim], self.pdf_extension, self.pdf_resolution - # ) - if self.verbose > 2: - logging.info( - f"Gauss Data (After Marginal): {gauss_data.min()}, {gauss_data.max()}" - ) - # append the parameters - layer_params.append(params) + layer_params.append(temp_params) self.gauss_params.append(layer_params) gauss_data_prerotation = gauss_data.copy() - if self.verbose > 2: - logging.info( - f"Gauss Data (prerotation): {gauss_data.min()}, {gauss_data.max()}" - ) + if self.verbose == 2: + print(gauss_data.min(), gauss_data.max()) # -------- # Rotation @@ -238,15 +212,19 @@ def _fit(self, data): elif self.rotation_type.lower() == "pca": # Initialize PCA model - pca_model = PCA(random_state=self.random_state, **self.rotation_kwargs) + if self.rotation_kwargs is not None: + pca_model = PCA( + random_state=self.random_state, **self.rotation_kwargs + ) + else: + pca_model = PCA(random_state=self.random_state) - logging.debug("Size of gauss_data: {}".format(gauss_data.shape)) gauss_data = pca_model.fit_transform(gauss_data) self.rotation_matrix.append(pca_model.components_.T) else: raise ValueError( - f"Rotation type '{self.rotation_type}' not recognized." + "Rotation type " + self.rotation_type + " not recognized" ) # -------------------------------- @@ -290,7 +268,6 @@ def _stopping_criteria(self, layer): aux_residual = np.array(self.residual_info) if np.abs(aux_residual[-self.zero_tolerance :]).sum() == 0: - logging.debug("Done! aux: {}".format(aux_residual)) # delete the last 50 layers for saved parameters self.rotation_matrix = self.rotation_matrix[:-50] @@ -306,33 +283,46 @@ def transform(self, X): """Complete transformation of X given the learned Gaussianization parameters. This assumes that the data follows a similar distribution as the data that was original used to fit the RBIG Gaussian-ization parameters. - Parameters + + Parameters ---------- X : array, (n_samples, n_dimensions) The data to be transformed (Gaussianized) + Returns ------- X_transformed : array, (n_samples, n_dimensions) The new transformed data in the Gaussian domain + """ - X = check_array(X, ensure_2d=True, copy=True) + n_dimensions = np.shape(X)[1] + X_transformed = np.copy(X) - for igauss, irotation in zip(self.gauss_params, self.rotation_matrix): + for layer in range(self.n_layers): # ---------------------------- - # Marginal Gaussianization + # Marginal Uniformization # ---------------------------- + data_layer = X_transformed - for idim in range(X.shape[1]): + for idim in range(n_dimensions): - X[:, idim] = gaussian_transform(X[:, idim], igauss[idim]) + # marginal uniformization + data_layer[:, idim] = interp1d( + self.gauss_params[layer][idim]["uniform_cdf_support"], + self.gauss_params[layer][idim]["uniform_cdf"], + fill_value="extrapolate", + )(data_layer[:, idim]) + + # marginal gaussianization + data_layer[:, idim] = norm.ppf(data_layer[:, idim]) # ---------------------- # Rotation # ---------------------- - X = np.dot(X, irotation) + X_transformed = np.dot(data_layer, self.rotation_matrix[layer]) - return X + return X_transformed def inverse_transform(self, X): """Complete transformation of X in the given the learned Gaussianization parameters. @@ -349,26 +339,24 @@ def inverse_transform(self, X): The new transformed X in the original input space. """ - X = check_array(X, ensure_2d=True, copy=True) + n_dimensions = np.shape(X)[1] + X_input_domain = np.copy(X) - for igauss, irotation in zip( - self.gauss_params[::-1], self.rotation_matrix[::-1] - ): + for layer in range(self.n_layers - 1, -1, -1): - # ---------------------- - # Rotation - # ---------------------- - X = np.dot(X, irotation.T) - - # ---------------------------- - # Marginal Gaussianization - # ---------------------------- + if self.verbose > 1: + print("Completed {} inverse iterations of RBIG.".format(layer + 1)) - for idim in range(X.shape[1]): + X_input_domain = np.dot(X_input_domain, self.rotation_matrix[layer].T) - X[:, idim] = gaussian_inverse_transform(X[:, idim], igauss[idim]) + temp = X_input_domain + for idim in range(n_dimensions): + temp[:, idim] = univariate_invert_normalization( + temp[:, idim], self.gauss_params[layer][idim] + ) + X_input_domain = temp - return X + return X_input_domain def _get_information_tolerance(self, n_samples): """Precompute some tolerances for the tails.""" @@ -377,7 +365,7 @@ def _get_information_tolerance(self, n_samples): return interp1d(xxx, yyy)(n_samples) - def jacobian(self, X: np.ndarray): + def jacobian(self, X, return_X_transform=False): """Calculates the jacobian matrix of the X. Parameters @@ -397,100 +385,69 @@ def jacobian(self, X: np.ndarray): X_transformed : array, (n_samples, n_features) (optional) The transformed data in the Gaussianized space """ - X = check_array(X, ensure_2d=True, copy=True) n_samples, n_components = X.shape - X_logdetjacobian = np.zeros((n_samples, n_components, self.n_layers)) + # initialize jacobian matrix + jacobian = np.zeros((n_samples, n_components, n_components)) - for ilayer, (igauss, irotation) in enumerate( - zip(self.gauss_params, self.rotation_matrix) - ): - # ---------------------------- - # Marginal Gaussianization - # ---------------------------- + X_transformed = X.copy() - for idim in range(X.shape[1]): + XX = np.zeros(shape=(n_samples, n_components)) + XX[:, 0] = np.ones(shape=n_samples) - # marginal gaussian transformation - ( - X[:, idim], - X_logdetjacobian[:, idim, ilayer], - ) = gaussian_transform_jacobian(X[:, idim], igauss[idim]) + # initialize gaussian pdf + gaussian_pdf = np.zeros(shape=(n_samples, n_components, self.n_layers)) + igaussian_pdf = np.zeros(shape=(n_samples, n_components)) - # ---------------------- - # Rotation - # ---------------------- - X = np.dot(X, irotation) - return X, X_logdetjacobian + # TODO: I feel like this is repeating a part of the transform operation - def log_det_jacobian(self, X: np.ndarray): - """Calculates the jacobian matrix of the X. + for ilayer in range(self.n_layers): - Parameters - ---------- - X : array, (n_samples, n_features) - The input array to calculate the jacobian using the Gaussianization params. + for idim in range(n_components): - return_X_transform : bool, default: False - Determines whether to return the transformed Data. This is computed along - with the Jacobian to save time with the iterations + # Marginal Uniformization + data_uniform = interp1d( + self.gauss_params[ilayer][idim]["uniform_cdf_support"], + self.gauss_params[ilayer][idim]["uniform_cdf"], + fill_value="extrapolate", + )(X_transformed[:, idim]) - Returns - ------- - jacobian : array, (n_samples, n_features, n_features) - The jacobian of the data w.r.t. each component for each direction + # Marginal Gaussianization + igaussian_pdf[:, idim] = norm.ppf(data_uniform) - X_transformed : array, (n_samples, n_features) (optional) - The transformed data in the Gaussianized space - """ - X = check_array(X, ensure_2d=True, copy=True) + # Gaussian PDF + gaussian_pdf[:, idim, ilayer] = interp1d( + self.gauss_params[ilayer][idim]["empirical_pdf_support"], + self.gauss_params[ilayer][idim]["empirical_pdf"], + fill_value="extrapolate", + )(X_transformed[:, idim]) * (1 / norm.pdf(igaussian_pdf[:, idim])) - X += 1e-1 * np.random.rand(X.shape[0], X.shape[1]) - n_samples, n_components = X.shape + XX = np.dot(gaussian_pdf[:, :, ilayer] * XX, self.rotation_matrix[ilayer]) - X_logdetjacobian = np.zeros((n_samples, n_components)) - X_ldj = np.zeros((n_samples, n_components)) - self.jacs_ = list() - self.jacs_sum_ = list() + X_transformed = np.dot(igaussian_pdf, self.rotation_matrix[ilayer]) + jacobian[:, :, 0] = XX - for ilayer, (igauss, irotation) in enumerate( - zip(self.gauss_params, self.rotation_matrix) - ): - # ---------------------------- - # Marginal Gaussianization - # ---------------------------- + if n_components > 1: - for idim in range(X.shape[1]): + for idim in range(n_components): - # marginal gaussian transformation - (X[:, idim], X_ldj[:, idim],) = gaussian_transform_jacobian( - X[:, idim], igauss[idim] - ) + XX = np.zeros(shape=(n_samples, n_components)) + XX[:, idim] = np.ones(n_samples) - # print( - # X_logdetjacobian[:, idim].min(), - # X_logdetjacobian[:, idim].max(), - # X_ldj.min(), - # X_ldj.max(), - # ) - msg = f"X: {np.min(X[:, idim]):.5f}, {np.max(X[:, idim]):.5f}" - msg += f"\nLayer: {ilayer, idim}" - assert not np.isinf(X_logdetjacobian).any(), msg - # X_ldj = np.clip(X_ldj, -2, 2) - # ---------------------- - # Rotation - # ---------------------- - X_logdetjacobian += X_ldj.copy() - # X_logdetjacobian = np.clip(X_logdetjacobian, -10, 10) - self.jacs_.append(np.percentile(X_ldj, [0, 5, 10, 50, 90, 95, 100])) - self.jacs_sum_.append( - np.percentile(X_logdetjacobian, [0, 5, 10, 50, 90, 95, 100]) - ) - X = np.dot(X, irotation) + for ilayer in range(self.n_layers): + + XX = np.dot( + gaussian_pdf[:, :, ilayer] * XX, self.rotation_matrix[ilayer] + ) + + jacobian[:, :, idim] = XX - return X, X_logdetjacobian + if return_X_transform: + return jacobian, X_transformed + else: + return jacobian - def predict_proba(self, X): + def predict_proba(self, X, n_trials=1, chunksize=2000, domain="input"): """ Computes the probability of the original data under the generative RBIG model. @@ -519,29 +476,73 @@ def predict_proba(self, X): Returns ------- - prob_data_input_domain : array, (n_samples, 1) + prob_data_input_domain : array, (n_samples) The probability """ - X = check_array(X, ensure_2d=True, copy=True) + component_wise_std = np.std(X, axis=0) / 20 + + n_samples, n_components = X.shape + + prob_data_gaussian_domain = np.zeros(shape=(n_samples, n_trials)) + prob_data_input_domain = np.zeros(shape=(n_samples, n_trials)) + + for itrial in range(n_trials): + + jacobians = np.zeros(shape=(n_samples, n_components, n_components)) + + if itrial < n_trials: + data_aux = X + component_wise_std[None, :] + else: + data_aux = X + + data_temp = np.zeros(data_aux.shape) + + # for start_idx, end_idx in generate_batches(n_samples, chunksize): + + # ( + # jacobians[start_idx:end_idx, :, :], + # data_temp[start_idx:end_idx, :], + # ) = self.jacobian( + # data_aux[start_idx:end_idx, :], return_X_transform=True + # ) + jacobians, data_temp = self.jacobian(data_aux, return_X_transform=True) + # set all nans to zero + jacobians[np.isnan(jacobians)] = 0.0 + + # get the determinant of all jacobians + det_jacobians = np.linalg.det(jacobians) + + # Probability in Gaussian Domain + prob_data_gaussian_domain[:, itrial] = np.prod( + (1 / np.sqrt(2 * np.pi)) * np.exp(-0.5 * np.power(data_temp, 2)), axis=1 + ) - # get transformation and jacobian - Z, X_ldj = self.log_det_jacobian(X) - logging.debug(f"Z: {np.percentile(Z, [0, 5, 50, 95, 100])}") + # set all nans to zero + prob_data_gaussian_domain[np.isnan(prob_data_gaussian_domain)] = 0.0 - # calculate the probability - Z_logprob = stats.norm.logpdf(Z) + # compute determinant for each sample's jacobian + prob_data_input_domain[:, itrial] = prob_data_gaussian_domain[ + :, itrial + ] * np.abs(det_jacobians) - logging.debug(f"Z_logprob: {np.percentile(Z_logprob, [0, 5, 50, 95, 100])}") - logging.debug(f"X_ldj: {np.percentile(X_ldj, [0, 5, 50, 95, 100])}") + # set all nans to zero + prob_data_input_domain[np.isnan(prob_data_input_domain)] = 0.0 - # calculate total probability - X_logprob = (Z_logprob + X_ldj).sum(-1) - logging.debug(f"X_logprob: {np.percentile(X_logprob, [0, 5, 50, 95, 100])}") - X_prob = np.exp(X_logprob) + # Average all the jacobians we calculate + prob_data_input_domain = prob_data_input_domain.mean(axis=1) + prob_data_gaussian_domain = prob_data_gaussian_domain.mean(axis=1) + det_jacobians = det_jacobians.mean() - logging.debug(f"XProb: {np.percentile(X_prob, [0, 5, 50, 95, 100])}") + # save the jacobians + self.jacobians = jacobians + self.det_jacobians = det_jacobians - return X_prob.reshape(-1, 1) + if domain == "input": + return prob_data_input_domain + elif domain == "transform": + return prob_data_gaussian_domain + elif domain == "both": + return prob_data_input_domain, prob_data_gaussian_domain def entropy(self, correction=None): diff --git a/rbig/model/__init__.py b/rbig/model/__init__.py deleted file mode 100644 index c96b1ce..0000000 --- a/rbig/model/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -from rbig.model._rbig import RBIG - - -__all__ = [ - "RBIG", -] diff --git a/rbig/rbig.py b/rbig/rbig.py deleted file mode 100644 index 2a72c7e..0000000 --- a/rbig/rbig.py +++ /dev/null @@ -1,1358 +0,0 @@ -import numpy as np -from sklearn.utils import check_random_state, check_array -from sklearn.base import BaseEstimator, TransformerMixin -from sklearn.preprocessing import QuantileTransformer -from sklearn.decomposition import PCA, FastICA -from sklearn.model_selection import train_test_split -from sklearn.metrics import normalized_mutual_info_score as mi_score -from scipy.stats import norm, uniform, ortho_group, entropy as sci_entropy -from scipy import stats -from scipy.interpolate import interp1d -import warnings -import sys -import logging - -logging.basicConfig( - level=logging.INFO, - stream=sys.stdout, - format="%(asctime)s: %(levelname)s: %(message)s", -) -logger = logging.getLogger() -logger.setLevel(logging.INFO) - -warnings.filterwarnings("ignore") # get rid of annoying warnings -# logging.basicConfig( -# filename="rbig_demo.log", -# level=logging.INFO, -# format="%(asctime)s: %(name)-12s %(levelname)-8s: %(message)s", -# filemode="w", -# ) - -logging.debug(f"Transforming Feature") - - -class RBIG(BaseEstimator, TransformerMixin): - """ Rotation-Based Iterative Gaussian-ization (RBIG). This algorithm transforms - any multidimensional data to a Gaussian. It also provides a sampling mechanism - whereby you can provide multidimensional gaussian data and it will generate - multidimensional data in the original domain. You can calculate the probabilities - as well as have access to a few information theoretic measures like total - correlation and entropy. - - Parameters - ---------- - n_layers : int, optional (default 1000) - The number of steps to run the sequence of marginal gaussianization - and then rotation - - rotation_type : {'PCA', 'random'} - The rotation applied to the marginally Gaussian-ized data at each iteration. - - 'pca' : a principal components analysis rotation (PCA) - - 'random' : random rotations - - 'ica' : independent components analysis (ICA) - - pdf_resolution : int, optional (default 1000) - The number of points at which to compute the gaussianized marginal pdfs. - The functions that map from original data to gaussianized data at each - iteration have to be stored so that we can invert them later - if working - with high-dimensional data consider reducing this resolution to shorten - computation time. - - pdf_extension : int, optional (default 0.1) - The fraction by which to extend the support of the Gaussian-ized marginal - pdf compared to the empirical marginal PDF. - - verbose : int, optional - If specified, report the RBIG iteration number every - progress_report_interval iterations. - - zero_tolerance : int, optional (default=60) - The number of layers where the total correlation should not change - between RBIG iterations. If there is no zero_tolerance, then the - method will stop iterating regardless of how many the user sets as - the n_layers. - - rotation_kwargs : dict, optional (default=None) - Any extra keyword arguments that you want to pass into the rotation - algorithms (i.e. ICA or PCA). See the respective algorithms on - scikit-learn for more details. - - random_state : int, optional (default=None) - Control the seed for any randomization that occurs in this algorithm. - - entropy_correction : bool, optional (default=True) - Implements the shannon-millow correction to the entropy algorithm - - Attributes - ---------- - gauss_data : array, (n_samples x d_dimensions) - The gaussianized data after the RBIG transformation - - residual_info : array, (n_layers) - The cumulative amount of information between layers. It should exhibit - a curve with a plateau to indicate convergence. - - rotation_matrix = dict, (n_layers) - A rotation matrix that was calculated and saved for each layer. - - gauss_params = dict, (n_layers) - The cdf and pdf for the gaussianization parameters used for each layer. - - References - ---------- - * Original Paper : Iterative Gaussianization: from ICA to Random Rotations - https://arxiv.org/abs/1602.00229 - - * Original MATLAB Implementation - http://isp.uv.es/rbig.html - - * Original Python Implementation - https://github.com/spencerkent/pyRBIG - """ - - def __init__( - self, - n_layers=1000, - rotation_type="PCA", - pdf_resolution=1000, - pdf_extension=None, - random_state=None, - verbose: int = 0, - tolerance=None, - zero_tolerance=60, - entropy_correction=True, - rotation_kwargs=None, - base="gauss", - ): - self.n_layers = n_layers - self.rotation_type = rotation_type - self.pdf_resolution = pdf_resolution - self.pdf_extension = pdf_extension - self.random_state = random_state - self.verbose = verbose - self.tolerance = tolerance - self.zero_tolerance = zero_tolerance - self.entropy_correction = entropy_correction - self.rotation_kwargs = rotation_kwargs - self.base = base - - def fit(self, X): - """ Fit the model with X. - Parameters - ---------- - X : array-like, shape (n_samples, n_features) - Training data, where n_samples in the number of samples - and n_features is the number of features. - - Returns - ------- - self : object - Returns the instance itself. - """ - X = check_array(X, ensure_2d=True) - self._fit(X) - return self - - def _fit(self, data): - """ Fit the model with data. - Parameters - ---------- - data : array-like, shape (n_samples, n_features) - Training data, where n_samples in the number of samples - and n_features is the number of features. - Returns - ------- - self : object - Returns the instance itself. - """ - - data = check_array(data, ensure_2d=True) - - if self.pdf_extension is None: - self.pdf_extension = 10 - - if self.pdf_resolution is None: - self.pdf_resolution = 2 * np.round(np.sqrt(data.shape[0])) - self.X_fit_ = data - gauss_data = np.copy(data) - - n_samples, n_dimensions = np.shape(data) - - if self.zero_tolerance is None: - self.zero_tolerance = self.n_layers + 1 - - if self.tolerance is None: - self.tolerance = self._get_information_tolerance(n_samples) - - logging.debug("Data (shape): {}".format(np.shape(gauss_data))) - - # Initialize stopping criteria (residual information) - self.residual_info = list() - self.gauss_params = list() - self.rotation_matrix = list() - - # Loop through the layers - logging.debug("Running: Looping through the layers...") - for layer in range(self.n_layers): - - if self.verbose > 1: - print("Completed {} iterations of RBIG.".format(layer + 1)) - - # ------------------ - # Gaussian(-ization) - # ------------------ - layer_params = list() - - for idim in range(n_dimensions): - - gauss_data[:, idim], temp_params = self.univariate_make_normal( - gauss_data[:, idim], self.pdf_extension, self.pdf_resolution - ) - - # append the parameters - layer_params.append(temp_params) - - self.gauss_params.append(layer_params) - gauss_data_prerotation = gauss_data.copy() - if self.verbose == 2: - print(gauss_data.min(), gauss_data.max()) - - # -------- - # Rotation - # -------- - if self.rotation_type == "random": - - rand_ortho_matrix = ortho_group.rvs(n_dimensions) - gauss_data = np.dot(gauss_data, rand_ortho_matrix) - self.rotation_matrix.append(rand_ortho_matrix) - - elif self.rotation_type.lower() == "ica": - - # initialize model fastica model - if self.rotation_kwargs is not None: - ica_model = FastICA( - random_state=self.random_state, **self.rotation_kwargs - ) - else: - ica_model = FastICA(random_state=self.random_state) - # fit-transform data - gauss_data = ica_model.fit_transform(gauss_data) - - # save rotation matrix - self.rotation_matrix.append(ica_model.components_.T) - - elif self.rotation_type.lower() == "pca": - - # Initialize PCA model - if self.rotation_kwargs is not None: - pca_model = PCA( - random_state=self.random_state, **self.rotation_kwargs - ) - else: - pca_model = PCA(random_state=self.random_state) - - logging.debug("Size of gauss_data: {}".format(gauss_data.shape)) - gauss_data = pca_model.fit_transform(gauss_data) - self.rotation_matrix.append(pca_model.components_.T) - - else: - raise ValueError( - "Rotation type " + self.rotation_type + " not recognized" - ) - - # -------------------------------- - # Information Reduction - # -------------------------------- - self.residual_info.append( - information_reduction( - gauss_data, gauss_data_prerotation, self.tolerance - ) - ) - - # -------------------------------- - # Stopping Criteria - # -------------------------------- - if self._stopping_criteria(layer): - break - else: - pass - self.residual_info = np.array(self.residual_info) - self.gauss_data = gauss_data - self.mutual_information = np.sum(self.residual_info) - self.n_layers = len(self.gauss_params) - - return self - - def _stopping_criteria(self, layer): - """Stopping criteria for the the RBIG algorithm. - - Parameter - --------- - layer : int - - Returns - ------- - verdict = - - """ - stop_ = False - - if layer > self.zero_tolerance: - aux_residual = np.array(self.residual_info) - - if np.abs(aux_residual[-self.zero_tolerance :]).sum() == 0: - logging.debug("Done! aux: {}".format(aux_residual)) - - # delete the last 50 layers for saved parameters - self.rotation_matrix = self.rotation_matrix[:-50] - self.gauss_params = self.gauss_params[:-50] - - stop_ = True - else: - stop_ = False - - return stop_ - - def transform(self, X): - """Complete transformation of X given the learned Gaussianization parameters. - This assumes that the data follows a similar distribution as the data that - was original used to fit the RBIG Gaussian-ization parameters. - - Parameters - ---------- - X : array, (n_samples, n_dimensions) - The data to be transformed (Gaussianized) - - Returns - ------- - X_transformed : array, (n_samples, n_dimensions) - The new transformed data in the Gaussian domain - - """ - n_dimensions = np.shape(X)[1] - X_transformed = np.copy(X) - - for layer in range(self.n_layers): - - # ---------------------------- - # Marginal Uniformization - # ---------------------------- - data_layer = X_transformed - - for idim in range(n_dimensions): - - # marginal uniformization - data_layer[:, idim] = interp1d( - self.gauss_params[layer][idim]["uniform_cdf_support"], - self.gauss_params[layer][idim]["uniform_cdf"], - fill_value="extrapolate", - )(data_layer[:, idim]) - - # marginal gaussianization - data_layer[:, idim] = norm.ppf(data_layer[:, idim]) - - # ---------------------- - # Rotation - # ---------------------- - X_transformed = np.dot(data_layer, self.rotation_matrix[layer]) - - return X_transformed - - def inverse_transform(self, X): - """Complete transformation of X in the given the learned Gaussianization parameters. - - Parameters - ---------- - X : array, (n_samples, n_dimensions) - The X that follows a Gaussian distribution to be transformed - to data in the original input space. - - Returns - ------- - X_input_domain : array, (n_samples, n_dimensions) - The new transformed X in the original input space. - - """ - n_dimensions = np.shape(X)[1] - X_input_domain = np.copy(X) - - for layer in range(self.n_layers - 1, -1, -1): - - if self.verbose > 1: - print("Completed {} inverse iterations of RBIG.".format(layer + 1)) - - X_input_domain = np.dot(X_input_domain, self.rotation_matrix[layer].T) - - temp = X_input_domain - for idim in range(n_dimensions): - temp[:, idim] = self.univariate_invert_normalization( - temp[:, idim], self.gauss_params[layer][idim] - ) - X_input_domain = temp - - return X_input_domain - - def _get_information_tolerance(self, n_samples): - """Precompute some tolerances for the tails.""" - xxx = np.logspace(2, 8, 7) - yyy = [0.1571, 0.0468, 0.0145, 0.0046, 0.0014, 0.0001, 0.00001] - - return interp1d(xxx, yyy)(n_samples) - - def jacobian(self, X, return_X_transform=False): - """Calculates the jacobian matrix of the X. - - Parameters - ---------- - X : array, (n_samples, n_features) - The input array to calculate the jacobian using the Gaussianization params. - - return_X_transform : bool, default: False - Determines whether to return the transformed Data. This is computed along - with the Jacobian to save time with the iterations - - Returns - ------- - jacobian : array, (n_samples, n_features, n_features) - The jacobian of the data w.r.t. each component for each direction - - X_transformed : array, (n_samples, n_features) (optional) - The transformed data in the Gaussianized space - """ - n_samples, n_components = X.shape - - # initialize jacobian matrix - jacobian = np.zeros((n_samples, n_components, n_components)) - - X_transformed = X.copy() - - XX = np.zeros(shape=(n_samples, n_components)) - XX[:, 0] = np.ones(shape=n_samples) - - # initialize gaussian pdf - gaussian_pdf = np.zeros(shape=(n_samples, n_components, self.n_layers)) - igaussian_pdf = np.zeros(shape=(n_samples, n_components)) - - # TODO: I feel like this is repeating a part of the transform operation - - for ilayer in range(self.n_layers): - - for idim in range(n_components): - - # Marginal Uniformization - data_uniform = interp1d( - self.gauss_params[ilayer][idim]["uniform_cdf_support"], - self.gauss_params[ilayer][idim]["uniform_cdf"], - fill_value="extrapolate", - )(X_transformed[:, idim]) - - # Marginal Gaussianization - igaussian_pdf[:, idim] = norm.ppf(data_uniform) - - # Gaussian PDF - gaussian_pdf[:, idim, ilayer] = interp1d( - self.gauss_params[ilayer][idim]["empirical_pdf_support"], - self.gauss_params[ilayer][idim]["empirical_pdf"], - fill_value="extrapolate", - )(X_transformed[:, idim]) * (1 / norm.pdf(igaussian_pdf[:, idim])) - - XX = np.dot(gaussian_pdf[:, :, ilayer] * XX, self.rotation_matrix[ilayer]) - - X_transformed = np.dot(igaussian_pdf, self.rotation_matrix[ilayer]) - jacobian[:, :, 0] = XX - - if n_components > 1: - - for idim in range(n_components): - - XX = np.zeros(shape=(n_samples, n_components)) - XX[:, idim] = np.ones(n_samples) - - for ilayer in range(self.n_layers): - - XX = np.dot( - gaussian_pdf[:, :, ilayer] * XX, self.rotation_matrix[ilayer] - ) - - jacobian[:, :, idim] = XX - - if return_X_transform: - return jacobian, X_transformed - else: - return jacobian - - def predict_proba(self, X, n_trials=1, chunksize=2000, domain="input"): - """ Computes the probability of the original data under the generative RBIG - model. - - Parameters - ---------- - X : array, (n_samples x n_components) - The points that the pdf is evaluated - - n_trials : int, (default : 1) - The number of times that the jacobian is evaluated and averaged - - TODO: make sure n_trials is an int - TODO: make sure n_trials is 1 or more - - chunksize : int, (default: 2000) - The batchsize to calculate the jacobian matrix. - - TODO: make sure chunksize is an int - TODO: make sure chunk size is greater than 0 - - domain : {'input', 'gauss', 'both'} - The domain to calculate the PDF. - - 'input' : returns the original domain (default) - - 'gauss' : returns the gaussian domain - - 'both' : returns both the input and gauss domain - - Returns - ------- - prob_data_input_domain : array, (n_samples) - The probability - """ - component_wise_std = np.std(X, axis=0) / 20 - - n_samples, n_components = X.shape - - prob_data_gaussian_domain = np.zeros(shape=(n_samples, n_trials)) - prob_data_input_domain = np.zeros(shape=(n_samples, n_trials)) - - for itrial in range(n_trials): - - jacobians = np.zeros(shape=(n_samples, n_components, n_components)) - - if itrial < n_trials: - data_aux = X + component_wise_std[None, :] - else: - data_aux = X - - data_temp = np.zeros(data_aux.shape) - - # for start_idx, end_idx in generate_batches(n_samples, chunksize): - - # ( - # jacobians[start_idx:end_idx, :, :], - # data_temp[start_idx:end_idx, :], - # ) = self.jacobian( - # data_aux[start_idx:end_idx, :], return_X_transform=True - # ) - jacobians, data_temp = self.jacobian(data_aux, return_X_transform=True) - # set all nans to zero - jacobians[np.isnan(jacobians)] = 0.0 - - # get the determinant of all jacobians - det_jacobians = np.linalg.det(jacobians) - - # Probability in Gaussian Domain - prob_data_gaussian_domain[:, itrial] = np.prod( - (1 / np.sqrt(2 * np.pi)) * np.exp(-0.5 * np.power(data_temp, 2)), axis=1 - ) - - # set all nans to zero - prob_data_gaussian_domain[np.isnan(prob_data_gaussian_domain)] = 0.0 - - # compute determinant for each sample's jacobian - prob_data_input_domain[:, itrial] = prob_data_gaussian_domain[ - :, itrial - ] * np.abs(det_jacobians) - - # set all nans to zero - prob_data_input_domain[np.isnan(prob_data_input_domain)] = 0.0 - - # Average all the jacobians we calculate - prob_data_input_domain = prob_data_input_domain.mean(axis=1) - prob_data_gaussian_domain = prob_data_gaussian_domain.mean(axis=1) - det_jacobians = det_jacobians.mean() - - # save the jacobians - self.jacobians = jacobians - self.det_jacobians = det_jacobians - - if domain == "input": - return prob_data_input_domain - elif domain == "transform": - return prob_data_gaussian_domain - elif domain == "both": - return prob_data_input_domain, prob_data_gaussian_domain - - def entropy(self, correction=None): - - # TODO check fit - if (correction is None) or (correction is False): - correction = self.entropy_correction - return ( - entropy_marginal(self.X_fit_, correction=correction).sum() - - self.mutual_information - ) - - def total_correlation(self): - - # TODO check fit - return self.residual_info.sum() - - def univariate_make_normal(self, uni_data, extension, precision): - """ - Takes univariate data and transforms it to have approximately normal dist - We do this through the simple composition of a histogram equalization - producing an approximately uniform distribution and then the inverse of the - normal CDF. This will produce approximately gaussian samples. - Parameters - ---------- - uni_data : ndarray - The univariate data [Sx1] where S is the number of samples in the dataset - extension : float - Extend the marginal PDF support by this amount. - precision : int - The number of points in the marginal PDF - - Returns - ------- - uni_gaussian_data : ndarray - univariate gaussian data - params : dictionary - parameters of the transform. We save these so we can invert them later - """ - data_uniform, params = self.univariate_make_uniform( - uni_data.T, extension, precision - ) - if self.base == "gauss": - return norm.ppf(data_uniform).T, params - elif self.base == "uniform": - return uniform.ppf(data_uniform).T, params - else: - raise ValueError(f"Unrecognized base dist: {self.base}.") - - def univariate_make_uniform(self, uni_data, extension, precision): - """ - Takes univariate data and transforms it to have approximately uniform dist - Parameters - ---------- - uni_data : ndarray - The univariate data [1xS] where S is the number of samples in the dataset - extension : float - Extend the marginal PDF support by this amount. Default 0.1 - precision : int - The number of points in the marginal PDF - Returns - ------- - uni_uniform_data : ndarray - univariate uniform data - transform_params : dictionary - parameters of the transform. We save these so we can invert them later - """ - n_samps = len(uni_data) - support_extension = (extension / 100) * abs(np.max(uni_data) - np.min(uni_data)) - - # not sure exactly what we're doing here, but at a high level we're - # constructing bins for the histogram - bin_edges = np.linspace( - np.min(uni_data), np.max(uni_data), int(np.sqrt(np.float64(n_samps)) + 1) - ) - bin_centers = np.mean(np.vstack((bin_edges[0:-1], bin_edges[1:])), axis=0) - - counts, _ = np.histogram(uni_data, bin_edges) - - bin_size = bin_edges[2] - bin_edges[1] - pdf_support = np.hstack( - (bin_centers[0] - bin_size, bin_centers, bin_centers[-1] + bin_size) - ) - empirical_pdf = np.hstack((0.0, counts / (np.sum(counts) * bin_size), 0.0)) - # ^ this is unnormalized - c_sum = np.cumsum(counts) - cdf = (1 - 1 / n_samps) * c_sum / n_samps - - incr_bin = bin_size / 2 - - new_bin_edges = np.hstack( - ( - np.min(uni_data) - support_extension, - np.min(uni_data), - bin_centers + incr_bin, - np.max(uni_data) + support_extension + incr_bin, - ) - ) - - extended_cdf = np.hstack((0.0, 1.0 / n_samps, cdf, 1.0)) - new_support = np.linspace(new_bin_edges[0], new_bin_edges[-1], int(precision)) - learned_cdf = interp1d(new_bin_edges, extended_cdf) - uniform_cdf = make_cdf_monotonic(learned_cdf(new_support)) - # ^ linear interpolation - uniform_cdf /= np.max(uniform_cdf) - uni_uniform_data = interp1d(new_support, uniform_cdf)(uni_data) - - return ( - uni_uniform_data, - { - "empirical_pdf_support": pdf_support, - "empirical_pdf": empirical_pdf, - "uniform_cdf_support": new_support, - "uniform_cdf": uniform_cdf, - }, - ) - - def univariate_invert_normalization(self, uni_gaussian_data, trans_params): - """ - Inverts the marginal normalization - See the companion, univariate_make_normal.py, for more details - """ - if self.base == "gauss": - uni_uniform_data = norm.cdf(uni_gaussian_data) - elif self.base == "uniform": - uni_uniform_data = uniform.cdf(uni_gaussian_data) - else: - raise ValueError(f"Unrecognized base dist.: {base}.") - - uni_data = self.univariate_invert_uniformization(uni_uniform_data, trans_params) - return uni_data - - def univariate_invert_uniformization(self, uni_uniform_data, trans_params): - """ - Inverts the marginal uniformization transform specified by trans_params - See the companion, univariate_make_normal.py, for more details - """ - # simple, we just interpolate based on the saved CDF - return interp1d( - trans_params["uniform_cdf"], trans_params["uniform_cdf_support"] - )(uni_uniform_data) - - -class RBIGMI(object): - """ Rotation-Based Iterative Gaussian-ization (RBIG) applied to two - multidimensional variables (RBIGMI). Applies the RBIG algorithm to - the two multidimensional variables independently, then applies another - RBIG algorithm on the two Gaussian-ized datasets. - - Parameters - ---------- - n_layers : int, optional (default 1000) - The number of steps to run the sequence of marginal gaussianization - and then rotation - - rotation_type : {'PCA', 'random'} - The rotation applied to the marginally Gaussian-ized data at each iteration. - - 'pca' : a principal components analysis rotation (PCA) - - 'random' : random rotations - - 'ica' : independent components analysis (ICA) - - pdf_resolution : int, optional (default 1000) - The number of points at which to compute the gaussianized marginal pdfs. - The functions that map from original data to gaussianized data at each - iteration have to be stored so that we can invert them later - if working - with high-dimensional data consider reducing this resolution to shorten - computation time. - - pdf_extension : int, optional (default 0.1) - The fraction by which to extend the support of the Gaussian-ized marginal - pdf compared to the empirical marginal PDF. - - verbose : int, optional - If specified, report the RBIG iteration number every - progress_report_interval iterations. - - zero_tolerance : int, optional (default=60) - The number of layers where the total correlation should not change - between RBIG iterations. If there is no zero_tolerance, then the - method will stop iterating regardless of how many the user sets as - the n_layers. - - rotation_kwargs : dict, optional (default=None) - Any extra keyword arguments that you want to pass into the rotation - algorithms (i.e. ICA or PCA). See the respective algorithms on - scikit-learn for more details. - - random_state : int, optional (default=None) - Control the seed for any randomization that occurs in this algorithm. - - entropy_correction : bool, optional (default=True) - Implements the shannon-millow correction to the entropy algorithm - - Attributes - ---------- - - rbig_model_X : RBIG() object - The RBIG model fitted - - rbig_model_Y : - - - rbig_model_XY : - - - References - ---------- - * Original Paper : Iterative Gaussianization: from ICA to Random Rotations - https://arxiv.org/abs/1602.00229 - - """ - - def __init__( - self, - n_layers=50, - rotation_type="PCA", - pdf_resolution=1000, - pdf_extension=None, - random_state=None, - verbose=0, - tolerance=None, - zero_tolerance=100, - increment=1.5, - ): - self.n_layers = n_layers - self.rotation_type = rotation_type - self.pdf_resolution = pdf_resolution - self.pdf_extension = pdf_extension - self.random_state = random_state - self.verbose = verbose - self.tolerance = tolerance - self.zero_tolerance = zero_tolerance - self.increment = 1.5 - - def fit(self, X, Y): - """Inputs for the RBIGMI algorithm. - - Parameters - ---------- - X : array, (n1_samples, d1_dimensions) - - Y : array, (n2_samples, d2_dimensions) - - Note: The number of dimensions and the number of samples - do not have to be the same. - - """ - - # Loop Until Convergence - X = check_array(X, ensure_2d=True, copy=True) - Y = check_array(Y, ensure_2d=True, copy=True) - fitted = None - try: - while fitted is None: - - if self.verbose: - print(f"PDF Extension: {self.pdf_extension}%") - - try: - # Initialize RBIG class I - self.rbig_model_X = RBIG( - n_layers=self.n_layers, - rotation_type=self.rotation_type, - pdf_resolution=self.pdf_resolution, - pdf_extension=self.pdf_extension, - verbose=self.verbose, - random_state=self.random_state, - zero_tolerance=self.zero_tolerance, - tolerance=self.tolerance, - ) - - # fit and transform model to the data - X_transformed = self.rbig_model_X.fit_transform(X) - - # Initialize RBIG class II - self.rbig_model_Y = RBIG( - n_layers=self.n_layers, - rotation_type=self.rotation_type, - pdf_resolution=self.pdf_resolution, - pdf_extension=self.pdf_extension, - verbose=self.verbose, - random_state=self.random_state, - zero_tolerance=self.zero_tolerance, - tolerance=self.tolerance, - ) - - # fit model to the data - Y_transformed = self.rbig_model_Y.fit_transform(Y) - - # Stack Data - if self.verbose: - print(X_transformed.shape, Y_transformed.shape) - - XY_transformed = np.hstack([X_transformed, Y_transformed]) - - # Initialize RBIG class I & II - self.rbig_model_XY = RBIG( - n_layers=self.n_layers, - rotation_type=self.rotation_type, - random_state=self.random_state, - zero_tolerance=self.zero_tolerance, - tolerance=self.tolerance, - pdf_resolution=self.pdf_resolution, - pdf_extension=self.pdf_extension, - verbose=self.verbose, - ) - - # Fit RBIG model to combined dataset - self.rbig_model_XY.fit(XY_transformed) - fitted = True - except: - self.pdf_extension = self.increment * self.pdf_extension - - except KeyboardInterrupt: - print("Interrupted!") - - return self - - def mutual_information(self): - """Given that the algorithm has been fitted to two datasets, this - returns the mutual information between the two multidimensional - datasets. - - Returns - ------- - mutual_info : float - The mutual information between the two multidimensional - variables. - """ - return self.rbig_model_XY.residual_info.sum() - - -class RBIGKLD(object): - """ Rotation-Based Iterative Gaussian-ization (RBIG) applied to two - multidimensional variables to find the Kullback-Leibler Divergence (KLD) between - X and Y - - KLD(X||Y) = int_R P_X(R) log P_Y(R) / P_X(R) dR - - - Note: as with the normal KLD,the KLD using RBIG is not symmetric. - - Parameters - ---------- - n_layers : int, optional (default 1000) - The number of steps to run the sequence of marginal gaussianization - and then rotation - - rotation_type : {'PCA', 'random'} - The rotation applied to the marginally Gaussian-ized data at each iteration. - - 'pca' : a principal components analysis rotation (PCA) - - 'random' : random rotations - - 'ica' : independent components analysis (ICA) - - pdf_resolution : int, optional (default 1000) - The number of points at which to compute the gaussianized marginal pdfs. - The functions that map from original data to gaussianized data at each - iteration have to be stored so that we can invert them later - if working - with high-dimensional data consider reducing this resolution to shorten - computation time. - - pdf_extension : int, optional (default 0.1) - The fraction by which to extend the support of the Gaussian-ized marginal - pdf compared to the empirical marginal PDF. - - verbose : int, optional - If specified, report the RBIG iteration number every - progress_report_interval iterations. - - zero_tolerance : int, optional (default=60) - The number of layers where the total correlation should not change - between RBIG iterations. If there is no zero_tolerance, then the - method will stop iterating regardless of how many the user sets as - the n_layers. - - rotation_kwargs : dict, optional (default=None) - Any extra keyword arguments that you want to pass into the rotation - algorithms (i.e. ICA or PCA). See the respective algorithms on - scikit-learn for more details. - - random_state : int, optional (default=None) - Control the seed for any randomization that occurs in this algorithm. - - entropy_correction : bool, optional (default=True) - Implements the shannon-millow correction to the entropy algorithm - - Attributes - ---------- - - rbig_model_X : RBIG() object - The RBIG model fitted - - rbig_model_Y : - - - rbig_model_XY : - - - References - ---------- - * Original Paper : Iterative Gaussianization: from ICA to Random Rotations - https://arxiv.org/abs/1602.00229 - - """ - - def __init__( - self, - n_layers=50, - rotation_type="PCA", - pdf_resolution=None, - pdf_extension=10, - random_state=None, - verbose=None, - tolerance=None, - zero_tolerance=100, - increment=1.5, - ): - self.n_layers = n_layers - self.rotation_type = rotation_type - self.pdf_resolution = pdf_resolution - self.pdf_extension = pdf_extension - self.random_state = random_state - self.verbose = verbose - self.tolerance = tolerance - self.zero_tolerance = zero_tolerance - self.increment = increment - - def fit(self, X, Y): - - # Check Arrays - X = check_array(X, ensure_2d=True) - Y = check_array(Y, ensure_2d=True) - - mv_g = None - - # Loop Until convergence - try: - while mv_g is None: - - if self.verbose: - print(f"PDF Extension: {self.pdf_extension}%") - - try: - - # initialize RBIG transform for Y - self.rbig_model_Y = RBIG( - n_layers=self.n_layers, - rotation_type=self.rotation_type, - random_state=self.random_state, - zero_tolerance=self.zero_tolerance, - tolerance=self.tolerance, - pdf_extension=self.pdf_extension, - ) - - # fit RBIG model to Y - self.rbig_model_Y.fit(Y) - - # Transform X using rbig_model_Y - X_transformed = self.rbig_model_Y.transform(X) - - # Initialize RBIG transform for X_transformed - self.rbig_model_X_trans = RBIG( - n_layers=self.n_layers, - rotation_type=self.rotation_type, - random_state=self.random_state, - zero_tolerance=self.zero_tolerance, - tolerance=self.tolerance, - pdf_extension=self.pdf_extension, - ) - - # Fit RBIG model to X_transformed - self.rbig_model_X_trans.fit(X_transformed) - - # Get mutual information - mv_g = self.rbig_model_X_trans.residual_info.sum() - - except: - self.pdf_extension = self.increment * self.pdf_extension - except KeyboardInterrupt: - print("Interrupted!") - - self.mv_g = mv_g - if self.verbose == 2: - print(f"mv_g: {mv_g}") - print(f"m_g: {neg_entropy_normal(X_transformed)}") - self.kld = mv_g + neg_entropy_normal(X_transformed).sum() - - return self - - def get_kld(self): - - return self.kld - - -def make_cdf_monotonic(cdf): - """ - Take a cdf and just sequentially readjust values to force monotonicity - There's probably a better way to do this but this was in the original - implementation. We just readjust values that are less than their predecessors - Parameters - ---------- - cdf : ndarray - The values of the cdf in order (1d) - """ - # laparra's version - corrected_cdf = cdf.copy() - for i in range(1, len(corrected_cdf)): - if corrected_cdf[i] <= corrected_cdf[i - 1]: - if abs(corrected_cdf[i - 1]) > 1e-14: - corrected_cdf[i] = corrected_cdf[i - 1] + 1e-14 - elif corrected_cdf[i - 1] == 0: - corrected_cdf[i] = 1e-80 - else: - corrected_cdf[i] = corrected_cdf[i - 1] + 10 ** ( - np.log10(abs(corrected_cdf[i - 1])) - ) - return corrected_cdf - - -def entropy_marginal(data, bin_est="standard", correction=True): - """Calculates the marginal entropy (the entropy per dimension) of a - multidimensional dataset. Uses histogram bin counnts. Also features - and option to add the Shannon-Miller correction. - - Parameters - ---------- - data : array, (n_samples x d_dimensions) - - bin_est : str, (default='standard') - The bin estimation method. - {'standard', 'sturge'} - - correction : bool, default=True - - Returns - ------- - H : array (d_dimensions) - - Information - ----------- - Author : J. Emmanuel Johnson - Email : jemanjohnson34@gmail.com - """ - n_samples, d_dimensions = data.shape - - n_bins = bin_estimation(n_samples, rule=bin_est) - - H = np.zeros(d_dimensions) - - for idim in range(d_dimensions): - # Get histogram (use default bin estimation) - [hist_counts, bin_edges] = np.histogram( - a=data[:, idim], - bins=n_bins, - range=(data[:, idim].min(), data[:, idim].max()), - ) - - # Calculate bin_centers from bin_edges - bin_centers = (bin_edges[:-1] + bin_edges[1:]) / 2 - - # get difference between the bins - delta = bin_centers[3] - bin_centers[2] - - # Calculate the marginal entropy - H[idim] = entropy(hist_counts, correction=correction) + np.log2(delta) - - return H - - -def bin_estimation(n_samples, rule="standard"): - - if rule == "sturge": - n_bins = int(np.ceil(1 + 3.322 * np.log10(n_samples))) - - elif rule == "standard": - n_bins = int(np.ceil(np.sqrt(n_samples))) - - else: - raise ValueError(f"Unrecognized bin estimation rule: {rule}") - - return n_bins - - -def information_reduction(x_data, y_data, tol_dimensions=None, correction=True): - """Computes the multi-information (total correlation) reduction after a linear - transformation - - Y = X * W - II = I(X) - I(Y) - - Parameters - ---------- - X : array-like, shape (n_samples, n_features) - Data before the transformation, where n_samples is the number of samples - and n_features is the number of features - - Y : array-like, shape (n_samples, n_features) - Data after the transformation, where n_samples is the number of samples - and n_features is the number of features - - tol_dimensions : float, optional - Tolerance on the minimum multi-information difference - - Returns - ------- - II : float - The multi-information - - Information - ----------- - Author: Valero Laparra - Juan Emmanuel Johnson - """ - # check that number of samples and dimensions are equal - err_msg = "Number of samples for x and y should be equal." - np.testing.assert_equal(x_data.shape, y_data.shape, err_msg=err_msg) - - n_samples, n_dimensions = x_data.shape - - # minimum multi-information heuristic - if tol_dimensions is None or 0: - xxx = np.logspace(2, 8, 7) - yyy = [0.1571, 0.0468, 0.0145, 0.0046, 0.0014, 0.0001, 0.00001] - tol_dimensions = np.interp(n_samples, xxx, yyy) - - # preallocate data - hx = np.zeros(n_dimensions) - hy = np.zeros(n_dimensions) - - # calculate the marginal entropy - hx = entropy_marginal(x_data, correction=correction) - hy = entropy_marginal(y_data, correction=correction) - - # Information content - I = np.sum(hy) - np.sum(hx) - II = np.sqrt(np.sum((hy - hx) ** 2)) - - p = 0.25 - if II < np.sqrt(n_dimensions * p * tol_dimensions ** 2) or I < 0: - I = 0 - - return I - - -def entropy(hist_counts, correction=None): - - # MLE Estimator with Miller-Maddow Correction - if not (correction is None): - correction = 0.5 * (np.sum(hist_counts > 0) - 1) / hist_counts.sum() - else: - correction = 0.0 - - # Plut in estimator of entropy with correction - return sci_entropy(hist_counts, base=2) + correction - - -def generate_batches(n_samples, batch_size): - """A generator to split an array of 0 to n_samples - into an array of batch_size each. - - Parameters - ---------- - n_samples : int - the number of samples - - batch_size : int, - the size of each batch - - - Returns - ------- - start_index, end_index : int, int - the start and end indices for the batch - - Source: - https://github.com/scikit-learn/scikit-learn/blob/master - /sklearn/utils/__init__.py#L374 - """ - start_index = 0 - - # calculate number of batches - n_batches = int(n_samples // batch_size) - - for _ in range(n_batches): - - # calculate the end coordinate - end_index = start_index + batch_size - - # yield the start and end coordinate for batch - yield start_index, end_index - - # start index becomes new end index - start_index = end_index - - # special case at the end of the segment - if start_index < n_samples: - - # yield the remaining indices - yield start_index, n_samples - - -def neg_entropy_normal(data): - """Function to calculate the marginal negative entropy - (negative entropy per dimensions). It uses a histogram - scheme to initialize the bins and then uses a KDE - scheme to approximate a smooth solution. - - Parameters - ---------- - data : array, (samples x dimensions) - - Returns - ------- - neg : array, (dimensions) - - """ - - n_samples, d_dimensions = data.shape - - # bin estimation - # TODO: Use function - n_bins = int(np.ceil(np.sqrt(n_samples))) - - neg = np.zeros(d_dimensions) - - # Loop through dimensions - for idim in range(d_dimensions): - - # ===================== - # Histogram Estimation - # ===================== - - # Get Histogram - [hist_counts, bin_edges] = np.histogram( - a=data[:, idim], - bins=n_bins, - range=(data[:, idim].min(), data[:, idim].max()), - ) - - # calculate bin centers - bin_centers = (bin_edges[:-1] + bin_edges[1:]) / 2 - - # get delta between bin centers - delta = bin_centers[3] - bin_centers[2] - - # Calculate probabilities of normal distribution - pg = stats.norm.pdf(bin_centers, 0, 1) - - # ================== - # KDE Function Est. - # ================== - - # Initialize KDE function with data - kde_model = stats.gaussian_kde(data[:, idim]) - - # Calculate probabilities for each bin - hx = kde_model.pdf(bin_centers) - - # Calculate probabilities - px = hx / (hx.sum() * delta) - - # ==================== - # Compare - # ==================== - - # Find the indices greater than zero - idx = np.where((px > 0) & (pg > 0)) - - # calculate the negative entropy - neg[idim] = delta * (px[idx] * np.log2(px[idx] / pg[idx])).sum() - - return neg - - -def main(): - pass - - -if __name__ == "__main__": - main() diff --git a/rbig/transform/gaussian.py b/rbig/transform/gaussian.py index ac41935..ba84ca7 100644 --- a/rbig/transform/gaussian.py +++ b/rbig/transform/gaussian.py @@ -1,12 +1,11 @@ -from typing import Dict, Tuple, Callable +from typing import Callable, Dict, Tuple + import numpy as np from scipy import stats + from rbig.transform.uniform import uniform_transform_params -from rbig.utils import ( - make_interior_uniform_probability, - make_interior, - make_interior_log_prob, -) +from rbig.utils import (make_interior, make_interior_log_prob, + make_interior_uniform_probability) BOUNDS_THRESHOLD = 1e-7 diff --git a/rbig/transform/kde.py b/rbig/transform/kde.py index 74147ae..b7e353c 100644 --- a/rbig/transform/kde.py +++ b/rbig/transform/kde.py @@ -1,13 +1,12 @@ -import numpy as np +import functools from typing import Dict, Tuple, Union -from scipy.interpolate import interp1d -from rbig.utils import ( - get_domain_extension, - get_support_reference, - estimate_empirical_cdf, -) + +import numpy as np import statsmodels.api as sm -import functools +from scipy.interpolate import interp1d + +from rbig.utils import (estimate_empirical_cdf, get_domain_extension, + get_support_reference) def kde_fft_uniformization( @@ -108,4 +107,3 @@ def scotts_factor(X: np.ndarray) -> float: n_samples, n_features = X.shape return np.power(n_samples, -1 / (n_features + 4.0)) - diff --git a/rbig/transform/uniform.py b/rbig/transform/uniform.py index 451c648..db5de79 100644 --- a/rbig/transform/uniform.py +++ b/rbig/transform/uniform.py @@ -1,10 +1,12 @@ -from typing import Tuple, Dict, Union, Callable +import functools +from typing import Callable, Dict, Tuple, Union + import numpy as np from scipy import stats from scipy.interpolate import interp1d -from rbig.utils import get_domain_extension, bin_estimation + from rbig.transform.kde import kde_fft_uniformization -import functools +from rbig.utils import bin_estimation, get_domain_extension BOUNDS_THRESHOLD = 1e-7 diff --git a/rbig/utils/__init__.py b/rbig/utils.py similarity index 76% rename from rbig/utils/__init__.py rename to rbig/utils.py index 805b237..8947d89 100644 --- a/rbig/utils/__init__.py +++ b/rbig/utils.py @@ -1,16 +1,6 @@ -from typing import Union, Tuple, Optional -import numpy as np -from statsmodels.distributions.empirical_distribution import ECDF - - -def estimate_empirical_cdf(X: np.ndarray, X_new: Optional[np.ndarray] = None): +from typing import Optional, Tuple, Union - # initialize ecdf - ecdf_f = ECDF(X) - if X_new is None: - return ecdf_f(X) - else: - return ecdf_f(X_new) +import numpy as np def get_support_reference( @@ -142,31 +132,46 @@ def make_interior(X, bounds, eps=None): return X -def bin_estimation(X, rule="scott"): +def generate_batches(n_samples, batch_size): + """A generator to split an array of 0 to n_samples + into an array of batch_size each. - n_samples = X.shape[0] + Parameters + ---------- + n_samples : int + the number of samples - if rule == "sqrt": - nbins = np.sqrt(n_samples) - elif rule == "scott": - nbins = (3.49 * np.std(X)) / np.cbrt(n_samples) - elif rule == "sturge": - nbins = 1 + np.log2(n_samples) - elif rule == "rice": - nbins = 2 * np.cbrt(n_samples) - else: - raise ValueError(f"Unrecognized rule: {rule}") + batch_size : int, + the size of each batch - return int(np.ceil(nbins)) + Returns + ------- + start_index, end_index : int, int + the start and end indices for the batch -def get_support_reference( - support: np.ndarray, extension: Union[float, int], n_quantiles: int = 1_000 -) -> np.ndarray: + Source: + https://github.com/scikit-learn/scikit-learn/blob/master + /sklearn/utils/__init__.py#L374 + """ + start_index = 0 - lb, ub = get_domain_extension(support, extension) + # calculate number of batches + n_batches = int(n_samples // batch_size) - # get new support - new_support = np.linspace(lb, ub, n_quantiles, endpoint=True) + for _ in range(n_batches): - return new_support + # calculate the end coordinate + end_index = start_index + batch_size + + # yield the start and end coordinate for batch + yield start_index, end_index + + # start index becomes new end index + start_index = end_index + + # special case at the end of the segment + if start_index < n_samples: + + # yield the remaining indices + yield start_index, n_samples From 0919b546572a3c16ed1a3d036164009a29f2c808 Mon Sep 17 00:00:00 2001 From: jejjohnson Date: Tue, 6 Oct 2020 19:57:58 +0200 Subject: [PATCH 2/4] Added a slimmed down ITM RBIG. --- notebooks/demo_mg.ipynb | 1044 ++++++++++++++++++++++++++++ notebooks/information_theory.ipynb | 183 +++-- notebooks/rbig_demo.ipynb | 218 ++++-- pytest.ini | 2 + rbig/density.py | 47 +- rbig/information/kld.py | 6 +- rbig/information/mutual_info.py | 13 +- rbig/information/total_corr.py | 285 ++++++++ rbig/model.py | 11 +- rbig/utils.py | 18 +- setup.cfg | 16 + tests/test_density.py | 46 ++ 12 files changed, 1727 insertions(+), 162 deletions(-) create mode 100644 notebooks/demo_mg.ipynb create mode 100644 pytest.ini create mode 100644 setup.cfg create mode 100644 tests/test_density.py diff --git a/notebooks/demo_mg.ipynb b/notebooks/demo_mg.ipynb new file mode 100644 index 0000000..0b101c5 --- /dev/null +++ b/notebooks/demo_mg.ipynb @@ -0,0 +1,1044 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# RBIG Demo" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "code_folding": [], + "scrolled": true + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.insert(0, '../')\n", + "\n", + "import numpy as np\n", + "import warnings\n", + "from time import time\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.utils import check_random_state\n", + "\n", + "# RBIG Functions\n", + "from rbig.density import univariate_make_normal, univariate_make_uniform\n", + "from rbig.density import univariate_invert_normalization, univariate_invert_uniformization\n", + "from rbig.density import histogram_uniformization\n", + "\n", + "# plot utilities\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "sns.reset_defaults()\n", + "sns.set_context(context=\"talk\", font_scale=0.7)\n", + "\n", + "warnings.filterwarnings('ignore') # get rid of annoying warnings\n", + "\n", + "%matplotlib inline\n", + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Toy Data" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "seed = 123\n", + "rng = np.random.RandomState(seed=seed)\n", + "\n", + "num_samples = 10_000\n", + "x = np.abs(2 * rng.randn(1, num_samples))\n", + "y = np.sin(x) + 0.25 * rng.randn(1, num_samples)\n", + "data = np.vstack((x, y)).T\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.scatter(data[:, 0], data[:, 1], s=1)\n", + "ax.set_xlabel('X')\n", + "ax.set_ylabel('Y')\n", + "ax.set_title('Original Data')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "X_marg = data[:, 0]\n", + "\n", + "plt.figure()\n", + "sns.distplot(X_marg, bins=100, label='Data')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Forward Transformation" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "X_marg = np.random.randn(10_000)\n", + "X_u, params = univariate_make_uniform(X_marg, extension=0.1, precision=100)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure()\n", + "sns.distplot(X_u, bins=100, label='X_u')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Inverse Transformation" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "X_marg_approx = univariate_invert_uniformization(X_u, params)\n", + "\n", + "\n", + "plt.figure()\n", + "sns.distplot(X_marg_approx, bins=100, label='X_data')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Residual from Original and Transformed: 1.04e-16\n" + ] + } + ], + "source": [ + "residual = np.abs(X_marg - X_marg_approx).mean()\n", + "\n", + "print(f'Residual from Original and Transformed: {residual:.2e}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Histogram Uniformization" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "X_u, params = histogram_uniformization(X_marg, bins='auto', support_extension=0.1)\n", + "\n", + "plt.figure()\n", + "sns.distplot(X_u, bins=100, label='X_u')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAEBCAYAAACaHMnBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deXxc5X3v8c9vtI323fKCV1mWbWzjBTCYJWQhhJbQtJQmoWkDXLgX0lvS+yK9SbmlLfReem+apllIaEiAssRJcJzFmAAG4rDG8o53W5Yly7Zs2da+b/O7f5yxkcdaRvZIz4zm93695mXpnGfO+c5Y0m/OOc95HlFVjDHGxDef6wDGGGPcs2JgjDHGioExxhgrBsYYY7BiYIwxBkh0HWCkRKQXr4g1u85ijDExJAsIqOqAf/cl1rqWikgAkOzsbNdRjDEmZjQ1NQGoqg54RijmjgyA5uzs7OzGxkbXOYwxJmbk5OTQ1NQ06BkVu2ZgjDHGioExxhgrBsYYY7BiYIwxBisGxhhjsGJgjDEGKwbGGGOwYmCMMQYrBsaEbWVZNSvLql3HMGZUxOIdyMZEn83PfPj15Xe5y2HMBbIjA2MipKyynrLKetcxjLkgVgyMMcaEVwxEpEhE1olIu4jsEJFlw7S/WkQCIvK1kOUPi0idiJwSka9eTHBjjDGRE+6RwRPAQSAfeBxYLSJJAzUUER/wLWBjyPJbgbuBJcBy4AERufECcxvjzuZnzr1GYMw4MGwxEJFM4BbgEVXtUNUng6tWDPKU/wa8B+wLWX4H8ISqVqvqIeCHwWXGGGMcC6c3UQnQqKq1/ZbtBOYDb/VvKCL5wJfxPvl/O2Q784HnQrZxc+jORGS4iQpsVhsT0/p3T71j+TSHSYz5UDjFIJ3zp5hsBjIGaPsvwDdVtUlEhtvOYNswZlwrrl714TfLH3QXxJh+wikGbUBmyLIsoLX/guBF5aXAfWFu57xtAKhqzlBhgkcOdnRgxtbmZyiuDnYbnZnnNosxoyCcYlAO5IpIUb9TRQuAb4S0uw7vVNDJ4FFBBtAnInNU9W5gT/B5r/Tbxp6LzG+MMSYChr2ArKotwFrgYRHxi8g9gADvhzT9ETAHWBx8rMG7bvCV4PqVwH0iMlVEZgL3BpcZY4xxLNzhKO4HXgAa8LqY3qaqPSLyEHCdqt6sqq30O+0jIu1As6rWA6jqGhFZDGwHFPhXVX09gq/FGGPMBQqrGARPD513T4CqPjbEc+4cYNmjwKMjyGeMMWYM2HAUxrhkN7CZKGGjlhozUhpgz+4POPXuW+R215CAcipjLpJzCf6kkf1KnRnYrqKv2u45ME5ZMTBmBDq6e9jxxgss6tp67or2jbTW+nnP/xFaW1vIyAjtjW1MdLPTRMaEqbujlUkHfny2EGzxLWRD4Z+yNesTdGkSGdLJTV2v0fRvy9jxu9WO0xozMnZkYEwYNBBgQuWvKJVqetXHusw/pv7af8QXvNO+pfx5eo5u5/qON5lCLVN+dzdbtjzP5M99i0lTZrgNb0wY7MjAmDBs2b6FUj0EwK9zvkj+9EvPFgIAf4qfzOKreHval9iTvBCAZS3ryXjyKt5/8gFqDpc7yW1MuOzIwJjBBHv5HK1rZc6xX4LAW76rmDJl6qBPyczKZe6db7Pppe9Rsv3/kSMtrKh5lt6nn2db6hX0lH6azq5O/Cn+sXoVxoTFioExwzi5dQ2XSDuNmg4zr+P8MRjP5UvwccVn/pq2j3yWDb/4OrOPrKJAGlnSWQYflNGlifw+8Qq6Jy0jO9vGOTLRwYqBMUM4UXucpV3ePE3vZd9CgT91+CcFjyjSgav+yzfo7f7f7Fj/E/p2/oLSljLSpIsb+n4PR3/PW8evRmd9dBRfgTHhsWJgzBCO7X6PiUAVk8mZPOeCtpGY7GfRTXfBTXfR3trEa0/+D+Y2vcd0OcFH+n7PwfIj9HW1Q8IM7wmX3xWx/MaEy4qBMYM43dzKgrYyEDg64QaSEs49P3TOvARhSsvIJmfqpRybMp/9R3bw0Za1zJajTDj8JC/33kNBbg7LL4/UKzAmfNabyJgQK8uqWVlWzaaN75EiPTRpOpozI6L7SPAJ2dMv442J93Bas8mSdpYde4HmtvaI7seYcFkxMGYAgZ5OrujwRmnfnHo1ySMYZqKssv7sYzh5BUV8MPXPaVU/E6WeWVU/pbVp+OcZE2lWDIwZQPKBNRRIE73qwzdp0ajuKyO7gHcn/Dk9mkAxR9n/g79EA4FR3acxoawYGBOiuHoVpUd+DsBG32LS0i58qu4zp5xWllUP2S53whTWZf0JAMva32HD6m9d9DaNGYmwioGIFInIOhFpF5EdwfmOB2r3pIgcF5FmEdkpIrf0W3eniPSKSGu/hw3TaKJOZ0c7CwL7ADiVs3DM9lswdS4bErxfrct2/V+qD2wfs30bE+6RwRN4M5zlA48Dq0UkaYB23wRmqGoWcDfwgoj0n+D+DVXN6PewjzYm6nTUHiRBlCZNJ79o8LuNI06Enlmf4AQFpEkX3T+7mxfeO2hHAWZMDFsMRCQTuAV4RFU7VPXJ4KoVoW1VdZ+qdgW/7QVSgCmRCmvMWJjR5n0i35a0hKSEsT2TmpycwulPPk5Ahdl9FaRt/v6Y7t/Er3B+0kuAxuDUl2fsBOYP1FhEvi8iHcBW4E1gT7/V14hInYjsEZH7Bnl+41APIDusV2bMBajc/wFzqQKgM3/AH/FRt2DFzWwquh2AP6x/jr7a/U5ymPgSTjFIB5pDljUDA15VU9UvBdfdCKxTVQ2uegtYCBQCdwH/ICJ/fCGhjRktte8+B8AJzSMnryhi2y2uXjWiKS4X/MW/UiMTSJEelmz/ezTQG7EsxgwknGLQBoRO25QFtA72BFXtU9U3gE+KyE3BZZWqWqWqAVUtA74DnFcMVDVnqAfQFO6LM2ZEVLnk2G8A2OFfiviGGZFuFKVn5nDqhq8DsCCwj+TtzznLYuJDOMWgHMgVkf4fkxZw7umfwSQAxYOss47UJqq8sOZVLgnUANCdNzci2yyuXnV22Ipwb0Q7cwRxWXojv035BAA3nniShlM1EclkzECGLQaq2gKsBR4WEb+I3AMI8H7/diKSISJfCP6bKCK3Ax8F3g2u/5SIFAa/Xgo8AKyJ7Msx5sJlVr0KQI0WkJ+T6ziN5+gVf0ezppEjbVT85G9dxzHjWLj32N8PvAA04HUxvU1Ve0TkIeA6Vb0ZULzupI/jFYuDwOdVdUdwGzcCz4lIGnAMeExVfx65l2LMxZnb+DYAe5MXkuHwFFF/pQ1v8U7Gzfxh22our19LxS8epbgv/cMGyx90F86MK2EVg2BPohsHWP5Yv6/bgI8NsY0HAfvJNVGppmr/2Wktu3JLBu4d4UjOtHkc2DuNOVQT2PVLtPTPnV7PMOOTDUdhDHD4vRcBqNMscvMnOE5zrkSfjwMTbgagJHCI0ycOO05kxiMrBsYA2VWvAbAtbQU+X/T9WhQWFrHZ5w2NsbBhHQEbyM5EWPT91BszxhpP1VDavQuA45M+7jjN4Oom3UBAhemcoOmY3YhmIsuKgYl7Fe+vJkGUVvXDrBtcxxlUTk4u7yYuB2BJ0xv09dqNaCZyrBiYuOc74J0i2pkwnznHX3KcZmjtU66hWxMokgbqa8pdxzHjiBUDE9e6OzuY07oJgLqMEsdphpebmU5Z0pUALGp+m76NT4U9xIUxQ7FiYOLagY2vki6dBFRIL4iO6TWGmzaza9IVAEyTWj7Ys3cso5lxzIqBiWttO9cCcMA3i7TUVMdpwpOZlcMm32UAZBx+Aw3oMM8wZnhWDEzc0kCAqaffAaAhd4HjNCNzsvBqAOZoJfsrq9yGMeOCFQMTt468/K9MDk7TMWHaPMdpRiY/fwK7mA1Ax8F3HKcx44EVAxO3jld559tPkM+syZGbu2AsiEB1jtfNdFH3NmoOH3ScyMQ6KwYmbmU17gagKm1hTI71kzNpBnVkkyBK1etPuI5jYpwVAxN/Nj9Dy9vfp6TX+zSdPCm2ThGdkeBLoDz7GgBKjq6mp7trmGcYMzgrBiYuVRyqIFECdGkSbQk54U06E4XackoJqFBIA7t++1PXcUwMs2Jg4lJvrXe9YLevhOSkJMdpLlxGRiZbfV5PqORtdvOZuXBhFQMRKRKRdSLSLiI7RGTZIO2eFJHjItIsIjtF5JaQ9Q+LSJ2InBKRr0biBRgzUhsq6pjR7g1MdyJtjuM0F+943uUAXNq1jWOVNoCduTDhHhk8gTdzWT7eTGarRWSgj1PfBGaoahberGcviEgOgIjcGly2BFgOPCAi502YY8xoa2qqo0CaAEjMm+E2TATkT5jCSbxpOg//9keO05hYNWwxEJFM4BbgEVXtUNUng6tWhLZV1X2qeuYqVi+QAkwJfn8H8ISqVqvqIeCHwWXGjClpqALgiBaRlZnlNkwEJPh8bMz0PlfNOPprNNDnOJGJReEcGZQAjcGpL8/YCcwfqLGIfF9EOoCtwJvAnuCq+cCu4bYhIo1DPYDsMDIbM6gpHd6plPLkeUjs9SgdUN3sPwVgstZyoOw1x2lMLAqnGKQDzSHLmmHgaWJV9UvBdTcC61T1zMApodsZdBvGjJbGU8eZF5zruDN7luM0kZM0cR77EkoBaN34nOM0JhaFUwzagMyQZVlA62BPUNU+VX0D+KSI3DTIdgbchqrmDPUAmsLIbMyADm5Yg0+UDk0mO3+i6zgRU1y9itP5Xr+O+Q2/paut0XEiE2vCKQblQK6I9L9ffwEfnv4ZSgJQHPx6T/B5I92GMZFTvg6A3QmlJCYmOg4TWaXzFtGlSaTSxYH1P3Ydx8SYYYuBqrYAa4GHRcQvIvcAArzfv52IZIjIF4L/JorI7cBHgXeDTVYC94nIVBGZCdwbXGbMmOjr7aW4uQyAk+OgS2mowkw/HyQvBqB7+ypWllU7TmRiSbhdS+8HSoEG4MvAbaraIyIPicgrwTaK13X0KFAHfA34vKruAFDVNcCzwHZgE/BdVX09Yq/EmGGUb3+bXFoASM6f7jjNKJm8FIDFPdvRltphGhvzobCOk4M9ic67J0BVH+v3dRvwsWG28yjw6AgzGhMRDdtfBqCKSWRmjM++CwvnzKa5Ko0saSf5wBr4xBWuI5kYYcNRmLhRcPwtAA4lz3WcZPSkpiSxN/cGAOaeti6mJnxWDExcqKs9QklfOQCdOcXDtI5tGZd/DoCFgf0cOWRzJJvwWDEwcaFywxoA2jWFnNwJjtOMrnnJpzmt3r2ZVW/ZPQcmPFYMTFyQijcB+CBpMQnjrEtpKJ/Px66UJQBMqV7Lh/d9GjM4KwZm3Ovr7WVW80YAjuSdN6TWuBQo8K6LzNJq9mzf4DiNiQVWDMy4V7HjvbNdSjun3+A2zCgqq6w/+0jPKeQo3umwht9+23EyEwusGJhxr+6D3wBwmEkkFoyf8YiGJMJ+v3eqaFbLJgJ9AceBTLSzYmDGvdwar0vp3vQrHScZY4XeXdaTOc3eTW84DmOinRUDM6411Z+kpHsfAHUTr3OcZmxlZOVSIdMAaN38E8dpTLSzYmDGtYNlL5MgSrcmwvRrXMcZcwdSvbGKZp96g77eHsdpTDQb333sTNzr3e8Nf3UgdRGSMj6HoBhKYuEcOAz50szzL64kofijANyxfJrjZCba2JGBGbc0EGBGo9etsm3qDW7DOJKVkcZevIvmE46uc5zGRDMrBmbcOrR3C0XUAXAgI34HbDucdikAS9veZWbVi47TmGhlxcCMW7VbvVFKa8nDN2HAKbvjQmK+NxZToTTS2HDKcRoTrawYmHEro8o7LXIgcS7ii98f9cysLCq4BICk+nLHaUy0Cus3RESKRGSdiLSLyA4RWTZAmxQReUZEjopIk4isF5FL+62/U0R6RaS138OuYplR0drSxNze/d7XWbMorl519hGPDvq9GWfndu1AA3YDmjlfuB+XngAOAvnA48BqEUkKaZMIHAKuAvKAl4BfhbR5Q1Uz+j1sXj4zKg6UvUqy9NKnQmb+FNdxnAvklwBwiZyir3aX4zQmGg1bDEQkE7gFeERVO1T1yeCqc0b8UtU2Vf1nVT2qqn14RaNYRPIjntqYYXTu804R7ZdZJCWnOE7jXm5WDkfUG6sop+pVx2lMNArnyKAEaAxOfXnGTmC4K3IrgJOqWtdv2TUiUicie0TkvoGeJCKNQz2A7DAymzimqlxS9z4ANakljtNEB/EJ+1O8U0UlTe87TmOiUTjFIB1oDlnWDAx6B4+I5AA/AB7qt/gtYCFQCNwF/IOI/PGI0hoThsMVe5mmNQBo7gy3YaJIb453v8E8reDkscOO05hoE04xaAMyQ5ZlAa0DNRYRP961grWq+vSZ5apaqapVqhpQ1TLgO8B5xUBVc4Z6AE1hvjYTZ1aWVbOyrJpjr38XgEYyyMwucJwqemTlF9GqfgCqykIv55l4F04xKAdyRaSo37IFwJ7QhiKSAPwUOAZ8ZZjtWpcGMyr8dd68v5Up8+O6S2moBF8CuxPmAZBY8brjNCbaDPuboqotwFrgYRHxi8g9gAADnXj8IZAK3Kkhc+2JyKdEpDD49VLgAWDNReY35hx9PV3M7QlOAj9hrtswUeh0hjesdWnrJro7OxynMdEk3I9N9wOlQAPwZeA2Ve0RkYdE5BUAEZmOdy3geqCh370EZ8YNvhHYLSKtwE+Ax1T155F8Mcb0VJWRLp0AtCYXOk4TfdIKvFt70qWT8s02VpH5UFijlgZ7Et04wPLH+n19GO+IYbBtPAg8eAEZjQlb/om3AahgKsn+dMdpok9aair7mMlcKmnd8Bxc+0euI5koYSdUzbgyt7UMgMMpcxwniV5Vfu/02aTWnY6TmGhixcCMG50NNZRSBUBfzky3YaJYIPjeTKOWmqr9jtOYaGHFwIwbyYd/B0Cb+snMKxq6cRzLzc2jSb1TaNWb1zpOY6KFFQMzbkw57XVw25swB/ElOE4TvXw+H3sTSgFIrnrLcRoTLawYmHGhp+wpFndvAaAu3YagGE5dujfHQXHrZgK9vY7TmGhgxcCMC/urT5Ar3k3xKflTHaeJfkm53nuUTRuVu2ysImPFwIwTDUe9C6FHKCI1PctxmuiXlZFBtXrXVXa9/StWltlo8vHOioEZF/KbdwNQkWx3HYdDBA4med1vixveidtJf8yHrBiYmHf6VC2lgQoAurKsS2m4WjK9UUznBCoI9HY7TmNcs2JgYl7FxrUkiNKtiWTmT3IdJ2Zk5E2iV30kSx+t9cddxzGOWTEwMU8PvAnAXl8JCYmhs7GawWT4k9kn3pFUUvMRx2mMa1YMTEwL9AWY0bQBgNq02Y7TxJ4jyV4X0yldBx0nMa5ZMTAxrWLPZibizayamDvNcZrY0505HYBiPUJbw0nHaYxLVgxMTDu57WXvX3JJy8xznCb25ORPoEsT8YlyaPNrruMYh6wYmJiWedQbTqE6bQHiG3QEdTMIf1ICe8U7VdR5YL3jNMalsIqBiBSJyDoRaReRHSKybIA2KSLyjIgcFZEmEVkvIpeGtHlYROpE5JSIfDVSL8LEp5bmRuZ2ecMwJxbZ/QUXqsbvFYMJdRsdJzEuhXtk8ARwEMgHHgdWi0hot41E4BBwFZAHvAScnXVbRG4F7gaWAMuBB0TkvAlzjAlXedkrJEsvvepj9sxZruPErL5s71rL9MAR6t78tuM0xpVhi4GIZAK3AI+oaoeqPhlctaJ/O1VtU9V/VtWjqtqHVzSKRSQ/2OQO4AlVrVbVQ3jzJd8RsVdi4k73Pm/axvLkeWSkpTpOE7tycwto0xQADh+udJzGuBLOkUEJ0Bic+vKMncD8YZ63AjipqnXB7+cDu4bbhog0DvUAssPIbMY5VeWSem+AtaYpH3GcJrYlJfjY5/NGeu07ZV1M41U4xSAdaA5Z1gxkDPYEEckBfgA8NMR2htyGMUM5cnAXl+gJAAoW/4HjNLHvZKp3mm1Kxz7HSYwr4RSDNiAzZFkW0DpQYxHx410rWKuqTw+xnQG3oao5Qz2ApjAym3GuJjhDVz1ZzFq4YpjWZljZ3pDWkzlFTaUVhHgUTjEoB3JFpP88gguAPaENRSQB+ClwDPhKyOo9wecNuQ1jwuGv9rpB7khZxk83H6Osst5xotiWk5NLs6YBcHSb3W8Qj4YtBqraAqwFHhYRv4jcAwgw0IwYPwRSgTtVVUPWrQTuE5GpIjITuDe4zJgR6exoY077dgBqCq91nGZ88Pl8Z4f/9lW97TiNcSHcrqX3A6VAA/Bl4DZV7RGRh0TkFQARmQ7cBVwPNIhIa/BxHYCqrgGeBbYDm4DvqurrkX05Jh6Ub3qDNOkioELvjBtcxxk3unK9i8jTm7eggYDjNGasJYbTKNiT6Lx7AlT1sX5fH8Y7YhhqO48Cj44wozHnaNvzKgAHE0tIzJzgOM34MWlqMZyEQhqoOvABM+YucR3JjCEbjsLEnEkn3wHg9EQ7RRRJx9sTqFNvytDj2+26QbwJ68jAmGhx8shBpge8sfcbepNtusYIEp+wP3EOK/o2k3zkXddxzBizIwMTUyrL1gDQpOnk5BU4TjP+NKZ5k90Ut22jr6/PcRozlqwYmJiSeMib1WxnyhISffbjG2kpeZcAkEMrh3YO1GHQjFf222RiRmdnB3PbNgPQ6p/sOM34lJGewVG8i/KnP3jVcRozlqwYmNiw+Rne+NH/Il06CaiQWjjddaLxSYQ9qZcDkHXsHcdhzFiyYmBiRmqTN4jafpmJ32+jlI6WkxOuAaCkaxdtLTb6S7ywYmBiggaUud27AahOtYlsRtWM6+hVH8nSR/lGO1UUL6wYmJhQeeIkU+Q0AJJX7DjN+OZLy+VgcGiKjn02SEC8sGJgYkJtlTeS5nHNJysrx3Ga8a9xkndD36TTv3ecxIwVKwYmJuQ1enMd70u+1Ca+HwN5iz4FwAw9yrFXvwWbn3GcyIw2KwYm6jWcqqGkrwKA9uzZjtPEh+LF19NMOgDVVTb7WTywYmCi3qH3f4FPlDZNITt/kus4ceFnW46zI3kxAP663Y7TmLFgxcBEPV+5N2jaroR5JCUmOE4TP6oLbgCgtHs375WfdBvGjDorBiaq9XR1MKd1IwAn00sdp4kvPcWfoFd9pEkXTadrXMcxoyysYiAiRSKyTkTaRWSHiCwbpN0jIrJHRAIi8rmQdXeKSG+/SW9aRWRaJF6EGb/KN75GOt5dx2kFdtfxWCiuXkVx9Srm1q9nj3jXaNKbyh2nMqMt3CODJ4CDQD7wOLBaRJIGaFeONxPaxkG284aqZvR7VI84sYkr7TtfAmC/bxYZaX7HaeJPTfo8AOb37LJRTMe5YYuBiGQCtwCPqGqHqj4ZXLUitK2qvhCcyrIzsjFNXFJlyilvPt66nIWOw8SnxIJZABRKEwe2/c5tGDOqwjkyKAEag1NfnrETmH8B+7tGROqCp5LuG6iBiDQO9QCyL2C/JgZV79vMJPUuXBZOm+c4TXzKzMikEm+E2IYtv3acxoymcIpBOtAcsqwZyBjhvt4CFgKFwF3AP4jIH49wGyaOHNv4SwCOU8icKTbXsSuH/N7nvskn3kQDAcdpzGgJpxi0AZkhy7KA1pHsSFUrVbVKVQOqWgZ8BzivGKhqzlAPwIZRjBP51d64ONWFH7G7jh3qyysBvLuRD+/d5DiNGS3hFINyIFdEivotWwDsuch920cMM6gT1QeY03cAgIzFf+I4TXzLyi6gWr1f/9r3nnecxoyWYYuBqrYAa4GHRcQvIvcAApw3J56IJImIP7jdpGB7X3Ddp0SkMPj1UuABYE3kXooZTw6/81MA6jSLbTKPssp6x4nil/iEvf4lAEyveYWA9Soal8LtWno/UAo04HUdvU1Ve0TkIRF5pV+7HwIdwHXAc8Gvrw+uuxHYLSKtwE+Ax1T15xF4DWacWVlWTXrFywBsTVuBLyHRcSLjm+ANaT2R0+zbuM5xGjMawvotC/YkunGA5Y+FfH8ncOcg23gQeHDECU3cCTTXsCAQHLJ68ifD+yE1oyorK4vyxBJKestp2bQSrr7ZdSQTYTYchYk6KQd/A0CjpsPM64dpbcZK/aw/AmBu/Zt0dnY4TmMizYqBiS6bn2HOSW+qxa3+q0lMSnEcyJwx+2NfpE+FbNrY87sXXccxEWbFwESVk42tLAh4vYi6MqacHSfHuJc/cRq70q4AIHn7s47TmEizYmCiyqH9H5AgSpOmkV04xXUcE6J3yZ0ALOjcQs2hi+1dbqKJFQMTVfJPbwZge9ISEqwXUdS57KN/xgkKAKh+/fuO05hIsmJgokbNwZ2UaCUArXmXOk5jBpKYlMShabcBUHr813R1tjtOZCLFioGJGsfe8c5DH9c88vKLhmltXJl905foVR+5NLPzx/8LNj/jPUxMs2JgooIGAkyu9uYu2JGyFJ+NRRS1JkyZwc4MbwT7jGNvO05jIsWKgYkKe7esZ4qe8L4ptOGqo13S1d4I9HMDBzlYfcRxGhMJVgxMVGh+3zvNUCWXkJOT6ziNGc4HCQvZLzMBaNn3luM0JhKsu4ZxrqWpnoX160Dg1IRrXMcxgzlzXeDyuxCfj82T/5zSY/+bRV1b+O2u6zjR9+Estncst+nNY40dGRjn9r72FOnSRYcmU3rpYtdxTJgC8z/DCc0jQRSp2eo6jrlIdmRg3FKlcP+PAdiR+3GWp6XiDXZros3ZYcQr/43i4LKtadfyBx1ruLJrA79sb8CXZqf4YpUdGRinyreuZ2afd29B+or/6jiNGan0KfNoUz/p0kX6Lpv4JpZZMTBO1b31HwBUyDQupcptGDNi/pQUNiRfDcA1p1cxo+qnjhOZCxVWMRCRIhFZJyLtIrJDRJYN0u4REdkjIgER+dwA6x8WkToROSUiX73Y8Ca21Rw+yNKmNwCoyLzS5jmOUYHJS+hTYYI00lRT4TqOuUDhHhk8ARwE8oHHgdUikjRAu3K8mdA2hq4QkVuBu4ElwHLgARE5b8IcEz+qX/46ydLHabLJmDzHdRxzgbIyMihLWApASdN7aMCmN49FwxYDEckEbgEeUdUOVX0yuGpFaFtVfUFVXwc6B9jUHcATqlqtqvQzCrEAABE8SURBVIfwpsi848Kjm1jWfPo4i2p/BcDb+Z+1QeliXOOEKwGYzRG00u47iEXhHBmUAI3BqS/P2AnMH+G+5gO7htuGiDQO9QCyR7hfE4X2/vrrpEkXTZpO68IvAl5vFZv4Pjbl5xeykxIA5hyyuQ5iUTjFIB1oDlnWDGSMcF+h27mQbZhxoK7uFPOqvQuN67M/Q2JqluNEJhIO53oXkq/s3cLhfXbfQawJ59i8DcgMWZYFtI5wX6HbGXAbqpoz1Ebs6CB2rSzz7lCdtuVfuFbaaSeF1svusS5t40T+xGkcqS9iqtRy8rVvMH3uSteRzAiE83tYDuSKSP8xhRcAI53maE/weRezDRPjek8d5MranwGwZ9Y9+DIKHCcykeLz+diReS0Al9W/Rl2tDWAXS4YtBqraAqwFHhYRv4jcAwjwfmhbEUkSEX9wu0nB9mf2sRK4T0SmishM4N7gMhNHZu/wehCdoJAFf/qQ6zgmwrIml9KoGSRLL+Uv/bvrOGYEwj1Cvx8oBRrwuo7epqo9IvKQiLzSr90P8cYSuA54Lvj19QCqugZ4FtgObAK+G+x5ZOJEV/nvWNH9ewAOT/0j/Gl2yWi8SU5K5O3sWwEoPfoine0tjhOZcImqus4wIiLSmJ2dnd3Y2Og6ihmBttZmTn/jSqZznP2+2cz51F8hPrHeQ+PQvuxr+fx7f0Cy9FI27yGWf9buL40GOTk5NDU1NQ12Xdau3ZkxsfP5v2U6x+nWBNKW3G53G49jSdmT2JZ3MwCX7HuKvt5ex4lMOKwYmFG3r+w1rjzhXTRen3YTUyfZ/Mbj3cRPfYWAClO0lu3rbAC7WGC3fZqIONNtFM6d2KSpsZ70V7+MT5T9TCdz+hIX8cwYKq5exfSEPLYlL2FJz1ayNn0bLVDkyrtdRzNDsCMDM2pUlX1P/Vem6nG6NZHqSz5NQkKC61hmDJRV1lObdwUAJVrJ7opKx4nMcKwYmFGz8VffY3mL12Fsx6TbyMrOc5zIjKXcgqKzQ1T0HXjNcRozHCsGZlRUH9jOwu2PArA97RqWLb3KcSLjQnXB9QBcpvvZW7bOcRozFCsGJiKKq1dRXL0KgK7ONnp/didp0sUJ8pm5/A/P6T10ZkA661Y6/uUXTmYvMwHoWf//HKcxQ7FiYCJux9MPMKuvkj4V6ub/Jdnpaa4jGUfEJ1Tme0cHizo3s2/LeseJzGCsGJiI8u1fyxUnfw7AhtxbuXTWdMeJjGt5E6ZRzlQAul//P47TmMFYMTAR097RwU0VjwGwxbcQmbTQcSITDcQnlOd9DIBFnZvY/d5ax4nMQKwYmIgIBJSUyjfJlRaaNY36aZ8iweez6wMGgLyiaexN8uaySv7tPxHo63OcyISyYmAi4tjRKlaoN6HJ73M+TVZ6quNEJpqIT5Ab/xmAkr5ytrzyjONEJpQVA3PRjh09zMebfwnAdt8CcqbY5PbmfHOv/ATb0735DiZv+TqdHW2OE5n+rBiYi6KBAMd+/CVypZVmTaNl5idBbBA6M7CCzzxGjyZ4Yxat/EfXcUw/VgzMRXl/zY+4suNdADbmfZpkv81RYAZ3ScllbJ58BwBLqp/h8P7tjhOZM8IqBiJSJCLrRKRdRHaIyLKRthORfxKRHhFpPfOI1IswbtTWVDN/m3eX8VbfQjIn2ekhM7zFCxZSowWkSC8tq/+aQF/AdSRD+EcGTwAHgXzgcWC1iCRdQLunVDXjzOMichvHNBDgyAv3kystNGk6rTNvtNNDJiypKcl8UPhpABZ072DjL7/jOJGBMIqBiGQCtwCPqGqHqj4ZXLXiQtqFsb/GoR5A9ki2Z0bHxrVPcXm7d3rotWl/Q4qdHjLD2fyM9wDyiqayIcE7cbBw52M8+9KbLpMZwjsyKAEaVbW237KdwPwLaPc5EakXkW0i8icXlNg4d+p4NXO2PgLAxqQr6L30s44TmVjUOfPjnCCfdOniyq1/S1dXh+tIcS2cYpAONIcsawZCPwoO1+5FYC4wAfgq8IyIXB66M1XNGeoBNIWR2YwSDQSofv5L5OLdXNY+9XqKj/zcdSwTA0JvQExN8bOu9FECKszTCrY8/aDjhPEtnGLQBmSGLMsCQi8AD9lOVfeo6glV7VXVdcBPgFtHHtm4tOWVp1jW/g4A5dP+jNTUdMeJTCxLnHU9v8n5PAAran/M5pd/6DhR/AqnGJQDuSLSf+LaBcCeC2x3hnUhiDF1tUco3uSdHtqedjVLF17mOJGJdcXVq8ibPIvtMg+ABRv/jv1b33acKj4NWwxUtQVYCzwsIn4RuQcQ4P2RtBORW0UkW0R8IvIx4A7g5ci+HDNaNBDg8HP3e6eHSGfKF/7jnDkKjLlQCT4fTcWf5phMxC895Kz5S978z0cpW/VvrqPFlXC7lt4PlAINwJeB21S1R0QeEpFXhmsXXHcHUIl3zv/fgXtVtSwCr8GMgbI1/8HSNu/00L7Ff0/h5BluA5lxxZ/ip/ezP6GVVIpooKTyBdo62l3Hiiuiqq4zjIiINGZnZ2c3Nja6jhI3ag7tIfvZj5Iunfw+6SoOfewHiM93dmYzYyJh+e0Psuu9tcxedyd+6aGCKeT+1ZvkFU5yHW1cyMnJoampqSnYEec8NhyFGVJ3VydtK79IunRyUnPonnYds4+utkJgRsWCa27hQMm9dGsCxRyj5YkbOVFd7jpWXLBiYIa06an/QUnvAQIqlBXejt9vQ1ObURK8KW3R3Dm8mX8HXZrI9MAREp6+kYM73h/++eaiWDEwg9q85gmuObkSgPWpH2dCkR2um7GRN2kmb064i2bSKKSByas/w+ZffRdi7LR2LLFrBmZA5Vt+y7Q1f0aK9LAlcTHdJbfg89lnBzO2ii69Hv+Ln2cipwDYlHUjpXf/B1k5BQDn9DhafrvdtDYUu2ZgRuxw+Q5yX7qTFOmhiknsXvFtKwTGiRnzryDlv7/HtjRviLMrml+n+1vL2PDSj2y00wiz33BzjtrD+/D/+DMU0EQLaby99Lskpue5jmXi1eZnyK36DYtvuJ2yuV+jXVMooJGrtjzIzv9zDfX1Nrd2pCS6DmCiR3XFXpKev4VJ1NGqfmr/6Cck9sxyHcvEsTPjGAEs/9zfUVv9p1T87AEWtr3PZYE9LKzZy4ZTV9Az9RqHKccHOzIwgHeNIP35m5jEado1hcr59zM7UElx9SrrRmqiRtG0EhZ+5Te8XvhFDjEFnygrejdy1aHH2fTkX9HSeMp1xJhlF5DjnKqy4VffZ+n2fyRFemjSdE4uuJeSmTOAcz+ZGeNSxbTbz35dXL2KvkCAU0fKuaplHUXSAEATGewr+W8svu0rpPjTXEWNSsNdQLZiEMeaTh+n4tn7WdqyHoDDTOLA1M+SlZXlOJkx4evs6aWtegfXd7xJhnhzIpygkMPz7+WyT/93/DayLmDFwAygr7eHTb/8DiW7v01+cHqITUmXs+/qf2NOnc04ZWLTvpyPULTt23y87WWSpA+AU+RSMf2zzL7pSxRMnu44oVtWDMxZ3Z0dbHv1aSZ/8DhTtQaAVk1l58KvIX29NgqpGReaW1rIajnIkvrfkBwsCj2awO70K+kpvZU5H/ks2Tn5jlOOPSsGhqPl26n+3X9SeuwXZ48E+lTYkraC9onLSU2z+YvN+LJ8Zh4n6hvZueVdLu/cQK58OBdXr/o4mDyXhqKrOZC+FN/UK0lI8nPH8mkOE48+KwZxSAMBKnaXUbv510w4+jolfQfPrutVH5sSl9A08Rpycwb8mTBmXOnp7aOptorJPYeZ11qGX3rOWd+hyexKnE/PtOvJXXAjsxddTVJSkqO0o8eKQTzY/Azr99bQ2lCLv/MUi9rLKKLunCbHNZ9dqcuQiQvJTLcLaiY+dff00Fx3HH/LYWZ0l1PM0fPaNGsa5f5FtEy6mux5H2XOoqtIT01xkDayIlIMglNZPg9cCxwE7lLVLSNpJyIJwHeAL+DNi/x3qvrcSF+QFQPobG3kyMGdNFdshKMbKWrYxiXUnteuhkIOJM2jPXcuuflF+OyagDHn6OjsoKO+hvSWSmb3HGCynD6vTbOmcoAZ1OVehk5YQNb0BUycVsrECYWkpcTOEUSkisEvgBPAg8BfAA8BJf1mMRu2nYg8gFcIPgXMAt4ArlLVfSN5QVFTDFQh0IcGeunr66UvECAQgD6gL6Coev/2AYGA0KdKQKGvpwvtbg8+2qCnA+1pp6ezjd7OVno72wl0taFdLdDdgq+7Be1sIaGrgfTu0+T21VHAwK+9RxPYk1BKec61tE3/OKWdu+yisDEj0NHWQnfDMSYkNDO5YQsTdPCb2Do0mdPk0JKYR2dKAYGULEjJJMGfSWJqFknp2ST6M0lMzSYpLYvktCxS0rNJycgmOTULSUoFX8KYvbaLLgYikgnUAVNVtTa4rAr4oqq+FW47EdkAfFNVXwyu+0+gUlUfCdnfcH/lswGys7OHaTaAvh7o7SKAIgDnvfTz34vz/5RGz2k1RQhIAoig+BCxP/zGREJCUvC0UG8XvYEAogEExacBIv83wPu91ZDvB/r2TBtJSkdGOHhkU1MTgKrqgE8MZ2yiEqDxzB/4oJ3AfOCtEbSbD+wKWXdlGPsfiDY1NTVf4HMj4UwlanKYAe9Ho9dthHNFyfsSdex9GVgUvy+dY7iv0OKiw78vnS0XsqMsYNChXsMpBulA6B/eZiC0P+Jw7ULXD7QNBjuEiSZnjl5iIetYsvdlYPa+DMzel4G5el/COc5oAzJDlmXhXQQeSbvQ9QNtwxhjjAPhFINyIDfYU+iMBcCeEbbbE/x+qG0YY4xxYNhioKotwFrgYRHxi8g9eJc03h9hu5XAV0QkT0SWAZ8BXozcSzHGGHOhwp3c5n7gBaAB7/6B24LdRR8CrlPVm4dqF1z3PWAuUIV3euhvVHVvRF6FMcaYixJzdyBHA7vwNTB7XwZm78vA7H0ZWDRfQDbGGDPOWTEwxhhjp4mMMcbYkYExxhisGBhjjMGKgTHGGKwYGGOMwYpBxIjID0RERWSi6yyuicjVIrJeRBpE5LiIfEdEYmcWkAgSkSIRWSci7SKyI3j3fVwTkRQReUZEjopIU/Bn5VLXuaJJ8HcoICJfG6t9WjGIgOAveKnrHFEkG/g2cAneGFSXAf/TaSJ3nsC7Gz8feBxYHa+FsZ9E4BBwFZAHvAT8ymmiKCIiPuBbwMYx3a91Lb044s0o8w7w18BWYJKqnnCbKrqIyL3Arar6addZxlK4E0PFOxFJxptAoFBV64ZrP96JyP1488PkAftU9f+OxX7tyODi3QXsUdVtroNEsWuA3a5DODDUhE/mQyuAk1YIQETygS8DjwzXNtLCHajODEBEsoGv4f2xMwMQkT/Em/f6MtdZHAh3Yqi4JSI5wA/w5ks38C940wM3jfU0tlYMhiAirwDXDbL6UWAK8ITqELNmj0PDvS+q+vVguyuAp4DPhHw6jhfhTgwVl0TEj3etYK2qPu06j2vBa49Lgfuc7N+uGVw4EdkOTOPDeUXzgXrg86q6zlmwKCAic4H1wH9R1d+4zuPCINcMKoE74/2agYgkAKvxCuYX1P4QISJ/AzwGtAcXZQB9wM9U9e5R37/9H1w4EZkAJPdbdASvsu9V1bGcUTuqiMhU4F3gH1T1Wdd5XBKRXwA1wFeALwB/D5T0m+cjLonI03hH1rfE+3txhohkAP2Hrf4mXk+0b6hq/Wjv304TXQRVPdn/++A5vuPxXAiC7gamAt8Tke8Flx1W1XjsSz7UhE9xSUSm43W86AQa+p0bv1lV33EWzDFVbaXfKUQRaQeax6IQgB0ZGGOMwbqWGmOMwYqBMcYYrBgYY4zBioExxhisGBhjjMGKgTHGGKwYGGOMwYqBMcYYrBgYY4wB/j/duIVfilJ3rwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "X_marg_approx = univariate_invert_uniformization(X_u, params)\n", + "\n", + "\n", + "fig, ax = plt.subplots()\n", + "sns.distplot(X_marg_approx, bins=100, label='Inverted', ax=ax)\n", + "sns.distplot(X_marg, bins=100, label='Data', ax=ax)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Residual from Original and Transformed: 1.04e-04\n" + ] + } + ], + "source": [ + "residual = np.abs(X_marg_approx - X_marg).mean()\n", + "\n", + "print(f'Residual from Original and Transformed: {residual:.2e}')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## RBIG Fitting" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 2.78 s, sys: 128 ms, total: 2.91 s\n", + "Wall time: 981 ms\n" + ] + } + ], + "source": [ + "%%time \n", + "\n", + "n_layers = 1000\n", + "rotation_type = 'pca'\n", + "random_state = 123\n", + "zero_tolerance = 60\n", + "\n", + "# Initialize RBIG class\n", + "rbig_model = RBIG(\n", + " n_layers=n_layers, \n", + " rotation_type=rotation_type, \n", + " random_state=random_state, \n", + " zero_tolerance=zero_tolerance\n", + ")\n", + "\n", + "# transform data\n", + "data_trans = rbig_model.fit_transform(data.copy())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Transform Data into Gaussian" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'data_trans' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata_trans\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;31m# fig, ax = plt.subplots()\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0msns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjointplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata_trans\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata_trans\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;31m# ax.scatter(data_trans[:, 0], data_trans[:, 1], s=1)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxlabel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'X'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'data_trans' is not defined" + ] + } + ], + "source": [ + "\n", + "print(data_trans.shape)\n", + "# fig, ax = plt.subplots()\n", + "sns.jointplot(data_trans[:, 0], data_trans[:, 1])\n", + "# ax.scatter(data_trans[:, 0], data_trans[:, 1], s=1)\n", + "plt.xlabel('X')\n", + "plt.ylabel('Y')\n", + "plt.title('Data after RBIG Transformation')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Invertible" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 123 ms, sys: 982 µs, total: 124 ms\n", + "Wall time: 123 ms\n" + ] + } + ], + "source": [ + "%%time\n", + "# transform data\n", + "data_approx = rbig_model.inverse_transform(data_trans)\n", + "\n", + "# check approximation\n", + "# np.testing.assert_array_almost_equal(data, data_approx, decimal=4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Check Residuals" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Residual from Original and Transformed: 6.98e+00\n" + ] + } + ], + "source": [ + "data_approx = rbig_model.inverse_transform(data_trans)\n", + "residual = np.abs(data - data_approx).sum().sum()\n", + "\n", + "print(f'Residual from Original and Transformed: {residual:.2e}')" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "ax.scatter(data_approx[:, 0], data_trans[:, 1], s=1)\n", + "ax.set_xlabel('X')\n", + "ax.set_ylabel('Y')\n", + "ax.set_title('Inverse Transformation')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Information Reduction" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "residual_info = rbig_model.residual_info\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.plot(np.cumsum(rbig_model.residual_info))\n", + "ax.set_title('Information Reduction')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Generated Synthetic Data" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "data_synthetic = rng.randn(data.shape[0], data.shape[1])\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.scatter(data_synthetic[:, 0], data_synthetic[:, 1], s=1)\n", + "ax.set_xlabel('X')\n", + "ax.set_ylabel('Y')\n", + "ax.set_title('Synthetically generated factorial gaussian data')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Synthesize New Data from RBIG Model" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "data_original_synthetic = rbig_model.inverse_transform(data_synthetic)\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.scatter(data_original_synthetic[:, 0], data_original_synthetic[:, 1], s=1)\n", + "# ax.scatter(data[:, 0], data[:, 1], s=1)\n", + "\n", + "ax.set_ylim([-1.5, 2.0])\n", + "ax.set_xlim([0.0, 9.0])\n", + "ax.set_xlabel('X')\n", + "ax.set_ylabel('Y')\n", + "ax.set_title('Synthetically generated data from the input distribution')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Jacobian" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(10000, 2, 2)\n", + "Jacobian - min: 0.000e+00, max: 1.000e+00\n", + "CPU times: user 922 µs, sys: 1.02 ms, total: 1.94 ms\n", + "Wall time: 1.58 ms\n" + ] + } + ], + "source": [ + "%%time\n", + "\n", + "jacobian = rbig_model.jacobian(data, return_X_transform=False)\n", + "\n", + "print(jacobian.shape)\n", + "\n", + "print(f\"Jacobian - min: {jacobian.min():.3e}, max: {jacobian.max():.3e}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Estimating Probabilities with RBIG" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Prob Input Domain - min: 2.713e-16, max: 1.588e-01\n", + "Prob Gauss Domain - min: 2.713e-16, max: 1.588e-01\n", + "Det:: 1.000e+00\n", + "CPU times: user 6.96 ms, sys: 929 µs, total: 7.89 ms\n", + "Wall time: 6.88 ms\n" + ] + } + ], + "source": [ + "%%time\n", + "prob_input, prob_gauss = rbig_model.predict_proba(data, domain='both', n_trials=1)\n", + "print(f\"Prob Input Domain - min: {prob_input.min():.3e}, max: {prob_input.max():.3e}\")\n", + "print(f\"Prob Gauss Domain - min: {prob_gauss.min():.3e}, max: {prob_gauss.max():.3e}\")\n", + "print(f\"Det:: {rbig_model.det_jacobians:.3e}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Original Data with Probabilities" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "ax.hist(prob_input, 50, facecolor='green', alpha=0.75)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "h = ax.scatter(data[:, 0], data[:, 1], s=1, c=prob_input, cmap='Reds')\n", + "\n", + "ax.set_xlabel('X')\n", + "ax.set_ylabel('Y')\n", + "cbar = plt.colorbar(h, )\n", + "ax.set_title('Original Data w/ Probabilities')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Probability in Gaussian Domain" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Plot the probability of the data in the Gaussian Domain\n", + "fig, ax = plt.subplots()\n", + "\n", + "n, bins, patches = ax.hist(prob_gauss, 50, facecolor='green', alpha=0.75)\n", + "ax.set_title('Probability in Gaussian domain.')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Plot the Probabilities of the data using colors\n", + "fig, ax = plt.subplots()\n", + "g = ax.scatter(data_trans[:, 0], data_trans[:, 1],\n", + " s=1, c=prob_gauss)\n", + "ax.set_xlabel('X')\n", + "ax.set_ylabel('Y')\n", + "ax.set_title('Data after RBIG transform w/ Probabilities')\n", + "plt.colorbar(g)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Benchmarks" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "metadata": {}, + "outputs": [], + "source": [ + "data = np.random.randn(100_000, 100)" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 1min 59s, sys: 28.2 s, total: 2min 28s\n", + "Wall time: 31.6 s\n" + ] + } + ], + "source": [ + "%%time \n", + "\n", + "n_layers = 1000\n", + "rotation_type = 'pca'\n", + "random_state = 123\n", + "zero_tolerance = 10\n", + "\n", + "# Initialize RBIG class\n", + "rbig_model = RBIG(\n", + " n_layers=n_layers, \n", + " rotation_type=rotation_type, \n", + " random_state=random_state, \n", + " zero_tolerance=zero_tolerance,\n", + " pdf_resolution=50,\n", + ")\n", + "\n", + "# transform data\n", + "data_trans = rbig_model.fit_transform(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rbig_model.n_layers" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [], + "source": [ + "from rbig.model import RBIG as RBIG11" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 8min 13s, sys: 1min 25s, total: 9min 38s\n", + "Wall time: 1min 58s\n" + ] + } + ], + "source": [ + "%%time \n", + "n_layers = 1000\n", + "rotation_type = 'pca'\n", + "random_state = 123\n", + "zero_tolerance = 60\n", + "verbose=0\n", + "method = 'custom'\n", + "\n", + "# Initialize RBIG class\n", + "rbig_model = RBIG11(\n", + " n_layers=n_layers, \n", + " rotation_type=rotation_type, \n", + " random_state=random_state, \n", + " zero_tolerance=zero_tolerance,\n", + " verbose=verbose,\n", + " method=method,\n", + " pdf_resolution=50,\n", + ")\n", + "\n", + "# transform data\n", + "data_trans = rbig_model.fit_transform(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "residual_info = rbig_model.residual_info\n", + "plt." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 4min 10s, sys: 29.9 s, total: 4min 40s\n", + "Wall time: 32.4 s\n" + ] + } + ], + "source": [ + "%%time\n", + "\n", + "data_inverted = rbig_model.inverse_transform(data_trans)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, + "outputs": [ + { + "ename": "KeyboardInterrupt", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n", + "\u001b[0;32m~/code/rbig/rbig/rbig.py\u001b[0m in \u001b[0;36mpredict_proba\u001b[0;34m(self, X, n_trials, chunksize, domain)\u001b[0m\n\u001b[1;32m 540\u001b[0m \u001b[0;31m# data_aux[start_idx:end_idx, :], return_X_transform=True\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 541\u001b[0m \u001b[0;31m# )\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 542\u001b[0;31m \u001b[0mjacobians\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata_temp\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjacobian\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata_aux\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_X_transform\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 543\u001b[0m \u001b[0;31m# set all nans to zero\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 544\u001b[0m \u001b[0mjacobians\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0misnan\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mjacobians\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0.0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/code/rbig/rbig/rbig.py\u001b[0m in \u001b[0;36mjacobian\u001b[0;34m(self, X, return_X_transform)\u001b[0m\n\u001b[1;32m 471\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0milayer\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mn_layers\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 472\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 473\u001b[0;31m XX = np.dot(\n\u001b[0m\u001b[1;32m 474\u001b[0m \u001b[0mgaussian_pdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0milayer\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mXX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrotation_matrix\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0milayer\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 475\u001b[0m )\n", + "\u001b[0;32m<__array_function__ internals>\u001b[0m in \u001b[0;36mdot\u001b[0;34m(*args, **kwargs)\u001b[0m\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + } + ], + "source": [ + "%%time\n", + "prob_input, prob_gauss = rbig_model.predict_proba(data, domain='both', n_trials=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(np.cumsum(rbig_model.residual_info))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:.conda-rbig_dev]", + "language": "python", + "name": "conda-env-.conda-rbig_dev-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.2" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "position": { + "height": "253px", + "left": "590px", + "right": "20px", + "top": "120px", + "width": "345px" + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/notebooks/information_theory.ipynb b/notebooks/information_theory.ipynb index 303ac76..5716d31 100644 --- a/notebooks/information_theory.ipynb +++ b/notebooks/information_theory.ipynb @@ -9,24 +9,37 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 20, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n" + ] + } + ], "source": [ "import sys\n", "\n", - "# MacOS\n", - "sys.path.insert(0, '/Users/eman/Documents/code_projects/rbig/')\n", - "sys.path.insert(0, '/home/emmanuel/code/py_packages/py_rbig/src')\n", + "# # MacOS\n", + "# sys.path.insert(0, '/Users/eman/Documents/code_projects/rbig/')\n", + "# sys.path.insert(0, '/home/emmanuel/code/py_packages/py_rbig/src')\n", "\n", "# ERC server\n", - "sys.path.insert(0, '/home/emmanuel/code/rbig/')\n", + "sys.path.insert(0, '../')\n", "\n", "\n", "import numpy as np\n", "import warnings\n", "from time import time\n", - "from rbig.rbig import RBIGKLD, RBIG, RBIGMI, entropy_marginal\n", + "from rbig.model import RBIG\n", + "from rbig.information.total_corr import RBIGTotalCorr\n", + "from rbig.information.mutual_info import RBIGMI\n", + "from rbig.information.entropy import entropy_marginal\n", + "from rbig.information.kld import RBIGKLD\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.utils import check_random_state\n", "import matplotlib.pyplot as plt\n", @@ -49,7 +62,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -71,7 +84,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -97,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -123,16 +136,26 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 1min 19s, sys: 64.4 ms, total: 1min 19s\n", - "Wall time: 3.01 s\n" + "CPU times: user 1min 28s, sys: 12.3 s, total: 1min 41s\n", + "Wall time: 3.67 s\n" ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -146,7 +169,7 @@ "tolerance = None\n", "\n", "# Initialize RBIG class\n", - "tc_rbig_model = RBIG(n_layers=n_layers, \n", + "tc_rbig_model = RBIGTotalCorr(n_layers=n_layers, \n", " rotation_type=rotation_type, \n", " random_state=random_state, \n", " zero_tolerance=zero_tolerance,\n", @@ -160,7 +183,27 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "48" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sys.getsizeof(tc_rbig_model)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -195,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -225,7 +268,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -255,16 +298,26 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 53.1 s, sys: 9.81 ms, total: 53.1 s\n", - "Wall time: 1.9 s\n" + "CPU times: user 1min 17s, sys: 11.1 s, total: 1min 28s\n", + "Wall time: 3.18 s\n" ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -278,7 +331,7 @@ "tolerance = None\n", "\n", "# Initialize RBIG class\n", - "ent_rbig_model = RBIG(n_layers=n_layers, \n", + "ent_rbig_model = RBIGTotalCorr(n_layers=n_layers, \n", " rotation_type=rotation_type, \n", " random_state=random_state, \n", " zero_tolerance=zero_tolerance,\n", @@ -290,7 +343,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -325,7 +378,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -362,7 +415,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -393,16 +446,26 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 5min 37s, sys: 103 ms, total: 5min 38s\n", - "Wall time: 12.1 s\n" + "CPU times: user 7min 33s, sys: 1min 4s, total: 8min 38s\n", + "Wall time: 18.5 s\n" ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -426,7 +489,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -462,7 +525,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 35, "metadata": {}, "outputs": [], "source": [ @@ -505,7 +568,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -533,58 +596,28 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 39, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "(-4.006934109277744, 4.585027222023813)" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X.min(), X.max()" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 7min 27s, sys: 1min 3s, total: 8min 31s\n", + "Wall time: 18.4 s\n" + ] + }, { "data": { "text/plain": [ - "(-4.607129910785054, 4.299322691460413)" + "" ] }, - "execution_count": 20, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], - "source": [ - "Y.min(), Y.max()" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 5min 46s, sys: 10.9 ms, total: 5min 46s\n", - "Wall time: 12.4 s\n" - ] - } - ], "source": [ "%%time\n", "\n", @@ -613,7 +646,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 40, "metadata": {}, "outputs": [ { @@ -643,9 +676,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python [conda env:.conda-rbig_dev]", "language": "python", - "name": "python3" + "name": "conda-env-.conda-rbig_dev-py" }, "language_info": { "codemirror_mode": { @@ -657,9 +690,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.8" + "version": "3.8.2" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/notebooks/rbig_demo.ipynb b/notebooks/rbig_demo.ipynb index 250b1ed..46e2168 100644 --- a/notebooks/rbig_demo.ipynb +++ b/notebooks/rbig_demo.ipynb @@ -9,24 +9,12 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": { "code_folding": [], "scrolled": true }, - "outputs": [ - { - "ename": "ImportError", - "evalue": "cannot import name 'RBIG' from 'rbig' (../rbig/__init__.py)", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;31m# RBIG Functions\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;31m# from rbig.model import RBIG\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 12\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mrbig\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mRBIG\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 13\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0;31m# plot utilities\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mImportError\u001b[0m: cannot import name 'RBIG' from 'rbig' (../rbig/__init__.py)" - ] - } - ], + "outputs": [], "source": [ "import sys\n", "sys.path.insert(0, '../')\n", @@ -38,8 +26,7 @@ "from sklearn.utils import check_random_state\n", "\n", "# RBIG Functions\n", - "# from rbig.model import RBIG\n", - "from rbig. import RBIG\n", + "from rbig.model import RBIG\n", "\n", "# plot utilities\n", "import matplotlib.pyplot as plt\n", @@ -63,14 +50,23 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 2, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", "text/plain": [ - "
" + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" ] }, "metadata": { @@ -88,11 +84,12 @@ "y = np.sin(x) + 0.25 * rng.randn(1, num_samples)\n", "data = np.vstack((x, y)).T\n", "\n", - "fig, ax = plt.subplots()\n", - "ax.scatter(data[:, 0], data[:, 1], s=1)\n", - "ax.set_xlabel('X')\n", - "ax.set_ylabel('Y')\n", - "ax.set_title('Original Data')\n", + "plt.figure()\n", + "sns.jointplot(data[:, 0], data[:, 1])\n", + "# ax.scatter(data_trans[:, 0], data_trans[:, 1], s=1)\n", + "plt.xlabel('X')\n", + "plt.ylabel('Y')\n", + "plt.suptitle('Original Data')\n", "plt.show()" ] }, @@ -105,15 +102,15 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 2.77 s, sys: 126 ms, total: 2.9 s\n", - "Wall time: 976 ms\n" + "CPU times: user 2.11 s, sys: 109 ms, total: 2.22 s\n", + "Wall time: 744 ms\n" ] } ], @@ -124,17 +121,39 @@ "rotation_type = 'pca'\n", "random_state = 123\n", "zero_tolerance = 60\n", + "pdf_extension = 10\n", "\n", "# Initialize RBIG class\n", "rbig_model = RBIG(\n", " n_layers=n_layers, \n", " rotation_type=rotation_type, \n", " random_state=random_state, \n", - " zero_tolerance=zero_tolerance\n", + " zero_tolerance=zero_tolerance,\n", + " pdf_extension=pdf_extension\n", ")\n", "\n", "# transform data\n", - "data_trans = rbig_model.fit_transform(data.copy())" + "data_trans = rbig_model.fit_transform(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "26" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rbig_model.n_layers" ] }, { @@ -146,21 +165,23 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 5, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "(10000, 2)\n" - ] + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAacAAAGqCAYAAACvcYtGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzde3xU1bk//s+a3JNJJuRCIFyCKAEEFKyIFRXx0itFaKuCP1uR4mk91svpOd9ejj2t9nvOq7Wt15ZWCxZvxdbWO9pvLaICegBR5CI3AQ2YQEIScpncM/P8/gg7ToaZ2Wtm9szsmfm8X6+8gGRmz8qQ7GevtZ/1PEpEQEREZCeORA+AiIjIH4MTERHZDoMTERHZDoMTERHZDoMTERHZDoMTERHZDoMTxZUasEopdUIptSXR40kHSqnvKqUalFJupZQr0ePxp5R6VSn1/yV6HGQvdg1Owo/IPsaNGyd5eXlSWFgoxcXFcsEFF8hDDz0kXq9X6/kff/yxKKWkv78/JuNbv369d9SoUUvcbnexiMx84403ZPTo0Za+xhtvvCEOh0OcTqcUFhbKxIkTZdWqVUMeo5SSgoICcTqdUlZWJosXL5aWlpbBr19yySWycuXKwX+3t7fL9773PRk3bpwUFBTI2LFj5etf/7ps2bLllNffsGGDOJ1OcTqdUlBQIEqpwX87nU45fPhw3H4euru7JScn5ze7du0qF5ECEWlJ5M/nj3/8Y1myZMmQz4nIFSLyZCLHlaAPCsGuwYmi8NJLL6G9vR01NTX44Q9/iLvvvhvf+ta3Ej0sAEBNTQ3GjRuHgoICS47X398f8POVlZVwu91oa2vDfffdhxtvvBH79u0b8pjt27fD7Xbj0KFDOHHiBO68886Ax+rp6cGll16KnTt3Ys2aNWhra8OePXuwaNEivPLKK6c8/qKLLoLb7Ybb7cYHH3wAAGhpaRn83NixY4c83uv1wuv1RvDdmzt27Bh6enowZcqUsJ8by3ERmRIRO35QhKqqquSf//znkM9t3rxZlFKyc+dOERFZs2aNTJ8+XQoLC2X06NHy05/+dPCxY8aMEQBSUFAgBQUF8vbbb8uBAwdk7ty5UlJSIqWlpXLttdfKiRMngo7h1ltvldGjR0thYaGcc845sn79ehERWblypeTk5IjD4ZCCggL5j//4D8nNzR2cxRQUFEhtba14PB75+c9/LuPHj5eSkhK56qqrpKmpSUREPvroIwEgK1eulDFjxshFF110yuu//vrrMmrUqCGfKy8vl6effnrw3wDkww8/HPz38uXL5Yorrhj895w5c2TFihUiIrJixQoZMWKEuN3ukO99IMZ4+/r6hnx+9uzZ8uMf/1jOP/98yc3NlY8++khWrFghkyZNEqfTKePHjx98fRGRf/7zn1JVVSV33323lJWVyciRI+Wxxx4b/PpLL700+NxRo0bJvffeK7t375b8/PzB/0/j+9uwYYN85jOfkaKiIpk5c6Zs2rQp5Lhmz54t//Vf/yWzZs2S/Px8ufLKK6WxsVEWLVokhYWFct5550lNTc3gMW6++WYZNWqUFBYWyrnnnitvvfXW4BizsrIkMzNTCgoK5Jxzzhl8zVWrVomIiMfjkbvuukvGjh0r5eXlcv3110tra6uIiHz44YcCQB577DEZNWqUlJWVyc9//vOw/09sJNHnWVt/JHwAQT4oQoGCk8hA0Pnd734nIgMn7x07dojH45Ht27fL8OHD5bnnnhORwCfTDz/8UF599VXp7u6WhoYGueiii+S2224LOoYnnnhCGhsbpa+vT379619LRUWFdHV1iYjIqlWrZPbs2YOPDRRI7rvvPpk1a5YcOXJEuru75V/+5V9k0aJFQ8b3jW98Q9xut3R2dp7y+sYx/7SpRp54+yP53i9XilJK/uexlwcf4xucmpubZep5F8nCpbfKnzbVyJ821cjkGefLsh/9QkRErrnmGrn++uuDv+khhApOVVVVsnv3bunt7ZW+vj558cUX5eDBg+L1euW1116T3Nxc2b59u4gMBKeMjAy58847pbe3V1544QXJz88fPHGXlZUNBoGmpiZ59913ReTTE7rh+PHjUlRUJKtXr5a+vj554oknpKSkRJqbm4OOa/bs2TJhwgQ5ePCgNDc3y8SJE6W6ulrWrVsnfX19snjxYlm2bNngazz++OPS1NQkfX198otf/EIqKyulu7tbRETuuOOOU95L3+D08MMPy4QJE+TQoUPS1tYm8+fPlyVLlgz5Xr797W9LV1eXvPvuu5KdnS379++P6P/GBhJ9nrX1R8IHEOSDIhQsOM2aNUv++7//O+BzbrvtNrn99ttFJPjJ1Ndzzz0n06dP1x5TcXGxvP/++yKiF5wmTZok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\n", "text/plain": [ - "
" + "
" ] }, "metadata": { @@ -170,13 +191,12 @@ } ], "source": [ - "\n", - "print(data_trans.shape)\n", - "fig, ax = plt.subplots()\n", - "ax.scatter(data_trans[:, 0], data_trans[:, 1], s=1)\n", - "ax.set_xlabel('X')\n", - "ax.set_ylabel('Y')\n", - "ax.set_title('Data after RBIG Transformation')\n", + "plt.figure()\n", + "sns.jointplot(data_trans[:, 0], data_trans[:, 1])\n", + "# ax.scatter(data_trans[:, 0], data_trans[:, 1], s=1)\n", + "plt.xlabel('X')\n", + "plt.ylabel('Y')\n", + "plt.suptitle('Data after RBIG Transformation')\n", "plt.show()" ] }, @@ -189,22 +209,22 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 128 ms, sys: 996 µs, total: 129 ms\n", - "Wall time: 128 ms\n" + "CPU times: user 116 ms, sys: 1.91 ms, total: 117 ms\n", + "Wall time: 117 ms\n" ] } ], "source": [ "%%time\n", "# transform data\n", - "data_approx = rbig_model.inverse_transform(data_trans)\n", + "data_approx = rbig_model.inverse_transform(data_trans.copy())\n", "\n", "# check approximation\n", "# np.testing.assert_array_almost_equal(data, data_approx, decimal=4)" @@ -219,34 +239,64 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Residual from Original and Transformed: 6.98e+00\n" + "Residual from Original and Transformed: 2.03e-04\n" ] } ], "source": [ - "data_approx = rbig_model.inverse_transform(data_trans)\n", - "residual = np.abs(data - data_approx).sum().sum()\n", + "data_approx = rbig_model.inverse_transform(data_trans.copy())\n", + "residual = np.abs(data - data_approx).mean()\n", "\n", "print(f'Residual from Original and Transformed: {residual:.2e}')" ] }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 8, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", "text/plain": [ - "
" + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbIAAAGqCAYAAABu9sHqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de3xU5bU//s+aBEhIQhIuCQEURBDkpgQrHineKAUjaK3tgWC8VOnN0yOvqse2Xr5F+2s99lRtz7E9VWk5arhIpSoQLoKoULWxDZSrKDfBIjBccichZGb9/khmHMJMZk+yZ/bsvT/v1ysvyGTPzJpc9prn2etZj6gqiIiI7MpjdQBERESdwURGRES2xkRGRES2xkRGRES2xkRGRES2xkRGRES2xkRGSUtazBeRShH50Op43EBEfiAiXhGpE5Fsq+NpS0TeFJFbrY6DkosTEpnyo2MfgwYN0vT0dM3KytKcnBy98sor9fe//736/X5D9//0009VRLS5uTku8W3YsMHfv3//O+vq6nJU9UvvvPOODhgwwNTneOedd9Tj8WhmZqZmZWXpsGHDdP78+WcdIyKakZGhmZmZ2rt3by0uLtaqqqrg16+55hqdN29e8PPa2lq97777dNCgQZqRkaHnn3++fuMb39APP/zwnOffuHGjZmZmamZmpmZkZKiIBD/PzMzUgwcPJuz3obGxUbt16/Y/27dv76OqGapaZeXv5yOPPKJ33nnnWbep6mRVLbUyLos+qB1OSGTUCcuXL0dtbS0OHDiAH//4x3jyySdx9913Wx0WAODAgQMYNGgQMjIyTHm85ubmsLf369cPdXV1qKmpwTPPPINvf/vb+Pjjj886ZsuWLairq8O+fftQWVmJuXPnhn2s06dP47rrrsO2bduwYsUK1NTU4KOPPsLMmTOxcuXKc46fOHEi6urqUFdXhx07dgAAqqqqgredf/75Zx3v9/vh9/s78OqjO3LkCE6fPo2RI0fGfN94xkUUlara/YM6aODAgbp27dqzbisvL1cR0W3btqmq6ooVK/TSSy/VrKwsHTBggP70pz8NHnveeecpAM3IyNCMjAx9//33dc+ePXrttddqz549tVevXjpr1iytrKyMGMO9996rAwYM0KysLC0sLNQNGzaoquq8efO0W7du6vF4NCMjQx944AFNS0sLjo4yMjL00KFD6vP59IknntDBgwdrz5499Zvf/KaeOHFCVVX379+vAHTevHl63nnn6cSJE895/rffflv79+9/1m19+vTRJUuWBD8HoLt37w5+/tvf/lYnT54c/Pzqq6/WF154QVVVX3jhBe3bt6/W1dW1+70PJxDvmTNnzrp9woQJ+sgjj+gVV1yhaWlpun//fn3hhRd0+PDhmpmZqYMHDw4+v6rq2rVrdeDAgfrkk09q7969taCgQF988cXg15cvXx68b//+/fXpp5/WnTt3avfu3YM/z8Dr27hxo44bN0579OihX/rSl/Svf/1ru3FNmDBBH330UR0/frx2795db7rpJj1+/LjOnDlTs7Ky9PLLL9cDBw4EH+Pf/u3ftH///pqVlaWXXXaZvvfee8EYu3TpoqmpqZqRkaGFhYXB55w/f76qqvp8Pn3sscf0/PPP1z59+ugdd9yh1dXVqqq6e/duBaAvvvii9u/fX3v37q1PPPFEzD+TJGL1eTapPywPwIQPUz339+fCfjhRuESm2pKgfve736lqy4l+69at6vP5dMuWLZqXl6evvfaaqoY/8e7evVvffPNNbWxsVK/XqxMnTtQ5c+ZEjOHll1/W48eP65kzZ/RXv/qV5ufna0NDg6qqzp8/XydMmBA8NlzSeeaZZ3T8+PH62WefaWNjo37nO9/RmTNnnhXfbbfdpnV1dXrq1Klznj/0MX0+n77xxhsqIrpp06bgMaGJ7OTJkzp58mR99NFHg18PTWQzZszQO+64I+LrbU97iWzgwIG6c+dObWpq0jNnzuiyZct079696vf79a233tK0tDTdsmWLqrYkspSUFJ07d642NTXpG2+8od27dw+e5Hv37h1MGCdOnNCKigpV/eLkH3Ds2DHt0aOHLly4UM+cOaMvv/yy9uzZU0+ePBkxrgkTJujQoUN17969evLkSR02bJhedNFFun79ej1z5owWFxfr7Nmzg8/x0ksv6YkTJ/TMmTP6n//5n9qvXz9tbGxUVdWHH374nO9laCJ77rnndOjQobpv3z6tqanRG2+8Ue+8886zXst3v/tdbWho0IqKCu3atat+8sknHfrZJAGrz7NJ/cGpRTpHv379cPLkSQDANddcg9GjR8Pj8WDMmDEoLi7Gu+++G/G+Q4YMweTJk9GtWzf06dMH9913X7vHl5SUoFevXkhN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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbIAAAGqCAYAAABu9sHqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deZiU1ZU/8O+p3rfqhm4aaERQAQlLEDWuIBh1ohkdRTQu0Yk4ZkElaswkM84vj0YnZp5JjIlLnIREiKNgdBRxyaICooiCS8sODSqt0NAb9FK90V11f39UVVtd1PJW1Vvv+v08Tz9A99tVp7vpOu+999xzRSkFIiIiu/KYHQAREVEmmMiIiMjWmMiIiMjWmMiIiMjWmMiIiMjWmMiIiMjWmMiIoojIXSLyB72v1fBYSkQm6PFYRG7ihESm+Ma3eG9Lly5V06dPV8XFxWrUqFFq4cKFqq2tLeHnKKV+ppT6Fy2Pn8q1Gt6we/fu3bE+NnfuXFVYWKjKysqU1+tVp5xyivqv//ov1dfXp/nxRUTt2bPH9J8J39L7v0HxOSGREcX0wAMP4Mc//jF+8YtfoL29He+++y7q6+txwQUX4MiRIzE/Z2BgwOAotXvkkUfQ2dmJAwcO4IEHHsDTTz+Nr3/962BTA3I7JjJypI6ODtx99914+OGHceGFFyIvLw/jx4/HM888g/r6ejz55JMAgHvuuQdXXHEFrrvuOni9XixduhT33HMPrrvuusHHeuKJJzBu3DhUVlbivvvuw/jx4/H6668Pfn742r1790JE8Kc//QnHHnssqqqq8LOf/WzwcTZu3IgzzzwTFRUVGD16NG699da4CTWRkpISzJ07Fy+++CLeeecdvPLKK0kf/5xzzgEAzJgxA6Wlpfjzn/+Mw4cP4+KLL8aIESMwbNgwXHzxxdi3b18a320iczGRRVm24bOYb2Qv69evR29vLy6//PIh7y8tLcVFF12E1157bfB9K1euxBVXXIG2tjZ885vfHHL99u3bcfPNN+Opp57CgQMH0N7ejv379yd87nXr1mHXrl1YtWoV7r33XuzYsQMAkJOTgwcffBAtLS145513sGrVKvz2t79N+2s89thjceqpp+Ktt95K+vhvvvkmAGDTpk3w+Xy46qqrEAgEsGDBAtTX1+Ozzz5DUVERbr311rTjITILExk5UktLC6qqqpCbm3vUx0aPHo2WlpbBf5955pm47LLL4PF4UFRUNOTa//u//8Mll1yCWbNmIT8/H/feey9EJOFz33333SgqKsKMGTMwY8YMbNq0CQBwyimn4IwzzkBubi7Gjx+P7373u1i7dm1GX2dNTQ0OHTqU1uNXVlZi/vz5KC4uRllZGf7jP/4j43iIzHD0bzmRA1RVVaGlpQUDAwNHJbMDBw6gqqpq8N9jx46N+zgNDQ1DPl5cXIzKysqEzz1q1Kgh1/t8PgBAXV0dfvCDH+D9999Hd3c3BgYGcMopp6T0dUXbv38/zjrrrLQev7u7G3fccQf+9re/4fDhwwCAzs5O+P1+5OTkZBQXkZE4IiNHOvPMM1FQUIDnn39+yPu7urrw17/+Feedd97g+xKNsEaPHj1k3ainpwetra1pxbRw4UJMnjwZu3fvRkdHB+6///6MCjU+//xzfPDBB5g9e3Zaj//AAw9g165d2LBhAzo6OganH1k8QnbDEZlG8dbJrj39WIMjIS3Ky8tx9913Y9GiRfB6vTjvvPOwf/9+3HzzzTjmmGNw/fXXa3qcK664AmeccQbWr1+PU089FXfffXfaL/SdnZ3wer0oLS3Fzp078dhjj2HEiBEpP053dzfee+893HHHHTjttNPw9a9/XdPjjxw5Ep988gkmTJgweH1RUREqKipw6NAh/PSnP03r6yIyG0dk5Fg/+tGPcP/99+OHP/whvF4vTj/9dIwdOxarVq1CQUGBpseYOnUqHn74YVx99dUYPXo0ysrKUF1drfnzI/3yl7/EsmXLUFZWhm9/+9u46qqrUvr8W2+9FWVlZRg5ciRuv/12zJ8/H3/729/g8Xg0Pf4999yDb33rW6ioqMAzzzyD22+/HT09PaiqqsIZZ5yBCy+8MOWvicgKxAHTCLp+AalWKHJE5i4+nw8VFRXYvXs3jjvuOLPDIfdIXGHkcq5OZNkqq2dyc5aXXnoJ5513HpRSuPPOO7FhwwZ8+OGHSasXiXTE/2wJcGqRKImVK1eipqYGNTU12L17N55++mkmMSIL4YgsC+KNyDhtSURp4p1TAqxazAJ2AiEiMg4TmYXFSogcpRERDcU1MiIisjWOyGyGG7OJiIbiiIyIiGyNiYyIiGyNU4sOwSlHInIrJjKHY+UjETkdpxaJiMjWmMiIiMjWmMiIiMjWmMiIiMjWWOzhQmxeTEROwhEZERHZGhMZERHZGhMZERHZGhMZERHZGos9KCl2ByEiK+OIjIiIbI0jMkoLmxQTkVVwREZERLbGERnpiiM1IjIaR2RERGRrHJGRIVJpi8XRGxGlgiMyIiKyNSYyIiKyNU4tkuWwYISIUsFERrbBBEdEsXBqkYiIbI0jMrI99oIkcjeOyIiIyNaYyIiIyNY4tUiOxMIQIvdgIiMC19mI7IxTi0REZGsckZGrpNLzkYjsgYmMKA6usxHZAxMZUYrYyZ/IWpjIiLKIozqi7GMiIzJBqmt1THxE8bFqkYiIbE2UUmbHkDYRqS8vL0/7VrXfb9+vnSib8nLE7BAoQnt7+2dKqXFmx2FVtp9abG9vb0/zU8vDD6FXLBlgLLExltgYS2yMxaVsPSLLhIi0AYBSqoKxMBbGwlicGosbcI2MiIhsjYmMiIhsjYmMiIhsjYmMiIhsjYmMiIhsjYmMiIhsjYmMiIhszbX7yIiIyBlsPSITkXoRqTc7DiIiK3Dra6LdW1SVl5eXlwPgsJKInExr80snvybG/R7oNiITkQIRWSIi+0SkXUTWiMjUONeWiMifRcQnIh+LyNf0ioOIiNxFz6nFXACfADgDwHAALwF4Ic619wEoBDAKwPcBPC0iw3WMhYiIXCJrxR4ikg+gF8AIpVRr1McOAvgnpdTG0L/fALBEKfWnqOvakjxNeXl5Odrakl1GRGRrArj+NTH7U4sxnAWgKUYSGw5gJICtEe/eAmBKFmMhIiKHykqxh4hUAPgdgLtifLgEgF8p1R3xvg4ARx13kOwIhNDdSXmia4iInIKvibHpPiITkUIE18ZeVko9HuOSLgA5IlIU8T4vAJ/esRARkfPpmshEJAfA0wD2A/hhrGuUUocANAKYFvHuaQC26xkLERG5g94jssUAigDcoBJXkSwDcFeoDP8iACcBeFnnWIiIyAV0WyMTkXEAFiBYqXhYZLDA5CIAxwK4SykV3lf2EwCPA2gCcBDANdFFIURERFrolsiUUvVIvPv8qYhruwBcpddzExGRe9m9RRVp5A8orK1rworaBrT6+lBZWoB5M2swZ1I1cjxau98QEVkPE5lJjEwsLb4+LFiyEVv2d8AjQEABHgFe2tSA6WO8WLLgNFSVFuj6nERERrH1MS4i0lZeXl5ut13s8RJLQEG3xBJOlM9/uB9rdjWhq88f8zqPAFNrvHjhllkcmRFZl6ZfTru+JmpkSmcPisEfUFiwZCO2NXQACCavyD+3NXRgwZKN8AfSv8Fo8fXhskfX4cal7+OVLQfiJrHw827Z34E365rTfj4iIjMxkRlsbV0TtuzvQLw8lWliiU6UWgbcHgFW1O5P6/mIiMzGRGawFbUNSDaDl0liSZYoYwkooLWrL63nIyIyGxOZwVp9fUmTTCaJRUuijCYAKktY7EFE9sREZrDK0gJNI7J0E4uWRBlNAThvcnVaz0dEZDYmMoPNm1mjaUQ2b+aYtB5fS6KMZfFbn2RUYEJEZBbuIzPYnEnVmD7Gi20NsdexRIBpNV6cPaEKq3c2przPbN7MGry0qSHluLY2BAtMzuXIjIhshonMYDkewZIFp8XdRzatxosHvnES5j/2dlobmJMlynjCBSZMZERkN9wQbRJ/QOHNumasqN2P1q4+VJYUYN7MMTh7QhXmP/Z23ESkZQNz5IbrVJw9oRJP3XRGOl8OEWUXN0Qn+B5wRGaSHI/g3MnVR42AVu9sTJiAwvvMrln8Lr4353jMmjAC6/Y0HzUF+dzCs3HpI+uw42CnpngyKTAhIjITE5nFhMvnk00Lbvz0EDZ+eghFeR709AdiTkGOHV6MXY2dmqYYMykwISIyExOZxaRaPt/THwAQu9VVR++ApscSANPGeHHOpBGpBUtEZAEsv7eYdMvnowUUUN/ajXGVRUkfb2pNsICETYOJyI6YyCxGyz4zrTwCTB7lxdQaL4CjV0rLi3Lx66tPwspbZ/EYFyKyLU4tWky65fOxBBTg6xvAcwvPxm/f2I1n398PX98ASgtyceWpY3Dz3InIz+W9DBHZG8vvLSjd8vloHgEumDISDW09WT37jIiyjuX3PI/MXqpKC/DcwrMxrrIoo8cJKGDnwY6snn1GRGQ2JjKLWrenGfWtPRk9RlGeB/WtPVk7+4yIyAq4RmYR/oDC2rqmwY3Ne1u7IQh2pk9XuDQ/EQFbUxGRvTGRWUDkmpiWzdB6UgDe2NWIRctrNTUlJiJr6/e7b6mAxR4m8wcULn3kLWxr6Mxo9JUpEUCxAITIqjQXexSXesu7OtuzHY8Z2GvRql7atB9bG7T1Q8ym8P3Mlv0dOP3+VagoysUJ1WX4zuzjcO7kkRylEZFlMZGZyB9QuPvF7WaHcRR/QKG1qx+toX6Ox1QUYkpNOXx9A5rPRSMiMgoTmYnW1jWhvaff7DCS2tfWi31tvQC0n4tGRGQUlt+baEVt6ic5m4170IjIapjITNTq6zM7hLRxDxqRdS3b8JnZIRiKicxEpQX2ntn1SHAPGhGRmZjITOIPKOxqzKyXotkCCmjtsu+okoicgYnMJGvrmjJuQWU2jwCVJSz2ICJzMZGZ5PkP92vb4WhhAQXMmznG7DCIyOV0S2Qi8lMR2S4iARG5OsF1S0WkT0R8obdtesVgFy2+PqzZ2WRqJ49MiQDjKovx3If7cO3id7FoeS1W72xkFSMRGU7PaoPdAG4DcJ+Ga+9WSv2Xjs9tG/6AwoIlG9F1xG92KBkpzPWgvrUbnx/qHjzjjPvLiKxj2YbPcO3px5odhiF0G5EppZ5USr0GoFevxxSRtkRvAMr1ei6jrK1ryvjATLN55IvO+jzjjMg4TnxN1INZa2T/KiKtIrJeRM4xKQZTrKhtgN07OyXKUdxfRkRGM2Mj028A3AGgC8CVAF4SkWlKqc+jL1RKVSR6ILvdgfgDCrsbOw09psUM4f1lPOOMSF9Oe03Ui+EjMqVUrVLqsFLqiFLqKQDvALjA6DiM1uLrw2WPrsPOg+Z3us827i8jIiNZofw++THGNhcu8NjWYO+1Ma24v4yIjKRn+X2eiBSGHjNPRApF5KjHF5H5IlIiIrkichWAswGs0isOK/EHFFbvbMQ1i9/Flv0djp9SDAsoYHdTJ0vyiUy2bMNng29Opuca2WIA3wr9fTaAJwCcKyJjANyllJoa+tgdAB4HoADsBHCZUqpexzgsocXXhwVLNtq+QjFdOw50YtfBTpbkE1HW6Vl+f4NSSqLe3lBKPRWRxKCUmqWUKldKVSilzlBKrdErBqtw21RiPCzJJyIjWGGNzHHW7Gxy1VRiMizJJ6Jssvc5IibzBxTW1jVhRW0DWn19qCwtwHmTq3H3i1vNDs1yWJJPRNnCRJamyDUwj2BImyY6GkvyicwVWfDhtNZVnFpMQ/QaWHSbJjoaS/KJKFs4IkuDE/olGo1HvhBRtnBElgYn9Es0kggwfYwX50waYXYoRORATGRpaPX1cRpRg3Cyn1YT3EeWw+xPRFnAqcU0VJYWDBZ4UHxfGT8c35tzAs6ZNIJJjIiyhoksDfNm1rA6MQkBMNJbyHJ7IguKblll9ypGTi2mYc6kakwf4+U6WQIKLLcnImMwkaUhxyNYsuA0TBntNTsUSxvwK7alIqKsYyLLCF+kE9nw6SFc+sg6tPg4MiOi7GEiS0N4Q/T2A84/JDNTWxs6cP0fNnBkRkRZw0SWhvCGaL42a7PjYCd+s6qOyYyIsoJVi2kIb4jm67J2D63agzU7m3guGZEFJTp40w4VjRyRpYEbotPDc8mIKBs4IksDN0SnJ3wu2cOr6/Bxc/fg0TfzZtZgzqRqbpomorQwkaUgfP5YY0cvk1gGfv36nqOOvpk+xstpRyJKCxOZRtHnj1Fmoo++CU87vnDLLI7MiCglTGRxRJ7+3NLZi+0HOtHR0w+AU4rZEJ52fLOumW2tiCglTGQxxDr9mbLPI8CK2v1MZEQWEq+i0UrVjKxajBLv9GfKvoBif0YiSh1HZFF4+rN5PAJUlrDYg4hSwxFZFJ7+bJ6AAubNHGN2GERkMxyRReFmZ3OIBE+SPmfSCLNDISKbYSKLws3Oxgp/r6fVBPeRsfSeyB6sVATCRBaFpz8ba2J1Kf71wsk490R29iDjRG6vYYcZ+2MiizJnUjWm1ZRhawOPaDHCrkYffvN6HU4aW8GuHmSIWNtr2GHG3ljsEeVw9xH09QfMDsNV2EyYjBJve010hxn+X7QXjsgi+AMKNzy+Abubu8wOxVXY1YOMkmx7Tfj/4ppdTaEN+px6tAMmsghr65o4pWgSdvUgI2g5S9AjwJ3PfIT2ngFOPdoEE1mEFbUs8jALu3qQ3mIVdOxp6kxakRxQQHvPwODfI/9kc+vkEh3SGUnP6kYmsgitPr6QmoVdPUgv/oDCS5sacPeLWwcTEgAIgExXvjgNbk26FXuIyE9FZLuIBETk6gTXlYjIn0XEJyIfi8jX9IohU5WcLjBNQAGNHb1YvbORC+2UthZfHy59ZB1u//NHQ5IYkHkSCwtPg5N16Fm1uBvAbQA2JrnuPgCFAEYB+D6Ap0VkuI5xpG3ezBqzQ3C19/Yewo1L38dlj65DC0fHlKLoisRs4TS49eiWyJRSTyqlXgPQm+TSawH8TCnlU0q9AmATgEtiXSgibYneAJTrFT/wxR4yMgdLoCkT4YrEVP7XhJe5wn+WF+Uh2cqXmdPgRr8m2oWh+8hCI6+RALZGvHsLgClGxhFPjkew9MbT8aVRpWaH4mqR6xBEWqXa8PtLo8tw8ZdrcPaESlz85RosueEreODKLydNhGxubT1GF3uUAPArpboj3tcBoCLWxUqpmO8Py8YdSFVpAVbeOhvn/2oNPjuUbHBJ2fT8h/u4oE6apdLw2yPAxOoyPHTNzCHv9wcUpo/xYltDR8zHMru5tRmvidkSrm7Uo3rR6M4eXQByRKQo4n1eAD6D40ho3Z5mJjEL+Jgb0ykF4YbfWsQbVeV4BEsWnIapNV4AR089srm1NRk6IlNKHRKRRgDTALwXevc0AEuNjCMZLZsmKfsOdR0xOwSykVQafk8fE39UVVVagBdumYU365qxonY/Wrv6UFlSgHkzx+CcSSOYxCxIt0QmInkAchAc5eWJSCGAI0qp6MaFywDcJSLXATgHwEkAXtYrjnRFbp58s66JScwC2rqPwB9QfOEgTeZMqk44LRg2raYs6agqxyM4d3I1p7ZtQs8R2WIA3wr9fTaAJwCcKyJjANyllJoa+thPADwOoAnAQQDXKKVadYwjZbG6YZP5egcC3HhKmoWnBeP9LpcX5eHef5qKi2fUGHZzxONijCFK2fdVW0TaysvLy9va2tJ+DH9A4bJH1yW9iyPjiQCXfLnmqAV5okT8AWWJacF4x8UEFNLp2agpcBFpKy71li9+fUv6gRsshWKPuN8DV7aoirxL2tPUiR0H2CjYihQ3nlIarDAtqPW4GPZsDFYvZlq56LpExmlE+2D/RbIrrcfFcOpcH65KZPHuksiauPHUfZyypqT1uBgeXaQPVyWyZHdJZB1mbzwl48VbU7LjOWBaNmezZ6N+jN4QbapUW9iQeaaO5sZTN9G6pmSX/ptaNmdz6lw/rhqRpdLChsx1x/mTbHP3TZlz2pqSls3ZnDr/QvRhnKkWf7hqRJZKCxsyj0eAlRo7NJAzaJktsdM5YOHN2fG+JpHE3UUoNa5KZPNm1nBEZgPRawf+gMLqnY1YtLwW1y5+F4uW1/IATodx2poSezYay1VTi8HzxrzYmuWD9yhzH9YfxoW/fhNjhxWhrqkT9a09ti8AoPjCsyXJqvzstKbEno3GcVUiy/EIbpp9HG7/8yazQ6EkevoD2HmwEzsPfrFZnZtKncupa0pW2JztBq5KZACwamczBEjpFFmyJrsVAFB8yRr+prodwyn70Ugb1yWyVl8fk5iDcFOpM8Rr+Bv+M5U1JSftR3OryCpGLRWMrktkw0vyzQ6BdGSnAgBKTI81pfB+tK37Y+9H27qf09FO5LpEdsKIErNDIB3ZrQCAEst0TSnZfjQFTkc7kavK7wHg4+Yus0MgHdmxAICy5/kPte0ze/7DfVmOhIzkuhHZoa4jZodAOmE/Roq2p8mn7bpmbdeRPbhuRMbuHs7BTaUUraN3QNt1PdquI3tw3YhMy34Vsr7bz5+IRV+dyCRGQ5QX5aJBw4Hx5UV52Q+G0pLOIZuuS2RzJlVjao13sMs22dPHTb6jkhj3DtEJI0o1nfjOoi9ncV0i+7jZhz2Nyf+jk7VFr3Fw7xABwOUnj8HLmw9ouO4YA6Iho7hqjezIQACXPPwW+vzcEm13kWscTjvLitLHrvPu5KpE9ou/70DfAF/MnCByjSO8dyhenopsZUXOxq7z7uSaqUV/QGHp+nqzwyCdNHX2YtHyWsybWYPnP9yvqXM6W1m5A7vOu49rEtnauib0c0rRMVp8R/DK5ga8tKkBJfk5jjrLijLHrvP2lE7FIuCiqcUVtSy5d5pw8uo64k96LVtZETmXaxJZq493427GVlZEzuWaRFZZWgDh1LgrsVKNyNlcs0bGjh7OV1KQg64+f0ZnWZG5uKmd0uGaRDZnUnXSyjayL48AXz2xGpeffAwr1WyKm9rdLd1CD8BFiSzHI/CIIKCYyZwooILdGlipZk9aN7XzQEyKxTVrZORcXAOzP25qp0y4KpEV5eeYHQJlweSRZVwDs7kVtQ1Jj1cKb2oniuaqRDbaW2h2CJQFHlEYVpxvdhiUgVZfHze1U9p0TWQiMlJEXhWRbhHZLCKnxLnuDRHpFRFf6O2vesYRj7fINUuCrrLtgA9fe3AtFi2vxeqdjWwObENaDrzlpnaKR+9X9scA7AFwKYDrATwnIhOVUv0xrr1BKfW0zs+fUKfG02PJfvY0d2FPcxcr3GxKy/aYVDa1s4zfWjKpSNRCt0QmImUALgYwVinVA+D3InIXgLMArE3zMZOd9VqeyuN19iVvZUT2xwo3+wkfv7KtIXbBh0hwP6CWgh4nl/Hr/ZroFHpOLU4E0KaUaox43xYAU+Jc/7CINIvIayLyZR3jiKswly9qbhCucLtm8bucarQof0Bh9c5GLFpei2sXv4vb//wR/mXWcZgyOrPjV3g2nTvpObVYAqAj6n0dAEpjXPsjANsB+AEsAvAXEZmslBpy7K9SqiLRE4buTjTdgRwZCGBva7eWS8khNn56CBs/PWT7u3CnSTRimlZThl9ffRJW72hKa1N7uIw/nsgyfjvuN9TzNdFJ9ExkXQDKot7nBeCLvlAptTHin/8tIjcCOA3Aah3jGeKR1bvZ1cOlONVoHclGTNsPdOKPb32S9s8qXMbPs+ncRc9EthvAMBEZGTG9OA3ALzV8bkDHOGJ6csNn2X4Ksii734XbVayCi+OrirM6YmIZvzvplsiUUp0i8jKAn4jIDwFcB0AArI+8TkQqAHwFwJsAFIBbAAwD8J5escTS2RurcJLcgnfhxoo3fahlViSTn1W4jD/ZiIxl/MbJdsUioP+G6IUATgRwGMBtAOYrpfpF5K6IvWJ5AH4OoBXAQQQrHS9SSnXqHMsQwjNcXI134cZJNn2YTCY/q3kzazSNyHg2nbPouo8sNKV4QYz33x/x92YAp+r5vFqMryxGXeNRy3XkErwLN06ygotkMvlZ6VnGT/bhmhZVPzhvktkhkIl4F24cLX0TE8nkZ5XjESxZcBqm1mRWxk/24pqeTZLD/7huxbtwY2kpuIhHj59VVWkBXrhlFt6sa+bZdC7hmkT2x3Wfmh0CmYR34cbSUnARz9TR+pxkkOMRnk3nIq5JZJ80c33MjU4/bjiWffsMJjEDaembGM/tF5zIjesOYESlYiTXrJEpngztSrk5wiRmsHDBRarfdo8AL36UXgIkd3NNIivI46GabsNKRXPEK7hIhlskKF2uSWQ9R9j53m1YqWiecMHFkhu+gn+cPhrewuSrGLzxoHS5JpEN+LPeBYss5kujSlmpaKIcj2D6MeXY29qFDg1nAfLGg9LlmmKPvNwcgOeRuQzXxsziDyis2dmEO5/9CO09yZMYt0jYm9HFHdFck8iqSvNxqOuI2WGQgXYc7GSjYBNE9lnUSu8tEjwh2l1ck8iGlxQgxoky5GBsFGy86D6LWui9RcLJJ0RTbK5ZIxtW5JqcTSGsgjNeuM9iKpuh9dwiwROi3ck1iWxPE0djbiNgFZzRUu2zqHelYrJEGnneGTmHa4Ype5q7zA7BcnI8gjyPwOMBCnJzUJDrwcEO54xgFIBzJlaZHYarpNpnUUulYirrXTwh2p1ck8g4kfCF0oJcDCvOxeeHe6GUQmAA6O0PIKCAwlxB74Bzvlv//vxmzJ40AiO9hWaH4gqp9FnUUqmY6noXT4g2x7INn5laueiaqUU3y/EIqkrzcfpxw/H760/B+Moi7G/rBXD0GkLfgEJRnnP+W/QHgHP+ew1Oue9VnPqfr+Ebv3sHr28/yDWSLNFysGVYskrFdNa7wok0EW68dh7XjMjcKvqudfXORmxtiH8YtwLQ0x/A98+bgKVv79W0kdXq+gYC6BsIbohv8R3Cxk8P4UujSvG/N53B6jWdJTvYEgDKi/LwqytnYO7kxKXwyQ7ojFzvCk8TamlYzI3XzuOcW+8kqkvclbPLi/Lwx38+FS/cMmvIi7WWxXiPAHtburH6h3MxfUxq/fLsYsdBH254fANHZjpLdoMMtGEAACAASURBVLDl9DFerLpzDs6bMjJppaLW/6sravcP/jtZw2KRYAzceO0srnl1z8nNAWD/0QWAwbWCojwPevoDQ9YOAuroUVikVNYQ4h1QeOmMGjz4eh22prBXyIq2NnDDdDbodbBlOutd4UQaa10toKx/Nt2zzz6LK6+80uwwbMc1iazJIdV4U0Z7MaG6FPNmjsHZE6rw9p6WlF4stCzGR68hKCgoAEoBvf1+3PvKdtS3duv8lZmD1WvZocfBlun8XwXsfUL0bbfdhpUrV+LRRx9FeXm52eHYhmsSmd8BM0geASZUl+Kha2YOvi/VF4tU1hBiVYw5DavXrCuT9S67nhC9detW3HLLLZg2bRqWLFmC888/3+yQEjK7x2KYa9bInECPsmGtawhnT6iKWTHmNKxesy43rncNHz4cy5cvx4MPPojrrrsO3/nOd/DQQw9BRL4ffjM7RitiIrMRPcqGky3Gh9cQ1u1pTrnVkB2xes26tP5ftfJUYbrOPvtsTJkyBX//+9+xYsUKAJgXervM3MisyTVTi06gV9mwljUELR0S7G5aTZmj7uadyM7rXelatmwZvv/97+Oqq67Cyy+/jOLiYgA41+y4rIyJzCb0Pq8p2RpCqq2G7GbiiGIsvfF0R74QOo1d17vSMX/+fGzcuBFPPfUUvva1r5kdjm0wkVmcILhJOZvTKLF62Q0E1OBzO1FBXi6GFeebHQbREPn5+di8eTOGDRtmdii2wkRmUd7CHJw4yovR5UVZnUaJ18vOyaMxANja0ME9ZGQ5y5cvNzuEuKxSoRgLE5kFXXpSDX71jZOyPu2VrJedkwm4h4zIKZjILCgQUIas3STrZRcperQ2rrIIff0KBzt6sxxldigAOw60Y9Hy2qRHgxCRtTGRWdCh7iOGPI/Ws5u+Mn44RnoLj6oYW7OzETc98YEhsWbD7qYu7GnqgsLQo0H+8K2vYFtDu6bzr4jIfExkFmPkERNae9nl5siQbiJfsP+LevjLD38ftjZ0YO4v1hzVwzLe+VeUvlQOzCRKhInMYow8YiLdXnZhKzc5b6+ZUsFjbID451+9cMssvtBmKNUDM4kSYWcPCzG65Y6WQxATJVan7zWLFnn+FaUvnQMziRLRNZGJyEgReVVEukVks4icksl1bmFWy51Me9lpOY3XaaLPv6LUhYuM4uUp3jBQqvSeWnwMwB4AlwK4HsBzIjJRKdWf5nWOVlWajxNHlZnWcifTs5u0dCd3Gj0aN9uN3mtZWouMuD2CtNItkYlIGYCLAYxVSvUA+L2I3AXgLABrU70udG1bkqe17YE9HgHOOqEqThGFcTLpZRce0Wkt4XcCI4txrCAba1npHJhJQU5+TcyEniOyiQDalFKNEe/bAmAKhiYordc5mpFFHcmk28suPKI78+er0O+EA980sNLPLduSrWVt2d+B+Y+9jdfumIv8XO2rFJkWGRFF0zORlQCIvjXvAFCa5nVQSlUkesLQ3YmmOxCr9Q0cV1nkiM7rVaUFOL6qBLsafWaHknV6N262Oi0b5utbe3DBg2vx3MKzNI/MMjkw0+30fE2MxcptqBLRs9ijC0BZ1Pu8AKJf4bRepysrJTEAmDzK65gS7okjo3+czuKG869iCa9lJVPf2p1SlaEbD8yk7NIzke0GMExERka8bxqA7Wle52jvfnIIi5bXYvXORtuXGV9+snPvnHM8gn+cPhpLbvgKXrhllqv2NqWyvSKVKkM3H5hJ2aHb1KJSqlNEXgbwExH5IYDrEJzRW5/OdU7X3tOPVzY3OGIDqJOLPvwBhctPPsaV1XNa1rLCUq0ydOOBmZQ9epffLwTwJIDDCJbXz1dK9YeqEmcrpS5KdJ3OsVieUzpG5HgED3zjJFz6yLrBrhhO4RHg+Q/3QUG5rpVSKtsr0qkydNOBmZRduiayUCXiBTHef7+W69wqcgOoHX+p/QGFO5/5CH0DzkpiQPBns3pXE17afMB1rZRSGWmzypDMxBZVFmHnjhHJOjXYXVefH4D7WimF17LGVRYlvZZVhvZn14pFgInMMuy8AVRrdZvTuKGVUlVpAV67Yy7GVRbHvYZVhmQ2JjKLsPPUjNuaB0ey80haq/xcD55beBamj2GVIVkTj3GxCDtPzaRS3eY0dh5JpyKyyvD5D/dhT7MPHT0D8BblYlxlCTbva3N88QtZF0dkFmD3qRktx8E4lZ1H0qnK8QimH1OOva1d2HGgEwfae7DjQCf+suUAblz6Pi57dB1afM5P6mQ9TGQmcNrUTLJODU5m55F0qniOGFkVpxYNdvv5E/FJc5ejNoAmOw6mOD8H3Uf8ZoeZlnGVxfj8UHfMEadTey9GHtvS0tkHvwp+8R09R7DzYPxOcnbfRuImdq5QjIWJzCDhF71FX51o66QVT6JODWdPqML8x962XeePkoIcPPPdM3HTn95L67w2O4p1bEsqeI4YmYGJzCBOfNGLFt2pIXxnf+ezm1CYl4O8HLHVcS8zjqnASG+ha1opxZs6TIVbil/IWpjIsqikIAezJlTh6q8c67gXvWRi3dnb7at/f+8hHBkIID/X44pWSlqObUnGTcUvZB1MZFkyrrIYr90xJ6UDB50i3p29fcZiQUf8Cr99Yw9uP3+S2aEYIryxPZNaDTcVv5B1uO9V1iD1rd14e0+L2WGYwkktq559f5/ZIWSFP6CwemcjFi2vxbWL38Wi5bXY3diZ0c/M7ttI3GTZhs/MDkFXHJFliZsXvfW4s7cKX98AgKGVfHbsgB8Z/8H2HtQ1dqK9Z2Dw5PRMfl5OLn4he2AiyxI3L3o7qWVVSX5OzPU+O3XAT1SJGP5ruj+vKaO9mFBd6sjiF7IPJrIscfOit5NaVp06fpimTcBWPUtOj0rEWMLbScJft91HrGRvTGRZ4uZF71QOZLS6HQc6sbvJvpuAM6lEjHUzEp6KjJxGtPuIlezPNYkszyPoN2iI4NSOD1qFW1Zta7B/wUeiJBYmAJ77cJ8lE1m665XhKcMWX99gy6kcD1BVWjhkGlFr2yqrjljJGVyTyEryPWjrNaZN0uSRZa5e9E7WsgqALkUGVqEA/GXLAdQ1dmLSyDKzwxkinfVKjwATqkvx0DUzk16bbMRn9RGrW7FFlU119hmTxATBO9dhxfmGPJ9VxWtZ9U8n1UAUsHJTw+D7Drb3YOPew2aHnJGAAi59ZB023f01w/YOalmXSme9MqCAr35JW9LRMuJzcwUvGcM1iSxg0PMoAFsbOnkHiqNbVkU6b8rIwb9fu/hdI8PKmp7+gGEbqLWuS6W7XvmHNz/GJV+uSTqroGXE5+YKXjKGazZE54hx03xuODVYD+FNuXtbu80ORTe/W/vJ4Abj1Tsbs3KkSSrHqaR7xE74ZiyZ8IgvETdX8JIxXDMiO76qBHUaFu71wDvQ5CJHFE5aSezp92P9x61ZrdrTui718Oo6fNzcjYLcHJQV5qK9Z0Dzc2idDtQy4nNzBS8ZwzUjsh/+w4mGPRfvQBOLHlHYvNYjpmweNhlel0rm16/vwSubG/B+/eGUkhig/WYs2YiPbavICK5JZJFrMtnGO9DEnNSLMZnIqj29pFKJmEnbKS03Y+EK1ak13sHPi/yTbaus49rTjx18cxrXTC0adfy62/eQaeGkXoxa6F21Z0TnlIACRNTgMTaJJDpUlW2ryAiuSWSPrtltyPPwDjQ5J/Vi1CKggN1NnVi0vFaX9k1GdU5Z+dEBvLqtEStvnZV0f1yiClWibHNNInv2A/2rCHM9gpHeQpQX5eGEESW4/ORjeAeqgRN6MYa7Wmi140Andh3s1KV9k5GdU3r6Awn3x7HHIlmBaxJZV1+/7o9561cnuObQRT05oRejP6AGu5NopVf7pvC61A2Pb8TWhsxOdNYivD9u0VcnDklapQW52NXYifrWbvZYJFO5ptijOF/fnF2U58HNcyfo+phuke7eJqvJdDCUSSFIVWkBbj9/YoYRaPf0e5/jskfX4cal7+OVzQ1Y/3ErXt3eiPrQHsBEe9mIss01iezUccN0e6yiPA9W3jrLsFZEThNd6eZmmWyeX7npgGE3A00dvSkdBZONak3KjNNOhY7kmqnFg+29GT9GUV4OvjvneNw8dwKTWIYiK92e3vgZ1n3cgq4+P0QApZzRTFiLVDfPR65JvVnXZNj3KJ3nYY9FMoprEtmnrV0ZP8bJ4yq4JqajyEo3f0AdVb69u6kTOw50mh1mXAW5HvQNZNbFM5XN84lOerYidrgho7gmkWWK3TqyK1b59qLltZZOZJkmMUD75vlMTnoeV1mMzw91Z7Q5Ot0RGX9nyAi6zY+JyCUi8qmI+ETkSREpjHPdeBFRoevCb9/UK454jh9RmtHns1uH8S6dUWN2CFmVSvumdLqhhB//me+eGbfzRjKFeR7MnjgirbU4/s6QUXQZkYnIKAD/C2A+gPcA/B+AnwD4jzif0qeUyiyzpOims8dj46eH0v589oszXiBg1OE75jh2eHHMzfOx9mY1dvRqHhmFrwtvzo/VeaO7bwC1n7cnfayHr5qJnFzB2hSLNtjhxnqc2JoqTK+pxcsArFdKrQIAEbkfwBLET2SaiEhbkkvKtT6WyuAYl3GVRezWYbAWXx/+9bktZoeRNQLgy2PKj9pnFe+cMa0jsfKiPMyZNOKo9lCRU7eNHb048+erNMX40pYD+OWVM1CU50FPf/Ibi+gkyt8Zfen5mugkeiWyKQC2Rvx7C4DxIlKklOqJcX2+iDQA6AewAsBdSqmsHkr1x3WfpvV51WUFeO2OuaxSNFB4Pai9R/9N7FahABzqPjLkfcnOGUvGI8CcSSPw0DUz417jDyh843frNT2mQrBYY92eZk1JbMpoLyZUl7LHIhlOr0RWAqAp4t/hdgOlAKITWQuAUwFsAnAMgD8B+DmA26IfVClVkehJQ3cnmu5APmlO7yyymWMrmMQMluy8Lacoyc8Z8u9Mv+6AAg609+Daxe/GbRW1ZmcT6ltj3VvGVllSoKnJs0eACdWlCZMoZU7P10Qn0ZTIROSvAGbH+fC9ALoARHYVDe90PSp7KKV8AD4M/bNeRP4NwDOIkciswHcktXOcKHNu6Y7/xq5mPP/BPqypa0arrw97W7tTbnsV7b29hwHEbhXV4uvDnc9+lNLj7W7qRHNn8ibPLLUnM2lKZEqpixJ9XES+B+CSiHdNA7A3zrRiNENW9I8fUYoWX2rFHiwfNodbuuMf8Sv84NlNGSevWKJbRT238OzQdG1qN2Zatz+IAHtbuhOOBomyRa85sxcAnCUi54pIGYB/B7As1oUicpqITJSgGgSnFV/UKY64vjP7uJQ/J6CAxo5erN7ZyJ5xBgp3x3eLbP7PCreKuvOZj7I6XasU0NDWg/Uft+KVzQ24cen7uOzRdWjxcZRG2adLIlNKHQTwLQQrFQ8guA52X/jjIrItYq/YBACvITjtuAHBIpEf6xFHIudOHomivNS/3Pf2HuIvpcHmzaxxxYjMSC9tPpD15wj/yNg4mIymWxWDUupFpdR4pVSpUuo6pVRvxMemKqWeCv19Wei6EqXUWKXUbUqpzPtHaZCbk/ptPn8pjeeU7vhux8bBZBTXlOOtrWtCZ68/7c/nL6VxorvjM6FZSyrrXpl09yfSyjWJbEVtAzJ9PeQvpXGqSgvw3MKzcfv5E1BRnG92OBQhlVkJVjOSEVzTNLjV16fLQYj8pTRGZIcLGspbmANfn98W64is/CUjuGZEpkclHH8pjRHd4YKGuvq0cYPTrlafdWXjYDKCaxKZHpVw/KU0Rjqd3t3kQFsPnlt4Nr4z+7i0CpiMkkp3f6JMuGZqMVwJt60h/gtkUV7woMRYH2c3b+O4pbNHuho7+nD5b9/GVouPWNk4mIzimhFZvEq48J/Tx3ix8tZZcT/OX0rjuKWzRzo8Auxq7LD0tGt5UR7++M+n4oVbZh3V3Z8oG1wzIgMQ81ymypKCId26k32csi+8nslkdrSAQsptpowQ/nlF9nYkMoqrEhkw9FymdD5O2TdvZg1e2tRgdhiWVFaYC1/vQFbbWqXi9OOGIzdHeMNHpnJdIiPr07Ke6VZH+v2WSWLTasqw7NtnMHGR6VyzRkb2EW89ky+XQJ/fKmkMyMvNwfV/3IBFy2vZWJtMxREZWVL0emaLrxfbGjrR0dNvmRGJ29V+1gYg9tlnREbiiIwsK7xe+dA1M3HT7OPRziRmSWysTWZjIiNbCO8tI+1yDf6GsbE2mYWJjGyBe8tS9705xxv+nGysbU3Xnn6s2SFkFRMZ2YLbTo3Ww5/f24dRZcauV7GxNpmBiYxsgadGp67Z14eDnakllbHDijCmoghlhbnIC/VxTOUGgo21yQysWiRbCO8t47Eu2dXR249Vd85FVWkB/AE1pMvNgF9hw6eHEn4+G2uTGZjIyBbCe8vOe+ANS7Zocor2ngGc+8s3MK3Gi6qyQsybWYMHrzoJOR6BP6Bw2aPr4m5UZ2NtMgunFsk2qkoL8MCVJ5kdhuN19g7gnU8O4ZXNDbhx6fu47NF1aPH1JW28zcbaZBZRyr4LDyLSVl5eXt7W1mZ2KGQQf0Dh4ofexI6DPrNDcQ2PAFNrvHjhllmDIzM21jacpm+siLQVl3rLF7++5aiPOaByMe73gFOLZEN8sTRS5P6wcydXs7E2WQ6nFslW1tY1YcfBTrPDcB3uDyMrYyIjW2GHD3NwfxhZGRMZ2UoqHT5K8nOyG4xN6JH4uT+MrIyJjGxFa4eP048bjnMnV3P0Bn1O2ub+MLIyJjKyFa0dPr435wRcfvIYdgPRyfQx3B9mZw6oWEyIiYxsJdzhI95IS+SLF91k15I24yqLuD+MLI2JjGwllU250ddS6sZVFuO1O+bysEyyNO4jI9uJPj060abcyGtvfuoD9PQHTIzcXsqL8vDcwrOQn8v7XbI2JjKypVQ25YavFeHUWCqm1pRxJEa2wFstcg0bd2MznEeAqtJCs8Mg0oQjMnKNypJ87GvrMTsMW2C5vTM4vVoxTJcRmYiMFJGXRaRZRHo1XH+GiGwTkS4R+YuIVOoRB1EiM8aWmx2CZeQk+M2PrPwksgO9phYDAF4GcGOyC0WkEMBzAH4OYASARgAP6RQHUVzzTznG7BAswx9R8xJeOeRxLGRXukwtKqWaAfyPiIzXcPlcAO1KqScBQETuBbBdRAqUUkOauYlIsvNZeItNms2ZVI3yolwezBlBAHiL8kKFHYU8jsXi+JoYmxlrZFMAbA3/Qyn1qYgMADgewA4T4iGXyPEIJo0sw3t7D5sdimUoAO09/fj27BN4LAvZlhlViyUAOqLe1wGgNPpCpVRFojcA7UYETM4xqryInT6i8IgW+0j1NXHZhs9MitRYmhKZiPxVRHxx3n6U4nN2ASiLep8XAI/8pazT2qvRTXhEC9mdpqlFpdRFOj7ndgD/Ev5HaF0tF8AnOj4HUUxzJlXjS6NKseMg75vCeEQL2Z1ua2ShasSCiL+r6OKNkDcADBORawGsAPATAM/HuZYoI/6Awtq6JqyobUCrrw/DS/LR2ec3OyxL4Z4xsjs9iz16ov5eD2A8EJyaBPCWUup+pVSviMwH8EcAf0AwsV2vYxxEAIAWXx8WLNmILfs74JHgC7YgWOBAQSLBcnvuGSM70y2RKaXiLqFHT00qpd5BsHqRKCv8AYUFSzZiW0Owrii8LsYkNhT3jJETsNciOdLauiZs2d/Bwo4ECnM9OHZ4MTbva4Of3yhHckuLKvZaJEdaUdswOJ1IsfUOBPCXLQfxypaDmD4mODJjt3uyI47IyJFafX1MYhqEv0XbGjqwYMlGjszIljgiI0eqLC3giCwFAQVs2d+Baxe/ixyPoLK0APNm1mDOpGqun5HlMZGRI82bWYOXNjWYHYbtbPj0EIDg3rKXNjVwypFsgVOL5EhzJlVj+hgv21GlKTyS5ZQj2QETGTlSjkewZMFpmFrjBQAmtDSFpxzfrGs2OxSiuDi1SI5VVVqAF26ZhTfrmrGidj9au/pQWVKA08YPw3/+ZQd6+wPJH4QGmwqzOz5ZFRMZOVqOR3Du5OqjXoTnnzIWc36xBk2dzuyM5hGgrDB49lqm3UzYVJisjomMXOmdT1ocm8SAYPJ54BsnIUdkcDRamp+LnY2dqG/tTqmik02FyeqYyMiVnL5hurwoD+eeWD04Ig3zB9SQqdYBvxqsVIyHTYXJ6pjIyJWcvmE6R4Dr/7jhqP1g0VOt/oDCZY+uw7aG2O282FSY7ECUsu9vs4i0lZeXl7e1tZkdCtnMouW1eGVzg6OTGYDBUWei/WCxTgnQ8nlkKE11tyLSVlzqLe/qbE9+sf3E/R4wkZErrd7ZiBuXvq/5+nGVRahv7Ul+oUV5BJha48ULt8yK2akjesqxsqQA82aOwTmTRrCzhzUwkSX4HnBqkVxp1oQRGFdZjPrW7qTXTh/jxTPfPQsX/uZNTddbUeR+sFhl9PGqO4nsgBuiyXVafH2Y/9jbmpPYkgWn4Z1PWmybxMLC+8GInIYjMnKV6AM3YynI9eCCL1Vj/iljB6fWnFDlyP1g5FRMZOQq4QM3E+kbCGD+KWOHTLM5ocqR+8HIqTi1SK4SHlklEmsKbnhJvrbVdgvjfjByKo7IyFW0jKyip+BafH3Ysr89ozZPZuN+MHIyjsjIVcIHbiYSOQUXXlP7/JC9Cj3CX2L4a51WEyxaYSk9ORFHZOQqWg7cjJyC07KmZkWnHTccuTnC/WDkCkxk5CrhAze1tmSya7ViRXEefnf9qWaHQWQIJjJylfCBm/FaMkVPwdm1WnHdnhb4AyrhKMwfUFhb14QVtQ1o9fUd1ZeRyC6YyMh14h24GWsKLrymliiZiQBW6/TW1eeP28UDiN9f8aVNDeyvSLbDXotECWjtyThueBHqD1mnF6MAuGRGDR66ZuZRH0vW8T5ZX0YyBXstJvgesGqRKIHwmlq813MR4EujylCUZ61fJYX4XTzCBSzxRpmRfRmJ7MBav31EFhNeU5ta4wXwRTl7+M+po70AFOqaugyL6fgRxUmvSdTFI91N4URWxTUyoiQSran5AwHc9MQHhsXiEWBEaSE+aU68ry1RF490NoUTWRkTGZEG8Y45WbS81tDy/IAKxpLKFoJoWgpY2JeR7IRTi0QZMLo83yPBEWKi6c5kXTzmzazRNCJjX0ayC47IiDKgZXSjp3CCSWULQbRUN4UTWR0TGVEGtLS80tP0MV8kmHRPdU51UziR1WWcyERkJIA/AjgdQJlSqjDJ9QpANzDYTPx+pdT9mcZBZIZko5tIHgGqvYUoK8jB7jSqHMMJSI8Ek8mIjshqMt4QLSIjAMwHsB/AsxoT2Wil1MGMnhjcEE3WEKtLRrjbR0lBDmadUIWrTzt2MEFcu/hdrP+4NeXnqSrNx/v/74IsfAVkA9wQneB7kPGITCnVDOB/RGR8po8VTUSSZahyvZ+TKFWpjm4q02z9dMKIUj3CJRvT8pqYl+O+0bRZa2QfhkZmrwG4UymV+u0pkYWksl6V7rrad2Yfn05oRI5nRvn9OQDGATgJQDGAx+NdqJSqSPQGwJHjZ3K2OZOqMa4yeXeOSF8aVYq5KRZ1kPPwNTG2pIlMRP4qIr44bz9K9QmVUm8ppfpDU5LfB/B1EclPJ3giO8rxCJ757pma+zNOqynD/950BgswiOJIOrWolLooi88fyOJjE1nWSG8h3vjXc/GN361HfevRXfNjFYkQUWy6rJGJSCGAgoi/K6XUUY3aRGRq6Dm3AvAC+DWAvyuljugRB5GdjPQWYvWd57IEnihDehV79ET9vR7AeCA4NQngrdBesZEA/gfAGAAdAF4FsECnGIhsJ91NzUT0BV0SmVIq7q1j5NSkUmo1gEl6PCcRERHApsFERGRzTGRERGRrTGRERGRrTGRERGRrTGRERGRrTGRERGRrdj9Y09ve3o6Kigqz4yAiypr29vZ6pdQ4s+OwqozPIzOTiAwgOKrsSOPTw0fAWKHJJmOJjbHExlhic3Is7VoSmYjUA4Dbkp6tE1kmwuf6hDpGMxbGwlgYiyNjcQOukRERka0xkRERka0xkRERka0xkRERka0xkRERkSYiUiAi20TkR1Hvf1JEXjArLrvvIyMiIoMopfpE5J8BrBWRvyiltorIfABfAzDNrLg4IiMiIs2UUh8AeADAEyIyFsHDkm9WSjWaFZNr95EREVF6RCQPwLsAjgXwulLqGjPj4YiMiIhSopTqB7AeQBWApeZGwxEZERGlSERmA3gFwP8COA/ASUqpXrPi4YiMiIg0E5FSBEdhPwbwfQCHAPzM1Jg4IiMiIq1E5HcAjlNK/UPo35MAfADgQqXU26bExERGRERaiMiFAJ4GMF0p9XnE+28DcCuAGUqpbqPjcuXUooiMFJFXRaRbRDaLyCkmxfFTEdkuIgERudqMGCJiKRCRJSKyT0TaRWSNiEw1MZ7fi8gBEekQkS0icrFZsUTEdGboZ/VvJsbwhoj0iogv9PZXE2MREfmJiDSEfk5vmBSHL+pNhfY2mUJEThaR9aHvycehfVeOoJT6m1KqIjKJhd7/G6XURDOSGODSRAbgMQB7AFQCeATAc6FyUqPtBnAbgI0mPHe0XACfADgDwHAALwEwbac+gF8BGK+U8gK4EcCTImLakRgi4gHwa1jjZ3WDUqo09HaRiXEsAnAOgFMBVAD4gRlBRHwvSgGcBaAHwKtmxBLyBIKFEBUArgTwiIhMNDEex3NdIhORMgAXA/ipUqpHKfX70IfOMjoWpdSTSqnXAJhW7RMRS5dS6j6l1D6llB/BBH+CiFSaFM9OpVRf6J8DAAoAjDEjlpDvAngbwE4TY7AMEckB8O8AvqOUalBKBZRSH5odF4BvAliplOo0MYZxAJZFfE92AphsYjyO57pEBmAigLaoXehbAEwxKR6rOgtAk1Kq1awAROS3ItIDVn5u3wAAAuVJREFU4EMAqwBsNymOSgRHzj814/ljeFhEmkXkNRH5skkxjAVQCOB6EWkKTZFfaVIsAIJTnQCuAfCUmXEAeBTB70uuiJwG4BgAG0yOydHcmMhKAHREva8DQKkJsVhSaArvdwDuMjMOpdTNCP5cLgDwqjKvMunnAH6llNLr2PpM/AjAcQh2VHgNwF9C5dBGq0Fw6mxUKJbvAHhcRCaYEEvYOQCKAfzdxBgA4GUEp8N7Edw0fJdSqsnckJzNjYmsC0BZ1Pu8AHwmxGI5IlKI4NrYy0qpx82ORynlV0q9DuAfRORrRj9/qBDoZAB/MPq5Y1FKbVRK+ULT4v+N4P/b00wIpSf058+VUr1KqXUA1gCYa0IsYd8E8Eyo64QpRGQ4gutjdyA4HX4SgP8UkdPNiskN3Nj9fjeAYSIyMmJ6cRqAX5oYkyWE1j2eBrAfwA9NDidaDoATTHje2QhOOzcFZ65QCsAvIpOUUjeaEE+0gEnPuxuAaQkjmojkA7gCwCUmh3ICgA6l1IrQv7eGqjnPAacXs8Z1I7LQIvDLAH4iIoUichMAQXAKwFAikhcaAXkA5IXiMfNnshhAEYJVcaZtMBSRUhG5LvRnbmjt5VwA60wI5w8AJiF4Z30SgBcB/AYmJHoRqRCRC0JbJfJF5A4AwwC8Z3QsSikfgJUAfhT6f3w6gDkIjsrM8HUA7TDh9zhKHYAyEbkktD1hMoCvIrgOT1niukQWshDAiQAOI7iIP9+k6YjFCE7RzEawZLcHwTs3w4nIOAALQs9/OGJPzmwTwlEIrjHsA9AK4N8AXKOU2mx4IMFpvH3hNwDdCN5xHzI6FgB5CK7XtQI4iGD17UUmVugtRHC97jCCPfduVEp9bFIs30SwUtDUDg+hddSrANyH4Nr7qwAeUUr9zcy4nI6dPYiIyNbcOiIjIiKHYCIjIiJbYyIjIiJbYyIjIiJbYyIjIiJbYyIjIiJbYyIjIiJbYyIjIiJb+//0Nt3jNZZ19AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" ] }, "metadata": { @@ -256,11 +306,20 @@ } ], "source": [ - "fig, ax = plt.subplots()\n", - "ax.scatter(data_approx[:, 0], data_trans[:, 1], s=1)\n", - "ax.set_xlabel('X')\n", - "ax.set_ylabel('Y')\n", - "ax.set_title('Inverse Transformation')\n", + "plt.figure()\n", + "sns.jointplot(data_approx[:, 0], data_approx[:, 1], color='green')\n", + "# ax.scatter(data_trans[:, 0], data_trans[:, 1], s=1)\n", + "plt.xlabel('X')\n", + "plt.ylabel('Y')\n", + "plt.suptitle('Data after RBIG Transformation')\n", + "plt.show()\n", + "\n", + "plt.figure()\n", + "sns.jointplot(data[:, 0], data[:, 1])\n", + "# ax.scatter(data_trans[:, 0], data_trans[:, 1], s=1)\n", + "plt.xlabel('X')\n", + "plt.ylabel('Y')\n", + "plt.suptitle('Original Data')\n", "plt.show()" ] }, @@ -273,12 +332,12 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 52, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -298,6 +357,41 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.43076283, 0.28602043, 0.08576395, 0.03325691, 0.01020379,\n", + " 0. , 0. , 0.01639203, 0.01575453, 0. ,\n", + " 0. , 0.04857258, 0.03630841, 0.01196752, 0. ,\n", + " 0.01674606, 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. ,\n", + " 0. ])" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rbig_model.residual_info" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000..ad16166 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,2 @@ +[pytest] +testpaths = tests/ \ No newline at end of file diff --git a/rbig/density.py b/rbig/density.py index ce97c3c..7c488d7 100644 --- a/rbig/density.py +++ b/rbig/density.py @@ -1,14 +1,16 @@ -from typing import Optional, Tuple, Dict +from typing import Optional, Tuple, Dict, Union import numpy as np from scipy import stats from scipy.interpolate import interp1d from statsmodels.distributions.empirical_distribution import ECDF -from rbig.utils import make_cdf_monotonic +from rbig.utils import get_domain_extension + +# from rbig.utils import make_cdf_monotonic def univariate_make_normal( - uni_data: np.ndarray, extension, precision + uni_data: np.ndarray, extension: float, precision: int ) -> Tuple[np.ndarray, Dict]: """ Takes univariate data and transforms it to have approximately normal dist @@ -36,7 +38,7 @@ def univariate_make_normal( def univariate_make_uniform( - uni_data: np.ndarray, extension, precision + uni_data: np.ndarray, extension: float, precision: int ) -> Tuple[np.ndarray, Dict]: """ Takes univariate data and transforms it to have approximately uniform dist @@ -55,13 +57,13 @@ def univariate_make_uniform( transform_params : dictionary parameters of the transform. We save these so we can invert them later """ - n_samps = len(uni_data) + n_samps = uni_data.shape[0] support_extension = (extension / 100) * abs(np.max(uni_data) - np.min(uni_data)) # not sure exactly what we're doing here, but at a high level we're # constructing bins for the histogram bin_edges = np.linspace( - np.min(uni_data), np.max(uni_data), int(np.sqrt(np.float64(n_samps)) + 1) + np.min(uni_data), np.max(uni_data), int(np.sqrt(n_samps)) + 1 ) bin_centers = np.mean(np.vstack((bin_edges[0:-1], bin_edges[1:])), axis=0) @@ -107,7 +109,7 @@ def univariate_make_uniform( def univariate_invert_normalization( - uni_gaussian_data: np.ndarray, trans_params + uni_gaussian_data: np.ndarray, trans_params: Dict ) -> np.ndarray: """ Inverts the marginal normalization @@ -115,11 +117,13 @@ def univariate_invert_normalization( """ uni_uniform_data = stats.norm.cdf(uni_gaussian_data) - return univariate_invert_uniformization(uni_uniform_data, trans_params) + uni_data = univariate_invert_uniformization(uni_uniform_data, trans_params) + + return uni_data def univariate_invert_uniformization( - uni_uniform_data: np.ndarray, trans_params + uni_uniform_data: np.ndarray, trans_params: Dict ) -> np.ndarray: """ Inverts the marginal uniformization transform specified by trans_params @@ -156,3 +160,28 @@ def bin_estimation(n_samples: int, rule="standard") -> float: raise ValueError(f"Unrecognized bin estimation rule: {rule}") return n_bins + + +def make_cdf_monotonic(cdf): + """ + Take a cdf and just sequentially readjust values to force monotonicity + There's probably a better way to do this but this was in the original + implementation. We just readjust values that are less than their predecessors + Parameters + ---------- + cdf : ndarray + The values of the cdf in order (1d) + """ + # laparra's version + corrected_cdf = cdf.copy() + for i in range(1, len(corrected_cdf)): + if corrected_cdf[i] <= corrected_cdf[i - 1]: + if abs(corrected_cdf[i - 1]) > 1e-14: + corrected_cdf[i] = corrected_cdf[i - 1] + 1e-14 + elif corrected_cdf[i - 1] == 0: + corrected_cdf[i] = 1e-80 + else: + corrected_cdf[i] = corrected_cdf[i - 1] + 10 ** ( + np.log10(abs(corrected_cdf[i - 1])) + ) + return corrected_cdf diff --git a/rbig/information/kld.py b/rbig/information/kld.py index 0d70dc5..3e0bc52 100644 --- a/rbig/information/kld.py +++ b/rbig/information/kld.py @@ -1,5 +1,7 @@ import numpy as np from scipy import stats +from sklearn.utils import check_array +from rbig.model import RBIG class RBIGKLD(object): @@ -82,7 +84,7 @@ def __init__( pdf_resolution=None, pdf_extension=10, random_state=None, - verbose=None, + verbose: int = 0, tolerance=None, zero_tolerance=100, increment=1.5, @@ -122,6 +124,7 @@ def fit(self, X, Y): zero_tolerance=self.zero_tolerance, tolerance=self.tolerance, pdf_extension=self.pdf_extension, + verbose=0, ) # fit RBIG model to Y @@ -138,6 +141,7 @@ def fit(self, X, Y): zero_tolerance=self.zero_tolerance, tolerance=self.tolerance, pdf_extension=self.pdf_extension, + verbose=0, ) # Fit RBIG model to X_transformed diff --git a/rbig/information/mutual_info.py b/rbig/information/mutual_info.py index aceb51f..51e7f39 100644 --- a/rbig/information/mutual_info.py +++ b/rbig/information/mutual_info.py @@ -1,7 +1,8 @@ import numpy as np +from rbig.model import RBIG -class RBIGMI(object): +class RBIGMI: """ Rotation-Based Iterative Gaussian-ization (RBIG) applied to two multidimensional variables (RBIGMI). Applies the RBIG algorithm to the two multidimensional variables independently, then applies another @@ -77,7 +78,7 @@ def __init__( pdf_resolution=1000, pdf_extension=None, random_state=None, - verbose=None, + verbose: int = 0, tolerance=None, zero_tolerance=100, increment=1.5, @@ -90,7 +91,7 @@ def __init__( self.verbose = verbose self.tolerance = tolerance self.zero_tolerance = zero_tolerance - self.increment = 1.5 + self.increment = increment def fit(self, X, Y): """Inputs for the RBIGMI algorithm. @@ -121,7 +122,7 @@ def fit(self, X, Y): rotation_type=self.rotation_type, pdf_resolution=self.pdf_resolution, pdf_extension=self.pdf_extension, - verbose=None, + verbose=0, random_state=self.random_state, zero_tolerance=self.zero_tolerance, tolerance=self.tolerance, @@ -136,7 +137,7 @@ def fit(self, X, Y): rotation_type=self.rotation_type, pdf_resolution=self.pdf_resolution, pdf_extension=self.pdf_extension, - verbose=None, + verbose=0, random_state=self.random_state, zero_tolerance=self.zero_tolerance, tolerance=self.tolerance, @@ -160,7 +161,7 @@ def fit(self, X, Y): tolerance=self.tolerance, pdf_resolution=self.pdf_resolution, pdf_extension=self.pdf_extension, - verbose=None, + verbose=0, ) # Fit RBIG model to combined dataset diff --git a/rbig/information/total_corr.py b/rbig/information/total_corr.py index e9d5ee8..ab3a5c8 100644 --- a/rbig/information/total_corr.py +++ b/rbig/information/total_corr.py @@ -1,6 +1,13 @@ import numpy as np +import sys +import warnings +from scipy.interpolate import interp1d +from scipy.stats import ortho_group +from sklearn.decomposition import PCA +from sklearn.utils import check_array from rbig.information.entropy import entropy_marginal +from rbig.density import univariate_make_normal def information_reduction(x_data, y_data, tol_dimensions=None, correction=True): @@ -62,3 +69,281 @@ def information_reduction(x_data, y_data, tol_dimensions=None, correction=True): I = 0 return I + + +class RBIGTotalCorr: + """ Rotation-Based Iterative Gaussian-ization (RBIG). This algorithm transforms + any multidimensional data to a Gaussian. It also provides a sampling mechanism + whereby you can provide multidimensional gaussian data and it will generate + multidimensional data in the original domain. You can calculate the probabilities + as well as have access to a few information theoretic measures like total + correlation and entropy. + + Parameters + ---------- + n_layers : int, optional (default 1000) + The number of steps to run the sequence of marginal gaussianization + and then rotation + + rotation_type : {'PCA', 'random'} + The rotation applied to the marginally Gaussian-ized data at each iteration. + - 'pca' : a principal components analysis rotation (PCA) + - 'random' : random rotations + - 'ica' : independent components analysis (ICA) + + pdf_resolution : int, optional (default 1000) + The number of points at which to compute the gaussianized marginal pdfs. + The functions that map from original data to gaussianized data at each + iteration have to be stored so that we can invert them later - if working + with high-dimensional data consider reducing this resolution to shorten + computation time. + + pdf_extension : int, optional (default 0.1) + The fraction by which to extend the support of the Gaussian-ized marginal + pdf compared to the empirical marginal PDF. + + verbose : int, optional + If specified, report the RBIG iteration number every + progress_report_interval iterations. + + zero_tolerance : int, optional (default=60) + The number of layers where the total correlation should not change + between RBIG iterations. If there is no zero_tolerance, then the + method will stop iterating regardless of how many the user sets as + the n_layers. + + rotation_kwargs : dict, optional (default=None) + Any extra keyword arguments that you want to pass into the rotation + algorithms (i.e. ICA or PCA). See the respective algorithms on + scikit-learn for more details. + + random_state : int, optional (default=None) + Control the seed for any randomization that occurs in this algorithm. + + entropy_correction : bool, optional (default=True) + Implements the shannon-millow correction to the entropy algorithm + + Attributes + ---------- + gauss_data : array, (n_samples x d_dimensions) + The gaussianized data after the RBIG transformation + + residual_info : array, (n_layers) + The cumulative amount of information between layers. It should exhibit + a curve with a plateau to indicate convergence. + + rotation_matrix = dict, (n_layers) + A rotation matrix that was calculated and saved for each layer. + + gauss_params = dict, (n_layers) + The cdf and pdf for the gaussianization parameters used for each layer. + + References + ---------- + * Original Paper : Iterative Gaussianization: from ICA to Random Rotations + https://arxiv.org/abs/1602.00229 + + * Original MATLAB Implementation + http://isp.uv.es/rbig.html + + * Original Python Implementation + https://github.com/spencerkent/pyRBIG + """ + + def __init__( + self, + n_layers=1000, + rotation_type="PCA", + pdf_resolution=1000, + pdf_extension=None, + random_state=None, + verbose: int = 0, + tolerance=None, + zero_tolerance=60, + entropy_correction=True, + rotation_kwargs=None, + base="gauss", + ): + self.n_layers = n_layers + self.rotation_type = rotation_type + self.pdf_resolution = pdf_resolution + self.pdf_extension = pdf_extension + self.random_state = random_state + self.verbose = verbose + self.tolerance = tolerance + self.zero_tolerance = zero_tolerance + self.entropy_correction = entropy_correction + self.rotation_kwargs = rotation_kwargs + self.base = base + + def fit(self, X): + """ Fit the model with X. + Parameters + ---------- + X : array-like, shape (n_samples, n_features) + Training data, where n_samples in the number of samples + and n_features is the number of features. + + Returns + ------- + self : object + Returns the instance itself. + """ + X = check_array(X, ensure_2d=True) + self._fit(X) + return self + + def _fit(self, data): + """ Fit the model with data. + Parameters + ---------- + data : array-like, shape (n_samples, n_features) + Training data, where n_samples in the number of samples + and n_features is the number of features. + Returns + ------- + self : object + Returns the instance itself. + """ + + data = check_array(data, ensure_2d=True, copy=True) + + if self.pdf_extension is None: + self.pdf_extension = 10 + + if self.pdf_resolution is None: + self.pdf_resolution = 2 * np.round(np.sqrt(data.shape[0])) + self.X_fit_ = data + gauss_data = np.copy(data) + + n_samples, n_dimensions = np.shape(data) + + if self.zero_tolerance is None: + self.zero_tolerance = self.n_layers + 1 + + if self.tolerance is None: + self.tolerance = self._get_information_tolerance(n_samples) + + # Initialize stopping criteria (residual information) + self.residual_info = list() + self.gauss_params = list() + self.rotation_matrix = list() + + # Loop through the layers + for layer in range(self.n_layers): + + if self.verbose > 1: + print("Completed {} iterations of RBIG.".format(layer + 1)) + + # ------------------ + # Gaussian(-ization) + # ------------------ + + for idim in range(n_dimensions): + + gauss_data[:, idim], _ = univariate_make_normal( + gauss_data[:, idim], self.pdf_extension, self.pdf_resolution + ) + + gauss_data_prerotation = gauss_data.copy() + if self.verbose == 2: + print(gauss_data.min(), gauss_data.max()) + + # -------- + # Rotation + # -------- + if self.rotation_type == "random": + + rand_ortho_matrix = ortho_group.rvs(n_dimensions) + gauss_data = np.dot(gauss_data, rand_ortho_matrix) + + elif self.rotation_type.lower() == "pca": + + # Initialize PCA model + if self.rotation_kwargs is not None: + pca_model = PCA( + random_state=self.random_state, **self.rotation_kwargs + ) + else: + pca_model = PCA(random_state=self.random_state) + + gauss_data = pca_model.fit_transform(gauss_data) + + else: + raise ValueError( + "Rotation type " + self.rotation_type + " not recognized" + ) + + # -------------------------------- + # Information Reduction + # -------------------------------- + self.residual_info.append( + information_reduction( + gauss_data, gauss_data_prerotation, self.tolerance + ) + ) + + # -------------------------------- + # Stopping Criteria + # -------------------------------- + if self._stopping_criteria(layer): + break + else: + pass + self.residual_info = np.array(self.residual_info) + self.gauss_data = gauss_data + self.mutual_information = np.sum(self.residual_info) + self.n_layers = len(self.gauss_params) + + return self + + def _stopping_criteria(self, layer): + """Stopping criteria for the the RBIG algorithm. + + Parameter + --------- + layer : int + + Returns + ------- + verdict = + + """ + stop_ = False + + if layer > self.zero_tolerance: + aux_residual = np.array(self.residual_info) + + if np.abs(aux_residual[-self.zero_tolerance :]).sum() == 0: + + # delete the last 50 layers for saved parameters + self.rotation_matrix = self.rotation_matrix[:-50] + self.gauss_params = self.gauss_params[:-50] + + stop_ = True + else: + stop_ = False + + return stop_ + + def _get_information_tolerance(self, n_samples): + """Precompute some tolerances for the tails.""" + xxx = np.logspace(2, 8, 7) + yyy = [0.1571, 0.0468, 0.0145, 0.0046, 0.0014, 0.0001, 0.00001] + + return interp1d(xxx, yyy)(n_samples) + + def entropy(self, correction=None): + + # TODO check fit + if (correction is None) or (correction is False): + correction = self.entropy_correction + return ( + entropy_marginal(self.X_fit_, correction=correction).sum() + - self.mutual_information + ) + + def total_correlation(self): + + # TODO check fit + return self.residual_info.sum() diff --git a/rbig/model.py b/rbig/model.py index cf079c6..f50b959 100644 --- a/rbig/model.py +++ b/rbig/model.py @@ -152,7 +152,7 @@ def _fit(self, data): Returns the instance itself. """ - data = check_array(data, ensure_2d=True) + data = check_array(data, ensure_2d=True, copy=True) if self.pdf_extension is None: self.pdf_extension = 10 @@ -308,10 +308,13 @@ def transform(self, X): for idim in range(n_dimensions): # marginal uniformization + # data_layer[:, idim] = univariate_make_normal( + # data_layer[:, idim], self.gauss_params[layer][idim] + # ) data_layer[:, idim] = interp1d( self.gauss_params[layer][idim]["uniform_cdf_support"], self.gauss_params[layer][idim]["uniform_cdf"], - fill_value="extrapolate", + # fill_value="extrapolate", )(data_layer[:, idim]) # marginal gaussianization @@ -324,7 +327,7 @@ def transform(self, X): return X_transformed - def inverse_transform(self, X): + def inverse_transform(self, X: np.ndarray, y: np.ndarray = None) -> np.ndarray: """Complete transformation of X in the given the learned Gaussianization parameters. Parameters @@ -340,7 +343,7 @@ def inverse_transform(self, X): """ n_dimensions = np.shape(X)[1] - X_input_domain = np.copy(X) + X_input_domain = check_array(X, ensure_2d=True, copy=True) for layer in range(self.n_layers - 1, -1, -1): diff --git a/rbig/utils.py b/rbig/utils.py index 8947d89..01317e3 100644 --- a/rbig/utils.py +++ b/rbig/utils.py @@ -122,14 +122,15 @@ def make_interior(X, bounds, eps=None): left = bounds[0] + np.abs(bounds[0] * eps) right = bounds[1] - np.abs(bounds[1] * eps) + return np.minimum(np.maximum(X, left), right) - X[X < left] = left - X[X > right] = right + # X[X < left] = left + # X[X > right] = right - # assert np.min(X) >= left - # assert np.max(X) <= right + # # assert np.min(X) >= left + # # assert np.max(X) <= right - return X + # return X def generate_batches(n_samples, batch_size): @@ -175,3 +176,10 @@ def generate_batches(n_samples, batch_size): # yield the remaining indices yield start_index, n_samples + + +def check_bounds(X, bounds: Union[int, float]) -> Tuple[float, float]: + domain = np.array([X.min(), X.max()]) + center = np.mean(domain) + domain = (1 + bounds) * (domain - center) + center + return domain diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..cb52746 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,16 @@ +[tool:flake8] +max-line-length = 100 + +[tool:mypy] +warn_unused_ignores = True +warn_redundant_casts = True +ignore_missing_imports = True + +[mypy-pdoc.test.example_pkg.*] +ignore_errors = True + +[tool:pytest] +testpaths = tests/ + +[tool:pydocstyle] +convention = numpy \ No newline at end of file diff --git a/tests/test_density.py b/tests/test_density.py new file mode 100644 index 0000000..6013b73 --- /dev/null +++ b/tests/test_density.py @@ -0,0 +1,46 @@ +import numpy as np + +from rbig.density import ( + univariate_make_uniform, + univariate_invert_uniformization, + univariate_make_normal, + univariate_invert_normalization, +) + +rng = np.random.RandomState(123) + + +def test_univariate_uniformization(): + # create random data + X = rng.randn(100) + + X_u, params = univariate_make_uniform(X, 0.1, 20) + X_approx = univariate_invert_uniformization(X_u, params) + + np.testing.assert_array_almost_equal(X, X_approx) + + # create random data + X = rng.randn(10_000) + + X_u, params = univariate_make_uniform(X, 0.1, 20) + X_approx = univariate_invert_uniformization(X_u, params) + + np.testing.assert_array_almost_equal(X, X_approx) + + +def test_univariate_gaussianization(): + # create random data + X = rng.randn(100) + + X_g, params = univariate_make_normal(X, 0.1, 20) + X_approx = univariate_invert_normalization(X_g, params) + + np.testing.assert_array_almost_equal(X, X_approx) + + # create random data + X = rng.randn(10_000) + + X_g, params = univariate_make_normal(X, 0.1, 20) + X_approx = univariate_invert_normalization(X_g, params) + + np.testing.assert_array_almost_equal(X, X_approx) From aade309c3255ab368908526d43b3645ebc32e57e Mon Sep 17 00:00:00 2001 From: jejjohnson Date: Tue, 6 Oct 2020 20:29:48 +0200 Subject: [PATCH 3/4] removed the saved data stored. --- rbig/information/total_corr.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rbig/information/total_corr.py b/rbig/information/total_corr.py index ab3a5c8..519b22d 100644 --- a/rbig/information/total_corr.py +++ b/rbig/information/total_corr.py @@ -291,9 +291,8 @@ def _fit(self, data): else: pass self.residual_info = np.array(self.residual_info) - self.gauss_data = gauss_data self.mutual_information = np.sum(self.residual_info) - self.n_layers = len(self.gauss_params) + self.n_layers = len(self.residual_info) return self From aa2a7b3c77df9c66201cda07ea4f2b4e37760693 Mon Sep 17 00:00:00 2001 From: jejjohnson Date: Thu, 8 Oct 2020 11:21:35 +0200 Subject: [PATCH 4/4] Added catch to check if fitted. --- rbig/model.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rbig/model.py b/rbig/model.py index f50b959..f38daef 100644 --- a/rbig/model.py +++ b/rbig/model.py @@ -9,6 +9,7 @@ from sklearn.decomposition import PCA from sklearn.metrics import normalized_mutual_info_score as mi_score from sklearn.utils import check_array, check_random_state +from sklearn.utils.validation import check_is_fitted from rbig.information.entropy import entropy_marginal from rbig.information.total_corr import information_reduction @@ -247,6 +248,7 @@ def _fit(self, data): self.gauss_data = gauss_data self.mutual_information = np.sum(self.residual_info) self.n_layers = len(self.gauss_params) + print("done fitting!") return self @@ -295,9 +297,12 @@ def transform(self, X): The new transformed data in the Gaussian domain """ + check_is_fitted(self, ["gauss_params", "rotation_matrix"]) n_dimensions = np.shape(X)[1] X_transformed = np.copy(X) + # check if fitted + for layer in range(self.n_layers): # ---------------------------- @@ -342,6 +347,7 @@ def inverse_transform(self, X: np.ndarray, y: np.ndarray = None) -> np.ndarray: The new transformed X in the original input space. """ + check_is_fitted(self, ["gauss_params", "rotation_matrix"]) n_dimensions = np.shape(X)[1] X_input_domain = check_array(X, ensure_2d=True, copy=True)