Skip to content

Instantly share code, notes, and snippets.

@MartGro
Created December 26, 2021 19:55
Show Gist options
  • Save MartGro/f6b7ea463e3d799028db414547093a1c to your computer and use it in GitHub Desktop.
Save MartGro/f6b7ea463e3d799028db414547093a1c to your computer and use it in GitHub Desktop.
Quick demonstration of a new coefficient of correlation
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "5fb4cacb-d7ee-4fd7-96a4-85b447eeadbd",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import scipy.stats\n",
"import matplotlib.pyplot as plt\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "77c8f456-61d8-44bd-881e-f1a1f6a5b96f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff34e9b12e0>]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXIAAAD4CAYAAADxeG0DAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Z1A+gAAAACXBIWXMAAAsTAAALEwEAmpwYAABTzElEQVR4nO19d9wdRfX+M/dt6b2QyhtIgUAgCSEhEHpAmoCgKKiAoICCiKIYxIIiRb42/IEIIihKkSoltFADARKSkIRACIT0QnpP3j6/P+7de2d3Z3an7d7dN/t8PoH37k45O+XMmTNnziGUUmTIkCFDhvQiV24CMmTIkCGDGTJGniFDhgwpR8bIM2TIkCHlyBh5hgwZMqQcGSPPkCFDhpSjshyV9ujRg9bW1paj6gwZMmRILWbNmrWBUtrT+7wsjLy2thYzZ84sR9UZMmTIkFoQQpbxnmeqlQwZMmRIOTJGniFDhgwpR8bIM2TIkCHlyBh5hgwZMqQcGSPPkCFDhpQjY+QZMmTIkHJkjDxDhgwZUo6MkWewDkop5q/aGnk9q7bsxu6G5sjrKSc+/nwbZi3bVG4yMiQcGSPPYB1Pz12N0/7fW3h23upI6znilldxwX0zQtNt3d2I+iY3w29pofj9iwuxbludVZrqm5qh6+P/T1M+wXMfrHE9O+nPb+LsO99RKufm5xbg0Btf1qJBF3WNzT7aTfHtf81E7aTJVsuMC/VNzWhpiS/WQ8bIM1jHp2t3AAAWr98ZeV0zloRLqwf/+iWce/e7rmfvLd2E219bhJ88Ns+o/gemL0PtpMmob2rG+u31GPbzF/CPt5ZolXXbK5/iew/MxrKNeu22YUc9aidNxl1TF2P99nqtMnRxy/Mf43sPzMbbn20ITLdi0y7phe7lBWttkBY7Wloohv38Bfz6mQ9jqzNj5BkiAyk3AQxmL9/i+t3Q3AIAaGppMSr3jy99AgDYXteE1Vt2AwCemiO/E6GUonbSZPzuhY+Lz07449TQfF+/5138fepi17Plm3ZJ12sbqwrfvm13kzDNjCWbcOStr+HRWSvjIqssaCpI4g9MXx5bnRkjz1A2PP/BGpxzl5rawBaaC5OtImc2BVoK0uXcFVtACisXBcUrC9YWmZsM7nz9s+LfziIThGmLNuLG5xa4niVp4eRh4drtAPJtlUQ0NbfgmbmrtVVjXpAYOyTVjHx3QzP+OW0JVxd1x2uL8Pai4G1ehmhAITcRvvvAbCnVSBQoMnLDyeZ86cX/moknZq8CALS05H+fctub4fktqlFJnJxDAw6DzCWUzrumLsb3H3ofT8+V31HVNTbjp4/Nw8YdJVWW7Pi3iVQz8ltf/BjXP/MRXvroc9+7/3txIc67Z3oZqEoWfvvsR8YHRv9+N68HXrZxJ3Y1lLbOjc0tGPPbKXhGMPBN5mtdY7OSRKsKWYl844563P7qp0IpjX28eENet+082rq70ZhOFSSBPdY3NePaJ+bh2ifm4fIHZrveOQJXLgmEcuAcfG/e2SCd55m5q/HfmStw8/Mf+96RGHsk1Yx8y678RNmVYhO0rbsa8dn6HZGVf4/mwRuLvxW2/Uf/3+suC4otuxqxYUcDrn/afahjQ8r8/kPv44hbXlXe5r768drQAzeAZeTB6a55bB5+/9IneG/pZu57lj7CeRY1rnhwNhYXxk85JV3nkx+btRIPzViBh2aswGSPFYuzcU76zkEFTk+zXR5j9xeRakbuIKjhPlq9LT5CNHD6HW/h+D+8EXk9JsyFnXcL1mzjPufn05+wUz7KWyyokn3RP2fivL+H78ScA6lKRiK/9YWP8cRs90HczsIOpEmgtzadtKZz/tl5a/Dt+/O+/ZPAH4PaoyXhqpUy8F9rSDUjlxkOp/wlXE9ZTizbWD5LAxOs3rIb73y2kftOdULoLDKmUq/DVCqYff5fX/8MP3pkritd2PaYpaJ42Bk3R0gAB5LhzU67RKla2byzAWf9dRpXLdfcQl2qwdaEVDNyB1GN4w076vH1e97Fhh3x2uSaYtPOBuysdw9YGeays74JP350Lrbucut2eZP0uD+8ju8/9H6+bG1KwyEq25RZNjX7GXkQpixYix8/Otf3vIWnWlFokUYJC5VQFCpOgmoliISiRK7Jya99Yh5eX7guMM2T76/C7OVbfKaZAPCTx+Zi+C9f1KpbBZlqRRURj9v7316KaYs24oF37dqDbq9rxKxlm/DuYr5Ea4rRN0zRUtf8591leGzWStzx+iLXc55UWtdogQEFoCTd8mdFi+FsaeZI5EG4b9pSPMaxf3Yx8gLRItK21TX6vue8v7/LT6wAh4HzmOiKTbsw/Jcv4K+vL0LtpMnYXteIlhZaPCOIEy0SzD4ID81YgQvve0+7/pJVEcWardEcpO+sb8JS50JXZn6YDGyry0u1laY2ah6MuP4lnH3nO/ja3eaTmMW2ukY88t4KAMDnnqvnMtPWSeP92jBeZ6rm0Mkuk2VHfROOvPVV7ruS+aFZ3/Jo/3Sd//B63fY6HHT9S/jZkx+4nnsvKunA+QLepzwzbzV2NTTj1hcWAgA+WbsdZ9wxDfv+7DnjelURlY583bY6nPO3d7BxR73UuLjjtUUYf/OrWC6p1vxw9dbigXIYvvGP6ThZwuzUNjJGHoB/vr0UAFAdZtqQEFz7xAe45nH+lXOzw06ziffUnFW4hWOeJQMT1crcFVuwYhNf8nIOOytCFumwT5dt1RWFW5cPzVghpU5Zt13eB0xRIueIgN5n2+ua8EEMDs14iMr88L63l2LG0k14uCDEhOHNwv0SWfPWU//yFo6T3OG+b2Fh1kE6OFQIPt+6G7WTJlvxErd4/Q688cl617MqTYn8lNvexJjfTjGmSRbrt5np8nV5vTebt5wfPDwHf3vjM4gQVK2IJhk9dFCvNReYaaUiV9m0s8Hlx4RnfsjD7oYS85ZRC114r7wKwVlseJ/iXYh21Osf9jU0tWC/XzyPJ9/nXbEP/yZnAVOVyGXVQB9/vh03PPtRaLqKogosWvVSnCcWrYKRT1uU1zXb0GUf94c3cMG9bo96VZV6zfTRmm3YsEPuckHUntLkVCuOEtP9XHdA2thBixi21BwMqL8okYcwcu83jL5hisuzoCwv2N2odtfBqxoLAgnQkXs/b0edPiPfsrsBdY0tmPT4B0L3wUG7t7+8uig0DQ+/eGp+4HunNPZiWlAVjsVpczlOJSNCqhm5s210OsaRdGyvtFUc1crPnvzAqotNG4PK1tVg3xY9VEceDR2mkJH8TG/fUcHfXqgy8samFvz55U+k0paYtZxqRRuFD6xvasFR//eadjGqqpVHZ8qpTFgETSdnXOge+N783AI8NCNcaIzTiKgyvqqigzNYnX6xvdDyVCsPWvZs1txCUVVhtUgXTNokjCGKFk5ZJpnPX0r77LzVRXpFdMuoJ4JqL1qYGC467LcH0VSnePt4e30T/vzyp1Jpne7hdZP3mYxDLhHYrxO5yeW1+c+e/ADvMncObB92qhbn7MJ058RdBdPGc8cO1CsgAhgzckLIAAD3A+iNfF/fTSm9zbRcubrd/3cmkqlpGgAM/fnzxb8rDT3kOfDq3lnI0lzX2Iw2EXF8EQneefLyR9H6if5/rywKTSPTXEFb+NJ1ekmiBGCFuqCyVCVyFZQOO6NF0PcFvfMKPaoSuU4fBapWDCVyVz3GJdiBDYm8CcDVlNLZhJCOAGYRQqZQSsNPHSzBa79rQ93c0FSSXHiqFREmz1uDNVt3Y+/u7X3vvLp3FjKD6sUPP8el/56FyVdOwAF9O0vTBKhJnmESjnMlPKAyJeh0lzdPQ1MLqj1nGXK3DYNrV1G9yKpWtMwtKRUuTCXzQ/97r/RronYUjaHpizdiyQb5YBjl9rWS8wh+901bguP36118b4u+VDnNopSuoZTOLvy9HcACAP1My1WBt2NsSOQsVCwbLn9wNn47eQG+E8bsPJBZfBxJWBQPM6qzG91xbeWwU2S1wrx4f/lmDP35874dT1D1Tu5n59kLTxbEJBub3CqN1xeuw8Q/yl/aChofgTsPyT5Yv70+1OufiIav3v1u0fOjTH1x3EClFPj9iwuLZp8snPZqoRQ76pvw62c+wtfuDveLv257nS9kYLG+Mp8LWT3sJITUAhgFwOe1iBByCSFkJiFk5vr1YhWDDnJMxwDluSJrChmrFcd8S2WH4ECmTRxG5J1mKv5GeL9NILRaYf6etWwzAGCql5FL8IuNIcxLheeoHCRe9+R8LOJcHBIhSDgJugXrJV9UzKE3voxRNwSbyspI8zLNpaxaCa3TX+DiDTtx+2uLcMm/Z/neVRT5Raldt9U1FdvmV09/iKNu9R/mjr3xFVzGKc+BdyFMZWAJQkgHAI8DuIpS6nM5SCm9m1I6hlI6pmfPnraqBcBK5M7/5VjJ+8s3Y9Lj80IHaBzrgozVSmPBP4gOI1eBdwBqS+SS6XR0r7zn/mdiCqKwIZ4TEPnGtLYg1VuQhOuV1k3osNVkqhK5iVM13uWrovlhCxWOEFHYvNcWioXQsIUwSljhCISQKuSZ+AOU0idslClVr+cvGsLIn5672nXa/o17puPh91aEXpIwnfSfbw23CY5aIo8UXvNDYRAGi8yTx8g9DxPqLRWAOm1BwokjyPBSeKXfJOxW4+wXZ8yxKhHi2cGz6WwiVReCSL5V/gFgAaX0j+YkqcOJtu10Bo8nbtnVgCsfeh8X/bN0Y072UCOoiymloYPgsJtfCa2jmVI0NrdgW504qozDyKsr+XQH0xlKAt78lB+QQffwx5tNJFUG6RdFb9hJ6Eh43m9MMB/XYOQBZQV9aUBFX/jTVPzov3OkaSiXRJ6vW63yknlpHrOXbfHV3xJwgGwDOxuasVbhYpcJbIh2RwD4JoDjCCFzCv9OsVCuD0/NWYUbJ5eMYbx9EHQhyLGfZb2eFU3QQuoNGkP/eGsJBl37HLbskg8PxUNzC8VVD8/BQde/JEwTtWpleiF+ppcxhA112Smmc+lJKN0zfzvjgA16AcgzjDgj+uTrU7doCFKtbNrVgDkrtnDHqU9HzrTcwrXb8cT7q6SdR0m5RfC0OU8wsa0j59IRkNmpn9W6RDUCrnhwdngiC7BhtfIWpZRQSg+ilI4s/IvEtdrMpZvxeMEVJQ8lHTmPUOePfC9u3dWI7QWVSvg8FidwHPWsE1yQkEVLC3yhsbxoKPoH4XdbEEMyMT8MdRzlqVd4iUdwF0XXHM+L6Z5AzkF0s9nLoW5QlsgDGPmidTtw5h3TuO/85of+NLK3NHXMeu95c4mfJkVOTmlwH8lchHLVz0rkSpSoY2d9PGEoE6ZsDYfbSZG7G2TMD50OHnUDI/mGDNA4JrqI5i27GvCnKZ+gpYUWw43pOvHShf5hpzujlkQu8TypocNYuBYOqDMQuQN8jtWKV0euWK86DZ48HO6vo86wOQWLFwgZ2qKa43HJCKm6ok+InB6YN+C8T1o8EysIwfpJOxAxuZ//bz6enbcGIwd2KapWdPiWyUCVNT9sam7BDx6eg80CNZMOI5CxWpFtj9VbdqNvl7b5/EyfB1EVlQ5VtVxnfDz3wRpc9fAc+XqUagmGjgqKN66jDPXmIEht6pgfZk6zyoSw/pexI+eVMfGPUwPLjcPYX7R1Ltom09Jhp83xt2jdDt8E9dmRS068xRt2YvIHa/C2IJanlodHESOX6BNvOx1+Cz/IhA6DUv0Wlt7pizcp3YQESt9y8/MLhP5SuDpyWUNyCch8src6XjvpBPNg+2idxAFi6bZ3gScw7T+t4I/cJZFrzvFy31J1kCpGDgSPwyDVSlC+sJicgXbOgTnlIZIO2CDBRUauQQvv3XtLN2HiH9/Av99d5n7hGZzWdh0WXfW6JXJ1Kx7ZdKJvbxQp/CXwiIY3P6ftGpv0rDcchOXeGDAXdHZUTZw+N1WFjb3JbQXGK80rka9kAoysLpgDN8ehWolJ6k8VIw9b/YIOO50VV0stIZHGlNmJmJwTJLgyR4qqFQCYvXyzMWN0pMK5K/hX/ouwZX4otC8XlyHjj1xEXeDhr+Fhp0nb9yuod1TgMNGg6EI8ilR77qbnxJGcZNYuGZNT63NQokBe5KwWGp8OO2qkipEDnsNO32WHgkTOGTxONh1HNjKrqumAEE0SZyLkcqQ4mWcu3Yyz/vo27ngt3EtgkT6J69sihJofSn68nnWK4LmMakW2Do3e40masujWoVo5j9MOqm5ofRK5wUDVOuzk6sh15qBa+pLbAnEame+J2zRVF+lj5EHvqPv/svkcLFq3XYckK+BJqy9++DnmrNwCIC+RO4NzdSHW4MK18vQGq13s6MjDxnxUqhURY5BViWlJ5M1qmUz5gZM/UCLn6ci9aUJmQtBBpM438Ba8eNTKzoUgMdGvLVwX7p4jHXw8fVYrQb+DdOSOlC4aRE++vxI/ffwD7rugznQcH5mOTR7NlzIOeljb22KYssLHbNxRj8qKnIbUEnC3m00XUo6sRGvzZif7XMwYzGehqGwTiVyHOTjjo6FJTSL3Xjm44zVx7FQgWFqWs/LwmARbU62I69ade9MWbSzaeYtKT4tlS6oYOYDAuRnkNMt5Jur0H/53rrDcKR+txZmjovXMe+frwRMMYMwrPdHID/nty6iuyGF4306heWXgXzBDzA8ly9YzPxTpyMPLCuK1pjryuLfcJSFFLZ+qKjEohopO//EWb5sqNhFyEqoVoLTDaWhq4V7Ik/7mMvP7VKlWQu2ZAwa780zHXCjsxqUNTAmJusNKNo6UwErpDc0tkY0lXYnH29ZCidzz2GvjvbO+CTs9js3cqhV+/VHyWlWG6lbl6Oiaw9NMesJ/oKc63IMkcik3tp7sJjsXE8joyNl0ALCJ49LYwDgpVqROIg/ql1LMTrFEnla0UP+NNKVDowD9KUU+0EHpucf8MOyKviQJunP6gF+9iMocwaKbSi583FYrIh15kMqGcv/2QvTpJltuvXYIz/T+8i2+Z6qCS9CYkqF7tyc2KY+Rp2kqpoVvpIqRExI8OYO2n2k5fQbytHonIDugvDpyXTjZN+5swIX3vSdOpymT+y6HSPYBW5+TxcsQdK1WWloopixYa6xa0brcZFKfZnWqPRd02CnzzW8tcnvQbDII9sxC1GbNLRS7GuQDeqjCVEceF9tJFyMPeRKsIy/k0OR9jc0tRl4Hwy4dhYH9pqfnrgYQrM/0IojxNXjCV/nayJKVgfiw0/s7XFoOu6L/96mLcWC/zr7nD723HNc9OR+13dsJ62chkmhNJDUdc0fd+lTHe5AEr7OYNHKse2zytl88Nd8X3NlVl6FVCrWkWlm5eRcoBQZ0axeeWAOp0pEDYeaHAVYrhkvjrgYzL2Y/e4JvEcMDj1Sers63Ddad7CFuaxN5s5P5m8d8bnxuAZdhOkE+PmeueUels3aBqSOOwz4HqrupigCRXKedmiwpmUWL32OzVvLTO2pWw3qNJfICBRN+9xqO5ISPs4VUMfIw88MgO3JnPOlK5GHbt7By6xTNxrwwvVjBtTEm7v+LEFqNYKyLzEP9tLmfu5iPoGwppiJrtRJekg9mEnl89ak6qApKr8PUmngSuZb1knIWK0iLjjxVjByQu6kVbH6ox8nD/Arb7G+ubpfLyM3KlG0L3Tbz4mdPfiClM5XxTMhKxKJ2CDQ/ZP+OWUeuU6G2RK7YdfVNLR4fJCX3yXqqFXUBZvWW3bj/naXqlXGwZmsd6hr1d9Nh/ZwMl1lp05ET4prkvMO0p+euxpUPve/La8pobaoFdMCj3+ugX4XCL/11WtHKwVQiF217vdnmr9qGWcs2Y9w+3eWIBAImITMOROaHPP/c/uzChht63fPCK/G7G5u1D/Li3QGosZr731mGTTsbcMlR+2DqJ+vRoaYS1z/zEd67bqI1p1lhpVxw7wx8WrhoJ5snCL97Qew/JgzZhaAI4L9u7PlNgZufW8DNW5TINZfQsAMqm9eO81vPcBtsNdWKOz9rqhZmbhgeIUi+Xp4+25udpaeuMdxlq9j8UEyXDIL8mpx++zSMHdRNq9xYdeQa4/LZeWvw7Lz83YmD+ucPjFdv2a2nI9dY7Dbv8oeHU62bTb1hhzgMY5gnynILcLJolaoV1XcyMD2zieIKv/dgypbw4GW2JqoV32UfCSLZRVO0NXcfdorKkYOuL+oZntBysojTasVm9CSdOdDA80lTeHTG7W/hF/+bb0aUAO6FXoz/92qw47m0XAhKFyP3Soqe10FDvWh+qFm1zOQLu50pXxfwwcqtrmc8wcDwPhDzzmy3EVx2OB6ftRJLBYEWRDcDZfja5HmrA+gysyJRhbFOXttqxR50FhORkcD2ukbMXbnV7wtfAJMuMlnLTK1u4tLMpIuRI7hDg7ZBtKha0etVmQ65b9oSrbJ5+OLtb3nq50jklqStKAebjAT+62c+wql/ebP4m90BNAsmkuusRNAOj8zkm6b5y4oeplYy2+oahYtdXNBZTIoRrhhsq2vEiOtf4qR2oFCRMGnphcmuJC2qlZTpyImr41T6x7Q/nIm4va6Ra1IVBiXpmVM8P/YhwbyCm1udMmXeATJOs/IF+NzhEiI9JXcydvpu1Uq4RK4zTd03O+OdrDqS7bcCbt7GBZ122rbbr+/eyPFpEl63cpYizCRyuYqfeH+VfiUWkC5GbnDoFub9MAwOczn8lle5UoZN8FQdvPGUyxGcfvu0wHw69TntPH3xRsxevkW7zf719lKcO3agZu48RIsmywyVJqoTy5F5FLvMFWOFNqvSsiPX8LXCfa9YtdupWvkk8ri6OlWMHPBsqSVZzJufrg+8sSZVb1Eij5aJi+vnSeQK+YN8fgteffXudwEAxwzrKV8Rg8UbdmLqJ+uV87H9KoqNKWO1EgS2PeO2MEvHZt0PW1oGrQtBiq3mOgxXrq2EcnlvVEWqdOQyHcJL881/zCht0TV7NXw7HFywSrXcm6kSOvJAEhVUK2FX9hWKRr3nRqvMtGAnrUwknssfnC1RaqFsTiPp7mRU4D5cjY852KqLWi5L9f2CNfxoWDJ9Z6JaEZ3RJA2pYuSAms0yC9MOkTGaC4LuIasDnhWe90KQLsKtVvTrMT2PFVkN6PIUx9zMlT1CvvrByq2onTQZs5ZtLlWXDiHPB1t0e+epzC1Z1VilLExUKzrnYeVAqhg5IcFzLuid0yHaOnJDL2qmMPa1EvTO0kEwDzrt7VKtiA47DblvXMz0pY8+BwC8u7hkcx4na7BVl00zRm/bPzA93ATR5B6IiSASdi4QT/zRcKSLkYdGCBIP3NLNTvmW79SmdIRQbinKVEceVJa3ZG8TWRL8pcEy6S27+BYOUfu2sYUthVuKHWriH0uUUsxZscVeeZZayiuAr9lahzVbdwe6elaNVcqOcTPViqnAEE9np4qRA/odpLMzY5m+jl7PVZZCvXwduf+ZVyKXNTH0BWnweR8MrkcF/3x7qXZeAPjFUx9yn9v0ShflXNtaML/r3LaqVF9MMvm8lVulYsEGIa5FZ/zNr2LMb18u1OmvVDV4BFuCiSCSlsPOVFmthPET1se0F84WScNSDUC4Hi/qAc+TDGxt68JI79imKiSFGNM1rrF/snZHaBqbzR0lY3UYeccy7O7WbTcLZuKFLbrv9VyckynWJB6AiYsJmcN2FazfXo+eHWuslglYksgJIfcSQtYRQqJxnMBA16xIx+0oW368ek2e7S3HaiVE1DiduR0adCU9rGlYJmSKMGbgjfmoW44KomSsuwveG236PJGFjRrjcGXg88fDSSM7Lhy8vrBk9lpOidybe9Lj/gDZNmBLtfJPACdZKksIAv3B5HSIynxiJ1/oJYYQVr/bwCcyIKda8WKex1+Lgzg9OapCXjq2qFqxVpK4cLaOtAQrYFFuikUSuUxTGh12WlatmFjfBMEKI6eUTgWg5wpOBUYdkm9AlW0WW52p1crbn22UrlfWjtwraWhbpvh05Ak5ig+AXYk8OjYVRdhBWdhYkE19xNiCmdWKep42VXnWaByqLqZGS91hpy6chVCtUxUOO8ugI9eFqmrFJpzA0arwuey1QYxTVoTf7xQd503SQ/buaq0sh9b8bjgawr27MNnDflnoqLUGFoIkp8VpVmyMnBByCSFkJiFk5vr16te2gRJbXa9xiKPjJyLnksiVs2uDV9VvJ3MCZvisVsREBtvfB3+cTQnyoRniiOdB8N5iNQq1FiN4fRI16U5LJcXGORQS7cFzviULk2Z46UND19Qx9UFsjJxSejeldAyldEzPnnq+O5yBedad0wq/5VupWUM35bJaCVOtlGPjqcBgA5m855Vs0OQ4EaVEDgAvfvi55RLz4Md6jbY9i0G1LXARKvjbJrzl8saqyIxVhiadBc0h4QXTceGbW9Fw9lSZHzpYsWm3ch4nin1NVYV0HlIm1QpvINd2b+eT5O6bttRSfcHvIzqf4UJEi+88wGJ7r9y8G5f+e5a9AhksXJv3EcLSG7X7DptnHMs2Mj7Qy7+eayEqi6HaSZMxpFcHpTxRCei2zA8fAvAOgGGEkJWEkIttlOurx6AZHPOlmgr5T1Y57LQJXk3dO9T4pP7FCoEG3P63w+tz5y3vtwOcy08WuYpJlHVZsPT+NyROpDGI5/8GMLHfTgx0JPLC/6tD+IU3SHS5YEUip5Sea6OcKOFM1poqBUbO/F1u7QLrdMkU/sMlj9WKVx8t+fE22ki0aPiEKps7oDi8H1qqgpDwsqKS+qJqp6gFBR2J3KFpTG1XJYszXzme31GdW6TKasWkERw77rAV1l0fq1oxMz9UQVTj+rP1O/DHKZ/4JfIkqVYEz72eHtNitVKsI/oqiijpyO0ijgtBO+qbsM2yz3+TC0G2z4eiWmRTpSP3NoIKY3dUKyp53Ff05fMlFd/+10ws2bATpx/c1/Xc0eOKEK//bP5zn0CegoXTXYedSgjCF4U03AMQ4ehbX5NOu72uUco8UCvwiPN/w26jlLpUd1EddqZKIjeBI5GrdIxLRx6S1uq2MwLGQmmJmYTphAmAN5jIPjqmm9oQVLV5l3vSJsGSRgW2qJVhBEWJ3CLTeGTmisjOEt5atKH4t0o8z0MKTrbCYOK330a/nfinqRZKCUaqGLnJuHQGoW7HlNsfuQw+/jxYsm5TsNgJcxdAAXznXzOLv+M02Q5aEG97+RMmXbpQjvFhU/Z7YPpy3PriQtezRks6t7BxK4Ksa1utdij0l42d1PJNu8xokUCqGLkJHOalK8mFMTOrOtsI2BQFRdvqPCMPs0TwRXCJ9bBT/G7eqq1MOos3Xa2VFFCHJXplyonqQM07bu56w8xFblzQaXlbqpW4kGpGrqL7mrcizwT0OyYlPSoApUCbyoJErujbOc5blLI12T3sjMFqJcZynHkR9c1O225yI4NB/9oeGZnViiG21+eZl65EHur9MAWBDhyJfAf3tqEY0hK5hWEvfQM12UcSPtjS6ct5+7NSVSjSIq3qyCHOOLR/FpMddroQpyUFIKdaSbJvCwqgpjLf3aE6cs+3xqsjl01nc+H0l2V7fJWD6V318JxIy4/1ENwAJszY2GrFLLs0UmV+yDbqO4s3GvlQUMVz89fgn28viaRsL5ZulL+xqYPQaEegLsFBlqn9593wILphCJp07JsozUEXrNlmHCLNizh5nmOtomIBooO4hSkH3dtXK6U30pFr5A1CVMJeqhg5i/pGvZmssjqzOvjJ89YEprU5pn8QgSTFTjqpqCdMkuYWCkKAvbu1w9KNu4RZHpohd/V8wZpt2L9Pp9B6fa9YV7BSNcnB23eXPzgbi9dHu5hGibg2hmm5W2EmkZuNNJ9DOqPSxEitakU3BFN0QoRNK4poJR3V+KPNFOjVsQav/+RYtK/mOx1TGfAn3/amuG7JMtJmtRKn3XtcKr44vum8cQN9zzbubMCUj+Tdy+qQ6eSx/YnZYSfcE65ZUxyIavDJFLt393bWylKFq+0EFYwb1M2XNk8PLe5OGi0Ho/Ui6NujilbjqzOK9o9TtRJTPXGcnYi+5f53lkqXobPoO8JUWdxTayBVjJxFUwvVGrDl7BZZ5z1RT3rRteazD+lfql/gi71RsIDaoll24qTknK2IOBlCVNfAvYhDR04I31eKikBmsuCkRX2UWkauG4IpunBV4ShrUGOGQJFqxSFvxWa3HtzRkXvLcZVvSF+xnCCJPKIwBz5vkNZKLiFOyx/RMLM9/uJQrRAQ7sKkwmCNVCvqWcuC1B526jNy4O3PNoQn1Cg3DLLzKJrFplSmSLXi7BgenO4Ox5ZE80ObNPm9Qdr/4HitVgTPYZcxxTUucgTwGsyq7HDKedgZF1IrkTcxUqIKKIDz/j5dOv3t541Sr0QAadWKtRr5EErkAvLyOvJgxHEF3aUjj7CRomFQ5WcItlUusUjkhH+DW6WPtHTklg47ZQJL20CqGDnbCHGpVg7u30W63LB5IjuPIjnspKVyRRK5iL4WGs4EbJH8jqQTf6sXgiIsu1hmrHyc31cmfrl5iOObSPE/3srlyzAh0/ZYiKrJUsXIWegychUQIu8CU0pHnhA/0SKndaIdQxxt7eAnj80TvotKIvc5CYvggCsJ5ofplMiJhcNOE9WKdtZYynOQKkbOro7aErlienm9tkRZkoVFMUHYElXLl0kftyoxyuoi0ZFbL1EdtsWIT9Zux9wVWyyX6kaOEK4ApNKeur5WFqzZZhyT0z+UohkJqWLkLPI6cvWh+f7yLUrpvVVUBEjoST4X+XxrXfFv0SIokshbJNRGscS9ZOqotxjkQHVhO3VEH+U6kmBHbttq5bP1O3HGHdPsFuqBDfND3bYPurimi6jGQaqsVtiVWfdCkCq8zI13gg7IMTLZhSeKvj7/3hnoVvBRIWLkQh15Qmxp2UkQpIJRhff7wtq/qkKdIyYholFSVHsqyBH+vFFpTr0LQXbgs4iyVK4XqZLI3aqVeOr0xwkVmXaElyV72BTVnN9UcKIkYiqiic5K5M9cMQFfO3SAL00cfCqqKrzlhjFdrdBhCTDhtH3YGQcIIVwBQ4U5m9iR20ZU5oypYuQsmlta4pEvfFF/DYqSJjjaWS/yUyOa6CxjG9G/Mw7bp3sUZJUNXsYdNtcqNHQUccrjYtVK+jg5Af97VPTe5dwNeZs8k8jhnmC6TrNU4VWtiEz3bFqtRD3uxHbkIoncTTsvWRyTZcaSTdiwI4KoNIrb38oK9WmThIsl6WPjjkTOO+xUsVpRr9fWmY+323t3bGOlXC9SxchZNOe5S6TgSQMi/bJNq5Wop7yyjlzisPOO1xYZUiWHv09dbL1Mv0Qe3AMafDzW27FCpJCTCw87Va7oJ8JmKI9cRBw33Yw8BtjcjsqWFJV060wI4YUgET0SbT1tkdxFHgezlm1SSl+kJYK28X5e2OfqqVbKz0xkbxYnCcLDToUydGLORqcjj6bcVFmtsIhrWsgeEH3jH9PRsSakOSUnUlTBjisrcmhoatFSrbDtYGNxO/vOd7TyRTER1CVyHdWKchZtiC8ExUeDLRDwLwSpqKoaE7EdyiMyIS2SUuNCLFeE5Ue/E+BZXJYcIndjKyhfKJF7CConP4iiabxMIVxHriGRJ4CXpJCPF5i4mflhY5O6iVtU3RXVmpIqRu5tgzjmBrHYQrISUVRBbR1JXFXib/FcvuKagxlRpkBLDKqVsCp0VBRJUK2k0WoFAvNDlXHQqGGrbM2/vtf9QyaRu0FpPDo/mzWUW0fuLBCqh50NzW7vh9xdSkwiZzQOxdRUK5UaBtlJkMjTCALzm51RR7VSQeZrhQMd6wFVWD3slNWRR3zQour9sKEp/Dp8cqaKOnw7vbDDTh1GrpzDPpJgAqkKU18rOQI0aN0ejKatEn0hiBByEiFkISFkESFkko0yZRDHuLR5G05eRx7th6mqVhqaW1zElzfSUQyqlZD0Oow8Vu+HgpGWPjYuNj+Ubc6qipyWaiUqJFZHTgipAHAHgJMBDAdwLiFkuGm5SQARSAP65cmli/qQXWx+yCewoanFo1rxIy4+FUXbqOoxtSTyBHDRqKyhooTY14rct1TkiLKjvHz5ylmkkGQd+VgAiyiliymlDQAeBnCGhXL9YBqBxnR8ZFP6lFetRPtlQht84YUgTzLuYWd0NLerroi0Hm97h7W/jo48CUjCYqIKka+VpRt3+R9ysKtBz0tmVE2VZB15PwArmN8rC89cIIRcQgiZSQiZuX79egvVxhShpCyqFXt18qBzmaqcFg/soTal9iVL1eJ0JPIkIIV8PB/qLZ3NDUDdIZsuYjvspJTeTSkdQykd07Nnz7iqNYZNy5ikDEih1Yp0Cf6USzfISUg6YGujsD8ZVJ1mpfGGJJAMV7qqILCr3pRFVOdUSZbIVwFg/Zr2LzyzDr8defQDU+c6tghJ8QctdGMb8K0uHTkn2Y6Qy1AykJk8lFLrenKfz+iQ8nt1qjGqr1dHs/xhCPKZkzaIDjvTAm+TJ1kifw/AEELIIEJINYCvAXjaQrnBiGlM2tWR2yvLBDqeI1nao/oM4Rgn7jS2J4P/Zmdw+V84YC+j+qIeB6LmSeFZp/CwM2rscTc7KaVNAK4A8CKABQAeoZR+aFquXOXRV2HXjtxaUUYQTXRZ8qKaWBJ8PCJGHvybR8/ogV206yvbziyFjJyAf9gZNfbIwBKU0ucopUMppftSSm+0UWZrRFJUK0KGGUBeHLSLBjm7cFDYV634vR8GV2C6kEXNmFqbasUEPzh+iFa+rbsbzSouwLu7S7JqpWyIeljanm/JkcjNWi6qzxBaRRJ3msgPO0PSE/CZ+StXH42bzxoRWl+5hkE6GTlBfaP+hZ6Obcrr4HXtNncglKh6IFWMnB2H6RuSyYFqzE7AbBGSnUxiukqIwvzQ72tFr5x9e3bAuWMH4phhwVZZ5TLltNVqcZpf5ghQL+EiQoSkOQpLrI68XLh76mI8MXtlpHWcNdpnDm+EpAwqU8FMNftd3zxEKp2MNU0cqpUwEBIsVQ/q0d6InqiQQoEcBMBuzUs9QPIsXhKtI48LXn3Thh0NkdXVpV0VLj92sNUykzKmZFQYNiGrXxfR5ZqMURx2Ki5NSdeRR404ySeEoE7Dn3gxv0VabCAq9VZqIwRFjZrKnHUJOinSgfBQMSCPSVvI+5gJt1t54v1VeG7+Gm1a+PWq5zEZGmln5HEiR8zCOuaSMukKUIk1qoJUSeRxWn1EUddOgy2iTegIBXG0PJUc5HUGh18A8N1j9nX9jvsQMCnWS6mA6e7HEhm2ENUlxlQx8iREWTHBjCV6AYdtQ9iOkalW5CDWkdujBQCOHNzD/UBrYYt+h5LBfBeblHMpB9lhZwZrEDs/lLNaierARuxe1zI8BdqWyMstcSeMdxnBtC2T5hcnO+xEOk/dk4hF63YY5VftBlP3vbpz8dQRffjleZiDlpQUQFPYzjFZrEUdcU5DUz6cMD6eSeRxI+1qHB0E3uyM4XBPdBCkI5U9c8UE3PH10VL0xC0gJG27n2SYqlYSdtaJWcs244OVW62XmzFyATLp34041AXLN/Fd4erwvb06txG+8xano1oJtPAJaauE8ZZEw3TclVvNxcOmXfbNpjNGnkEZqnxPdip95/6ZRvlZBEliXok49qDEUftaSSDzEqFfl7aB71ubagWw6xrbQcbIBdCd2tUVrbNJ45gQdY1880wdVUTQIZf3Vex25PpZEwGbC9/+fToFvje/fJW81s5FwCJSxXXilJt0x+rx+/eyS0grgOxcsunDI9iToxux25EnkLkkFcbmh3bIsIpMIo8RulJHZWuVyF2/lO1WpFKJGLnOuFdxAKYlkZvYkWvn3PNgyvOikH5NEYXTsQR+ZjKgK6NVJe2Y3BZikCKtSuSBI9tbj2U78pDPyARyebTGw84odmQZIxdAXyJP3sCRhewnKx92yqpWrMZHDXhnwfzQTEce+WlnpEiTHTmLIb062CvMAJlELol+XdrixOG9taODmGDPUK1Ek1fHwdERg7vz65QMJA3o6cgbTDzypXetjx02PU2efKBZrFVbiEJHnirvh7Lzbdqk4wAAb326Qb8uzXyZ1Yo+1m+v5z4P6veeHfgR6VU8OeroyGcu26yeKYMyrAqvCVlB93irFVWY9JuuIUOc0VNM8buzR+DQ2q7F31HdZo3SSkPHt3parFausO0PPz1DswhjHTnz0Un5/Ey1EiN0deRBnZQ0Ht+xTZU0U2FTJenSq4iW4H7wXgiySJAEZIdBjw7VVsu3NfzibK8csWezn5SFLApHXqli5MqRXIzq0kNQHyXNExuBXhtFdbNTB7z4nQf264SaygoxPT7zw7glcrl0tqlKo/06IfYWjqRYsOzxjFwZZei3yojF7s5tqyItX4Q4IgTpgMeEx9byD0BFeGrOamM6Rg/sIp1WmpFrMrAk7ZjMYe+wMynIVCuKMFqBdXXkASMnaROMKGxbo5wPfQIcXIVBy+GV5Y/p16UtHrvs8FL5YfVLtqZ1idxyeXHAVLXCIilMPbvZGSN0J1GQCV3szpkkEMd2M6yOsYO6aZfNa9Jwf+B2vzmXc/d7j458S5pi/dISud54SQi/sgJj80OmNZLSLpnViiJMxoCu3jRI/2VD7253MffejJGjwbZ1i4nOMAkSuRffnjAouP5oq29VMA/1xv+7nMh05DEKtFGYHyZNIFdRrZjWE/jeoGye+WFYO0f9zZUVOZwwvLcxAdZD0CWEkanA2I2tHTKsItORK8LMasW+RJ5mRKqCCSk6SMWgo34ot/VCUkfIcfslz3OnzZudSbHa2eMl8qhiRdpE1LbiVi+6wasyEaNNdcmcz/bOwoSxxu1L3AaitlrRHfd7d2+nV6ElnHaQP8ZqMlivXWQSuSLKcbMzaonc9uLkZaJ//upIbroONWK77NA6FEmeuH+AWsID22Ha4oBs/bqBepN4qC4Dnumu+XhnDjvL3fEF7PFWK3H2AzsV3rn2OOl8SRksMvBOEgLgzFH9MGFwD1/aDjUltzzq3sjDG4UlZeSAzq53bH3sQeIZI/tyGTnLyM4dOzCwrnJAljnFHQC83CqnCo45hylF7NpQ7u9zEOxiWQ9GRRJCvkII+ZAQ0kIIGWOLKBGiCWcQXlmfzsFxBaMGEfxtpWyOaoXHZ9rXROtfja2SN6Ed9GRM+644dnDozummLx2Iy4/dN6C2+CFbe9yqlXKDJ5GbuoV2+VpJSLMkUSKfD+AsAFMt0GIdRqoVTWko6klks3hRUbxv6GDAyGVoZutkJ/RET+g8VnWVyxG+RO4p1ztx4pjQQUy4XAwlKRKpCDVVfnZUaWh0HaUQpIvE6cgppQsopQttESNRn2IO/QbTloa0a0wOeN8Qp0TOXq6554JDXX3BMsEcIWjhuAX39p23K8vdR9I3O1Oq69YFzwW0zUAtSZHIU221Qgi5hBAykxAyc/369XFVq40onGYlDXk78hLBDt/gCQyslKzKYOQk8tLfQXOXlWZypHTYyVpceKV0L7llVz1EbLWii3I3S3UlTyI320e4zA/LvoTnEYVlWygjJ4S8TAiZz/l3hkpFlNK7KaVjKKVjevbsqU+xAsysVuKZRc9+f0Lx71vOGiGRw66EwivNYZa9GH20yXZQ6rCTSRPU8i7VCiElvT6Txmvt4VWTxTOdxV8hrSPXrFm2/G7tq7H0llNL9UU05HsIgn94wYuuVZnLWTvyLfdC5aAsqhVK6URK6YGcf09Zp8YyzC4ERY/qihwO7Fey0OBJJICeBPnQdw7TpsvRSx41tCe6tc/7xI46YAYrRQcxFJYMVkfu3q6GSeS6VNpB1HbkScMJw+UuGnF3goqqld+ccQC+fEh/psyEcG8GWfBlRZg0WBw68uYIZ2p1pZwUzGuiisLkqcwRNLfwGKUaZLKybRHUKsQlkZf8kbN6da/e3K8jtzuR1P2zi+u/7OiShU3U5odeKsrN83hjrEJRtTJ6YFdUscyf/bPcHxghTM0Pv0QIWQlgPIDJhJAX7ZDFRxokFJXB0twSLDnyIC8YyyXkpXL04RWMxBu1RC7bt17VitOELHnhOnIdCu0hqP5Lj9qn+Lf18V6m73a+49QR/pubLHhDrErRakUlxF/c+Pmp++Nnp+wXSdlGpgiU0icBPGmJFusod8epQmbeyjIhKb4rSOMw7aqKHPcANOoIQd7zCVYydalWCCm+Y+W2MB25baguDOWKEORF3AvahCE9MPmDNcL3PCGoQlG14hWOksIDbvrSCJw3zn85zRZauWol/jpNBFfRAavLNE82xqZGOofhOVJQRY4UaWLrPVTRf3io90OFNst5rFaaW/zPfe0YsURuU7XiVvXr3mXQylZ28OiuUpxQjc0Bh8xlbJeofTClipFHcTVcB4EDIoqDDI0yZQVy3uLB6sgdAYdVrfTr0hZLbzkVB/TtpEyXDIIPOz1WK8WFppQmzP+K7CJ3cP/O4Yk0kBSJPDb7HckP4c1XVZVeU7P7gMR1s1OpJLuI+tA1VYw8KYiqS0Tj3XsJRgZsumG9OwrTvbbQb9MvqyOXH5tmLcYyApHVCnExck9+q9TYxVcYCwvAY4aZgjMhFYS1O99qRY1FNQWoVsp52Bl11a2akUfVeJGtroKJq3PQyJJ45zdGC9K4y6Ue6bsyRxgdOYeRR8QSg3TabokcXPq8ub27jvJf0ZcjQLSzeOyy8ToklQ2yZxS8MaYazLzRJ5ErZY8MmUSeQAR1Slh3/fviscW/vQyaHfCsGRrrK0RnPIjoFRXl1FdZkRPYaavRokqzrJ+SHCFFs0WWvlCrlSQ7zWIPlQVJxtQGn1Hofl3UraJzVqJqR96vi9vBnStmZ8zd/vENJxX/jiJOJ4toHWikFOeP3zvYVCrIxClksBw5pHSrNUiy6tquCp3aVGJbXZNW3EHXlXdFqcZhIG7VCqcOyfLC0nnfUwAXHTGo6OnQ6wTLQYVrx+ApQPyz7FJauS4Eeastdzs4mPLDo1Df1ILpSzb53sk6zRo3qBv+cM7B6N9VHByjNevIU8XIla0DNNvuN2ccGPhe9wT6Yk9Q3n16dnD99hlbOEyKqVBWmmTT5QQEh7UPe9gZ5w05SoFffnE49513d0KLOnIViVwSEX1zzGfliceQwhnODA4jr8iRfN+GTP4cIVwm7vKoGHPj6pxt6aJVq1b26tQGAHDI3l197+678FDtcoM6Zaxg2/vmNcfiF6e5mZO3GOp5x1MbyC4irCCju/DkPNKvD5ZNIR0E+Ubx2pFLXQjy2R/K0RHV1CtXYIkfnzjMTYfV0sWQv+wlyh9eAK9J99urI0YwLjDihkuYyhi5Prp3qMGC35yE7x7tDSwAjN+3u3a53k5hf3ZuV4XrTtlfqxxXmeD7EZG2D2cGkciRvVe69zqgckkURk6z1BBkBu6+os93IeCzWimDjtyGwyubqpXPbjoF32FujZYDYe1uNMbYs4VCu50/vrasOxy3RB5tXali5N8cv7dynrbVFdyDBraR/3PxOPTvKh8FyKdrZP5mbxuGwdu53onr+Axxh6uSg1uvrqcjd5v98axW4gG7MOY8k4N3YSmMAZZbfSFbvU0PnDJ1xmyM5a/f8/vIIfmQg7pmg4ToL9qd21Zp5XPV76Ilk8iLGNSjvbWy2A6eMKRHUQ0jlZd4f7M6bD4j4fVj2HaLZ8MtfdjJ/C067PSW1bdzvg121jcBcAeT4En1cV1sOXNUv+Lf3t3Jl0bn37ETz3fF32t+aEiPKQL9gSgsSFHSccqIvazVQ71bPSE9Jrs+iTGu0KA2FlGvg7cokSpGrgteJwfpp3l477qJTF6PasVVLlFmXD071uBnp+znk+R5OnJZuKw7JM0PnUOnTTsbAOQtZxxwdzXKVAFXHjc4NE3QJPIuSlefMAwf/eYL6NCmtOj4deRulN8LnqyO3GKNip9cjjYyqVKUt5w9HWfdewQjl2nRsBWYDfrrXV1dagzwL3LwJobDoN+7biIuOWpfX0gz57eOmsSVTHFEbdnVCCCv73fAl8hl9fUldJcIMqAS7zKXI2hXXenK49WRB9ETmC6imRgokTN/lzP4chQBgll47b0B3tmTOQ1Juc3pvXFqG3sEI+d1pfeZSjP7Bpzn0gGX6XHLkaPBG95MBu5dgkQiBlefOBQDu7XDwf27cGlQBftdpltWmd2J/2an+3e5BXKpvoFdqxVVhhaF22K2xF9xzEt1qvzzV0fmy2a+zzFk2G+vjuWVyBmavDdObSNVduS64A1i0fV0rfJcEjnB+eNrMWfFFjw///PAcnT8pkjbkXv09ioYt093TL3mWDcNPF8riuUCcgtmUBopRh5iflj2m51M9UGLjO6aJ7tYSnthNITsgqTTL86ukc15xsh+OGJwD/ToUJOYANZNAV4ZbWCPYOQtnG2NiUQeOMhJ3lLm16cf4GLkvDy+Z4JB57JakRzrla4DUpGOXH7imFzRZyFzEBzkvVBGagu7EGRiR962qsL37JhhajFoo15ItNRvHkShWiGE4EcnDMXwPp0E6keNQjnqR6AUJ1RXtWKb7TZ5w1ZZxh7ByJ3DOxayTJSHIGZSLNcntEvsCgTvdLa5ovifuuCri9TpkpLIDR1OhYZ6M+BRCxj/GQDw0g+P4lpTBUmCwTry0suopcnzxroDHXht9KPAlccPAQC8+KF/t6rDdEuBRZKNID/pNrBHMPKNO+sBAN84bCD+8+5yAMFMNAw6TrNkxqho3updCLJDU5EGS+uCKXOSasew4MvSdYWn7NO5DaoUXa3KtnuU52MLfnMS2lSJ6Ta5nKMLnSpLBgHJZuVR68j3iMPOkQO6AgBOP7ifMI2SjjzgtzOgbG6fTe1RbYxx/hV983J5COoKmSr9DNCjI5dsEJ5rBx89OqahMemmg5DLBdNulY/z1GncOkUqwPTDG4LONvYIRj52UDd8euPJGBsQokzFQkBnAsgMRpG0qqMj9x7AmiJqczQXAtUS6oedXolZ5ksuPLwW13xhWGg6UVmBo0myKXljUuXiWjAJJSJe/tHRmHzlBNf7KFQrYSWanLkkndkP7xNNNC0HewQjB/yT2QsVibwmYEvqTBDfoJRSCfCT61ituKoWZDGy1IHZVjgwTSAd4c+9ws/VXmdREnTv36ejVHQaHebj3sGJ0znfwUZ4On7/XgCAv5w7SphP5kyFrXdwrw44oK/buZRN80PpK/paOnInr3JWuYIt4fDBPewW6EGrYeSXHm3mEEiFqXUJ8MNgMqC8F4LC/g6CDMNX2YVwQ70F1MGzE1atkwc51Yq7js5tqzB6YBeleiokDwX0Fla5PM5nfHP83ri+0J5OP5x+cF9hPhkeHIV0HFpnSJmyss//Lj+i+Hdp95V0mTxatBpGfuJwOd8QfTrzt6Yq7KVru2rXb65poe+3/kBzMXjtUngFyydVVa2cOVJ8HhEGU6sVXn4a8t4L2RBjphJ5EL526AAAwNFDe8IxepBRechJ5MFpYlWlFSD6tnsvPBQnDO9d/N2uumQCGoVEfubIvqlbF1oNI5ftyP9dfgT+ddFY33MVawr26rqIDp8/FhNJHQJRPQAyUjz7xc9+fwI/UQFhHiRlwbUj98yamgDTSTnrn+C+lOlp1RBjKgi8zckQd/CALlh6y6kY0K1d8S6EDSYN8PkU+8yqakVybomqPGpoT/z9/DFMulJC2xaaH/76C/jDOSOlgo2fO3aA3coN0GoYuSx6d2qDo4eqXeDwIshZvZHk7SqHDy2rFUFp7CQQ7VQcqE5smcWDh/PH7x3oN1vPasWdr0qCSZdLIhddhnIcqMn0g4w0HarmiORCkNl7B+42sGtH3r6mEhU5wu3/Q5mgMUtvORU3n3WQpVrNkVpG7vUXbKsj+4YwNCB/An2+wDd6USL3Ppeou1Mbvlm/jmpF5kCNlfTDtuyqNztFklKYBHX1icPQhnN7slRn+KIUdDP0zq+PRk2luHwHsrEidRZu3sHXxRMG4aqJQ1yug1k0K0jkVlQrFjmD7cPOCo5EbnvdicLXTJRILSN3Tu9twZn8934rPARcLkfQW2AGJup+mUF69uj+RbUCIQTnjRvoSyMqZ9LJ+ynXFxY4ggU/sIT9wS6ShO85fwy+NKqfpBmn+F2vTuHeFwGgQlK1osNAvnJIf9+zob074KqJQ4V5iozcgrQtA9F4CFPBPfjtcbjmJL7ZZth4kSWb7ZvSUafdsSi7kCcF6aKWge2OK9mj6ukXi++cC0Ea5OVyBOeMGVDMf9OXRmDpLaeGSuSd21Zx3YKG0UtlEhUgozOUQZjVikgSmji8N/701ZFSdR48wK/6UlWlyh72CdtW8sBWVsdbDGkXk6QoYuQHhsTAPHxwD1RrivOytuvlksh5VXjj8JYL6WXkxPvbrCdVTr+D0phcCBLB7YNFUL63PVzvwmsP4w+2rBjCGFeYbjpssl94eC2uP/0AVbJ8cMh84yfH+C7LsIjravhFRwzCKSP2wkVH1MZSX9eAA33WgoSHINWWA14KWSGYTVf0tWK5G2TPSC6eMEjZtDUKpJeRc56NHdRNu0Odk3UzOYyRyD1pbA00Gcbxt2+MducRpGOtCUJVKwoj5bj99NVeprrJ4X07SenAw+BYiezdvb3vsgwL026VHRed21Xhr18/BF08pq9RYa/O4h3eHeeNxlEBBgO+4NmSuw7ZOWPLgVsQVMZhxLfvpWDkNIsQ8n8AvgigAcBnAL5FKd1igS6Juj2/ATxy6Xjt8mxJ5MI8kgONp3pgGa5QB194c/x+vXDSgX2wZVfJ46PMzc6wb+IfdvqfPfidcTh83x7YzPE4ma8zeNSHLVRxmTfL+sZIoq8mbZM85ls6tRWzhurKHHpyIj05l5RETecyiQ15D4i/g2WyUTmIlLnVW6QhGhKUYCqRTwFwIKX0IACfALjWnCQ5WD9oK/aGumkalxZD8nSzqzAWFasVWZ1h5AGDBS1jm6E2S35I0r3uqaCK2XblCMFd3zxEmHZI7w6u3xdPGFSM1hMWM1WEIGslFi5G7vwRg2pF2NUJCF5hxMgppS9RSpsKP98F4D+Ojwi254+KRK7qyyL/QJkkuXIFz93h5/iZzCVyf7ow/ahMYIkg6Pb7fnvlnRZ1biunmuAFI1FB+ae2Or57zL7Fv3OE4KghYvXJJUe6bf1/etJ+xgexHTyml0LViksit2tHzqsjDElQrdjUkV8E4HnRS0LIJYSQmYSQmevXr7dYrVO+ep4jh/TAqQf1AaA2ICpzOWW/2ix9Rw4RO9DhXi+XqMpHt8SHqJgfyg7ssEFtOuZ1Gfn1pw/Ho5eNx+BeHcITAxi6V8fwRAnFyQfKuavwon1NJQ7qnz8PyJGQQ/0ccR3ysYFMdBdB9up9EGTVfF6oUOWMd15EKH+55efkoYycEPIyIWQ+598ZTJrrADQBeEBUDqX0bkrpGErpmJ49zW5W5us0LgL/vngc7jgvfzB445dGYL+9OqJ/13ah+aQk8oB39180FotvOoX7rrRVVPtAJ5+KJCFzk9SBrDtyHYlcBbruVWsqK1w380Q49aA+WPjbk7BvTzmGbwpnYekTcLioinH7dMfSW05FlwDLExFK5rP6jNH7nCf0jNunO/p2boMrjx9cfCa6DOUFT0celUR+y9kjQtMmQLMSfthJKZ0Y9J4QciGA0wAcT2OIdPqfi8dh/Y46zFiy2U2HYVceMbgHXrjqKKm0Ph25zAGpKz1R8gQnWvHbVVdgV0MzKKVoKkhBziGNKr8LY5DyHvuiHQJxaKRtWL3I4tsT9sGogV2lFpk4YMNMXbSYs2Ooc9sqvH3t8a730oycKWdEYQdxygi9XYgIjhsHdxDz/N/fOMx9US8VjDwIhJCTAFwD4GhK6S47JAVjQkEt8d7SzSEpo4POFWjbh2Ltqysw5UdH4/BbXgUANBVCSalcxnBZw+hY4nAyOfEyRTFDD+Jc1lGr0yh74pDLkcQwcaC0oFNKXW395PcOx/vLt7jSyp79yfK5dpKHnawuft+eHbDk5lOszy/HjTFvqp90QB/X7wTwcWMd+e0AOgKYQgiZQwj5mwWapFDO+VxZQWJdhdm6nL+7dah26RSdmIDObkGmfdwXjdRb9PovHoATh/fG7eeNKl4gcaSx9jWVuLTg/IqNanPssJKN+QUCfzXBsNPzV58wFFccO9j/Igmz0jJUotM4jMur5h41sCsumjBIqgyZC2zcunME3zlykOvQVQZRWA6V5lGp7F+cNhyjBnbxhQBkBaIeHLPMOGBqtTKYUjqAUjqy8O8yW4SFwX+zM66a9XTksuSF+dIWwYnSXRXgAtZ70Ge6GA3s3g53nz8Gpx3UtyhVsgzg2lP2x9JbTkVbwSHWsL3Uw1/Z6ufvHz8EP5YI5eZgWO+OOHes3/dNkuE01X++PU4+T6GBWygNVVcKdeQKF828uO7U4Ti0Ns8ovTlvPfsgXH6sGpMPwsc3nIT9BYucM8dzBOjRIW/pNLxvJzz5vSN849ltNGCNPCUYqVbKiSgcNsnC61BHhhL58ey/csxTgXi/35HIqxxJwlPhE987HIO6t8eoG6b46rIBdkseJcrV6y/+UO78xEEMx0WRoCSRU+1Fk/30CpeO2QznHGrX/3ebqgq0FYRtdCRyCuDJ7x2BGUs2CctRuY8RFdLLyMuoW/EGHRhT2w1vfOI2qQyy65aBavqmZvdhpxejB3b1PbPJa5y1LWqbWtFEsfUtUZuSnT06tqsWRagsKqUFWb++Fq/gkeA1TTRfHIm8qYViQLd2GNBNbM3Gjvly8aXU+lrxIs4GrMyR4ticuH8v/PXro31pot4xeL+3sXDK6ASZFtV+4eG1xb9tMl12Sx4l0nzYWZkj+MM5B8dWn47uOOdSreiBHQGsGjKJfScKMuJI5M3O6X0AkrD7Si0jd5r/6KE9ceXxQ5QOdExRkSPFATq8b2cpsynZQayiI2cXi8amgo68aDbFz3P96QcUTbVsSp85DUau47kuriv6pjiDE7P0G4eVDnffvOZYvHnNsVbq+v1XghcHlV522tFkkfdeNFMdZ4ft0x1ja7vhZ6fsL0zTs2ONccB1QOx33LFacXa6QSg/G0+xasUZaL061uBHJ4gd8keBylwO3zqiFmu31RUtM2zDxZh419rhZsRNLY7VSvja7DBDq6qVAr2R+1qJmGHbov/Lh/THrS98jHXb64vPfsn4rg7aquvU9eNH51opyyWRaza2+7Cz9Fx2l9quuhKPXBbsAO+96wKvt0ijSqBaKUnkEow8AZw8tRL5U3NWAQAenbUy9rpzJD/YfnPGgdKXGEzAGyfeSVayWvGbTfkz26KsBB2J3ARJk8B58NIYV1AIExw7LH/remC3dqHDZG/BYsSOgFyO4OKC2eKhg/znNOXGwYULRTeceSBeufro4nMnClGTFCMvPydPrUQu08BRQUdSMVGtcMvz/C5ZrchI5IW65KqSoydkS37fhYdik8C1rU49Mj4wyo2RA7rgxQ/Xlq1+nWXjgsNrcdrBfdGjQ02RQYl8j9901gj8b85q33PW10qOEByydzcsveVUDWrsgmc2fPmxg3H0sJ44qH8X1/MqFYncCnVmSC0j71BTiV0NzeUmQxqq/shdmhUJ7u5sBR0b16CFgxQtE+LTkR9rEGyCV4+sy9Ny4k9fHYlF63bgl099iDkrtlgvf/KVE7Btd5Pr2fxffyEwz8s/OgqL1u0UvieEFC+1EELw6tVHC/3AtKsWBAtn/i6XOR6LQ2u74r2lm/HlQ/rjs3U7ce+0JcV3uRzxMXGA0ZFLMHJ2zIvuTESN1DJyp31FBv1ph8uOnJvAvTh8//ghqGBifgaWbU6eD0X7Y4mB3766Ajtdi3A+s8iCgIUjIdmWyP/69dH43gOzreo721VX4qD+XfDoZeOlDs1UwYtc5HUFC7h3eYN7dcTgXvKeHfcJcR724xOHoq2HobcIdOTlwiOXjgeleab9yy8OdzFyERwTYzmrlfz/J+7fC7/64gE48tbXjOjVQWoZeX1jnhHcHeD8PkmQFUwO37cHHpm5UvnWY4eaSlxz0n5SaScM7oGn56626uFv4v698cjMlVzpxos3f3ocdtY3YeqnJdv7Bb85Saqe+qZ8v7cRXOTQhVNehzb2p0RVRQ4q687d3zxEOkJREAb1aI+NOxukFkhdXHHcEN8z14WgBHByr5O6t356LOoag3fzrB15GHYXhJKrJg61eoitgtQy8rrChI7jsFEHvFB0MjhzVD8cOaQHujM+G9iJ0bdLfpv7g+OHFB1THcnRYQYtHF8Z0x/H798L3TvU4MnvHY75q7cJ0z522XisZywvRDjxgL3w6Y0nC60AWHRrX41u7d0BHmS3pB3b5H26TAwJAKyKY4b2wrUn74fzxpX/Gv6JB9jx5Pf388dg1rLNscX5dGByRT8OyLiqLlqtSOykNhbOfvp0LvkU+sIB+fF529dGYmAMzD2ZXFACjpWGbcksCP+95DB8GMD0ZCNvh6G7x/HOMcN64v53lgEA2ldXug6O3vjJMejNOKXywgkUwIIQUqxj1MCuGMW59elgjIJnPhkmzmJwYUcwUsEjYu9ObfD2pOMCv1kHuRzBpUfb8+MRN3p3qsHabe4Ft2v7ausLngxYIVYlaHeS4EjkjQo7I0c4WXTjycUFjHefIAqklpE7aBOj7+hx+3THuH26c9+98ZNj0IUJI2ZTEvnFacPRpqoCd09d7JO09+7enpunprIC/7l4HA7sl9wzhHH7dMfrPz4Ge3dXk1icXQkLx6dHXPJfdUUODc3h+tO48PKPjsbuEHVBXEiC7xFTnDNmAJ6YvQrnjAl3qfDs9yfgozXbikYEKoGbbSG1jPzgAV0wd8WWxNjmehlqdWUOj393PM6+8x3jsqsqcjigb54hq7jJnBAQUi4pqO3BX4hUMenk/VBdmcPpI/sq5z1TI88b1xyD1VvqlPNFhY5tqopqp3JjwuCe+M+7ywEA32Rus6YJfbu0xVTJm7cH9uuMA/uZ+dk3BSmHMfuYMWPozJkzjcrYXteItdvqpWMwlguL1m3Hqx+vwyVHmW3bKaV4YvYqnD6yr7IKI0OGuLGjvolrQZPBDISQWZTSMd7nqW3pJEkgQVA19xKBEIKzD4nfc16GDDrImHi8yES7DBkyZEg5MkaeIUOGDClHxsgzZMiQIeXIGHmGDBkypBwZI8+QIUOGlCNj5BkyZMiQcmSMPEOGDBlSjoyRZ8iQIUPKUZabnYSQ9QCWaWbvAWCDRXLSgOyb9wxk37xnwOSb96aU+tydloWRm4AQMpN3RbU1I/vmPQPZN+8ZiOKbM9VKhgwZMqQcGSPPkCFDhpQjjYz87nITUAZk37xnIPvmPQPWvzl1OvIMGTJkyOBGGiXyDBkyZMjAIGPkGTJkyJBypIqRE0JOIoQsJIQsIoRMKjc9NkAIGUAIeY0Q8hEh5ENCyA8Kz7sRQqYQQj4t/L9r4TkhhPyl0AbzCCGjy/sF+iCEVBBC3ieEPFv4PYgQMr3wbf8lhFQXntcUfi8qvK8tK+GaIIR0IYQ8Rgj5mBCygBAyvrX3MyHkh4VxPZ8Q8hAhpE1r62dCyL2EkHWEkPnMM+V+JYRcUEj/KSHkAhUaUsPICSEVAO4AcDKA4QDOJYQMLy9VVtAE4GpK6XAAhwG4vPBdkwC8QikdAuCVwm8g//1DCv8uAXBn/CRbww8ALGB+/w7AnyilgwFsBnBx4fnFADYXnv+pkC6NuA3AC5TS/QAcjPy3t9p+JoT0A3AlgDGU0gMBVAD4GlpfP/8TwEmeZ0r9SgjpBuBXAMYBGAvgVw7zlwKlNBX/AIwH8CLz+1oA15abrgi+8ykAJwBYCKBP4VkfAAsLf98F4FwmfTFdmv4B6F8Y4McBeBYAQf62W6W3vwG8CGB84e/KQjpS7m9Q/N7OAJZ46W7N/QygH4AVALoV+u1ZAF9ojf0MoBbAfN1+BXAugLuY5650Yf9SI5GjNCgcrCw8azUobCVHAZgOoDeldE3h1ecAehf+bi3t8GcA1wBoKfzuDmALpbSp8Jv9ruI3F95vLaRPEwYBWA/gvoI66R5CSHu04n6mlK4C8HsAywGsQb7fZqF197MD1X416u80MfJWDUJIBwCPA7iKUrqNfUfzS3SrsRMlhJwGYB2ldFa5aYkRlQBGA7iTUjoKwE6UttsAWmU/dwVwBvKLWF8A7eFXQbR6xNGvaWLkqwAMYH73LzxLPQghVcgz8QcopU8UHq8lhPQpvO8DYF3heWtohyMAnE4IWQrgYeTVK7cB6EIIccKvs99V/ObC+84ANsZJsAWsBLCSUjq98Psx5Bl7a+7niQCWUErXU0obATyBfN+35n52oNqvRv2dJkb+HoAhhRPvauQPTZ4uM03GIIQQAP8AsIBS+kfm1dMAnJPrC5DXnTvPzy+cfh8GYCuzhUsFKKXXUkr7U0prke/HVymlXwfwGoAvF5J5v9lpiy8X0qdKcqWUfg5gBSFkWOHR8QA+QivuZ+RVKocRQtoVxrnzza22nxmo9uuLAE4khHQt7GROLDyTQ7kPCRQPFE4B8AmAzwBcV256LH3TBOS3XfMAzCn8OwV53eArAD4F8DKAboX0BHnrnc8AfIC8RUDZv8Pg+48B8Gzh730AzACwCMCjAGoKz9sUfi8qvN+n3HRrfutIADMLff0/AF1bez8D+DWAjwHMB/BvADWtrZ8BPIT8GUAj8juvi3X6FcBFhW9fBOBbKjRkV/QzZMiQIeVIk2olQ4YMGTJwkDHyDBkyZEg5MkaeIUOGDClHxsgzZMiQIeXIGHmGDBkypBwZI8+QIUOGlCNj5BkyZMiQcvx/8iX8UgFaTdoAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = (np.random.random_sample(1000)-0.5)*5\n",
"plt.plot(x)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "9b2ddd6a-f9de-4d05-becc-6ffe29236911",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7ff34e993790>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWoAAAD4CAYAAADFAawfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Z1A+gAAAACXBIWXMAAAsTAAALEwEAmpwYAAAbF0lEQVR4nO3df2yV13kH8O/DxSbgkhEUw1on1BlFiZICdmUVEFOVpWOhSZPdZEna1FSaVsE/3VRCSgfFEokESRYUN5U2bYKm6x94KaFN7trCSD0tqCoybp1eBychWUKXktx24IowKBAw9rM/7Js67r3nnGu/P877vt+PhAq8b6/PJebLuc/7nHNEVUFERP6aFvcAiIjIjEFNROQ5BjURkecY1EREnmNQExF5bnoYL3r11Vdrc3NzGC9NRJRKL7744m9VtbHStVCCurm5GX19fWG8NBFRKonIr6pdY+mDiMhzDGoiIs8xqImIPMegJiLyHIOaiMhzoXR9EBFlSaFYwo7nX8evT1/AR+bMxMZbr0e+tSmw1/cmqDsKA3i6920MqyIngvuXXYtt+cVxD4uIyKhQLOHBvS9heGR0J9LS6Qt4cO9LABBYWHtR+ugoDGD34eMYHttydVgVuw8fR0dhIOaRERGZPfhM//shXTY8otjyXHD55UVQ/1vv8Yq/v/tw5d8nIvJBR2EAw1W29D93aTiwr+NFUI8Yzi5o39UT3UCIiGpQbZIZNC+C2uTQsVNxD4GIqCLTJFMC/DpeBPXMOi+GQUTkrFAsGa+3L18Q2NfyIiEfvXuJ8TofKhKRbzbs6TdeD7JrzSmoRWSOiHxPRF4TkaMisiKwEcDewtLFh4pE5JkRwzUJsu4B9xn1NwEcUNUbACwFcDTYYQBNc2ZWvaawf8wgIoqKteyxLLiyB+AQ1CLyRwA+BeApAFDVS6p6OtBRANh46/XG619/9kjQX5KIaFJseRT0Yj2XGfV1AAYB/KuIFEXkWyLSMPEmEVknIn0i0jc4OFjzQPKtTVi5cG7V6+eHRjirJqLYFYolnB+qXvhYNO8P4nHKXIJ6OoBPAPhnVW0FcA7Apok3qepOVW1T1bbGxoqnyVh1rTWXvnc8//qkXpeIKCgP/eAV4/XuDTcH/jVdgvodAO+oau/Yr7+H0eCOXOn0hTi+LBHR+05fGKp67apZdaF8TWtQq+r/AnhbRMpF5E8DeDWU0Thg+YOIfLX1jptCeV3Xro+/A9AlIkcAtAB4JJTRwF7f2cyHikQUo4b6XMXfn1U3LdCtTcdzCmpV7R+rPy9R1byqvhvKaDBa3zEN6oKhiE9EFKb2XT0VN1vKTRM8Ylm4NxVerEycqPNzLcbrLH8QUdQ6CgNV9x6aPWN6aLNpwNOgtr3h9Zalm0REQTPtlPd/hgeMQfAyqAH7zlPc/pSIomTaKe8jhpXVQfA2qG07T3H7UyKKim1jONvK6qnyNqh5XiIR+cK0MVzdtODORqzG26AG7K163P6UiMJWKJZgqHpgx70toY/B66C2LcXkmYpEFDZb80LYs2nA86AGgDkzzUsy2apHRGGxfWqP6nQq74P6oTvNSzK5/SkRhcV2aIntdKqgeB/Uto8Vpu0GiYimwlSbBqIpewAJCGoAWGNp1eNDRSIKmi1XTPvnBy0RQW1r1eNDRSIKUqFYsuaKbf/8ICUiqAH7rJorFYkoKA//0Hw4gC2PgpaYoLbNqrlSkYiC8u55894dUS/IS0xQA9G1whBRdtlafm0tw2FIVPLZWmHYU01EU2Ure9hahsOQqKC2tcJs3NsfzUCIKLVMZY81yxdE1pI3XqKCGjC3xAyNsFWPiCbP9qk8rs3iEhfUtpYY20oiIqJqTGWPOGrTZYkLasB8JLttJRERUSWFYslY9oijNl2WyKC2HcnOh4pEVKsHDLvkXTWrLpbadFkig9r2B2Z7aktENN6qzoPGT+O2yWHYEhnUgHll0LvnhzirJiJnb5w8Z7we52wacAxqEXlLRAZEpF9E+sIelItt+cVoqM9Vvc7tT4nIha1TzPRMLCq1zKj/TFVbVLUttNHUaPtd1Vtlzg+NcFZNRFa2zZfiLnsACS59APaPI7YjdIiITObPro+97AG4B7UC+LGIvCgi6yrdICLrRKRPRPoGBweDG6GFrbeRC2CIqBrbrpu9W1ZFNBIz16D+U1X9BIDPAPiyiHxq4g2qulNV21S1rbGxMdBBmth6G7lXNRFVUiiWjLtuSoRjsXEKalUtjf3vSQDPAfhkmIOqhcvHEtaqiWgiW8NBe8R7TptYg1pEGkRkdvnnAP4CwMthD6wWOcs/fTuefz2agRBRYtjOW41rX49KXGbU8wH8VEReAvAzAPtU9UC4w6rNE/e1GK+XTl+IZiBElAhJe3ZlDWpV/aWqLh37cZOqbo9iYLXItzZZD5pk+YOIyp7ufdt4fdG8hohG4ibR7Xnjda1dYQzrh37AZeVENGpYzdu3dW+4OZqBOEpNUAPmLVBPXzCfgUZE2WBryfNhJeJEqQpqIiITW0se4MdKxIlSF9TV/jX08V9JIoqW7bi+OTPj3c60mtQF9dY7bkJdlX49PlAkyjZLR16shwOYpC6o861N2HHP0j9YWv7u+SGs39NvrU8RUTrZWvJWLpzr5WwaSGFQA6Nh3TBjesVrh46dSlwPJRFNne08Vdt5rHFKZVADwK8Ni1x4AC5RthSKJeMJLnWeJ6Hnw5u8j8yZWfWagvVqoiyxPUTccW9LJOOYrNQG9cZbrzde5wkwRNnQvqvH+BCxPife1qbLUhvU+dYm48eZ80MjrFUTZYCtb/rxe5ZGNJLJS21QA/aPM9yrmoh8n00DKQ/qfGuT8bRywL6clIiSy/YsqsnwLMsnqQ5qwL6nrO1jEREll+1ZlO1Zli9SH9RElF2mwwHqpiWj7AFkJKjnz643Xmf5gyh9bGUP31vyxstEUNtOEj507BT7qolSpFAsYcOe/qrXBcmZTQMZCWoAmGVZesSDBYjSY/OzR2Daf8mng2tdZCaoH7l7ifE6DxYgSo8Lhtr0muULvDq41kVmgtrlXEUugCFKPtszp6SFNJChoAbsu2NxAQxRsnUUBowtt9Mqb1XvvUwFtQt2gBAll22y9YVlyapNlzkHtYjkRKQoIj8Kc0Bhs5U/uACGKJlsnVuz6qYlsuwB1Daj/gqAo2ENJCpda1dY+6pXdR6MZjBEFJjNllWItoYCnzkFtYhcA+B2AN8KdzjRsPVVv3HyXEQjIaIgFIolY6cHkKy+6YlcZ9RPAvgaUL01UUTWiUifiPQNDg4GMbZQ1Vc5ALeMC2CIksN2MICt5Ok7a1CLyGcBnFTVF033qepOVW1T1bbGxsbABhgW2x60O55/PaKRENFU2U4X9/k8RBcuM+qVAO4UkbcAfBfALSKyO9RRRcD2MahkOHORiPxhW/9w1ay6iEYSHmtQq+pmVb1GVZsBfB7Af6nqmtBHFgHuVU2UbB2FAWtL3tY7bopoNOHJdB/1tvxiY+2KmzUR+e3p3reN1xfNa0j0Q8SymoJaVQ+q6mfDGkwcbLWrB5/pj2YgRFSzYVXj9e4NN0czkJBlekZdlpPqHSDDyhIIURIl5ZgtFwxqAPcvu9Z4nasVifxje4iYlGO2XDCoMVqrnjGdfxRESWF7iDhnZl0qatNlTKcx//BXyV1eSpQ1XYaQnlmXw0N3Jr/TYzwG9Zh8axNMixW5VzWRH5Zt74bpEeKjdy9O1WwaYFB/wBP3taBaVu8+fJwPFYlitqrzIE6cvWS8J20hDTCoPyDf2oRvfK6l6nX2VRPFy7Zhmu1s1KRK57uaAtu/xjwEl8hfSd7K1IRBXYGpr5qH4BLFw7ZP/JrlC1JZ9gAY1BXZ+qqXbe+OaCREBIxuO2wreyT19BYXDOoKbH3VJ85e4oNFogjZth2emdLadFm6390U2PqquVqRKDq2bYcfTWltuoxBXUW+talqq14Ze6uJwufy9yyttekyBrVBu2W/ats+uEQ0daZViIB9X/k0YFAbbMsvxjTLtJonlhOFp6MwYFyFuGb5glQ/RCxjUFt03tdivP7GyXMsgRCFoFAsGT+15kQyEdIAg9oq39oE2wNllkCIglUolrB+T7/xHlsbbZowqB3suLcl7iEQZYrLCuCszKYBBrUTl1k1F8EQBce2AjgLDxDHY1A7ss2qT5y9xFo1UQBsD+gF2ZpNAwxqZ/nWJusfVlcva9VEU2VbKm5rm00jBnUNOg1boAKA5UBkIrKwzabrpmVvNg0wqGtiOwUGAPerJpqkjsKAdTad1Qf71qAWkStE5Gci8pKIvCIiD0cxMF89Yemr3vBMfyTjIEobW5vr/Nn1qV8qXo3LjPoigFtUdSmAFgCrRWR5qKPyWL61yXiKxIgC123aF+GIiJLP5ZNo75ZVEYzET9ag1lG/G/tl3diPTFdjbadIKNiuR1SLjXv74x6C15xq1CKSE5F+ACcBdKtqb4V71olIn4j0DQ4OBjxMv+Rbm6x9nCfOXmK9mshBR2EAQyPme7LWNz2RU1Cr6rCqtgC4BsAnReTjFe7ZqaptqtrW2NgY8DD94/Lkectz7Ksmsnm6923j9ZUL52ay02O8mro+VPU0gBcArA5lNAkzf3a98fq5S8OcVRMZFIolDBv6WmfVTUPX2hURjshPLl0fjSIyZ+znMwGsAvBayONKBJeHG19/9kgEIyFKnkKxhI3fe8l4T1pPFa+Vy4z6wwBeEJEjAH6O0Rr1j8IdVnI8aVkEc35ohEvLiSp4YE8/hoarz6ZXLpyb2Xa8iabbblDVIwBaIxhLIuVbm9D3q1PGHtDdh4+j7aP8piMqW9V5kAcC1IArEwOwLb/Yegrywz+0b9tIlBW2FYgM6Q9iUAfEdgryu+fN2zYSZUX7rp64h5A4DOqAuJQ1+A1KWVcolnDo2CnjPWLZTyeLGNQBWrlwrvH6oWOn2K5HmWY7XgsA2pdle3FLJQzqALn0e7Jdj7LKtoUpwIeI1TCoA2abVZ8fGuGsmjLJ9gAR4EPEahjUAetauwK2Ehs7QChrXCYntklOljGoQ/ANyyKYd88PcVZNmVEolpxq01wqXh2DOgQuu+tt2NPPsKZM2OAQ0lnfHc+GQR2SbfnF5gMGAGzmg0VKuUKxBMsOpqjPCWvTFgzqENk2lLnAfUAo5b6617zpUl1O8Pg9SyMaTXIxqEOUb23CnJl1xnt2Hz7OEgil1uUR82FQO+5Zyj1wHDCoQ/bQnTdZ73nAoYZHlDRLth4wXufueO4Y1CFzebCoAEsglCo3bNmPMxeHjfewy8MdgzoCtgeLAIzbpBIlSfuuHrxn2GcaABbNa4hoNOnAoI6Iy0kV3LSJ0sC26RIAdG+4OfyBpAiDOiL51ibrLOLQsVMsgVCiuXz/sme6dgzqCHVvuNm6vJwlEEqyLsv375UzcuyZngQGdcRsy8sBt13GiHxTKJaMx2sBwJGHV0cylrRhUEfMpQvkjZPn2FtNidJRGLDu58GSx+QxqGOwLb8YliYQ7ltNidG+q8dasls0r4EljylgUMdkx70txuvnh0ZYAiHvuRyt1VCfY5fHFFmDWkSuFZEXRORVEXlFRL4SxcDSLt/aZP3Df+PkOXaBkNdcVtVuv4sz6alymVFfBvCgqt4IYDmAL4vIjeEOKxs6HR4ssguEfNW+q8f68FDE7eBnMrMGtar+RlV/MfbzswCOAuCffADyrU14kl0glFAuC1t4UG0waqpRi0gzgFYAvaGMJoNcu0BYAiGfuEwe5s+u5wPEgDgHtYh8CMD3AaxX1TMVrq8TkT4R6RscHAxyjKnn8s3MEgj5olAsOR1U27tlVQSjyQanoBaROoyGdJeqPlvpHlXdqaptqtrW2NgY5BgzwWWTGpZAyAcu5x/yoNpguXR9CICnABxV1c7wh5RN3RtuxpUzcsZ73jh5jmFNsVq2vdt6z/zZ9dzCNGAuM+qVAL4I4BYR6R/7cVvI48okl+W1rFdTXJZt78aJs5es97HkETyXro+fqqqo6hJVbRn7sT+KwWWRSwmE9WqKWvuuHqeQ5jLxcHBlomdcV3C5fAQlCopLKx6XiYeHQe0hl97qE2cvsQRCkXCtS3OZeHgY1B5yXQjDE8wpbK4lD9alw8Wg9pTLiTCAW6sU0WS5lDzYihc+BrXHXD9KfmzzvnAHQpnk8n11RU7YihcBBrXnXEogl5UH41Kw2nf14LJtxyUAr21np24UGNSec9kLBBj9iMp6NQWhozDgVPJgK150GNQJsC2/2KlevZmnwtAUdRQGnPr01yxfwFa8CDGoE8KlXn1haIQtezQlLiHNXfGix6BOEJePmrsPH+diGJoU1+ccbMWLHoM6QbblF2P+7HrrfSfOXuLmTVST9l091rr0NHF7uE3BY1AnTO+WVU71apf9gokAtwNqAaDzvhYeqxUTBnUCdW+4GbPq7P/plmw9EMFoKOk27u233rNy4VyGdIwY1An1yN1LrPecuTjMsCaj9l09GBox37NoXgMXtcSMQZ1Q+dYmp6W7Zy4OsxOEKlq2vdta8qjPCTdb8gCDOsG61q5wCmtu3kQTuW629Pg9SyMYDdkwqBPONazX7+lnWNP7XDdbYl3aDwzqFOhau8J63iLAnfZotNzRvMm+2dLKhXNZl/YIgzolXM5bBHgyTJa5nnnIkPYPgzpFXEogJ85eYidIRrmENACGtIcY1CniWq8+c3GY26JmSKFYwnUO5Q6AhwD4ikGdMl1rVzgtMz907BTDOgMKxRI2PNMPh62lMX92PWfTnmJQp1DvllVODxcPHTvFmnXKPbCnHyMOKb1m+QJutuQxa1CLyLdF5KSIvBzFgCgYRx5e7byBE8M6nZZsPeA8k+a2pX5zmVF/B4BbSwF5xXVmzd320mdV50GcuThsvW+6cNvSJLAGtar+BIC9O568dOTh1XDYvwlvnDzHsE6JVZ0HnXZPnD+7Hm8+ensEI6KpCqxGLSLrRKRPRPoGBweDelkKwI57W5zuY1gn35KtB5xCmjXpZAksqFV1p6q2qWpbY2NjUC9LAci3NjnVq4HRsGafdTJdt2mfU7mDNenkYddHRrjWqwFuj5pEN2zZ7/Tg8MoZOc6kE4hBnSFHHl7tdO4iMBrWN2zZH/KIKAgf27wP7w3bY3rRvAbnrQbILy7teU8D6AFwvYi8IyJfCn9YFJZt+cV467Hbnf6Ffm9YGdaeu2HLflx2mEovmtfAfaUTzKXr435V/bCq1qnqNar6VBQDo3B1Oh5S+t6wsgzioUKxhIWOM+krZ+QY0gnH0kdG5VubWAZJqI7CANbv6YdDRgNw31mR/MWgzrBt+cV4soaZdfOmfTx8IGbtu3qw+/Bx5/td//uS3xjUGZdvbcJbj7kveli/p59nMMakfVeP08ksZU9+roUntKQEg5oAwLkMAoyewciwjlYtIX1FTvDWY7czpFNketwDID+UF0C4fqzeffg4/mfwd9wWM2SFYqmmI9TY3ZFOnFHT+8qte1fkxOl+7mkdrlWdB2sK6ZUL5zKkU4pBTX/gte231RTWzZv2MbADtmx7t9OeHWWL5jXw002KMaipote234bpblkNYDSwuaFTMFwPoS27IiecSaccg5qqevPR2503cwJGN3T6E7bwTVqhWELzpn01hfSVM3J4bfttIY6KfMCgJqPeLatqOvB0BGzhm4wlWw/UVI8GRjt1uJglG0TVcXlTDdra2rSvry/w16X4dBQGalpoAYzOAjrZy2vkusn/eFfkhLPoFBKRF1W1rdI1zqjJSbkjpJZSCGfXZs2b9tUc0vNn1zOkM4hBTTWpZV/rst2Hj6N50z4G9phyLbpWPJUlu1j6oEmZTCkEGH34ldW6aqFYwgN7+p02+B+PpY5sYOmDAlcuhdQ6uz5zcRjXZbAzpH1XD9ZPIqQXzWtgSBNn1DR1k3kgBgAN9Tlsv2txah82Fool/P33j+Di5ZFJ/f9r2SyLks80o2ZQUyBq3ZNiojXLF6TmwNVCsYSv7n0Jl0cm93eLpY5sYlBTZGrdirOSpG7POdka9HhJfe80dQxqitxkyyHjJWWWPdkHq+Nx1ztiUFMsggiwMt9CO4hPDsBoXzRb7ghgUFPMCsUSvv7sEZwfmtxDtfHiDLagwhkAcgI8cR/LHPR7DGryQqFYwsa9/Qggr98nAL4RUl03yGAez7dPB+QHBjV5JciSSDUrF8513p85ivEArEOT2ZSDWkRWA/gmgByAb6nqY6b7GdTkIqwZq0+yvBKTajOllYkikgPwTwA+A+BGAPeLyI3BDpGyqGvtCrz12O01baOaJNyGlILicrjtJwG8qaq/BAAR+S6AvwTwapgDo+wolyiWbD2AMxeHYx7N1Myqm4ZH7l7Ch4QUKJegbgLw9rhfvwNg2cSbRGQdgHUAsGDBgkAGR9kyfvaZpLLIVbPqsPWOmxjOFBqXoHaiqjsB7ARGa9RBvS5l0/gHgT6Gdn1O8Pg9SxnOFAmXoC4BuHbcr68Z+z2iSEzs3qj18NcgpH0DKfKbS1D/HMAiEbkOowH9eQBfCHVURAbVFrwE1WbHPmfyjTWoVfWyiPwtgOcx2p73bVV9JfSREdVoW34xA5ZSyalGrar7AewPeSxERFQBT3ghIvIcg5qIyHMMaiIizzGoiYg8F8rueSIyCOBXgb9wuK4G8Nu4BxExvuds4HtOho+qamOlC6EEdRKJSF+1navSiu85G/iek4+lDyIizzGoiYg8x6D+vZ1xDyAGfM/ZwPeccKxRExF5jjNqIiLPMaiJiDzHoB5HRHaIyGsickREnhOROXGPKWwicq+IvCIiIyKSmnamiURktYi8LiJvisimuMcTBRH5toicFJGX4x5LFETkWhF5QUReHfue/krcYwoKg/qDugF8XFWXAPhvAJtjHk8UXgZwN4CfxD2QsGT4gObvAMjS6bqXATyoqjcCWA7gy2n578ygHkdVf6yql8d+eRijp9mkmqoeVdXX4x5HyN4/oFlVLwEoH9Ccaqr6EwB+nWEWIlX9jar+YuznZwEcxeiZr4nHoK7ubwD8R9yDoEBUOqA5FX+BqTIRaQbQCqA35qEEIrDDbZNCRP4TwB9XuLRFVf997J4tGP0Y1RXl2MLi8p6J0kJEPgTg+wDWq+qZuMcThMwFtar+uem6iPw1gM8C+LSmpMnc9p4zgAc0Z4SI1GE0pLtU9dm4xxMUlj7GEZHVAL4G4E5VPR/3eCgw7x/QLCL1GD2g+Qcxj4kCJiIC4CkAR1W1M+7xBIlB/UH/CGA2gG4R6ReRf4l7QGETkbtE5B0AKwDsE5Hn4x5T0MYeEJcPaD4K4JksHNAsIk8D6AFwvYi8IyJfintMIVsJ4IsAbhn7+9svIrfFPaggcAk5EZHnOKMmIvIcg5qIyHMMaiIizzGoiYg8x6AmIvIcg5qIyHMMaiIiz/0/lU6rUu0i78AAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"y = x**2\n",
"plt.scatter(x,y)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "3fa5853d-fba0-43b0-b256-d2316e58b9fe",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(-0.02588646925233561, 0.41351981736328935)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"scipy.stats.pearsonr(x,y)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "0a996399-00d1-41b3-9c13-3df3c074ac05",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"SpearmanrResult(correlation=-0.01147919947919948, pvalue=0.7169320340030363)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"scipy.stats.spearmanr(x,y)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "b1147f61-2316-42bf-818a-ab0f6bf27878",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>x</th>\n",
" <th>y</th>\n",
" <th>yranks</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1.869768</td>\n",
" <td>3.496031</td>\n",
" <td>763.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>-1.389706</td>\n",
" <td>1.931283</td>\n",
" <td>574.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.956190</td>\n",
" <td>0.914299</td>\n",
" <td>395.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>-2.041488</td>\n",
" <td>4.167672</td>\n",
" <td>819.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.657287</td>\n",
" <td>0.432026</td>\n",
" <td>274.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" x y yranks\n",
"0 1.869768 3.496031 763.0\n",
"1 -1.389706 1.931283 574.0\n",
"2 0.956190 0.914299 395.0\n",
"3 -2.041488 4.167672 819.0\n",
"4 0.657287 0.432026 274.0"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.DataFrame(zip(x,y),columns=[\"x\",\"y\"])\n",
"df[\"yranks\"]= df[\"y\"].rank()\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "aeb79433-23c5-4342-b7c0-e9236c850c61",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>x</th>\n",
" <th>y</th>\n",
" <th>yranks</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>148</th>\n",
" <td>-2.496137</td>\n",
" <td>6.230698</td>\n",
" <td>999.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>208</th>\n",
" <td>-2.491805</td>\n",
" <td>6.209093</td>\n",
" <td>996.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>-2.487772</td>\n",
" <td>6.189011</td>\n",
" <td>994.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>769</th>\n",
" <td>-2.483349</td>\n",
" <td>6.167021</td>\n",
" <td>992.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>773</th>\n",
" <td>-2.481518</td>\n",
" <td>6.157933</td>\n",
" <td>991.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" x y yranks\n",
"148 -2.496137 6.230698 999.0\n",
"208 -2.491805 6.209093 996.0\n",
"10 -2.487772 6.189011 994.0\n",
"769 -2.483349 6.167021 992.0\n",
"773 -2.481518 6.157933 991.0"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df.sort_values(\"x\") #Sort by the rank of X\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "a313d4cc-4635-4d0d-a5b9-8e97e4382bb6",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.994008994008994"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rank_series = df[\"yranks\"].reset_index(drop=True)\n",
"rank_series\n",
"diff = []\n",
"for i in range(len(rank_series)-1):\n",
" diff.append(abs(rank_series[i+1]-rank_series[i]))\n",
" \n",
"xi =1-3*(sum(diff)/(len(y)**2-1))\n",
"xi"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f2cc9d2e-8a80-4484-aca3-11cd156a46be",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.1"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment