{ "cells": [ { "cell_type": "markdown", "id": "2a3cbecd", "metadata": {}, "source": [ "# Estimating the Tail - Double Bootstrap #\n", "\n", "This section is informed by [Ivan Voitalov (2019)](#references.ipynb) and his project [tail-estimation](https://github.com/ivanvoitalov/tail-estimation)." ] }, { "cell_type": "markdown", "id": "d4d46704", "metadata": {}, "source": [ "## Tail Quest ##\n", "\n", "While the PoT method is perhaps the oldest and most well-known tail-estimation method, a more precise method remains elusive: so much so that this paper catalogues literally [100+ tail estimators](https://mpra.ub.uni-muenchen.de/90072/1/MPRA_paper_90072.pdf).\n", "\n", "Of those methods, the Hill estimator is another popular approach particularly useful for Pareto distributions, defined as:\n", "\n", "$$\n", "\\alpha_{n,\\kappa} = {\\kappa}\\left[\\sum\\limits_{i=1}^{\\kappa}log\\frac{x_{i}}{x_{\\kappa+1}}\\right]^{-1}\n", "$$\n", "\n", "where: $x_i$ is an i.i.d. descending ordered statistic such that $x_1 >= x_2 ... >= x_n$\n", "\n", "This can be reframed in terms of $\\xi$ from the Extreme Value and Generalized Pareto Distributions as:\n", "\n", "$$\n", "\\xi_{n,\\kappa} = \\frac{1}{\\kappa}\\sum\\limits_{i=1}^{\\kappa}log\\frac{x_{i}}{x_{\\kappa+1}}\n", "$$\n", "\n", "where: $$\\xi = \\frac{1}{\\alpha}$$\n", "\n", "The log of a Pareto is understood to be exponential, so this is essentially the exponential first moment calculation for every $\\kappa th$ largest sample where the $\\kappa th$ sample is assumed to be the true location parameter." ] }, { "cell_type": "markdown", "id": "954fd1e8", "metadata": {}, "source": [ "The Hill Estimator is known to be [asymptotically stable](https://projecteuclid.org/journals/annals-of-statistics/volume-28/issue-1/How-to-make-a-Hill-plot/10.1214/aos/1016120372.full) for certain Pareto distributions. We can see this, for instance, with Pareto Type-I below." ] }, { "cell_type": "code", "execution_count": 1, "id": "3a95dbcd", "metadata": {}, "outputs": [], "source": [ "def hill_est_for_alpha(k, y):\n", " return k / (np.cumsum(np.log(y[:-1])) - k*np.log(y[1:]))\n", "\n", "def hill_est_for_xi(k,y):\n", " return np.cumsum(np.log(y[:-1]))/k - np.log(y[1:])" ] }, { "cell_type": "code", "execution_count": 6, "id": "d8cc6841", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import scipy.stats as scist\n", "import matplotlib.pyplot as plt\n", "\n", "n = 10000\n", "a, x_m= 5, 5\n", "par = scist.pareto(a, loc=x_m)\n", "y = par.rvs(size=n)\n", "y = np.sort(y)[::-1]\n", "y = y - x_m\n", "k = np.arange(1,n)\n", "par_hill = hill_est_for_alpha(k,y)" ] }, { "cell_type": "code", "execution_count": 7, "id": "87aefc31", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,6))\n", "plt.plot(par_hill)\n", "plt.title('Hill Estimator for Pareto-I')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "c3090668", "metadata": {}, "source": [ "Using a Generalized Pareto parameterized equivalent to a Pareto-I results in the same clear asymptote at the expected value." ] }, { "cell_type": "code", "execution_count": 15, "id": "7c50b818", "metadata": {}, "outputs": [], "source": [ "n = 10000\n", "xi = 1/a\n", "scale = x_m*xi\n", "loc = scale / xi\n", "gp = scist.genpareto(xi, loc=loc)\n", "y = gp.rvs(size=n)\n", "y = np.sort(y)[::-1]\n", "k = np.arange(1,n)\n", "hill_gp = hill_est_for_xi(k,y)" ] }, { "cell_type": "code", "execution_count": 16, "id": "fc998712", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,6))\n", "plt.plot(hill_gp)\n", "plt.title('Hill Estimator for \\nGeneralized Pareto Equivalent to Pareto-I')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "46610778", "metadata": {}, "source": [ "When the Generalized Pareto deviates from Pareto equivalence, however, the Hill estimator is not as revealing. As per the plot below, there is no obvious asymptote or stable value maintained for any region of $\\kappa$ when we adjust $\\text{scale}=.02$" ] }, { "cell_type": "code", "execution_count": 19, "id": "aa1eebc7", "metadata": {}, "outputs": [], "source": [ "n = 10000\n", "xi = 1/a\n", "scale = .02\n", "loc = 1/4\n", "gp = scist.genpareto(xi, loc=loc)\n", "y = gp.rvs(size=n)\n", "y = np.sort(y)[::-1]\n", "k = np.arange(1,n)\n", "hill_gp2 = hill_est_for_xi(k,y)" ] }, { "cell_type": "code", "execution_count": 20, "id": "e413417d", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,6))\n", "plt.plot(hill_gp2)\n", "plt.title('Hill Estimator for \\nGeneralized Pareto \\nNOT Equivalent')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "23d28e13", "metadata": {}, "source": [ "And, of course, similar behavior is shown in the above-mean values of the S&P 500 returns." ] }, { "cell_type": "code", "execution_count": 22, "id": "fab71f1e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[*********************100%***********************] 1 of 1 completed\n" ] } ], "source": [ "import yfinance as yf\n", "\n", "sp = yf.download('^GSPC')\n", "sp_ret = sp.Close.pct_change()[1:]\n", "\n", "pos = sp_ret[sp_ret > sp_ret.mean()]\n", "pos = np.sort(pos)[::-1]\n", "\n", "k = np.arange(1, pos.shape[0])\n", "hill_sp = hill_est_for_xi(k, pos)" ] }, { "cell_type": "code", "execution_count": 23, "id": "69e262e6", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,6))\n", "plt.plot(hill_sp)\n", "plt.title('Hill Estimator for \\nS&P500 Index Returns')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "a85549e2", "metadata": {}, "source": [ "## the Hill Double Bootstrap ##\n", "\n", "The Hill Double Bootstrap is one quantitative approach that narrows in on a valid tail index estimate when one is not evident visually. The technique is outlined by [Voitalov (2019)](references.ipynb) building on [Danielsson (2001)](references.ipynb).\n", "\n", "The approach is based on a quantity known as the Asymptotic Mean Squared Error, AMSE, defined as:\n", "\n", "$$\\text{AMSE}(n, \\kappa) = E[(\\hat{\\xi}_{n, \\kappa} - \\xi)^2]$$\n", "\n", "In this definition, $\\xi$ is an unknown true value. The Double Bootstrap replaces the true value with a second estimator, so that:\n", "\n", "$$\n", "\\text{AMSE}(n, \\kappa) = E[(\\hat{\\xi}^{(2)}_{n_1, \\kappa_j} - \\hat{\\xi}^{(1)}_{n_2, \\kappa_j})^2]\n", "$$\n", "\n", "where $\\hat{\\xi}^{(1)} \\text{and } \\hat{\\xi}^{(2)}$ are found via the first and second moments of the tail index of the sample (with the first moment being the Hill estimator), resulting in:\n", "\n", "$$\n", "\\text{AMSE}(n, \\kappa) = E[(M_{\\xi}(2) - 2M_{\\xi}^2(1))^2]\n", "$$\n", "*(adjustment applied to* $M(1)$ *as it has a different multiplicative constant)*\n", "\n", "The goal of the approach is for the two estimators to converge, with their convergence value being the true value. The procedure is as follows:\n", "\n", "1. Repeat $r$ number of iterations through the data, drawing $n_1$ samples for each iteration.\n", "2. For each $\\kappa$ in $n_1$, find the first estimator, the Hill estimate, which is the sample's first moment:\n", "$$\n", "M_{1,\\kappa_1} = \\frac{1}{\\kappa_1}\\sum\\limits_{i=1}^{\\kappa}ln\\frac{x_i}{x_{k+1}}\n", "$$\n", "3. For each $\\kappa$ in $n_1$, find the second estimator, which is derived from the sample's second moment: \n", "$$\n", "M_{2,\\kappa_1} = \\frac{1}{\\kappa_1}\\sum\\limits_{i=1}^{\\kappa}(ln\\frac{x_i}{x_{k+1}})^2\n", "$$\n", "4. Find $\\kappa_1^*$ that minimizes \n", "$\\frac{1}{r}\\sum\\limits_{j=1}^r(M_{2,\\kappa_1} - 2(M_{1,\\kappa_1})^2)^2$ \n", "\n", "5. Repeat 1. thru 4. with a second sample of size $n_2$ and find $\\kappa_2^*$\n", "6. Find $\\kappa^* = A(\\kappa_1^*, n_1, n)\\frac{(\\kappa_2^*)^2}{\\kappa_1^*}$\n", "7. Then, the tail index is $\\xi = M_1,{\\kappa^*}$" ] }, { "cell_type": "markdown", "id": "ae3692ae", "metadata": {}, "source": [ "where:\n", "\n", "$$\n", "r: \\text{number of bootstrap samples}\n", "\\\\t \\in [0,1]: \\text{proportion between bootstrap sample sizes}\n", "\\\\n_1 = \\sqrt{t}n\n", "\\\\n_2 = tn\n", "\\\\\\kappa_i = 1 ... n_i\n", "$$" ] }, { "cell_type": "markdown", "id": "7782a658", "metadata": {}, "source": [ "$A(.)$ has a non-trivial derivation outlined in [Daniellson (2001) as Corollary 7](references.ipynb). Voitalov (2019) also points to a different factor arrived at by [Qi (2008)](references.ipynb).\n", "\n", "We will demonstrate the process for both tails of a random sample from the Phat distribution.\n", "\n", "1. Begin by creating a generative model Phat distribution and generating a set of random samples. \n", "2. Isolate samples in the right tail. We will cutoff the data at the sample mean and not the right tail location as technically this location should be an unknown.\n", "3. Sort the remaining samples in descending order.\n", "4. Define several parameters consistent with Voitalov (2019)." ] }, { "cell_type": "code", "execution_count": 24, "id": "b3c1667e", "metadata": {}, "outputs": [], "source": [ "import phat as ph\n", "\n", "genmod = ph.Phat(.25, 1.4, .35, .22)\n", "data = genmod.rvs(size=100000)\n", "y = data[data>=data.mean()]\n", "y = np.sort(y)[::-1]\n", "\n", "r = 500\n", "t = .5\n", "n = y.size\n", "n1 = int(np.sqrt(t)*n)\n", "n2 = int(t*n)\n", "k = np.arange(1, y.size)" ] }, { "cell_type": "markdown", "id": "38e84634", "metadata": {}, "source": [ "Our first order of business is to find the Hill estimate at each $\\kappa$ for the entire dataset. We already have a function for this." ] }, { "cell_type": "code", "execution_count": 35, "id": "8a16aa03", "metadata": {}, "outputs": [], "source": [ "with np.errstate(invalid='ignore'):\n", " xi = hill_est_for_xi(k,y)" ] }, { "cell_type": "markdown", "id": "ee8bb65b", "metadata": {}, "source": [ "In the plot, we see the familiar exploding tail." ] }, { "cell_type": "code", "execution_count": 55, "id": "e2c05f91", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,6))\n", "plt.plot(xi)\n", "plt.title('Hill Estimator for \\nRandom Phat Sample')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "9dfe0e3a", "metadata": {}, "source": [ "Now we implement the iterative process through $r$ for sample size $n_1$:\n", "\n", "For r iterations:\n", "\n", "1. Pull $n_1$ samples from the data.\n", "2. Sort the samples in ascending order\n", "3. Find the first moment, $M(1)$, and second moment, $M(2)$.\n", "4. Find the AMSE between the two moment estimators.\n", "\n", "After iterating:\n", "\n", "5. Find the mean of the accumulated errors in each $\\kappa$ across the $r$ iterations\n", "6. $\\kappa*$ is the index of the minimum mean AMSE" ] }, { "cell_type": "code", "execution_count": 37, "id": "fc497904", "metadata": {}, "outputs": [], "source": [ "def second_moment(k, y):\n", " t1 = np.cumsum(np.log(y[:-1])**2) / k \n", " t2 = 2*np.cumsum(np.log(y[:-1]))*np.log(y[1:]) / k\n", " t3 = np.log(y[1:])**2\n", " return t1 - t2 + t3\n", "\n", "def amse(M1, M2):\n", " return (M2 - 2*M1**2)**2" ] }, { "cell_type": "code", "execution_count": 38, "id": "0f728cd7", "metadata": {}, "outputs": [], "source": [ "def third_moment(k,y):\n", " t1 = (1/k)*np.cumsum(np.log(y[:-1])**3)\n", " t2 = (3*np.log(y[1:])/k)*np.cumsum(np.log(y[:-1])**2)\n", " t3 = (3*np.log(y[1:])**2/k)*np.cumsum(np.log(y[:-1]))\n", " t4 = np.log(y[1:])**3\n", " M3 = t1 - t2 + t3 - t4\n", " return M3" ] }, { "cell_type": "code", "execution_count": 39, "id": "c4ce2c05", "metadata": {}, "outputs": [], "source": [ "with np.errstate(invalid='ignore'):\n", " M2 = second_moment(k,y)" ] }, { "cell_type": "code", "execution_count": 57, "id": "9317702f", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,6))\n", "plt.plot(M2)\n", "plt.title('Second Moment Estimator for \\nRandom Phat Sample')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 44, "id": "f2bfe526", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "272" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import warnings\n", "\n", "i_kmin = 1\n", "i_kmax = (np.abs(np.linspace(1./n1, 1.0, n1) - 1)).argmin()\n", "amses = np.zeros((r, n1-1))\n", "for i in range(r):\n", " sample = np.random.choice(y, n1, replace=True)\n", " sample = np.sort(sample)[::-1]\n", " k = np.arange(1,n1)\n", " with np.errstate(invalid='ignore'):\n", " M1 = hill_est_for_xi(k,sample)\n", " M2 = second_moment(k,sample)\n", " amses[i] = amse(M1,M2)\n", "\n", "with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\", category=RuntimeWarning)\n", " amse_for_k = np.nanmean(amses, axis=0)\n", "\n", "k1 = np.nanargmin(amse_for_k[i_kmin:i_kmax]) + 1 + i_kmin\n", "k1" ] }, { "cell_type": "markdown", "id": "f5d0a3cd", "metadata": {}, "source": [ "Next we repeat the iterative process through $r$ for sample size $n_2$. The process is encapsulated in the `k_finder` function." ] }, { "cell_type": "code", "execution_count": 45, "id": "32c51ec0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "190" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k2 = ph.bootstrap.numpy.k_finder(y, n2, r, 1)\n", "k2" ] }, { "cell_type": "markdown", "id": "437d612a", "metadata": {}, "source": [ "One implication of the procedure above is the assumption of `k_min=1`. If $\\kappa_2 > \\kappa_1$, this may be evidence that the assumption is incorrect. So the `r` iterative process for each $\\kappa$ is repeated until $\\kappa_2 <= \\kappa_1$ as outlined in [Voitalov (2019)](references.ipynb)." ] }, { "cell_type": "code", "execution_count": 46, "id": "0473e59f", "metadata": {}, "outputs": [], "source": [ "kmin1, kmin2 = 1,1\n", "while True:\n", " k1 = ph.bootstrap.numpy.k_finder(y, n1, r, kmin1)\n", " k2 = ph.bootstrap.numpy.k_finder(y, n2, r, kmin2)\n", "\n", " if k2 > k1:\n", " kmin1 += int(0.005*n)\n", " kmin2 += int(0.005*n)\n", " else:\n", " break" ] }, { "cell_type": "markdown", "id": "95421613", "metadata": {}, "source": [ "We now find our $\\kappa^*$ as $A(\\kappa_1^*, n_1, n)\\frac{(\\kappa_2^*)^2}{\\kappa_1^*}$. As noted, A(.) has a couple of formulas. We use the Qi formulation here, but Daniellson is also available." ] }, { "cell_type": "code", "execution_count": 47, "id": "4cf05ac4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.27185885114515385" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k_star = ph.bootstrap.numpy.A_qi(n1,k1)*k1**2 / k2\n", "k_star = np.round(k_star).astype(int)\n", "xi[k_star]" ] }, { "cell_type": "markdown", "id": "985916f4", "metadata": {}, "source": [ "We can see the estimate is failry close to the actual value utilized. \n", "\n", "We can repeat this process for the left tail, this time using the `dbl_bs` function, which encapsulates the above process. When examining the left tail, we simply have to negate the values." ] }, { "cell_type": "code", "execution_count": 48, "id": "d70177c9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.4094277721877706" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_left = data[data\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 tr$\\hat \\xi_{left}$$\\xi_{left}$$\\hat \\xi_{right}$$\\xi_{right}$
00.1100.00.39030.350.29960.22
10.1250.00.38910.350.30390.22
20.1500.00.3890.350.31250.22
30.11e+030.39020.350.31290.22
40.12.5e+030.38760.350.31290.22
50.275100.00.38750.350.29360.22
60.275250.00.39180.350.28140.22
70.275500.00.38970.350.28270.22
80.2751e+030.38670.350.28240.22
90.2752.5e+030.38910.350.2840.22
100.45100.00.38850.350.28250.22
110.45250.00.38620.350.28210.22
120.45500.00.38890.350.28680.22
130.451e+030.38580.350.28350.22
140.452.5e+030.38690.350.28230.22
150.625100.00.38680.350.28080.22
160.625250.00.38950.350.28130.22
170.625500.00.38960.350.28260.22
180.6251e+030.39010.350.28570.22
190.6252.5e+030.3910.350.28170.22
200.8100.00.39340.350.28040.22
210.8250.00.38880.350.28040.22
220.8500.00.39180.350.2810.22
230.81e+030.39090.350.280.22
240.82.5e+030.39070.350.28070.22
\n" ], "text/plain": [ "" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_avg = pd.DataFrame(df.values.reshape(-1, 4, df.values.shape[1]).mean(axis=1), columns=df.columns)\n", "df_avg.columns = ['t', 'r', r'$\\hat \\xi_{left}$', r'$\\hat \\xi_{right}$']\n", "df_avg[r'$\\xi_{left}$'] = genmod.shape_l\n", "df_avg[r'$\\xi_{right}$'] = genmod.shape_r\n", "df_avg = df_avg[[\n", " 't', 'r', r'$\\hat \\xi_{left}$', \n", " r'$\\xi_{left}$', r'$\\hat \\xi_{right}$',\n", " r'$\\xi_{right}$'\n", "]]\n", "\n", "df_avg.style.format('{:.4}')" ] }, { "cell_type": "markdown", "id": "da6df571", "metadata": {}, "source": [ "We can see from the above that the Hill leads to fairly consistent results, irrespective of the `t` and `r` methods selected. The Hill does seem to overestimate both tails slightly.\n", "\n", "We then ran hundreds of simulations for different combinations of dataset size, $n$ and left/right tail indices." ] }, { "cell_type": "markdown", "id": "8f892ae2", "metadata": {}, "source": [ "```python\n", "\n", "results = []\n", "ns = np.logspace(3.75,5.35,5).astype(np.int)\n", "tails = np.array([.1,.2,.35, .5, 1, 2.5, 5])\n", "\n", "loop = it.product(ns, it.product(tails, tails))\n", "try:\n", " for n, xi in tqdm(loop, total=ns.size*tails.size):\n", " genmod = Phat(.25, 1.4, *xi)\n", " data = genmod.rvs(size=n)\n", " y_left = data[data<0]\n", " y_left = np.sort(-y_left)[::-1]\n", " y_right = data[data>0]\n", " y_right = np.sort(y_right)[::-1]\n", " for i in trange(4, leave=False):\n", " xi_lest = dbl_bs(y_left, t=.5, r=500, style='hill', A_type='qi')\n", " xi_rest = dbl_bs(y_right, t=.5, r=500, style='hill', A_type='qi')\n", " res = {}\n", " res['t'] = .5\n", " res['r'] = 500\n", " res['n'] = n\n", " res['mean'] = data.mean()\n", " res['xi_lactual'], res['xi_ractual'] = xi\n", " res['xi_lest'] = xi_lest\n", " res['xi_rest'] = xi_rest\n", " results.append(res)\n", "except Exception as e:\n", " print (n, np.sqrt(t)*n, t*n, xi[0], xi[1], .5, 500)\n", " raise e\n", "\n", "df = pd.DataFrame(results)\n", "```" ] }, { "cell_type": "code", "execution_count": 52, "id": "f8dde8a2", "metadata": { "nbsphinx": "hidden" }, "outputs": [], "source": [ "# df.to_csv('dbs_test_on_sample_size_and_tails.csv', index=False)\n", "df = pd.read_csv('dbs_test_on_sample_size_and_tails.csv')" ] }, { "cell_type": "markdown", "id": "c119313c", "metadata": {}, "source": [ "A sample of the resulting dataset is found below." ] }, { "cell_type": "code", "execution_count": 53, "id": "77d062ac", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
trnmeanxi_lactualxi_ractualxi_lestxi_restleft_errright_errleft_err_perright_err_per
00.5500.05623.00.1825510.10.100.0972190.1347010.002781-0.0347010.027814-0.347012
10.5500.05623.00.4293130.10.200.2092650.080751-0.1092650.119249-1.0926480.596247
20.5500.05623.00.7981770.10.350.2582300.424439-0.158230-0.074439-1.582302-0.212683
30.5500.05623.01.3068460.10.500.2486600.588241-0.148660-0.088241-1.486602-0.176482
40.5500.05623.012.7597730.11.000.2425121.056910-0.142512-0.056910-1.425120-0.056910
\n", "
" ], "text/plain": [ " t r n mean xi_lactual xi_ractual xi_lest xi_rest \\\n", "0 0.5 500.0 5623.0 0.182551 0.1 0.10 0.097219 0.134701 \n", "1 0.5 500.0 5623.0 0.429313 0.1 0.20 0.209265 0.080751 \n", "2 0.5 500.0 5623.0 0.798177 0.1 0.35 0.258230 0.424439 \n", "3 0.5 500.0 5623.0 1.306846 0.1 0.50 0.248660 0.588241 \n", "4 0.5 500.0 5623.0 12.759773 0.1 1.00 0.242512 1.056910 \n", "\n", " left_err right_err left_err_per right_err_per \n", "0 0.002781 -0.034701 0.027814 -0.347012 \n", "1 -0.109265 0.119249 -1.092648 0.596247 \n", "2 -0.158230 -0.074439 -1.582302 -0.212683 \n", "3 -0.148660 -0.088241 -1.486602 -0.176482 \n", "4 -0.142512 -0.056910 -1.425120 -0.056910 " ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['left_err'] = df.xi_lactual - df.xi_lest\n", "df['right_err'] = df.xi_ractual - df.xi_rest\n", "df['left_err_per'] = df['left_err'] / df.xi_lactual\n", "df['right_err_per'] = df['right_err'] / df.xi_ractual\n", "df_avg = pd.DataFrame(df.values.reshape(-1, 4, df.values.shape[1]).mean(axis=1), columns=df.columns)\n", "df_avg.head()" ] }, { "cell_type": "markdown", "id": "bcdb5a41", "metadata": {}, "source": [ "The data has been summarized into a few plots per below." ] }, { "cell_type": "code", "execution_count": 54, "id": "34de7c62", "metadata": { "tags": [ "hide_input" ] }, "outputs": [ { "data": { "image/png": "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ANavX8+4ceN6+KokL029FMor42PllUFcREQKWjG2R1TYEBERyZDKykpWrVrFs88+y1577cW1114LQHV1NXfccUev95uqIXHxxRezatUqVq1ateu5V61axezZs5Pu54knnuh1DpJnJsyCk+fDsNGABT9Pnq+BQ5PR7DEiUmCKsT2iwoaIiBSnfv4y8573vIeGhgYg/ozE9u3bmTVrFocddhgf//jHOfbYY1m+fPmux1188cUcccQRHHfccbz++us88cQTLF68mNraWiZOnMi6deu6fN5t27YxdepUjjzySMaPH8/dd9+9a12qMzBSoCbMgq89C5c1Bj9V1OisY/aYrRsA3z17jIobIpItao9khAobIiJSfPr5y0xbWxtLly5lxowZndZdd9117Lnnnjz//PNcccUVrFixYte6d955h+OOO45nnnmG973vfdx4440cf/zxzJgxg7q6OlatWsVBBx3U5XMPHDiQu+66i6effpqHHnqIr3/967h7Rl6XSMHR7DEiEiW1RzJGhQ0RESk+/fRlpqmpiYkTJ7Lvvvvy+uuvM23atE7bPPbYY5x55pkAjBs3jgkTJuxaV1FRwUknnQTAUUcdxfr169POwd351re+xYQJEzjxxBNpaGjg9ddf790LEil0mj1GRKKk9kjGqLAhIiLFp5++zHRcV/rKK6/g7ruuae2p8vJyzAwIBv5qbW1NO4dbbrmFTZs2sWLFClatWsU+++zDjh070t6PSFGo3DO9uIhIJqk9kjEqbIiISPHp56kwBw0axPz587nmmms6NQamTJnCwoVBF9Pnn3+eNWvWdLu/IUOG8Pbbb/foubdu3cree+9NeXk5Dz30EK+88kr6L0AKwqKVDUy58kHGzPkjU658kEUrG6JOSUREYqk9kjEqbIiISPHJwlSYkyZNYsKECdx6661x8QsuuIBNmzZx2GGHcckll3D44YczbNiwLvd15plnUldXx6RJk7odrOuTn/wky5cvZ/z48fzqV7/ikEMO6fNrkfyzaGUDc+9cQ0NjEw40NDYx9841Km4kanozvbiISCapPZIxpgHFdps8ebLHjgQrIiL544UXXuDQQw/t+QNWLwyuYd1aH5wZmXppVmaNaGtro6WlhYEDB7Ju3TpOPPFE1q5dS0VFRb8/d08kO45mtsLdJ0eUUtHJRHtkypUP0tDY1CleU1XJ43M+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nLFoZQNz71xDU0sbAA2NTcy9cw2AihuScdkqoq1bt44vf/nLbNq0iUGDBnHjjTeyY8cOLrroIpqamli+fDljx45l3bp1TJw4kWnTplFXV9flPm+88UZuuOEGmpubede73sWvf/1rBg0a1KPGhogUqdUL4Z7Z0NIULG/dECyDihsiEVJ7JDNU2BCRnFG3ZO2uokaHppY26pasVWFDMiqbRbTzzjuPn/3sZxx88ME89dRTXHDBBTz44INcfvnlLF++nJ/+9KesX7+e5557btfZkO6ceuqpfOELXwDgkksu4aabbuIrX/lKRvMWkQKz9PLdRY0OLU1BXIUNkUioPZI5KmyISM7Y2NiUVlykt7JVRNu2bRtPPPEEp59++q7Yzp07+7zfZ599lksuuYTGxka2bdvG9OnT+7xPESlwW+vTi4tIv1N7JHNU2BCRnFFdVUlDkiJGdVVlBNlIIctWEa29vZ2qqqoen/noqXPOOYdFixZxxBFHcPPNN/Pwww9ndP8iUoCGjQouP0kWF5FIqD2SOZoVRURyRu30sVSWl8bFKstLqZ0+NqKMpFClKpZluog2dOhQxowZw+233w6Au/PMM8902m7IkCG8/fbbPd7v22+/zX777UdLSwu33HJLxvIVkQI29VIoT/gfV14ZxEUkEmqPZI4KGyKSM2ZOqmHeqeOpqarEgJqqSuadOl7ja0jG9VcRbfv27YwaNWrX7Qc/+AG33HILN910E0cccQSHH344d999d6fHDR8+nClTpjBu3Dhqa2u7fZ4rrriCY489lilTpnDIIYf0KWcRKRITZsHJ82HYaMCCnyfP1/gaIhFSeyRzzN0jTSCXTJ482ZcvXx51GiIi0gsvvPAChx56aI+319TCySU7jma2wt0nR5RS0VF7REQkf6k9khnptkc0xoaIiBSlmZNq1HAQERGRSKk9khm6FEWKz+qF8MNxcFlV8HP1wqgzEhERERERkV5Sjw0pLqsXwj2zd8/jvnVDsAy6xlRERERERCQPqceGFJell+8uanRoaQriIiIiIiIikndU2JDisrU+vbiIiIiIiIjkNBU2pLgMG5VeXERERERERHKaChtSXKZeCuWV8bHyyiAuItJHpaWlTJw4kXHjxnHyySfT2NgIwMaNGznttNO6ffzgwYOTxhctWsTzzz/fKf69732PiRMnMnHixF3PPXHiRObPn590P8cffzwA69evZ9y4cT18VSIiIpJPirE9osJGf9CsG7lrwiw4eT4MGw1Y8PPk+Ro4VEQyorKyklWrVvHss8+y1157ce211wJQXV3NHXfc0ev9pmpIXHzxxaxatYpVq1bteu5Vq1Yxe/bspPt54oknep2DiIiI5IdibI+osJFpHbNubN0A+O5ZN1TcyB0TZsHXnoXLGoOfKmqIFKd+LkK/5z3voaGhAYg/I7F9+3ZmzZrFYYcdxsc//nGOPfZYli9fvutxF198MUcccQTHHXccr7/+Ok888QSLFy+mtraWiRMnsm7dui6fd9u2bUydOpUjjzyS8ePHc/fdd+9al+oMjIiIiERE7ZGMUGEj0zTrhohI7uvnInRbWxtLly5lxowZndZdd9117Lnnnjz//PNcccUVrFixYte6d955h+OOO45nnnmG973vfdx4440cf/zxzJgxg7q6OlatWsVBBx3U5XMPHDiQu+66i6effpqHHnqIr3/967h7Rl6XiIiIZJDaIxmjwkamadaN3KdLhUSkn4rQTU1NTJw4kX333ZfXX3+dadOmddrmscce48wzzwRg3LhxTJgwYde6iooKTjrpJACOOuoo1q9fn3YO7s63vvUtJkyYwIknnkhDQwOvv/56716QiIiI9B+1RzJGhY1M06wbuU2XCokI9FsRuuO60ldeeQV333VNa0+Vl5djZkAw8Fdra2vaOdxyyy1s2rSJFStWsGrVKvbZZx927NiR9n5ERESkn6k9kjEqbGSaZt3IbbpUKOctWtnAlCsfZMycPzLlygdZtLIh6pSkEPVzEXrQoEHMnz+fa665plNjYMqUKSxcGBRTn3/+edasWdPt/oYMGcLbb7/do+feunUre++9N+Xl5Tz00EO88sor6b8AERER6X9qj2SMChuZplk3cpsuFcppi1Y2MPfONTQ0NuFAQ2MTc+9co+KGZF4WitCTJk1iwoQJ3HrrrXHxCy64gE2bNnHYYYdxySWXcPjhhzNs2LAu93XmmWdSV1fHpEmTuh2s65Of/CTLly9n/Pjx/OpXv+KQQw7p82sRERGRfqD2SMaYBhTbbfLkyR47EqwUoB+OCy9DSTBsdDBDikRqypUP0tDY1CleU1XJ43M+FEFGkk9eeOEFDj300J4/YPXCoLfW1vrgzMjUS7NShG5ra6OlpYWBAweybt06TjzxRNauXUtFRUW/P3dPJDuOZrbC3SdHlFLRUXtERCR/qT2SGem2R8qyklWGmdlHgB8DpcACd78yYf05QB3QcZr3p+6+IKtJSm6aemkwpkbs5Si6VChnbExS1OgqLtInE2ZF0ptu+/btfPCDH6SlpQV357rrrsuZRoSIiIhkmdojGZF3hQ0zKwWuBaYB9cAyM1vs7s8nbPo7d78w6wlKbuv4pxFBVVS6V11VmbTHRnVVZZKtRfLTkCFD0Nl4ERERiVKhtUfyrrABHAO85O4vA5jZbcApQGJhQyS5iKqi0r3a6WOZe+camlradsUqy0upnT42wqwkn7j7rlG8JX26PFVERKTv1B7pm960R/Jx8NAaIHaQhPowlugTZrbazO4ws9HZSU1E+mLmpBrmnTqemqpKjGBsjXmnjmfmpGR/4iLxBg4cyJYtW/TlvJfcnS1btjBw4MCoUxEREclbao/0TW/bI/nYY6Mn7gFudfedZnY+8Esg6ciDZnYecB7A/vvvn70MRSSpmZNqVMiQXhk1ahT19fVs2rQp6lTy1sCBAxk1KjNTzImIiBQjtUf6rjftkXwsbDQAsT0wRrF7kFAA3H1LzOIC4OpUO3P3G4AbIBiFPHNpiohINpWXlzNmzJio0xAREZEipvZINPKxsLEMONjMxhAUNM4Ezo7dwMz2c/dXw8UZwAvZTHDRygbqlqxlY2MT1VWV1E4fqzPQIiIiIiIiIv0g7wob7t5qZhcCSwime/25uz9nZpcDy919MTDbzGYArcC/gXOyld+ilQ1xgx82NDYx9841ACpuiIiIiIiIiGRY3hU2ANz9XuDehNilMffnAnOznRdA3ZK1cTM6ADS1tFG3ZK0KGyIiIiIi8v/bu/s4ucry/uPfa2ZnwoSHLCQB3N3wpBgFEokEpE18DDEgJKSRbJFSrRWhL2vT2nYhqW2A1LqBqCgWW2O02qqNiw1rIviLmKgQrDXBxfBkBCKYneUhC2wQssnuzty/P2Y22dnMSXaS2XOfmfm8X699zc41JzNXdp7Ouc59XzeAMqvEVVEiraunt6Q4AAAAAAA4fBQ2yqyhPlVSHAAAAAAAHD4KG2XWMmeyEjEriCVippY5kz1lBAAAAABA9aKwMRrsENcBAAAAAEBZUNgosxXrt6k/4wpi/RmnFeu3ecoIAAAAAIDqRWGjzGgeWgG2tkm3nSPdVJ+73NrmOyMAAAAAwGGisFFmNA+NuK1t0rpF0q4dklzuct0iihsAAAAAUKEobJRZy5zJSiXiBbFUIk7z0KjYsEzqHzZ6pr83FwcAAAAAVJw63wlUm/nTGiXlem109fSqoT6lljmT98Xh2a7O0uIAAAAAgEijsDEK5k9rpJARVanjpd6XiscBAAAAABWHqSioKXsHMiXFAQAIYmYXm9k2M3vSzBYHbNNsZo+Z2aNm9u2wcwQAoBYwYgM1JdH/SklxAACKMbO4pDskzZbUKWmzma11zj02ZJszJS2RNMM597KZnegnWwAAqhsjNlBTurLjS4oDABDgAklPOue2O+f6JK2WdPmwbT4q6Q7n3MuS5Jx7IeQcAQCoCRQ2UFNWJa/WXle4as1eF9eq5NWeMgIAVKhGSTuGXO/Mx4Z6o6Q3mtkDZvZzM7s46M7M7Foz22JmW3bu3DkK6QIAUL0obKCmXDq1QSYriJlMl05t8JQRAKCK1Uk6U9K7JH1A0lfMrL7Yhs65lc656c656RMnTgwvQwAAqgCFDdSU85/6opI2UBBL2oDOf+qLnjICAFSotKRJQ6435WNDdUpa65zrd879VtJvlCt0AACAMqKwgdqyq7O0OAAAxW2WdKaZnW5mSUlXSlo7bJt25UZryMwmKDc1ZXuIOQIAUBNYFWUUtHektWL9NnX19KqhPqWWOZM1f9rwabfwYXfqZI3tfbZ43EM+AIDK5JwbMLOPS1ovKS7pa865R81smaQtzrm1+dvea2aPScpIanHOvegvawAAqhMjNsqsvSOtJWseVrqnV05SuqdXS9Y8rPaO4aNT4cOt/X+s3S5ZENvtkrq1/489ZQQAqFTOuXucc290zr3eOfcv+djSfFFDLudvnXNnOeemOOdW+80YAIDqxIiNMluxfptmZ36q65NtarBudbkJunWgWSvWJxm1EQHfePUCvRTr0/V1bWqwF9XlxuvWgWat23uBbvKdHAAcAUYLAgCAWkVho8ymv3KvWhOrNNb6JElN1q3liVVa8ookvcdrbpAa6lNa2zNTa/tmFsQb61OeMgKAIzc4WrC3PyNp/2hBSRQ3AABA1WMqSpktSd65r6gxaKz1aUnyTk8ZYaiWOZN1RfJn2pRcpO1jrtKm5CJdkfyZWuZM9p0aABy2Feu37StqDOrtz2jF+m2eMgIAAAgPIzbK7CR1lxRHuObHH9BliVWqy+yRlB9RE1+luvhbJDX7TQ4ADlNXT29JcQAAgGrCiI0ye14TSoojZBuW7StqDKrL7JE2LPOUEAAcuYaA6XRBcQAAgGpCYaPMWvsWFl11o7VvoaeMUGBXZ2lxhG9rm3TbOdJN9bnLrW2+M8JQPD+R1DJnslKJeEEslYgzzQ4AANQEChtltuW42Vrcf406sxOUdabO7AQt7r9GW46b7Ts1SNK4ptLiCNfWNmndImnXDkkud7luEQfPUcHzE1nzpzWqdcEUNdanZMo1RG5dMIXGoQAAoCbQY6PMWuZM1pI1fQWrbqQScbVy1iwaZi3NHYj1D5l3nkjl4vBvw7LC50bKXd+wTJpKDxTveH4ibf60RgoZAACgJjFio8zmT2vU+89rVNxMkhQ30/vPY2czMqY2S3Nvl8ZNkmS5y7m3c1AWES5gSlBQHCFjKhcAAAAiiMJGmbV3pLXnl6v108RfafuYq/TTxF9pzy9Xq70j7Ts15LVnZmjG3tt1+p5vacbe29WemeE7JeTRfDfimMoFAACACKKwUWYP3b1Sy2ylmmLdipnUFOvWMluph+5e6Ts1KFd4WrLmYaV7euUkpXt6tWTNwxSeIoLmuxE3a2lu6tZQTOUCAACAZxQ2yuyavm9qrPUVxMZan67p+6anjDDUivXb1NufKYj19me0Yv02TxlhKJrvRhxTuQAAABBBNA8ts4bYiyXFEa6unt6S4ghXy5zJ+sl3781fc5KkmIklK6NkajOFDAAAAEQKIzbKLBNPlRRHuBrqiz8PQXGEq69jtT5dt6pgKten61apr2O179SAyGvvSGvG8o06ffHdmrF8I1PsAABAzaCwUWZ1md0lxRGuljmTlUrEC2KpRJwRAREx45kvFZ3KNeOZL3nKCKgM7R1pbbrrS/rO7o/qqTFX6Tu7P6pNd32J4gYAAKgJTEVBTZk/rVGNO76vSb9coRPdTr1gE7XjrS06f9rFvlODpNepOyDOVC7gYAYbVw8WBpusW8vcSt16d53mT7vZc3YAAACjixEb5eZKjCNcW9s07VdLdbJ2KmbSydqpab9aKm1t850ZJD0bsKzrsxofciZAZaFxNQAAqGUUNsqMuka07f7BUtVl9hTE6jJ7tPsHLFcZBQ+c+jHtdYVThfa6uB449WOeMgIqA42rAQBALWMqSplZiXGEK9X7bElxhKt5+iT1/a7w3WJmap4+yVNGGO6p/7hOpz7TprjLKmMxPXNqs17/4S/7Tqvm7UmdrLFFPsf2pE7WWA/5AAAAhKliR2yY2cVmts3MnjSzxUVuH2Nm38nf/n9mdpqHNBE1DKmJtJfX/aOSGiiIJTWgl9f9o6eMMNRT/3Gdznh6teqUlZlUp6zOeHq1nvqP63ynVvOePfGdcsM+x5zLxQEAAKpdRRY2zCwu6Q5Jl0g6S9IHzOysYZt9RNLLzrk3SLpN0i3hZgmgVPV9z5cUR7jOeHq1bNjwM7NcHH41Pn1n0eem8ek7/SQEAAAQooosbEi6QNKTzrntzrk+SaslXT5sm8slfSP/+3clzTIbvtsHAEDlG6NMSXEAAIBqUqmFjUZJO4Zc78zHim7jnBuQtEtiaQUAAAAAAKpJpRY2ysbMrjWzLWa2ZefOnb7TAQAAAAAAJajUwkZa0tBlEprysaLbmFmdpHGSDlj3zjm30jk33Tk3feLEiaOULgAAAAAAGA2VWtjYLOlMMzvdzJKSrpS0dtg2ayV9KP/7FZI2Oje8ZzwAAAAAAKhkdb4TOBzOuQEz+7ik9ZLikr7mnHvUzJZJ2uKcWyvpq5L+y8yelPSScsUPAAAAAABQRSqysCFJzrl7JN0zLLZ0yO97JC0MOy8Ah6/L1atBPQXLVjqXiw/vDgwAAAAAUgUXNgBUn/H2moYvymwmjddrfhICAAAAEHmV2mMjsoKaeNDcIxpe01ElxRGuMeovKY5wvaYxJcUBAACAMFDYKDMKG9G21xUfpBQUB7Df0dpbUhwAAAAIA4WNMgv6g/KHjobj7dWAOFMdAFSuvQEzS4PiAAAA1YTjbdSULjchID4+5EwAoHxecwHT7ALiAAAA1YTCRpntVbykOMK13Z0kN2xekHO5OABUKkajAQCAWkZho8ySlikpjnDNjD1adNWNmbFH/SQEVJD+gAJtUBzhYTQaAACoZRQ2ysxKjCNcPD/A4YureIE2KI7wMBoNAADUMgobZcaBM3D4fu0aix6c/do1+kkIBWiOHF0zAkajzWA0GgAAqAHsjwKIjGO1t+jB2bEsJxoJmYCvjKA4wkPRCQAA1DL2eQBERoN1B8RfDDkTFPOz7JuLjqj5WfbNfhLCfgwXBAAANYzCRplxRhM4fM+qeAPEZ0UDxCg4w54vOqLmDHveT0LYh7oGAACoZRxtl5m5bElxhIvCU7T9KHNu0REBP8qc6yUfFAoeUVM8DgAAAISBo7ky69ExJcURLobSR9us2ENFRwTMij3kJR8UygZ8ZQTFER5XYhwAAKCasDdaZsMPmg8VR7gYSh9t9NiItrgVH3kWFEd4dunYkuIAAADVhMJGmR1vrwbEXws5ExTDgXO0dbniPTa6HD02osBZ8a+MoDjCs7TvTzXgCqu2A860tO9PPWUEAAAQHvZGyyx4KsrRIWeCYnZZwFlNY6pQFHxBV2qvixfE9rq4vqArPWWEoWIBvYKC4ghPzExZFb53soorNnyIGgAAQBWisFFmFrATGRRHuLLZ4nOCguII1/mnnSAbto6DyXT+aSd4yggFLF5aHKH5+/h3lLSBgljSBvT38e94yggAACA8FDbKbJz7fUC8+BQVhOv4WPEpQUFxhOsdv/u3ogdn7/jdv3nKCAVcprQ4QtMQC5hmFxBHeZjZxWa2zcyeNLPFB9nu/WbmzGx6mPkBAFArKGyUGT0Com1P6uSS4gjXiW5nQJyDs0hgxEZ0BfU5of/JqDGzuKQ7JF0i6SxJHzCzs4psd6ykv5b0f+FmCABA7WCPp8xuHWjWbpcsiO12Sd060OwpIww19pJl6rMxBbE+G6OxlyzzlBGGesEmBsSLFwwRMkZsRBb9T7y4QNKTzrntzrk+SaslXV5ku3+WdIukPWEmBwBALaGwUWZrszN1Z+YdGnAxOScNuJjuzLxDa7MzfacGSe2ZGVrd//aC52d1/9vVnpnhOzVI+u0JMw9YGtm5XBwRMG5SaXGEhxEbPjRK2jHkemc+to+ZvVXSJOfc3Ye6MzO71sy2mNmWnTuLj14DAADFscdTZvNim7Qwfp/qLCszqc6yWhi/T/Nim3ynBkkP3PUlXTHs+bkifp8euOtLvlODpFNful/D++ya5eKIgFlLpUSqMJZI5eLwK2hkBiM2vDGzmKTPSfq7kWzvnFvpnJvunJs+cWLx0WsAAKA4ChtltjjZprHWVxAba31anGzzlBGG+mutLvr8/LVWe8oIQ50c0EvjZPdiyJmgqKnN0tzb8yM0LHc59/ZcHKg9aUlDhys15WODjpV0jqSfmNnTki6UtJYGogAAlF+d7wSqzetU/MAsKI5wNVrx5yEojnB1uQlqKvJcdLnxavKQD4qY2kwhI5JMUrFlq1lqfBRtlnSmmZ2uXEHjSklXDd7onNslaV+DIDP7iaS/d85tCTlPAACqHiM2yizjiv9Jg+IIVybgJR8UR7juiF1VtPnuHbGrAv4FgJxiRY2DxXGknHMDkj4uab2kxyW1OeceNbNlZjbPb3YAANQWRmyUWdyKz2cOiiNcMQWsHBAQR7ji5zZr8S8GdH1dmxrsRXW58bp1oFnHXcAIAeBgdqdep7G9zxaPe8inVjjn7pF0z7BY0aYzzrl3hZETAAC1iMJGmWVlihc5Q5aLw7fgqQ4TmOoQAT/+9U6lszO1tq9wFZTGX7NCQGRsbZM2LJN2dUrjmnKNQ5ma4t0/9y7UP7l/L+ghtNsl9c+9C9XqMS8AAIAwMP6+zGLD16o8RBzhWpW8Wn2usJ7X5+q0Knm1p4wwVFdPb0lxhGxrm7RukbRrhySXu1y3KBeHV/+950It7r9GndkJyjpTZ3aCFvdfo//ec6Hv1AAAAEYdIzbKLahPG/3bIuHSqQ3Sg8OLTC4Xh3cN9Smd98q9+ako3epyE3TrQLMePG6279Qg5UZq9A8rMvX35uKM2vBubZHRTgAAALWAERuoKec/9UUlLVMQS1pG5z/1RU8ZYajPn/WEbkmsUlOsWzGTmmLduiWxSp8/6wnfqUGS29VZUhwAAAAIA4WNMutLjCspjpAFHYBxYBYJ5z/1RaWG9AiQpJT1UXiKiOf3r1w5ojjCYwGjAoPiAAAA1YTCRpm1ug9rrytsE7rXxdXqPuwpIxQYF9AiNCiOcFF4irTWvoXFP9/6FnrKCIP+5G2nlBQHAACoJhQ2yuwbr16glv7rChq4tfRfp2+8eoHv1CDlVnBIpApjiVQuDv9Sx5cWR6iOH5tU3bClkeuU1fFjk54ywqBPzZ+iqy88RfH8EI24ma6+8BR9av4Uz5kBAACMPpqHlllDfUpre4osV1mfCvgXCNXUZm1++mVN+uUKnei69YJN0I4pLTqfxofRMLC3tDhCtTj7ZcWtsPlu3JwWZ78s6WY/SWGfT53xuD712yFL8Z6xVBKFDQAAUP0obJRZy5zJWrLmYfX2729QmUrE1TJnssesMKi9I60lm09Vb/8X9sVSm+NqnZTW/GmNHjODJKn/tdLiCNWYbPFld4PiCNHgUryDq9YMLsUrsWINAACoekxFKbP50xrVumCKGutTMuVGarQumMJBc0SsWL+toOgkSb39Ga1Yv81TRkAFGb5S8qHiCM/BluIFAACocozYGAXzpzVSyIiorp7iZ5aD4ghZ6gSp96XicQCB3K5OFVsAJSgOAABQTRixMRq2tkm3nSPdVJ+73NrmOyPkNQT0OgmKI2SX3CLFhzWijCdzcXj3mo4qKY7wsBQvAACoZRVX2DCzE8zsXjN7In9ZdLkEM8uY2UP5n7WhJTg4z3nXDklu/zxnihuRcNr44gWMoDhCNrVZuvwOadwkSZa7vPwOegRExGcSf6EBV/i1MeBi+kziLzxlhEGtfQu12xUWBXe7JEvxAgCAmlBxhQ1JiyVtcM6dKWlD/noxvc65c/M/80LLjnnOkfbz7S+XFIcHU5ulTzwi3dSTu6SoERnnXnqtFruPFSxnvdh9TOdeeq3v1GreluNma3H/NYXPTf812nLcbN+pAQAAjLpK7LFxuaR35X//hqSfSLrBVzIH2NVZWhyhyrjiXQ6D4vBga1uuEDi4ZOWspRQ3ImL+tEZteeZKvfP/ZijjnOJm+sDbJtFTKAJyK3L1FSw1nkrE1cqKXAAAIEye9uUrccTGSc65Z/O/PyfppIDtjjKzLWb2czObH3RnZnZtfrstO3fuPPLsxjWVFkeo4maaF9ukTclF2j7mKm1KLtK82CbFjfZ6kcBUrkhr70jrfx5M7ysEZpzT/zyYVntH2nNmYEUuAADgncd9+UiO2DCzH0k6uchNnxx6xTnnzCzoVPupzrm0mZ0haaOZPeyce2r4Rs65lZJWStL06dOP/LT9rKW5J2/odJREKheHd61nPq7LnlmlsdYnSWqybi1PrNLMUydIep/f5HDwqVyM2vBuxfptmp35qa5PtqnButXlJujWgWatWJ/kADoCWJELAAB45XFfPpKFDefcRUG3mdnzZvY659yzZvY6SS8E3Ec6f7ndzH4iaZqkAwobZTf4hDGUPpKad/2HlC9qDBprfbm4/s5PUtiPqVyRNv2Ve9WaOLAwuOQVSXqP19wAAADgmcd9+UgWNg5hraQPSVqev/ze8A3yK6Xsds7tNbMJkmZIujW0DKc2U8iIKg6co21cU37oWpE4vLsh2aaxOrAweEOyTVKrn6QAAAAQDR735Suxx8ZySbPN7AlJF+Wvy8ymm9mq/DZvlrTFzH4l6ceSljvnHgstw61t0m3nSDfV5y7pDxAd9ECJtllLpXjhkpWKJ5nKFREn68WS4gAAAKghs5bm2jAMFVJbhoobseGce1HSrCLxLZKuyf/+M0lTQk4tZ7BhyuDcosGGKRKjOKJg1lKp/WNStn9/LJbgwDlKhq9Qw4o1kdGVHa+mWHfxuId8AAAAECEe2zJU4oiNaDtYwxREw/AVUFgRJTo2LCssOkm567x/ImFV8mrtdoUjana7pFYlr/aUEQAAACJlarP0iUekm3pylyGd3KewUW70cIi2DcukTGGPAGX6OHCOCt4/kXbupddqqbtWndkJyjpTZ3aClrprde6l1/pODQAAADWs4qaiRB7ND6Ot2HNzsDjCxfsn0nJLiX5Mf7x+lrp6etVQn1LLnMksMRoR7R1prVi/jecGAADUHAob5TZraWGPDSm0hikYAYtLLlM8Dv94/0Te/GmNHCxHUHtHWkvWPKze/tznW7qnV0vWPCxJPF8AAKDqMRWl3KY2S3Nvl8ZNkmS5y7m30zg0KooVNQ4WR7h4/0Ree0daM5Zv1OmL79aM5RvV3pH2nRIkrVi/bV9RY1Bvf0Yr1m/zlBEAAEB4GLExGqY2cyAWVYzYiD7eP5HFqIDo6urpLSkOAABQTRixMQo4oxlhjNgADhujAqKroT5VUhwAAKCaUNgos8EzmumeXjntP6NJcSMixk0qLQ5gH0YFRNe73zSxpDgAAEA1obBRZpzRjLbNr/8r9bpkQazXJbX59X/lKSOgcjAqILp+/OudJcUBAACqCYWNMuOMZrT9zWNn6ob+a9SZnaCsM3VmJ+iG/mv0N4+d6Ts1IPJa5kxWKlHYjyaViKtlzmRPGWEQ3z0AAKCW0Ty0zBrqU0oX2ZHkjGY0dPX0Kq2ZWts3syBu7PwDhzR/WqO2PPOS/vv/dijjnOJmev95LP8aBXz3AACAWsaIjTLjjGa0MZQeOHztHWn9z4NpZZyTJGWc0/88mKaHUAS0zJmsK5I/06bkIm0fc5U2JRfpiuTP+O4BAAA1gcJGmc2f1qjWBVPUWJ+SSWqsT6l1wRTOaEYEhSfg8NFDKLrmxx/QLfF/V1OsWzGTmmLduiX+75off8B3agAAAKOOwgZqCoUn4PB19fRqXmxTwaiAebFN9HGIgh/coLgbKAjF3YD0gxs8JQQAABAeemyU2eByr4NnNQeXe5XEwXNEzJ9GTwDgcHzomF/o+v5VGmt9kqQm69byxCqdkEhKutRvcrWu96XS4gAAAFWEERtlxlBtANXq+sR39hU1Bo21Pl2f+I6njAAAAABGbJQdS+4BR6a9I60V67epq6dXDfUptcyZzAibiBjb+1xJcYQodULx0RmpE8LPBQAAIGSM2CgzVt0ADt/gVK50T6+c9k/lYtWNiBjXVFoc4bnkFimeLIzFk7k4AABAlaOwUWasugEcPqZyRdyspVJiWJE2kcrF4dfUZm1+y6f0nCYq60zPaaI2v+VT0tRm35kBAACMOqailNngkHmG0gOlYypXxA0eJG9YJu3qzI3UmLWUg+cIaO9Ia8nmU9Xb/4V9sdTmuFonpfn+AQAAVY/Cxihg1Q3g8DTUp5QuUsRgKleETG2mkBFBBxvtxPcRAACodkxFARAZTOWqAFvbpNvOkW6qz11ubfOdEcRoJwAAUNsYsQEgMpjKFXFb26R1i6T+/MHyrh256xKjODxjtBMAAKhlFDYARApTuSJsw7L9RY1B/b25OIUNr1rmTFbLd3+l/ozbF0vEjdFOAACgJjAVBQAwIm5XZ0lxhMwd4joAAECVorABABiR5zWhpDjCs2L9NvVnCysZ/VnHUsmjzMwuNrNtZvakmS0ucvvfmtljZrbVzDaY2ak+8gQAoNpR2AAAjEhr30LtdsmC2G6XVGvfQk8ZYRDNQ8NnZnFJd0i6RNJZkj5gZmcN26xD0nTn3FRJ35V0a7hZAgBQGyhsAABGZMtxs7W4/xp1Zico60yd2Qla3H+Nthw323dqNa+hPqV5sU3alFyk7WOu0qbkIs2LbaJ56Oi6QNKTzrntzrk+SaslXT50A+fcj51zu/NXfy6pKdQMWcUIAFAjaB4KABiRljmT1XLnHq3tm7kvloiZVtCg0rvPn/WEznlwlVLWJ0lqsm7dklilR846TdJ7vOZWxRol7RhyvVPS2w6y/Uck/SDoRjO7VtK1knTKKacceXasYgQAqCGM2AAQKe0dac1YvlGnL75bM5ZvVHtH2ndKGCJ7iOvw4/ynvrivqDEoZX06/6kvesoIQ5nZ1ZKmS1oRtI1zbqVzbrpzbvrEiROP/EEPtooRAABVhhEbACKjvSOtJWseVm9/RpKU7unVkjUPSxJLwEbAzese1aW6X9cn29Rg3epyE3TrQLNuXlfH8+Nb0Mo0rFgzmtKSJg253pSPFTCziyR9UtI7nXN7Q8qN1wQAoKYwYmM0MKcVOCwr1m/T7MxPC/oEzM78lJUdIuLte36s5YlVaop1K2ZSU6xbyxOr9PY9P/adGsYFtG4IiqMcNks608xON7OkpCslrR26gZlNk/RlSfOccy+Emh2vCQBADaGwUW6Dc1p37ZDk9s9ppbgBHNL0V+4teuA8/ZV7facGSdfXtWnssOkOY61P19fx+ebdrKVSYlij0EQqF8eocM4NSPq4pPWSHpfU5px71MyWmdm8/GYrJB0j6U4ze8jM1gbcXfnxmgAA1BCmopTbwea00qwrGra25Z6PXZ25M1ezlvLcRMSS5J0aqwMPnJck75TU6icp7NMQe7GkOEI0tVn63c+lB78uuYxkcektV/HZNsqcc/dIumdYbOmQ3y8KPalBg88933cAgBpAYaPcmNMabXSJj7ST1F1SHOHakzpZY3ufLR73kA+G2Nom/erbuaKGlLv81belUy7ks62WTW3m+QeAcuIEaWQxFaXcmNMabXSJjzQLeJ8ExRGusZcs00D8qILYQPwojb2E9493fLYBGAFWHgOOAC0HIo3CRrkxpzXaGFETbWe+t7Q4wjW1WXWXf1EaN0mSSeMm5a5zpsI7F/AZFhQHUHsGVx5L9/TKaf/KYxQ3gBHiJEKkMRWl3JjTGm3jmvJV1iJx+PfED0uLI3wMbY+k5zVBJ2tnQBwAciuPDS6nPqi3P6MV67exZDcwEpwgjbSKG7FhZgvN7FEzy5rZ9INsd7GZbTOzJ81scZg5amqz9IlHpJt6cpccBEQHI2qijS8M4LC09i3UbpcsiO12SbX2LfSUEYCo6erpLSkOYBhaDkRaxRU2JD0iaYGk+4I2MLO4pDskXSLpLEkfMLOzwkkPkTa1WZp7e8FQes29neJTVPCFARyWLcfN1uL+a9SZnaCsM3VmJ2hx/zXactxs36kBiIiG+lRJcQDDcII00ipuKopz7nFJMrODbXaBpCedc9vz266WdLmkx0Y9QUQfQ+mja9ZSDXzvr1SX2bMvNBA/SnV8YURGe0daK9ZvU1dPrxrqU2qZM5khzBHQMmeylqzp09q+mftiqURcrXMme8wKQJTkPiceLpiOkkrE1cLnBDAytByItIorbIxQo6ShjRQ6Jb3NUy4ARqg9M0Ob+q/R32i1GuxFdbnx+nz2Ss3MzNB838lhX+O5wZ3iwcZzkihueDb496foBCAInxNAGXCCNLIiWdgwsx9JRfudfdI5970yP9a1kq6VpFNOOaWcdw2gRCvWb1O67w/1Xf1hQfx/aWwWCTSei7b50xp5HgAcFJ8TlY1Rk0CwSBY2nHMXHeFdpCVNGnK9KR8r9lgrJa2UpOnTp7sjfFwAR4DGZtHG8xNxW9sYHgsAVYpRk6gYnvZHKrF56EhslnSmmZ1uZklJV0pa6zknAIdAY7No4/mJsK1t0rpF+eWsXe5y3aJcHABQ8Q42ahKIDI/7IxVX2DCzPzKzTkl/IOluM1ufjzeY2T2S5JwbkPRxSeslPS6pzTn3qK+cAYzMu980saQ4wtUyZ7JSiXhBjMZzEbFhmdQ/bORMf28uDgCoeIyaREXwuD8SyakoB+Ocu0vSXUXiXZLeN+T6PZLuCTE1AEfox7/eWVIc4aLxXITt6iwtDgCoKA31KaWLFDEYNYlI8bg/UnGFjUpAYx/g8HA2IvpoPBdR45rywz6LxAEAFY/lelERPO6PVNxUlKgbbOyT7umV0/7GPu0dRXuXAhiCHg7AYZq1VEoMe58kUrk4alZ7R1ozlm/U6Yvv1ozlG9kXASrY/GmNal0wRY31KZmkxvqUWhdM4WQDosXj/ggjNspsxfptWuy+oj8Zs1FxZZVRTN/KvEcr1v8lHzzAIXA2AjhMg93GWRUFeaygUAJWFPKO0c4jw6hJRJ7H/REKG2V23at36E/jP5JZ7nqdsvpg/EeyVyXpPT5TAyKPHg7AEZjazMEY9jnYCgp8pg4x2MF/sNndYAd/ifdTSCjCAVXG0/4IhY0yu6puo2xYzCwXB3BonI0AgCNHz6IROlgHfwoboaAIB6AcKGyUWVzZkuLwgCGnAIAqxwoKI1RrKwpFcB+IIhxQXXxNLaN5aJmZxUuKI2SDQ0537ZDk9g853drmOzMAAMqmZc5kpRKF+x70LCoiqFN/Na4oFNF9IBqHA9XD50IaFDbK7bw/Ky2OcB1syCkAAFWCFRRGqJZWFIroPhBFuJFjpSP/eA4O7mBTy0YbU1HK7bLPSS8+Kf32p/tjp78zF4d/tTbkFABQs+hZNAJTm7X56Zc16ZcrdKLr1gs2QTumtOj8apyiGtF9IBqHjwxNVv3jOTg0n1PLKGyU29Y2qfMXhbHOX+Ti1fglWWnGNeWHYBaJAwBQTSLYTyFq2jvSWrL5VPX2f2FfLLU5rtZJ6eo7UInwPhBFuEOjyap/PAeHNi6VUE9vf9H4aGMqSrlFdJgf8mppyCkAoHZFtJ9C1PgcNh069oEqGk1W/eM5ODQbvjzoIeLlRGGj3CI6zA95U5ulubdL4yZJstzl3Ns5gxUhm9d+Wc/d9AZlbxyn5256gzav/bLvlACg8nCiZURq6kCFfaCKRpNV/3gODq1n94GjNQ4WLyemopRbhIf5IW9qM1/iEbV57Zd1zoP/qJT1SSadrJ0a9+A/arOk8+dd5zs9AKgcnGgZkZpbFpd9oIrVMmdyQX8HiSarYWuZM1kt3/2V+jNuXywRN56DIXx+pjJio9wY5gcctkm/XJEragyRsj5N+uUKTxkBQIWqpWVMj0DLnMm6IvkzbUou0vYxV2lTcpGuSP6MA5WQtX3ts0rf+Hplbxyn9I2vV9vXPus7pchhpaOIcIe4XuN8rnLEiI1yG6yC06wrsto70nTejqgT3U6pyBy8E113+MkAQCWbtTTXU2PodBROtBxgfvwBXZZYpbrMHklSk3VreXyV6uJvkVR9+26b1345vwLMTr1gE7XjrS3eR0S2fe2zuuyZ5RqbP7HRqG5d9sxytX1Nav7zv/OaW9TQZNWvFeu3qT9bWMnozzqahw4xf1qjtjzzkv77/3Yo45ziZnr/eeG8bilsjAaG+UVWe0e6YAhZuqdXLd/9lSSWaYqCF2yiTtbOIvEJOtlDPgBQsTjRMjIblu0ragyqy+zJ/d2q7G8V1emeM5750r6ixqCx1qcZz3xJEoUNREdN9eQ5TO0dae355Wr9NLFaDdatLjdBn//llWo/9YRRP9ZiKgpqys3rHi2YFydJ/Rmnm9c96ikjDLXjrS3a7ZIFsd0uqR1vbfGUEQCgqtVQL5KoTvd8nYqPynydXgw5k+hr70hrxvKNOn3x3ZqxfKPaO9K+U6opNA89tIfuXqlWu0NNsW7FTGqKdavV7tBDd68c9cemsIGa8nJAR96gOMKVnnSZPpn5qDqzE5R1ps7sBH0y81GlJ13mOzUg+ra2SbedI91Un7tkWc/axnKvI1NDvUhOdAeOiMzF/U737HITAuLjQ84k2to70tp015f0nd0f1VNjrtJ3dn9Um+76EsWNEPnsH1Ep/q7v35SwwpPICXP6u75/G/XHprABIDJWrN+muwZmaGbf7Tpj77c0s+923TUwQyvWb/OdGhBtHMRiOJZ7HZkz31tavIK9YBMD4sULC2HZkD1XblgDRudycez30N0rtcxWFpwJX2YrQzkTjpz50xp18+mP6oExuWbDD4xZpJtPf5Tp7EMcE9tbUrycKGygptSnEiXFES7mLgKHiYNYDOMCplIExWvWEz8sLV7Bdry1Rb3Dpnv2RmC655y6X8mGNQ43y8Wx3zV93yzai+Savm96yqj2bF77Zc19ZrkaLVdcarRuzX1muTav/bLv1CAKG6OD4cCRddO8s5WIFX57JmKmm+ad7SkjDMXcReAw1VCfAIzM8yp+Fj4oXrNq6L1z/rzr9Mh5n9JzmqisMz2niXrkvE95XxXlpCJNww8Wr1UNVnzKUFAc5RfVPjXIobBRblvbpO/9ZeFw4O/9JcWNiJg/rVErFr6lYA3wFQvfwhCyiGDuInCYaqhPAEamtW+h+lzh4nd9rk6tfQs9ZRRRqeNLi1e48087XiePO0oxk04ed5TOP83//zNbYrxWZQMO24LiKL/gPjUU4fZxJcbLiHdCuf3gBilTWMlTpi8XRyTMT39WD+y9Qr896io9sPcKzU9/1ndKyJs/rVGtC6YUFJ5aF0yh8AQcyqylUmLYyKZEKhdHTTp+bFIxDRTEYhrQ8WOTAf8CVW9rm7TmusKTb2uu837yLRZwwBMUr1VxK17qCYqj/LIWUFwKiNckKzFeRnWH3gQl6X2ptDjC9f2/lbZ8df91l9l//bLP+ckJBeZPa6SQAZRqanPucsOy3BD6cU25osZgHDVn8cC/q27YjmSd5eLSzV5yiiLX+3LR/e2geEVb9zc6cBxENhfnsyLy+hLjNKZ/V/G4h3xqUTxgHFFQHOGisIHa8uDXg+MUNgBUsqnNHJxgnzFuT9EzZGPcnvCTibDnNUEnF+nlkItXmf7XSosjUmLZ/pLiKL/nNTHg82Ji9X1eHCaPAzaYilJ2qRNKiyNcLlNaHAAAVK3WvoXaPWylkN0uWZW9SDxOfT+obMAhT1C8VtVldpcUR/l9OqB30aer8PPicD0//sKiyzc/P/7CUX9sChvldsktUmzY0qGxRC4O/yxeWhwAgArEweLI/KjunVrcf406sxOUdabO7AQt7r9GP6p7p+/UakYsoLQSFK9ZUa1M1ZCYmWIqPBkaU0ax4esV17AFr92g+7Nnyznt+7k/e7YWvDb6/SYpbJTb1GZp/pekcZMkWe5y/pcYHhwV5/1ZaXEAACrQNzOzip41+2Zmlp+EImp339CDFBcQrw7DXw+HiofleZtYUrxW7bJjS4qj/JbWfUN1VviGqTOnpXXf8JRR9HT19OqD/Z/U6Xu/ve/ng/2fVFdP76g/NoWN0TC1WfrEI9JNPblLihrRcdnnpOkf2T9Cw+K56/TXAABUkVtjH9WvXWPBWbNfu0bdGvuo79QiZW5sk5YnVqkp1q2YSU2xbi1PrNLc2CbfqZXdf2UuKlrs+q/MRX4Sytvx1hb1DpsO1OuS2vHWFk8ZRdOLp15a9Pl78dRL/SRUg47XqyXFa9FRieLlhaB4OdE8FLXnss9RyAAAVLUbsl/Rm+JpDR0h/SaldUPmK5Iu9pZX1Fxf16ax1lcQG2t9ur6uTVKrn6RGyeeT10l90p/ENyqurDKK6VuZ9+jzyev0IY95nT/vOt2xvVuXv/Q1NdiL6nLj9b0T/lx/Oe86j1lFz8Tf3aPhMx7McnEgKvYOFF8hJiheTozYABAtW9uk286RbqrPXW5t850RAFScq+o2Fj0Iuqpuo5+EIqrBugPiL4acyei7ce7ZB/QCiJnpxrlne8oo5x/bH9a2FwbPeOeGJGx74VX9Y/vD/pKKoGOzr5QUR/n12DElxWtRNmBqW1C8nChsAIiOrW3SukXSrh2SXO5y3SKKGwBQoriKnx0LiteqLjchID4+5ExG3/z0Z3V1/F7VWVZmUp1ldXX8Xs1Pf9ZrXq/84ttFpwO98otve80LGO4H2T8oOh3oB9k/8JNQBMUC+qgGxcv62KP/ELWnvSOtGcs36vTFd2vG8o1q70j7TgmoDBuWSf3Dmgv19+biAIARc1Z8Fy8oXqs2ZM8teqCyIXuul3xGk9vytQPWxLF83KeDTwfCoJdc8VEBQXGU38X2v0VHwl1s/+snoQgaUxfTvNgmbUou0vYxV2lTcpHmxTZpTN3of/fw7VZm7R1pLVnzsNI9vXKS0j29WrLmYYobwEjs6iwtDgAemdnFZrbNzJ40s8VFbh9jZt/J3/5/ZnZaWLndpfcWPWC/S+8NK4WKMDf+86IHKnPjP/eT0KiK5nqhtTQd6Eh8P3th0ff097MX+kmoBtE89NBmZ+7T5xL/VjAC63OJf9PszH2j/tgUNspsxfpt6u0vXCKstz+jFeu3ecoIqCDjmkqLA4AnZhaXdIekSySdJekDZnbWsM0+Iull59wbJN0m6Zaw8rtv7xkaGHZ+fkCm+/aeEVYKFeF4CzhQCYhXtGjWNdSjgL4FOjrkTKLt/fFNRYtw749X3wo+qFyfTny16JK4n058ddQfm1VRyixojd4w1u4FKt6spbmeGkOnoyRSuTgARMsFkp50zm2XJDNbLelySY8N2eZySTflf/+upH81M3Nu+HnXQpmeHvWsuasgNubMNyg1ZYpcf792rfv+Af/mqDe/SUe9+c3K9vbqlR/8P32i87t6TUftv/2Efh1VP6Dr1aaeNRcc8O9T556rMWecroGXX9arP/7JAbePPX+6kpMmaWDnTr16/4EHUkf/wYVKvO516n/2Wb32vweOdjjm7TNVN3Gi+nbs0O7NWw68/d3vUt3xx2vv9t+q96GHDrj92NkXKX7ssdrzm99ozyOPHnD7cZdcrFgqpT2PP649j//6gNvHzb1Mlkio9+GHtfeJJ/fF3faUTFL9Gbnvnd3dCfW9UicnyfLPgdXFNW7ePEnSa7/4hfo7C0fhxo4ao+Pe977c7T/7mfqfe77w9mOO1nHvzY2UefX++zWws3CEQry+Xse+592SpN9v/LEyPT0Ft9dNnKBj3v52SdIrP/yhsq++VnB74uSTdPQf/mHu9nvuUXbP3sLbmxp19AUXyEl65emU3LA2K4ljB/aVEIa/7qTSX3sH3H7O2TrqjW9U5ve/1+/v/dEBt/fvikn10sDemF5Nj9kX3+0Siq25q2pfe4PqF/xR7v/7yw71Pf10wW1DX3v2QlY9r6UKbo/VOR07aY+kaL/2JGnX2rVyA4Unf5Onnaaxb50myc9rr9TPvVe3H69jbM++248+aa8SR2e187VjlSySf7W89kr53HO/jalHKcUSTsflX5uvPjtG/b2xguf4SF97xTBio8wa6lMlxQEMMbVZmnu7NG6SJMtdzr09FweAaGmUtGPI9c58rOg2zrkBSbskFe1KaWbXmtkWM9vy+9///oiTGxcwNPpE99IR33c1GVC8pDjKb5wVP2A52vYWjQO+pDX+gAFOzkm/cYwsjgI7xEmDmjJ9+nS3ZcuB1bRSDPbYGDodJZWIq3XBFM2fNnx/BwCA6DOzB51z033nESVmdoWki51z1+Sv/6mktznnPj5km0fy23Tmrz+V36Z4U4G8cuyPvLi0UeNjBxY3Xsweo/HL6Ps1KHvjuKLd+rNOit28K/yERtHAjcerzg5cFWfAxVR388seMsp59cYTdUyRIsarboyOufkFDxlFk7tx3AFTUaTcgbVV2Ws1qjI31ituBx47Z5wpfnNP+AlF0Gi/Tg+2P1JRIzbMbKGZPWpmWTML3MEys6fN7GEze8jMjmzPoETzpzXq/ec1Kp5/RuNmev95jRQ1AACoLmlJk4Zcb8rHim5jZnWSxkkKpSPiGOsvKV6rglYgDGFlwtDFixQ1DhYPy1gVH5kRFK9VEW2RUlNiAX/toDjCVVGFDUmPSFogaSRtVd/tnDs37DNM7R1p/c+DaWXyI2Eyzul/HkyzKgoAANVls6Qzzex0M0tKulLS2mHbrJX0ofzvV0jaeKj+GuVydMBBYVAc1W/3kJ4rI4mHpZaKS0C181mAq6jChnPucedcpJcXYVUUAACqX75nxsclrZf0uKQ259yjZrbMzOblN/uqpPFm9qSkv5V0wJKwQFhSbk9JcURL1ooftgXFAR98FiqrdVUUJ+mHZuYkfdk5tzKsB2ZVFAAAaoNz7h5J9wyLLR3y+x5JC8POCyiGkRGVLa6AqUQBccCHrEzxIuMzcvHRFbnChpn9SNLJRW76pHPueyO8m5nOubSZnSjpXjP7tXOu6PQVM7tW0rWSdMoppxxWzkM11KeULlLEYFUUAAAAAIfjeU3UydoZEAeiIRNQ2MiEUNiI3Ngl59xFzrlzivyMtKgh51w6f/mCpLuUW2s+aNuVzrnpzrnpEydOPOL8W+ZMVipR+LSlEnG1zJl8xPcNAACAMqqhYQw0n6xs6wfeouEdepzLxYGoSASMIAqKl1PkRmwcKTM7WlLMOff7/O/vlbQsrMcfXP1kxfpt6urpVUN9Si1zJrMqSoS0d6R5fgAAQG4JwqClCcNPBwh0WeznB7xWzXJxhOM1jdExRRow5+LwraIKG2b2R5K+KGmipLvN7CHn3Bwza5C0yjn3PkknSbrLcu/8Oknfds79vzDznD+N5V2jqr0jrSVrHt7X4DXd06slax6WJJ4zAABqTA0N2Ijs/9UF5BAUr1Un2KslxVF+LuBFGc5aV5Uhayo65SQoXk4VVdhwzt2l3NSS4fEuSe/L/75dEmOyUNTBVq2hsAEAqBYcLAJAeR1jxZfLDorXou7xF+rE7sLRRc5J3RMu1Emj/NgVVdioFEx1iC5WrQEAAIiOqI4kAVC6+lceLzplqv6Vx0f9sSPXPLTSDU51SPf0ymn/VIf2jrTv1KDg1WlYtQYAAFSzl1zxLgBB8bBkAg5HguIAoivZt6ukeDnxiVFmB5vqAP9YtQYAUAs4Cz4ytbRSyPezFxZdVeP72Qv9JJS3OjuraF6rs7P8JAQEyAZ8ggbFES4KG2XGVIdomz+tUa0LpqixPiWT1FifUuuCKUwVAgCgBtVSASiqq2r8iz6i+7Nnyznt+7k/e7b+RR/xmhcw3G9cQ9Ei3G9cg5+EUIAeG2XWUJ9SukgRg6kO0cGqNQCAakfzUAwX1VU1Zmfu0x8mHisouvxh7DHN7r9P0iXe8gKGe6N1FS0OvlFdfhKKIJ/fPYzYKDOmOkRfe0daM5Zv1OmL79aM5RvpfwIAqDq7dVRJ8ZpVS0M2IurTia+qzgpPg9eZ06cTX/WUEVBczIpPUguK1yKfH6mM2CizwZEArIoSTYPNXQf7oAw2d5XEcwQAqBpHa09JccCXo1V8qcygeM2iCAccFIWNUcBUh+g6WHNXnjMAQLVgKsoIHewPBUQJr1VUgJd1jE7QgdPbcvHRxVQU1BSauwIAagEnd0cmW2IcQA2rpWWUDtO28bOLNljdNn72qD82hQ3UlKAmrjR3BQCg9gxvBHioOMqPY8WReU1jSooDPvxBZkvRBqt/kNky6o9NYQM1heauAABg0K7ESSXFAV/2ukRJccAHt6uzpHg5UdhATZk/rVGtC6aosT4lk9RYn1Lrgin01wAAVBXOgo/M+v5ziw6bXt9/rpd8RlNUz/g/qwklxWvV8QHL8h5vr4WcCRDs+YD3bVC8nGgeOgraO9KsihJhNHcFAFQ7emyMzMzsg7Jhp/nMcvFqM9b6SoqH5RU3Rg0qnP7jXC7O3tp+r7kxOtYOXCnmNZfUsR7yqUl8sB5Sa99CtSZWFXyu7HZJtfYv1BdG+bEZsVFmg8uJpnt65bR/OdH2jrTv1AAAQI3IBOziBcVrVYN1lxSvZHtSJ5cUD8ubLF10Tv6bjH3noY4uUtQ4WBzlR13j0H465t26M/MODbiYnJMGXEx3Zt6hn45596g/Nt9uZXaw5UQBAADCEAtY1yMojur36Js/oQFXuOs/4GJ69M2f8JRRHkeLI8KfyT+m+B3a7MxPtTB+n+osKzOpzrJaGL9PszM/HfXHprBRZiwnCgAAfOtyxeczB8VrVS0dLP6uY6PiwwpbcWX1u46NnjJCSWrpxYqK9ddafcD0trHWp7/W6lF/bAobZcZyogAAwLf7NK1oU8z7NM1PQlFVQweLl2d/WHTKx+XZH/pJaDCHEuOALy9ljykpXot8Tu+jsFFmLCcKAAB8m3/0I0UPYucf/YifhODd8NEah4oDKPTF5DXqd4UfrP3O9MXkNZ4yip5sQHkhKF5OFDbKjOVEAQCAb2N7ny0pXqsGYsVH1AbFK1lkG8qmTigtXqto8ODdpVMb5FR4AtsprkunNnjKKHp8FlBZ7nUUsJwoAADwyuKSyxSPY594tngPtKB4JWtzs/QB3XvAsqptbpau8peWdMktUvtfSNkhr9dYPBcHIuTsx29T0gYKYkkb0NmP3ybNu85TVtHyso7RCXo1ID66GLEBAABQZVyxosZB4rVqeB+SQ8Ur2T/0fVj/mbmoYBnG/8xcpH/o+7Dv1HTgIQmHKMO95AL6OwTEUX5H9T5XUrwWDZ8Ceah4OfGpAQAAUGWe18SS4rUqaEe4WneQbxz4c71h7zd1+t5v6w17v6kbB/7cd0rShmVStr8wlu3PxbHPzQMf1F5XOOJqr4vr5oEPesqo9nRlx5cUr0X1RUZrHCxeTtX6uQ0AAFCzWvsWardLFsR2u6Ra+xZ6yiiiWJLDv107SovXqO+7mWrpv06d2QnKOlNndoJa+q/T991M36nVjA3Zc4uuNrUhe66XfKLIZy8femwAAABUmS3HzdbiV6Tr69rUYC+qy43XrQPNevC42b5TAwpkLaaYO7CxYNZinIEd4qq3naJv/nym1vYVFjKuvvAUTxnVnlmxh4quNjUr9pCXfKIo7rJFC8PxIu/xcqOwAQAAUGVa5kzWkjV9BQdBqURcrSw/X2C3xuho7Q2IIwwWcMATFK9V0089Qf/9ix3KZPcPGYjHTNNPZfWYsDRYd0D8xZAzia6smeJFlurJxUcXhVAAAIAqw/LzI7PXJUqKV7JUovhuf1A8LOnshJLitWrF+m26VPdrU3KRto+5SpuSi3Sp7teK9dt8p1YzXg5o1Pqyoww6KBaw/nBQvJwYsQEAAFCFWH7+0OrttZLilax1wVT95M5/1d/XtanButXlJugzA81614KPe81rVfJq/UP/vxYso9nn6rQqebVu8pdW5Ex/5V6tSKzc93dqsm59JrFSLa9I0nu85lYrLGBpj6B4TXIq3qMohJWmGLEBAACAmrQndXJJ8Uo2P/6APpP6mppi3YqZ1BTr1mdSX9P8+ANe87p0aoNiKlyGOKaMLp3a4CmjaLo5+V8FxR9JStqAbk7+l6eMak+9Baz4ERCvRbvs2JLi5URhAwAAADVp7CXLNBA/qiA2ED9KYy+pwqVGNyxTXWZPQagus8f7sqrnP75cdVZ4OrfOnM5/fLmnjKJpnH5fUhzlx3Kvh/bEW/9Jfa5wUkifq9MTb/2nUX9sChsAAADVaGubdNs50k31ucutbb4zip6pzaq7/IvSuEmSTBo3KXd9arPvzMpvV2dp8bD0vlRavEaxMrF/q5JXF11Ge1Xyak8ZRc/5867Tr877tJ7TRGWd6TlN1K/O+7TOn3fdqD82PTYAAACqzdY2ad0iqb83d33Xjtx1qToP2o/E1Oba+JuMa8q9DorFEX2pE4oXe1KsihKWcy+9VkvvGtDfuNX7ltH+vK7UzEuv9Z1apJw/7zopX8g4Of8TBkZsAAAAVJsNy/YXNQb193qfdgCPznxvafGwBB2Yc8Be6JJbpNiw1XpiiVwcoZg/rVEz/+hj+uOxX9Hr935Lfzz2K5r5Rx+jSXNEMGIDAACg2kR12gH8eeKHpcXDcvYfSVu+WjyO/QZHFW1Ylnsfj2uSZi2tjdFGEcJqU9FFYQM1p70jrRXrt6mrp1cN9Sm1zJnMBxQAoLow7QDDRbXYFdWCSxTVyrQpVLatbV4KcExFQU1p70hryZqHle7plZOU7unVkjUPq70j7Ts1AADKZ9ZSKZEqjCVSuThqU1BRy3exK6oFFwClG+zvtGuHJLe/v1MIzaspbKCmrFi/Tb39hWul9/ZntGL9Nk8ZAQAwCqY2S3NvL1jtQ3Nv52xvLYtqsSuqBRcApfPY34mpKKgpXT29JcUBAKhYDFvHUFHt0TBraeEKPlI0Ci4ASudxBBaFDdSUhvqU0kWKGA31qSJbAwAAVJEoFrumNmvz0y9r0i9X6ETXrRdsgnZMadH5UcsTwKF57O9UcVNRzGyFmf3azLaa2V1mVh+w3cVmts3MnjSzxSGniYhqmTNZqUS8IJZKxNUyZ7KnjAAAAGpXe0daH9x8qi7c8wWdsfdbunDPF/TBzafS/wyoRB6nvFVcYUPSvZLOcc5NlfQbSUuGb2BmcUl3SLpE0lmSPmBmZ4WaJSJp/rRGtS6Yosb6lExSY31KrQumsCoKAACAB/Q/A6qIx/5OFTcVxTk3dO2nn0u6oshmF0h60jm3XZLMbLWkyyU9NvoZIupYfxoAACAaunp6NS+2SdfXtanButXlJujWgWat65npO7Xo8bSMJlAST1PeKnHExlB/LukHReKNkoZO7unMxwAAAI6ImZ1gZvea2RP5y+OLbHOumf2vmT2anz77xz5yBaLuQ8f8QssTq9QU61bMpKZYt5YnVulDx/zCd2rR4nEZTaASRLKwYWY/MrNHivxcPmSbT0oakPStI3ysa81si5lt2blz55GmDgAAqt9iSRucc2dK2pC/PtxuSR90zp0t6WJJnw/qCwbUsusT39FY6yuIjbU+XZ/4jqeMIsrjMppAJYjkVBTn3EUHu93M/kzSZZJmOedckU3SkiYNud6UjxV7rJWSVkrS9OnTi90XAADAUJdLelf+929I+omkG4Zu4Jz7zZDfu8zsBUkTJfWEkiFQIcb2PldSvGZ5XEYTqASRLGwcjJldLOl6Se90zu0O2GyzpDPN7HTlChpXSroqpBQBAEB1O8k592z+9+cknXSwjc3sAklJSU8dZJtrJV0rSaecckqZ0gQqgMflISsKfydUiPaOtFas36aunl411KfUMmdyKP0NIzkV5RD+VdKxku41s4fM7N8lycwazOweSXLODUj6uKT1kh6X1Oace9RXwgAAoLKMZFqsJOVHjgaO+DSz10n6L0kfds5lg7Zzzq10zk13zk2fOHFi2f4fQOR5XB6yovB3QgVo70hryZqHle7plZOU7unVkjUPh7J8c8WN2HDOvSEg3iXpfUOu3yPpnrDyAgAA1eNg02LN7Hkze51z7tl84eKFgO2Ok3S3pE86534+SqkClW1w9QRW+zg4/k6oAAdbvnm0R21UXGEDAADAs7WSPiRpef7ye8M3MLOkpLsk/adz7rvhpgdUGE/LQ1Yc/k6IuK6e3pLi5VSJU1EAAAB8Wi5ptpk9Iemi/HWZ2XQzW5XfplnSOyT9WX7q7ENmdq6XbAEACEFDfaqkeDlR2BgNW9uk286RbqrPXbK+NAAAVcM596JzbpZz7kzn3EXOuZfy8S3OuWvyv3/TOZdwzp075OehUBNlfwQAEKKWOZOVSsQLYqlEXC1zJo/6YzMVpdy2tknrFu1fZ3rXjtx1iaFjAAAgHOyPAABCNthHw8eqKBQ2ym3Dsv07EYP6e3NxdiQAAEAY2B8BAHgwf1pjKIWM4ZiKUm67OkuLAwAAlBv7IwCAGkJho9zGNZUWBwAAKDf2RwAANYTCRrnNWiolhnV9TaRycQAAgDCwPwIAqCEUNsptarM093Zp3CRJlrucezvzWQEAQHjYHwEA1BCah46Gqc3sOAAAAL/YHwEA1AhGbAAAAAAAgIpFYQMAAAAAAFQsChsAAAAAAKBiUdgAAAAAAAAVi8IGAAAAAACoWBQ2AAAAAABAxaKwAQAAAAAAKhaFDQAAAAAAULHMOec7h8gws52Sngm4eZykXWV+yHLc55Hcx+H821L/zQRJ3SU+Bkbn9RYG33mH9fjlfpxy3R+fB9XJ9/tKkk51zk30nEPNOMT+yKBSXhe890YmCu+1kfKV62g/bjnv3+d+dqn/ju/T8uP97P+xR2N/uT5wf8Q5x88IfiStjOJ9Hsl9HM6/LfXfSNri+7mrxJ/ReL3VQt5hPX65H6dc98fnQXX++H5f8RPNn1JeF7z3yv839f3jK9fRftxy3r/P/ezD+H7k+7TMP7yf/T922PvLTEUZuXURvc8juY/D+bej8XfAgSr17+w777Aev9yPU6774/OgOvF3RjG8Lsqvkv6mvnId7cct5/373M8u9d9V0muvUlTS39RnrqP52KHuLzMVBaPKzLY456b7zgOAf3weAH7w3gOqC+9p4ECM2MBoW+k7AQCRwecB4AfvPaC68J4GhmHEBgAAAAAAqFiM2AAAAAAAABWLwgYAAAAAAKhYFDYAAAAAAEDForCB0JnZ0Wa2xcwu850LAD/M7F1mdr+Z/buZvct3PkCtMrMzzOyrZvZd37kAKF1+v/obZvYVM/sT3/kAvlDYwBEzs6+Z2Qtm9siw+MVmts3MnjSzxUNuukFSW7hZAhhtJX4WOEmvSjpKUmfYuQLV4DC+fw/gnNvunPvI6GYKoBQlvrcXSPquc+6jkuaFniwQERQ2UA5fl3Tx0ICZxSXdIekSSWdJ+oCZnWVmsyU9JumFsJMEMOq+rhF+Fki63zl3iXKFzptDzhOoFl/XyL9/p5jZ94f9nBh+ygBG4Osa+fdpk6Qd+c0yIeYIREqd7wRQ+Zxz95nZacPCF0h60jm3XZLMbLWkyyUdI+lo5T6Qe83sHudcNsx8AYyOUj4LnHOP5W9/WdKY8LIEqkeJ77lWSUwBBSpAifvWncoVNx4SJ61RwyhsYLQ0an/1WMp96L7NOfdxSTKzP5PUTVEDqHpFPwvMbIGkOZLqJf2rh7yAalX0PRe0sZmNl/QvkqaZ2ZJ8AQRA9AS9t2+X9K9mdqmkdT4SA6KAwga8cM593XcOAPxxzq2RtMZ3HkCtc869KOkvfOcB4PA4516T9GHfeQC+MVwJoyUtadKQ6035GIDawmcBEC7ec0B14r0NHASFDYyWzZLONLPTzSwp6UpJaz3nBCB8fBYA4eI9B1Qn3tvAQVDYwBEzs/+W9L+SJptZp5l9xDk3IOnjktZLelxSm3PuUZ95AhhdfBYA4eI9B1Qn3ttA6cw55zsHAAAAAACAw8KIDQAAAAAAULEobAAAAAAAgIpFYQMAAAAAAFQsChsAAAAAAKBiUdgAAAAAAAAVi8IGAAAAAACoWBQ2AAAAAABAxaKwAQAAAAAAKhaFDQCRYmanmdnjZvYVM3vUzH5oZinfeQEAAACIJgobAKLoTEl3OOfOltQj6f1+0wEAAAAQVRQ2AETRb51zD+V/f1DSaf5SAQAAABBlFDYARNHeIb9nJNX5SgQAAABAtFHYAAAAAAAAFYvCBgAAAAAAqFjmnPOdAwAAAAAAwGFhxAYAAAAAAKhYFDYAAAAAAEDForABAAAAAAAqFoUNAAAAAABQsShsAAAAAACAikVhAwAAAAAAVCwKGwAAAAAAoGJR2AAAAAAAABXr/wMatBuF3G8D5gAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2,2,figsize=(18,12))\n", "\n", "ax1.scatter(df_avg.xi_lactual, df_avg.left_err, label='Left Tail')\n", "ax1.scatter(df_avg.xi_ractual, df_avg.right_err, label='Right Tail')\n", "ax1.axhline(0, c='C3', ls='--', alpha=.5)\n", "ax1.set_xscale('log')\n", "ax1.set_xticks([.1, .25, .5, 1, 2.5, 5])\n", "ax1.set_xticklabels([.1, .25, .5, 1, 2.5, 5])\n", "\n", "ax1.set_xlabel(r'Inverse Tail Index, $\\xi$')\n", "ax1.set_ylabel('Error', loc='top', rotation='horizontal')\n", "ax1.legend()\n", "\n", "ax2.scatter(df_avg.xi_lactual, df_avg.left_err_per, label='Left Tail')\n", "ax2.scatter(df_avg.xi_ractual, df_avg.right_err_per, label='Right Tail')\n", "ax2.axhline(0, c='C3', ls='--', alpha=.5)\n", "ax2.set_xscale('log')\n", "ax2.set_xticks([.1, .25, .5, 1, 2.5, 5])\n", "ax2.set_xticklabels([.1, .25, .5, 1, 2.5, 5])\n", "\n", "ax2.set_xlabel(r'Inverse Tail Index, $\\xi$')\n", "ax2.set_ylabel('Error\\n(%)', loc='top', rotation='horizontal')\n", "ax2.legend()\n", "\n", "ax3.scatter(df_avg.n, df_avg.left_err_per, label='Left Tail')\n", "ax3.scatter(df_avg.n, df_avg.right_err_per, label='Right Tail')\n", "ax3.set_xscale('log')\n", "ax3.set_xlabel('n')\n", "ax3.legend()\n", "\n", "ax4.scatter(df_avg.xi_lactual, df_avg.right_err, label='Left Tail')\n", "ax4.scatter(df_avg.xi_ractual, df_avg.left_err, label='Right Tail')\n", "ax4.axhline(0, c='C3', ls='--', alpha=.5)\n", "ax4.set_xscale('log')\n", "ax4.legend()\n", "\n", "ax1.set_title('Average Error for Given Tail Index')\n", "ax2.set_title('Average Error in % Terms for Given Tail Index')\n", "ax3.set_title('Average Error in % Terms for Given Sample Size')\n", "ax4.set_title('Error v Size of Other Tail')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "939485c1", "metadata": {}, "source": [ "We can see the tail estimator is fairly consisten in terms of the range of error in the tail estimation (usually between [-.2,.2]), but these absolute values can have a significant impact for smaller tail indices. For example, for a true tail index of $\\xi = .1$, a .20 error is >200% in relative terms. And the impact of a 3x tail versus a 10x tail is enormous.\n", "\n", "So care should be taken where the dataset is believed to have a smaller tail index." ] }, { "cell_type": "markdown", "id": "3dbe374a", "metadata": {}, "source": [ "### Caveats ###\n", "\n", "+ One assumption required for the Hill Double Bootstrap is that the regularly varying distribution of the samples satisfies the second-order condition and the generalized Pareto does *not*. See [Voitalov (2019)](references.ipynb) for a discussion of this. Voitalov sees the consistent convergence of the method to the true tail as evidence that some other as yet unknown property of the Pareto allows for this method.\n", "\n", "+ [Danielsson (2016)](references.ipynb) recently indicated that the Double Bootstrap technique losses strength in the deeper tails and suggested a procedure utilizing the Kolmogorov-Smirnov\n", "statistic as a penalty function." ] } ], "metadata": { "celltoolbar": "Edit Metadata", "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "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.9.0" } }, "nbformat": 4, "nbformat_minor": 5 }