{ "cells": [ { "cell_type": "markdown", "id": "fe2eed0f-4ff1-4587-aa6c-3589c0f41e07", "metadata": {}, "source": [ "# Data Preparation and Quality\n", "Lecture Data Engineering and Analytics
\n", "Eva Zangerle" ] }, { "cell_type": "code", "execution_count": 281, "id": "792af709-0621-4d64-8166-8c8cc28cc73c", "metadata": {}, "outputs": [], "source": [ "# import required libs\n", "import psycopg2\n", "import json\n", "import math\n", "import glob\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from scipy.stats import norm, kstest, median_abs_deviation\n", "import statsmodels.api as sm\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.preprocessing import MinMaxScaler, StandardScaler\n", "from sklearn.neighbors import KNeighborsRegressor\n", "\n", "# set seaborn style\n", "sns.set_style('darkgrid')" ] }, { "cell_type": "markdown", "id": "747aa842-23a2-4659-abdc-3131a07894e2", "metadata": {}, "source": [ "## Anomaly Detection" ] }, { "cell_type": "markdown", "id": "453a0a19-9a3d-42d4-98a9-eacfc50a83b1", "metadata": {}, "source": [ "### Missing Data: SQL" ] }, { "cell_type": "markdown", "id": "a97b1813-8d6c-4435-85c6-97a757fd1c26", "metadata": {}, "source": [ "Example for missing values, NaN, NULL, sentinels in PostgresQL (adopted from CleanData).\n", "This requires a running Postgres server on your system." ] }, { "cell_type": "code", "execution_count": 207, "id": "ee61fb88-008e-4a80-8be7-c982bd212ced", "metadata": {}, "outputs": [], "source": [ "# PostgreSQL configuration\n", "def connect_local():\n", " user = 'cleaning'\n", " pwd = 'data'\n", " host = 'localhost'\n", " port = '5432' \n", " db = 'dirty'\n", " con = psycopg2.connect(database=db, host=host, user=user, password=pwd)\n", " engine = create_engine(f'postgresql://{user}:{pwd}@{host}:{port}/{db}')\n", " return con, engine" ] }, { "cell_type": "code", "execution_count": 208, "id": "1bbb5388-0783-477c-bdaa-4323d305393e", "metadata": {}, "outputs": [], "source": [ "def make_missing_pg():\n", " cur = con.cursor()\n", " cur.execute(\"DROP TABLE IF EXISTS missing\")\n", " cur.execute(\"CREATE TABLE missing (a REAL, b CHAR(10))\")\n", " cur.execute(\"INSERT INTO missing(a, b) VALUES ('NaN', 'Not number')\")\n", " cur.execute(\"INSERT INTO missing(a, b) VALUES (1.23, 'A number')\")\n", " cur.execute(\"INSERT INTO missing(a, b) VALUES (NULL, 'A null')\")\n", " cur.execute(\"INSERT INTO missing(a, b) VALUES (3.45, 'Santiago')\")\n", " cur.execute(\"INSERT INTO missing(a, b) VALUES (6.78, '')\") \n", " cur.execute(\"INSERT INTO missing(a, b) VALUES (9.01, NULL)\")\n", " con.commit()\n", " cur.execute(\"SELECT * FROM missing\")\n", " return cur.fetchall()" ] }, { "cell_type": "code", "execution_count": 209, "id": "3dd7f2c5-9fc1-4f35-9bc5-ba9918c7e0a3", "metadata": {}, "outputs": [ { "ename": "OperationalError", "evalue": "could not connect to server: Connection refused\n\tIs the server running on host \"localhost\" (::1) and accepting\n\tTCP/IP connections on port 5432?\ncould not connect to server: Connection refused\n\tIs the server running on host \"localhost\" (127.0.0.1) and accepting\n\tTCP/IP connections on port 5432?\n", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mOperationalError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m/tmp/ipykernel_132655/958013954.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mcon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mconnect_local\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mcur\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcon\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcursor\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;31m# Look at table named \"missing\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mcur\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"SELECT * FROM missing\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcur\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/tmp/ipykernel_132655/47601671.py\u001b[0m in \u001b[0;36mconnect_local\u001b[0;34m()\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mport\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'5432'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mdb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'dirty'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mcon\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpsycopg2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconnect\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdatabase\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhost\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mhost\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0muser\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0muser\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpassword\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpwd\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 9\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcreate_engine\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf'postgresql://{user}:{pwd}@{host}:{port}/{db}'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mcon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mengine\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/.local/share/virtualenvs/data-engineering-analytics-notebooks-Qx0adyYX/lib64/python3.9/site-packages/psycopg2/__init__.py\u001b[0m in \u001b[0;36mconnect\u001b[0;34m(dsn, connection_factory, cursor_factory, **kwargs)\u001b[0m\n\u001b[1;32m 120\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 121\u001b[0m \u001b[0mdsn\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_ext\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmake_dsn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdsn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 122\u001b[0;31m \u001b[0mconn\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_connect\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdsn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconnection_factory\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mconnection_factory\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwasync\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 123\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcursor_factory\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 124\u001b[0m \u001b[0mconn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcursor_factory\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcursor_factory\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mOperationalError\u001b[0m: could not connect to server: Connection refused\n\tIs the server running on host \"localhost\" (::1) and accepting\n\tTCP/IP connections on port 5432?\ncould not connect to server: Connection refused\n\tIs the server running on host \"localhost\" (127.0.0.1) and accepting\n\tTCP/IP connections on port 5432?\n" ] } ], "source": [ "con, engine = connect_local()\n", "cur = con.cursor()\n", "# Look at table named \"missing\"\n", "cur.execute(\"SELECT * FROM missing\")\n", "for n, (a, b) in enumerate(cur):\n", " print(f\"{n+1} | {str(a):>4s} | {b}\")" ] }, { "cell_type": "markdown", "id": "afd8f76a-185d-4ede-8d90-49ee9717b788", "metadata": {}, "source": [ "Output (for those not wanting to set up Postgres locally):\n", "\n", "1 | nan | Not number\n", "2 | 1.23 | A number \n", "3 | None | A null \n", "4 | 3.45 | Santiago \n", "5 | 6.78 | \n", "6 | 9.01 | None" ] }, { "cell_type": "markdown", "id": "d2bb2faf-e715-4232-9d0a-723729393f0a", "metadata": {}, "source": [ "### Missing Data: JSON\n" ] }, { "cell_type": "markdown", "id": "b1505590-6757-4f9a-ab78-7ee2bbe9086b", "metadata": {}, "source": [ "Example for JSON and dealing with sentinel values (adopted from CleanData)." ] }, { "cell_type": "code", "execution_count": 210, "id": "8da778a9-c262-42ce-9ff3-b2330101a394", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[nan, None, inf]" ] }, "execution_count": 210, "metadata": {}, "output_type": "execute_result" } ], "source": [ "json.loads('[NaN, null, Infinity]') " ] }, { "cell_type": "code", "execution_count": 211, "id": "161f29a5-e0a6-478b-85f9-e5fe19fdfdb4", "metadata": {}, "outputs": [], "source": [ "json_data = '''\n", "{\"a\": {\"1\": NaN, \"2\": 1.23, \"4\": 3.45, \"5\": 6.78, \"6\": 9.01},\n", " \"b\": {\"1\": \"Not number\", \"2\": \"A number\", \"3\": \"A null\",\n", " \"4\": \"Santiago\", \"5\": \"\"}\n", "}'''" ] }, { "cell_type": "code", "execution_count": 212, "id": "8b476b3a-d82d-48ba-9175-b0ba5f9e2a83", "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", "
ab
1NaNNot number
21.23A number
3NaNA null
43.45Santiago
56.78
69.01NaN
\n", "
" ], "text/plain": [ " a b\n", "1 NaN Not number\n", "2 1.23 A number\n", "3 NaN A null\n", "4 3.45 Santiago\n", "5 6.78 \n", "6 9.01 NaN" ] }, "execution_count": 212, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.read_json(json_data).sort_index()" ] }, { "cell_type": "code", "execution_count": 213, "id": "e4c7eadb-fab7-4b52-8a67-cac1f910509c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Row 1, Col a: Not a Number\n", "Row 3, Col a: Missing\n", "Row 5, Col b: Empty value ''\n", "Row 6, Col b: Missing\n" ] } ], "source": [ "data = json.loads(json_data)\n", "rows = {row for dct in data.values() \n", " for row in dct.keys()}\n", "\n", "for row in sorted(rows):\n", " for col in data.keys():\n", " val = data[col].get(row)\n", " if val is None:\n", " print(f\"Row {row}, Col {col}: Missing\")\n", " elif isinstance(val, float) and math.isnan(val):\n", " print(f\"Row {row}, Col {col}: Not a Number\")\n", " elif not val:\n", " print(f\"Row {row}, Col {col}: Empty value {repr(val)}\")" ] }, { "cell_type": "markdown", "id": "b00ee68e-a37e-442f-b494-1882101e99a1", "metadata": {}, "source": [ "### Missing Data: Textual Data" ] }, { "cell_type": "markdown", "id": "d320d948-16a2-46f9-a71f-573f85fc2d51", "metadata": {}, "source": [ "Real-World data from United States National Oceanic and Atmospheric Administration: weather station at Sorstokken, Norway (adopted from CleanData)." ] }, { "cell_type": "code", "execution_count": 214, "id": "43c7d634-fb1b-47ce-80e4-666d2e362400", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
STATIONDATETEMPVISIBGUSTDEWP
010014999992019-01-0139.76.252.130.4
110014999992019-01-0236.46.2999.929.8
210014999992019-01-0336.53.3999.935.6
31001499999UNKNOWN45.62.222.044.8
410014999992019-01-0642.51.9999.942.5
.....................
29410014999992019-12-1639.16.2999.936.8
29510014999992019-12-1740.56.2999.939.2
29610014999992019-12-1838.86.2999.938.2
29710014999992019-12-1945.56.1999.942.7
29810014999992019-12-2051.86.235.041.2
\n", "

299 rows × 6 columns

\n", "
" ], "text/plain": [ " STATION DATE TEMP VISIB GUST DEWP\n", "0 1001499999 2019-01-01 39.7 6.2 52.1 30.4\n", "1 1001499999 2019-01-02 36.4 6.2 999.9 29.8\n", "2 1001499999 2019-01-03 36.5 3.3 999.9 35.6\n", "3 1001499999 UNKNOWN 45.6 2.2 22.0 44.8\n", "4 1001499999 2019-01-06 42.5 1.9 999.9 42.5\n", ".. ... ... ... ... ... ...\n", "294 1001499999 2019-12-16 39.1 6.2 999.9 36.8\n", "295 1001499999 2019-12-17 40.5 6.2 999.9 39.2\n", "296 1001499999 2019-12-18 38.8 6.2 999.9 38.2\n", "297 1001499999 2019-12-19 45.5 6.1 999.9 42.7\n", "298 1001499999 2019-12-20 51.8 6.2 35.0 41.2\n", "\n", "[299 rows x 6 columns]" ] }, "execution_count": 214, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorstokken = pd.read_csv('../data/sorstokken-no.csv.gz')\n", "sorstokken" ] }, { "cell_type": "code", "execution_count": 215, "id": "97b89d82-42a9-4711-836d-f396c92f3998", "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", "
STATIONDATETEMPVISIBGUSTDEWP
010014999992019-01-0127.21.217.116.5
11001499999UNKNOWN88.1999.9999.963.5
\n", "
" ], "text/plain": [ " STATION DATE TEMP VISIB GUST DEWP\n", "0 1001499999 2019-01-01 27.2 1.2 17.1 16.5\n", "1 1001499999 UNKNOWN 88.1 999.9 999.9 63.5" ] }, "execution_count": 215, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.DataFrame([sorstokken.min(), sorstokken.max()])" ] }, { "cell_type": "code", "execution_count": 216, "id": "19b41f7f-7e52-4078-9c30-c1e03fe0d7a0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Normal max:\n", "VISIB 6.8 ...standard deviation w/ & w/o sentinel: 254.4 / 0.7\n", "GUST 62.2 ...standard deviation w/ & w/o sentinel: 452.4 / 8.1\n" ] } ], "source": [ "print(\"Normal max:\")\n", "for col in ['VISIB', 'GUST']:\n", " s = sorstokken[col]\n", " print(col, s[s < 999.9].max(), \n", " \"...standard deviation w/ & w/o sentinel:\",\n", " f\"{s.std():.1f} / {s[s < 999.9].std():.1f}\")" ] }, { "cell_type": "code", "execution_count": 217, "id": "7279b418-c3a3-4066-a71c-e729b54764d9", "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", "
STATIONDATETEMPVISIBGUSTDEWP
010014999992019-01-0139.76.252.130.4
110014999992019-01-0236.46.2NaN29.8
210014999992019-01-0336.53.3NaN35.6
31001499999NaT45.62.222.044.8
410014999992019-01-0642.51.9NaN42.5
\n", "
" ], "text/plain": [ " STATION DATE TEMP VISIB GUST DEWP\n", "0 1001499999 2019-01-01 39.7 6.2 52.1 30.4\n", "1 1001499999 2019-01-02 36.4 6.2 NaN 29.8\n", "2 1001499999 2019-01-03 36.5 3.3 NaN 35.6\n", "3 1001499999 NaT 45.6 2.2 22.0 44.8\n", "4 1001499999 2019-01-06 42.5 1.9 NaN 42.5" ] }, "execution_count": 217, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorstokken = pd.read_csv('../data/sorstokken-no.csv.gz', \n", " na_values={'DATE': 'UNKNOWN', \n", " 'VISIB': '999.9',\n", " 'GUST': '999.9'},\n", " parse_dates=['DATE'])\n", "sorstokken.head()" ] }, { "cell_type": "markdown", "id": "171f078b-8e0f-42e6-bae7-538eda9758c1", "metadata": {}, "source": [ "### Sentinel Values\n", "\n", "Example for sentinel value in Python (adopted from CleanData)" ] }, { "cell_type": "code", "execution_count": 218, "id": "6cc05d4a-9a2c-417d-91f7-4fa556b927e1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "n=7:\n", " method1: 1.109\n", " method2: 1.109\n", "n=8:\n", " method1: 1.229\n", " method2: 1.229\n", "n=9:\n", " method1: nan\n", " method2: 1.510\n" ] } ], "source": [ "for n in range(7, 10):\n", " exp1 = 2**n\n", " a = (22/7) ** exp1 \n", " b = math.pi ** exp1\n", " # Compute answer in two \"equivalent\" ways\n", " res1 = (a * a) / (b * b)\n", " res2 = (a / b) * (a / b)\n", " print(f\"n={n}:\\n \"\n", " f\"method1: {res1:.3f}\\n \"\n", " f\"method2: {res2:.3f}\")" ] }, { "cell_type": "markdown", "id": "8ba3ee54-458c-49d7-84ae-aa6beb4bdcea", "metadata": {}, "source": [ "### Miscoded Data" ] }, { "cell_type": "markdown", "id": "d3594e67-0140-43ac-b99a-93d9eff810ff", "metadata": {}, "source": [ "#### Ordinals" ] }, { "cell_type": "markdown", "id": "70a7f971-ff24-4edb-9f94-3cb82b214d5f", "metadata": {}, "source": [ "Miscoded data: for ordinals, we need to check minimum, maximum and whether data type is integer; adopted from CleanData." ] }, { "cell_type": "code", "execution_count": 219, "id": "7b89a886-33ab-480c-bdf6-d2ac032991b5", "metadata": {}, "outputs": [], "source": [ "np.random.seed(1)\n", "\n", "# Histopathological Attributes: (values 0, 1, 2, 3)\n", "# Clinical Attributes: (values 0, 1, 2, 3, unless indicated)\n", "features = [\n", " \"erythema\",\n", " \"scaling\",\n", " \"definite borders\",\n", " \"itching\",\n", " \"koebner phenomenon\",\n", " \"polygonal papules\",\n", " \"follicular papules\",\n", " \"oral mucosal involvement\",\n", " \"knee and elbow involvement\",\n", " \"scalp involvement\",\n", " \"family history\", # 0 or 1\n", " \"melanin incontinence\",\n", " \"eosinophils in the infiltrate\",\n", " \"PNL infiltrate\",\n", " \"fibrosis of the papillary dermis\",\n", " \"exocytosis\",\n", " \"acanthosis\",\n", " \"hyperkeratosis\",\n", " \"parakeratosis\",\n", " \"clubbing of the rete ridges\",\n", " \"elongation of the rete ridges\",\n", " \"thinning of the suprapapillary epidermis\",\n", " \"spongiform pustule\",\n", " \"munro microabcess\",\n", " \"focal hypergranulosis\",\n", " \"disappearance of the granular layer\",\n", " \"vacuolisation and damage of basal layer\",\n", " \"spongiosis\",\n", " \"saw-tooth appearance of retes\",\n", " \"follicular horn plug\",\n", " \"perifollicular parakeratosis\",\n", " \"inflammatory monoluclear inflitrate\",\n", " \"band-like infiltrate\",\n", " \"Age\", # linear; missing marked '?'\n", " \"TARGET\" # See mapping\n", "]\n", "\n", "targets = {\n", " 1:\"psoriasis\", # 112 instances\n", " 2:\"seboreic dermatitis\", # 61\n", " 3:\"lichen planus\", # 72\n", " 4:\"pityriasis rosea\", # 49\n", " 5:\"cronic dermatitis\", # 52\n", " 6:\"pityriasis rubra pilaris\", # 20\n", "}\n", "\n", "\n", "base = '../data/'\n", "data = base + 'dermatology.data'\n", "metadata = base + 'dermatology.names'\n", "df = pd.read_csv(data, header=None, names=features)\n", "df['TARGET'] = df.TARGET.map(targets)\n", "\n", "derm = df.copy()\n", "derm.loc[derm.Age == '?', 'Age'] = None\n", "derm['Age'] = derm.Age.astype(float)" ] }, { "cell_type": "code", "execution_count": 220, "id": "0348f05a-931a-43b1-8361-eb95e6a0118d", "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", "
minmaxdtype
erythema\"0}object
scaling0.03.0float64
definite borders0.03.0float64
itching0.03.0float64
koebner phenomenon0.03.0float64
............
perifollicular parakeratosis0.03.0float64
inflammatory monoluclear inflitrate0.03.0float64
band-like infiltrate0.03.0float64
Age0.075.0float64
TARGETNoneNoneobject
\n", "

35 rows × 3 columns

\n", "
" ], "text/plain": [ " min max dtype\n", "erythema \"0 } object\n", "scaling 0.0 3.0 float64\n", "definite borders 0.0 3.0 float64\n", "itching 0.0 3.0 float64\n", "koebner phenomenon 0.0 3.0 float64\n", "... ... ... ...\n", "perifollicular parakeratosis 0.0 3.0 float64\n", "inflammatory monoluclear inflitrate 0.0 3.0 float64\n", "band-like infiltrate 0.0 3.0 float64\n", "Age 0.0 75.0 float64\n", "TARGET None None object\n", "\n", "[35 rows x 3 columns]" ] }, "execution_count": 220, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(pd.DataFrame(\n", " [derm.min(), derm.max(), derm.dtypes])\n", " .T\n", " .rename(columns={0:'min', 1:'max', 2:'dtype'})\n", ")" ] }, { "cell_type": "markdown", "id": "2510cb5c-6bed-4fe5-8492-b07f1a3d12c2", "metadata": {}, "source": [ "#### Categorical Data" ] }, { "cell_type": "code", "execution_count": 221, "id": "5286816f-dbef-4a9f-8f86-b04c6f7f0696", "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", "
HeightWeightHair_LengthFavorite
21492176.95865072.60458514.0red
9488169.00022179.5598430.0blue
16933171.10430671.1255285.5red
12604174.48108479.4962378.1blue
8222171.27557877.09411814.6green
\n", "
" ], "text/plain": [ " Height Weight Hair_Length Favorite\n", "21492 176.958650 72.604585 14.0 red\n", "9488 169.000221 79.559843 0.0 blue\n", "16933 171.104306 71.125528 5.5 red\n", "12604 174.481084 79.496237 8.1 blue\n", "8222 171.275578 77.094118 14.6 green" ] }, "execution_count": 221, "metadata": {}, "output_type": "execute_result" } ], "source": [ "humans = pd.read_csv('../data/humans-err.csv')\n", "# random_stae for deterministic sample\n", "humans.sample(5, random_state=1)" ] }, { "cell_type": "code", "execution_count": 222, "id": "1cb4ad60-1d4b-4f87-bd51-340c5012a218", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['red', 'green', 'blue', 'Red', ' red', 'grееn', 'blüe',\n", " 'chartreuse'], dtype=object)" ] }, "execution_count": 222, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# observe unique values\n", "humans.Favorite.unique()" ] }, { "cell_type": "code", "execution_count": 223, "id": "aeb97307-c7cd-4aca-ac0e-ca43325ac5ad", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "red 9576\n", "blue 7961\n", "green 7458\n", "Red 1\n", " red 1\n", "grееn 1\n", "blüe 1\n", "chartreuse 1\n", "Name: Favorite, dtype: int64" ] }, "execution_count": 223, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# how rare are such variations?\n", "humans.Favorite.value_counts()" ] }, { "cell_type": "code", "execution_count": 224, "id": "e0d9609a-1a45-4727-b2a0-f5153a83e3e0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " red [32, 114, 101, 100]\n", " Red [82, 101, 100]\n", " blue [98, 108, 117, 101]\n", " blüe [98, 108, 252, 101]\n", "chartreuse [99, 104, 97, 114, 116, 114, 101, 117, 115, 101]\n", " green [103, 114, 101, 101, 110]\n", " grееn [103, 114, 1077, 1077, 110]\n", " red [114, 101, 100]\n" ] } ], "source": [ "# look at labels more closely\n", "for color in sorted(humans.Favorite.unique()):\n", " print(f\"{color:>10s}\", [ord(c) for c in color])" ] }, { "cell_type": "code", "execution_count": 225, "id": "5e76c750-1925-45f1-8909-73853079737a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "red 9578\n", "blue 7962\n", "green 7459\n", "Name: Favorite, dtype: int64" ] }, "execution_count": 225, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# transform troublesome values\n", "humans.loc[humans.Favorite.isin(['Red', ' red']), 'Favorite'] = 'red'\n", "humans.loc[humans.Favorite == 'chartreuse', 'Favorite'] = None\n", "humans.loc[humans.Favorite == 'blüe', 'Favorite'] = 'blue'\n", "humans.loc[humans.Favorite == 'grееn', 'Favorite'] = 'green'\n", "humans.Favorite.value_counts()" ] }, { "cell_type": "markdown", "id": "d09918c6-2e4b-4e19-88b8-cf26f639a057", "metadata": {}, "source": [ "### Fixed Bounds" ] }, { "cell_type": "markdown", "id": "d023b7dd-59b2-4fd4-a115-45da44647d1c", "metadata": {}, "source": [ "Continues previous example of humans, adapted from CleanData." ] }, { "cell_type": "code", "execution_count": 226, "id": "420205a3-2266-4441-a8de-4d86d5ad9605", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 226, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# any humans exceeding the given bounds?\n", "((humans.Height < 92) | (humans.Height > 213)).any()" ] }, { "cell_type": "code", "execution_count": 227, "id": "8aea02dd-a13a-4753-9d12-c8834de31c1e", "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", "
HeightWeightHair_LengthFavorite
1984165.63469562.979993127.0red
8929175.18606173.899992120.6blue
14673174.94803777.644434130.1blue
14735176.38552568.735397121.7green
16672173.17229871.814699121.4red
17093169.77111177.958278133.2blue
\n", "
" ], "text/plain": [ " Height Weight Hair_Length Favorite\n", "1984 165.634695 62.979993 127.0 red\n", "8929 175.186061 73.899992 120.6 blue\n", "14673 174.948037 77.644434 130.1 blue\n", "14735 176.385525 68.735397 121.7 green\n", "16672 173.172298 71.814699 121.4 red\n", "17093 169.771111 77.958278 133.2 blue" ] }, "execution_count": 227, "metadata": {}, "output_type": "execute_result" } ], "source": [ "humans.query('Hair_Length > 120')" ] }, { "cell_type": "code", "execution_count": 228, "id": "a78e7b9f-20f3-4dba-bb1d-0f775a1c530f", "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", "
HeightWeightHair_LengthFavorite
1984165.63469562.979993120.0red
4146173.93010772.701456119.6red
8929175.18606173.899992120.0blue
9259179.21597482.538890119.4green
14673174.94803777.644434120.0blue
14735176.38552568.735397120.0green
16672173.17229871.814699120.0red
17093169.77111177.958278120.0blue
\n", "
" ], "text/plain": [ " Height Weight Hair_Length Favorite\n", "1984 165.634695 62.979993 120.0 red\n", "4146 173.930107 72.701456 119.6 red\n", "8929 175.186061 73.899992 120.0 blue\n", "9259 179.215974 82.538890 119.4 green\n", "14673 174.948037 77.644434 120.0 blue\n", "14735 176.385525 68.735397 120.0 green\n", "16672 173.172298 71.814699 120.0 red\n", "17093 169.771111 77.958278 120.0 blue" ] }, "execution_count": 228, "metadata": {}, "output_type": "execute_result" } ], "source": [ "humans2 = humans.copy() # Retain prior versions of data set\n", "humans2['Hair_Length'] = humans2.Hair_Length.clip(upper=120)\n", "humans2[humans2.Hair_Length > 119]" ] }, { "cell_type": "code", "execution_count": 229, "id": "122cdada-e0b8-422a-a97d-3b7cc4d5d964", "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", "
HeightWeightHair_LengthFavorite
6177.29718281.1534930.0blue
217171.89396768.5535260.0blue
240161.86223776.9145990.0blue
354172.97224773.1750320.0red
371179.86601180.4185540.0red
...............
24818171.53755472.6190950.0green
24834170.99130167.6526600.0green
24892177.00264377.2861410.0green
24919169.01228674.5938090.0blue
24967169.06130865.9854810.0green
\n", "

517 rows × 4 columns

\n", "
" ], "text/plain": [ " Height Weight Hair_Length Favorite\n", "6 177.297182 81.153493 0.0 blue\n", "217 171.893967 68.553526 0.0 blue\n", "240 161.862237 76.914599 0.0 blue\n", "354 172.972247 73.175032 0.0 red\n", "371 179.866011 80.418554 0.0 red\n", "... ... ... ... ...\n", "24818 171.537554 72.619095 0.0 green\n", "24834 170.991301 67.652660 0.0 green\n", "24892 177.002643 77.286141 0.0 green\n", "24919 169.012286 74.593809 0.0 blue\n", "24967 169.061308 65.985481 0.0 green\n", "\n", "[517 rows x 4 columns]" ] }, "execution_count": 229, "metadata": {}, "output_type": "execute_result" } ], "source": [ "humans2[humans2.Hair_Length == 0]" ] }, { "cell_type": "code", "execution_count": 230, "id": "02eda6a2-6702-4c97-b7d1-89d54609f4be", "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", "
HeightWeightHair_LengthFavorite
493167.70339872.567763-1.0blue
528167.35539360.276190-20.7green
562172.41611460.867457-68.1green
569177.64414674.027147-5.9green
738178.09481876.963924-57.2blue
...............
24042174.60892264.846422-22.7green
24055172.83160874.096660-13.3red
24063172.68748869.466838-14.2green
24386176.66843062.984811-1.0green
24944172.30092572.067862-24.4red
\n", "

118 rows × 4 columns

\n", "
" ], "text/plain": [ " Height Weight Hair_Length Favorite\n", "493 167.703398 72.567763 -1.0 blue\n", "528 167.355393 60.276190 -20.7 green\n", "562 172.416114 60.867457 -68.1 green\n", "569 177.644146 74.027147 -5.9 green\n", "738 178.094818 76.963924 -57.2 blue\n", "... ... ... ... ...\n", "24042 174.608922 64.846422 -22.7 green\n", "24055 172.831608 74.096660 -13.3 red\n", "24063 172.687488 69.466838 -14.2 green\n", "24386 176.668430 62.984811 -1.0 green\n", "24944 172.300925 72.067862 -24.4 red\n", "\n", "[118 rows x 4 columns]" ] }, "execution_count": 230, "metadata": {}, "output_type": "execute_result" } ], "source": [ "neg_hair = humans2[humans2.Hair_Length < 0]\n", "neg_hair" ] }, { "cell_type": "code", "execution_count": 231, "id": "c29e21b4-1bec-4ab7-9328-bf7122a14278", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 118.000000\n", "mean -24.348305\n", "std 22.484691\n", "min -95.700000\n", "25% -38.075000\n", "50% -20.650000\n", "75% -5.600000\n", "max -0.700000\n", "Name: Hair_Length, dtype: float64" ] }, "execution_count": 231, "metadata": {}, "output_type": "execute_result" } ], "source": [ "neg_hair.Hair_Length.describe()" ] }, { "cell_type": "code", "execution_count": 232, "id": "0fec5b37-cfd8-456f-b97d-fd16785bc86e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 24365.000000\n", "mean 26.675485\n", "std 21.206516\n", "min 0.100000\n", "25% 9.900000\n", "50% 21.700000\n", "75% 38.400000\n", "max 120.000000\n", "Name: Hair_Length, dtype: float64" ] }, "execution_count": 232, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pos_hair = humans2[humans2.Hair_Length > 0]\n", "pos_hair.Hair_Length.describe()" ] }, { "cell_type": "code", "execution_count": 233, "id": "77d46cf5-721f-487f-a834-2bb52a27ce9c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([ 2., 0., 0., 0., 0., 2., 0., 0., 2., 3., 0., 1., 5.,\n", " 1., 4., 1., 3., 5., 4., 3., 6., 3., 8., 7., 2., 4.,\n", " 9., 8., 12., 23.]),\n", " array([-95.7 , -92.53333333, -89.36666667, -86.2 ,\n", " -83.03333333, -79.86666667, -76.7 , -73.53333333,\n", " -70.36666667, -67.2 , -64.03333333, -60.86666667,\n", " -57.7 , -54.53333333, -51.36666667, -48.2 ,\n", " -45.03333333, -41.86666667, -38.7 , -35.53333333,\n", " -32.36666667, -29.2 , -26.03333333, -22.86666667,\n", " -19.7 , -16.53333333, -13.36666667, -10.2 ,\n", " -7.03333333, -3.86666667, -0.7 ]),\n", " )" ] }, "execution_count": 233, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Distribution of invalid negative hair length')" ] }, "execution_count": 233, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.set_style('darkgrid')\n", "plt.hist(neg_hair.Hair_Length, bins=30,)\n", "plt.title(\"Distribution of invalid negative hair length\")\n", "plt.xlabel = 'Hair length'\n", "plt.ylabel = 'Number of humans'" ] }, { "cell_type": "code", "execution_count": 234, "id": "e2ed85e9-4aa8-4621-959f-89a0c61222d6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([2455., 2545., 2315., 2181., 1934., 1786., 1625., 1484., 1269.,\n", " 1132., 971., 814., 718., 571., 487., 444., 354., 309.,\n", " 241., 170., 137., 105., 77., 77., 44., 43., 27.,\n", " 15., 13., 22.]),\n", " array([1.00000000e-01, 4.09666667e+00, 8.09333333e+00, 1.20900000e+01,\n", " 1.60866667e+01, 2.00833333e+01, 2.40800000e+01, 2.80766667e+01,\n", " 3.20733333e+01, 3.60700000e+01, 4.00666667e+01, 4.40633333e+01,\n", " 4.80600000e+01, 5.20566667e+01, 5.60533333e+01, 6.00500000e+01,\n", " 6.40466667e+01, 6.80433333e+01, 7.20400000e+01, 7.60366667e+01,\n", " 8.00333333e+01, 8.40300000e+01, 8.80266667e+01, 9.20233333e+01,\n", " 9.60200000e+01, 1.00016667e+02, 1.04013333e+02, 1.08010000e+02,\n", " 1.12006667e+02, 1.16003333e+02, 1.20000000e+02]),\n", " )" ] }, "execution_count": 234, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Distribution of positive hair length')" ] }, "execution_count": 234, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist(pos_hair.Hair_Length, bins=30,)\n", "plt.title('Distribution of positive hair length')\n", "plt.xlabel = 'Hair length'\n", "plt.ylabel = 'Number of humans'" ] }, { "cell_type": "code", "execution_count": 235, "id": "a50e0d11-b2e4-4630-8fb0-83e0a0afca5a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-1.0 19\n", "-41.6 2\n", "-10.9 2\n", "-6.8 2\n", "-8.5 2\n", " ..\n", "-19.4 1\n", "-25.1 1\n", "-13.5 1\n", "-42.2 1\n", "-24.4 1\n", "Name: Hair_Length, Length: 93, dtype: int64" ] }, "execution_count": 235, "metadata": {}, "output_type": "execute_result" } ], "source": [ "neg_hair.Hair_Length.value_counts()" ] }, { "cell_type": "code", "execution_count": 236, "id": "a829de93-fba0-4669-a533-28cf61a0196e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([2919., 2559., 2324., 2198., 1959., 1776., 1646., 1496., 1278.,\n", " 1143., 979., 802., 733., 579., 496., 441., 361., 311.,\n", " 243., 171., 141., 105., 75., 80., 44., 45., 26.,\n", " 16., 13., 22.]),\n", " array([ 0., 4., 8., 12., 16., 20., 24., 28., 32., 36., 40.,\n", " 44., 48., 52., 56., 60., 64., 68., 72., 76., 80., 84.,\n", " 88., 92., 96., 100., 104., 108., 112., 116., 120.]),\n", " )" ] }, "execution_count": 236, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Distribution of corrected hair lengths')" ] }, "execution_count": 236, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "humans3 = humans2.copy() # Versioned changes to data\n", "\n", "# The \"sentinel\" negative value means missing\n", "humans3.loc[humans3.Hair_Length == -1, 'Hair_Length'] = None\n", "\n", "# All other values simply become non-negative\n", "humans3['Hair_Length'] = humans3.Hair_Length.abs()\n", "\n", "plt.hist(humans3.Hair_Length, bins=30)\n", "plt.title('Distribution of corrected hair lengths')\n", "plt.xlabel = 'Hair length'\n", "plt.ylabel = 'Number of humans'" ] }, { "cell_type": "markdown", "id": "e31b017b-036a-4ba0-8216-c2a3ceb0555e", "metadata": {}, "source": [ "### Outlier Detection" ] }, { "cell_type": "markdown", "id": "62b43554-02b5-495f-858f-a21de1e91549", "metadata": {}, "source": [ "#### Z-Score" ] }, { "cell_type": "markdown", "id": "f5d85e2b-8f25-4859-96c2-2a5d1e9799a3", "metadata": {}, "source": [ "Tests for normal distribution" ] }, { "cell_type": "code", "execution_count": 237, "id": "f0787b5f-1c1e-4d23-a561-e8d6160a80b7", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAELCAYAAADURYGZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAkaUlEQVR4nO3df3RU5Z3H8XdmsgQCpMPEBCYBRSlNYzlAYCCrnspusE3QkIDbLTHF0wXRWlaFbaFkARMQancARQthga6rq+XAHlcNJijBLrRbXQtEiDSNCiJCJCEkE7JAgAAzd/+gTAmZyeQXk4T7eZ3DOeT53nvnzjf35jv3uXeeJ8wwDAMRETEtS1fvgIiIdC0VAhERk1MhEBExORUCERGTUyEQETE5FQIREZNTIZCgkpKSqKiouOGv89VXX5GQkMDly5dv+GtJYGvWrGHevHldvRsSQioE4pOSksLIkSNJSkry/auurmb//v0MGTIEgJycHFavXh1wG2lpafzXf/1Xs/b/+I//4MEHH7xh+95ZDh48yCOPPEJycjIJCQnN4tfmJikpicTERJYtWwZAaWkpM2bMYPz48fz1X/81Tz31FCdPngz4Wi1tC+DDDz8kLS2NUaNG8fDDD3P8+PHOf8MdsHbtWhISEvjf//3fgMt88sknZGdnM3bsWO69917y8/N9sc8//5wHH3yQcePGMW7cOP7hH/6Bzz//PBS7LtdRIZAm1q9fz/79+33/Bg4c2Kb1p06dytatW5u1b926lalTp3bWbt4w4eHhpKWl8fOf/9xv/NrcvP/++/Tu3Zu0tDQA/u///o/vf//77Ny5k127dtG3b1/++Z//OeBrtbSturo6nnjiCebMmcOePXsYMWIE//RP/9T5b7idjh07RnFxMTExMS0u99Of/pRx48axZ88efv3rX7N582b++7//G4DY2Fh++ctfsmfPHv7whz+QkpLSrd6jmagQSFAJCQkcPXqU//zP/6SwsJCXXnqJpKQkHn/88WbLZmZm8tFHHzX59Pr5559z8OBBHnjgAX77298yZcoUxowZw4QJE1izZk3A101JSWnyafP6LovS0lKysrJwOp1kZGSwe/duX+zNN99k4sSJJCUlkZKSwttvv92q93rHHXfw93//9wwfPjzosjt27MBut+N0OgGYMGECkyZNol+/fvTp04fp06ezb9++Vr3u9dt67733GD58OJMmTSIiIoInn3ySTz/9lMOHD/tdf+PGjdx3330kJSVx//3389577/lib775Jg899BAul4tx48aRkpLC7373O1+8oqKC6dOnk5SUxIwZMzh16lTQ/V26dCnz5s2jV69eLS53/PhxJk+ejNVq5dZbb2XMmDG+T/1RUVEMHjyYsLAwDMPAarVy7NixoK8tnU+FQFpt2rRpTJ48mUceeYT9+/ezfv36ZssMGjSI5OTkJlcFW7du5d5778Vut9OnTx9cLhclJSVs2LCBzZs385vf/KbN+1JdXc2PfvQjfvzjH7Nnzx4WLFjAU089RV1dHefOnWP58uX86le/Yv/+/WzZsoXExEQAKisrcTqdVFZWtj8Rf/bWW28xZcoUwsLC/Mb37t3bqoLib1uHDh1q0jUVGRnJrbfeGrDrZMiQIWzatImPPvqIJ554gvnz5zfpljpw4AC33347f/jDH5g1axaLFi3i6ugy8+bN41vf+ha7d+9m9uzZvPXWWy3u67vvvkuvXr2YMGFC0Pf1wx/+kIKCAi5dusQXX3xBaWkpd911V5NlnE4nI0eOZNmyZfzoRz8Kuk3pfCoE0sQ//uM/4nQ6cTqdzJ49u13bmDJliq8QeL1eCgsLfd1CV/veLRYL3/zmN3nggQfYs2dPm1/janGZMGECFouFe+65hxEjRvg+6VosFg4dOsSFCxeIjY31/UGOi4ujpKSEuLi4dr23q44fP87evXuZMmWK3/inn37KunXr+NnPftaubZ07d47+/fs3Wa5fv340NDT43cakSZMYOHAgFouF+++/n9tuu40DBw744nFxcXz/+9/HarUydepUampqqK2tpbKykj/+8Y/MmTOHXr16+a4YAjl79iyrV69m0aJFQd8XwN/8zd9QXFzMqFGjmDRpEt/73vcYOXJkk2VKSkooKSnh6aef5s4772zVdqVzhXf1Dkj3kp+fz913392hbXz3u99l6dKllJaWcv78ec6fP+/79Pjxxx+zatUqDh06xKVLl7h48aKvX7wtKisr2b59O7t27fK1Xb58meTkZCIjI1m9ejX//u//zqJFixgzZgwLFixg2LBhHXpf19q6dStjx4713US/1tGjR3n00UdZuHChr6unrduKjIzk7NmzTZZraGigb9++frdRUFDAyy+/7OuSO3fuXJMunltuucX3/z59+jRZ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U10NwJU8hIeH+y5HR40axYABAzhy5IgG/7tOdXU1e/fuZfLkyb425eiKTz75hJMnTzJ27FgAxo4dS58+fTh8+LBydJ27776bzZs38+abbzJ9+nQuXLjArbfe2q3z1KMLwblz53x9loZh8M4775CYmAjAiBEjuHDhAiUlJQBs2bKFtLS0LtvXrmK320lOTuaDDz4Arjy14Ha7ue222zT433XeeustJkyYwIABA3xtytEVgwYN4sSJE3zxxRfAlbHC3G43t956q3J0nZqaGgC8Xi/PP/88WVlZREZGdus89ZixhpYvX86OHTuora1lwIAB2Gw21q9fz5NPPonH48Hr9TJs2DAWL15MbGwsAPv27SMvL4/Gxkbi4+NZuXKl70bpzchfjrZt20ZFRQULFy6kvr6e8PBw5s6dy4QJEwDzDf4XKEcAqampLFq0iHvvvbfJOsrRlRy9/fbb/OpXv/I9dPDUU09x3333AebLEQTO06JFi9i3bx+XLl3innvuYeHChURERADdN089phCIiMiN0aO7hkREpONUCERETE6FQETE5FQIRERMToVARMTkVAhERExOhUBExORUCERETO7/Ad3hJVHKkmyHAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_distribution(data):\n", " # fit normal distribution -> compute mean and std\n", " mean, std = norm.fit(data)\n", " \n", " plt.hist(data, bins=50)\n", " \n", " # compute probability density function for given distribution\n", " xmin, xmax = plt.xlim()\n", " x = np.linspace(xmin, xmax, 100)\n", " p = norm.pdf(x, mean, std)\n", " plt.plot(x, p, 'k')\n", " \n", " title = \"Fit Values: {:.2f} and {:.2f}\".format(mean, std)\n", " plt.xlabel = \"Height\"\n", " plt.ylabel =\"Number of humans\"\n", " plt.title(title)\n", " plt.show()\n", "\n", "plot_distribution(humans.Height)" ] }, { "cell_type": "code", "execution_count": 238, "id": "e2a8f65e-1d9d-468a-a614-65ffd512e492", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 238, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# test for normal distribution\n", "# plot boxplot (in this case, via pandas)\n", "humans.Height.plot(kind = 'box')" ] }, { "cell_type": "code", "execution_count": 239, "id": "4dfb45f0-8114-4c8f-b4c5-1cc1924740c5", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/eva/.local/share/virtualenvs/data-engineering-analytics-notebooks-Qx0adyYX/lib64/python3.9/site-packages/statsmodels/graphics/gofplots.py:993: UserWarning: marker is redundantly defined by the 'marker' keyword argument and the fmt string \"bo\" (-> marker='o'). The keyword argument will take precedence.\n", " ax.plot(x, y, fmt, **plot_style)\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEMCAYAAAAvaXplAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABBWElEQVR4nO3dd3hUddr/8ffU9DqpEBABgQAKgVAiPfQgIBYsjw1UVCwsjw1FfVARhF0W/dkAFRFEXddGlSZFhIQaSmgGpIT03su03x+BIQ2YhExmktyv69prM3PK3JORfOY+33O+R2E2m80IIYQQFSjtXYAQQgjHI+EghBCiGgkHIYQQ1Ug4CCGEqEbCQQghRDUSDkIIIapxyHD4+OOP6dixI3/99Ze9SxFCiGZJbe8Cqjp27BiHDh2iZcuWtd42O7sQk6nul23odO5kZhbUeXtbktrqRmqrG6mtbhy9tovR+0n/6SeMeTl4RvRHFxWFLtCnxvUdKhzKysp45513WLBgAY888kittzeZzDcUDpf34aiktrqR2upGaqsbR6zNWFDAXyu+In3bdrRBwQROehKX9reAUnHVbRwqHD788EPGjRtHSEiIvUsRQohGz2w2U3BgP2krV2AqKsR3zFh87xiLUqO97rYOEw6xsbHExcXx0ksv1XkfOp37Ddfh7+9xw/uwFamtbqS2upHa6sZRaivLyubM4s/JitmDW7u2tH/uLdzb3mz19gpHmVtpyZIlLF++HK22PNFSUlLQ6XTMnTuX/v37W7WPzMyCG2rp/P09SE/Pr/P2tiS11Y3UVjdSW904Qm1ms5m8XTtJ/+F7zHo9unET8BkxkoAg72q1KZWKq36pdpjOYcqUKUyZMsXyODIykkWLFtGhQwc7ViWEEI2HPj2d1OXLKDpxDJdbOhD46GS0QUF12pfDhIMQQojaiY5L4Yct58krzqdf4Vn6ZexFqVIR8D+PcMKvE//+/jy5Jcfxcnbjibs60aW1l9X7dthw2Lp1q71LEEIIhxUdl8KSn8+SuDGQpwJ/51bfvzjj3ArfB/+HDE9vlvx8lphVYWQl6vBtmUlu/iGenNCGiK7WdRIOGw5CCCGu7sfNf9MqJoUXO3xJsdGZdw6+wAFFKKPaHwFyiVkVRmaCPwCZCf5E/9odL4/DEg5CCNFUlZw7x4T4/xLQIpvfE29n4dEnyCnzQqE0kVtSCEBWoq7SNlmJOssya0g4CCFEIxF9KIEL3/9Et4zDuKhcmPP306yPG25Z7tsyEy9nN8vPlzuHqsusIeEghBAO7PKgs0fWGUanxhBmzGPNhaFscO2Df790dLnplnGFvuNjmTis/FqGnLzYSmMOEXceYuKwNla/roSDEEI4qOi4FJb9eIrOsWcY7f8HKaV+TDvwfxzIuA2ADubj9L5zHyqNHi9nNyYOu7nSmIK352FySwovna0U2jTOVhJCiOYsOi6Fzd9u5dGL+/D1y2GvVygzv3+dYr2rZZ34PZ3oEBHP0hmR1baP6BpUKShqe4GehIMQQjiAy4ePcooLcSrTMyx9H/eXnOZsaQgz97yCbuxFXIMKKU64Eg61HUeoDQkHIYSwo+i4FJat+4v8AhUXjrRiZNs/GFPwJ86mMn53DufTQ4+Smt2CFntcuW34IY5s7l7jGEN9k3AQQgg7Wb7hFJtiUgE4v7ktL3dfTOf8cyQ76Xhu02yKgjR0HnYMw2YNyfEtcPfNo9e4vai1Brxcqo8x1CcJByGEaEDRcSl8s+EM+SWlmA1q9EUaIpSH+d+O3+FkLOPj44+QEuFGtqc7mafKT0XtMuQoHr75mIwanp7QwWaBUJGEgxBC2NjyDaf4fX8KZoyYDGpMRgVKlRp/RTaji6JpU5LC0ZJb2Ojbm52lt+O0t9RyCCk5vgWlRU70HR/L03fZrlOoSsJBCCFsaP7KWI7E52MyKlGqFOiLtSjMJvpzkIFZhzApFHydP44zbYK5eDLEEgqndnfitmGHcPUuwkXtzMOj2zZYMICEgxBC2Mz8lbEcPZ2Pvrj8PjVOXkUEk86Y9GhalGZwuLQDv4f0JMfPk4vHQwi6JQUXzyLCL40reLu4MXFY5wYNhcskHIQQop5Fx6Xw+ZoT6EtVqJ0MqDUGlGYjPZP+YnDJAUoVWhbn3cvFm31JPB5CSJcE2vb8G5XGiFrhxFN3t7NLIFQk4SCEEPVo/spYjp7JBbMKtdaAvkRDQH4WEwp3EGjM4ohzOzZ49qHAz4PEy92CewkGvZohYS15ZFRHe78FQMJBCCHqxfINp9i6PxGjUY3ZrELjpKckw5mBObEMUeynQOnCSs+R/H6mPyFdEtC6lli6BRe1Mw+Pa9gxhetxqHCYOnUqFy9eRKlU4urqyptvvkloaKi9yxJCiGuavzKWuL9zMJvUqLUGAFrmpjMqK4YAVTZ/mruxO7grZWp15UBo4EHm2nCocJg3bx4eHh4AbNmyhddff51ffvnFzlUJIcTVRcelcPR0PlB+GEldaiQyez89C0+RpfVkfuYkctq44uGUj7lMxa23ePDK/4TZu+zrcqhwuBwMAAUFBSgUCjtWI4QQ17Z8wyk270lBrTUCcHN2MlE5u3A3FbPL9TZ+LhiKV5c8PJzzMZSpaR3s1CiCARwsHABmzpzJrl27MJvNfPHFF/YuRwghqomOS2Hx6uOYjArUWjOaQgOj8mLoWvQ3qWofvvcZRoqzDm9dLmqtAUOZmlvbN46O4TKF2Ww227uImvz666+sW7eOzz//3N6lCCGExdT3t3I2OR+zUQ1mM12LzzA8Yx8uilL+cA9jdd5gfG/KQqEAlcaI2aDm5Ue7MbhniL1LrxWHDQeA2267jR07duDj42PV+pmZBZhMdX87tZ3vvCFJbXUjtdWN1Fbd5W7BqFcBCnyUuYxKj6F9USIJ6gBWlN2B6WaDZVDa0bqFmn5vSqUCnc69xvUd5rBSYWEheXl5BAcHA7B161a8vLzw9va2b2FCiGZv5uI9JKQXYjaqUWv0dM+LJzLzAEpM/GwawrGAmygr1eKqMlBUoMVshhF9Ax3mmoW6cJhwKC4uZtq0aRQXF6NUKvHy8mLRokUyKC2EsJsroaAC1PiTxejEGG4qTeGsUzDrdBFkmHVkXfTBr1UmKEDrWoaft6pRBwM4UDj4+fnxww8/2LsMIYS4NItqImbAbFSj0ZTRK/cEA7MOYUTJWt8IDrp0AgWo1aX435RhOZTUOsiJ957qY++3cMMcJhyEEMIRTJ67FYOxPBQAgs3pRF2MpkVZBqecW7FB14dchSdKpQFQgqn8+gajXs2MSd3o0trLvm+gnkg4CCEEV7oF06VQcNKUcnv2USKyj1KidOInv4Ecc2qHQmVCqTSUjz9c6hZa+Lrx3lN9HHogv7YkHIQQzd5T87dTXGay/MFvUZJO1IVo/A05HHVryybfcArN7hW6BeWlbkHF1Lsb5s5sDU3CQQjRbE3/cBeZ+aWXDiEpcVEX0z/1CH0KjpGvcuW7gEhOO7dGgRmlqnK34KpV88lrA+39FmxGwkEI0Sw9NmcrJhOWP/g3FSUzOikaH2MB+z06sMWjNwaNEoXCBGZFpWAY3qdxn6ZqDQkHIUSzUvEQEoCbqoghKQcJK/yLTLUHy4NGcl4bjEJpApMSzApUGiMGvZkpY+1zVzZ7kHAQQjQbk+ZsxVihW7il8AIjE/fgZiphl2cXdnj0xKQBBaZKnYK3qxMLp/Wzd/kNSsJBCNEsPDZnK0Z9+Z88T2U+w5L206X4LCkaH/4TGEmyxv9Kt4CiPBia8IDz9Ug4CCGatKpTX3Qt+JuhGfvRmvRs8+5OtFdXTApltW7BbIYVbw2yd/l2I+EghGiyKg46+ypyGJG0l1tKLpLg5M9aXQSZWm/LuhWDofwq56Z7JpI1JByEEE1OxVDAbKZ3SRyDMw+iADb69mKvSxcUGhNQIRSMNPnTU2tDwkEI0aRUDIYAshidsZvWJWn87RzMel1fcjQeKJCxheuRcBBCNAkVxxYUZhP9iw4xIOsweoWK1brbOeLeDlACZhlbsIKEgxCi0avYLbQwpxGVtpvgsixOurZmg29v8pXu5RezVQkGlcbAstcj7V2+Q5JwEEI0WhVnUFWZDQwq2EdEThxFSmd+9B/ESbebgPLrFjArMF+aQbW5XOV8IyQchBCNzuVQgPJguMmURFRaNH76XA67tWOzbzglKifL+le6BcoPI/2fDDpfj4SDEKJRGTN9leUQksakZ1jBbnrmniRX5ca3gUM549Sq/GK2S+QU1bpxmHDIzs7mlVde4cKFC2i1Wm666SbeeecdfH197V2aEMIBVDo9FbjFcIFR6dF4GQrZ79GRbT49KDG5lE+rXfEQkhFCW/vwyv+E2fkdNC5KexdwmUKh4IknnmDjxo2sWbOGVq1a8a9//cveZQkhHEDFYHBXFTI+Zwf3J2/BgJrlQSPZqOtDmVKDUm24NFmestIpqhIMtecwnYO3tzd9+ly572r37t357rvv7FiREMLeqnYLncvOMCJ9b/lEeV5d+cOrG0alyrK+nKJafxRms9ls7yKqMplMTJ48mcjISB555BF7lyOEsIOKYwteynxGZOyhU+EFUrQ+rNHdTqqTrtL6FYOhbYgLn86QU1RvhMN0DhW9++67uLq68tBDD9Vqu8zMAkymumedI9//VWqrG6mtbuxZW9WpL8JKTzI0cz8ak5Gt3mHEeHXBpLhyRLzi9BcVz0SyR/2N7TNVKhXodO41ru9w4TBv3jzOnz/PokWLUCodZkhECGFjl0MByv/g6xQ5jMqIpm1x8qWJ8m4nQ+1z6WK2q4eCqB9WhUNMTAwtW7akVatWpKWlsWDBApRKJf/7v/+Lv79/vRXz73//m7i4OJYsWYJWq623/QohHFvVbqFPyVEGZ8ZiBn7z7c0Bj46gUMjFbA3IqnB4++23+fLLL4Hyb/YATk5OvPnmmyxatKheComPj2fx4sW0adOG+++/H4CQkBA++eSTetm/EMLxVLzCGSCATKIydtOqJJ0zzi1Y79eXXPWVwx5yMVvDsSocUlNTadGiBQaDgT///JOtW7ei0WgYMGBAvRVyyy23cOrUqXrbnxDCsVXsFrSaMvrkHKN/1mH0SjWr/Ppx1K0tKBSW9SsOOHu6wycvyoCzLVkVDu7u7mRkZBAfH0+7du1wc3OjrKwMg8Fg6/qEEE1M1dNTW5pTiUqIJkifxXHXm9io602hysWyftWxhQ0fj3HYQd+mxKpweOihh7jnnnvQ6/W8/vrrABw8eJC2bdvatDghRNNRdcDZWV1Cv+wj9M05RqHKmf/6D+LUpYnyLqvYLbi6mFj8inQLDcWqcJgyZQrDhw9HpVLRunVrAAIDA5k9e7ZNixNCNA1Vu4U2xkSikqPRGfI45N6eLT49a54oT85EshurT2UNCQnh8OHDxMXFERUVRWBgoC3rEkI0AVVDwVVdzODMg/TMO0WO2p2VgcM469LCsr6EguOwKhxOnTrFM888g1arJTU1laioKPbt28cvv/zCBx98YOMShRCNzbML/iC/uHxM8vIf/LZFiYxMisHLWMgej1C2+3RHr9RYtpGb8DgWq8Jh1qxZvPDCC9x555306tULgF69evHGG2/YtDghRONTtVvwUBUwJPkg3YpOk67xYpn/aBKdr1wfJd2CY7IqHE6fPs348eOB8tlTAVxdXSktLbVdZUKIRqVqKKg1ejoVnmd4+l5cTKXs9LqVP71vw6ioeaI86RYci1Xh0LJlS+Li4rj11lstzx05csQyOC2EaN4qBoNaa8DNUMSI5L10Kr5AklbHt37DSNNeuTeLdAuOz6pwmDZtGk899RT3338/er2exYsX8/333/Puu+/auj4hhAOrqVvoknWWETl7UWFki08P9nh2xnxpojwJhcbDqnAYMmQIX3zxBT/88AO9evUiMTGRjz76iK5du9q6PiGEg6raLXjp8xmVuIe2pUmcdwpknV8EWRpPy/pyCKlxsfpU1s6dOzNr1iwbliKEaAyqdgsaTRlhmfEMyT2AGQXrfftw0KODZeoL6RYap6uGw4cffmjVDqZNm1ZvxQghHFvVbkFXlkPUxWhCytI57dKS9bq+5KndAAmFxu6q4ZCSktKQdQghHFjVbkGrKaVP+gn65x2iTKnhV7/+xLndXL1bkENIjdZVw2Hu3LkNWYcQwkFV7RaCSjKISogmUJ/NMdc2bNT1oujSRHnSLTQdVw2HixcvEhISAkBCQsJVd9CqVav6r0oIYXdVuwVndQn90o7SNz+OApUzPwQM5i/XK6ezV+wWnJyMfCH3cG7UrhoOY8eOJTY2FoDhw4ejUCgwmyvfn1mhUHDixAnbViiEaHBjpq+q1C20Kk5hdHIMOkMeB91v4XefnpSqyu/WKN1C03TVcLgcDAAnT55skGLmzZvHxo0bSUxMZM2aNXTo0KFBXlcIUa76RHlFDEo5RHjhSbLV7nwTOJxzLsGW9WVsoelSWrPS1abmfu+99+q1mKFDh7Jy5UpatmxZr/sVQlxf1bGFjvpzPHFhDT0KTxHj2ZklLcZagsFsVKO6NAvG5W5BgqFpsSocfv755xqfX716db0WEx4eTnBw8PVXFELUm8fmbOWR2Vsx6tWYjWo8VAXckbyLiSlbKVOqWRY8ii2+4ZYZVKVbaB6ueRHcjz/+CIDRaLT8fFlCQgLe3t42K0wIYVuT5mzFWOHObGqNntCCcwzP2IezqZQ/vG5jl/etlonyZGyheblmOKxatQoAvV5v+RnKB6L9/PyYN2+ebaurJZ3O/Yb34e/vUQ+V2IbUVjdSW3UVB5wBvJV5jEjaS8eSCyRqdaz1G0661seyftVuYd3C8Xap+zL5TOumNrVdMxxWrFgBwMKFC5k+ffqNVdUAMjMLMJnM11/xKvz9PRz2xuVSW91IbZXVNFFet/x4IjMOoMLEZp+e7PUMve5Eefb8ncpnWjc11aZUKq76pdqquZUuB0NmZiZFRUWVlsl1DkI0DlUHnL31+YxKjOHm0mTOOQeyThdB9lUmyvN0h09elLGF5sSqcNi5cyevv/466enplZ6v7+scZs+ezaZNm8jIyGDSpEl4e3uzbt26etu/EM1RTRPl9cj8iyG5BzCiZJ2uL7Hut8hEeaISq8Lh7bffZurUqUyYMAFnZ2ebFfPGG2/IrUeFqEdVuwW/0myiLkbTsiyDv1xC+E3Xh/xLE+VB5W5BrTHwlZyJ1GxZFQ55eXncf//9lluECiEcW00T5fVNP07/vMOUKDX87DeA425trtotbPh4jMMeOxcNw6pwuPvuu/npp5+45557bF2PEOIGVe0Wgi9NlBegzybO7WY2+vaiWFV+BEAOIYmrsSocDh8+zIoVK/j888/x8/OrtGzlypU2KUwIUTs1TZTXP+0IffKPUaBy4fuASE67hljWl4vZxLVYFQ733nsv9957r61rEULUUdVuoXVxCqOTovE15nPAvQNbfXtQqpSJ8oT1rAqHCRMm2LoOIUQdVO0W3FRFDEqJpWfhKbLUHqwIHMF5lyDL+tItCGtZfQ/pjIwMjhw5QnZ2dqWpu2UcQgj7qNottC9MYGTSHtyNxUR7dmaHd3cMyvJ/4tItiNqyKhy2bNnCyy+/zE033cTp06dp37498fHx9OjRQ8JBiAZWtVvwUBUwLHkfXYvOkqrx5r8Bg0l2ujI2KN2CqAurwuGDDz5gzpw5jB49ml69evHrr7/y008/cfr0aVvXJ4SooFK3oNHTueAswzP24WTSs927O7u9umCSifJEPbAqHJKSkhg9enSl5yZMmEC/fv149dVXbVKYEOKKqt2CjzKXEUl76VCSwEWtH2v9bidD621ZX7oFcaOsCgedTkdGRgZ+fn60bNmS2NhYfHx8MJlMtq5PiGbtcijAlW6he148kZkHUGBmk084+zw7XXeiPCFqy+pTWQ8cOMDIkSN57LHHeOSRR1AqlUyaNMnW9QnRbFXtFvzJYlRiDG1KUzjrHMQ6XQQ5mitTMEu3IOqTVeEwZcoUy8933nknvXv3pri4mHbt2tmsMCGaq5omyuudc5wB2YcxomStLoJD7u1lojxhU1afylpRixYt6rsOIQTVT0/1L80mKiGaFvoMTrm04jddHwrUrpb1pVsQtmJVOAwaNOiqk+5t3769PusRolmq2i04aUrpm36MfnmHKVY68ZP/QI5p26FUGwHpFoTtWRUO//znPys9Tk9PZ/ny5URFRdmkKCGak6rdQouSdKIuRONvyOGIW1s2+4ZTrHJGiRFMSkBRHgx6FVPv7kBE16DrvoYQtWVVOPTu3bvG55544gkeffTRei9KiOag6n2cXdTF9E89Qp+CY+SpXPkuYChnXFta1q94CMlshhVvDbJX6aIZqNOYA4BWq+XixYv1WQtnz55lxowZ5OTk4O3tzbx582jTpk29voYQjqBqt9CmKIlRSTH4GAvY79GRrT5hlMlEecKOrAqHDz/8sNLjkpISduzYwcCB9fsf6f/93//x4IMPMn78eFatWsVbb73F8uXL6/U1hLCnmibKG5JygLDCeDLVHiwPGskF50DL+jLgLOzFqnBISUmp9NjFxYVJkyYxfvz4eiskMzOT48eP89VXXwFwxx138O6775KVlYWvr2+9vY4Q9lDtYjatgVsKLzAycQ9uphJ2eXVlp9dtMlGecBhWhcPcuXNtXQfJyckEBgaiUpXPC6NSqQgICCA5OVnCQTRqVbsFT2U+w5P20bn4HCkaH/4TGEmKk86yvnQLwhFcNxyMRiNr1qxh165dZGVl4ePjQ58+fRg7dizOzs4NUaPVdDr3G96Hv7/H9VeyE6mtbuxVW9UBZ7VGT9eCvxmasR+tSc827zCivbpgusrUFxs+HmOXui+Tz7Rumkpt1wyHgoICJk+eTEJCAoMGDaJz586kp6ezcOFCli9fztKlSzEajRw8ePCGT2sNDg4mNTUVo9GISqXCaDSSlpZGcHCw1fvIzCzAZDJff8Wr8Pf3cNibqkttdWOv2qoOOHvqCxiRtJdbSi6S4OTPWl0EmdeZKM+ev1P5TOumsdWmVCqu+qX6muGwYMECvL29WbZsGa6uV67KLCwsZPr06bz44oskJCQwffr0Gy5cp9MRGhrK2rVrGT9+PGvXriU0NFQOKYlGpeohJLVGT7fM0wzN3YcC2ODbiwMeHWWiPOHwrhkOmzdv5ocffqgUDABubm689dZbDBs2jLlz5zJu3Lh6KWbWrFnMmDGDTz/9FE9PT+bNm1cv+xWiIVTtFnzLchl9MYbWZan87RzMOl0EuZor39JkbEE4suseVgoMDKxxWVBQEFqttl7vL92uXTv++9//1tv+hGgINU2U1yvjBINyD6FXqlitu50j7u1kojzRqFwzHFq1akVMTAz9+vWrtiw6OpqbbrrJZoUJ0RhU7RYCSrOISogmWJ/JCdfWbPDtQ6HaBah5wNlRj08Lcc1wmDRpEq+++ipvvvkmw4cPR6lUYjKZ2LRpE7Nnz66XsQYhGqNqE+WpS7k97Si35x+lSOnEj/6DOOl25cuTHEISjc01w+Guu+4iJyeHGTNm8OKLL+Lt7U1OTg4ajYZnn32Wu+++u6HqFMJhVO0WWpakEZUQjZ8hl8Nu7djsG06JygmQQ0ii8brudQ6TJ09m4sSJxMbGkp2djY+PD2FhYbi73/g1BUI0JlW7BRd1MQNTD9Or4Dh5Kje+DRzK3y41T5Qn3YJobKy6Qtrd3Z0BAwbYuhYhHFJNU1/cfGmiPC9jAfs8OrHdJ4wypabSOtItiMaszrOyCtEcVO0W3FWFDEk+SPeieDLUnnwdNIqLzgGW9aVbEE2FhIMQV/HYnK0Y9ZcuZtMa6FhwnhHpe3E1lfCn163s9LoNo7J8LjDpFkRTI+EgRBVVB5zdDMUMT9pHaPE5krW+fKcbSqrTlSv3pVsQTZHV4ZCdnc2OHTtIT0/nySefJDU1FbPZTFCQ3KJQNB2VgkGjp3P2OUbk7EFjMrDVO4yYa0yUJ92CaEqsCoe9e/fy/PPP07VrVw4ePMiTTz7J+fPnWbp0KYsWLbJ1jULYXNWxBZ0ih5FJe2hXksgFpwDW+kWQpfGyrC/dgmjqrAqHOXPm8MEHHxAREUGvXr0A6NatG0eOHLFpcULY2vyVscSdzQaudAs9804yODMWM/Cbb28OeHSUqS9Es2NVOCQmJhIREQGA4tI/Eo1Gg9FotF1lQthY1W4hkAxGX4yhVVkap11a8JuuL7nq8ut5JBREc2NVOLRr146dO3dWutZh9+7ddOjQwWaFCWErVUNBqymjT84x+mcdpkypZpVfP466ta3eLcghJNGMWBUOM2bM4KmnnmLw4MGUlJTw1ltvsXXrVj799FNb1ydEvap6JlJgaSZRCdEE6bM47noTG3W9KVS5WNaXYBDNlVXh0L17d1avXs3q1au5++67CQ4O5scff5QzlUSjUbVbcFaXcHtaHBH5RylUOfNf/8GccmttWV8OI4nmzupTWQMDA3nyySdtWYsQNlG1WwgpTiUqORqdIY9Y9/b87tPTMlEeSLcgBFwjHF5++WXL4PO1zJ8/v14LEqK+VO0WXNXFDEyNpVfBSXLU7qwMHMZZ55agKL/vuHQLQlxx1XBoyBv5rFq1ii+++IIzZ87w+uuv89BDDzXYa4um59kFf5BfbACu/MFvW5jIqKQYPI2F7PEMZbt3d/RKDWCWUBCiBlcNh+eee67BiggNDWXhwoUsWbKkwV5TNE1VuwUPVQGRyQe4regM6RovlvmPJtHZ37K+HEISomZWjzlER0ezbt060tLSCAgIYMyYMZZrH27U5VNilUplvexPND9VQ0Gt0dOp8DzD0/fiYiplp9dt/Ol9K0aFTJQnhDWsCoelS5fy+eefc9dddxEaGkpycjIvvvgiTzzxBJMnT7Z1jVbT6W78BkT+/h71UIltSG01GzN9VZWJ8ooYkbyXTsUXSNLq+NZvGGnaq0+Ut27heLvVLp9p3UhtdVOb2qwKh6+++oqvv/660kVv48ePZ9KkSVaFw4QJE0hKSqpx2e7du1GpVFaWe22ZmQWYTOY6b+/v7+GwN3yX2mpWaVptjZ4uWWcZkbMXFUa2+PRgj2dnzNeZKM9etctnWjdSW93UVJtSqbjql2qrDytVHaBu1aqVVWczAfzyyy/WvowQVql6eqq3Pp+RiTG0LU3mvFMga/0iyNZ4Wtav2C24uphY/IqMLQhxLVaFw/PPP8/rr7/O888/T1BQEMnJyXz66ae88MILmC7fPxEZMxANo2IwaDRlhGXGMyT3AGYUrPftw0GPDjJRnhA3SGE2m697HKZTp05XNlAoqLjJ5ccKhYITJ07UqYi1a9cyf/588vLy0Gg0uLi4sHTpUtq3b1+r/chhJftoqNpqmigvKjWakLJ04l1a8puuL3lqN6BxnIUkn2ndSG11Y5PDSr///vuNV3YNd9xxB3fccYdNX0M0bhWDQaspJSL7GLdnH6FMqeFXv/7Eud0sE+UJUY+sCoeWLVvaug4halS1WwgxpRCVEE2gPptjbm3Y6NuLoksT5dV0CMmRv8kJ4cisCof8/HyWL1/OiRMnKCoqqrRs6dKlNilMiIrB4KwuYUD2YXrnHKdA5cx/AoYQ79rKsq50C0LUL6vCYdq0aRiNRoYPH46Tk9P1NxDiBlTtFm42XmR0cgw6Qx4H3W/hd9+elCq1lvUrBoOft4qF02TQWYgbZVU4HDp0iJiYGLRa7fVXFqKOLocClP/Bd1UXMSTzID3y/iJb7c43gcP5W9MKpbLyvElyJpIQ9c+qcOjZsyd///13pbOWhKhPVbuFjvpzjEzag4exiBjPzmz37o5BqUaJAUxKQFEeDHoVU+/uQERXubeIEPXJqnB4//33efLJJ+nWrRs6na7SsoacoE80TRWvcvZQFTAsYx9dC86SpvHmp4BRXFQFV+8WytTl3cJbg+xZuhBNllXhsHDhQlJSUggJCaGgoMDyvLVXSAtRk0pXOWv0hBacY3jGPpxNZezw7sYur66YFCrpFoSwA6vCYd26dWzcuJGAgABb1yOaiYrB4K3MY0TSXjqWXCBR68davwjStT6WdaVbEKLhWRUOrVq1Qq22ehomIa6q0tiC2UzP0uNEZhxAhYnNPuHs9exkmSgPKgeDWmPgKzlFVYgGYdVf/PHjxzN16lQeeuihamMO9XVPB9H0VQwGP0U2o9OjaVOSwjnnINbpIsjWXJlOWM5EEsK+rAqHlStXAvDvf/+70vMKhcLmU2uIxq9iKCjMJiKKjzAoKxYjStbp+hLrfotMlCeEg7EqHLZu3WrrOkQTVTEYgszpjEmPpkVpBn+5hPCbri/5alfLunKVsxCOQwYShE1UDAWl2cigwgPcnn2UEqWWn/0GcNytjaVbgMrB4OkOn7wowSCEPVkVDgUFBXz00Ufs27eP7OzsSlN2b9++3Va1iUZo8tytGIzlP5uNalqZUohK301AWQ5H3W5mk28vilXOlvXlMJIQjsmqu/PMmjWL48ePM3XqVHJycnjjjTcIDg7mscces3F5ojF5bE55MJiNalR6GJEXwyOJv+Fk1PN9QCSr/AfUHAxyGEkIh2NV57Br1y7Wr1+Pj48PKpWKYcOGceutt/L0009LQAjGTF9VaeqLtsaLRKXtxsdQwAGPDvzu04OymibKk25BCIdlVTiYTCY8PMpPM3R1dSU/Px9/f3/Onz9fL0W8/fbbREdHo9VqcXV1ZebMmdx66631sm9hO88u+IP84ivTWripihiSeYCw/Hgy1Z4sDxrBBefKVzFLtyBE42BVOHTq1Il9+/YRERFBeHg4s2bNws3NjTZt2tRLEQMHDuT1119Ho9Gwbds2pk+fzpYtW+pl38I2qk6U10l/lpFJe3A3FrPbswt/eHfDoLzyn5d0C0I0LlaFw+zZsy2D0DNnzmTBggXk5eUxf/78eiliyJAhlp+7d+9OSkoKJpMJpdKqIRHRgKqGgoeqgBEZe+lccI5UjTf/DRhMspNfpW0qdgsarYGlr0m3IISjU5grnnrkAD7++GNOnjzJxx9/bO9SRBUVxxbUGj1dCs4yLGMfWpOeP71vY7dXF0wKlWX9qoeQ1i0cb8fqhRC1cc3OIS4uDq1WS4cOHQDIysrivffeIz4+nu7du/Pqq6/i5uZ23ReZMGECSUlJNS7bvXs3KlX5H5R169axZs0ayxXZtZWZWYDJVPesc+T7Dduztqrdgo8ylxFJe+lQksBFJz/W6m4nQ+ttWf9qh5DsUb98pnUjtdVNY6tNqVSg07nXuP41w2HOnDk899xzlnCYOXMmaWlp3Hfffaxdu5Z//vOfzJo167pF/fLLL9ddZ/PmzSxcuJBly5bh5+d33fWF7VUdcFZr9ITl/cWQzIMoMLPRtxf7PTpedaK81kFOvPeUjC0I0RhdMxzOnDlDeHg4AHl5eezcuZM1a9Zw8803ExkZyf33329VOFzPtm3bmDt3Ll999RUhISE3vD9x46p2C/5kMSoxhjalKZy9NFFejkyUJ0STdc1wMBqNaDQaoPw+0n5+ftx8880ABAcHk5eXVy9FvPbaa2g0Gl544QXLc8uWLcPHx+caWwlbuHyF8+VQ0GjK6J1znAHZhzGiZI0ugsPu7WWiPCGauGuGQ/v27fntt9+Iiopi/fr1labnTk1NtVz7cKNiYmLqZT+i7qodQtIa8C/NJiohmhb6DE66tmKDbx8KrjJRnp+3ioXTJBiEaCquGQ4vvfQSzzzzDLNmzUKpVPLtt99alq1fv54ePXrYvEBhe1UPITlpSumbfox+eYcpVjrxk/9ATrjedNVuYcPHYxx2EE4IUTfXDIfw8HC2bdvGuXPnaNOmDe7uV0a1Bw0aRFRUlM0LFLZTNRTUWgMtS9IZfSEaf0MOR9zastk3/KrzIcnsqUI0Xde9CM7d3Z2uXbtWe75t27Y2KUjYXk2HkDQmPQNSD9O74Dh5Kle+CxjKGdeWlm1kbEGI5kXu59DM1NQttMpLZUzWLnyMBezz6Mg2nx6UKctPRJBQEKJ5knBoJmYu3kNCemGlUHAyljEk5QBhheUT5X0dNJIE50DLNhUPITk5GflihhxCEqK5kHBoBip2C2pt+eGkdjmJjM7ejZuphF1eXfnDqxtGZfmV6hW7BQXSLQjRHEk4NHGPzdmKUV+hWyjWMyo7ms7F50jR+vAfXSQpTjpADiEJIa6QcGii5q+MJe5s9pVuwWymc/Y5RuTsQWMysNWrBzHenTFdmvpCpr0QQlQk4dAEVbzKWa014FpUwpjsXbQvSSTByZ+1utvJ1HqBWYHZqLJ0C0PCWvLIqI72Ll8I4QAkHJqQaoPOGj3dM+OJzN2PAljvGcFBn/KpL650CuCqVfPJa9IpCCGukHBoIqZ/uIvM/FLLH33fslxGX4yhdVkqZ5yDWa+LIFfjLuMKQgirSDg0ctFxKSxeffzSoLMajaaMXhknGJR7CL1SxSrf/hz1uLlKtyCnpgohrk3CoRGKjkvh8zUnMBjLb2x0edwgoDSLqIRogvWZnHBtzW8+fSnSOFceW7AMOPex87sQQjgyCYdG5PIZSJeZjSpAgZO6lNvTjnJ7/lGKlE786D+Ik65tQGEuDwbTlWAY3idQBp2FENcl4eDgrhYIcGmivOI0opKj8TPkcti9HRs9+1KmVQFmGXQWQtSZhIMDWr7hFL/vT8QMYFYA5d/+AcsVzhqTnoGph+hVcIJclRvf+I3gnFtQeW6YlIACtdaAUa9i6t0diOgaZKd3I4RojBwiHD777DPWr1+PSqXCbDbz1FNPNbvpwKPjUli27i+K9YbyQ0FmJZiv3Jv5cigY9SpuLk5iTNYuvIwF7PPoxDafMEpNLmAwo1AqLIeQtColi18bZK+3JIRoxBwiHB566CGeeeYZoPwOc6NHj6Zfv354eXnZuTLbuxwKRaUmyluF8o/EbFagcdJb1jOUqXE2lhKVu5tuhafJ0Hjxtf8oLqhboFQYUKoNcmc2IUS9cYhwqHi70aKiIhQKBSaTyY4VNYzouBQW/xKP0Qhmyg8bVQ2EyzoV/c3o7BhcTaXs9OjGn95dMapUKDFUunahha+bnIkkhLhhDhEOAN999x1ff/01KSkpzJkzBx8fH3uXZHM/bDlPcYEGV+8iy3P6Eg0KpRmzWUFBlistfFIYmb2H0KILJGt8+S5wGKlOvuWBoCrvEm5t78Er/xNmx3cihGhqFGaz2WzrF5kwYQJJSUk1Ltu9ezcqlcry+NSpU7z00kssX768yQfE2P9dhdkMRoMKk6l8fCHjgo6ANqmYzXBr7jlG5MWgRc8On+7EuHfFrFCh0hhRmrX870O3MrhniJ3fhRCiKWqQcKitxx9/nIkTJzJy5MhabZeZWYDJVPe34+/vQXp6fp23r43lG06xeU8qZUVaVBoDSrURhcKMUa+BJCWPuK6mbUky550C2RDQl3SFjmG9HfMahYb8vdWW1FY3UlvdNLbalEoFOp17jes7xGGl06dP0759ewASEhI4ceKE5XFTU36aahImgwqjQYlKWz7GYDIqUSqM9C09TKTqIOZS+M07Ap+hg1gwupND/0cnhGh6HCIcPvroI06fPo1arUalUvHGG2/Qrl07e5dV7+avjOVIfD6gQqM1oNZC7IYedOp/nGB1KndkRNOqLI3Tzi3RPfgw027vZO+ShRDNlEOEw4cffmjvEmwuOi6Fo6fz0RdrcfUqIj/LA5XKiKFQQ8sdBUzqsI5iozMLkx7DeYwzCyUYhBB25BDh0Bz8sOU8aq0BtcZAfpYHKfFB9Ol0gKnh/yXYmMnvSRF8nTmBjqNP88jwNvYuVwjRzEk42Fh0XArfbDhDkb4UfYkGfYmGzHgdj7X+iX4ZRyhSOfGDXyRn2oVwqyKeyXe0k6kuhBB2J+FgQ5cvcispUmM2uZKb7kmPgDimBX2HX3Eu+5xC+TP4NgpMbgwPc8wzkYQQzZOEgw2t+O1vigs0HNnSHS+3XJ69bTl9Mo6RrXLnm4CRJHgEojRpmDrhFukWhBAORcLBRqLjUig2lODqBbeUXeDljkvwL87kT+duxAR3psTkzDNjO0ooCCEckoSDDUTHpbDol3gUeUqiCnfTvc9fnM0L4Zk/53AsuwO6VumMeviwBIMQwmFJONSz6LgUlvz0N51L44lMP4i7upDtrj346NAk0nKD0LVKp/fYg0wc1tbepQohxFVJONSztb8dZ8jRw/T1Pszpsta8e3Eqrr1zCBt3EJXGiEmv5um75OY7QgjHJuFQT8xmM3l//sF98d+h8IAVaeM5HRpI/Km2ZC3V4dsyk77jY3n6rpslGIQQDk/CoR6UpaeRtnwZRSeOk+nagneOPs2xM11okX2RLkOO4uGbj8moYYqclSSEaCQkHG6A2WQi5/fNZPzyEwqlkoCHHyXTtyNt/M6TsiqA5PgWlBY5SccghGh0JBzqaO+Ow5T+uJLA4jTOurXi98ABpO82YzKcQanW0/vOfajUerxc3Jg4TIJBCNG4SDjUktlg4PDX/8Ej+neUBhc+TH+YzFtduLinFS1DEzmyuTtZiVfGGCaOvUmCQQjR6CjtXUBjUnL2b86/OwvX6M38mdWTB7d8RGqoJ4c39yDolhSObO5OZoI/ZpOSzAR/YlaF8cOW8/YuWwghak06ByuYSks5unQlTgd2UqByYWPQEP7f2qmYTUo8fPPJStRZ/r+irEQduSWFdqpaCCHqTjqH6yg6dZJTM1/H5cAfbMroz8R1n3JE3xHflpkA5Gd54Nsy0/L/Ffm2zMTL2c0eZQshxA1xqHDYs2cPoaGhfPPNN/YuBWNREakrlnHxn+9TUKTnjfjpzN79DwrKPDi1O5RuI2LRtUrn9N5b6DYilpT4IG4bfghdq3QUShO6VunlYw7DbrL3WxFCiFpzmMNKBQUF/Otf/2LgwIH2LoWCI4dIW/E1hpwcfEaM4l+nfdnx8+2W5UmnQkBhptf4Pai1RlzUTvj2T6DYUCJnKQkhmgSHCYf333+fxx9/nO3bt9uthu1/nOTsF8vokBtPppMv6vum0mFYL9w+2INvy0wyE/wt65YWOqPzdGbhP/rYrV4hhLAVhwiHHTt2kJ+fz6hRo+wSDmazmYM/b0K18RduNuj5Mn4i64sHEh54lClBKUwcdhM5ebHErAqrfJrqsJsbvFYhhGgIDRIOEyZMICkpqcZlGzZsYMGCBXz11Vc3/Do6nXuttynNzOTMZ0vw2Lefvwrb8O7eaZzNbw1AzCo1vj5HWf5OJJ6eLiz1OUp2YT4+bh5MHt+ZwT1Dbrjm2vD392jQ16sNqa1upLa6kdrqpja1Kcxms9mGtVzX/v37ef7553FxcQEgOzsbrVbLww8/zHPPPVerfWVmFmAyWfd2zGYzuTt3kPHf/2A2GtnieRvvLHsJo0ljWUehNDHmH2tYOiOyVnXYgr+/B+np+fYuo0ZSW91IbXUjtdVNTbUplYqrfqm2+2Gl8PBwoqOjLY9nzJhB165deeihh2z2mmWpqaSuWEbxyRO4dAol8JFJ/PXtWbxb5lQaV5BTUYUQzZXdw6EhmU0msjdvJHPVLyhUKgIfmYTngIEoFAomDjORm3+I6F+7y7iCEKLZc7hweP/9922y39LEi6R89SWl587i1q07AQ89isbHx7I8omsQnp4ufOFxmNySQryc5VRUIUTz5XDhUN/MBgOZ69aQtX4tKldXgqc8g3uv3igUimrrDu4ZQpfWXnaoUgghHEuTDofiv/8mddmXlCUl4tE3goD7HkTl4bhnEgghhKNokuFgKi0l89efyd6yCbW3Dy1e+Afut3W3d1lCCNFoNLlwKDpxnNTlX6FPT8drcCR+d9+L6tJpskIIIazTpMIh/acfyFy3Dk1AICEvz8C1Yyd7lySEEI1SkwqHsrNnCLh3It7DRqDUaK6/QQ2UyuoD1Y5Caqsbqa1upLa6aUy1XatWu18hLYQQwvE41P0chBBCOAYJByGEENVIOAghhKhGwkEIIUQ1Eg5CCCGqkXAQQghRjYSDEEKIaiQchBBCVCPhIIQQohoJh6vYs2cPoaGhfPPNN/YuxeKzzz5j7Nix3HnnnYwfP57169fbuySLt99+m1GjRjFu3Djuv/9+jh49au+SLFatWsXYsWPp3LmzQ3yeZ8+e5b777mPkyJHcd999nDt3zt4lWcybN4/IyEg6duzIX3/9Ze9yLLKzs3nyyScZOXIkY8eO5bnnniMrK8veZVlMnTqVcePGceedd/Lggw9y4sQJe5dUzccff1y7z9UsqsnPzzffc8895ilTpphXrFhh73Is8vLyLD+npKSYw8LCzDk5OXas6IqtW7eay8rKLD8PHTrUzhVdcerUKXN8fLz55ZdfdojP8+GHHzb/+uuvZrPZbP7111/NDz/8sJ0rumLfvn3mpKQk85AhQ8ynTp2ydzkW2dnZ5piYGMvj999/3/zaa6/ZsaLKKv7b3Lx5s/nOO++0YzXVxcXFmR9//PFafa7SOdTg/fff5/HHH8enwm1EHYFHhRsVFRUVoVAoMJlMdqzoiiFDhqC5NNlh9+7dSUlJcZjaOnToQPv27VEq7f+fe2ZmJsePH+eOO+4A4I477uD48eMO8y04PDyc4OBge5dRjbe3N3369LE87t69O0lJSXasqLKK/zYLCgpqvNOkvZSVlfHOO+8wa9asWm3XpGZlrQ87duwgPz+fUaNGsX37dnuXU813333H119/TUpKCnPmzHG4AANYuXIlgwcPdog/xo4mOTmZwMBAVCoVACqVioCAAJKTk/H19bVzdY2DyWTiu+++IzIy0t6lVDJz5kx27dqF2Wzmiy++sHc5Fh9++CHjxo0jJCSkVts1u3CYMGHCVb9xbNiwgQULFvDVV181cFXlrlXb7t27UalUPPDAAzzwwAOcOnWKl156iYiIiAYJCGtqA1i3bh1r1qxh5cqVNq+ptrWJpuHdd9/F1dWVhx56yN6lVPLee+8B8OuvvzJ//nw+//xzO1cEsbGxxMXF8dJLL9V622YXDr/88stVl+3fv5/09HTuvfdeoHwQbNu2beTk5PDcc8/ZtbaqOnbsSEBAAHv37mXkyJE2rKqcNbVt3ryZhQsXsmzZMvz8/Gxe02W1+b3ZW3BwMKmpqRiNRlQqFUajkbS0NIc8lOOI5s2bx/nz51m0aJHDdqZ33nknb731FtnZ2Xbv7Pft28eZM2cYOnQoACkpKTz++OPMnTuX/v37X3PbZhcO1xIeHk50dLTl8YwZM+jatavDfEM5ffo07du3ByAhIYETJ05YHtvbtm3bmDt3Ll999VWt29fmRKfTERoaytq1axk/fjxr164lNDRUDilZ4d///jdxcXEsWbIErVZr73IsCgsLycvLswT81q1b8fLywtvb276FAVOmTGHKlCmWx5GRkSxatIgOHTpcd1u52c81OFo4TJs2jdOnT6NWq1GpVDzxxBNERUXZuywA+vbti0ajqfRHbtmyZXb/5gSwdu1a5s+fT15eHhqNBhcXF5YuXWq3YD1z5gwzZswgLy8PT09P5s2bR9u2be1SS1WzZ89m06ZNZGRk4OPjg7e3N+vWrbN3WcTHx3PHHXfQpk0bnJ2dAQgJCeGTTz6xc2WQkZHB1KlTKS4uRqlU4uXlxauvvkqXLl3sXVo1Eg5CCCFuiGMetBNCCGFXEg5CCCGqkXAQQghRjYSDEEKIaiQchBBCVCPhIIQQohoJB2F3H330UZ0u728Iq1evZvLkyTe8n44dO3L+/Pl6qKhhjBkzhj179gCO/fkI25ErpIXNhYWFWX4uLi5Gq9Va5jt6++237VVWNRcvXmTo0KEcO3YMtbr8n8a4ceMYN26czV9727ZtfPLJJ5w+fRonJycGDBjAyy+/TGBgoM1fe8aMGQQGBjJ9+nTLc45w4ZuwL+kchM3FxsZa/teiRQsWLVpkedwQf3gvMxgMDfZatbFhwwZefPFFHn30UWJiYli7di0ajYYHH3yQvLw8e5cnmikJB+EQ9Ho9r7zyCmFhYYwZM6bSneRSU1N5/vnn6du3L5GRkSxfvtyyrKysjPfee4/+/fvTv39/3nvvPcrKyoDyu/kNHDiQJUuW0K9fP1577TVMJhNLlixh2LBh9OnTh2nTppGTkwNgmSalV69ehIWFERsby88//8wDDzxgeb34+HgmTZpE7969uf3221m0aBEAR44c4b777iM8PJz+/fvzzjvvWOq4FrPZzLx583jmmWcYO3Yszs7O+Pv789577+Hi4mJ5r1UP7Vy8eJGOHTtaAu+nn35i9OjRhIWFMXToUL7//nvLupd/D0uXLiUiIoL+/fvz008/AfCf//yHNWvW8OWXXxIWFsbTTz8NlE+zsHv37hprPnToEPfffz/h4eGMGzfOcvgJ4Oeff2bo0KGEhYURGRnJ6tWrr/s7EI5JwkE4hK1btzJmzBj2799PZGQk7777LlA+d/8zzzxDx44d+eOPP/j666/5+uuv2blzJ1B+69TDhw+zatUqVq9ezdGjR/n0008t+83IyCA3N5dt27bx7rvvsmLFCrZs2cI333zDzp078fLy4p133gGw3EJ03759xMbGVjocBuU3cZk0aRIDBgxg586dbNq0iYiICACUSiWvvfYaMTExfP/990RHR/Ptt99e933//fffJCUlMWrUqErPK5VKRowYwZ9//mnV70+n07F48WIOHjzI3LlzmTt3LseOHav0e8jPz+ePP/7gvffe45133iE3N5f77ruPsWPH8vjjjxMbG2sJu6tJTU3lqaee4plnnmHv3r28+uqrvPDCC2RlZVFUVMTs2bP5/PPPiY2N5fvvvyc0NNSq+oXjkXAQDqFnz54MGjQIlUrF+PHjOXnyJABHjx4lKyuL5557Dq1WS6tWrZg4caLl/tlr1qzh2WefRafT4evry7PPPlvp26pSqeSFF15Aq9Xi7OzM999/z/Tp0wkKCkKr1fLcc8+xceNGqw45bd++HT8/PyZPnoyTkxPu7u5069YNgK5du9K9e3fUajUhISHcd9997Nu377r7zM7OBiAgIKDaMn9/f8vy6xk8eDCtW7dGoVDQu3dv+vXrx/79+y3L1Wo1zz77LBqNhkGDBuHq6srZs2et2ndFq1atYuDAgQwaNAilUkm/fv3o2rUrO3bsAMp/3/Hx8ZSUlBAQEMAtt9xS69cQjkEGpIVDqHj/B2dnZ0pLSzEYDCQmJpKWlkZ4eLhludFotDxOS0ujRYsWlmUtWrQgLS3N8tjHxwcnJyfL46SkJJ599tlK9wJQKpVkZmZet8bk5GRat25d47KzZ8/y/vvvExcXR3FxMUaj0apZOS/PWpuWlkarVq0qLUtPT7d6VtsdO3bwySefcO7cOUwmEyUlJZVm3vT29rYMsgO4uLhQVFRk1b4rSkpKYsOGDWzbts3ynMFgoE+fPri6urJw4UKWLl3KzJkz6dGjB6+++irt2rWr9esI+5NwEA4tODiYkJAQNm3aVOPygIAAkpKSLN9Qk5OTK30Lr3ov36CgIObMmUPPnj2r7SsxMfG6tVzuWKqaNWsWnTt3ZsGCBbi7u7Ns2TI2btx4zf0BtG3blqCgIDZs2MCTTz5ped5kMrFp0ybLrTBdXFwoKSmxLM/IyLD8XFZWxgsvvMC8efMYOnQoGo2GqVOnYu2Ey7W533FwcDDjx49n9uzZNS4fMGAAAwYMoKSkhA8++IA333zTqsNrwvHIYSXh0G677Tbc3NxYsmQJJSUlGI1G/vrrL44cOQKUn4//2WefkZWVRVZWFp988gljx4696v4eeOABPvjgA0sQZGVlsWXLFgB8fX1RKpUkJCTUuO3gwYNJT09n2bJllJWVUVBQwOHDh4HyG764ubnh5ubGmTNn+O6776x6fwqFgldffZXPPvuMNWvWUFpaSnp6OjNnziQ7O9sySB4aGsq+fftISkoiPz+fxYsXW/ZRVlZGWVkZvr6+qNVqduzYwa5du6x6fSgfr7h48aJV644bN45t27axc+dOjEYjpaWl7Nmzh5SUFDIyMtiyZQtFRUVotVpcXV0d9m5t4vrkkxMOTaVSsWjRIk6ePMnQoUPp27cvb7zxBgUFBQBMnTqVrl27Wq5H6NKlC1OnTr3q/h555BEiIyOZPHkyYWFhTJw40RI0Li4uPP300zzwwAOEh4dz6NChStu6u7uzdOlStm3bRr9+/Rg5cqTlTJ1XX32VtWvX0qNHD958881a3YQpKiqK+fPns2zZMnr37k3//v2Ji4tjxYoVli6oX79+REVFMW7cOO666y6GDBlSqa433niDf/zjH/Tq1Yu1a9daOg5r3HPPPZw+fZrw8PBr/u6gvHP49NNPWbx4MREREQwaNIgvv/wSk8mEyWRi2bJlDBgwgN69e7Nv3z5mzZpldR3CscjNfoRwMH/++Scvvvgiy5Ytk7N9hN1IOAjhgLZu3UpqamqlayyEaEgSDkIIIaqRMQchhBDVSDgIIYSoRsJBCCFENRIOQgghqpFwEEIIUY2EgxBCiGr+P78OL647sVhCAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "execution_count": 239, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "## QQ plot\n", "sm.qqplot(humans.Height, line='45',fit=True)" ] }, { "cell_type": "code", "execution_count": 240, "id": "c388b2eb-5dcb-4556-8eae-9fb309355765", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.0 0.0\n" ] } ], "source": [ "# Kolmogorov-Smirnov test\n", "ks_statistic, p_value = kstest(humans.Height, 'norm')\n", "print(ks_statistic, p_value)" ] }, { "cell_type": "code", "execution_count": 241, "id": "204e833c-0f26-49c3-ae4e-1fe6f82b6fbc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['Height', 'Weight', 'Hair_Length', 'Favorite', 'zscore_Height',\n", " 'zscore_Weight', 'zscore_Hair_Length'],\n", " dtype='object')" ] }, "execution_count": 241, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# compute z-scores\n", "\n", "humans4 = humans3.copy()\n", "\n", "for var in ('Height', 'Weight', 'Hair_Length'):\n", " zscore = (humans4[var] - humans4[var].mean()) / humans4[var].std()\n", " humans4[f\"zscore_{var}\"] = zscore\n", "\n", "humans4.columns" ] }, { "cell_type": "code", "execution_count": 242, "id": "f439a5f5-9710-4cd7-989f-9907dfac9bca", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HeightWeightHair_LengthFavoritezscore_Heightzscore_Weightzscore_Hair_Length
138187.70871886.82963319.3green3.1056162.084216-0.320304
174187.53744679.89376137.5blue3.0701701.0474960.532971
412157.52231662.5649776.8blue-3.141625-1.542673-0.906345
1162188.59243586.15594853.1red3.2885061.9835181.264351
1383188.45499574.02146913.6green3.2600620.169753-0.587539
........................
22769188.46398781.22237617.0red3.2619231.246087-0.428136
22945157.29303144.74492918.4red-3.189077-4.206272-0.362499
23039187.84554888.5545106.9blue3.1339342.342037-0.901657
24244158.15304959.72593213.8green-3.011091-1.967031-0.578162
24801189.31069685.4067272.3green3.4371541.871531-1.117320
\n", "

51 rows × 7 columns

\n", "
" ], "text/plain": [ " Height Weight Hair_Length Favorite zscore_Height \\\n", "138 187.708718 86.829633 19.3 green 3.105616 \n", "174 187.537446 79.893761 37.5 blue 3.070170 \n", "412 157.522316 62.564977 6.8 blue -3.141625 \n", "1162 188.592435 86.155948 53.1 red 3.288506 \n", "1383 188.454995 74.021469 13.6 green 3.260062 \n", "... ... ... ... ... ... \n", "22769 188.463987 81.222376 17.0 red 3.261923 \n", "22945 157.293031 44.744929 18.4 red -3.189077 \n", "23039 187.845548 88.554510 6.9 blue 3.133934 \n", "24244 158.153049 59.725932 13.8 green -3.011091 \n", "24801 189.310696 85.406727 2.3 green 3.437154 \n", "\n", " zscore_Weight zscore_Hair_Length \n", "138 2.084216 -0.320304 \n", "174 1.047496 0.532971 \n", "412 -1.542673 -0.906345 \n", "1162 1.983518 1.264351 \n", "1383 0.169753 -0.587539 \n", "... ... ... \n", "22769 1.246087 -0.428136 \n", "22945 -4.206272 -0.362499 \n", "23039 2.342037 -0.901657 \n", "24244 -1.967031 -0.578162 \n", "24801 1.871531 -1.117320 \n", "\n", "[51 rows x 7 columns]" ] }, "execution_count": 242, "metadata": {}, "output_type": "execute_result" } ], "source": [ "humans4[humans4.zscore_Height.abs() > 3]" ] }, { "cell_type": "code", "execution_count": 243, "id": "a247492b-ecca-4d7b-911e-df8d68e78ca0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "25000" ] }, "execution_count": 243, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "75.0" ] }, "execution_count": 243, "metadata": {}, "output_type": "execute_result" }, { "name": "stdout", "output_type": "stream", "text": [ "Outlier weight: 67\n", "Outlier hair length: 285\n" ] } ], "source": [ "# total observations\n", "len(humans4)\n", "# 68-95-99.5 rule -> 75 observations beyond 3std\n", "len(humans)*0.003\n", "# \n", "print(\"Outlier weight:\", (humans4.zscore_Weight.abs() > 3).sum())\n", "print(\"Outlier hair length:\", (humans4.zscore_Hair_Length.abs() > 3).sum())" ] }, { "cell_type": "code", "execution_count": 244, "id": "cfd069b8-0ab7-4572-acad-e86ca17bc2c1", "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", "
HeightWeightHair_LengthFavoritezscore_Heightzscore_Weightzscore_Hair_Length
13971153.10703463.1551544.4green-4.055392-1.454458-1.018865
14106157.24441545.06215170.7red-3.199138-4.1588562.089496
22945157.29303144.74492918.4red-3.189077-4.206272-0.362499
\n", "
" ], "text/plain": [ " Height Weight Hair_Length Favorite zscore_Height \\\n", "13971 153.107034 63.155154 4.4 green -4.055392 \n", "14106 157.244415 45.062151 70.7 red -3.199138 \n", "22945 157.293031 44.744929 18.4 red -3.189077 \n", "\n", " zscore_Weight zscore_Hair_Length \n", "13971 -1.454458 -1.018865 \n", "14106 -4.158856 2.089496 \n", "22945 -4.206272 -0.362499 " ] }, "execution_count": 244, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cond = (\n", " (humans4.zscore_Height.abs() > 4) |\n", " (humans4.zscore_Weight.abs() > 4) |\n", " (humans4.zscore_Hair_Length.abs() > 4.5))\n", "humans4[cond]" ] }, { "cell_type": "markdown", "id": "58f4d658-5205-4595-9ea2-bdd23eab1279", "metadata": {}, "source": [ "#### Inter-quartile Range" ] }, { "cell_type": "code", "execution_count": 245, "id": "1d4b9cac-fb7b-402f-a687-0d1df322fefa", "metadata": {}, "outputs": [], "source": [ "# Function defined but not run in this cell\n", "def show_boxplots(df, cols, whis=1.5):\n", " # Create as many horizontal plots as we have columns\n", " fig, axes = plt.subplots(len(cols), 1, figsize=(10, 2*len(cols)))\n", " # For each one, plot the non-null data inside it\n", " for n, col in enumerate(cols):\n", " data = df[col][df[col].notnull()]\n", " axes[n].set_title(f'{col} Distribution')\n", " # Extend whiskers to specified IQR multiplier\n", " axes[n].boxplot(data, whis=whis, vert=False, sym='x',meanline=True)\n", " axes[n].set_yticks([])\n", " # Fix spacing of subplots at the end\n", " fig.tight_layout()" ] }, { "cell_type": "code", "execution_count": 246, "id": "be1da3fc-ab92-4405-9618-c49a2ff49401", "metadata": {}, "outputs": [ { "data": { "image/png": "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DD377LOKjo7W9OnTlZSUpOnTp1f5fPr27auMjAwdO3as1L65c+fq8ccf1969e7V161bde++9kqR3331X0n9nl+12u7t9zZo1086dO/X000+XWd/WrVu1du1affTRR9q2bZvWrl1baRurcn5z5sxRdna2Pv/8c/31r3/V+vXrS5RdXt8BgLciCAPwSl26dNHu3bsl/Tf0RkVFldjWpUsXpaena8eOHZo6daqCgoIUFhamESNGlLl2OCEhQa1bt1bfvn1ls9n0+OOPKzw8vMQxjRs31kMPPSQfHx/95je/0ZkzZ5Senn5N5xIRESFJyszMLLXPZrPp559/1tmzZ1WnTh117Nix0rKGDRsmm82mgICAMo8ZNWqUQkJC1LhxYz3++OPatGnTNbVfkpxOpz755BM999xzqlu3rpo2barf/e532rBhg/uY69F3AHA92TzdAAAoS3R0tFavXq3MzEydPXtWzZs3V3h4uKZMmaLMzEwdPnxY0dHROnnypBwOh2JjY93PdblcioyMLFVmWlqaGjVq5H5ssVhKPJZUIhgHBgZKknJzc6/pXE6fPi1JCgkJKbVv7ty5evPNN3XvvfeqadOmGjt2rHr06FFuWZe3tyzFz71JkyZKS0u78kZf5ty5cyosLFTjxo3d2xo3buw+N+n69B0AXE8EYQBeyW6368KFC1qzZo06deokSapbt64iIiK0Zs0aRUREqFmzZvL395efn5++/vpr2WwVv6TddNNNJYKbYRg6derUdT0P6dJShbCwMLVo0aLUvubNm2v+/PlyuVzasmWLxo8fr127dslisZRZVnnbi0tNTVXr1q0lSSdPnnTPSAcGBiovL8993JXM1jZo0EC+vr46efKkWrVq5a6nYcOGVS4DALwNSyMAeKWAgAC1b99eK1euLHFniKioqBLbIiIidNddd+mPf/yjLly4IJfLpZ9//lnffPNNqTK7d++uH3/8UZ9//rkcDodWr159RWEwPDz8iu6pm56ernfffVeLFy/WpEmTZLWWfsldv369zp49K6vVquDgYEmS1WpVaGiorFbrVd3Dd8WKFTp//rxSU1P1f//3f+rfv78kqV27dtq9e7dOnjyp7Oxsvf3221U+Px8fH91zzz1asGCBLly4oJSUFP3v//6vBg4ceMXtAwBvQRAG4LU6d+6sjIwMRUVFubdFRUUpIyNDnTt3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mhJB80r86U9/0rFjx7Ru3Tpt2bJFaWlpJdaxpqenKzs7WwkJCZo7d65mz56t8+fPS7r0UX9gYKB27typefPmad26de7nrV69WpK0fv16JSUlqX///pWWVxWNGzdW+/bttWfPnlL7PvroI124cEFffPGFdu3apVmzZikgIEDPPvusoqOj3bPL06dPdz+nsv7buHGjnnnmGe3atUu33XabO3RXpGXLlpo1a5Y6duyopKSkMtv61Vdf6fXXX9cbb7yhxMRENWnSRJMmTSpxzBdffKEPP/xQGzZs0Keffqovv/yy0roB4FoQhAFcV2PGjFF0dLT736xZs0rsv/fee9WwYUNZrVb1799ft9xyi7799ttyy3vqqacUEhKigICAK26LYRhas2aNpk6dqpCQENWtW1e///3v9fHHH7uPsdlsGjNmjHx9fdW9e3cFBQXp2LFjcjqd2rJli8aNG6fAwEC1atVKv/71ryuts7zyrkRERESZ4dlmsykzM1PHjx+Xj4+P2rdvr7p161ZYVmX9d/fdd6tz587y8/PTs88+q3379ik1NfWK2luWjRs3asiQIbr99tvl5+enSZMmad++fTpx4oT7mFGjRik4OFiNGzdWTEyMfvjhh2uuFwAqYvN0AwDUbkuWLFHXrl3dj+Pj40t8iWvdunX63//9X/dH8Lm5uTp37ly55UVGRl51W86ePauLFy9q8ODB7m2GYcjlcrkfh4SEyGb770tjYGCgcnNzdfbsWTkcjhL1V6Ut5ZV3JU6fPi273V5q+6BBg3Tq1ClNmjRJWVlZGjhwoJ599ln5+vqWW1ZlbW7UqJH75zp16qh+/fpKS0tTWFjYFbX5cmlpabr99ttLlB0SEqLTp0+radOmkqSbbrrJvT8wMFA5OTnXVCcAVIYgDMBjUlJS9MILL2jlypWy2+3y8fHRoEGDKnyOxWK56voaNGiggIAAffzxx2rYsOEVPTc0NFQ2m02nTp1SixYtJKlaZkork5qaqu+//16jRo0qtc/X11djx47V2LFjdeLECT311FNq0aKFHnzwwXLLq6z/Tp065f45JydH58+fV0REhPz9/SVJeXl57lnnM2fOVLnciIgI9x870qU/eDIzM694HACgOrE0AoDHXLx4URaLRaGhoZKktWvX6vDhw9VWfmFhofLz893/DMPQgw8+qJdfflkZGRmSLs22VmUt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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_boxplots(humans4, [\"Height\", \"Weight\", \"Hair_Length\"], 1.5)" ] }, { "cell_type": "code", "execution_count": 247, "id": "7c744e08-b7e6-47e4-93b4-6b391b5ac424", "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", "
HeightWeight
0.25169.42888468.428823
0.50172.70907872.930616
0.75175.95354177.367039
1.00190.88811298.032504
\n", "
" ], "text/plain": [ " Height Weight\n", "0.25 169.428884 68.428823\n", "0.50 172.709078 72.930616\n", "0.75 175.953541 77.367039\n", "1.00 190.888112 98.032504" ] }, "execution_count": 247, "metadata": {}, "output_type": "execute_result" } ], "source": [ "quartiles = (\n", " humans4[['Height', 'Weight']]\n", " .quantile(q=[0.25, 0.50, 0.75, 1.0]))\n", "quartiles" ] }, { "cell_type": "code", "execution_count": 248, "id": "405e7234-23ec-4de4-8ef1-dc26acbfc41e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Height 6.524657\n", "Weight 8.938216\n", "dtype: float64" ] }, "execution_count": 248, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IQR = quartiles.loc[0.75] - quartiles.loc[0.25]\n", "IQR" ] }, { "cell_type": "code", "execution_count": 249, "id": "10425651-3f8e-4792-a871-e93ba807f9e8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Inliers for Height: [153.117, 192.265]\n", "Inliers for Weight: [46.083, 99.713]\n" ] } ], "source": [ "for col, length in IQR.iteritems():\n", " high = quartiles.loc[0.75, col] + 2.5*IQR[col]\n", " low = quartiles.loc[0.25, col] - 2.5*IQR[col]\n", " print(f\"Inliers for {col}: [{low:.3f}, {high:.3f}]\")" ] }, { "cell_type": "code", "execution_count": 250, "id": "c3faa603-3df2-4410-8de7-005ab92a8332", "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", "
HeightWeightHair_LengthFavoritezscore_Heightzscore_Weightzscore_Hair_Length
13971153.10703463.1551544.4green-4.055392-1.454458-1.018865
14106157.24441545.06215170.7red-3.199138-4.1588562.089496
22945157.29303144.74492918.4red-3.189077-4.206272-0.362499
\n", "
" ], "text/plain": [ " Height Weight Hair_Length Favorite zscore_Height \\\n", "13971 153.107034 63.155154 4.4 green -4.055392 \n", "14106 157.244415 45.062151 70.7 red -3.199138 \n", "22945 157.293031 44.744929 18.4 red -3.189077 \n", "\n", " zscore_Weight zscore_Hair_Length \n", "13971 -1.454458 -1.018865 \n", "14106 -4.158856 2.089496 \n", "22945 -4.206272 -0.362499 " ] }, "execution_count": 250, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cond = (\n", " (humans4.Height > 192.265) |\n", " (humans4.Height < 153.117) |\n", " (humans4.Weight > 99.713) |\n", " (humans4.Weight < 46.083))\n", "humans4[cond]" ] }, { "cell_type": "markdown", "id": "673f2b39-0c86-4126-852c-53288b6c6229", "metadata": {}, "source": [ "#### Absolute Deviation around Median" ] }, { "cell_type": "code", "execution_count": 251, "id": "a7363c31-b87d-42e4-9fbb-b0454cecbf36", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4.46943080294767" ] }, "execution_count": 251, "metadata": {}, "output_type": "execute_result" } ], "source": [ "median_abs_deviation(humans4.Weight)" ] }, { "cell_type": "code", "execution_count": 252, "id": "a91ef5c0-4ad9-4e3d-8332-ac38020e7014", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Height 162.92343589999987 182.49472010000008\n", "Weight 59.5223235797511 86.33890839743712\n" ] } ], "source": [ "for var in ('Height', 'Weight'):\n", " mad = median_abs_deviation(humans4[var])\n", " lower, upper = humans4[var].median() - 3*mad, humans4[var].median() + 3*mad, \n", " print(var, lower, upper)" ] }, { "cell_type": "code", "execution_count": 253, "id": "18c58acb-510d-4b85-91de-cbaee6a04516", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HeightWeightHair_LengthFavoritezscore_Heightzscore_Weightzscore_Hair_Length
2176.27280087.76772277.1green0.7388902.2244342.389549
22161.24212156.15109319.3red-2.371791-2.501369-0.320304
30176.58918259.24805552.6red0.804367-2.0384601.240909
39162.67518961.20378438.7red-2.075210-1.7461330.589231
56178.83167289.4148279.6blue1.2684632.470630-0.775072
........................
24969161.58949166.38644615.3red-2.299901-0.971470-0.507837
24980177.29001988.57814057.1blue0.9494092.3455691.451884
24983162.00036263.94509726.1green-2.214869-1.336383-0.001498
24988167.89748059.2935941.8red-0.994428-2.031653-1.140762
24991182.66806273.57657031.2green2.0624250.1032530.237607
\n", "

2032 rows × 7 columns

\n", "
" ], "text/plain": [ " Height Weight Hair_Length Favorite zscore_Height \\\n", "2 176.272800 87.767722 77.1 green 0.738890 \n", "22 161.242121 56.151093 19.3 red -2.371791 \n", "30 176.589182 59.248055 52.6 red 0.804367 \n", "39 162.675189 61.203784 38.7 red -2.075210 \n", "56 178.831672 89.414827 9.6 blue 1.268463 \n", "... ... ... ... ... ... \n", "24969 161.589491 66.386446 15.3 red -2.299901 \n", "24980 177.290019 88.578140 57.1 blue 0.949409 \n", "24983 162.000362 63.945097 26.1 green -2.214869 \n", "24988 167.897480 59.293594 1.8 red -0.994428 \n", "24991 182.668062 73.576570 31.2 green 2.062425 \n", "\n", " zscore_Weight zscore_Hair_Length \n", "2 2.224434 2.389549 \n", "22 -2.501369 -0.320304 \n", "30 -2.038460 1.240909 \n", "39 -1.746133 0.589231 \n", "56 2.470630 -0.775072 \n", "... ... ... \n", "24969 -0.971470 -0.507837 \n", "24980 2.345569 1.451884 \n", "24983 -1.336383 -0.001498 \n", "24988 -2.031653 -1.140762 \n", "24991 0.103253 0.237607 \n", "\n", "[2032 rows x 7 columns]" ] }, "execution_count": 253, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cond = (\n", " (humans4.Height > 182.495) |\n", " (humans4.Height < 162.923) |\n", " (humans4.Weight > 86.339) |\n", " (humans4.Weight < 59.52))\n", "humans4[cond]" ] }, { "cell_type": "markdown", "id": "eaa459f7-51e3-4fb4-9671-6d10cb3effef", "metadata": {}, "source": [ "## Data Quality" ] }, { "cell_type": "markdown", "id": "3cd4df48-5181-4387-a969-012d6b327518", "metadata": {}, "source": [ "### Missing Data" ] }, { "cell_type": "markdown", "id": "252f9c49-ce08-4028-8600-ec3d6ecc0df5", "metadata": {}, "source": [ "Persons with names, ages, genders and favorite flowers and colors, example adopted from CleanData." ] }, { "cell_type": "code", "execution_count": 254, "id": "7b5d12ec-818b-418e-941b-2a9784ef44b5", "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", " \n", " \n", " \n", " \n", " \n", " \n", "
AgeGenderNameFavorite_ColorFavorite_Flower
048FLisaYellowDaisy
162FKarenGreenRose
226MMichaelPurpleNone
373FPatriciaRedOrchid
413FAvaGreenViolet
..................
633736MMichaelNoneViolet
633811MJacobRedLily
633920MJacobGreenRose
634072MRobertBlueLily
634164FDebraPurpleRose
\n", "

6342 rows × 5 columns

\n", "
" ], "text/plain": [ " Age Gender Name Favorite_Color Favorite_Flower\n", "0 48 F Lisa Yellow Daisy\n", "1 62 F Karen Green Rose\n", "2 26 M Michael Purple None\n", "3 73 F Patricia Red Orchid\n", "4 13 F Ava Green Violet\n", "... ... ... ... ... ...\n", "6337 36 M Michael None Violet\n", "6338 11 M Jacob Red Lily\n", "6339 20 M Jacob Green Rose\n", "6340 72 M Robert Blue Lily\n", "6341 64 F Debra Purple Rose\n", "\n", "[6342 rows x 5 columns]" ] }, "execution_count": 254, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "6342" ] }, "execution_count": 254, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# read parquet file (Apache Hadoop ecosystem, column-wise storage format with compression features)\n", "df = pd.read_parquet('../data/usa_names.parq') \n", "df\n", "len(df)" ] }, { "cell_type": "code", "execution_count": 255, "id": "c0d58bbd-556b-4e81-9e7b-853cda50d789", "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", " \n", " \n", " \n", " \n", " \n", " \n", "
AgeGenderNameFavorite_ColorFavorite_Flower
count6342.0000006342634255995574
uniqueNaN26965
topNaNFMichaelYellowOrchid
freqNaN31905359651356
mean42.458846NaNNaNNaNNaN
std27.312662NaNNaNNaNNaN
min2.000000NaNNaNNaNNaN
25%19.000000NaNNaNNaNNaN
50%39.000000NaNNaNNaNNaN
75%63.000000NaNNaNNaNNaN
max101.000000NaNNaNNaNNaN
\n", "
" ], "text/plain": [ " Age Gender Name Favorite_Color Favorite_Flower\n", "count 6342.000000 6342 6342 5599 5574\n", "unique NaN 2 69 6 5\n", "top NaN F Michael Yellow Orchid\n", "freq NaN 3190 535 965 1356\n", "mean 42.458846 NaN NaN NaN NaN\n", "std 27.312662 NaN NaN NaN NaN\n", "min 2.000000 NaN NaN NaN NaN\n", "25% 19.000000 NaN NaN NaN NaN\n", "50% 39.000000 NaN NaN NaN NaN\n", "75% 63.000000 NaN NaN NaN NaN\n", "max 101.000000 NaN NaN NaN NaN" ] }, "execution_count": 255, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe(include='all')" ] }, { "cell_type": "code", "execution_count": 256, "id": "708dbcd3-d704-4ea7-9db8-735aa15b4de8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "768" ] }, "execution_count": 256, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "743" ] }, "execution_count": 256, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# roughly 10% are NaN -> could be discarded or imputed\n", "df['Favorite_Flower'].isna().sum()\n", "df['Favorite_Color'].isna().sum()" ] }, { "cell_type": "code", "execution_count": 257, "id": "144c901e-9909-4f2b-9ba6-9b76287fbcfa", "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", "
Age
count768.000000
mean25.350260
std2.905908
min21.000000
25%23.000000
50%25.000000
75%28.000000
max30.000000
\n", "
" ], "text/plain": [ " Age\n", "count 768.000000\n", "mean 25.350260\n", "std 2.905908\n", "min 21.000000\n", "25% 23.000000\n", "50% 25.000000\n", "75% 28.000000\n", "max 30.000000" ] }, "execution_count": 257, "metadata": {}, "output_type": "execute_result" }, { "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", "
Age
count743.000000
mean35.401077
std2.869695
min31.000000
25%33.000000
50%35.000000
75%38.000000
max40.000000
\n", "
" ], "text/plain": [ " Age\n", "count 743.000000\n", "mean 35.401077\n", "std 2.869695\n", "min 31.000000\n", "25% 33.000000\n", "50% 35.000000\n", "75% 38.000000\n", "max 40.000000" ] }, "execution_count": 257, "metadata": {}, "output_type": "execute_result" } ], "source": [ "missing_flower_preference = df.loc[df['Favorite_Flower'].isna()]\n", "missing_color_preference = df.loc[df['Favorite_Color'].isna()]\n", "missing_flower_preference.describe()\n", "missing_color_preference.describe()" ] }, { "cell_type": "code", "execution_count": 319, "id": "1f268cfe-b74f-4826-8bae-30315ae5497e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 319, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Distribution of Flower Preference by Age')" ] }, "execution_count": 319, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "" ] }, "execution_count": 319, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Distribution of Color Preference by Age')" ] }, "execution_count": 319, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABJkAAAFSCAYAAABR3Q77AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAB5r0lEQVR4nO3deVhUZfsH8O8szIDKIgiCqLml4Yo6goVKgrssVpZm7ltWqLlbIrgr4L6llrm8+mplibnkkhqWlbmmuKSZOyiyKggzzMz5/cHPeSVmcJBhFvh+rsvrYp7nLPc5HOHmPs95jkgQBAFERERERERERESlILZ0AEREREREREREZPtYZCIiIiIiIiIiolJjkYmIiIiIiIiIiEqNRSYiIiIiIiIiIio1FpmIiIiIiIiIiKjUWGQiIiIiIiIiIqJSY5GJ6F+ioqKwatUqk2wrKSkJLVu2hEajAQAMGDAA33zzjUm2DQDDhw/Hzp07TbY9Yy1ZsgT+/v4ICAgo0XorVqzAxIkTyygqy0tNTcV7772Hli1bYsGCBZYO54VMnToVS5YssXQYREREzMmM8KI5mTGsOSc4dOgQAgMD0bJlS1y6dMnS4byQRo0a4datW5YOg8jkpJYOgMicgoKCkJqaColEAolEggYNGiA8PBx9+vSBWFxQc501a5bR25ozZw5ee+01g8vUqFEDZ8+eNUnsK1aswK1bt7Bw4UJd2xdffGGSbZdEUlISNmzYgKNHj8LNza1I/4kTJzBo0CA4ODjo2vz9/bFmzRpzhmm0AQMG4Ny5c5BKpZDJZGjTpg2ioqLg4eFR4m199dVXqFq1Ks6cOQORSFQG0doeQRDQqVMnyOVy7Nu3z9LhEBGRlWBOVnrPy8kAIDs7G8uWLcOhQ4eQlZUFNzc3dOzYER988AFcXV3NFuvdu3cRHByMSpUqAQCqVq2Kvn37YuTIkS+0vZiYGEyfPh2dOnUyZZg27cSJExg4cCAmTJjwwueVyBQ4kokqnDVr1uDs2bM4evQoRowYgc8//xzTpk0z+X7UarXJt2kNkpKS4OLiYjCZAQAPDw+cPXtW989aCkxP717+W1RUFM6ePYsDBw7g0aNHmD9/fpFljPl+JiUloX79+i9UYCqv18vJkyeRnp6OO3fu4Pz585YOh4iIrAhzstJ5Xk6mUqkwaNAg/P333/jiiy9w+vRpfPXVV3BxccGFCxfKLK7izvfJkydx9uxZLFq0CKtWrcKxY8dKtP5TSUlJePnll00eny2Lj4+Hi4sLdu3aZelQqIJjkYkqLEdHRwQHB2Pp0qXYuXMnrl69CqDw0OD09HS8//77UCgU8PPzQ79+/aDVajFp0iQkJSVh1KhRaNmyJT7//HPcvXsXjRo1wjfffIPXX38dgwYN0rU9+8vs9u3b6N27N1q1aoUPPvgAmZmZAAruPnTo0KFQjEFBQfj1119x7NgxrF27Fj/88ANatmyJsLAwAIWHemu1WqxevRodO3bEq6++ismTJ+Px48cAoItj586deP311+Hv74/PPvvM4Ll5/PgxJk+ejLZt26Jjx45YvXo1tFotfv31VwwdOhQpKSlo2bIlpk6dWqrvweHDh9GzZ08oFAoMGDAA169fBwB8++23GDVqlG65Ll26YMyYMbrPgYGBuHz5MgDg+vXrGDJkCPz8/NC1a9dCo2WmTp2K6OhojBgxAr6+vjhx4kSx8bi4uKBr1664du0agILzv27dOoSGhsLX1xdqtRrnzp1D3759oVAoEBYWptvm1KlTER8fj/Xr16Nly5b49ddfodVqsW7dOnTq1An+/v4YO3as7vut73oBgB07dqB79+5o06YNhg0bhnv37unia9SoEbZt24YuXbpAoVBg5syZEARB1//111+je/fuaNmyJXr06IGLFy8CAB48eIDRo0ejbdu2CAoKwubNm4s9DxkZGRgyZAhatmyJ/v3762KYOXNmkccAR40ahY0bNxrc1s6dOxEUFITAwEDEx8cX6rtz547u8cLBgwdj5syZhR6nNHSuiYiofGFOVjY52a5du5CcnIyVK1eiQYMGEIvFcHNzw0cffYTAwEAABXnUgAEDoFAo0LNnTxw+fNhgLF9//TU6d+4MPz8/jBo1Cg8ePND1NWrUCFu3bkWXLl3QpUsXg9t4qmXLlmjQoAGuXbumO9/r1q1DQEAAPvnkE4M5lEql0j32GB4erhvJVFyus2LFCowZMwYTJ05Eq1atsHPnTjx+/Biffvop2rVrh/bt22PJkiW6m5Hfffcd3n33XcTExKBNmzYICgpCQkKCbnuZmZn45JNP0K5dO7Rp0wYffvihru/o0aMIDw+HQqFA3759ceXKlWLPQ0JCAoKDg+Hv74+YmBhotVqoVCr4+fnhr7/+0i2XlpaGFi1aID09Xe92njx5gv379yMqKgq3bt0qUkSMj49Hx44d4e/vj1WrVumuZwDF5qtEL0QgqkA6duwoHD9+vEh7YGCgsHXrVkEQBGHKlCnC4sWLBUEQhIULFwrTp08XVCqVoFKphJMnTwparVbvtu7cuSM0bNhQmDRpkpCTkyPk5ubq2vLz8wVBEIT+/fsL7dq1E/766y8hJydHiIiIECZMmCAIgiD8/vvvQvv27Q3Gu3z5ct2yT/Xv31/4+uuvBUEQhG+++Ubo1KmTcPv2bSE7O1v46KOPhIkTJxaKbdq0aUJubq5w+fJloUmTJsLff/+t9zxNmjRJGDVqlPD48WPhzp07QpcuXXT70Rfns4rrf/YY/vnnH6FFixbCL7/8IqhUKmHdunVCp06dBKVSKdy+fVto3bq1oNFohPv37wuvv/66bpu3b98WFAqFoNFohJycHKFDhw7Cjh07hPz8fOHixYuCn5+fcO3aNd33slWrVsKpU6cEjUYj5OXlFYnp2XOYlpYmDBgwQHfeOnbsKISFhQlJSUlCbm6ucP/+fcHPz0/46aefBI1GI/zyyy+Cn5+fkJaWptvf02tHEARh48aNwttvvy0kJycLSqVSmD59ujBu3LhC35Nnr5dDhw4JnTp1Ev7++28hPz9fWLVqldCnTx/d9ho2bCiMHDlSyMrKEu7duyf4+/sLCQkJgiAIwr59+4R27doJf/75p6DVaoWbN28Kd+/eFTQajfDGG28IK1as0J3boKAg4dixY3q/R1OmTBF8fX2FP/74Q1AqlcLs2bOFvn37CoIgCH/++acQEBAgaDQa3flq3ry58PDhQ73bevLkidCyZUvhp59+Evbv3y/4+fkJSqVS1//OO+8ICxYsEJRKpXDy5EmhZcuWuuvjeeeaiIhsG3Oyss/JPv74Y2Hy5MkG+1UqldCpUyfhs88+E5RKpfDrr78Kvr6+wvXr14uc/19//VXw8/MTEhMTBaVSKcyaNUvo16+fblsNGzYUBg8eLGRkZAi5ublF9vXs+ddqtcKpU6eE5s2bC7/++qvw+++/Cz4+PkJsbKygVCqF3NzcYnOop/u7efOmIAjCc3Od5cuXC40bNxYOHTokaDQaITc3V/jwww+F6dOnCzk5OUJqaqrw1ltvCdu2bRMEQRC+/fZboXHjxsJXX30lqNVqYevWrUJAQIDuehsxYoQwduxYITMzU1CpVMKJEycEQRCEixcvCm3bthXOnTsnqNVq4bvvvhM6duxYKPd5VsOGDYX+/fsLGRkZwr179wp9b6Ojo4XY2Fjdshs3bhTef/99g9/LnTt3CgEBAYJarRbef/99YdasWbq+a9euCb6+vsLJkycFpVIpLFiwQGjcuLHuen7euSYqKY5kIkLB411ZWVlF2qVSKR4+fIikpCTY2dlBoVA891Go0aNHo1KlSrC3t9fbHx4ejoYNG6JSpUoYO3Ys9u/fb/AxrpLYvXs3Bg8ejFq1aqFy5coYP3489u3bV+iOXUREBOzt7fHKK6/glVde0Xt3RaPRYN++fZgwYQKqVKmCmjVrYsiQIfj++++NjiUlJQUKhUL3T99cPPv27UNgYCACAgJgZ2eHYcOGIS8vD2fPntUdw+XLl3Hq1Cm0a9cOHh4euH79Ov744w+0bt0aYrEYP/30E7y9vfHWW29BKpWicePG6Nq1K/bv36/bT3BwsG55uVyuN945c+ZAoVAgPDwc7u7u+OSTT3R9AwYMgJeXF+zt7bFr1y506NABgYGBEIvFCAgIQNOmTQvd3XrW9u3bMW7cOHh6ekImkyEiIgIHDhwo9D159nrZvn07Ro4cifr160MqlWLUqFG4fPlyodFMI0aMgJOTE2rUqAF/f3/d93DHjh0YPnw4mjdvDpFIhJdeegne3t64cOEC0tPTERERAZlMhlq1auGdd94pdn6k119/HW3atIFMJsO4ceNw7tw5JCcno3nz5nB0dMRvv/2m+x76+fmhWrVqerdz8OBByGQyBAQE4PXXX4dardadq6SkJFy4cAFjxoyBTCaDQqFAUFCQbt2SnmsiIiofmJP9T2lzsszMTLi7uxvs//PPP/HkyROMHDkSMpkMr776Kjp27Ii9e/fqPaa33noLTZo0gUwmw/jx43Hu3DncvXtXt8zIkSPh4uJi8HwDQNu2beHn54fIyEhMmDABr776KgBALBbrcoKnOdHzcqinjMl1fH190alTJ4jFYmRnZyMhIQGffvopKlWqBDc3NwwePLjQcdeoUQPvvPMOJBIJ3njjDTx8+BCpqalISUnBsWPHMHPmTDg7O8POzg5+fn4ACubm7NOnD1q0aKFbz87ODufOnTN4PkaMGAEXFxfUqFEDAwcOxJ49ewAAb7zxBvbu3asbsb5r1y7dqDl94uPj0b17d0gkEoSEhGDv3r3Iz88HAOzfvx8dO3aEQqGATCbDmDFjCv3fKcm5JjIGJ/4mQsEQW2dn5yLtw4YNw8qVKzF06FAAQJ8+fZ47kZ6np2ex/V5eXrqva9Sogfz8fGRkZLxA1IWlpKTA29tb99nb2xtqtRppaWm6tmeLAQ4ODnjy5EmR7WRkZCA/Px81atQoFOezQ6Kfx8PDQ+8z9v+O99l9iMVieHl56fbTpk0b/PHHH7h16xbatGkDR0dHnDx5EufOndP9Mr937x7Onz8PhUKh245Goyn0S/jZ821IZGQk3n77bb19z66flJSE/fv34+jRo7o2tVoNf39/vesmJSXho48+0k1g+vQ4n/2ePHu9JCUlYd68eYiJidG1CYKABw8e6L63zyaLDg4OyMnJAQAkJyejdu3aRWK4d++eruj3lEajKfT5356NqXLlynB2dkZKSgq8vLzwxhtv4Pvvv0dAQAC+//57DBw40OB2niY8UqkUUqkUXbp0wc6dO9G5c2ekpKTA2dm50ATxXl5eSE5O1p2LkpxrIiIqH5iT/U9pczIXFxc8fPiw2Dg9PT0L5SmGtp+SkoImTZroPleuXBkuLi548OABatasCcC4nOv333+HVFr0T9CqVasWuhlYXA5VvXr1Qusak+v8O99Sq9Vo166drk2r1RaK/9/fH6DgkbSsrCw4OzvrvUaTkpIQHx+PLVu26Nry8/ORkpJi4GwUPmfe3t66ZVu0aAF7e3ucOHEC7u7uuH37NoKDg/VuIzk5GSdOnMD48eMBFNxgnT59OhISEtCpUyfd9/nZ43FxcSkUt7HnmsgYLDJRhXf+/Hk8ePAArVu3LtJXpUoVTJ06FVOnTsXVq1cxaNAgNGvWTHfXRZ/n3VV7+kf006/t7OxQtWpVODg4IC8vT9en0WgKPXf9vO16eHgUGvGSlJQEqVQKNzc33L9/v9h1n1W1alXY2dkhKSkJDRo00MVp6l8yHh4eujkXgIJiyrP78fPzw5EjR3Dv3j2MGjUKTk5O2L17N86ePYv33nsPQMEv5jZt2mDDhg0mje1Zz553Ly8vhIeHY86cOUat6+npiXnz5um9tp7e+fv39keNGlXsnSpDvLy8cPv2bb3tNWvWxMGDB43e1rPXS05ODrKysnRv2wsLC0NISAiuXLmC69evG3yry/379/H777/j/Pnzun3n5uZCpVIhPT0d7u7uyMrKQm5uri55e/b/RknPNRER2T7mZIWVNid77bXXsHTpUjx58kT3Vrd/x3n//n1otVpdgSE5ORl16tR57jE9efIEmZmZhWIpzZt1/71ucTnUvxmT6zy7/acjdgwVvIrj6emJrKwsPHr0CE5OTkXiGDVqFD744AOjt5ecnKybwDwpKanQ242f3thzd3dH165dDY7I37VrF7RabaH9qlQq7Ny5E506dYKHhwdu3Lih68vLyys051JJzjWRMfi4HFVY2dnZOHr0KMaPH4+wsDA0atSoyDJHjx7FrVu3IAgCHB0dIZFIdL+kqlWrhjt37pR4v99//z3+/vtv5ObmYtmyZejatSskEgnq1q0LpVKJn376Cfn5+fjss8+gUql067m5ueHevXvQarV6txsSEoJNmzbhzp07yMnJwZIlS3SjSEpCIpGgW7duWLJkCbKzs3Hv3j1s2LDhhQofxenevTsSEhLw22+/IT8/H19++SVkMhlatmwJoGAk04kTJ5CXlwdPT08oFAr8/PPPyMzMROPGjQEUPNZ18+ZNxMfHIz8/H/n5+Th//rxuAnFTCwsLw9GjR/Hzzz9Do9FAqVTixIkTBhPGd999F0uXLtUlZenp6fjxxx8Nbr9v375Yt26dbuLxx48f44cffjAqtt69e+PLL79EYmIiBEHArVu3cO/ePTRv3hyVK1fGunXrkJeXB41Gg6tXrxb7preEhAScOnUKKpUKy5YtQ4sWLXR32jw9PdGsWTNMmjQJXbp0MTgkfteuXahTpw7279+P+Ph4xMfH48CBA6hevTr27t0Lb29vNG3aFCtWrIBKpdK9Xeipkp5rIiKyXczJ9CttThYeHg5PT0+MHj0a169fh1arRUZGBtasWYOEhAQ0b94c9vb2+OKLL5Cfn48TJ07gyJEj6NGjh95j+u6773D58mWoVCosXrwYzZs3141iMrWS5FAlzXU8PDwQEBCABQsWIDs7G1qtFrdv38Yff/zx3Lg8PDzQoUMHzJw5E1lZWcjPz8fJkycBAG+//Ta2b9+OP//8E4Ig4MmTJ/jpp5+QnZ1tcHvr169HVlYWkpOTsXnz5kLnPiwsDD/++CO+//579OrVy+A2du7ciYiICF2+FR8fj+XLlyMhIQEZGRno2rUrjhw5gjNnzkClUmHFihWFXhxT0nyV6HlYZKIK5+nbRwIDA7FmzRoMGTJE7yvrAeDWrVu6t2z16dMH7777Ltq2bQug4Lnzzz77DAqFAuvXrzd6/+Hh4Zg6dSoCAgKgUql0r+p1dHREdHQ0IiMj0aFDBzg4OBQa2tqtWzcAgL+/P954440i233rrbcQFhaG/v37Izg4GDKZDNOnTzc6rmdNnz4dDg4O6NSpE/r164eQkBC89dZbL7QtQ+rVq4e4uDjMnj0bbdu2xdGjR7FmzRrIZDIAQN26dVG5cmXdUOencxG0atUKEolE17Z+/Xrs27cP7du3R7t27bBw4cJCiaApeXl5YfXq1Vi7di1effVVBAYGYv369QaTzIEDByIoKAhDhw5Fy5Yt8c477xRb3OncuTOGDx+O8ePHo1WrVggJCXnuY4dPde/eHaNGjcKECRPQqlUrfPTRR8jKyoJEIsGaNWtw5coVBAcHo23btoiMjCw24QkJCcGqVavg7++PixcvIi4urlB/r169cPXqVYSHhxvcxs6dO9GvXz+4u7sX+te3b1/s3LkTALBw4UKcO3cO/v7+WLp0KXr06KH7/pf0XBMRke1hTvZ8pcnJZDIZNm7ciHr16mHo0KFo3bo13n77bWRkZKB58+aQyWRYs2YNjh07hrZt22LmzJmIjY1F/fr1i2zrtddew9ixYzF69Gi0a9cOd+7c0b35ryyUJId6kVwnNjYW+fn56NGjB9q0aYMxY8YU+2jhv9eVSqXo3r07XnvtNWzatAkA0KxZM8yePRuzZs1CmzZt0KVLF3z33XfFbis4OBhvvvkmevXqhddffx29e/fW9Xl5eaFx48YQiUQGpzk4d+4ckpKS8N577xXKt4KDg/HSSy9h7969ePnllzF9+nSMHz8e7du3R6VKleDq6qrLuUqarxI9j0h4toxJRET0HCdPnsSkSZNw9OjRUg2N/7ePP/4Y9erVw5gxY0y2TSIiIiJb9cknn8DDwwPjxo0z2TZzcnLQpk0bHDhwALVq1TLZdome4kgmIiIyWn5+PjZv3ozevXuXusB0/vx53L59G1qtFseOHcPhw4cNzvFEREREVJHcvXsXhw4dKjS66UUdOXIEubm5ePLkCWJiYtCwYcMye9SRiBN/ExGRUa5fv4633noLr7zyisHHGUoiNTUVo0ePRmZmJjw9PTFjxgzdfFtEREREFdXSpUuxadMmjBw50iSjjQ4fPozJkydDEAQ0bdoUixcvNulodKJnmeVxuYyMDEyePBm3b9+GTCbDSy+9hFmzZsHV1RWNGjVCw4YNdW80iI2N1U32d+TIEcTGxkKj0aBJkyaYP39+odddExERERERERGRdTBLkSkzMxN//fUX/P39AQAxMTHIysrCvHnz0KhRI5w5cwaVK1cutE5OTg66dOmCrVu3ok6dOpg2bRq8vLwQERFR1uESEREREREREVEJmWVOJhcXF12BCQB8fX2RlJRU7DrHjh1D06ZNUadOHQAFr/Y29lXeRERERERERERkXmafk0mr1WLbtm0ICgrStQ0YMAAajQYdOnTA6NGjIZPJkJycjBo1auiWqVGjBpKTk80dLhERERERERERGcHsRabZs2ejUqVK6N+/PwDgp59+gpeXF7KzszFp0iSsWrXKpK9oJCIiIiLzysjIgVZb5jMyEBERkQWIxSJUrVpZb59Zi0wxMTG4desW1qxZo5vo28vLCwBQpUoVvP3229iwYYOu/cSJE7p1k5KSdMuWRFpaNpMcIiKickgsFsHNrYqlwyA9tFqB+RcREVEFZJY5mQBg8eLFSExMxKpVqyCTyQAAWVlZyMvLAwCo1WocOHAAPj4+AID27dvjwoULuHnzJgBg+/bt6N69u7nCJSIiIiIiIiKiEjDL2+WuXbuGkJAQ1KlTB/b29gCAmjVrYvjw4YiKioJIJIJarUbLli3x6aef6t409+OPPyIuLg5arRY+Pj5YsGABKlWqVKJ9cyQTERFR+cSRTNaL+RcREVH5VVwOZpYikyUxySEiopLQaNTIyHgItVpl6VDo/0mlMlSt6g6JpPBT/iwyWS/mX0REZGrM0czvRXIws0/8TUREZM0yMh7C3r4SKlf2hEgksnQ4FZ4gCMjJeYSMjIeoVq3kczMSERFR+cAczbxeNAcz25xMREREtkCtVqFyZScmL1ZCJBKhcmUn3rUkIiKq4JijmdeL5mAsMhEREf0Lkxfrwu8HERERAcwJzO1FzjeLTERERETlVExMDIKCgtCoUSNcvXpV165UKhEdHY0uXbogNDQU06dP1/XduHEDffr0QdeuXdGnTx/dm36JiIiInodzMhERERGVU8HBwRg4cCDee++9Qu1xcXGQy+U4cOAARCIRUlNTdX3R0dHo168fwsPDsWvXLkRFRWHz5s3mDp2IiIhsEEcyERERWbmDB3/AuHEfmW1/yclJaNdOAbVabbZ9UtlQKBTw8io8WWdOTg7i4+MxduxY3TD4atWqAQDS0tJw6dIlhISEAABCQkJw6dIlpKenmzdwIiIiG2DuHM0YZ86cwhtv9LDY/jmSqRxwdbaDRGavt0+jykN6Vr6ZIyIiKn969w5Feno6JJL/3Z/Ztu07VKvmXub77tKlO7p06a773K6dAtu370TNmrVKtV1Dx0Tl2507d+Di4oKVK1fixIkTqFy5MsaOHQuFQoHk5GRUr14dEokEACCRSODh4YHk5GS4uroavQ9DrzUuLwS1EiKp3Oh2IiIqvZQUMaTSouNkevXqiYyMdIjF/+v7+ut4uLuXfY7Wo0dP9OjRU/e5bdtW+OabeNSqVbvU2z5w4Ads27YFt27dRKVKlfHyyw0xePAw+Pq2LHa9p3mdvnP1IsRiMdzdHY1enkWmckAis8ftWc309tWOugCARSYiIlOIiVmMNm38zbpPtVoNqbTsfl3rO6bk5KQy258xyvqYKzqNRoM7d+6gcePGmDJlCv7880+MGjUKhw4dMtk+0tKyodUKJtuetXF3d9Sbe9WOuoCHDx9bICIiovJPq9VCrdbq7VuwoGg+Y2hZUzGUr2g0Qqn3vX37FmzZsgmTJn0CP79XYWdnh99//xUJCT+hadMWxa6r0Wj/P76Sx6DRaHQ3mp7SarVFfreJxSKDN5T4uBwREdELePToESZP/hghIZ3QrVtHTJ78MVJSHgAADh8+iGHDBhRa/quvtmLKlHEAgOzsbMyeHYWQkE54660QbNz4BbTagkRg377d+OCDoVi+fBF69AjGl1+u+/+2YQCAjz4aAQAYPPhddO7cHocPHwQAHD/+MwYP7odu3V7HqFFD8fff10x2rKmpDzFlyjh07x6EPn164fvvdwIomDw6KCgAmZmZAIBNm9YjMNAfOTnZAIDPP/8My5YtAgCoVCqsXLkUb77ZE6GhXRAXNw9KZR6A/w3r3rJlI8LCumL+/Jkmi52K8vLyglQq1T0S16JFC1StWhU3btyAl5cXHjx4AI1GA6Ag2UxJSSnyyB0REZG1svUcLTs7G+vXr8X48VMQGBgEBwcHSKVStGvXAR99NBZAQV61bNkihId3Q3h4NyxbtggqlUrv9m7evIGIiJHo1u119O//Dn75JUHXN3fuDCxcOB8TJ45Bp07tcObMqRKda31YZCIiInoBgqBFjx6h2LFjD777bg9kMjmWLIkFAAQEdMDt27dw585t3fKHDh1A587dAABLlsQiJycbX3+9CytXrsP+/fuwb9/3umUvXbqIGjW88f33BzBo0NBC+1216nMAwMaN23Do0M8IDu6Cq1evYP78WZg06VPs3XsY4eFvYurU8QaTjZKKjv4U7u7VER//A+bMicG6datw+vRJyOVy+Pg0xrlzpwEA586dQfXqnjh//k/dZ1/fVgCANWtW4M6dW9i48b/46qudePjwITZs+EK3j/T0NDx69Ag7duzG5MnTTBI36efq6gp/f38cP34cQMHb5NLS0vDSSy/Bzc0NPj4+2LNnDwBgz5498PHxKdGjckRERJZk6zlaYuJ5qFQqdOjwusFlNm/+EhcvXsDGjf/Fxo3bcPnyRWzatL7Icmq1GlOmjIOfX1vs3n0I48ZNwsyZ03H79s1njn8/Bg4cioMHj6F5c1+D+zQWi0xERERG+vTTiejW7XV06/Y6FiyYjddfD4a9vT0qVaqMQYOG4uzZMwAAe3t7tG8fiB9/PAAAuHPnNm7duol27QKh0Whw+PBBvP9+BCpVqgwvrxro2/c97N+/T7cfN7dq6N27L6RSKeRy/XPuPev773ciPPxNNGnSFBKJBN27h8DOzg4XL14o0TF98smEIv0PHtzHhQt/4sMPR0Mul+PllxshJKQX9u/fCwDw9W2Fc+fOQK1W4/r1v9G7d1+cO3cGSqUSly9fgq9vSwiCgO+/34kxYybAyckZlSpVxsCBQ3R3+ABAJBJh2LD3IZPJjDpmMs6cOXPQoUMH3L9/H0OGDEHPngXzRsycORNr165FaGgoxo8fj9jYWDg5OQEAZsyYgS1btqBr167YsmULZs7kyDIiIrJu5SlHe/QoC87OLsVOHXDw4A8YMmQ4qlZ1RdWqVTFkyAgcOLCvyHIXL15Abm4u+vcfDDs7O7Ru3QavvdYOhw4d0C3Trl0gmjf3hVgshlxe+nkFOeEBERGRkebNW6h73j8vLw+xsXNx4sRvePy44Dn1J09ydM+yd+7cFStXLsWQISNw6NB+dOgQCHt7e6Snp0GtVsPT83+PH3l6eiE19aHuc/Xq1UsU1/37yfjhhz349tuvdG35+fmFtmnMMemTmpoKJycnVKpU+Zl4PXHlyiUABUWmlSuX4OrVK6hXrz7atPHHggWzcfHiBdSsWRPOzi7IyEhHXl4ehg3rr9uGIAi64ecA4OJS1SSJDRUWGRmJyMjIIu21atXCf/7zH73r1K9fH998801Zh0ZERGQy5SlHc3JyRlZWZrFzVKampqJ6dcNx/m+5h/DwqF5oUvR/L+vhUbJjeh4WmYiIiF7A9u1bcPv2LaxbtxFubtVw7dpfGDLkPQhCwWTHbdq0RWZmBq5d+ws//ngAo0ePBwDdnan795NRt249AAWjhQq/pU5Uolg8PKpj4MChGDRomEmO7VnVqlXDo0eP8ORJjq7Q9ODBA7i7ewAAmjVrgdu3b+HYsZ/g69sKdevWw4MH9/H778d1j8o5O7tALpfjP//5Wrfev4lEJTtmIiIiIn1sPUdr2rQ57Ozs8PPPP6Fjx056l6lWrRoePEhGvXr1DcT5dDl3pKQ8gFar1RWaHjy4X+jtd6bOwfi4HBER0Qt48iQHcrk9qlRxxKNHWfjyy88L9UulUnTs2AmrVi3Do0ePdHfXJBIJgoI6Y9261XjyJAf37yfjq6+2omvXHkbv29XVDUlJ93Sfw8LewK5d3+HixUQIgoDc3Fz8+usvePIkp9THWb26J5o2bY41a1ZCqVTi77+vYc+eXejSpTuAgmHnjRr54LvvvkHLlq0BFCRH8fHfwde34LNYLEZo6BtYvnwxMjLSAQAPH6bgxInfSh0fkTVRqpVwd3fU+6+Ks52lwyMiqhBsPUerUqUKhg0bhcWLY3Hs2E/Iy8uDWq3Gb78dx+rVywAAnTp1xaZNXyIjIwOZmZnYsOFzXW72rMaNm0Iut8fWrZuhVqtx5swpHD/+Mzp16mr0MZUURzIRERG9gHfe6YcZM6YhJKQT3Nzc0bfve/j5558KLdO5czd89NEIvPHG24WGO3/88SQsXRqHd94Jh0wmR2hoL/TsGWb0vocOHYG5c6OhVCoxadI0BAd3xuTJ07BkSSzu3r0NuVyOZs184evb0iTHOmPGXCxcOB+9enWHo6Mjhg0bWegRO1/fVrh69S/4+DQBALRs2Qo//XS40P4/+GA0Nm78AiNHDkFWVibc3d3Rq1dv+Pu/apIYiayBXCpHwIoAvX3HRx9HNvLNHBERUcVTHnK0d9/tDzc3N2zatB6zZkWiUqXKaNToFQwcWDDZ+KBBw/DkSQ4GD+4LAOjYsZPe0VJ2dnaIiVmMxYtjsGXLBri7eyAyciZeeqmO0cdUUiLh6ZixciotLRtabbk+RLi7O+L2rGZ6+2pHXcDDh4/NHBERke26f/8WPD1fsnQY9C/6vi9isQhublUsFBEVp7znX4Zyr9pRF4otMjEnIyJ6cczRLKOkORhHMhERERFRueXsKIPMvuik8qo8JbIeG36FNBEREZUci0xERETl1P379zFgwNt6+/7zn2/g6elp5oiIzE9mL8fc/r2LtE/bsgNgkYmIiCygPOdoLDIRERGVU56enjh06GdLh0FEREREzyjPORrfLkdERERERERERKXGIhMREREREREREZUai0xERERERERERFRqnJOJiIioDFRxsoeD3M7k281V5iP7UZ7Jt0tERERUHjEnMy8WmYiIiMqAg9wOrSdtNvl2T8cNRDaen9D07h0KmUwGOzsZ8vJyUbduPbz33iA0a9ai2PUWLJiN7t1D0KJFS1OFTETFcHZygExeNCVXKdXIepRrgYiIiMoXS+Zk8+bNhItLVXz44Rhd29ixH+L114PwxhtF33zau3coYmOXoF69BoiIGIl33x2AgID2Jo+9LLHIREREVE7NmRODevUaAAASEo5g0qSxWLRoJZo0aWpwnalTp5srPCICIJNLsXLC7iLtEYtCLRANERGZ0pgxEzBkSD8EBgahSZOmiI//FiIR0KvXW5YOrcxwTiYiIqIKIDAwCOHhb2Hbtv/g1Kk/8P77QzBkSD8MHNgHP/54QLdcRMRIHD9e8ErdXbu+w3vv9cbgwf0waFBf3Lp1E0eO/IhJk8bqllepVAgP74r79++b/ZiIiIiIrFmVKlUwefKnmD9/Jm7fvoXNm7/E1KnTMX36FIwYMRADB/bB5s1fPnc76elp+OSTiRg0qC8GDuyDH37YAwA4ceI3XV6WkZGO9u3b4MiRHwEAW7duwtq1q8ru4AzgSCYiIqIKonHjpjh+/BgaNnwFq1d/AYlEgvT0NAwbNgB+fq/Cycmp0PKrVy/D1q3folq1alCpVNBqtfD2rolVq5YiKekeatTwxpEjh9C4cTN4enpa6KiIiIiIrFebNm3h69sKI0YMxOjR47FgwWwMHjwcvr6tkJ+fj7FjP4CPT2O0adPW4DaWLl2IevXqY/78hUhNTcWwYf3RqNEraNGiJWbOjIRarcapU3+gSZNmOH36DwQFdcLp0yfRr99AMx5pAY5kIiIiqjAEAEBmZgYiI6dgwIB3MH78aDx6lIXbt28VWbpVqzaYOzcaO3Zsx8OHKbC3t4dUKkV4+JuIj/8WAPDdd9/gzTffNutREBEREdmSd98dALFYguDgLjh79jSWLl2IwYP7YcSIQUhNfYibN28Wu/6pU38gPPxNAEC1atXw6qsBOHPmFOzt7VGvXn1cvJiIU6f+wODBw3Hhwp9QqVS4fPnSc+fiLAscyURERFRBXL58CXXr1seiRQsQENAB8+bFQSQSoW/fN6FSKYssP29eHC5fvojTp09hzJhRmDjxE7z6agDCwt7E0KHvoV27DsjOfgyFws8CR0NERERkG8RiMcRiEQRBC5FIhC++2Ayp1DTlmFatFDh9+g9cvJiIiRM/QdWqbjh8+CBefrkh5HK5SfZREhzJREREVAH8/PNPiI/fgb59++Px48fw8vKCSCTCyZO/4969O0WWV6vVSEq6h8aNm2LAgMHw82uLa9f+AgC4uLhAofDDjBnT8MYbb0MkEpn3YIjMpIqTPdzdHYv8IyIiehGVKlVGixYtsWXLRl3bgwf3kZaWWux6CoUfdu+OBwCkpaXit9+Oo1WrNgCA1q39sG/fbnh4VIednR0UijZYv34tWrduU1aHUSyOZCIiIioDucp8nI4z/XPwucp8o5eNjJwCOzsZ8vJyUadOXcTFLUOTJk3xwQcRWLQoBuvXr4OPT2PUr/9ykXW1Wi3mzp2B7OzHEInEqF69OkaNitD1h4SE4+jRH9G9e4hJjovIGhl67XVZ/N8mIqKyYQ052bOiomZj+fLFGDiwD4CCwtMnn0TBza2awXU+/ngi4uLmYdCgvhAEAaNGRaBevfoAgCZNmiIrKxMKxdOiUxusXbuKRSYiIqLyJPtRHrKRZ7H979hR9JXoT7Vp0xbbt+/U27dy5Trd16tXf2FwG2fOnEK3biGoUqXKiwdJRFavahU7SB3si7Src/OQkf1if2AREZmTpXMyAPDyqoG9ew8DANzcqmHmzHl6l3s2f3s2J3N1dcP8+Yv0riOVSnHo0M+6z40bN8Uvv5wyRdgvhEUmIiIiKpH+/d+BRCLB4sUrLB0KEZUxqYM9EjoEFmkPPJYA6CkyOTvKILMvOgeIKk+JrMeqMomRiIisB4tMREREVCJbtnxt6RCIyErJ7OWY2793kfZpW3YALDIREZV7nPibiIiIiIiIiIhKjUUmIiIionIqJiYGQUFBaNSoEa5evVqkf+XKlUX6zp07h7CwMHTt2hVDhw5FWlqaOUMmIiIiG8YiExEREVE5FRwcjK1bt8Lb27tI38WLF3Hu3LlCfVqtFpMmTUJUVBQOHDgAhUKBhQsXmjNkIiIismEsMhERERGVUwqFAl5eXkXaVSoVZs2ahRkzZhRqT0xMhFwuh0KhAAD07dsX+/fvN0eoREREVA5w4m8iIqIy4OpsB4ms6Gu/S0ujykN61vNfG967dyhkMhns7GRQq/PRt29/hIb2Mnk8ZJuWLVuGsLAw1KxZs1B7cnIyatSoofvs6uoKrVaLzMxMuLi4mDlKIiKi0rN0TgYAarUamzatx48/HoBEIoVEIkGtWrUwbNgo1K1bz+SxWRKLTERERGVAIrPH7VnNTL7d2lEXABiX0MyZE4N69Rrgn3/+xtCh/fHqqwGoVs3d5DGRbTl79iwSExMxceLEMtuHm1uVMtu2Kbm7O1r1/swdX0mVt+MhIuuWkiKGVFryh7HKMieTSjVGLTt79kzk5eXhyy//A0dHRwiCgF9//QX37t3Gyy830C2n1WohEokgEolMHu+LEovFJfr5zSITERFROVevXgM4Ojrh4cMUPHyYgqVLFyIvLxf29g74+OOJ8PFpgoyMdMyYEYmMjIJJnhUKP4wZMwEAsGXLRiQkHIFGo0G1ah6YMmUa3NyqWfKQqBROnjyJ69evIzg4GABw//59DBs2DPPnz4eXlxeSkpJ0y6anp0MsFpd4FFNaWja0WsGUYT+Xs5MDZPKSpbYPHz4utt/URRF9+ytuH8+LzxxKGp+1Hw8R2S6tVgu1WmvpMAoxJp47d24jIeEovvtuHxwcKuvW8fcPAACsXfsZbtz4Bzk52Xjw4D7WrNmAixfPY/PmL6FUqmBnZ4fRo8ejadOCQtkPP+zBd999A41GgypVqmDixKmoXbsO9u3bjUOH9sPR0Qn//HMdjo5VMGdObKlzNq1WW+Tnt1gsMnhDiUUmIiKicu78+XNwdnZBgwYN0adPL3z6aTQUCj+cPHkC06ZNxldfxePgwR/g7e2NZctWAwAePXoEADhwYB/u3buHtWs3QiwWY+fOHVi5cimio+dY8pCoFEaOHImRI0fqPgcFBWHNmjVo2LAhtFot8vLycOrUKSgUCmzfvh3dunWzYLTGk8mlWDlhd5H2iEWhFoiGiIiowNWrf6FmzdpwcnIyuMylS4n48sutcHFxwb17d7Fx43osXrwClStXwT//XMfEiWPw3Xd78eefZ3HkyCGsWvU5ZDIZfvvtOObPn4XPPvsSAHD58iVs2rQN1at7IiZmDnbs+Arvv/+RuQ4VAItMRERE5VZk5BQIgoB79+5i9uwFuH37Fuzs7KBQ+AEA2rTxh52dHW7fvoUmTZrhq6/+i1WrlsHXtxX8/V8FAPzyyzFcuXIZQ4f2BwBoNGpUqWIbj0IRMGfOHBw8eBCpqakYMmQIXFxcsHfvXoPLi8VixMbGIjo6GkqlEt7e3oiLizNjxEREROXbjRv/YObMSOTl5aFt29fg6OiIV18N0I0aPnHiN9y7dxcfffS/G0IajQbp6Wk4fvwY/v77GkaOHAwAEAQBjx8/0i3XvHkLVK/uCQBo0qQpTp48YbbjeopFJiIionLq6ZxMR478iHnzZmLBgsUGl23atDk2bNiKkydP4MCBfdiyZSM++2w9BEHAoEFDERISbsbIyVQiIyMRGRlZ7DJHjhwp9LlVq1bYvbvoiCAiIiIquYYNG+Hu3dt4/PgxHB0dUbduPWzc+F98++1XuHLlMhwdHeHgUEm3vCAI8Pd/FdOnzyqyLUEAevYMw/Dho/TuSyaT6b4WiyXQaIybM8qUSj5rFhEREdmUoKBOaNOmLQ4fPoT8/HycOXMKAHD69Emo1WrUrv0SkpLuoXLlKujUqStGjx6Hv/66Aq1Wi3btOmDnzh26x+dUKhWuXbtqycMhIiIishm1atVGu3aBiImZg+zsbF17bm6u3uX9/NrixInf8M8/13Vtly9fBAAEBLTH/v17kZLyAEDBCKcrVy6XYfQlZ5aRTBkZGZg8eTJu374NmUyGl156CbNmzYKrqyvOnTuHqKioQkOy3dzcAKDYPiIiImumUeX9/5vgTL/dFzFqVASGDeuP2NilWL16uW7i7zlzYmBnZ4ezZ0/jq6+2QiyWQBC0mDTpE4jFYnTr1hNZWZkYPbpgyLZWq8Ubb7yNl19uaMrDIiITquJkDwe5XZH2XGU+sh+92M8QIiJbZQ052bRpM7Bx4xcYPnwgpFIpHB0dUa2aO/r3H4xffkkotGytWrURFTUbCxbMhlKphFqdj2bNWsDHpwl8fVth5MgPMXXqeGg0WqjV+ejYsRNeecXH1If3wsxSZBKJRBg+fDj8/f0BADExMVi4cCHmzJmDSZMmYf78+VAoFFi9ejUWLlyI+fPnQ6vVGuwjIiKydulZ+QDyLbb/HTsKP+5Us2YtHDhQkMSsXbuhyPI9e4ahZ88wvdvq0+c99OnznumDJKIy4SC3Q+tJm4u0n44biGywyEREFYulczIAsLOzw4gRH2DEiA+K9DVq9EqRNj+/tvDza6t3W126dEeXLt2LtPfoEYoePUINfjYXszwu5+LioiswAYCvry+SkpKQmJgIuVwOhUIBAOjbty/2798PAMX2ERERERGVZ2qVCu7ujkX+OTvKnr8yERGRhZh94m+tVott27YhKCgIycnJqFGjhq7P1dUVWq0WmZmZxfY9nXWdiIiIiKg8kspkmNu/d5H2aVt2AI9VFoiIiIjo+cxeZJo9ezYqVaqE/v3749ChQ2W+Pzc3vmbZ3d3R0iEQEdmMlBQxpFK+F8PaiMVi/j4jIiIisnJmLTLFxMTg1q1bWLNmDcRiMby8vJCUlKTrT09Ph1gshouLS7F9JZGWlg2tVjDVIVil5yXdDx8+NlMkRES2T6vVQq3WWjoM+hetVlvk95lYLOLNJCIiIiIrYrZbtYsXL0ZiYiJWrVoFmazgWfKmTZsiLy8Pp04VvEp5+/bt6Nat23P7yoqrs53eZ9/d3R3h6lz0DR1ERERERERERFTALCOZrl27hrVr16JOnTro27cvAKBmzZpYtWoVYmNjER0dDaVSCW9vb8TFxQEoGBZvqK+sSGT2uD2rmd6+glceWnZGeiIiIiKiFyWolQZHwGtUef//BiYiIqIXZ5Yi08svv4y//vpLb1+rVq2we/fuEvcRERFZsyrOdnCQ2Zt8u7mqPGTzD0EiegEiqdxkN1TV+RrOk0ZENoE5mXmZfeJvIiKiisBBZo+AFQEm3+7x0ceRbcQfgiqVCmvXrsLPP/8EqVQKuVyOIUNGokOH10u0v969QxEbuwT16jUo0jdx4hiMGzcZ3t41i/RFRIzEu+8OQEBA+xLtj4hsg9ROgpUTit4MjlgUaoFoiIgMs3RO1rt3KGQyGezsZNBqNRg0aBg6depqkhiSk5MwfPgA7N172CTbMwUWmYiIiMqhRYsWIDc3F//5z9eQy+X455+/MWHCGDg5OcHXt1WhZTUaDSQSSYn3sXDhclOFS0RERFRuzZkTg3r1GuDq1SsYNWoYFAp/o15qplarIZXaVtnGtqIlIiKi57p/PxlHjhzCt9/ugVwuBwDUq9cAAwcOxYYNn6Nr1x44cOAHVKpUCXfv3kZU1GwolUqsWrUMT548AQB89NFY+Pm1BQAcOfIjYmLmIi0tFe++2x9vvdUHQOFRTjdu/IN582YiNzcX9evXh0qlsszBExEREVmphg1fQaVKldC7dwhmzpyvG/H97AjwiIiRePnlRrh48QKcnJwwYcJUDB8+AN26heDUqRMQBAETJkxFixYti2z/4sVErFmzAjk5OQCA4cNH4bXX2pn1GFlkIiIiKmeuX/8b3t614OTkXKi9SZOm+OKLz9C1aw9cunQBGzdug7d3TTx6lIX+/d/B3LmxaNasBTQajS45AYC8vDysXbsByclJGDiwD7p3D0WlSpUKbXv27Ci8/XZfdO8egsTEC/jww2FmOVayDVWc7OEgL/qm3lxlPrIf5VkgIvo3ZTGTghMRkWmcOXMKKpUKNWvWLna5pKS7WL36C0ilUiQnJyErKwsNGryM0aPH4cyZU5gxYxq++iq+0DqPHz/GwoXzEBe3HNWqVUNqaipGjBiIzZu/gqOj+X6+s8hERERUzgiC8NxlmjXz1c2llJh4AXXq1EWzZi0AABKJBE5OTrplO3XqAgDw8qoBR0cnPHyYgpdeqqPrz8nJxo0b19G1aw8AQNOmzfTO4UQVl4PcDq0nbS7SfjpuILJRMYpMWqV1F3HkUrneOUuOjz5ugWiIiMqXyMgpkMnkqFy5MubOjcGmTV8Wu3znzt0KPSZnZ2eny7NatVJALpfj9u1bqFy5sm6ZxMQ/kZychIkTx+jaRCIR7t27g1deaWziIzKMRSYiIqJypn79Brh37w4ePcoqNJrp4sVE1K//MgCgUiUHo7cnk8l0X4vFYmg0atMFS1RBiOVyJHQILNIeeCzBAtEQEZE5PZ2T6aktWzZDELS6z/+eZsDBofCIcWMIAlC//stYterzFw/UBMQW3TsRERGZnJdXDXTs2AkLFy6AUqkEAPzzz9/YvPlLDBkyosjyTZs2w82bN5CYeB5AwUTgjx49Mnp/lStXQb16DXDo0H4AwKVLifjnn79NcCRERERE5U/NmjVx+fIlAMCNG//g77+vFrt8fn6+Ls/688+zUCqVhUaVA0DTps1x9+5tnDlzStd2+fJFo0a4mxJHMhEREZWBXFVemTxmkqsy7tGiCROmYO3aVejf/x3Y2Ukhk8kxduwEtGzZGsnJSYWWdXJyxty5sVixYgny8nIhEonx0Udj0aaNv9FxRUbOxLx5M7Fly0bUq9fArMOyiYiIiAyxdE6mT79+AzF9+lT8/PNPaNjwFbz8cqNil3d2dsa1a1fx3/9uhiAImDFjLuzsCs916OTkhAULFmPVqmVYtmwR1Op81KjhjZiYJRCJRC8ca0mxyERERFQGsrPykY18i+1fLrfHmDETMGbMhCJ9PXqEokeP0EJtzZq1wNq1G4osu2PHboOfn/26bt16+PzzTaUNm4iIiMikLJ2T/TuXAgBv75r48sstepdfuXKd3vaIiI+LtHl51cDevYd1n318mhhc31z4uBwREREREREREZUai0xERERERERERFbo36OVrB2LTEREREREREREVGosMhERERERERERUamxyERERERERERERKXGIhMRERFRORUTE4OgoCA0atQIV69eBQBkZGRgxIgR6Nq1K0JDQxEREYH09HTdOufOnUNYWBi6du2KoUOHIi0tzVLhExERkY2RWjoAIiKi8qhqFTtIHexNvl11bh4ysot/De+ECWPQvn0H9OrVW9cmCALeeacXPD09MXz4KLRo0bLYbfTuHYrY2CWoV69Bsct9/fV/0blzN1St6mr8QZDZBAcHY+DAgXjvvfd0bSKRCMOHD4e/vz+AgkLUwoULMW/ePGi1WkyaNAnz58+HQqHA6tWrsXDhQsyfP99Sh0BERFQqlszJgIKcSiaTwc5OBrU6H3379kdoaK8S7atdOwUOHjyGSpUqvWC05sMiExERURmQOtgjoUOgybcbeCwBeE5C07NnGLZv31KoyHT27GmIxSIsX74GIpHIZPF8/fU2KBR+LDJZKYVCUaTNxcVFV2ACAF9fX2zbtg0AkJiYCLlcrluvb9++CA4OZpGJiIhsliVzsqfmzIlBvXoN8M8/f2Po0P549dUAVKvmbvKYrAGLTEREROVM+/aBWLRoPm7evIE6deoCAPbu/R49eoRi9Oj38e67AxAQ0B7p6WmIi5uPpKS7EAQB7747AN27hxTZXmpqKpYujcWDB/ehVCrRqVNXDBw4FJs2rUdq6kNERk6BTCZHdPQc1K1bz9yHS6Wg1Wqxbds2BAUFAQCSk5NRo0YNXb+rqyu0Wi0yMzPh4uJi9Hbd3KoYvay7u6PRy5qaJfddGoybiCqilBQxpFLr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EVGpschERERERERERESlxiITERERERERERGVGotMRERERERERERUaiwyERERERERERFRqbHIRERlZsCAAWjTpg1UKlWZ7uf48eMYMGAAWrZsCX9/f4SHh2PdunVQKpVlul8iIiIia8P8i4gsiUUmIioTd+/exalTpyASiXD48OEy288PP/yAMWPGIDQ0FEePHsWJEyewZMkSPHjwAMnJyXrXUavVZRYPERERkaUw/yIiSxMJgiBYOggiKn9WrlyJX375BS1atMDNmzexdu1aXV9GRgY++eQT/PHHH6hbty7atWuHP/74A9u2bQMAXL9+HXPmzMHFixdRtWpVjB07Fj169CiyD0EQ8Prrr2PQoEEYOnSowVhWrFiBa9euQSaT4ciRI/jkk0/QoUMHREdH48yZM3B2dsaIESPwzjvvAACmTp2K6tWrY9y4cQCAEydOYNKkSTh27BgAICgoCH369MGuXbvw8OFDdOrUCTNmzIBcLjfZ+SMiIiIqKeZfRGRpHMlERGVi165dCA0NRWhoKH755Rekpqbq+mbNmgUHBwccP34cMTExiI+P1/U9efIEQ4cORUhICH799VcsWbIEM2fOxN9//11kH//88w/u37+PLl26PDeew4cPo1u3bjh16hRCQ0Mxfvx4eHp64ueff8by5cuxePFi/Pbbb0Yf3+7du7F+/XocOnQIN27cwOrVq41el4iIiKgsMP8iIktjkYmITO7UqVNISkpC9+7d0bRpU9SqVQt79uwBAGg0Ghw8eBCjR4+Gg4MDGjRogF69eunW/emnn+Dt7Y233noLUqkUjRs3RteuXbF///4i+8nIyAAAuLu769rGjRsHhUKBFi1aFEqefH190alTJ4jFYmRkZODMmTOYOHEi5HI5fHx88Pbbb2PXrl1GH+N7770HLy8vuLi44IMPPsDevXtLeJaIiIiITIf5FxFZAxaZiMjk4uPjERAQAFdXVwBASEgIdu7cCQBIT0+HWq2Gl5eXbvlnv7537x7Onz8PhUKh+7d79248fPiwyH6qVq0KAEhJSdG1LVmyBKdOnULjxo2h1Wp17Z6enrqvU1JS4OzsjCpVqujaatSogQcPHhh9jM/GXKNGjUIxEBEREZkb8y8isgZSSwdAROVLXl4efvjhB2i1WgQEBAAAVCoVHj16hCtXruDll1+GVCrF/fv3UbduXQAoNEGkl5cX2rRpgw0bNjx3X3Xr1kX16tVx6NChYucEAACRSKT72sPDA1lZWcjOztYlOsnJyahevToAwMHBAXl5ebrlnx1q/tSzMSclJcHDw+O58RIRERGVBeZfRGQtOJKJiEzqxx9/hEQiwd69exEfH4/4+Hjs27cPCoUC8fHxkEgk6Ny5M1auXInc3Fxcv3690DDp119/HTdv3kR8fDzy8/ORn5+P8+fP4/r160X2JRaLMXXqVKxcuRJff/01srKyIAgCbt68ibS0NIMxenl5oWXLlli8eDGUSiWuXLmCHTt2ICwsDADg4+ODhIQEZGZm4uHDh9i0aVORbfz3v//F/fv3kZmZiTVr1uidGJOIiIjIHJh/EZG1YJGJiExq586dePPNN1GjRg24u7vr/r333nvYvXs31Go1oqKi8PjxYwQEBGDy5Mno2bMnZDIZAKBKlSpYv3499u3bh/bt26Ndu3ZYuHAhVCqV3v316NEDS5cuxffff4/XX38dbdu2xccff4x33nkH3bp1Mxjn4sWLce/ePbRv3x4REREYPXo0XnvtNQBAeHg4XnnlFQQFBWHo0KF6E5iQkBAMHToUnTp1Qu3atfHBBx+Y4OwRERERlRzzLyKyFiJBEARLB0FEFVtcXBxSU1MRExNj6VCMEhQUhDlz5uiSIiIiIiJbw/yLiMoCRzIRkdldv34dV65cgSAIOH/+PHbs2IHOnTtbOiwiIiKicov5FxGZAyf+JiKzy8nJwYQJE5CSkgI3NzcMHToUwcHBlg6LiIiIqNxi/kVE5sDH5YiIiIiIiIiIqNT4uBwREREREREREZUai0xERERERERERFRqLDIREREREREREVGpschERERERERERESlxiITERERERERERGVGotMRERERERERERUav8HI9OEvauz8v4AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# check distribution of missing data\n", "df['Age Group'] = df.Age//10 * 10\n", "fig, axes = plt.subplots(1,2, figsize=(20,5))\n", "sns.countplot(x=\"Age Group\", hue=\"Favorite_Flower\", ax=axes[0], palette='tab10', data=df)\n", "axes[0].set_title('Distribution of Flower Preference by Age')\n", "\n", "sns.countplot(x=\"Age Group\", hue=\"Favorite_Color\", ax=axes[1], palette='tab10', data=df)\n", "axes[1].set_title('Distribution of Color Preference by Age')" ] }, { "cell_type": "code", "execution_count": 320, "id": "b57b6ceb-9491-4dd7-965c-5c944709ff32", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_132655/169471610.py:1: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " missing_flower_preference['Age Group'] = df.Age//10 * 10\n", "/tmp/ipykernel_132655/169471610.py:2: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " missing_color_preference['Age Group'] = df.Age//10 * 10\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 320, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Distribution of MISSING Flower Preference by Age ')" ] }, "execution_count": 320, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "" ] }, "execution_count": 320, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Distribution of MISSING Color Preference by Age')" ] }, "execution_count": 320, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABJkAAAFSCAYAAABR3Q77AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5WElEQVR4nO3de3yT5f3/8XeTUkA59AAtKbCBoLWKQKGKiCArSGG2FNchyAYbiAiKIipaBQtytMADRKFWJl821OlkfNvagqCsMAUcyAAZdnhAyoSWFnpQyqGFJL8/+JEvHU0avNukDa/n4+HjQe4rue9P0iReed/Xdd1+drvdLgAAAAAAAMAAk7cLAAAAAAAAQMNHyAQAAAAAAADDCJkAAAAAAABgGCETAAAAAAAADCNkAgAAAAAAgGGETAAAAAAAADCMkAkAAACAW5KTk7VixYpa2Vd+fr6ioqJktVolSaNHj9batWtrZd+SNH78eKWnp9fa/ty1dOlS9erVS3369PH4sRuq//3f/9WDDz7o7TKq9d133ykhIUFRUVFas2aNt8v5SWr7swW4QsgEAAAAQDExMeratauioqIUHR2tkSNH6t1335XNZnPcZ/bs2Xrsscfc2teOHTtc3ic8PFx79+6V2Ww2XPtrr72mZ555psq2N998U/fff7/hfV+N/Px8rV69Whs2bND27duvaN+5c6ciIiKueA0PHjyoiIgIjR492rEtIiJCR44ckST9+OOPev7559WnTx9FRUUpNjZWK1eudNx38+bNSkhIUI8ePdSrVy+NGTNG33//vaQrX5uIiAjFx8dX+bsuXbpUSUlJjtuVlZVavny5YmNj1b17d/Xt21fjx4/Xtm3bnD53u92uNWvWKC4uTt27d1e/fv30xBNP6KuvvnL35as1l7+X77rrLiUlJen06dM/aV9vvvmmevXqpb1792rMmDG1XGnDdPr0aUVFRWn8+PHeLgX1kL+3CwAAAABQP6Slpemuu+7SqVOntGvXLs2bN0/79+/XggULavU4Fy5ckL+/7/0Uyc/PV2BgoEJCQpzeJzg4WPv27VNpaamCgoIkSenp6erQoYPTxyxYsEBnzpzRhg0b1Lx5cx0+fFjffPONJOnIkSN67rnntHz5ct155506ffq0tm/f7jK8Kyoq0vr16xUfH19t+xNPPKGioiItXLhQkZGRkqR//OMf2rp1q+6+++5qHzNv3jxt3bpVc+bMUc+ePWW1WvXxxx/r73//uyIiIpzWYoTdbpfdbpfJdOXYiUvv5cLCQj300EN6/fXXrwgi3Xkf5ufn67777vtJ9fnq+/yjjz5SQECAduzYoRMnTqh169beLgn1CCOZAAAAAFTRvHlzDRgwQK+88orS09P19ddfS5KSkpK0dOlSSVJJSYkeeeQRRUdH64477tCoUaNks9k0bdo05efna+LEiYqKitIf/vAHHT16VBEREVq7dq369++v3/3ud45tFy5ccBz3P//5j37961+rR48emjRpksrKyiRdHAHUr1+/KjVeGi31ySef6I033tCHH36oqKgoDR06VFLVKUI2m02pqan6xS9+od69e+vZZ5/VqVOnJMlRR3p6uvr3769evXrp9ddfd/ranDp1Ss8++6zuvPNO/eIXv1BqaqpsNpt27NihcePGqaioSFFRUVVGBl2uUaNGGjBggDZs2CBJslqt2rBhg9PAR5L+9a9/KT4+Xi1btpTJZFKnTp00ePBgSdK///1vtWvXTr1795afn5+aNWum2NhYhYeHO93fQw89pNdee63Ka3/Jjh07tGPHDqWmpqpbt24KCAhQQECA+vXrpxkzZlS7v7y8PL3zzjtasmSJevfurYCAADVt2lRDhw7VhAkTXL5u1dmzZ48SExPVs2dPJSYmas+ePY620aNHa+nSpRo5cqS6devmGLHlTFhYmPr27esI5SIiIvTOO+9o0KBBGjRokCRpy5YtSkhIcIzgO3jwoCRpzJgx2rlzp2bPnq2oqCgdPnxYlZWVSklJUf/+/XXXXXcpOTlZ586dk/R/79OVK1eqT58+ev7552Wz2bRy5UoNHDhQvXr10pQpUxzv65ree1arVWlpaRo4cKCioqL0q1/9SgUFBZKkQ4cOaezYsbrjjjsUGxvreD854+yzNWHCBL311ltV7hsfH6+PP/7Y6b7S09M1cuRIRURE6IMPPqjS9uWXX2rYsGGKiorSE088oSeffNLxneHqtYbvIGQCAAAAUK2uXbuqTZs22r179xVtq1evVlhYmD777DNt375dTz31lPz8/LRo0SKFh4crLS1Ne/fu1cMPP+x4zOeff64NGzZo1apV1R4vIyND8+fP17Zt2+Tv76+5c+fWWGO/fv30yCOPaMiQIdq7d+8VP3qli2v+pKena82aNdq8ebPOnDmj2bNnV7nPP//5T23cuFF/+tOftGLFCh06dKja482ZM0enTp3S5s2b9dZbbykzM1Pr1q3TXXfdpT/84Q8KDQ3V3r179fLLLzutediwYcrIyJAkbdu2TTfddJPCwsKc3r9bt25aunSp1q1bp7y8vCptt956q7777jvNnz9f//jHP9yaFjZo0CA1a9as2jWrduzYoW7duqlNmzY17ueSzz77TG3atFHXrl2d3sfZ6/bfysrK9Mgjj2j06NHauXOnxo4dq0ceeUSlpaWO+2RmZmrOnDnas2ePyzBNkgoKCvTJJ584RmRJF6cXvv/++9qwYYNyc3P1wgsvaPbs2dq5c6dGjBihRx99VJWVlVqzZo2io6OVnJysvXv3qmPHjlq8eLEOHz6sjIwMffTRRyoqKqqyTtnJkyf1ww8/aMuWLZozZ47eeustbd68WW+//bY+/fRTtWzZ0u333urVq7V+/XqtXLlSe/bs0fz589WkSROdOXNG48aNU1xcnHbs2KGlS5fqpZde0rfffuv0dXD22Ro2bFiVz8zBgwdVVFSke+65p9r9HDt2TLt27VJ8fLzi4+Md72Pp4jTLyZMn6/7779euXbsUFxenzZs3O9pdvdbwHYRMAAAAAJwKDQ3VDz/8cMV2f39/nThxQvn5+WrUqJGio6Pl5+fncl+PP/64rrvuOjVp0qTa9oSEBN1000267rrrNGXKFG3cuNGxMLgRWVlZ+v3vf6/27dvr+uuv11NPPaUNGzZUGckzefJkNWnSRDfffLNuvvnmakdYXBp19PTTT6tZs2Zq166dxo4dW22w5UqPHj30ww8/6LvvvlNGRoYSEhJc3v/FF19UfHy83nnnHd13332699579fe//12S1L59e7311lsqLCzUk08+qTvvvLPGNYj8/Pw0ZcoUpaamXvEDv7S0VK1atXLcLisrU3R0tHr27Knbbrut2v2VlZW5nDJ1Na/b1q1b9fOf/1zDhg2Tv7+/4uLidMMNN2jLli2O+9x///268cYb5e/vr0aNGlV7zMcee0zR0dEaNWqUbr/9dk2cONHRNmHCBAUGBqpJkyb6y1/+ohEjRqhbt24ym826//771ahRI+3bt++Kfdrtdr3//vt64YUXFBgYqGbNmumRRx7R+vXrHfcxmUx64oknFBAQoCZNmui9997T1KlT1aZNGwUEBGjy5MnatGmTW++9tWvXasqUKbrhhhvk5+enm2++WUFBQdq6davatm2rxMRE+fv765ZbblFsbKw2btzo9G/g7LM1YMAA5eXlOcLLzMxMDRkyRAEBAdXuJzMzUxEREercubPuu+8+ffvtt8rNzZUkffHFF7pw4YLGjBmjRo0aadCgQVXeM1fzWqPh8r0JogAAAABqTWFhoVq2bHnF9oceekjLly/XuHHjJEkjRoxwTI1ypqbRMRaLxfHv8PBwnT9/vsoIlp+qqKhIbdu2ddxu27atLly4oOLiYse2y4OVpk2b6syZM1fsp7S0VOfPn68yeiY8PFyFhYVXXdPQoUP1zjvvaOfOnZo/f76ys7Od3rdJkyaaOHGiJk6cqPLycq1cuVJPPvmktmzZosDAQHXv3l3Lli2TJO3fv19Tp05VWlqann76aaf7vOeeexQWFqa//OUvVbYHBgY6Fhy/dHv37t06cuSIY3rZfwsMDNSJEyecHutqXreioqIrRif9930vf584s2LFCt11113Vtl3++Pz8fGVkZOjtt992bDt//ryKioqueFxJSYnOnj2rX/3qV45tdru9yrS/oKAgNW7cuMr+H3vssSrrRplMJrfee8ePH9fPfvazK+o4duyY9u/fr+joaMc2q9XqmCpa03O+/LPVqlUrDRkyRB988IEmT56s7Oxsvfrqq073k5mZqeHDh0u6OBXx9ttvV3p6um655RYVFRUpLCysStj8U19rNFyETAAAAACqtX//fhUWFqpnz55XtDVr1kxJSUlKSkrS119/rd/97ne67bbb1Lt3b6f7q2mk06X1Zi79u1GjRgoKClLTpk0d695IF39Ql5SUuL3f0NBQHTt2zHE7Pz9f/v7+CgkJ0fHjx10+9nJBQUFq1KiR8vPz1blzZ0edrqa6OZOQkKBBgwZp2LBhatq0qduPuzR65o033tDRo0cVGBhYpb1r164aNGiQYw0iV6ZOnaqnn366ysLWvXv31ttvv63jx4+7PWWud+/emj17tv71r39VO9rpal630NBQ5efnV9lWUFCgvn37Om7X9PeuyX+HIBMnTtSkSZNqfFxQUJCaNGmi9evXO/2b/3dtbdq00fz586v9DB09etTl8dq0aaP//Oc/uummm6pst1gsuv3227V69eoaa77E2WdLujgy7Nlnn1XPnj3VtGlTRUVFVbuPPXv2KC8v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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "missing_flower_preference['Age Group'] = df.Age//10 * 10\n", "missing_color_preference['Age Group'] = df.Age//10 * 10\n", "\n", "fig, axes = plt.subplots(1,2, figsize=(20,5))\n", "sns.countplot(x=\"Age Group\", ax=axes[0], palette='tab10', data=missing_flower_preference)\n", "axes[1].set_title(\"Distribution of MISSING Flower Preference by Age \")\n", "\n", "sns.countplot(x=\"Age Group\", ax=axes[1], palette='tab10', data=missing_color_preference)\n", "axes[1].set_title(\"Distribution of MISSING Color Preference by Age\")" ] }, { "cell_type": "markdown", "id": "dca94f6e-35e2-4c4b-9b36-4d94b9767dfa", "metadata": {}, "source": [ "### Biasing Trends" ] }, { "cell_type": "markdown", "id": "cc68f52e-5551-4f78-9cf2-eb016640d657", "metadata": {}, "source": [ "Understanding bias based on a synthetic dataset of US name/age data, adapted from CleanData.\n" ] }, { "cell_type": "code", "execution_count": 260, "id": "e8f8c6bd-9e38-4cb1-b2d9-2fe0739bfcc8", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AgeBirth_MonthNameGenderHomeAge Group
017JuneMatthewMHawaii10
15SeptemberEmmaFWest Virginia0
24JanuaryLiamMAlaska0
396MarchWilliamMArkansas90
47MarchWilliamMHawaii0
.....................
633788JulyDorothyFMassachusetts80
633829AugustJessicaFMassachusetts20
633951AprilMichaelMWyoming50
634029MayChristopherMNorth Carolina20
634162NovemberJamesMTexas60
\n", "

6342 rows × 6 columns

\n", "
" ], "text/plain": [ " Age Birth_Month Name Gender Home Age Group\n", "0 17 June Matthew M Hawaii 10\n", "1 5 September Emma F West Virginia 0\n", "2 4 January Liam M Alaska 0\n", "3 96 March William M Arkansas 90\n", "4 7 March William M Hawaii 0\n", "... ... ... ... ... ... ...\n", "6337 88 July Dorothy F Massachusetts 80\n", "6338 29 August Jessica F Massachusetts 20\n", "6339 51 April Michael M Wyoming 50\n", "6340 29 May Christopher M North Carolina 20\n", "6341 62 November James M Texas 60\n", "\n", "[6342 rows x 6 columns]" ] }, "execution_count": 260, "metadata": {}, "output_type": "execute_result" } ], "source": [ "names = pd.read_parquet('../data/usa_names_states.parq')\n", "names['Age Group'] = names.Age//10 * 10\n", "names" ] }, { "cell_type": "code", "execution_count": 261, "id": "e92cf3a5-bbdd-42b4-ad5c-e97ac55dd06d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 261, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Distribution of name frequency by age')" ] }, "execution_count": 261, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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r7664fGCg4M1e/Zsvfvuu2rUqJGaNm2q+fPnO37A+fvf/659+/YpIiJCs2bNyhNIr3f8+vTpo6ioKPXt21ehoaHq2rWr9u/f71RdTz31lB5++GH17dtX999/v0aMGKGsrCzH+o4dO+qXX35RTEzMdcdq0aKFHn30UXXs2FHNmjVT586d8/R/zz33yGKxKDw8/KpjDBo0SD/99JPCw8M1YMAAtW7d2rHO29tbM2bM0CeffKIGDRpoxYoVatasmby9vSVJ9913n8aNG6exY8eqQYMGat26tT777DOnXgcA5rIYf31qAwCAIuBKNxpyhV27dmn48OHatGnTdacbXc9rr72moKAgDRkypICq+/Nsdvfu3QvsBzYA5uDMNgAA/yMnJ0eLFi1S586dbzpo//HHH1q/fn2es903YufOnUpKSlJubq6WLl2qn3/+WQ899NBNjQnAfIRtAAAucfjwYTVo0EBJSUl68sknb2qsadOmqX379urXr5/jw4w36siRI4qJiVGDBg30j3/8Q++8806eD2ICKJqYRgIAAACYhDPbAAAAgEkI2wAAAIBJCNsAAACASdz+DpKpqemy25mWDgAAgIJntVpUtmzJq653+7BttxuEbQAAALgE00gAAAAAkxC2AQAAAJO4/TQSAAAASDZbrlJTk5Sbm+3qUm5Znp7eKls2UB4ezkdowjYAAEAxkJqaJF/fEipZspIsFoury7nlGIah9PTzSk1NUoUKwU4/j2kkAAAAxUBubrZKlixN0L5BFotFJUuWzvdvBgjbAAAAxQRB++bcyOtH2AYAAABMQtgGAAAATMIHJFEg/Mt4yc/b1+ntM7IzlXYux8SKAABAYercub0yMzO1ZMkK+fn5SZJWrlymdevWaObMeS6uznUI2ygQft6+ipwR6fT221/YrjQRtgEAcCd2u11LlnykPn36urqUIoOwDQAAgALRo0dv/fvfi9SpUxeVKlUqz7pp097WV19tUlpamm677XYNHjxU9eqFSpLmz39XR478Lm9vb23dukXBwcEaP36StmzZqI8//re8vb0VGztSDRs+IElKS0vTjBlT9O2322WxWNWuXXv16/eMPDw8Cr3n62HONgAAAApE7dohCg0N00cf/fOydSEh92jBgg+1Zs2XatWqrUaOjFVWVpZj/ddfb1WbNu30+ecbdffdtTR06Auy2+1atuxz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6qT27durV69eOnHihCT36vlGMkiR6N9Agendu7exbNkywzAMY9myZUbv3r1dXFHB27VrlxEfH280b97c+Pnnnx3L3bn31NRU49tvv3U8/tvf/ma89tprhs1mM1q2bGns2rXLMAzDmDVrlhEbG+uqMgvc+fPnHV+vX7/e6Nixo2EY7n2sDxw4YPTr18/x/nb3Y/y//44Nw3D7nseNG2dMmDDBsNvthmEYRlJSkmEY7v2+vtT48eONN9980zAM9+3Zbrcb4eHhjvf2wYMHjfr16xs2m81tez579qzRsGFD4/fffzcM48/e+vbtaxiGex3nG8kgRaF/wnYBOXPmjBEWFmbk5uYahmEYubm5RlhYmJGcnOziysxx6Ru9uPW+du1a44knnjD27dtnPPLII47lycnJRv369V1YmXmWLl1qdOrUya2PdVZWltG1a1fjxIkTjve3ux/jK4Vtd+45LS3NCAsLM9LS0vIsd+f39aWysrKMiIgI48CBA27ds91uNxo2bGjs3r3bMAzD2Llzp9G6dWu37nnfvn1Gu3btHI9TU1ONmjVrum3PzmaQotK/Z+GfS3dPCQkJqlixojw8PCRJHh4eCgoKUkJCgtvf8bI49W632/XRRx8pKipKCQkJqly5smNduXLlZLfbdfbsWQUEBLiuyAI0YsQIbd++XYZh6P3333frYz19+nR16NBBt912m2NZcTjGw4YNk2EYCgsL08svv+zWPZ84cUIBAQGaOXOmduzYoZIlS2rw4MHy9fV12/f1pTZu3KiKFSvq3nvv1YEDB9y2Z4vFomnTpum5555TiRIllJ6ernnz5rn1969q1arpzJkz2r9/v+rWrauVK1dKKh7/P1+rR8MwikT/zNkG8mHcuHEqUaKEevXq5epSCsWECRO0efNmDRkyRJMmTXJ1Oab5/vvvdeDAAfXs2dPVpRSqDz/8UCtWrNCnn34qwzA0duxYV5dkKpvNphMnTuiee+7RZ599pmHDhumFF17QxYsXXV1aofj000/12GOPuboM0+Xm5urdd9/V7NmztWnTJs2ZM0cvvfSSWx/nUqVKaerUqXrrrbf06KOPKjk5WaVLl3brnm8lhO0CEhwcrNOnT8tms0n685t6YmKigoODXVyZ+YpL73FxcTp27JimTZsmq9Wq4OBgxcfHO9anpKTIarXe8mf/rqRjx47asWOHKlWq5JbHeteuXTp8+LBatGihqKgonTp1Sv369dOxY8fc+hj/ddy8vb3Vs2dP7dmzx63f18HBwfL09FR0dLQkqV69eipbtqx8fX3d8n19qdOnT2vXrl1q3769JPf+vn3w4EElJiYqLCxMkhQWFiY/Pz/5+Pi4bc+S9OCDD+qjjz7SZ599pl69eikzM1NVqlRx656la7+Xi8r7nLBdQMqXL6+QkBCtWrVKkrRq1SqFhIS4za9prqU49D5lyhQdOHBAs2bNkre3tySpTp06yszM1O7duyVJixcvVtu2bV1ZZoFJT09XQkKC4/HGjRtVpkwZtz3WAwYM0LZt27Rx40Zt3LhRlSpV0vz589W/f3+3PcYXL17UhQsXJEmGYWjNmjUKCQlx6/d1uXLlFBERoe3bt0v68yoFycnJqlq1qlu+ry+1dOlSNW3aVGXLlpXk3t+3K1WqpFOnTun333+XJB0+fFjJycm688473bZnSUpKSpL053THKVOmqHv37qpSpYpb9yxd+71cVN7nFsMwjELdoxs7fPiwYmNjdf78eZUuXVpxcXG66667XF1WgRo/fry++OILnTlzRmXLllVAQIBWr17t1r3/+uuvio6OVtWqVeXr6ytJuu222zRr1izt2bNHo0ePVlZWlqpUqaLJkyerQoUKLq745p05c0bPPfecMjIyZLVaVaZMGb366qu699573fpY/yUqKkpz585VzZo13fYYnzhxQi+88IJsNpvsdruqV6+uN954Q0FBQW7bs/Rn36+//rrOnj0rT09PvfTSS2ratKnbv6/btGmjESNGqEmTJo5l7tzzihUr9N5778lisUiSXnzxRbVs2dKtex4xYoT27NmjnJwcRUZG6vXXX5ePj49b9XwjGaQo9E/YBgAAAEzCNBIAAADAJIRtAAAAwCSEbQAAAMAkhG0AAADAJIRtAAAAwCSEbQAAAMAkhG0AKMJ69+6tBg0aKDs729T9bN++Xb1791ZoaKgiIiIUExOjefPmKSsry9T9AoC7I2wDQBH1xx9/aPfu3bJYLPryyy9N28/nn3+uF198Ue3bt9emTZu0Y8cOTZ06VadPn85zJ9FL5ebmmlYPALgTbmoDAEXUzJkztW3bNtWrV09Hjx7Vu+++61iXmpqq1157TTt37lS1atXUuHFj7dy5Ux999JGkP++aNn78eP34448qW7asBg8erHbt2l22D8Mw1KxZMz3xxBPq27fvVWuZMWOGfv31V3l7e2vjxo167bXX1KRJE40ePVp79uxRmTJl9PTTT6tr166SpNjYWFWsWFFDhgyRJO3YsUPDhw/XV199JenPu3R269ZNy5cvV1JSklq2bKkxY8bIx8enwF4/ACgKOLMNAEXU8uXL1b59e7Vv317btm3TmTNnHOvGjh0rPz8/bd++XXFxcVq2bJlj3cWLF9W3b19FR0fr66+/1tSpU/Xmm2/qt99+u2wfv//+u06dOqXWrVtft54vv/xSbdu21e7du9W+fXu9/PLLqlSpkrZu3ap33nlHU6ZM0TfffON0fytXrtT8+fO1fv16HTlyRLNnz3b6uQBwqyBsA0ARtHv3bsXHx+vhhx9WnTp1dPvtt2vVqlWSJJvNpi+++EIvvPCC/Pz8VKNGDXXs2NHx3M2bN6tKlSp67LHH5OnpqXvuuUdt2rTR2rVrL9tPamqqJCkwMNCxbMiQIQoPD1e9evXyhPj69eurZcuWslqtSk1N1Z49ezRs2DD5+PgoJCREXbp00fLly53u8fHHH1dwcLACAgI0cOBArV69Op+vEgAUfYRtACiCli1bpsjISJUrV06SFB0draVLl0qSUlJSlJubq+DgYMf2l3598uRJ7d+/X+Hh4Y4/K1euVFJS0mX7KVu2rCQpMTHRsWzq1KnavXu37rnnHtntdsfySpUqOb5OTExUmTJl5O/v71hWuXJlnT592ukeL625cuXKeWoAAHfh6eoCAAB5ZWZm6vPPP5fdbldkZKQkKTs7W+fPn9ehQ4d09913y9PTU6dOnVK1atUkKc8HGYODg9WgQQMtWLDguvuqVq2aKlasqPXr119zzrYkWSwWx9dBQUE6d+6c0tLSHIE7ISFBFStWlCT5+fkpMzPTsf2lU2D+cmnN8fHxCgoKum69AHCr4cw2ABQxGzZskIeHh1avXq1ly5Zp2bJlWrNmjcLDw7Vs2TJ5eHioVatWmjlzpjIyMnT48OE80zeaNWumo0ePatmyZcrJyVFOTo7279+vw4cPX7Yvq9Wq2NhYzZw5U//5z3907tw5GYaho0ePKjk5+ao1BgcHKzQ0VFOmTFFWVpYOHTqkTz75RB06dJAkhYSEaMuWLTp79qySkpL0wQcfXDbGv//9b506dUpnz57V3Llzr/gBTgC41RG2AaCIWbp0qR599FFVrlxZgYGBjj+PP/64Vq5cqdzcXI0aNUoXLlxQZGSkXnnlFT3yyCPy9vaWJPn7+2v+/Plas2aNHnroITVu3Fhvv/32Va/V3a5dO02bNk0rVqxQs2bN9MADD+ill15S165d1bZt26vWOWXKFJ08eVIPPfSQBg0apBdeeEEPPvigJCkmJka1a9dWVFSU+vbte8UgHR0drb59+6ply5a64447NHDgwAJ49QCgaOHSfwDgBiZPnqwzZ84oLi7O1aU4JSoqSuPHj3eEcwBwV5zZBoBb0OHDh3Xo0CEZhqH9+/frk08+UatWrVxdFgDgf/ABSQC4BaWnp2vo0KFKTExU+fLl1bdvX7Vo0cLVZQEA/gfTSAAAAACTMI0EAAAAMAlhGwAAADAJYRsAAAAwCWEbAAAAMAlhGwAAADAJYRsAAAAwyf8BRjNioVS/XZIAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# trends in top five first names \n", "fig, ax = plt.subplots(figsize=(12, 4.5))\n", "somenames = ['Michael', 'James', 'Mary', 'Ashley']\n", "popular = names[names.Name.isin(somenames)]\n", "sns.countplot(x=\"Age Group\", hue=\"Name\", \n", " ax=ax, palette='tab10', data=popular)\n", "ax.set_title(\"Distribution of name frequency by age\")" ] }, { "cell_type": "code", "execution_count": 262, "id": "d53c169f-f1fd-4f44-a4ea-8426db40d2d3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 262, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Distribution of birth month frequency by age')" ] }, "execution_count": 262, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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ERcXZ4qQiIiIiIiqhEkK6gYNGuCrr76qcF3z5s2xfft2U4RBRERERFTl+KZEIiIiIiIDmOWhRCIiIqLK6PuSEyJzYUFNRERE1dLTveSEyPQ45IOIiIiIyAAsqImIiIiIDMCCmoiIiIjIACyoiYiIiIgMwIKaiIiIiMgALKiJiIiIiAzAgpqIiIiIyAAsqImIiIiIDMCCmoiIiIjIACyoiYiIiIgMwFePExEREdUSjnZWkNva6NxeVVSMnIJSI0ZkGVhQExEREdUSclsbHO8WqHP7wO+PAyyoK8UhH0REREREBmBBTURERERkABbUREREREQGYEFNRERERGQAFtRERERERAZgQU1EREREZACTTJuXk5ODmTNn4tatW1AoFHjmmWcwb948ODk54fz584iJiYFSqYSXlxeWLFkCZ2dnU4RFRERERGQwk9yhlkgkGDNmDA4ePIiEhAQ0atQIS5cuhUajwYwZMxATE4ODBw/Cz88PS5cuNUVIREREVMtplEq4uNTT+T9HOytzh0zVlEnuUDs4OMDf31/7uX379ti6dSsuXboEa2tr+Pn5AQCGDRuGnj17YtGiRaYIi4iIiGoxqbU1X3JCVcLkY6g1Gg22bt2KoKAgpKamwtPTU7vOyckJGo0Gubm5pg6LiIiIiOipmPzV4/Pnz0edOnUwfPhwHDp0qEr6dHa2K7dMWaqGtZWsSvo3FxeXeuYOweSYc+3AnGsH5lw71Lacq2O+xo6pOuZc3Zi0oI6Li8Nff/2FdevWQSqVwsPDAykpKdr12dnZkEqlcHBw0KvfrKwCaDSizDIXl3rwnbFF5z5+XjJSr32aQkZGvl7tLeGCZ85PZgn5Asy5Msy55mLOT2YJOVfHv1PGPgf65myJpFJJhTdwtetNFciyZctw6dIlrFmzBgqFAgDQunVrFBcX4+zZswCAbdu2ISQkxFQhEREREREZzCR3qH///XesX78eTZo0wbBhwwAADRs2xJo1a7B48WLExsaWmTaPiIiIiKimMElB/eyzz+K3336rcF2HDh2QkJBgijCIiIiIiKoc35RIRERERGQAFtRERERERAZgQU1EREREZAAW1EREREREBjD5i12IiIiIqGooVUqLmN+7pmNBTURERFRDWcutEbAqQOf2SROTjBhN7cUhH0REREREBmBBTURERERkABbUREREREQGYEFNRERERGQAFtRERERERAZgQU1EREREZAAW1EREREREBmBBTURERERkABbUREREREQGYEFNRERERGQAFtRERERERAZgQU1EREREZAAW1EREREREBmBBTURERERkABbUREREREQGMElBHRcXh6CgIDz33HO4fv26dvmNGzcwdOhQ9OnTB0OHDsXNmzdNEQ4RERERUZUxSUHds2dPfPnll/Dy8iqzPDY2FpGRkTh48CAiIyMRExNjinCIiIiIiKqMSQpqPz8/eHh4lFmWlZWFK1euIDQ0FAAQGhqKK1euIDs72xQhERERERFVCbm5dpyamgo3NzfIZDIAgEwmg6urK1JTU+Hk5KRXX87OdsYI0excXOqZOwSTY861A3OuHZhz7VDbcq5t+QL656wsVcPaSma09tWR2QrqqpSVVQCNRpRZZgkXfEZGvl7tmXPNpE/OlpAvwJwrw5xrLub8ZJaQM/9OVc7FpR58Z2zRuf3PS0bqvQ9Tk0olT7yBa7ZZPjw8PJCWlga1Wg0AUKvVSE9PLzc0hIiIiIioOjNbQe3s7Axvb28kJiYCABITE+Ht7a33cA8iIiIiInMyyZCPBQsW4Ntvv0VmZiZGjRoFBwcH7Nu3D3PmzEF0dDTi4+Nhb2+PuLg4U4RDRERERFRlTFJQf/jhh/jwww/LLW/evDm2b99uihCIiIiIiIyCb0okIiIiIjIAC2oiIiIiIgOwoCYiIiIiMoBFzENNRERERLWDXX0r2CpsdG5fVFKMgvulRoyIBTURERER1SC2ChsErArQuX3SxCQUwLgFNYd8EBEREREZgAU1EREREZEBWFATERERERmABTURERERkQFYUBMRERERGYAFNRERERGRAVhQExEREREZgPNQExEREZHZCJUSLi71zB2GQVhQExEREZHZSOTWuDWvjc7tG8f8asRong6HfBARERERGYAFNRERERGRAVhQExEREREZgAU1EREREZEB+FAiEREREVksjVK/WURURcXIKSjVax8sqImIiIjIYkmtrXG8W6DO7QO/Pw7oWVBzyAcRERERkQGqRUF948YNDB06FH369MHQoUNx8+ZNc4dERERERKSTalFQx8bGIjIyEgcPHkRkZCRiYmLMHRIRERERkU7MPoY6KysLV65cwaZNmwAAoaGhmD9/PrKzs+Hk5KRTH1KppMLlHo519YpFVt9Tr/bu9dz1am/trl/7x+X1JMy5cjU9Z33zBWpfzvrmCzBnXdT0nPXNF6h9OeubL1D7cubfKd1YWs6VHQOJEELotYcqdunSJbz33nvYt2+fdlnfvn2xZMkStGrVyoyRERERERFVrloM+SAiIiIiqqnMXlB7eHggLS0NarUaAKBWq5Geng4PDw8zR0ZEREREVDmzF9TOzs7w9vZGYmIiACAxMRHe3t46j58mIiIiIjIns4+hBoDk5GRER0cjLy8P9vb2iIuLQ7NmzcwdFhERERFRpapFQU1EREREVFOZfcgHEREREVFNxoKaiIiIiMgALKiJiIiIiAzAgpqIiIiIyAAsqPV048YNDB06FH369MHQoUNx8+ZNc4dU5eLi4hAUFITnnnsO169f1y635NxzcnLw5ptvok+fPggLC8OECROQnZ0NADh//jzCw8PRp08fREVFISsry8zRVp23334b4eHh6N+/PyIjI3H16lUAln2uAWD16tVlrm9LPsdBQUEICQlBREQEIiIicOLECQCWnbNSqURsbCx69+6NsLAwzJ49G4DlXtd37tzRnt+IiAgEBQWhU6dOACw3ZwA4evQo+vfvj4iICISHh+Pbb78FYNk5Hzt2DAMGDEBYWBiGDx+O27dvA7CsnJ+mBqkW+QvSy4gRI8Tu3buFEELs3r1bjBgxwswRVb0zZ86IlJQU0aNHD/Hbb79pl1ty7jk5OeKnn37Sfv7Xv/4l3n//faFWq0VwcLA4c+aMEEKINWvWiOjoaHOFWeXy8vK0Px86dEj0799fCGHZ5/rSpUti9OjR2uvb0s/xP/8/FkJYfM7z588XCxcuFBqNRgghREZGhhDCsq/rRy1YsEDMnTtXCGG5OWs0GuHn56e9tq9evSrat28v1Gq1xeacm5srOnXqJP78808hxMPcoqKihBCWdZ6fpgapDvmzoNZDZmam8PX1FSqVSgghhEqlEr6+viIrK8vMkRnHoxdzbcv9wIED4vXXXxcXLlwQ/fr10y7PysoS7du3N2NkxrNr1y4xYMAAiz7XSqVSDBkyRNy+fVt7fVv6Oa6ooLbknAsKCoSvr68oKCgos9ySr+tHKZVK4e/vLy5dumTROWs0GtGpUydx9uxZIYQQp0+fFr1797bonC9cuCD69u2r/ZyTkyNatmxpsTnrWoNUl/zlpr8nXnOlpqbCzc0NMpkMACCTyeDq6orU1FSLf7Njbcpdo9Fg69atCAoKQmpqKjw9PbXrnJycoNFokJubCwcHB/MFWYVmzZqFpKQkCCHw2WefWfS5XrlyJcLDw9GwYUPtstpwjqdPnw4hBHx9fTFt2jSLzvn27dtwcHDA6tWrcerUKdStWxeTJ0+GjY2NxV7Xjzpy5Ajc3NzQqlUrXLp0yWJzlkgkWLFiBd5++23UqVMHhYWF2LBhg0X//mratCkyMzNx8eJFtG3bFgkJCQBqx9/nJ+UohKgW+XMMNdE/zJ8/H3Xq1MHw4cPNHYpJLFy4EMeOHcPUqVOxePFic4djNL/88gsuXbqEyMhIc4diUl9++SX27t2Lr7/+GkIIzJs3z9whGZVarcbt27fxwgsvYOfOnZg+fTomTpyIBw8emDs0k/j6668xcOBAc4dhdCqVCuvXr0d8fDyOHj2KtWvXYsqUKRZ9nuvVq4fly5dj0aJFeOWVV5CVlQV7e3uLzrkmYUGtBw8PD6SlpUGtVgN4+Is7PT0dHh4eZo7M+GpL7nFxcfjrr7+wYsUKSKVSeHh4ICUlRbs+OzsbUqm0xt/Fq0j//v1x6tQpuLu7W+S5PnPmDJKTk9GzZ08EBQXh3r17GD16NP766y+LPsd/nzeFQoHIyEicO3fOoq9rDw8PyOVyhIaGAgDatWsHR0dH2NjYWOR1/ai0tDScOXMGYWFhACz79/bVq1eRnp4OX19fAICvry9sbW1hbW1tsTkDwEsvvYStW7di586dGD58OIqLi+Hl5WXROQNPvpary3XOgloPzs7O8Pb2RmJiIgAgMTER3t7eFvOVypPUhtyXLVuGS5cuYc2aNVAoFACA1q1bo7i4GGfPngUAbNu2DSEhIeYMs8oUFhYiNTVV+/nIkSOoX7++xZ7rsWPH4uTJkzhy5AiOHDkCd3d3bNy4EWPGjLHYc/zgwQPk5+cDAIQQ2L9/P7y9vS36unZycoK/vz+SkpIAPHz6PysrC02aNLHI6/pRu3btQmBgIBwdHQFY9u9td3d33Lt3D3/++ScAIDk5GVlZWXjmmWcsNmcAyMjIAPBwaOKyZcswbNgweHl5WXTOwJOv5epynUuEEMKke6zhkpOTER0djby8PNjb2yMuLg7NmjUzd1hVasGCBfj222+RmZkJR0dHODg4YN++fRad+++//47Q0FA0adIENjY2AICGDRtizZo1OHfuHGJjY6FUKuHl5YUlS5agQYMGZo7YcJmZmXj77bdRVFQEqVSK+vXr47333kOrVq0s+lz/LSgoCOvWrUPLli0t9hzfvn0bEydOhFqthkajQfPmzfHhhx/C1dXVYnMGHub9wQcfIDc3F3K5HFOmTEFgYKDFX9d9+vTBrFmz0K1bN+0yS8557969+PTTTyGRSAAAkyZNQnBwsEXnPGvWLJw7dw6lpaUICAjABx98AGtra4vK+WlqkOqQPwtqIiIiIiIDcMgHEREREZEBWFATERERERmABTURERERkQFYUBMRERERGYAFNRERERGRAVhQExEREREZgAU1EZGZjRgxAh07dkRJSYlR95OUlIQRI0bAx8cH/v7+iIiIwIYNG6BUKo26XyIiS8eCmojIjO7cuYOzZ89CIpHgu+++M9p+vvnmG0yaNAlhYWE4evQoTp06heXLlyMtLa3MGzMfpVKpjBYPEZEl4YtdiIjMaPXq1Th58iTatWuHmzdvYv369dp1OTk5eP/993H69Gk0bdoUXbp0wenTp7F161YAD98OtmDBAly+fBmOjo6YPHky+vbtW24fQgh0794dr7/+OqKioh4by6pVq/D7779DoVDgyJEjeP/999GtWzfExsbi3LlzqF+/Pt58800MGTIEABAdHQ03NzdMnToVAHDq1CnMmDED33//PYCHb6McOnQo9uzZg4yMDAQHB2POnDmwtrausuNHRFQd8A41EZEZ7dmzB2FhYQgLC8PJkyeRmZmpXTdv3jzY2toiKSkJcXFx2L17t3bdgwcPEBUVhdDQUPzwww9Yvnw55s6diz/++KPcPv7880/cu3cPvXv3rjSe7777DiEhITh79izCwsIwbdo0uLu748SJE/jkk0+wbNky/Pjjjzrnl5CQgI0bN+LQoUO4ceMG4uPjdd6WiKimYEFNRGQmZ8+eRUpKCl5++WW0bt0ajRo1QmJiIgBArVbj22+/xcSJE2Fra4sWLVqgf//+2m2PHTsGLy8vDBw4EHK5HC+88AL69OmDAwcOlNtPTk4OAMDFxUW7bOrUqfDz80O7du3KFOrt27dHcHAwpFIpcnJycO7cOUyfPh3W1tbw9vbG4MGDsWfPHp1zfO211+Dh4QEHBweMHz8e+/bt0/MoERFVfyyoiYjMZPfu3QgICICTkxMAIDQ0FLt27QIAZGdnQ6VSwcPDQ9v+0Z/v3r2Lixcvws/PT/tfQkICMjIyyu3H0dERAJCenq5dtnz5cpw9exYvvPACNBqNdrm7u7v25/T0dNSvXx92dnbaZZ6enkhLS9M5x0dj9vT0LBMDEZGlkJs7ACKi2qi4uBjffPMNNBoNAgICAAAlJSXIy8vDtWvX8Oyzz0Iul+PevXto2rQpAJR5eNDDwwMdO3bEpk2bKt1X06ZN4ebmhkOHDj1xDDUASCQS7c+urq64f/8+CgoKtEV1amoq3NzcAAC2trYoLi7Wtn90uMrfHo05JSUFrq6ulcZLRFTT8A41EZEZHD58GDKZDPv27cPu3buxe/du7N+/H35+fti9ezdkMhl69eqF1atXo6ioCMnJyWWGWnTv3h03b97E7t27UVpaitLSUly8eBHJycnl9iWVShEdHY3Vq1fjq6++wv379yGEwM2bN5GVlfXYGD08PODj44Nly5ZBqVTi2rVr2LFjB8LDwwEA3t7eOH78OHJzc5GRkYH//Oc/5fr4v//7P9y7dw+5ublYt25dhQ9NEhHVdCyoiYjMYNeuXXjllVfg6ekJFxcX7X+vvfYaEhISoFKpEBMTg/z8fAQEBGDmzJno168fFAoFAMDOzg4bN27E/v370bVrV3Tp0gVLly597FzWffv2xYoVK7B37150794dL774IqZMmYIhQ4YgJCTksXEuW7YMd+/eRdeuXTFhwgRMnDgRL730EgAgIiICzz//PIKCghAVFVVhsRwaGoqoqCgEBwejcePGGD9+fBUcPSKi6oXT5hER1RBLlixBZmYm4uLizB2KToKCgrBgwQJtAU5EZKl4h5qIqJpKTk7GtWvXIITAxYsXsWPHDvTq1cvcYRER0T/woUQiomqqsLAQ7777LtLT0+Hs7IyoqCj07NnT3GEREdE/cMgHEREREZEBOOSDiIiIiMgALKiJiIiIiAzAgpqIiIiIyAAsqImIiIiIDMCCmoiIiIjIACyoiYiIiIgM8P8AJKsBf9Wd3qQAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# trends in birth month\n", "fig, ax = plt.subplots(figsize=(12, 4.5))\n", "months = ['January', 'February', 'March', 'April']\n", "popular = names[names.Birth_Month.isin(months)]\n", "sns.countplot(x=\"Age Group\", hue=\"Birth_Month\", \n", " ax=ax, palette='tab10', data=popular)\n", "ax.set_title(\"Distribution of birth month frequency by age\")" ] }, { "cell_type": "code", "execution_count": 263, "id": "7711828b-a139-46f4-9abf-f5a135096862", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Birth_MonthJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember
Age Group
0206759766677716567675663
10377271787073828183797079
20526076726565716668757671
30545666647358878266655758
40566248494550585556666860
50564362555343584853585246
60664741435434415150325237
70574339333936453438303737
80573928213137232827313437
90551731242123302933252820
1001074262465577
\n", "
" ], "text/plain": [ "Birth_Month January February March April May June July August \\\n", "Age Group \n", "0 20 67 59 76 66 77 71 65 \n", "10 37 72 71 78 70 73 82 81 \n", "20 52 60 76 72 65 65 71 66 \n", "30 54 56 66 64 73 58 87 82 \n", "40 56 62 48 49 45 50 58 55 \n", "50 56 43 62 55 53 43 58 48 \n", "60 66 47 41 43 54 34 41 51 \n", "70 57 43 39 33 39 36 45 34 \n", "80 57 39 28 21 31 37 23 28 \n", "90 55 17 31 24 21 23 30 29 \n", "100 10 7 4 2 6 2 4 6 \n", "\n", "Birth_Month September October November December \n", "Age Group \n", "0 67 67 56 63 \n", "10 83 79 70 79 \n", "20 68 75 76 71 \n", "30 66 65 57 58 \n", "40 56 66 68 60 \n", "50 53 58 52 46 \n", "60 50 32 52 37 \n", "70 38 30 37 37 \n", "80 27 31 34 37 \n", "90 33 25 28 20 \n", "100 5 5 7 7 " ] }, "execution_count": 263, "metadata": {}, "output_type": "execute_result" } ], "source": [ "month_names = np.array(\"\"\"\n", " January February March April May\n", " June July August September October\n", " November December\"\"\".split())\n", "\n", "by_month = (names\n", " .groupby('Age Group')\n", " .Birth_Month\n", " .value_counts()\n", " .unstack())\n", "\n", "by_month = by_month[month_names]\n", "by_month" ] }, { "cell_type": "code", "execution_count": 264, "id": "b1f34db0-86d7-4256-b3bf-7b85b38f64f5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Age Group\n", "0 0.289808\n", "10 0.172563\n", "20 0.061524\n", "30 0.138908\n", "40 0.077120\n", "50 0.059772\n", "60 0.169321\n", "70 0.104118\n", "80 0.227215\n", "90 0.284632\n", "100 0.079604\n", "dtype: float64\n" ] } ], "source": [ "print(by_month.var(axis=1) / by_month.sum(axis=1))" ] }, { "cell_type": "markdown", "id": "e123ef31-98fa-4db0-ad1f-5d9ec9b099e9", "metadata": {}, "source": [ "Compare distributions to baselines" ] }, { "cell_type": "code", "execution_count": 265, "id": "fa2398a0-94f1-4cf4-b23b-87fc09d844cb", "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", "
StatePopulation_2019Population_2010House_Seats
0California395122233725452353.0
1Texas289958812514556136.0
2Florida214777371880131027.0
3New_York1945356175459NaN
4Pennsylvania128019891270237918.0
...............
51Wyoming5787595636261.0
52Guam1657181593581.0
53U.S._Virgin_Islands1049141064051.0
54American_Samoa55641555191.0
55Northern_Mariana_Islands55194538831.0
\n", "

56 rows × 4 columns

\n", "
" ], "text/plain": [ " State Population_2019 Population_2010 House_Seats\n", "0 California 39512223 37254523 53.0\n", "1 Texas 28995881 25145561 36.0\n", "2 Florida 21477737 18801310 27.0\n", "3 New_York 19453561 75459 NaN\n", "4 Pennsylvania 12801989 12702379 18.0\n", ".. ... ... ... ...\n", "51 Wyoming 578759 563626 1.0\n", "52 Guam 165718 159358 1.0\n", "53 U.S._Virgin_Islands 104914 106405 1.0\n", "54 American_Samoa 55641 55519 1.0\n", "55 Northern_Mariana_Islands 55194 53883 1.0\n", "\n", "[56 rows x 4 columns]" ] }, "execution_count": 265, "metadata": {}, "output_type": "execute_result" } ], "source": [ "states = pd.read_csv('../data/state-population.csv', delimiter='|')\n", "states" ] }, { "cell_type": "code", "execution_count": 266, "id": "094bf077-53c8-48ad-810b-afcba9c017cf", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 266, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "(names\n", " .Home\n", " .value_counts()\n", " .sort_index()\n", " .plot(kind='bar', figsize=(12, 3), \n", " title=\"Distribution of sample by home state\")\n", ")" ] }, { "cell_type": "code", "execution_count": 267, "id": "3fbf89eb-f164-4f12-92fd-05e2648f7d05", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 267, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "(states\n", " .sort_values('State')\n", " [['State', 'Population_2019']]\n", " .set_index('State')\n", " .plot(kind='bar', figsize=(12, 3),\n", " title=\"2019 Population of U.S. states and territories\")\n", ")" ] }, { "cell_type": "markdown", "id": "209d9254-4998-4c11-a3c3-4a64e085d98b", "metadata": {}, "source": [ "### Class Imbalance" ] }, { "cell_type": "markdown", "id": "a178e527-3caa-4a2d-b6fe-4a39b05eb67c", "metadata": {}, "source": [ "Example: Apache server logs (adapted from CleanData)." ] }, { "cell_type": "code", "execution_count": 268, "id": "473113fa-0c2c-49a6-9f00-714ae69632d0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 10280 200\n", " 2 206\n", " 398 301\n", " 1680 304\n", " 181 403\n", " 901 404\n", " 9 500\n" ] } ], "source": [ "%%bash\n", "zcat ../data/gnosis/*.log.gz | \n", " cut -d' ' -f9 | \n", " sort | \n", " uniq -c" ] }, { "cell_type": "code", "execution_count": 269, "id": "ba83982c-cbd5-4bf4-b2f4-fa2da2a42ead", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "162.158.238.207 - - [30/Mar/2020:00:00:00 -0400]\n", "\"GET /TPiP/024.code HTTP/1.1\" 200 75\n" ] } ], "source": [ "%%bash\n", "zcat ../data/gnosis/20200330.log.gz | head -1 | fmt -w50" ] }, { "cell_type": "code", "execution_count": 270, "id": "424cac03-e272-4cab-bbda-40adb34f1375", "metadata": {}, "outputs": [], "source": [ "def apache_log_to_df(fname):\n", " # Read one log file. Treat is as a space separated file\n", " # There is no explicit header, so we assign columns\n", " cols = ['ip_address', 'ident', 'userid', 'timestamp', \n", " 'tz', 'request', 'status', 'size']\n", " df = pd.read_csv(fname, sep=' ', header=None, names=cols)\n", " \n", " # The first pass gets something workable, but refine it\n", " # Datetime has superfluous '[', but fmt matches that\n", " fmt = \"[%d/%b/%Y:%H:%M:%S\"\n", " df['timestamp'] = pd.to_datetime(df.timestamp, format=fmt)\n", " \n", " # Convert timezone to an integer\n", " # Not general, I know these logs use integral timezone\n", " # E.g. India Standard Time (GMT+5:30) would break this\n", " df['tz'] = df.tz.str[:3].astype(int)\n", " \n", " # Break up the quoted request into sub-components\n", " df[['method', 'resource', 'protocol']] = (\n", " df.request.str.split(' ', expand=True))\n", " \n", " # Break the IP address into each quad\n", " df[['quad1', 'quad2', 'quad3', 'quad4']] = (\n", " df.ip_address.str.split('.', expand=True))\n", " \n", " # Pandas lets us pull components from datetime\n", " df['hour'] = df.timestamp.dt.hour\n", " df['minute'] = df.timestamp.dt.minute\n", " \n", " # Split resource into the path/directory vs. actual page\n", " df[['path', 'page']] = (\n", " df.resource.str.rsplit('/', n=1, expand=True))\n", " # Only care about some fields for current purposes\n", " cols = ['hour', 'minute', \n", " 'quad1', 'quad2', 'quad3', 'quad4', \n", " 'method', 'path', 'page', 'status']\n", " return df[cols]" ] }, { "cell_type": "code", "execution_count": 271, "id": "2471463a-b3d5-4f0c-aca2-24e0dbcc7ffb", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
hourminutequad1quad2methodpathpagestatus
001108162GET/download/gnosis/xml/pickle/ext200
104162158GET/download/relaxrnc2rng200
2010162158GET/publishrss.xml403
3010162158GET/publish/programmingcharming_python_6.html200
401217269GET/download/gnosis/xml/pickle/docTHANKS_TO200
...........................
134462345108162GET/TPiP036.code304
13447234717269GET/download/relaxregextest.rnc200
13448235217269GET/juveniliaThe%20rivers%20flow.pdf200
13449235717269GET/TPiP214.code200
13450235817268GET/publish/programmingcharming_python_6.html200
\n", "

13451 rows × 8 columns

\n", "
" ], "text/plain": [ " hour minute quad1 quad2 method path \\\n", "0 0 1 108 162 GET /download/gnosis/xml/pickle/ext \n", "1 0 4 162 158 GET /download/relax \n", "2 0 10 162 158 GET /publish \n", "3 0 10 162 158 GET /publish/programming \n", "4 0 12 172 69 GET /download/gnosis/xml/pickle/doc \n", "... ... ... ... ... ... ... \n", "13446 23 45 108 162 GET /TPiP \n", "13447 23 47 172 69 GET /download/relax \n", "13448 23 52 172 69 GET /juvenilia \n", "13449 23 57 172 69 GET /TPiP \n", "13450 23 58 172 68 GET /publish/programming \n", "\n", " page status \n", "0 200 \n", "1 rnc2rng 200 \n", "2 rss.xml 403 \n", "3 charming_python_6.html 200 \n", "4 THANKS_TO 200 \n", "... ... ... \n", "13446 036.code 304 \n", "13447 regextest.rnc 200 \n", "13448 The%20rivers%20flow.pdf 200 \n", "13449 214.code 200 \n", "13450 charming_python_6.html 200 \n", "\n", "[13451 rows x 8 columns]" ] }, "execution_count": 271, "metadata": {}, "output_type": "execute_result" } ], "source": [ "reqs = pd.concat(map(apache_log_to_df, \n", " glob.glob('../data/gnosis/*.log.gz')))\n", "# Each file has index from 0, so dups occur in raw version\n", "reqs = reqs.reset_index().drop('index', axis=1)\n", "# The /16 subnetwork is too random for this purpose\n", "reqs.drop(['quad3', 'quad4'], axis=1, inplace=True)\n", "reqs" ] }, { "cell_type": "code", "execution_count": 272, "id": "f01fb9cd-d664-48f1-ae0a-8b206570f824", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'hour distibution')" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'minute distibution')" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'quad1 distibution')" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'quad2 distibution')" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'method distibution')" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'status distibution')" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1QAAAJ8CAYAAAD56eCyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAACRaElEQVR4nOzdeXQUVd7/8U8WE5DFmAgxAUZGFIzyOAQC0VG2ABIgJOAyIAIisqlsIigCJggiJiwqCKIz6DM4KjPMqJkgGhxx12ERUCOogIAKYUsIhCUJpO/vD370k0DW6u50p/v9OifnpOvW3aq769a361aVnzHGCAAAAABQbf7ubgAAAAAA1FYEVAAAAABgEQEVAAAAAFhEQAUAAAAAFhFQAQAAAIBFBFQAAAAAYBEBFXxOXFycvvzyS3c3Q5K0fv16derUyf66T58+Wr9+fbXL+fe//63hw4fbX7dq1Up79+51ShslKTo6Wr/++qvTygMAVM3+/fsVHR2t4uJidzflIoxhwDkEVIAHeffddxUbG1vhOr/99ptatWqls2fP2pclJibqlVdecUobhgwZolWrVpVatmXLFjVr1swp5QMAqi4yMlJbtmxRQECAw2UtXrxYkydPdkKrysYYBl9FQAW4SMnBAgAAAN6JgAo+afv27erbt6/atWuniRMnqrCw0J72j3/8Qz169FCHDh00ZswYHTx4UFLZv6qV/CXsrbfe0sCBA/X0008rNjZWixcvvqjegoICTZ06Ve3bt1fv3r313XfflUovOR3x22+/1e233662bdvqj3/8o+bOnStJGjx4sCSpffv2io6O1pYtW/TWW2/p7rvvLlXWJ598om7duik2Nlapqamy2WySLv6FsmS/nn32WW3atEmzZs1SdHS0Zs2aJan09Iv8/Hw9+uijuummm9S1a1ctXbrUXvb5dqSmpqp9+/aKi4vTJ598Uq33BgC8XVxcnP7yl7+ob9++atOmjaZNm6YjR45oxIgRio6O1rBhw3Ts2DFJF489Q4YM0XPPPaeBAwcqOjpaw4cPV25urqSLp+Cdr+vLL7/Up59+qpdeeknvvfeeoqOjlZiYKOncPn3atGm69dZb1bFjRz377LPlTi9kDAPKFujuBgDu8N577+kvf/mLgoODdffdd9t3ol999ZUWLFigV155Rddee61SU1M1adIkvf7661Uq99tvv1WfPn30xRdflHmG6oUXXtAvv/yiDz74QKdPn9bIkSPLLWvOnDkaOnSo+vXrp5MnT2rHjh2SpL/97W/q1q2bNm7cqMDAc1/h3bt3X5T/gw8+0L/+9S+dOnVK9913n66++mrdddddFbb/4Ycf1ubNm5WYmFjuurNnz1Z+fr7+85//KC8vT/fff78aNWpkX//bb79V//799d///ld///vfNX36dH322Wfy8/OrsG4A8CVr167Vq6++quLiYvXr10/bt2/XnDlz1KJFC40cOVKvvfaaxo4dW2be1atX689//rMiIiI0cuRIvfLKK5VO5evUqZNGjx6tvXv3av78+fblU6dOVVhYmNauXavTp09r9OjRioiI0MCBAy8qgzEMKBtnqOCThgwZovDwcIWEhKhr167avn27JCkjI0N33HGHbrjhBgUFBWnSpEnaunWrfvvttyqV27hxYw0ZMkSBgYGqU6fORenvvfeexowZo5CQEEVERGjIkCHllhUYGKhffvlFubm5qlevntq0aVOtPo4cOVIhISGKjIzU0KFDtXr16mrlL0txcbHWrFmjRx55RPXr11fTpk1133336d///rd9ncjISP3pT39SQECA+vfvr8OHD+vIkSMO1w0A3mTw4MG64oorFB4erpiYGN144426/vrrFRwcrB49emjbtm3l5r399tv1+9//XnXq1FF8fLx9DKuuI0eO6JNPPtG0adN06aWXKiwsTMOGDdO7775b5vqMYUDZCKjgkxo1amT/v27dujp16pQk6dChQ2rSpIk9rV69egoJCbFP+6vMlVdeWWH6oUOHFBERYX8dGRlZ7rpz5szRnj171KtXL91xxx366KOPqtSG80rW06RJEx06dKha+cty9OhRnTlzplS7IyMjS22fK664wv5/3bp1Jcm+fQEA55TcVwYHB5d6XadOnQr3m+WNYdW1f/9+nT17VrfeeqtiYmIUExOj5ORk+xTCCzGGAWVjyh9QQuPGjbVv3z7761OnTikvL0/h4eG69NJLJZ2bQ16/fn1J0uHDh0vlr2xKQKNGjZSdna1rr71WkpSdnV3uus2bN9fChQtls9m0du1ajR8/XuvXr6/ytIOS9ezfv1+NGzeWdG6AKCgosK9XnV/eLr/8cl1yySXav3+/rrnmGns94eHhVS4DAOAaF+7fi4uLSwVHF44fV155pYKCgvTf//7XPv2uIoxhQNk4QwWUkJCQoLfeekvbt29XUVGRFi5cqBtvvFFNmzZVaGiowsPDlZ6eruLiYv3zn/+s9nMtevXqpZdfflnHjh3TgQMH9Nprr5W7bnp6unJzc+Xv76+GDRtKkvz9/RUaGip/f/9K616+fLmOHTum7OxsrVixQr1795YkRUVFaePGjdq/f7/y8/P10ksvlcp3xRVXlFt2QECA4uPj9eyzz+rEiRPat2+fXn31VfvFzQAA9/n973+vwsJCffzxxzpz5oxefPFFFRUV2dPDwsK0b98++00YGjdurFtuuUXPPPOMTpw4IZvNpl9++UUbNmwos3zGMKBsBFRACX/84x81YcIEjRs3Trfeeqt+/fVXPfvss/b02bNna/ny5YqNjdXOnTsVHR1drfLHjh2ryMhIdevWTcOHD1dSUlK563722Wfq06ePoqOjNWfOHD377LOqU6eO6tatqzFjxujuu+9WTEyMtm7dWmb+bt266fbbb1e/fv3UpUsX3XnnnZKkW265Rb1791ZiYqJuv/12de3atVS+oUOHKjMzU+3bt9dTTz11UblPPPGE6tatq+7du2vQoEFKSEjQHXfcUa3tAABwvgYNGiglJUUzZsxQp06dVLdu3VJT0ePj4yVJsbGx6t+/vyQpLS1NZ86cUe/evdW+fXuNHz/+otkX5zGGAWXzM8YYdzcCAAAAAGojzlABAAAAgEUEVAAAAABgEQEVAAAAAFhEQAUAAAAAFhFQAQAAAIBFBFQAAAAAYFHlj8WuhY4ePSmb7eK7wYeF1VdOzgnL5TqS31153Vk37a49ed1ZN+2uPXldWbe/v58uv7ye5XbVJuWNUVXh6Ptnlbvq9dW6fbHP7qzbF/vszrprY58rG6O8MqCy2Uy5g5XVQcwZ+d2V15110+7ak9edddPu2pPX3XV7g4rGqKrmdwd3vne+WLcv9tmddftin91Zt7f1mSl/AAAAAGARARUAAAAAWERABQAAAAAWEVABAAAAgEUO3ZQiNTVVmZmZ2rdvnzIyMtSyZUtJ0u7duzV16lTl5eUpJCREqampat68uUNpVjVoWFd1gv+vm40aNbD/X1B4VvnHTztUPgAAznLhmFWWkuNYSYxpAOAeDgVU3bp109ChQ3XPPfeUWp6SkqJBgwYpKSlJ6enpSk5O1ooVKxxKs6pOcKD6PpJeZlrGgiTlO1Q6AADOU9GYVRnGNABwD4em/MXExCgiIqLUspycHG3btk0JCQmSpISEBG3btk25ubmW0wAAAADAEzn9OVTZ2dkKDw9XQECAJCkgIECNGzdWdna2jDGW0kJDQ53dTAAAAABwmFc+2DcsrH6V1y1vLrqz1veEvO6sm3bXnrzurJt215687q4bAABP4/SAKiIiQgcPHlRxcbECAgJUXFysQ4cOKSIiQsYYS2nVlZNzwv4U5MoG78OHqz7jvFGjBtVa3xPyurNu2l178rqzbtpde/K6sm5/f79q/RgGAICncPpt08PCwhQVFaXVq1dLklavXq2oqCiFhoZaTgMAAAAAT+TQGaqnnnpKa9eu1ZEjR3TfffcpJCRE7777rmbOnKmpU6dq6dKlatiwoVJTU+15rKYBAAAAgKdxKKCaMWOGZsyYcdHyFi1aaNWqVWXmsZoGAAAAAJ7GK29KAQCAVPYD6I8ePapHH31Uv/zyi4KCgnTVVVdp1qxZ9inmrVq1UsuWLeXvf25WfFpamlq1aiVJWrdundLS0lRcXKwbbrhBc+fOVd26dd3WP2eq7KHCFV2TzEOFAfgyAioAgNcq6wH0fn5+GjFihGJjYyWdC7rmz5+vp59+2r7OypUrVa9evVJlnTx5Uk888YRef/11NW/eXNOnT9fy5cs1duzYmumMi/FQYQCwxuk3pQAAwFOU9QD6kJAQezAlSW3atNH+/fsrLevTTz9V69at1bx5c0nSwIED9d577zm1vQCA2oczVAAAn2Wz2fTmm28qLi6u1PIhQ4aouLhYnTp10rhx4xQUFKTs7GxFRkba14mMjFR2dnZNNxkA4GEIqAAAPmv27Nm69NJLNXjwYPuyjz/+WBERETpx4oSmTJmiJUuW6OGHH3Zana583pY7H5zsyrq9tV+eWK+v1u2LfXZn3d7WZwIqAIBPSk1N1d69e7Vs2TL7DSgk2acI1q9fX3fddZdeffVV+/L169fb19u/f7/DD5+/kKMDvaMPbXZX3RVx9GHUtbFuX+yzO+v2xT67s+7a2OfKHj7PNVQAAJ+zcOFCZWVlacmSJQoKCrIvP3bsmAoKCiRJZ8+eVWZmpqKioiRJHTt21Hfffac9e/ZIOnfjil69etV42wEAnoUzVAAAr1XWA+ife+45vfTSS2revLkGDhwoSWratKmWLFmin3/+WcnJyfLz89PZs2cVHR2tCRMmSDp3xmrWrFkaPXq0bDaboqKiNH36dHd2DwDgAQioAABeq7wH0P/4449lrh8dHa2MjIxyy+vevbu6d+/utPah8udfSTwDC4BnI6ACAABu48jzrySegQXA/biGCgAAAAAsIqACAAAAAIsIqAAAAADAIgIqAAAAALCIgAoAAAAALCKgAgAAAACLuG06AADwSY48A4vnXwE4j4CqAmXtaEvuWNmZAgBQeznyDCyefwXgPAKqClS2o2VnCgAArKjs7Fh5Z8YkftAFPI1LA6qPPvpIzz//vIwxMsZo7Nixuu2227R7925NnTpVeXl5CgkJUWpqqpo3by5JFaYBAAB4A86OAd7DZTelMMbo0UcfVVpamtLT05WWlqbHHntMNptNKSkpGjRokDIzMzVo0CAlJyfb81WUBgAAAACexKVnqPz9/ZWff+43lPz8fDVu3FhHjx7Vtm3b9Oqrr0qSEhISNHv2bOXm5soYU25aaGioK5sKAADg9Ry5EYfk2HRDd94EhCmWcCWXBVR+fn567rnn9OCDD+rSSy/VyZMn9fLLLys7O1vh4eEKCAiQJAUEBKhx48bKzs6WMabctOoEVGFh9au8bkVfIGfnd6Summynp+R1Z920u/bkdWfdtLvm6wbgGEemGkqOTTd05zRHd9XtzgAWNcdlAdXZs2f10ksvaenSpWrXrp2+/vprTZw4UWlpaa6q0i4n54RsNiOp8sH78OHyvyJVGfgryn9hWVVd15l53Vk37a49ed1ZN+2uPXldWbe/v1+1fgwDgNrAnQEsao7LAqrt27fr0KFDateunSSpXbt2qlu3roKDg3Xw4EEVFxcrICBAxcXFOnTokCIiImSMKTcNAAAAADyNy25KceWVV+rAgQP6+eefJUm7du1STk6OrrrqKkVFRWn16tWSpNWrVysqKkqhoaEKCwsrNw0AAAAAPI3LzlA1atRIM2fO1IQJE+Tn5ydJevrppxUSEqKZM2dq6tSpWrp0qRo2bKjU1FR7vorSAACojtTUVGVmZmrfvn3KyMhQy5YtJVX8iA4e7QEAqA6X3uUvMTFRiYmJFy1v0aKFVq1aVWaeitIAAKiObt26aejQobrnnntKLT//iI6kpCSlp6crOTlZK1ascCgNADyJO++q6GtcGlABAOBOMTExFy3Lycmx9PgOHu0BoDbh4dE1h4AKAOBTrD6+w1mP9gAAb+drz/0ioAIAoAa58vbw7nzOly/W7Yt9dmfdvthnd9btaL2OnB2r48I+u2J7ElABAHxKRESEpcd3OOvRHiWflXghRwd6R58x5o66nXFw46662d41Wzfbu2brro3buzJWn6VY2bMSXXbbdAAAPFFFj+iwmgYA8F2coQIAeK2nnnpKa9eu1ZEjR3TfffcpJCRE7777ruXHd/BoDwDwXI7c2VCyfv0WARUAwGvNmDFDM2bMuGi51cd38GgPAPBcjtzZULJ+d0Om/AEAAACARQRUAAAAAGARARUAAAAAWERABQAAAAAWEVABAAAAgEUEVAAAAABgEQEVAAAAAFhEQAUAAAAAFhFQAQAAAIBFBFQAAAAAYBEBFQAAAABYFOjKwgsLC/X000/rq6++UnBwsNq0aaPZs2dr9+7dmjp1qvLy8hQSEqLU1FQ1b95ckipMq00aNKyrOsGlN2+jRg3s/xcUnlX+8dM13SwAAAAATuTSgGrevHkKDg5WZmam/Pz8dOTIEUlSSkqKBg0apKSkJKWnpys5OVkrVqyoNK02qRMcqL6PpJebnrEgSfk12B4AAAAAzueyKX8nT57UO++8owkTJsjPz0+SdMUVVygnJ0fbtm1TQkKCJCkhIUHbtm1Tbm5uhWkAAAAA4Glcdobq119/VUhIiF544QWtX79e9erV04QJE1SnTh2Fh4crICBAkhQQEKDGjRsrOztbxphy00JDQ13VVAAAAACwxGUBVXFxsX799Vddf/31euyxx/TNN99ozJgxev75511VpV1YWP0qr1vyuiYrHMlfnby1pZ3OzOvOuml37cnrzrppd83XDQCAp3FZQBUREaHAwED79L0//OEPuvzyy1WnTh0dPHhQxcXFCggIUHFxsQ4dOqSIiAgZY8pNq46cnBOy2Yykygfvw4fLv5KpKgN/efkdySuVfVOL86p7Q4tGjRpUWJcn5nVn3bS79uR1Z92027l5/f39qvVjGAAAnsJlAVVoaKhiY2P1xRdf6NZbb9Xu3buVk5Oj5s2bKyoqSqtXr1ZSUpJWr16tqKgo+5S+itJ8SUU3tajshhbcYRAAKvfbb7/poYcesr/Oz8/XiRMntGHDBsXFxSkoKEjBwcGSpMmTJ6tjx46SpK1btyo5OVmFhYVq0qSJ5s2bp7CwMLf0AQDgfi69y9+TTz6padOmKTU1VYGBgUpLS1PDhg01c+ZMTZ06VUuXLlXDhg2Vmppqz1NRGqrGkTsMOhqMXZifQA6Ap2ratKnS0/9vXzlnzhwVFxfbXy9atEgtW7Yslcdms2nKlCmaO3euYmJitHTpUs2fP19z586tsXYDADyLSwOqZs2a6bXXXrtoeYsWLbRq1aoy81SUBtdz9HbvnFkDUBsVFRUpIyNDy5cvr3C9rKwsBQcHKyYmRpI0cOBAdevWjYAKAHyYSwMqoDrceWYNgG9bt26dwsPDdcMNN9iXTZ48WcYYtWvXTpMmTVLDhg2VnZ2tyMhI+zqhoaGy2Wz2h9FXhSuvFXPnTT98sW5f7LM76/bFPruzbl/ss9W6CajgFXiQMgBH/Otf/9Idd9xhf/36668rIiJCRUVFmjNnjmbNmqX58+c7pa6SN066kKMHEY7ecMQddTvjwMlddbO9a7ZutnfN1s32/j+V3TjJZQ/2BWqTBg3rqlGjBvYv4vn/GzVqoAYN67q5dQBc6eDBg9q4caP69u1rX3b+7rJBQUEaNGiQNm/ebF++f/9++3q5ubny9/ev8tkpAID34QwVIMeu/QJQu7399tvq3LmzLr/8cknSqVOnVFxcrAYNGsgYozVr1igqKkqS1Lp1axUUFGjTpk2KiYnRypUrFR8f787mAwDcjIAKcBDXbwG129tvv63p06fbX+fk5GjcuHEqLi6WzWZTixYtlJKSIkny9/dXWlqaUlJSSt02HQDguwioAAdxMw2gdsvMzCz1ulmzZnrnnXfKXb9t27bKyMhwcasAALUFARXgRo7eTMOR534RzAEAADiOgAqoxRy59oszawAAAI4joAJQbe48swYAAOBJCKgA1DhHzqxxdgwAAHgSAioAtYo7pypyZg0AAFyIgAqAz3B0qiLPKwMAABcioAKAGuDI2THOrAEA4LkIqACgBjhydowzawAAeC4CKgBAubgJCAAAFSOgAgCUi+eVAQBQMQIqAIBLODpVEQCA2sDf3Q0AAAAAgNqKgAoAAAAALKqRgOqFF15Qq1at9NNPP0mStm7dqsTERPXs2VPDhw9XTk6Ofd2K0gAAAADAk7g8oPr++++1detWNWnSRJJks9k0ZcoUJScnKzMzUzExMZo/f36laQAAAADgaVwaUBUVFWnWrFmaOXOmfVlWVpaCg4MVExMjSRo4cKDef//9StMAAAAAwNO49C5/zz//vBITE9W0aVP7suzsbEVGRtpfh4aGymazKS8vr8K0kJCQKtcbFla/yuuWvIWvFY7kd1ded9ZNu2tPXnfWTbtrT1531w0AgLu5LKDasmWLsrKyNHnyZFdVUa6cnBOy2Yykygfrw4fLv2lvVQb68vI7krcq+Wm38/JWJT/tdl7equSn3c7LW5X8ntBuf3+/av0Y5ixxcXEKCgpScHCwJGny5Mnq2LGjtm7dquTkZBUWFqpJkyaaN2+ewsLCJKnCNACA73HZlL+NGzdq165d6tatm+Li4nTgwAHdf//92rt3r/bv329fLzc3V/7+/goJCVFERES5aQAAuMKiRYuUnp6u9PR0dezYkWt9AQDV4rKAatSoUfr888+1bt06rVu3TldeeaWWL1+uESNGqKCgQJs2bZIkrVy5UvHx8ZKk1q1bl5sGAEBN4FpfAEB1uPQaqrL4+/srLS1NKSkppaZLVJYGAIArTJ48WcYYtWvXTpMmTXL5tb6unNrozmvSfLFuX+yzO+v2xT67s25f7LPVumssoFq3bp39/7Zt2yojI6PM9SpKAwDAmV5//XVFRESoqKhIc+bM0axZs9SjRw+X1lnyOt8LOXoQUdH1cJVxV93OOHByV91s75qtm+1ds3Wzvf9PZdf51siDfQEA8EQRERGSpKCgIA0aNEibN2+u8HpervUFAFyIgAoA4JNOnTql/Pxzv0QaY7RmzRpFRUVVeD0v1/oCAC5U49dQAQDgCXJycjRu3DgVFxfLZrOpRYsWSklJ4VpfAEC1EFABAHxSs2bN9M4775SZxrW+AICqYsofAAAAAFhEQAUAAAAAFhFQAQAAAIBFBFQAAAAAYBEBFQAAAABYREAFAAAAABYRUAEAAACARQRUAAAAAGARARUAAAAAWERABQAAAAAWEVABAAAAgEUEVAAAAABgEQEVAAAAAFhEQAUAAAAAFrksoDp69KhGjhypnj17qm/fvho7dqxyc3MlSVu3blViYqJ69uyp4cOHKycnx56vojQAAAAA8CQuC6j8/Pw0YsQIZWZmKiMjQ82aNdP8+fNls9k0ZcoUJScnKzMzUzExMZo/f74kVZgGAAAAAJ7GZQFVSEiIYmNj7a/btGmj/fv3KysrS8HBwYqJiZEkDRw4UO+//74kVZgGAIAzVTSTolWrVurbt6+SkpKUlJSkH3/80Z5v3bp1io+PV48ePTRx4kSdPn3aXV0AAHiAGrmGymaz6c0331RcXJyys7MVGRlpTwsNDZXNZlNeXl6FaQAAOFN5MynOW7lypdLT05Wenq5WrVpJkk6ePKknnnhCy5Yt0wcffKB69epp+fLl7uoCAMADBNZEJbNnz9all16qwYMH64MPPnB5fWFh9au8bqNGDRyqy5H87srrzrppd+3J6866aXftyevuuh1R1kyKN998s8I8n376qVq3bq3mzZtLOjeTYurUqRo7dqwrmwoA8GAuD6hSU1O1d+9eLVu2TP7+/oqIiND+/fvt6bm5ufL391dISEiFadWRk3NCNpuRVPlgffhwfrlpVRnoy8vvSN6q5Kfdzstblfy023l5q5Kfdjsvb1Xye0K7/f39qvVjmLOVnElx3pAhQ1RcXKxOnTpp3LhxCgoKumgmRWRkpLKzs93RZACAh3BpQLVw4UJlZWXp5ZdfVlBQkCSpdevWKigo0KZNmxQTE6OVK1cqPj6+0jQAAFyl5EwKSfr4448VERGhEydOaMqUKVqyZIkefvhhp9TlysDRnWf8fLFuX+yzO+v2xT67s25f7LPVul0WUO3YsUMvvfSSmjdvroEDB0qSmjZtqiVLligtLU0pKSkqLCxUkyZNNG/ePEmSv79/uWkAALjChTMpJCkiIkKSVL9+fd1111169dVX7cvXr19vz7t//377ulVVchbFhRw9iKjobGNl3FW3Mw6c3FU327tm62Z712zdbO//U9ksCpcFVNdee22puyKV1LZtW2VkZFQ7DQAAZyprJsWxY8cUHBysOnXq6OzZs8rMzFRUVJQkqWPHjpo9e7b27Nmj5s2ba+XKlerVq5c7uwAAcLMauSkFAACepryZFCNGjFBycrL8/Px09uxZRUdHa8KECZLOnbGaNWuWRo8eLZvNpqioKE2fPt2d3QAAuBkBFQDAJ1U0k6KimRLdu3dX9+7dXdUsAEAtUyPPoQIAAAAAb0RABQAAAAAWEVABAAAAgEUEVAAAAABgEQEVAAAAAFhEQAUAAAAAFhFQAQAAAIBFBFQAAAAAYBEBFQAAAABYREAFAAAAABYRUAEAAACARQRUAAAAAGARARUAAAAAWERABQAAAAAWEVABAAAAgEUEVAAAAABgEQEVAAAAAFjkkQHV7t27NWDAAPXs2VMDBgzQnj173N0kAAAkMUYBAErzyIAqJSVFgwYNUmZmpgYNGqTk5GR3NwkAAEmMUQCA0gLd3YAL5eTkaNu2bXr11VclSQkJCZo9e7Zyc3MVGhpapTL8/f1KvW58ed0qr3uhivJWlt+RvJXlp93OzVtZftrt3LyV5afdzs1bWX5PaHdlbfAUrhijLlTZNnOk7Mq4q25H6nVn3Wzvmq2b7V2zdbO9K15Wkp8xxjhUq5NlZWXpscce07vvvmtf1rt3b82bN0833HCDG1sGAPB1jFEAgAt55JQ/AAAAAKgNPC6gioiI0MGDB1VcXCxJKi4u1qFDhxQREeHmlgEAfB1jFADgQh4XUIWFhSkqKkqrV6+WJK1evVpRUVFVnpsOAICrMEYBAC7kcddQSdKuXbs0depUHT9+XA0bNlRqaqquvvpqdzcLAADGKABAKR4ZUAEAAABAbeBxU/4AAAAAoLYgoAIAAAAAiwioAAAAAMAiAioAAAAAsIiACgAAAAAsIqCqBb788ssare/o0aPavn27tm/frqNHj9Zo3b7u2LFjNV7nyZMn9f333+vEiRPVypeXl6ft27frp59+UkFBgYtaB29x+vRpZWVl6fjx4+5uCgDAh9TEcS0BlYfZuXPnRX+PP/64du3apZ07d7q07l9++UX33nuvbrvtNk2ePFmTJ0/WbbfdpnvvvVd79uypcjnHjx/noKkKfvjhB91+++268847tWvXLo0aNUqdOnVS586dtX37dpfVm5ycrNzcXEnS119/rR49eujRRx9Vjx499Pnnn1eaf9++fRoxYoRuuukm3X777RoyZIhiY2P1zDPPqKioyGXt9lWxsbF66qmnLH0mjh49qunTp2v48OF6/fXXS6WNGzeu0vxffPGF/f/8/HxNmTJF3bt317hx43TkyJEK837wwQdq27at4uPj9e2336p37972z9m6deuq3Rdfxj615rj7B0Xe65rlK9vbkX15beas49oqMT7o/vvvr3SdwsJCs3TpUjNjxgzz0UcflUqbNWtWhXn37dtnxo4da8aPH28OHTpkZs6caaKjo83AgQPNr7/+WmHeVq1ambi4ONO1a1f73/XXX2+6du1q4uLiKm13RRISEipMHzBggElPTzfFxcX2ZcXFxeadd94xf/rTnyrMm5OTYx5//HHTpk0b06ZNG/OHP/zBREdHm8cff9zk5OQ41O7qOnHihMnKyjL5+fmWy/jiiy+c2KKy3XPPPeY///mPefvtt02XLl1Menq6McaYDz/80Nx7771VLufo0aNm27Zt5scffzSnT5+udP2+ffva/x8yZIj55ptvjDHG/Pzzz6Z///6V5h88eLBJT083eXl5ZsWKFeb55583R44cMdOmTTMzZ86scrtLysvLq9b6ubm5Ztu2bWbbtm0mNzfXUp3udOrUKfPdd9+ZY8eOVbpu165dzZw5c8xNN91k+vXrZ1577bUqb69x48aZ1NRUk5mZaYYNG2Yeeughc+bMGWOMMUlJSZXm79evn/3/J5980qSkpJgff/zRLFy40EyYMKHCvElJSeaHH34wGzZsMB06dDBff/21McaYnTt3VqluX+dJ+9Sa9Pnnn9v/P378uJk8ebLp1q2bGTt2rDl8+LDL6t27d68ZOnSoiYmJMb179za9e/c2MTExZujQoWb37t0uq9cY973XP/30k/3/oqIi89xzz5mhQ4eauXPnmlOnTrmsXnfX7QnfrZoewxzZlzvKne+1I8e11eW1AdWpU6fK/evUqVOl+R9//HEzceJE88orr5g+ffqYp556yp5W8oNZlhEjRpi//vWvZsmSJSYhIcEsW7bMHD582KxYscI88MADFeZdvHixGTFihNm3b599WdeuXStt73k7duwo9++WW26pMG/Pnj0tpRljzPDhw83SpUtL7RhycnLMkiVLzPDhwyttd25urpk2bZq57777zN/+9rdSaWPHjq0w7xNPPGHfCW7atMncfPPNpnfv3uamm24yn332WaV1l7WtOnXqZHbu3Gl27NhRYd4OHTqY2bNnm23btlVaz4VKfo66dOlSKq0qB5y//fabuf/++02rVq3MddddZzp06GBuvPFGM3fuXFNYWFhuvttuu83+/+23314qrbKg25jSAZkxxtxxxx3GmHM7qR49elSaf/v27aZ///7mjjvuMDt37jQjR440N954o+nUqVOl29GRgx5XHqhVtt3Wrl1roqOjTc+ePc0333xjunTpYnr16mU6dOhgPvzwwwrznv+cFBUVmffee8+MHDnStGnTxkycOLFUn8pS8r2y2Wxm5syZZvjw4aagoKBKn7GS6yQmJpqioiL768r6XDLvhfswAqrKObpPdYS7ghpj3HfgV5MHXhdy13tdclsvWLDAPPDAA2bdunXmscceMzNmzHBZve6u253fLXcF7o7s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Nm3apJdeeklvvvmm/vOf/0iSdu7cqSeffFJpaWn67LPPlJeXpwMHDlhqZ25ursaOHauJEyfqv//9r373u9+VO7B9/vnn2rRpkzIzM/X111/rueeeU0hIiAYMGKC+ffvq/vvv15YtW7Rs2bIy83/44YeKj4/Xhg0blJCQoAcffFBnzpypsH2XXnqp/vznP6tx48basmWLtmzZovDw8FLr7N69W4888oimTZumr776Sp06ddKYMWNUVFRkX+e9997TX/7yF3344Yf68ccf9dZbb1VzSwGA9/CkMWrjxo265pprykxjjAIqR0AFr/XNN9/ozJkzuvfee3XJJZcoPj5e//M//1Pl/LGxsWrVqpX8/f113XXXqU+fPtqwYYMk6f3331eXLl3Uvn17BQUFacKECfL3t/Z1+vTTT3XttdcqPj5el1xyie69915dccUVZa4bGBiokydP6ueff5YxRi1atFDjxo2rXNcNN9xgr+e+++5TUVGRvvnmG0vtLmnNmjXq3LmzbrnlFl1yySW6//77VVBQoC1bttjXGTJkiMLDwxUSEqKuXbtq+/btDtcLALWVp4xR//znP5WVlVXujSUYo4DKcVMKeK1Dhw4pPDxcfn5+9mWRkZFVzv/NN99o/vz52rFjh86cOaOioiLFx8fby77yyivt61566aUKCQmx3M6SZfn5+SkiIqLMdW+++Wbdc889mjVrlvbt26fbbrtNjz32mOrXr1+lukrW4+/vr/DwcB06dMhSu0s6dOhQqW3r7++viIgIHTx40L6sUaNG9v/r1q3rlHoBoLbyhDHqP//5jxYuXKhXX31VoaGh5baTMQqoGGeo4LUaNWqkgwcPlprrvX//fvv/devWVUFBgf314cOHS+V/5JFH1K1bN33yySf6+uuvNXDgQHtZjRs3LjV94vTp08rLy7PczpJlGWOUnZ1d7vpDhw7VW2+9pTVr1mjPnj36y1/+IkmlBuXylKzHZrPp4MGD9l8P69atq9OnT9vTS26Pyspu3LhxqW17vg8XTrsAAJzj7jHq008/1YwZM7Rs2TK1atWqwnYyRgEVI6CC12rTpo0CAwO1YsUKnTlzRmvXrtV3331nT7/uuuu0Y8cObd++XYWFhRdd0Hvy5ElddtllCg4O1rfffqvVq1fb03r27KmPP/5YmzZtUlFRkRYtWiSbzWZPN8aosLDQPve7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7bffriFDhig2NlbPPPOMioqKnNhK6z744AO1bdtW8fHx+vbbb9W7d2/7ftRKQDBs2DD7/8uXL9eqVat0/fXX66OPPtLChQud2HLncmR/kpycrF9//VXjxo1Tp06ddM8992jw4MF64YUX9Prrrzuxlda54rPo7M/OzJkz9dNPP+nqq6/W/PnzNWfOHHva5s2bLbXxqaee0kMPPaTBgwdrxIgRSkhI0DfffKOUlBSlpqZaKtPZnB30LV26VDk5OZKknTt3qkePHurSpYu6dOmirKwsh9t7/Phxpx3HOX2sMj4kNzfXTJs2zdx3333mb3/7W6m0sWPH1oo61q5da6Kjo03Pnj3NN998Y7p06WJ69eplOnToYD788EOHyzfGmO3bt5v+/fubO+64w+zcudOMHDnS3HjjjaZTp05m27ZtTqmjPPfff79TynH1durbt6/9/yFDhphvvvnGGGPMzz//bPr37+9w+cYYM2bMGLN06VLz/fffm2eeeca89NJL5ptvvjEjRowwzz//vMPl79u3z4wdO9aMHz/eHDp0yMycOdNER0ebgQMHml9//dUJPTCma9euZs6cOeamm24y/fr1M6+99prJy8tzStnntWrVylx33XWmVatWF/1dd911Dpe/Y8eOi/46depkdu7caXbs2OGEHhjzxBNPmJycHGOMMZs2bTI333yz6d27t7npppvMZ5995nD5n3/+uf3/48ePm8mTJ5tu3bqZsWPHmsOHDztcvjHG7N271wwdOtTExMSY3r17m969e5uYmBgzdOhQs3v3bqfU4c02btxoevfubYYPH25++eUXk5CQYP7whz+YW265xWzevLna5Q0ePNikp6ebvLw8s2LFCvP888+bI0eOmGnTppmZM2daaqOzx7ekpCTzww8/mA0bNpgOHTqYr7/+2hhjzM6dO01SUpKl8s67/fbb7d+pU6dOmT59+lS7vMokJCRUO4+z9ye9evWy/3/mzBkzcOBAY4wxeXl5pmfPntUuzxhjOnToYGbPnu208d4Vn0Vnf3ZKvpenT582DzzwgHn88ceNzWazVJ4xxvTr18/+f5cuXS5qf3W5Ysy+5557zH/+8x/z9ttvmy5dupj09HRjjDEffvihuffee6tdXsntOGrUKLN27VpjjDEbNmwwAwYMsNTGnJwc8/jjj5s2bdqYNm3amD/84Q8mOjraPP74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+vXrKNjCL1zOUt1fypyhsPCsTpwoqPF63c2d77U73mfJfe91bdmPuGuMqsnxpabei5rqU01+trytT97WH8k7+1Rdntw2q1zdp8rK97iAyhkuv7yeW+pdPuM2t9TrbmFh9d3dBLhYcHCggoN5n30B77XrWRmjanJ8qal9ek31qSbHKG/rk7f1R/LOPlWXJ7fNKnf3yeNuShEREaGDBw+quLhYklRcXKxDhw4pIiLCzS0DAPg6xigAwIU8LqAKCwtTVFSUVq9eLUlavXq1oqKimJsOAHA7xigAwIX8jDHG3Y240K5duzR16lQdP35cDRs2VGpqqq6++mp3NwsAAMYoAEApHhlQAQAAAEBt4HFT/gAAAACgtiCgAgAAAACLCKgAAAAAwCICKgAAAACwiIAKAAAAACwioAIAAAAAiwioaplvv/3W3U0AAAAA8P8RUNUyKSkp7m4CACfjcYBwluPHj+v48ePuboZLfPnll+5uglPt2rXL3U2AD/HmfUNeXp67m6BAdzcA1cOBl2/Zt2+f3njjDe3cuVOSdO211+ruu+9WkyZN3NwyONPtt9+ut99+293NQC2Vm5ur+fPn67333pN0bpzw9/dXfHy8Jk+erNDQUDe3sPrO7/NKevzxx/XKK6/IGKNrrrnGDa2y7vTp0xctGzlypNasWSNjjOrWreuGVrlO3759lZGR4e5mVMv+/fs1d+5c+fv7a8aMGVq6dKnS09PVqlUrzZs3T02bNnV3E6vNG/cNS5cu1YABAxQWFqadO3fqgQce0OHDhxUSEqIXXnhBrVu3dku7/AxH6LVK586dNWrUqHLT77nnnhpsDVxp165duvvuu3XrrbfqxhtvlCR99913+vzzz/XGG2+oRYsWbm4hnKVfv35655133N0M1FL333+/YmJiNHDgQF1++eWSzh1IrVy5Ul9//bWWL1/u5hZW33XXXacmTZqU+hHx4MGDCg8Pl5+fnz788EM3tq76rrvuOvn5+ZX5o6ifn5+2b9/uhlY5pqyg97xhw4bp888/r8HWOG7kyJHq2LGjTpw4offee08JCQm644479N577+mrr77S0qVL3d3EavPGfUPJYH306NG688471aNHD23cuFELFizQypUr3dIuzlDVMgUFBcrKynJ3M1ADli5dqkmTJmngwIGllv/jH//Q0qVLtWDBAje1DM5WVFSkXbt2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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(3, 2, figsize=(12, 9))\n", "\n", "# Which factors should we analyze for class balance?\n", "factors = ['hour', 'minute', 'quad1', 'quad2', 'method', 'status']\n", "\n", "# Loop through the axis subplots and the factors\n", "for col, ax in zip(factors, axes.flatten()):\n", " # Minute is categorical but too many so quantize\n", " if col == 'minute':\n", " data = (reqs[col] // 5 * 5).value_counts()\n", " else:\n", " data = reqs[col].value_counts()\n", " data.plot(kind='bar', ax=ax)\n", " ax.set_title(f\"{col} distibution\")\n", "\n", "# Matplotlib trick to improve spacing of subplots\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "id": "236baa38-ab61-4405-b751-fa2dcd4d3d32", "metadata": {}, "source": [ "### Normalization and Scaling" ] }, { "cell_type": "code", "execution_count": 273, "id": "e5d37397-88b2-49cf-a725-d5a7b458f78a", "metadata": {}, "outputs": [], "source": [ "# Synthetic data to illustrate scaling\n", "def make_unscaled_features(N=200, j1=1/50, j2=1/10):\n", " \"\"\"Create DataFrame of synthetic data\n", " \n", " Feature_1 will be:\n", " * positively correlated with Target\n", " * numerically small values\n", " Feature_2 will be:\n", " * negatively correlatged with Target\n", " * numerically large values\n", " \n", " N - number of rows to geneate\n", " j1 - the relative scale of random jitter for F1\n", " j2 - the relative scale of random jitter for F2\n", " \"\"\"\n", " assert j2 > j1\n", " # Repeatable randomness\n", " np.random.seed(1)\n", " \n", " # Target points range from 10 to 20\n", " target = np.linspace(10, 20, N)\n", " \n", " # Feature_1 is roughly 1/100th size of Target\n", " feat1 = target / 100\n", " feat1 += np.random.normal(\n", " loc=0, scale=np.max(feat1)*j1, size=N) \n", "\n", " # Feature_2 is around 20,000\n", " feat2 = np.linspace(21_000, 19_000, N)\n", " feat2 += np.random.normal(\n", " loc=0, scale=np.max(feat2)*j2, size=N)\n", "\n", " df = pd.DataFrame({'Feature_1': feat1, \n", " 'Feature_2': feat2, \n", " 'Target': target})\n", " return (df.sample(frac=1)\n", " .reset_index()\n", " .drop('index', axis=1))" ] }, { "cell_type": "code", "execution_count": 274, "id": "a37a9e62-31c8-49cb-9fd4-d352e9a62f51", "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", "
Feature_1Feature_2Target
00.11299919247.75610411.407035
10.20417823432.27061320.000000
20.17367819179.44575317.336683
30.16141117579.62526416.633166
40.19220919255.16072619.095477
............
1950.11087420213.84854110.502513
1960.13769220934.65445013.316583
1970.18439318855.24119518.241206
1980.17784619760.31489017.839196
1990.14522920497.72235314.371859
\n", "

200 rows × 3 columns

\n", "
" ], "text/plain": [ " Feature_1 Feature_2 Target\n", "0 0.112999 19247.756104 11.407035\n", "1 0.204178 23432.270613 20.000000\n", "2 0.173678 19179.445753 17.336683\n", "3 0.161411 17579.625264 16.633166\n", "4 0.192209 19255.160726 19.095477\n", ".. ... ... ...\n", "195 0.110874 20213.848541 10.502513\n", "196 0.137692 20934.654450 13.316583\n", "197 0.184393 18855.241195 18.241206\n", "198 0.177846 19760.314890 17.839196\n", "199 0.145229 20497.722353 14.371859\n", "\n", "[200 rows x 3 columns]" ] }, "execution_count": 274, "metadata": {}, "output_type": "execute_result" } ], "source": [ "unscaled = make_unscaled_features()\n", "unscaled" ] }, { "cell_type": "code", "execution_count": 275, "id": "03e0098b-8e40-45df-b306-9eb906ad355c", "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", "
Feature_1Feature_2Target
Feature_11.000000-0.2729630.992514
Feature_2-0.2729631.000000-0.269406
Target0.992514-0.2694061.000000
\n", "
" ], "text/plain": [ " Feature_1 Feature_2 Target\n", "Feature_1 1.000000 -0.272963 0.992514\n", "Feature_2 -0.272963 1.000000 -0.269406\n", "Target 0.992514 -0.269406 1.000000" ] }, "execution_count": 275, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# univariate correlation with target?\n", "unscaled.corr()" ] }, { "cell_type": "code", "execution_count": 276, "id": "102faf5b-9260-4f7b-88fc-e3d44f96823a", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsQAAAEUCAYAAAAsgyAxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAC3rElEQVR4nOzdd4AU9fn48ff2272213uBo/fjDkGagoiIFBNFiS3RqDEmEhNj9JfEEjVF41eNiSXFYIw1NhREuor03jnugOu93+7e9p3fH3s77HKFqxwcn9dfsDs3OzuzO/vMM8/n+SgkSZIQBEEQBEEQhEuUsr83QBAEQRAEQRD6kwiIBUEQBEEQhEuaCIgFQRAEQRCES5oIiAVBEARBEIRLmgiIBUEQBEEQhEuaCIgFQRAEQRCES5oIiAVBEAaAmpoabr31VjIzM/nTn/50Xl87MzOT4uLi8/qaNpuN++67j6ysLJYtW3ZeX1sQhIFH3d8bIAjCwDR79mxqampQqVTyY2vWrCEuLq5H63zmmWeYOnVqb2xip1VVVfH4449z5MgRqqur2bhxI8nJyed1G87lgw8+ICIign379qFQKPrsdW6//XYWLVrEkiVL5Mf279/fZ6/XnjVr1lBTU8POnTtRqwN/yh5//HFWrlwJgNPpRJIktFotAFlZWfzrX/86L9vYX59XQRC6TgTEgiD0mddff/2CCgZcLler4KkzlEolM2bM4Ec/+hFLly7tgy3rubKyMjIyMvo0GL6QlJWVkZ6e3ubxfOqpp3jqqacA+Otf/0phYSHPP/98l1/D7XYHXNAJgjBwiZIJQRDOK5PJxK9//WumT5/OjBkzePHFF3G73QAUFRVxxx13MHnyZCZPnsxDDz1EU1MTAA8//DBlZWXcd999ZGZm8s9//pOdO3cyc+bMgPXPnj2bbdu2Ad5gaNmyZfzyl79k4sSJfPrppx2+fnuio6O59dZbGTt2bKfe4z/+8Q/mzJlDZmYm8+fPZ/369fJzhYWF3HbbbWRlZTF58mQefPDBdtezbNkypk2bRlZWFrfeeit5eXltLvfoo4+yYsUK3njjDTIzM9m2bRuPPvooL774orzM2ftq9uzZvPHGGyxcuJCsrCwefPBB7Ha7/PyGDRtYvHgxEydOZM6cOWzevJkXX3yRPXv28NRTT5GZmSkHncOHD6ewsBDwHt9f/epXTJkyhVmzZvHqq6/i8XgA+OSTT/je977Hs88+y6RJk5g9ezbffPNNu+//1KlT3H777WRnZ3PdddexceNGAF5++WVeffVVvvzySzIzM/nwww/bXUdX9umjjz7KE088wT333MOECRPYuXMnR48e5frrryczM5Nly5bx4IMPBuzXr776isWLF5Odnc3SpUvJyckB2v68CoJwAZMEQRD6wKxZs6StW7e2evz++++XHnvsMclisUg1NTXSDTfcIL333nuSJElSQUGBtGXLFslut0u1tbXSLbfcIj3zzDPtrnPHjh3SjBkz2n3dl19+WRo1apS0fv16ye12S1artcPXPxen0ykNGzZMKi4u7nC51atXSxUVFZLb7Za++OILafz48VJlZaUkSZL085//XHr11Vclt9st2Ww2affu3e2u58MPP5RMJpNkt9ulZ555Rlq0aFG7yz7yyCPSCy+80O7/z95Xs2bNkm644QapoqJCqq+vl+bNmye9++67kiRJ0sGDB6WJEydKW7Zskdxut1RRUSGdPHlSkiRJuu2226T//e9/Aa89bNgwqaCgQJIkSXr44Yel++67TzKZTFJxcbE0d+5cefmPP/5YGjVqlPTBBx9ILpdLeuedd6Rp06ZJHo+n1ftxOBzSnDlzpNdee02y2+3Stm3bpAkTJkinTp2SJMl7bB966KF294fP2ct1tE8feeQRaeLEidKePXskt9stmUwm6corr5TefPNNyeFwSGvXrpVGjx4t79ejR49KU6ZMkQ4cOCC5XC7pk08+kWbNmiXZ7XZ5H7f1HRAE4cIjMsSCIPSZn/zkJ2RnZ5Odnc39999PTU0N33zzDb/+9a8xGAxERUXxgx/8gC+++AKAtLQ0pk2bhlarJTIykjvvvJPdu3f3aBsmTJjAnDlzUCqVmM3mDl+/t1x77bXExcWhVCqZP38+aWlpHDp0CAC1Wk1ZWRlVVVXodDqys7PbXc+NN95ISEgIWq2WBx54gJycHEwmU69t5+23305cXBxGo5FZs2Zx/PhxAD766CNuuOEGpk2bhlKpJC4ujoyMjHOuz+12s3r1ah566CFCQkJITk7mzjvv5PPPP5eXSUxM5KabbkKlUvGd73yH6upqampqWq3r4MGDNDc3c++996LVarn88suZNWtWj4/VufbpVVddRVZWFkqlkuPHj+NyubjjjjvQaDTMnTs3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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_univariate_trends(df, Target='Target'):\n", " df = df.sort_values(Target)\n", " target = df[Target]\n", " X = df.drop(Target, axis=1)\n", " n_feat = len(X.columns)\n", " fig, axes = plt.subplots(n_feat, 1,\n", " figsize=(10, n_feat*2))\n", " for ax, col in zip(axes, X.columns):\n", " ax.plot(target, X[col])\n", " ax.set_title(f\"{col} as a function of {Target}\")\n", " fig.tight_layout()\n", " \n", "plot_univariate_trends(unscaled)" ] }, { "cell_type": "code", "execution_count": 277, "id": "40958754-c407-4bae-94f4-479afd83b960", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.027756186064182953" ] }, "execution_count": 277, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# apply a machine learning model\n", "X = unscaled.drop('Target', axis=1)\n", "y = unscaled['Target']\n", "\n", "X_train, X_test, y_train, y_test = (\n", " train_test_split(X, y, random_state=1))\n", "\n", "knn = KNeighborsRegressor()\n", "knn.fit(X_train, y_train).score(X_test, y_test)\n", "\n", "# best r-squared is 1.0\n", "# rule of thumb: reject model if r-squared is < 0.25" ] }, { "cell_type": "code", "execution_count": 278, "id": "accc963b-a11d-44b4-91ce-e7f0297ca7c0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9743878175626131" ] }, "execution_count": 278, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_new = MinMaxScaler().fit_transform(X)\n", "\n", "X_train, X_test, y_train, y_test = (\n", " train_test_split(X_new, y, random_state=1))\n", "\n", "knn2 = KNeighborsRegressor()\n", "knn2.fit(X_train, y_train).score(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 279, "id": "61b5539b-3402-47c2-a77c-a853193dfbbc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([ 1., 0., 2., 2., 4., 1., 1., 0., 8., 4., 13., 21., 11.,\n", " 15., 14., 13., 19., 15., 9., 9., 12., 6., 4., 3., 3., 4.,\n", " 2., 2., 0., 2.]),\n", " array([13478.28565813, 13902.97851262, 14327.67136711, 14752.36422159,\n", " 15177.05707608, 15601.74993057, 16026.44278506, 16451.13563954,\n", " 16875.82849403, 17300.52134852, 17725.21420301, 18149.9070575 ,\n", " 18574.59991198, 18999.29276647, 19423.98562096, 19848.67847545,\n", " 20273.37132994, 20698.06418442, 21122.75703891, 21547.4498934 ,\n", " 21972.14274789, 22396.83560237, 22821.52845686, 23246.22131135,\n", " 23670.91416584, 24095.60702033, 24520.29987481, 24944.9927293 ,\n", " 25369.68558379, 25794.37843828, 26219.07129277]),\n", " )" ] }, "execution_count": 279, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Value distribution before Scaling')" ] }, "execution_count": 279, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist(X['Feature_2'], bins=30)\n", "plt.title(\"Value distribution before Scaling\")" ] } ], "metadata": { "kernelspec": { "display_name": "dataeng_kernel", "language": "python", "name": "dataeng_kernel" }, "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.6" } }, "nbformat": 4, "nbformat_minor": 5 }