{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [], "collapsed_sections": [ "DOJ7AvNr2hET" ] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "markdown", "source": [ "# Guide to Extracting Data w/ APIs from the Dexcom G6 PRO\n", "\n", "\n", "\n", "\n", "Ever wanted to constantly monitor your blood glucose every 5 minutes, 24/7? With the [Dexcom G6 PRO CGM device](https://provider.dexcom.com/products/dexcom-g6-pro), you can track your glucose levels continuously over time and beam this data back so you can analyze it for yourself. In this notebook, we'll be showing you how to do just that, assuming you already have a Dexcom G6 PRO CGM device set up and tracking.\n", "\n", "If you want to know more about the Dexcom G6 PRO CGM device, see the [README](https://github.com/alrojo/wearipedia/tree/main/wearables/dexcom-g6-pro) for a detailed analysis of performances, sensors, data privacy, and extraction pipelines.\n", "\n", "We were able to extract glucose levels at a sampling rate of every 5 minutes from the API.\n", "\n", "

\n", "In this guide, we sequentially cover the following **five** topics to extract from the Dexcom API:\n", "1. **Setup**\n", "2. **Authentication/Authorization**\n", " - This requires a couple extra steps on your part\n", "3. **Data extraction**\n", " - You can get data from the API between any given date range in a couple lines of code.\n", "4. **Data visualization**\n", " - 4.1: We reproduce a plot from the Dexcom Clarity website that shows aggregated glucose levels over the course of a given day.\n", " - 4.2: We visualize when data was collected throughout the year.\n", " - We achieve this by plotting a calendar heatmap depicting when the user has been wearing the device by coloring according to the number of hours in the day at least 3 glucose measurements were logged.\n", " - 4.3: We reproduce the plot of glucose levels over a *particular day of interest*.\n", "5. **Data analysis**\n", " - 5.1: We analyze whether glucose levels change significantly between nighttime and daytime.\n", " - 5.2: We analyze whether glucose level *variability* changes significantly between nighttime and daytime.\n", " - 5.3: We check for anomalies in the data.\n", "\n", "Disclaimer: this notebook is purely for educational purposes. All of the data currently stored in this notebook is purely *synthetic*, meaning randomly generated according to rules we created. Despite this, the end-to-end data extraction pipeline has been tested on our own data, meaning that if you enter your own credentials on your own Colab instance, you can visualize your own *real* data. That being said, we were unable to thoroughly test the timezone functionality, though, since we only have one account, so beware." ], "metadata": { "id": "DOJ7AvNr2hET" } }, { "cell_type": "markdown", "source": [ "# 1. Setup\n", "\n", "## 1.1 Study participant setup and usage\n", "\n", "To set up the CGM device itself so that you can run this notebook, you can follow the [official instructions on the website](https://provider.dexcom.com/education-research/cgm-education-use/videos/getting-started-dexcom-g6-and-setting-g6-app)." ], "metadata": { "id": "X-MJnhzu4T_g" } }, { "cell_type": "markdown", "source": [ "# 2. Authentication/Authorization\n", "\n", "To be able to make requests to the API, the easiest way is to use the public developer API. We'll be roughly following the official steps outlined [here](https://developer.dexcom.com/authentication).\n", "\n", "First, set up your developer app:\n", "\n", "1. Register for a new developer account at [this link](https://developer.dexcom.com/user/register). Note that you can use any email you like, and it does not need to match the user email.\n", "2. Once logged in, click the green button titled \"Add an app\".\n", "3. Give the app any name you want, any description, and for Redirect URI you can entire in `https://www.google.com` (can be any valid base URL, but this is probably simplest).\n", "\n", "In the end, you should see something like the below.\n", "\n", "\n", "\n", "Now we can proceed with the rest of the notebook. Enter your the credentials from the app, and make sure that the redirect URI matches." ], "metadata": { "id": "cab7P6_f4eHn" } }, { "cell_type": "code", "source": [ "#@title Enter your credentials\n", "\n", "# for calendar plot\n", "!pip install -q july\n", "\n", "import requests\n", "import urllib\n", "import json\n", "from datetime import datetime\n", "import http.client\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import seaborn as sns\n", "\n", "import july\n", "from july.utils import date_range\n", "\n", "\n", "your_client_secret = \"NtWS1ViwrO9zuNkZ\" #@param {type:\"string\"}\n", "your_client_id = \"n92KUDE2pumPUO4u3FStNhKmmpUaV7Gw\" #@param {type:\"string\"}\n", "your_redirect_uri = \"https://www.google.com\" #@param {type:\"string\"}\n", "your_state_value = '1234'\n", "\n", "url = f'https://api.dexcom.com/v2/oauth2/login?client_id={your_client_id}&redirect_uri={your_redirect_uri}&response_type=code&scope=offline_access&state={your_state_value}'\n", "\n", "print(url)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "cellView": "form", "id": "RO3IljoG01Fd", "outputId": "eecbb6f2-8eb4-4e98-926a-534c57bc4587" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "https://api.dexcom.com/v2/oauth2/login?client_id=n92KUDE2pumPUO4u3FStNhKmmpUaV7Gw&redirect_uri=https://www.google.com&response_type=code&scope=offline_access&state=1234\n" ] } ] }, { "cell_type": "markdown", "source": [ "Visit the above URL and authorize yourself. You should see a page like this. In our case, enter `anusridh@stanford.edu` and `Stanford123` as the password.\n", "\n", "\n", "\n", "You may have to go through a second page where you have to type in your signature. Then, once you go through this portal, copy the URL you were redirected to below. You must do this quickly (there is a one minute expiration countdown).\n", "\n", "This will grant us an access token that lasts 10 minutes." ], "metadata": { "id": "6TtWtEhq78N9" } }, { "cell_type": "code", "source": [ "#@title Copy the URL into the text box below\n", "redirect_url = \"https://www.google.com/?code=6fa48a835c032d81eba4991963106771&state=1234\" #@param {type:\"string\"}\n", "\n", "try:\n", " your_authorization_code = urllib.parse.parse_qs(urllib.parse.urlparse(redirect_url).query)['code'][0]\n", "except Exception as e:\n", " print(f'Caught error:\\n{e}\\n')\n", " print(\"Please copy and paste the entire URL (including https)\")\n", "\n", "\n", "conn = http.client.HTTPSConnection(\"api.dexcom.com\")\n", "\n", "payload = f\"client_secret={your_client_secret}&client_id={your_client_id}&code={your_authorization_code}&grant_type=authorization_code&redirect_uri={your_redirect_uri}\"\n", "\n", "headers = {\n", " 'content-type': \"application/x-www-form-urlencoded\",\n", " 'cache-control': \"no-cache\"\n", " }\n", "\n", "conn.request(\"POST\", \"/v2/oauth2/token\", payload, headers)\n", "\n", "res = conn.getresponse()\n", "data = res.read()\n", "\n", "json_response = json.loads(data.decode('utf-8'))\n", "\n", "if 'error' in json_response.keys() and json_response['error'] == 'invalid_grant':\n", " print('The code you got has expired.')\n", " print('Authorize and enter the redirect URL again.')\n", "else:\n", " access_token = json.loads(data.decode('utf-8'))['access_token']\n", "\n", " print(f'Entire response was {data.decode(\"utf-8\")}')\n", " print(f'Our access token is {access_token}')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "bl-_tkzG1bKr", "outputId": "257094ab-6011-4996-dbd0-4dd6da2f079f", "cellView": "form" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "The code you got has expired.\n", "Authorize and enter the redirect URL again.\n" ] } ] }, { "cell_type": "markdown", "source": [ "# 3. Data extraction\n", "\n", "Data extraction is fairly simple for this API. For documentation about what endpoints you can hit and what data you can get, see [this official link](https://developer.dexcom.com/endpoint-overview). Here, we'll just extract the time-varying CGM values, which you can see more details for [here](https://developer.dexcom.com/get-egvs).\n", "\n", "Note: the start and end dates must be within 90 days of each other." ], "metadata": { "id": "M9UupU4kAFW8" } }, { "cell_type": "code", "source": [ "#@title Enter start and end dates\n", "\n", "from datetime import timedelta\n", "from tqdm import tqdm\n", "from scipy.ndimage import gaussian_filter\n", "\n", "start_day = datetime.strptime('2022-03-31', '%Y-%m-%d')\n", "\n", "def lerp(x1, x2, t):\n", " return t * x2 + (1 - t) * x1\n", "\n", "base_keypoints = [100] * 4 + [120] * 4 + [130] * 8 + [120] * 4 + [100] * 4\n", "\n", "def create_synth_df():\n", " datetimes = []\n", " glucoses = []\n", "\n", " for day_offset in tqdm(range(12)):\n", " if day_offset != 0:\n", " overlap = keypoints[-1]\n", " keypoints = list(np.random.randn(24) * 10 + np.array(base_keypoints))\n", " if day_offset != 0:\n", " keypoints[0] = overlap\n", "\n", " keypoints = keypoints + [keypoints[0]]\n", "\n", " for minute_offset in range(0, 24 * 60, 5):\n", " minute = start_day + timedelta(days=day_offset) + timedelta(minutes=minute_offset)\n", "\n", " scaled_offset = minute_offset / 60\n", "\n", " k1 = keypoints[np.floor(scaled_offset).astype('int')]\n", " k2 = keypoints[np.ceil(scaled_offset).astype('int')]\n", "\n", " value = lerp(k1, k2, scaled_offset % 1)\n", " if value > 130:\n", " scaling = 30\n", " else:\n", " scaling = 15\n", " value += np.random.randn() * scaling\n", "\n", " datetimes.append(minute)\n", " glucoses.append(value)\n", "\n", " synth_df = pd.DataFrame()\n", "\n", " synth_df['datetime'] = datetimes\n", " synth_df['glucose_level'] = gaussian_filter(glucoses, 2, mode='constant')\n", "\n", " synth_df['Time of Day'] = ['Day' if dt.hour in range(8, 20) else 'Night' for dt in datetimes]\n", " synth_df['Rates of change'] = np.random.randn(synth_df.shape[0])\n", " synth_df['Rates of change'].iloc[np.where(synth_df['Time of Day'] == 'Day')[0]] *= 3\n", "\n", " # take out some rows to create missing values\n", "\n", " missing_start = datetime.strptime('2022-04-06', '%Y-%m-%d') + timedelta(hours=14)\n", " missing_end = missing_start + timedelta(minutes=70)\n", "\n", " synth_df = synth_df.drop(np.where(np.logical_and(synth_df.datetime > missing_start, synth_df.datetime < missing_end))[0])\n", "\n", " return synth_df\n", "\n", "start_date = \"2022-02-16\" #@param {type:\"date\"}\n", "end_date = \"2022-05-16\" #@param {type:\"date\"}\n", "synthetic = True #@param {type:\"boolean\"}\n", "\n", "if synthetic:\n", " df = create_synth_df()\n", "else:\n", " start_date = start_date + 'T15:30:00'\n", " end_date = end_date + 'T15:45:00'\n", "\n", " headers = {\n", " 'authorization': f\"Bearer {access_token}\"\n", " }\n", "\n", " endpoint = f'https://api.dexcom.com/v2/users/self/egvs?startDate={start_date}&endDate={end_date}'\n", "\n", " out = json.loads(requests.get(endpoint, headers=headers).text)\n", "\n", " if 'errors' in out.keys():\n", " print(f'Got error(s) {out[\"errors\"]}. Fix start and end dates and rerun.')\n", " elif 'fault' in out.keys():\n", " print(f'Got fault {out[\"fault\"]}. You might need to request another access token.')\n", " else:\n", " def dt_string_to_obj(dt_str):\n", " # converts string like \"2022-04-10T10:13:00\" to a datetime object\n", " return datetime.strptime(dt_str, '%Y-%m-%dT%H:%M:%S')\n", " \n", "\n", " data_dict = [{'datetime': dt_string_to_obj(x['displayTime']), 'glucose_level': x['realtimeValue']} for x in out['egvs'][::-1]]\n", "\n", " df = pd.DataFrame.from_dict(data_dict)" ], "metadata": { "cellView": "form", "id": "I93tIZpKCjQ7", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "da774499-1d71-46c9-ec61-fd59400811ba" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "100%|██████████| 12/12 [00:00<00:00, 124.69it/s]\n", "/usr/local/lib/python3.7/dist-packages/pandas/core/indexing.py:1732: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\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", " self._setitem_single_block(indexer, value, name)\n" ] } ] }, { "cell_type": "markdown", "source": [ "The code hidden above initialized `df`, a Pandas dataframe that represents the time series values for glucose. If we look at the `glucose_level` column without time information, we'll see the following..." ], "metadata": { "id": "rNVJFNSJLLR8" } }, { "cell_type": "code", "source": [ "df.glucose_level.describe()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "nYrn9JpDNWoF", "outputId": "d1223f52-6a36-4b8f-c141-592f03302a12" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "count 3443.000000\n", "mean 115.135375\n", "std 15.332945\n", "min 53.110343\n", "25% 103.611643\n", "50% 117.088519\n", "75% 125.586401\n", "max 168.108454\n", "Name: glucose_level, dtype: float64" ] }, "metadata": {}, "execution_count": 4 } ] }, { "cell_type": "markdown", "source": [ "As we can see, this user's glucose levels are around 100 mg/dL on average.\n", "\n", "And if we see how quickly the values were sampled at, we can see that they tend to be sampled in increments of 300 seconds, or 5 minutes." ], "metadata": { "id": "91Opux_fNbUS" } }, { "cell_type": "code", "source": [ "diffs = np.diff(df.datetime.apply(lambda x: x.timestamp()))\n", "pd.DataFrame(diffs).describe()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 300 }, "id": "Czf8IGuaPo6S", "outputId": "7bdd5b4c-16a8-4594-bb30-98f42a85bd80" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " 0\n", "count 3442.000000\n", "mean 301.133062\n", "std 66.475127\n", "min 300.000000\n", "25% 300.000000\n", "50% 300.000000\n", "75% 300.000000\n", "max 4200.000000" ], "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", "
0
count3442.000000
mean301.133062
std66.475127
min300.000000
25%300.000000
50%300.000000
75%300.000000
max4200.000000
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 5 } ] }, { "cell_type": "markdown", "source": [ "# 4. Data Visualization\n", "\n", "As a first attempt, let's see what they look like when we plot the levels over time (where time is the display time on the device)." ], "metadata": { "id": "lBkqdg8FK34F" } }, { "cell_type": "code", "source": [ "#@title Plot levels over time for all of the data\n", "# copy so we can restore the rcParams later on\n", "IPython_default = plt.rcParams.copy()\n", "\n", "plt.figure(figsize=(16,8))\n", "\n", "with plt.style.context('ggplot'):\n", "\n", " plt.plot(df.datetime, df.glucose_level, linewidth=.75)\n", "\n", " #gaussian_filter(glucoses, 10, mode='constant')\n", "\n", " plt.title('Glucose levels over time', fontsize=15)\n", "\n", " plt.xlabel('Time')\n", " plt.ylabel('Glucose (mg/dL)')\n", " plt.show()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 518 }, "id": "7SlMIhyxLKvY", "outputId": "91cf6248-0ef8-4936-99f7-a2d67330fb73", "cellView": "form" }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": [ "There's a whole lot of information in the plot above! Let's try to take it step by step and break it down.\n", "\n", "## 4.1: Aggregated day-long glucose levels\n", "\n", "As a starting point, let's try to reproduce the below graph that you can export from the online Clarity webapp, which shows rough glucose levels over the course of an average day (aggregated over all days measured).\n", "\n", "\n", "\n", "*This graph is taken directly from an exported PDF from the online webapp*\n", "\n", "First, we'll aggregate across all days and get aggregate glucose level statistics for every 15 minute interval. Then, we'll create a custom plot by leveraging lots of matplotlib functionality, including by poking deeper into the [Matplotlib architecture](https://www.aosabook.org/en/matplotlib.html) into the Artist layer and directly adding rounded rectangles to the plot (the error bars).\n", "\n", "Disclaimer: We aren't sure exactly how the error bars are derived, so the reproduced output is different." ], "metadata": { "id": "ZoVI0AkBNw9v" } }, { "cell_type": "code", "source": [ "#@title Aggregated day-long glucose level plot\n", "from matplotlib.ticker import (MultipleLocator, FormatStrFormatter,\n", " AutoMinorLocator)\n", "import matplotlib.patches as patches\n", "\n", "def dt_to_raw_min(dt_obj):\n", " return int(datetime.strftime(dt_obj, '%H')) * 60 + int(datetime.strftime(dt_obj, '%M'))\n", "\n", "raw_mins = np.array([dt_to_raw_min(x) for x in df.datetime])\n", "\n", "stats = []\n", "\n", "for i in range(0, 24 * 60, 15):\n", " idxes_of_interest = np.where(np.logical_and(i < raw_mins, raw_mins < i + 15))[0]\n", "\n", " levels = np.array(df.glucose_level.iloc[idxes_of_interest])\n", "\n", " median_level = np.median(levels)\n", "\n", " mean_level = np.mean(levels)\n", "\n", " std_level = np.std(levels)\n", " stde_level = np.std(levels) / np.sqrt(levels.shape[0])\n", "\n", " stats.append([median_level, mean_level, std_level, stde_level])\n", "\n", "\n", "# now let's actually plot\n", "\n", "fig, ax = plt.subplots(figsize=(15, 4))\n", "\n", "# background color in vertical-wise intervals accordingly\n", "for i in range(0, 500, 100):\n", " plt.axhspan(i, i + 50, facecolor='whitesmoke')#, alpha=0.5)\n", "\n", "for i in range(50, 550, 100):\n", " plt.axhspan(i, i + 50, facecolor='white')\n", "\n", "# now do the actual data\n", "\n", "# add 7 to make it all centered\n", "plt.plot(range(7, 24 * 60 + 7, 15), [x[0] for x in stats], marker='o', markerfacecolor='black', markeredgecolor='white', color='black')\n", "\n", "RECT_WIDTH = 5\n", "\n", "for i, (median, mean, std, stde) in enumerate(stats):\n", " rect_center = 15 * i + 7\n", " rect_height = stde * 7\n", " rect = patches.FancyBboxPatch((rect_center - RECT_WIDTH / 2, mean - rect_height / 2),\n", " RECT_WIDTH, rect_height,\n", " boxstyle=\"round,pad=-0.0040,rounding_size=5.5\",\n", " #boxstyle='round',\n", " linewidth=3, fc='silver', ec='silver')\n", "\n", " ax.add_patch(rect)\n", "\n", "# now plot horizontal lines\n", "plt.plot([0, 24 * 60], [180, 180], color='orange', linewidth=2)\n", "plt.plot([0, 24 * 60], [70, 70], color='red', linewidth=2)\n", "\n", "\n", "# now in the rest of the code we'll handle the ticks and borders etc.\n", "plt.ylim(25, 425)\n", "\n", "plt.xticks(ticks=np.linspace(0, 24 * 60, 9), labels=['12am', '3', '6', '9', '12pm', '3', '6', '9', '12am'])\n", "\n", "# make sure both major and minor x ticks are visible\n", "plt.tick_params(\n", " axis='x', # changes apply to the x-axis\n", " which='both', # both major and minor ticks are affected\n", " bottom=True, # ticks along the bottom edge are off\n", " labelsize=16\n", ")\n", "\n", "# make major x ticks longer\n", "plt.tick_params(\n", " axis='x',\n", " which='major',\n", " length=10\n", ")\n", "\n", "plt.yticks(np.linspace(100, 400, 4).astype(int))\n", "\n", "plt.tick_params(\n", " axis='y', # changes apply to the x-axis\n", " which='both', # both major and minor ticks are affected\n", " right=True, # ticks along the bottom edge are off\n", " labelsize=12\n", ")\n", "\n", "# 2 and 1 minor ticks per major tick on x and y-axis, respectively (https://matplotlib.org/3.1.1/gallery/ticks_and_spines/major_minor_demo.html)\n", "plt.gca().xaxis.set_minor_locator(AutoMinorLocator(3))\n", "plt.gca().yaxis.set_minor_locator(AutoMinorLocator(2))\n", "\n", "# disable vertical and horizontal grid lines\n", "plt.gca().xaxis.grid(False, which='both')\n", "plt.gca().yaxis.grid(False, which='both')\n", "\n", "# get the y-axis ticks to appear on the right\n", "plt.gca().yaxis.tick_right()\n", "\n", "# show the borders of the box (https://stackoverflow.com/questions/9750699/how-to-display-only-a-left-and-bottom-box-border-in-matplotlib)\n", "for side in ['left', 'right', 'top', 'bottom']:\n", " plt.gca().spines[side].set_visible(True)\n", " plt.gca().spines[side].set_color('black')\n", "\n", "# https://stackoverflow.com/questions/42045767/how-can-i-change-the-x-axis-in-matplotlib-so-there-is-no-white-space\n", "plt.margins(x=0)\n", "\n", "plt.show()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 277 }, "id": "DUSoIsoYIYFj", "outputId": "8f547874-21e2-43a7-8f51-092dd7f02205", "cellView": "form" }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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e/duZ9jdeeDRNis1xvyDpBmucLhKI2HvgtHhAkmtks6x1u4xxtSPjv/t6PjvSFporb023XLeFWfnyQSfrFq+6qqr1NjYqDvvvFOzZs1SZWVlaHX7pEmTdMEFF2jq1KmKxWKBqufrr79e7e3tevLJJ/XrX/9avb29Kikp8VRh5+bmOm2kY7GYKisrA9Xc7ptfE4lEYHxpaamnirqzszNQze0OUskqeX95V65cKWOMbrzxRk2bNi10ncvLyzV58mS9733v00svveT0UpYsS2FhoR544AEtW7ZM06dP16RJk0Ln435UwsKFCz3NMzo7OwNNZWfOnOlpTkIwBAAAmaiwsNBzXrNr165A53UtLS0pb5lZvHixLr/8crW3t6e87WbBggWKRqOh83CfQ0Wj0UCTXffzmpP9J/incXfaV1BQoObm5tDmwVlZWfrCF76ga6+9NrSZbH19vU4//XQtWLBAUrBp6i233KKvfOUruvfee7V169aU69zb26vbb79dPT09oePr6+uVk5Oj733veyovL3eeA+o+x500aZKee+45nX/++aqrq0u5nFWrVunjH/+4urq6Qtd5zpw5+t///d+UzXFLS0s1efJknXfeec69tP7t4m5ye+TIkcBnyN8xj//2r2PUIdDpkpzOQay1fRqpSTzdGFMm6RT3+NH/j90VvbV2XP6WLl1qrbW2ra3NVlVV2YMHD9qDBw/aMK+//rrdsGGD3bBhg926datnXGNjoz106JBdsWKFleT8rVixwh48eNB+//vft3V1daHjm5qa7Lp16+x3v/tdG4vFbCQS8UwTiURsLBZzhrdv3x46n+3bt9v8/HxbUVFhd+3aFTpNVVWVve666+yBAwdCx7e2ttrBwUFrrbU7duxwyhyJROyKFStsbW2tffbZZ+2ll15q8/PzU5Y3Ho/b7du329bW1tDl1NXV2a9+9av2kksusTt37gydZvfu3fbyyy+3X/3qV+3hw4dDp+nu7nb2wfDwsK2vr7etra22oaHBWQ8AAIAT0ebNm51zzw0bNthYLOYZ/8orr9gdO3bY5uZmG4/HbXNzs929e7czvqurK/R8rq6uzsbjcWuttb29vYF57Nixww4PDzvzaW9v95Rjw4YNdv/+/Z6yDA8PB6ZJJBKeaaqqqgLLSpbDWmvj8XjK8+CVK1faz3zmM2nPPZMOHz4cWOeGhgZn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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": [ "*Above is a plot we created ourselves!*\n", "\n", "Looks like we can pretty faithfully recover the same data that's displayed online for us!\n", "\n", "## 4.2: Missing data\n", "\n", "But how do we know when the user has been using the device? Which days' data did we just extract, and which ones have enough data to analyze?\n", "\n", "To figure this out, we'll make a calendar plot. Fortunately, this idea is easy to execute with the use of [`july`](https://github.com/e-hulten/july/), a custom library that allows us to create beautiful calendar plots. Unfortunately, since the device only samples fairly sparsely (roughly every 5 minutes), then it is hard to tell exactly when the device is on or off. As a reasonable proxy of glucose level coverage throughout a particular day, we opt to count the number of hours in that day that the device has logged at least 3 glucose measurements for." ], "metadata": { "id": "ky8uqx-L5iPu" } }, { "cell_type": "code", "source": [ "#@title Specify start and end dates and extract watch usage metrics\n", "start_date = \"2022-01-01\" #@param {type:\"date\"}\n", "end_date = \"2022-04-30\" #@param {type:\"date\"}\n", "\n", "from tqdm import tqdm\n", "import pytz\n", "\n", "dates = date_range(start_date, end_date)\n", "data = np.zeros((len(dates), 24))\n", "\n", "# populate data array\n", "for idx, date in tqdm(list(enumerate(dates))):\n", " local_tz = pytz.timezone('America/Los_Angeles')\n", "\n", " day_start = pd.Timestamp(date).replace(tzinfo=local_tz)\n", "\n", " for i in range(24):\n", " hour_start, hour_end = day_start + pd.Timedelta(hours=i), day_start + pd.Timedelta(hours=i+1)\n", "\n", " # check for number of measurements during this time\n", " bool_arr = np.logical_and(datetime.fromtimestamp(int(hour_start.timestamp())) < df.datetime,\n", " df.datetime < datetime.fromtimestamp(int(hour_end.timestamp())))\n", "\n", " num_measurements = len(np.where(bool_arr)[0])\n", "\n", " if num_measurements >= 3:\n", " data[idx, i] = 1" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "cellView": "form", "id": "2VtXyfSJMSMz", "outputId": "4b066eda-b40d-4708-c784-e2bbc32edace" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "100%|██████████| 120/120 [00:03<00:00, 38.69it/s]\n" ] } ] }, { "cell_type": "markdown", "source": [ "Now we make the calendar plot! The above cell calculated `data`. `data` is a 2D numpy array with axes (day, hour), where the first axis refers to a particular day and the second axis refers to a particular hour of the day. The value for, say `data[130,8]`, is exactly one if the user wore his watch from 8am to 9am on day 130 (which is 130 days after `start_date` as specified above) and otherwise zero." ], "metadata": { "id": "Edqmpp80N8tg" } }, { "cell_type": "code", "source": [ "# sum across hour axis\n", "july.calendar_plot(dates, data.sum(axis=1), value_label=True, weeknum_label=False, title=False)\n", "plt.suptitle('Watch usage', fontsize=\"x-large\", y=1.03)\n", "plt.show() # suppress output from above line" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 322 }, "id": "70vjTdwUNeqt", "outputId": "9292d62c-b914-4644-addb-6d18d2defbeb" }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": [ "As we can see, our user was fairly consistent about wearing the device during that time period. She wore the device for every hour of the day for 9 consecutive days.\n", "\n", "Now that we've seen high-level data, it's time to dig a bit deeper into day-level statistics.\n", "\n", "## 4.3: Glucose levels throughout a particular day\n", "\n", "In this section, we reproduce the plot below that you can find when exporting data from the Dexcom Clarity website.\n", "\n", "\n", "\n", "*Above is a plot taken directly from the Dexcom Clarity website!*\n", "\n", "Just enter any date you would like to plot, and the code below will plot its glucose levels, including missing values." ], "metadata": { "id": "quK9m2VKOAJ2" } }, { "cell_type": "code", "source": [ "#@title Visualize single day glucose levels\n", "date_to_visualize = \"2022-04-06\" #@param {type:\"date\"}\n", "\n", "date_to_visualize_orig = date_to_visualize\n", "date_to_visualize = '-'.join(date_to_visualize.split('-')[1:])\n", "\n", "from matplotlib.ticker import (MultipleLocator, FormatStrFormatter,\n", " AutoMinorLocator)\n", "import matplotlib.patches as patches\n", "\n", "import warnings\n", "warnings.filterwarnings(\"ignore\")\n", "\n", "# restore rcParams\n", "plt.rcParams.update(IPython_default)\n", "\n", "def dt_to_raw_min(dt_obj):\n", " return int(datetime.strftime(dt_obj, '%H')) * 60 + int(datetime.strftime(dt_obj, '%M'))\n", "\n", "raw_mins = np.array([dt_to_raw_min(x) for x in df.datetime])\n", "\n", "idxes = np.where(df.datetime.apply(lambda x: datetime.strftime(x, '%m-%d')) == date_to_visualize)[0]\n", "raw_mins = df.datetime.iloc[idxes].apply(lambda x: dt_to_raw_min(x))\n", "glucose_levels = df.glucose_level.iloc[idxes]\n", "\n", "# now let's actually plot\n", "\n", "fig, ax = plt.subplots(figsize=(15, 4))\n", "\n", "# background color in vertical-wise intervals accordingly\n", "for i in range(0, 500, 100):\n", " plt.axhspan(i, i + 50, facecolor='whitesmoke')\n", "\n", "for i in range(50, 550, 100):\n", " plt.axhspan(i, i + 50, facecolor='white')\n", "\n", "# now do the actual data\n", "\n", "gaps = list(np.where(np.diff(raw_mins) > 10)[0] + 1)\n", "cur_start = 0\n", "for gap in (gaps + [len(raw_mins)]):\n", " plt.plot(raw_mins.iloc[cur_start:gap],\n", " glucose_levels.iloc[cur_start:gap], color='black',\n", " linewidth=2)\n", " cur_start = gap\n", "\n", "# now plot horizontal lines\n", "plt.plot([0, 24 * 60], [180, 180], color='orange', linewidth=2)\n", "plt.plot([0, 24 * 60], [70, 70], color='red', linewidth=2)\n", "\n", "\n", "# now in the rest of the code we'll handle the ticks and borders etc.\n", "plt.ylim(25, 425)\n", "\n", "plt.xticks(ticks=np.linspace(0, 24 * 60, 9), labels=['12am', '3', '6', '9', '12pm', '3', '6', '9', '12am'])\n", "\n", "# make sure both major and minor x ticks are visible\n", "plt.tick_params(\n", " axis='x', # changes apply to the x-axis\n", " which='both', # both major and minor ticks are affected\n", " bottom=True, # ticks along the bottom edge are off\n", " labelsize=16\n", ")\n", "\n", "# make major x ticks longer\n", "plt.tick_params(\n", " axis='x',\n", " which='major',\n", " length=10\n", ")\n", "\n", "plt.yticks(np.linspace(100, 400, 4).astype(int))\n", "\n", "plt.tick_params(\n", " axis='y', # changes apply to the x-axis\n", " which='both', # both major and minor ticks are affected\n", " right=True, # ticks along the bottom edge are off\n", " labelsize=12\n", ")\n", "\n", "# 2 and 1 minor ticks per major tick on x and y-axis, respectively (https://matplotlib.org/3.1.1/gallery/ticks_and_spines/major_minor_demo.html)\n", "plt.gca().xaxis.set_minor_locator(AutoMinorLocator(3))\n", "plt.gca().yaxis.set_minor_locator(AutoMinorLocator(2))\n", "\n", "# disable vertical and horizontal grid lines\n", "plt.gca().xaxis.grid(False, which='both')\n", "plt.gca().yaxis.grid(False, which='both')\n", "\n", "# get the y-axis ticks to appear on the right\n", "plt.gca().yaxis.tick_left()\n", "\n", "# show the borders of the box (https://stackoverflow.com/questions/9750699/how-to-display-only-a-left-and-bottom-box-border-in-matplotlib)\n", "for side in ['left', 'right', 'top', 'bottom']:\n", " plt.gca().spines[side].set_visible(True)\n", " plt.gca().spines[side].set_color('black')\n", "\n", "# https://stackoverflow.com/questions/42045767/how-can-i-change-the-x-axis-in-matplotlib-so-there-is-no-white-space\n", "plt.margins(x=0)\n", "\n", "date_to_visualize_fmted = datetime.strftime(datetime.strptime(date_to_visualize_orig, '%Y-%m-%d'), '%a, %b %-d, %Y')\n", "\n", "plt.title(f'{date_to_visualize_fmted}', fontsize=15, fontweight='bold')\n", "\n", "plt.show()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 295 }, "cellView": "form", "id": "bNsSk5Pbp7ob", "outputId": "691ee9a2-cc21-456e-faf4-32e170449034" }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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Wptqrf0V+ApnkBQREREREZFCxCcvlYwxAcBIoCMwwKOoHrAs+4m1Nt4YcwaoBTiATGvtdo/6G4F253mNgcBAgKCgIIoXL34JtyEiIiIiIiJXIq89h68CE621+3Ic9weScxxLBkq4yk6cp+wc1toPrLVNrLVNypUrl8dmiYiIiIiISH64aM+hMaYRcCsQmUtxKhCQ41gAkIKz5/B8ZSIiIiIiIlKI5GVYaXsgBNhjjAFnj6C3MaYu8B3QMLuiMSYU8AW24wyHPsaYmtbaOFeVhkBMfjVeRERERERE8kdewuEHwBcez5/FGRYfBcoDy40xbYB1OOclzrbWpgAYY2YDI40xA4BGQBegZb61XkRERERERPLFRcOhtTYN5xYVABhjUoHT1tpDwCFjzCPAZ0BZYBHwN4/THwMmAb8DR4BHrbXqORQRERERESlk8rRaqSdr7fAcz6cB085T9yjQ9bJaJiIiIiIiItdMnvc5FBERERERkRuXwqGIiIiIiIgoHIqIiIiIiIjCoYiIiIiIiKBwKCIiIiIiIigcioiIiIiICAqHIiIiIiIigsKhiIiIiIiIoHAoIiIiIiIiKByKiIiIiIgICociIiIiIiKCwqGIiIiIiIigcCgiIiIiIiIoHIqIiIiIiAgKhyIiIiIiIoLCoYiIiIiIiKBwKCIiIiIiIigcioiIiIiICAqHIiIiIiIigsKhiIiIiIiIoHAoIiIiIiIigE9BN8CTMaYz0Dk0NJS0tLSCbo6IiIiIiMhNo1D1HFprv7bWDixZsmRBN0VEREREROSmUqjCoYiIiIiIiBQMhUMRERERERFROBQRERERERGFQxEREREREUHhUERERERERFA4FBERERERERQORUREREREBIVDERERERERQeFQREREREREUDgUERERERERFA5FREREREQEhUMRERERERFB4VBERERERERQOBQREREREREUDkVERERERASFQxEREREREUHhUERERERERFA4FBERERERERQORUREREREBIVDERERERERQeFQREREREREyGM4NMZ8aoxJMsacMMZsN8YM8CjrZIyJNcakGWN+NMYEe5T5GmMmuc47YIwZejVuQkRERERERK5MXnsORwMh1toA4C7gNWNMY2NMIDAb+CdQBlgDTPc4bzhQEwgGOgDPG2Oi86ntIiIiIiIikk988lLJWhvj+dT1EQY0BmKstV8CGGOGA4eNMeHW2ligH/CgtfYYcMwY8yHwIPBdvt2BiIiIiIiIXLE8zzk0xrxnjEkDYoEk4BugHrAxu4619iQQD9QzxpQGKnmWux7Xy4d2i4iIiIiISD7KU88hgLX2MWPME0ALoD2QDvgDh3JUTQZKuMqyn+csO4cxZiAwECAoKIjixYvntWkiIiIiIiJyhS5ptVJrbZa19legKvAokAoE5KgWAKS4yshRnl2W27U/sNY2sdY2KVeu3KU0S0RERERERK7Q5W5l4YNzzmEM0DD7oDHGL/u4a55hkme567Hn/EUREREREREpBC4aDo0x5Y0x9xpj/I0x3saYPwP3AYuBOUCEMaa7MaYo8DKwybUYDcDHwEvGmNLGmHDgYWDKVbkTERERERERuWx56Tm0OIeQ7gOOAWOAp6y1X1lrDwHdgVGusijgXo9zX8G5QE0C8DPwhrVWK5WKiIiIiIgUMhddkMYVANtdoHwREH6esnTgIdeHiIiIiIiIFFKXO+dQREREREREbiAKhyIiIiIiIqJwKCIiIiIiIgqHIiIiIiIigsKhiIiIiIiIoHAoIiIiIiIiKByKiIiIiIgICociIiIiIiKCwqGIiIiIiIigcCgiIiIiIiIoHIqIiIiIiAgKhyIiIiIiIoLCoYiIiIiIiKBwKCIiIiIiIigcioiIiIiICAqHIiIiIiIigsKhiIiIiIiIoHAoIiIiIiIiKByKiIiIiIgICociIiIiIiKCwqGIiIiIiIgAPgXdAE/GmM5A59DQUNLS0gq6OSIiIiIiIjeNQtVzaK392lo7sGTJkgXdFBERERERkZtKoQqHIiIiIiIiUjAUDkVEREREREThUERERERERBQORUREREREBIVDERERERERQeFQREREREREUDgUERERERERFA5FREREREQEhUMRERERERFB4VBERERERERQOBQREREREREUDkVERERERASFQxEREREREUHhUERERERERFA4FBERERERERQORUREREREBIVDERERERERQeFQREREREREUDgUERERERERFA5FREREREQEhUMRERERERFB4VBERERERETIQzg0xvgaYyYaYxKMMSnGmA3GmDs8yjsZY2KNMWnGmB+NMcE5zp1kjDlhjDlgjBl6tW5ERERERERELl9eeg59gL1AO6Ak8BIwwxgTYowJBGYD/wTKAGuA6R7nDgdqAsFAB+B5Y0x0vrVeRERERERE8oXPxSpYa0/iDHnZ5htjdgGNgbJAjLX2SwBjzHDgsDEm3FobC/QDHrTWHgOOGWM+BB4EvsvPmxAREREREZErc9FwmJMxpgJQC4gBHgU2ZpdZa08aY+KBesaYg0Alz3LX467nue5AYCBAUFAQxYsXv9SmiYiIiIiIyGW6pAVpjDG3AJ8BU109g/5Aco5qyUAJVxk5yrPLzmGt/cBa28Ra26RcuXKX0iwRERERERG5QnkOh8YYL+AT4AzwuOtwKhCQo2oAkOIqI0d5dpmIiIiIiIgUInkKh8YYA0wEKgDdrbUZrqIYoKFHPT8gDOc8xGNAkme563FMPrRbRERERERE8lFeew7fB+oAna21pzyOzwEijDHdjTFFgZeBTa4hpwAfAy8ZY0obY8KBh4Ep+dN0ERERERERyS952ecwGBgENAIOGGNSXR/3W2sPAd2BUcAxIAq41+P0V4B4IAH4GXjDWquVSkVERERERAqZvGxlkQCYC5QvAsLPU5YOPOT6EBERERERkULqklYrFRERERERkRuTwqGIiIiIiIgoHIqIiIiIiEge5hwWiKNrYdp5pzmKiIiIiIhIPlPPoYiIiIiIiBTSnsMyjaH3moJuhYiIiIiISMG4/9qPpFTPoYiIiIiIiCgcioiIiIiIiMKhiIiIiIiIoHAoIiIiIiIiKByKiIiIiIgICociIiIiIiKCwqGIiIiIiIigcCgiIiIiIiIoHIqIiIiIiAgKhyIiIiIiIoLCoYiIiIiIiKBwKCIiIiIiIigcioiIiIiICAqHIiIiIiIiAvgUdAM8GWM6A51DQ0NJS0sr6OaIiIiIiIjcNApVz6G19mtr7cCSJUsWdFNERERERERuKoUqHIqIiIiIiEjBUDgUERERERERhUMRERERERFROBQREREREREK2WqlIiIFbfv27cyePZuff/6ZtLQ00tPTKVKkCJ07d6Z3795UqVKloJsoIiIiclUYa21Bt+Ecf/rTn+yvv/5a0M2Q60xWVhaLFi1i8uTJ7Nixg/Lly1OpUiXq169P7969KV++fEE3UQqpkydP8vnnnzNx4kQ2bdp03npeXl7cfvvtjBkzhurVq1/DFoqIiMjNxs/Pb621tsm1fE2FQ7khfPLJJ/zrX/9iz549uZYXKVKEu+++m/79+9OyZUuMMde4hVIYxcXFMXXqVKZMmcKxY8cACAgIoHPnztx1112UL1+eIkWKkJSUxGeffcb8+fPJyMggICCAcePG0bNnzwK+AxEREblRKRy6KBxKXqWnpzN06FCmTJkCQEhICH/729/o1KkThw8fJjExkfnz5/Ptt9+S/bNevXp17rvvPjp16kRYWBiBgYEKizeRxMREvvnmG6ZNm8bKlSvdx5s2bcpjjz1Gly5d8PX1zfXcQ4cOMWTIEObNmwdAv379eOuttyhSpMg1absUnMzMTBITE8nMzCQ4OBhvb++CbpKIiNzgFA5dFA4lLxITE7nvvvtYs2YNRYsW5c033+SBBx7Ay+vcdZYSEhKYNGkS06ZNIzEx8ayykiVLEhYWRmhoKDVr1qRjx460aNFCgfEGkZqayvLly1myZAkLFy7kt99+c5f5+/vTtWtX+vfvT7NmzfJ0PWstEydO5IUXXuD06dN06tSJadOm4e/vf7VuQa6xrKwsYmJi+OWXX1iyZAkbNmwgMTERh8MBgK+vLzVr1qRZs2b069ePxo0b6/+LQiA5OZnNmzdz+PBhjhw5wvHjx2nWrBktW7bM9feCiEhhp3DoonAoF5OQkMAdd9xBQkICQUFBTJs2jcjIyIuel5WVxS+//MKMGTPYtGkT8fHxpKSknFMvu3fx4Ycf1lzF60xqairLli1jyZIl/Prrr6xdu5asrCx3uZ+fHx06dKBLly506dIFPz+/y3qdDRs20LVrVw4dOkTTpk2ZNWsWZcuWvaK2Hz16lHnz5jF9+nRWrlxJlSpVqFGjBvXr1+eJJ57Qz+JVcPDgQXbs2MGOHTuIjY1l3bp1bNiwgdTU1LPqGWOoWLEixphz3mBq0KAB/fv3p1evXpQoUeJaNl88/Pjjj9x5553nHK9evTr3338/AwcOvOJ/oyIi15LCoYvCoVxIQkIC0dHR7NmzhyZNmjBr1iwCAwMv61rWWg4dOsTOnTvZsWMHv/32G7Nnz3b/8VeqVClefvllBgwYoGFkhZjD4WDJkiV8+umnzJ07l7S0NHeZt7c3kZGRtGnThg4dOtC6devzDhu9VDt27OCuu+4iISGB8PBwZs2aRUhIyCVf58SJE4wePZrx48dz5syZXOuULVuWMWPG0LNnzxu6lyo1NZV58+bxww8/kJCQwO7duzl16hSRkZE0b96c9u3b06pVq8v+Gvz+++/MmjWL5cuXs3LlSvbt25drveDgYFq3bk2bNm1o3rw5QUFB7p+bEydOEBsby+zZs/nss884evQo4Hzj4Z577qFPnz40a9asUPRWHTp0iJiYGOLi4rDW4uvrS7FixWjSpAmhoaEF3bx8tW3bNh577DHKli1LYGAgvr6+LFiwgP379wNQvnx5xo0bR+fOna9pu6y1xMbGEh8fz+7duzl69Cj169enRYsWVKxY8Zq2RUSuLwqHLgqHcj67d+8mOjqavXv30qxZM+bOnUvJkiXz9TWysrL4+eefeeutt1i8eDEADRs2ZOzYsURFReXra8mV27p1K/3792fjxo3uY40bN6Zdu3a0adOGFi1aXNXenKSkJO666y62bNlCuXLl+PLLL2natGmezrXW8sUXXzBs2DAOHjyIMYYOHTrQq1cv/vznP3PkyBHi4uKYMGECP/74IwB33nknH3zwQb7/3Be0DRs28M477zBv3ryzwn1uWrRowcsvv0zbtm3zfP0VK1YwYcIE5syZQ0ZGhvt4iRIlCA8PJywsjJo1a9KoUSP+9Kc/5bmX9vTp08ydO5fJkyfj+XurfPny3HnnnXTo0IGoqKhrtgVKZmYmS5YsYd68eSxYsOCcXk5PISEh3HrrrfTt25fGjRtfk/Zda9n/n7/++uvu70/Pnj35z3/+c016EVeuXMk///lPli5dmmt5rVq16NevHw8++CClSpW66u0RkeuLwqGLwqHkZteuXURHR7Nv3z6ioqKYO3cuAQEBV+31rLV8/fXXPP/88+zduxeABx54gJEjR2p4XyGQc+5f5cqV6du3L7179yYsLOyatiU5OZk+ffrwww8/ULRoUd555x3uvffeC/Zubdq0iWeeeYZly5YB0KxZM958881ch0dba5k6dSp///vfOXHiBPXr12fOnDlUqlTpqt3TtbJt2zZee+01Zs+e7T7WokULevToQd26dQkJCcHHx4fVq1ezbNkyPv/8c44cOQJAu3btePnll2nevPl5r79kyRJGjRrFkiVLAOd2JNHR0fzlL38hKiqK8PDwfOvhi42NZcqUKcybN++clZMrV65Ms2bNaNq0Kc2aNSMyMpJixYrly+uCszfzww8/5N133+XgwYPu4/7+/tStW5fw8HCKFClCeno6x44dY+nSpe4VesG5INMjjzxC165dKVq0aL61q7Bw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QjM3MSMjg1GjRvHqq6/icDho1aoV06ZNIygoqKCbJiIiIiJSKJw8eZI2bdqwfv16mjZtytdff02FChUueE58fDwDBgzgp59+AqBXr178+9//JiQk5JJfvyDCode1fLEbnZeXFy1btuTNN98kPj6eJ598Em9vbyZOnEiTJk347bffCrqJbNy4kaioKEaMGIG1lmHDhvHTTz8pGIqIiIiIePDz82PevHkEBwezevVqmjdv7l6fI6czZ84watQoIiIi+OmnnyhXrhyzZs3iiy++uKxgWFAUDq+ScuXK8d///pfffvuN+vXrs337dqKiopgyZUqBtGfz5s08++yzNGnShPXr1xMcHMyiRYt47bXX8PG50u0uRURERERuPNWqVWPlypU0a9aM3bt307JlS8aMGcPmzZux1hIXF8e4ceNo1KgRL730EqdPn6ZPnz5s2bKFbt26FXTzL5mGlV4DaWlpPP7440yePBmAJ554gjfffPOKQpnD4WDevHl88cUXJCQksHfvXk6cOEGVKlUIDg6mfPnyeHk5s/+6devYvHmz+9zBgwczevToQjPMVURERESkMEtLS6Nv377uRRwBSpQo4d4LHaBmzZq8//77dOrUKV9eU3MOXW60cJht4sSJPProo2RkZNCpUyemT5+e54mt2ay1zJkzhxEjRrBp06Y8n1e6dGl69OhB//79r4tVVEVEREREChOHw8HMmTNZsGABCxcu5MCBA5QuXZo///nP/OUvf6Fnz575utOCwqHLjRoOAZYtW0a3bt04ePAgwcHBTJ06lXbt2uXp3ISEBPr378/ixYsBqFKlCs888wxNmjQhKCiIgIAA9u3bx549ezh8+LD7vAoVKtCxY0eKFClyVe5JRERERORmYq1l//79VKpUCW9v76vyGgqHLjdyOATYu3cv3bt3Z/Xq1RhjeOaZZ3j11VfP+06Dw+Fg0qRJDB06lJSUFAIDAxk+fDj9+/cvlPtAioiIiIjIldFqpTeJatWqsXTpUl5++WW8vLwYM2YMNWvW5LXXXjtrn8T09HQmTpxIREQEDz/8MCkpKXTr1o2YmBgGDx6sYCgiIiIiIvmmcPYcGmNv3H5DERERERGRCzOgnkMRERERERG59grnBneNG8MNPOfwQo4dO0ZqairGGHx8fKhQoQLGmIJuloiIiIiIXEsFkAEKZzi8iZUuXZrSpUsXdDNEREREROQmo2GlIiIiIiIionAoIiIiIiIiCociIiIiIiKCwqGIiIiIiIigcCgiIiIiIiIoHIqIiIiIiAgKhyIiIiIiIoLCoYiIiIiIiAA+Bd0AT8aYzkDn0NBQ0tLSCro5IiIiIiIiN41C1XNorf3aWjuwZMmSBd0UERERERGRm0qhCociIiIiIiJSMBQORUREREREROFQREREREREFA5FREREREQEhUMRERERERFB4VBERERERERQOBQREREREREUDkVERERERASFQxEREREREUHhUERERERERFA4FBEREREREcBYawu6DecwxqQA2wq6HS4lgeSCboRLYWlLIHC4oBvhUli+JlC42qLvUe4KU1v0PTpXYWkH6PtzPoWpLfoe5e7/27vXWLmqMozj/0cqGLAfMELVohSltN4+iMWgAsFqoMAH7tioeMEKSvFWUamICUmTGg1apDG0qKC1koiKRoOlVRCoFrQ23kpbLYJaQy8WaqEa2srrh7WnTIY5LeXMmfWec55f0pzpPmtm3tnrnHnO2nvtNZlqydJHmfZJplqy9A/k2i+ZapkUEWP7+YRj+vlk+2FdREypXQSApIURcXHtOiBPLZJWun+eLlkt7qMuktXiPkpaB7h/BpKsFvdRF8lqSdFHyfZJplpS9A+k2y+ZalnZ7+f0tNJ9+3HtAtpkqiWLTPskUy2ZZNovmWrJJMt+yVJHNpn2S6ZaMsm0XzLVkkWmfZKplkwy7ZdMtfRd1mmlaY5k2NO5f/JzH+XnPsrN/ZOf+yg/91Fu7p/8avSRzxyamZmZmZmZB4dmZmZmZmbmwaGZmZmZmZnhwaGZmZmZmZnhwaGZmZmZmZnhwaGZmZmZmZmRd3C4sHYBtlfun/zcR/m5j3Jz/+TnPsrPfZSb+ye/vvdRys85NDMzMzMzs/7KeubQzMzMzMzM+siDQzMzMzMzMxv84FDSEZKuk7RC0n8khaQJHW2mSFooaW3T5u+SFks6arDPb/0h6VRJd0jaKOkJSRskfVfSq2rXZk+RdLqkuyU9Lmm7pJWSptauywpJb5G0XNJ/JT0iaZGkcbXrGu6cQ6ODc2j4cBbl5RwaOiMli3px5vBo4ALgUeCeAdpMB14NfAU4DbgCOBZYKemlPajBht4LgN8ClwGnALMpfXqvpCNrFmaFpEuAH1H66WzgfOAW4OCadVkh6URgKbANOBf4KHAS8HNJB9WsbQRwDo0OzqFhwFmUl3NoyI2ILBr0gjSSnhMRTza3ZwA3AEdFxENtbQ6LiC0d9zsSeBCYExGfG1QRVoWkScBa4PKIuKZ2PaNZc2RqDTA7IubVrca6kfQzYAIwOSJ2N9umAL8BZkbEVyuWN6w5h0Yv51AuzqLcnENDa6Rk0aDPHLZ2wj7abOmy7W/AFmB8+3ZJV0ta1UxD+FczheT4jjYnN6dqz5K0oDktvk3SPEkHSDquOWW+Q9JqSacO9nVaV1ubr7urVmEAFwFPAtfXLsQGdDywrBXIABGxkvJ7dHa1qkaAXuaQpAlNvlwq6UuSNjdTf37SZXrQQ5K+LelCSeuaaVr3SJoo6ZAmn7ZK2iTpGkljBv9qrYNzKBdnUW7OoSE0UsZE1RakkfRK4HDKEaZ244EvA2cC7wU2A3dLem2Xh5kH7ADeDlxHbrxhkwAABKJJREFUOT0+D/gW8A3gHOAR4AeSXtj7VzH6ND9oB0qaCCwANgI3Vy7L4ATK0fPpkh6QtFvSekkzaxdme/wP2Nll+xPAa/pci7HXHIIyZXEi8D5gJvB6YKmk53a0Owm4FPg08B7gFcD3gcXAY5QpRAuBWcDFvX8Vo49zKDVnUW7OoYSyjYmqHMVsjp5eTxklf739exExo63dAcASYDUwg/JC290REbOa28sknUG5FuHEiFjePMbDwO+BM4Bv9v7VjDr3Uf5IAlgPTI2IzRXrseIlzb8vAp8BHqBc5zFf0piIuLZmcQbAOspR2z2aqSQvBnZVqWgU21sONR4DzmybIvRnYDnw7o72zwemRcS/m3YvAq4Ffh0RlzdtWvl0PuBpW4PnHMrLWZSbcyiZjGOiWmcO5wNvAt4VEY+2f0PS2yTdKWkrZZrILuAYYFKXx/lpx//XAjtaO6FtG0CKizxHgAspbyzvALZTfgAn1CzIgPK7PBa4JCJuiIg7IuJDlDeS2ZJUtzyjDBjeIGmOpMMlTQYWUaZg7XMqivXcgDnU+F77FKGI+CWwAXhjR7sVrYFho5U5t3e0W4tzqFecQ3k5i3JzDuWTbkzU98GhpM9TptZcFBFLO753LHAb8Djwfsqb/3GUUe7zujxcZ6DvpKzAtEdEtE6fd7u/7aeIWBMR90XEzcBbKUfNr6hclj113c2yju1LgXGUo4JWUUQsBuYAnwA2AfcD/6S85z1csbRRZ2851GbTANvGd2zrlkMDbXcO9YBzKDVnUWLOoVyyjon6Oq1U0pWU6zI+HBGLujQ5lzIyPicidrXd71A6XqDVFxHbJK2nLN1rda2mY6pIBx8RTCAirmrC4OXA5ojYJGkNZbqi9cEzyKGWbp/7NQ743ZAUZs+KcygdZ1FyzqEcMo+J+nbmUNJHKEcrroyI+QM0O5hysWy03W8q8LKhr9D2l8qHpk6mXFNgdd3afO1chWoasCEiNva5HhtAROyIiD82gTyN8jvklf364BnmUMt5kvZkpKQ3A0cAK4awRNtPzqF0nEXDgHOoruxjop6cOZR0XnOzdYH4aZK2AFsi4i5J0ykr5iwBOpdh3R4R9ze3lwAfA26SdCNlXu1VlFPeVpGkW4FVwB8o13gcA3ycclTDny1V323AncCCZhWqv1IWATiFstqiVSbpdZQPvF3VbDoB+CTwhYj4VbXCRoge5lDLWOCHkhYAhwFzgb9QVn6zCpxDw4KzKDHn0NAbCWOiXk0rvaXj/63V2O4CTqYcMVLzdVpH21YbIuL2ZjQ9i3I69U+UleE+26M67dm7F7iAMk/9QOAfwC+Aue0f7ml1RERIOovyB+zVwKGUC4/fGRHfqVqctewETgc+BRxEWbL6gxFxY9WqRo6e5FCbuZSpijcBh1D+4L2sfXqP9Z1zKDlnUXrOoaE37MdEioh9tzIzMxsFmlUvHwQ+EBFfq1uNmZlZf9X6KAszMzMzMzNLxINDMzMzMzMz87RSMzMzMzMz85lDMzMzMzMzw4NDMzMzMzMzw4NDMzMzMzMzw4NDMzMzMzMzw4NDMzMzMzMzw4NDMzMzMzMzA/4POpKKqbWf9TwAAAAASUVORK5CYII=\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": [ "*Above is a plot we created ourselves!*\n", "\n", "# 5. Data Analysis\n", "\n", "Data isn't much without some analysis, so we're going to do some in this section.\n", "\n", "DISCLAIMER: the analyses below may not be 100% biologically or scientifically grounded; the code is here to assist in your process, if you are interested in asking these kinds of questions.\n", "\n", "## 5.1: Blood glucose level vs. time of day (day vs. night) \n", "\n", "Since people (generally) sleep at night and eat during the day, one hypothesis is that glucose values will be different during the day compared to the night. Let's see if this is true. First, we will get the glucose values for each day and separate them into day time and night time values. We define day time as 9AM to 12AM (midnight) and night time as 12AM (midnight) to 9 am here, although these values can be adjusted as dayStart and dayEnd in the code." ], "metadata": { "id": "Relv4GLFLATI" } }, { "cell_type": "code", "source": [ "from datetime import time\n", "import scipy.stats as stats\n", "\n", "dayStart = time(9, 00, 00)\n", "dayEnd = time(0, 00, 00)\n", "\n", "allTimes = pd.to_datetime(df.loc[:,'datetime']).dt.time\n", "\n", "if dayStart < dayEnd:\n", " mask = (allTimes >= dayStart) & (allTimes <= dayEnd)\n", "else:\n", " mask = (allTimes >= dayStart) | (allTimes <= dayEnd)\n", "\n", "df[\"Time of Day\"] = mask\n", "df[\"Time of Day\"] = df[\"Time of Day\"].map({True: 'Day', False: 'Night'})" ], "metadata": { "id": "9w8V7ATnUazz" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "Let's use [seaborn](https://seaborn.pydata.org/) to generate a scatter plot to take an initial look." ], "metadata": { "id": "lVPSd4-aGtC9" } }, { "cell_type": "code", "source": [ "sns.catplot(x=\"Time of Day\", y=\"glucose_level\", data=df)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 387 }, "id": "7aEGSXQ5HCj4", "outputId": "680ae455-32ac-42d8-dd31-0677aceb27f7" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 12 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": [ "Now, since we're compmaring two means, we could use a one-way ANOVA (analysis of variance). For this to be a valid analysis, we have to ensure the data is [independent, normally distributed, and homoscedastic](https://www.statisticssolutions.com/free-resources/directory-of-statistical-analyses/anova/).\n", "\n", "Let's check normality first." ], "metadata": { "id": "U3koCLm3HFcJ" } }, { "cell_type": "code", "source": [ "plt.hist(df.loc[df[\"Time of Day\"] == 'Day']['glucose_level'])\n", "plt.title(\"Day Time\")\n", "plt.show()\n", "\n", "plt.hist(df.loc[df[\"Time of Day\"] == 'Night']['glucose_level'])\n", "plt.title(\"Night Time\")\n", "plt.show()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 545 }, "id": "a57xSQ4zMh0_", "outputId": "0d9de13f-1926-43b3-d89a-c8f2da382ed1" }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": { "needs_background": "light" } }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": [ "Since the data do not look normally distributed, we can use a [Kruskal-Wallis test](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.kruskal.html#scipy.stats.kruskal) instead of an ANOVA." ], "metadata": { "id": "kLj4_lImNEWL" } }, { "cell_type": "code", "source": [ "stats.kruskal(df.loc[df[\"Time of Day\"] == 'Day']['glucose_level'],df.loc[df[\"Time of Day\"] == 'Night']['glucose_level'])" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "NQ8rMfK4HFyh", "outputId": "f300949f-066f-4dcc-8cc1-1b6fbc8a22a6" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "KruskalResult(statistic=47.03195203081668, pvalue=6.983881212454435e-12)" ] }, "metadata": {}, "execution_count": 14 } ] }, { "cell_type": "markdown", "source": [ "Thus we can reject the null hypothesis that the population medians do not significantly differ (p<\\0.05), and that night time values are different from day time values.\n", "\n", "## 5.2: Blood glucose variability vs. time of day (day vs. night)\n", "\n", "We also might have an intuition that during the night glucose levels are calmer and vary less in general. Let's see if this is true. We'll check the variability for whether they exhibit significant differences across both groups, as done analogously above. We represent the variability with the standard deviation in the rate of change in the blood glucose levels, as done in [[Clarke & Kovatchev, 2009]](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2903980/)." ], "metadata": { "id": "GGabjOuHNjxG" } }, { "cell_type": "code", "source": [ "from datetime import time\n", "import scipy.stats as stats\n", "\n", "dayStart = time(9, 00, 00)\n", "dayEnd = time(0, 00, 00)\n", "\n", "allTimes = pd.to_datetime(df.loc[:,'datetime']).dt.time\n", "\n", "if dayStart < dayEnd:\n", " mask = (allTimes >= dayStart) & (allTimes <= dayEnd)\n", "else:\n", " mask = (allTimes >= dayStart) | (allTimes <= dayEnd)\n", "\n", "df[\"Time of Day\"] = mask\n", "df[\"Time of Day\"] = df[\"Time of Day\"].map({True: 'Day', False: 'Night'})\n", "\n", "rates_of_change = [(df.glucose_level.iloc[i+1] - df.glucose_level.iloc[i]) / ((df.datetime.iloc[i+1] - df.datetime.iloc[i]).seconds / 60) for i in range(df.glucose_level.shape[0] - 1)]\n", "df['Rates of change'] = rates_of_change + [0] # add extra element to make shapes match" ], "metadata": { "id": "HARIE4Svacgo" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "sns.catplot(x=\"Time of Day\", y=\"Rates of change\", data=df)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 387 }, "id": "xOZDb4WQawPQ", "outputId": "094ee818-7ec2-480e-fa31-b4984190822a" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 16 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAAFgCAYAAACFYaNMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3dd3hcxdXA4d9Z9WbJRe6S5SL3btkY02zA2BDAlEAMhE4ISYCQLxASCAkJIQkkpFASQsdgIJSY4oBNNSXgIoN7773Jtnrf+f64qy7La2tXc3f3vM+jh713bzmLpaPR3JkzYoxBKaVU2/PYDkAppSKVJmCllLJEE7BSSlmiCVgppSzRBKyUUpZE2w7gWEydOtXMmTPHdhhKKXWspLmdIdUCPnDggO0QlFIqYEIqASulVDjRBKyUUpZoAlZKKUs0ASullCWagJVSyhJNwEopZYkmYKWUskQTsFJKWaIJWCmlLNEEHMGKyqs4WFxhOwylIlZI1YJQgfPwR+t57JMNVFR7mTqkK3/9zkjiY6Jsh6VURNEWcARauSufv3ywjvIqL8bAeyv28MrCbbbDUiriaAKOQOv3FjXZt7aZfUqp4NIEHIFO7NuR2OiG//QTB6RbikapyKV9wBGoS7t4nrl6LH//aB2FZVVccUImU4Z0tR2WUhFHE3CEOjm7Eydnd7IdhlIRTbsglFLKEk3ASilliSZgpZSyRBOwUkpZoglYKaUs0QSslFKWaAJWSilLNAErpZQlmoCVUsoSTcBKKWWJJmCllLJEE7BSSlmiCVgppSzRBKyUUpZoAlZKKUs0ASullCWagJVSyhJNwEopZYm1BCwi8SKyUESWishKEfmNrViUUsoGm2vClQOnG2OKRCQG+EJE3jPGzLcYk1JKtRlrCdgYY4Ai32aM78vYikcppdqa1T5gEYkSkSXAPuADY8yCZo65UURyRSR3//79bR+kUkoFidUEbIypNsaMBHoC40RkaDPHPGGMyTHG5KSnp7d9kEopFSSuGAVhjDkMfAJMtR2LUkq1FZujINJFJM33OgGYDKyxFY9SSrU1m6MgugHPi0gUzi+CV40xsy3Go1TkqqqAFa/DwU0w4BzoMdp2RBHB5iiIZcAoW/dXStXz+rWwxtf++fwhmP4SDDjbbkwRwBV9wEopiw5tqUu+AMYLCx63Fk4k0QSsVKTzRAPSaF+MlVAijSZgpSJdak8YeXnddlQsnHSrvXgiiM2HcEoptzj/URh8gfMQrv9Z0KGP7YgigiZgpRR4PE7iVW1KuyCUUsoSTcBKKWWJJmCllLJEE7BSSlmiCVgppSzRBKyUUpZoAlZKKUs0ASullCWagJVSyhJNwGHG6zWUVFTZDkMp5QedihxG5qzYw6/eWsH+onIm9k/nb9NHkZqgVa2UcittAYeJwrJKfvrqEvYVlmMMfLJ2P3//cL3tsJRSLdAWcJjYfKCY4orqBvtW7Mw/pmvkbjnIu8v30LN9AtPHZZAYq98eSgWT/oSFif5dUuiYFEtecUXtvgn9Ovp9/ker93LDjFyMcbbnrNzDq98/MdBhKqXq0S6IEFZWWc2+wjIA4mOieOrqHMb0ak/nlDiumZDFDyf28/taL87fWpt8ARZuPsjaPYWBDlkpVY+2gEPUq7nbue+dVRSWV3FC7w48/t0xjMpszxs/mHBc12uuuyEhJqq1YSqlWqAt4BCUV1TOL2etoLDcGW62YPNBHvl4Q6uuedNpfUmKrUu4l4zpSWbHxFZdUynVMm0Bh6AteSVUVHsb7Fu3t3XdBcN6pjLvjknMW7uPnu0TObGv//3HSqnjowk4BA3t0Y5OyXEcKCqv3TdxQHqrr5ueEsclORmtvo5Syj+agENQXHQUz107lgfnrmXnoRLOG9Gd607q3eI5c1bs4cG5a8gvqeTSsRnccdYAPB5p8RylVHCJqf/o2+VycnJMbm6u7TBCzp78Mk558GMqq+v+rR+4eBjfGZtpMSqlIkqzrR19CBcBvt52qEHyBViw6aClaJRSNTQBR4BhPVJp3NswIiPNTjBKqVqagCNARodEHrh4OJ2SY4mN8nDZuEyuOEG7H5SyTfuAI4gxBq+BKH34plRba/aHTkdBRBARIUpzr1KuoV0QSilliSZgpZSyRBOwUkpZYi0Bi0iGiHwiIqtEZKWI/NhWLEopZYPNh3BVwE+NMV+LSAqwWEQ+MMasshiTUkq1GWstYGPMbmPM177XhcBqoIeteJRSqq25og9YRLKAUcCCZt67UURyRSR3//79bR2aUkoFjfUELCLJwBvAbcaYgsbvG2OeMMbkGGNy0tNbX3JRKaXcwmoCFpEYnOQ70xjzH5uxKKVUW7M5CkKAp4HVxpi/2IpDKaVssdkCPgm4EjhdRJb4vs6xGI9SSrUpa8PQjDFfcIQCFUopFQm0GI9S6vgUH4DcZ5z/jvgO9BhjO6KQowk4Qny58QD/23CAId1TOXtoV5wueKWOU3UlPDMF8jY427lPwzXvQuYJduMKMZqAI8AL87dyz5srarevmZDFvecPsRiRCnmbP61LvgDeKvhmhibgY2R9HLAKvme+2Nxg+6UF2yitqOKtJTu5e9ZyXl+8A683dArzKxeIa+ffPtUibQGHmPmb8vhi/QGGdG/HVD+7EqIbrYAR5REe+XgD/5i3EYCZC7axalcBvzpvcFBiVmEoYxz0PxvWvedsJ3WGE26yG1MI0iWJQshLC7Zx16zltdv+diW8+c1OfvLqEmr+qW89I5sX52/lYHFF7THxMR5W/3aq9g0r/xkDmz+DkgOQfRbEpdiOyM10SaJQ99QXmxpsv7RgGx2TY/l83QH6dUnmtjOz6ZwS3+S8C0b1YEDXFL7cmMeQ7u0Y36cjbyze0eQ4Tb7qmIhAn9NsRxHSNAGHkMZdCV5jeOj9dQAs3HKQlbsKeOtHJzV77qBu7RjUra6PbmiPduw8XFq7XVbpZd3eQvp30VaMUm1FH8KFkB9N6kf9RmpqQkyD95duP9wgqbYkMbbp796teSWtik8pdWy0BRxCpo3sQXbnFL7ceIDB3dvxzBdb+HD13tr3U+Ki6ZAY69e1pg7tyqxvdtZupyXGcGLfjgGPWSl1ZJqAQ8zg7u0Y3N3pSkhPjmPVrnx25ZcRH+PhV+cNJiE2yq/rTBnSlb9cOoJXc7fTISmWmydlkxyn3w5KtSUdBRHiqqq9rNlTSEb7RFITY45+glKBVrQPFvwLivfDiOnQa4LtiNxIR0GEo+goD0N7pNoOQ0Wq6kp4ZiocdMaU880LcNVb0PtUu3GFCH0Ip5Q6flu+qEu+AMYL37xoL54Qoy3gEPfO0l18tSmPET1T+faYDKI8Rx7LW1ntJdojOt5XBU5Ce//2qWZpAg5hD3+0nr984IwDfmkBLNuRz/0XDmtyXFllNXe+sYzZy3bTMSmWX547mPNHdG/rcFU46j4Shl4MK95wtlO6wfgf2o0phGgXRAibuWBrg+3XcndQWe2luLyKXfXGAz/1+SbeWrKLaq9hX2E5t7+6lP2F5Q3O3XGohDV7mqyJqtTRffsZuP4D+M5MuOVraN/LdkQhQ1vAIaqq2ktcdMPfnwmxUcycv5UH5qyltLKasVnteeLKHJZsz29wXEW1lzV7CkhPcVaZvnvWcl5auA1jYEyv9jx37VhS4nVEhToGGeNsRxCStAXsYtVew71vr2TQPXMY//uPeNM3ceKzdfsZ8dv32Xaw4ay3753Sm9/9dzWlldUALNpyiH9+upHxfTo0OC4xNorhPdMAWLz1EDMXbKst1FOzrZTfSg7C8tdh2wLbkYQcbQG72CuLtvHcl1sAKK2s5v9eXULf9CR+9NLXFJdX1x4XGyXMvuVkDpZUUtWoru/6vYX8bMoAVu0u4G1fN0S/9GTKK6shIYYdh5pOP95+UKckq3oOb4cFj0PZYRh1JWSOr3tvz3J49ltQ7vsra8w1cN7fm16jrADyt0P6QPD4N1koEmgCdrGvtx5usO01cOE//keVt+FxFdUGj8fDyIw0OibFklevzOTpg7oQHeVh1a6C2uS8bGc+97y1gn9dmcOp2emkxEdTWFZVe863hnUL3odSoaWiGJ6eDIW7ne0lL8N1c50kumSmMwytvF4X1+LnoM/pkLcOuo2C7DMh91mYexdUlkBaJlzxOqQPsPJx3EYTsIvlZLXnja8blo2s8jpTauq3c6M8QtfUeOJjophx/Tgeen8du/PLmDK4C5eM7kFReRVr9hQ2uE7ulkMAtE+K5eXvjeefn26kqKyKy8ZlMqFfpyB/MhUyNnxUl3wBTDV8+TCsfQ+8lc2f89pVda+7j4Jd39RtH94GH94Ll70clHBDjSZgF+uXnkxMlFBZ3bBbwQDJcVEUlVcT7RF+O21IbR2HId1T+ed3R3P7a8t4+OP1PPn5Jm47sz8DuqSwdm9dEh6VWTdWc2iPVB67fHSbfCYVYhKbKdCUv/3IyTcqDqrrjbCpn3xrHNzUdF+E0gTsYg/MXdMk+QJMGdKFx787hi15JXROiSOpURGdlxZs452luwAorqjm/ndX848rRnHXf1ZwuLQSj0BG+3j++sE6UuKjuWRMRm0difySSqqNoUOSf1XVVJjrNQEGngtrZjvb7XtDxvimiXXA2ZBxgtMFcWhLy9ccdH4wIg1JmoBdqKCsku/PWFzbTVDfNSf24o6pAxERendKavb81bubjud9Z+luDpc6rRavgWe/rBtD/PQXm/n4p6fxwJy1vDh/K15juGh0Tx64eHiLM+tUBBCB6TNh+yIoy3dqPJQehDX/hXzfaJl+k2H6y86xCe3hnR/XO9/jTE+uMepKOO3Otv0MLqbV0FzoL++v5eGPNzTZf1r/dJ6/7ujjLd9ZuotbXq5rocRGe8hIS2DjgeIjntMtNZ7d+WUN9v19+kimjexxDJGrsFVWAJ5oiE10titLnf7h+FTIOpkGKwVsX+gsW99tlLNc/ecPOd0S43/oVEuLTM22ZHQcsAut31fUZN/Fo3vw6GWj+Gzdft5YvIND9UY61PB6Da8v3sFXm/I4b3g3endKYmRGGk9dlUNGx8QW79k4+QKs39s0DhWGKkqcroNPH4QD6xu+V10Fs34AD2TBg31g3h+d/TEJTrdDwS748NfO4pw1MsZBz3HwwT3wxvWQ3t8ZORG5yfeI/OqCEJEEINMYszbI8Sjg9IGdeW/Fntrt1IQYfjNtKP/37yW8v8pZASMtMYbXb5pAv87Jtcc9MGcN//qs7gHH5eMy+P1FwwHokRbPlxvyqKhuNIatBZMGprf2oyi3MwZmTIMdC53tz/4M174HPcc428tegaUvOa+rSmHeH6DfmdAzB96+FZb4Kp/97+9w/qMw+kpn6NqrVzpdFuBUR0vpDqff3bafLQQctQUsIucBS4A5vu2RIvJ2sAOLZJfkZPDLbw1icLd2nNY/nRnXjWPz/uLa5AtwuKSSp7/YXLu9YFMeT37eaNXkhdv5cuMBAPp2TuGTOyby87MHcv+FQ5tMY27s/guGMqZXhxaPUWFg+4K65AtOV8GiJ+u296xoes7eFVB6GJY2Gkq24HHf+6vqkm+NbV8FJt4w408L+F5gHDAPwBizRER6BzEmBdxwSh9uOKVP7faCTXlNjimtcCZPlFVW84OZX+Ntpjv/n/M2MqGvM663R1oCN53WF4Bvth3m9WaWpq+xaMtBLj8hU0tXhjtPMymgZqZa3samw9A80c6DOE+U81VdNyOTKN/Imc4DITYFKuqNPe+ZE9i4w4Q/fcCVxphGv84InSd3YWJsVocGy8pHe4TLT3CqTm3cX8TBZvqEwUmkF/3jf3y+fn+D/b+7YCg/mtiXjsnNDzd7c4lTZ1iFuZ450Pu0uu3YZDjhB05f7yNj4JPfQUwStM9yJlVc+gJ06ANxKY3KTgoU7YEnz3TqQlz8lHOOJ9opV3nqHW38wUKDPy3glSJyORAlItnArcCXwQ1LNebxCK/cOJ5XFm5jf2E554/sXltQp296MmmJMRwuaTo4vqzSy9fbDnP987l8/rNJdGkXD0B8TBRRHiGvqPnEDbCnmQdzKgx99w1nnG/hXhh0ntOS/exP1LazKouh22S49PmG503+DWSfBQufhFWznAdyBbtg5yLo0Be++x/n4d6ub+CLv0LmBOgyGFK6tvUndC1/EvAtwN1AOfAyMBe4L5hBKceGfYW8OH8bIvDd8b3o3TGJ7C7JJMRGNZgoER8TxWOXj+aeN1ewJa+YId1TKa+qZl29UQwVVV6+2pjHBaPqhpX9p96y9M0ZmZEW+A+l3CcqBoZcWLe9faEzfKy+on3Nn5t1kvMArrGDG2HmJXXLFW353PmvJxq+9ZBTtEcdPQEbY0pwErA+wmxDOw6VMO3R/1Fc4fSxvZa7nf5dUvh6m1Og5/fvrmbmDeMZ08uZUjwyI40Z14+je2oCa/cW8Ona/fxxTsNBK/ExDXucWurejYkSOvtayyrMVZY6K1oUH4BO/WHW95seM/KyI5/fZTCsn9t0f/214mp4q2D2/zl9y4POO/6Yw8RRE7CIvEPTPt98IBf4lzFG/04NgreW7KpNvgBF5dW1yRecroU/vreac4d353BJBY9/uqm2DjA0P+p7/qaDTB1aV+msS0o82xvVFK7x/VP71taXUGHM64XnzoWdvglOEuUU3Kmv+2iY94BTgKfXyZCWAZknQkKa03o++SewI7eulVsjoYMza64xUw2vXgO3Lnb6iSOYPz9hm4B0nO4HgO8AhUB/4EngyuO9uYg8A5wL7DPGDD3e64Sj3fnNJ8b6Fm05xKJmpitD809J80sruP65RWzOK+aswV0Z17sDuVvrzvcI3DFlAON6d6xtWaswVF4I6+Y6D9yi4+qSLzRNvgC7vnb+W7AD1r5btz8+Dab+0WkdXzMbdiyGr59zhqiNvAIqy+D1q5uPwVTBpk9hTFagPlVI8icBTzDGjK23/Y6ILDLGjBWRla28/3PAo8CMVl4n7NQf8RAIMR7hnaW7amsJP/7pRr5/Wh9O7teJLzYcIDE2ip9NGcA1J+kIw7BWuAeePB0KfP3/6YNaPr5xLYf6yg7DWz+ELkOg23DoPAiyp0BSJ6do+8EtLV+7y5BjDj/c+JOAk0Uk0xizDUBEMoGa6VdHfoTuB2PMZyKS1ZprhKtzh3Xn7lnNDII/Rp1TYtlXWEFlM4OEv9qYx9s3n8y+wjKS46JJjNUuh7CX+0xd8gXYv7qZgwT6nu7UeFgzG3YuPvL1jBeeOA3G3gCr3oEiX+3g/mfDriVHPm/kFTo2GP8S8E+BL0RkI07XYm/ghyKSBDzf4pkBICI3AjcCZGZmBvt2rpGaGEOXlDj2Nlq9uEa7+GgKyqqafa++fYVH/h3Zv0sKq3cX8O9F20iMjeai0T3o1znluGNWIaDiyAWZ6hin1sMp/wf9p8CrV0PeepouBVBzuBcWPtFw37r3Wr7FyCv8DDi8+VUNTUTigIG+zbWBfPDmawHP9qcPOFKqodWY9tgXLN3eeA6MIz7aQ1njtYmO0dQhXZizsm56c5QIz103llOytQZE2Nq3Gp6Y5NR1aEmHPjDxLhj2bacvd81sp/W8LUBTAHKug3P/GphrhYZmxxz5m4AnAFnUazEbYwLSb6sJ+Mh+8OLiBkV56osSaKZWe6tFeYTvnpDJPecOJjpKi+WFpX1rnPXcdiw6eo2GYd+Blf858goYx0s88PNtzoy6yHB85ShF5AXgz8DJwFjfl3betIGWFscMRvIFqPYanv9qK1c/u5DCsgD/0Cl36DwQzroPLvxXM7UgGuWJ5f8+/uQbFXPk94wXlr5yfNcNI/70AecAg00QKreLyMvARKCTiOwAfm2MeTrQ9wlFeUXl/HZ2aweZHL//bcjjJ/9eylNX6+/asLXpk6Yz3gJZ5qVdJhxqZjJGjRKtNeJPAl4BdAV2H+3AY2WMaWF6TWS7560VLT5AawsfrdlLcXlVkzXnVJjomB3c67eUfKMTnCI9Ec6fn6xOwCoRWYhTDwIAY4yurBcks77ZwbvLm+/7bUsdk2KJj4myHYYKlqyTYPh0p+h6WxCPsyYcwNjroVOQfwGEAH/rAas29M95LbQc2ogA95w7WBflDHcH2nCRG08MnP9w290vBPhTjOfTtghE1Slv5fCyI7lmQi9eX7yDovJmpps20qVdvC7IGa681bBuDix9teny8sEUFdd29woR/hTjGQ88AgwCYoEooNgYE9i5sqrWoK4pbM0rCeg10xKimfHV1mZXzWhOfqnd/mcVRDOmNS2c0xYqS+DwNkiLnAlVR+PPQM9HgcuA9UACcAPwWDCDinRntzD87HgdLq3yO/kCpMS3MIRIha7tzVQtayumCt64wc69XcqvkfbGmA1AlDGm2hjzLDA1uGFFtjMGdm5Su7et/fLcoxRpUaFpX+vri7Tu/qucgkAK8C8Bl4hILLBERB4UkZ/4eZ46Tk9+vpmyyuD0A/trcFftYQpLfc+we//yQnh4NOz82m4cLuFPIr3Sd9zNQDGQAegAviB6ZdE22yHw0AfrbIeggiEtw1nV2KbK4uaXMYpA/oyC2Op7WQb8JrjhKIDAzzk8dit25lNWWa3jgMPNstdg82dte0+Jdvp/69uxyPlGb2ldrAjgTy2Ik0TkAxFZJyKbar7aIrhIdf3J9ouibz9Uyh2vL7Udhgq0+itatBVT1bToTsFO2PhR28fiMv5MxHga+AmwGDj6AFLVajlZ7lgOaM4RKrGpEGZr9ll5YdN9eRuh35ltH4uL+NMHnG+Mec8Ys88Yk1fzFfTIItijH2+wHQIAXjf0hajAOvFHzlpwbpA92XYE1h2xBSwio30vPxGRPwH/oWEtCH2MGSQVQZoJd6z6dnLJD6oKnPhUpxBORZHdOCQaUrrbjcEFWuqCeKjRdv26hAY4PfDhKIArxmfyv432/8hIitPRhmGp6xDYNM9uDKbKeRDX+xS7cVh2xARsjJnUloGoOucM60631NXszg/Yyk/HZfshu/dXQXLhk/DYWGdVY2sE2mdZvL87+DMK4vciklZvu72I/C64Yannrh1rOwTaJ8baDkEFQ0pnmPBjuzF07OeMSY5w/vyNebYxpvZXpTHmEHBO8EJSAE9/vtl2CHRPS7AdggqGj34LH1se0j9C12IA/xJwlG9VZABEJAHQunJB9s6yXbZDcMeMEBV4i1yw6teyf0O1rjnoTwKeCXwkIteLyPXAB8DzwQ1LlVquBQGw5WBgS2Iql6hyQd/+gbWw8RPbUVjnz1TkB0RkKVAzYvo+Y8zc4IYV2f690H4tCICYqMieJhq2YpPckYSj9RmDX6stGmPmAHOCHIvy+e3sVbZDACAqwufph6WtX7pjNeLuoyHLclEgF9CBni5UUuGOGd9r9xZRVumOWFSArHrbdgSQ3BWufx88mn70/4ALxUe7559l/iYXtJZU4Lhh7G1qBkTpiivQQgIWkY98/32g7cJRAO0S3fPNObi7FmYPK4PPh6h4uzHsXW73/i7SUlOrm4hMAM4XkVEiMrr+V1sFGIm6pbpjlJ8AnVMs/7CqwFrxBlRbfgBXVQb/vd1uDC7R0kO4XwH3AD2BvzR6T2tBBFFynDtawON6d7Adggq0UpvTj+tZ9BScfBuk9rQdiVUt1YJ4HXhdRO4xxtzXhjFFvGKXPISb1L+T7RBUoGWdAp//2XYUgIFyyxXZXOCoT3uMMfeJyPki8mff17ltEVgkO31gZ9shAPCwS+oSqwDaPt92BHU6D7QdgXX+FOP5A/BjYJXv68ci8vtgBxbJ8grLj35QGyhxwWw8FWAlB21HoOrxZ7zTt4DJxphnjDHPAFMBbQUH0RcbDtgOQYWr4dNtR6Dq8XfAaVq916nBCETVKSpzT5ESnYgRZja5pP5C52G2I3AFf6Yi/wH4RkQ+wRmZdCrw86BGFeHc8hAOnFl5ujR9GFn+b9sROKbPtB2BK/hTjOdlEZkH1FQIv9MYo8vlBlG1i6pAdkjSgilhpV1P2L/WchAe6NDLcgzu4FcXhDFmtzHmbd+XJt8gMy6pw5scF4XX645YVIBM+qXtCAAvvHOb7SBcwWrRARGZKiJrRWSDiGi3ho8bagEDFJVXs+NQqe0wVCD1GAWJLhjfvfhZKNhtOwrrrCVgEYkCHgPOBgYDl4nIYFvxuIVbWr8AHoGuqToVOaxs/gxKXDLKZv8a2xFY58844L41SxKJyEQRubX+Ip2tMA7YYIzZZIypAF4BpgXguiFNRHBLFV6vgVIdBRFelrnkIRwCGSfYDsI6f1rAbwDVItIPeALIAF4KwL17ANvrbe/w7WtARG4UkVwRyd2/f38Abut+J/fraDsEwGkBpya4oy6FCpAkF3Q/AM5U5ELbQVjnTwL2GmOqgAuBR4wxdwDdghtWHWPME8aYHGNMTnp6elvd1qrJg7vYDgGATsnuqMqmAmj8D3FNGfCE9rYjsM6ff4lKEbkMuBqY7dsXiGbRTpzWdI2evn0R70/vr7MdAgDXn5xlOwQVaIe2AO54yIsueeVXAr4WOBG43xizWUR6Ay8E4N6LgGwR6S0iscB0wAXrpdhXXF5lOwQA1u/ValVh54CLCiyVF9iOwDp/qqGtAu4EvvZtbzbGtHqVDF+3xs3AXGA18KoxZmVrrxsO3DL0duEWLdwSdrzu+OUOuGBCiH3+jII4D1iCb1VkERkpIgFpqRpj3jXG9DfG9DXG3B+Ia6rA2aljgMNPerbtCOpE6SxLf7og7sUZMnYYwBizBOgTxJgiXlKsSx6SaB9d+HFTOcqeObYjsM6vh3DGmPxG+1zSix+euqUm2A7BYdw1MUQFwIr/2I7A0UOTL/iXgFeKyOVAlIhki8gjwJdBjiui5WS5Y3hOtTHsPKzdEGElLePox7SF9lm2I3AFfxLwLcAQoBxnAkY+zgoZKkgOFVfYDqFWfql7YlEBcOIt4Ia5lvtW247AFfxaEcMYc7cxZqzv65fA+cEOLJKdku2eCSft4vVBSVhJTofYFNtRgNc9iw7Y5E8C/oWf+1SAzF7unipRHZM1AYeV/WuhwgXjb7ULAmihILuInA2cA/QQkYfrvdUOcNFgwvCzaMsh2yEAEOMREmP9WTRFhYwKl0yu0XrpJDIAABsLSURBVGnIQMsrYuwCcnG6GxbX218I/CSYQUU8lww86JOeaDsEFWhpWbYjcFSW2Y7AFY6YgI0xS4GlIvKSMUY7bNpQekocewrsf4PeN22o7RBUoG1fYDsCx+4ltiNwBX/6gLNE5HURWSUim2q+gh5ZBCutcMfvux7ttQUcdjr0tR2B4/BWXRED/xLws8A/cfp9JwEzgBeDGVSkG5XZwXYIANz2b22lhJ2lgSjlHSBV9v/Ks82fBJxgjPkIEGPMVmPMvcC3ghtWZLt9an/bIQCQ65KHgSqAyg7bjsDRvg906G07Cuv8ScDlIuIB1ovIzSJyIZAc5LgiWpzHHbUgYqPdEYcKoOHTbUfg6DnOdgSu4M9P2I+BROBWYAxwJXBVMIOKdIfL3DHKLyFGE3DYSe1pOwLH9vm2I3AFf+oBLzLGFBljdhhjrgUuAfoFP7TIleuSOryHS6sordBFOcNKux6Q6oJ6EIe3QqXWGTliAhaRdiLyCxF5VETOEsfNwAbg0rYLMfLsLSi3HQIA3dPiSYiNsh2GCiSPBy6dAWL739VAZYnlGOxraSLGC8Ah4CvgBuAunCoeF/pqAqsg6ZDkjpWIr5mgD0nCUmUpGBf8ZXN4OyS6YwVwW1pKwH2MMcMAROQpYDeQaYzRsSNBtnFfse0QABjeM9V2CCoY/vM92xE4OrljtI9NLfUB184GMMZUAzs0+baNlbsb17+3Y86KPbZDUIG2bzUUuGDx8WGXQqxO9GmpBTxCRGrKJgmQ4NsWwBhj2gU9ughVWe2OYhA7DmkfXdiptjzLMr49TLgZTvmp3Thc4ogtYGNMlDGmne8rxRgTXe+1Jt8gGpmRZjsEANbsKbQdggq0bsOh96l12+KB6Pi2u3/ZIfj4Pnj+PC3Ig3/jgFUbS3TJopx78vUHJCxd/hqc/wicdid8+zkwFpZ43PI5rHij7e/rMu74SVcNVFa5owuiymvYna9jNcNOTDxkT4HVs+G1q6Da0rJTBbvs3NdFNAG70PdPc0fFKo+gBdnD1f/+BvtW2rt/VAwMnmbv/i6hCdiFVux0xyiIlPgYUhPcMSZZBdihLfbunZoBV/8X0nUYmiZgF3LLUvD5pZWUVbpgwL4KrPIiKD5g7/7te0HmCfbu7yL696ULHS5xR0H2aI8QG6W/o8OK1wsPj4Ti/fZiKHfJunQuoD9dLlRQ5o4EnJ4Sh8cjtsNQgbR5nt3kC5C33u79XUQTsAudO7y77RAAuHxcpu0QVKDJEX7kPW04FrhCJ/jU0ATsQm4Z+nXeCHf8IlABlHUqpHRruC8mEfpNgq4j2igIY39GnktoAnYht/QBP/H5RtshqEDzeKDn2Ib7Kktg3XuwZ6n/10lp5S/nKktjj11GE7ALnTuiO0kuqMP7Wu4O8kvd8ctABVBJXuuvUdbCUMmouKOf79UEDJqAXalHWgJv3XwSOb3aY/MRWJXXUFltYZqqCq4RAVgXrkkxdd93anS8M8ysJQPOgYT2rY8hDOgwNBeq9hr+NHctuVuDsyqxR8Drx2znc4Z1o1OyH60ZFVpGX+X0+65+G/auOvqohLPuh21fwZrZdfv6nQGjrnTqObTrAUV7YPU7EBULB1q4XlQcXPRkYD5HGLDSAhaRS0RkpYh4RSTHRgxu9sGqPcxduTdo10+JP/rv3ZtO68NfLx0ZtBiURV/9Az59EAp2O8m4JdEJMOYamPYYjL4aOmbDiMvgwn/BkAvgOy9A50GwchZ4q6C8AGjht7sIxCYF8tOENFst4BXARcC/LN3f1XYcCt4oiNgoyC9tedXl9OQ4bjqtry5LH45Wvglzf1G3vWsJpA+A/WudbYlyWrFVpc5/v/VniEt23jv/4eavuetr/+9fVQbb5kOvE48v/jBj5SfMGLPaGLPWxr1DweTBXYKW/PxZ5Hh/UTlj7/+QF+ZvDUoMyqINHzbc9lbA+Jth8n0w4Ra48RO4ayfc9D+4fT2M+u7Rr9nr5IbbEgWXvw6jrnJa0I1tmnfc4Ycb1zdxRORGEckVkdz9+y3P4GkjvTom8cj05v/8j2rhqVx258D9aVdZbfjd7FXku2RInAqQLkOb7svfBvk7oM9E6DYCPFHQdSgkNFoYwOt1vhobfglM/AUkd3G6KL79NPSfDNMegekzmx7fbXggPklYEGOCU3tWRD4Eujbz1t3GmLd8x8wDbjfG5PpzzZycHJOb69ehIW/tngKm/O1z22HwwU9OJbtLiu0wVKBUlcOsm5w+25gESOsF+1fXvT/tseZbvZ8/BF/8DbzVMP4HcMY9/t/zw9/A/H+AMTD2Bphyv9MXHFma/cBB6wM2xpwZrGtHgv8u293qa4hAx6RYDhQd35jL7M7J9Ouc3Oo4lItEx8Elz8K5f4GyAvh7o9booqecBFy0Dz76LexZDp2yYflrdcd8/mdnMseAqf7d88xfO6tvYJykr2rpMDSXennR9uM+NzbKQ3yMh1vPyMYj8NvZq49+kk9SrIch3dPo1TGR2yb3RyKvpRIZEtoDAp4Y8NbrZqosh/fudPqK8zY4+3YvaXr+zsX+J2BwVuFQTdgahnahiOwATgT+KyJzbcThZs0VQo+L9nBC1tEHsFdUeykoq+Kf8zYyOqM9t5/Vn/5dkjmhd4ejnlta6eVX5w3m/guH0SNNWythLSHNWaG4hkTD/lWw4PG65HskWSc13N76Fbz1I5h7Nxw+/sZDpAlaH3AwRFIf8NyVe/jhzMXUTERLiYvmX1eO4dZXvjnmLoXvjs/kdxcMo7i8inH3f0ixH0MhOiXH8ujloxnfp+PxhK9CyfZFcGCt0897cFPzx3Tq76xi7K1ykvaJP2p4/jNTwPi+r1K6wS2LdbxvQ83+Ken6URCRKjbKw7AeaWR1TOSW0/vx9a8mEx8TdVz9uS/O38Zd/1lOUlw0vz5/CPExzj97u/hojlTu90BRBXfNWt6aj6BCRcZYp983rl3z77frCZc8Bz9ZDj9d3TD5Aix9uS75AhTuhg0fBS3ccKJ9wC60YV8R35uRS5VvvvCjn2wgJT6af847/upkLy3cxvRxGVyak8GUIV35YNVefvXWihanJG85UIwxRvuBI8Vpd8Irl9NgJlv73k5r1tNCcajEZrq2EvUvJ39oAnaheWv31SZfcEbv/OX9dZRVta4wzq/fXklmh0Tmb8qjqtpQcpSuiDMGddHkG0kGngPXfwBv3wIH1jnjdc9/tOXkCzDuRmeURM1Cn+2z6mbPqRZpH7ALfbJ2H9c+u+iYz4vyCNVegwgM696OZTsLjuv+8TEeLh7dk59NGUhqoq6KHBGK8+CrR+DwNhh8AQw+/9jOLzkIj+RAqa/UpXicbgtder6G9gGHion907n8hEw84ozlnTayO/3Sj/5Ao9pr6NspkWsnZJHZMYmYlqbNteCBi4dz/4XDNPlGCmPghWnwxV+d6mavXgnLXj22a2yaV5d8AYwX3rgBCoNXVCocaBeEC4kIv79wGD+d3J9qY+icEs+WA8Xc/+5qNuwr4tTsTjz/VfN1GjYeKGHjgS3NX5eGdaq6pcYzaWBnenVIpENSLFvyijl9YGfG9Dr6cDUV4r76Byx60ilLOWK6M+GiviUzYfil/l8vPrXpvuoKWPtfyLmudbGGMU3ALtaxXi3erE5JPHmVU7mztKKK91fuYXdB+TFdzwDdU+PZlV9GVsdE/j59FCMy0o56ngoza+c0rIj2/q+cLgNT7xlDUvqxXbPPJOjYr+n44eTmqhGoGpqAQ8CiLQdZsCmP4T3T2J1fyu9mr6awvAoR56/HY3HrGdmcPbQb7RKi9QFbpGpSjcwLfc+oGzqWlA6n3H5s1/R44IaP4akz6gq8Z58F/ae0NtqwpgnY5V74agv3vLWydrv+ahbGwLAe7YiO8vDNtsNHvVZ6ShxTh3bVvt1I11w1skl3w5Q/OA/hep0EsYnHft2EVLh5EWxf4NQS7jG69bGGOX0I53KPf9pwZlLjcbvtk+J446YJXDy6xxGvERMl/PiMbN6++STSEmODEaYKJcO/46xu4YmGmCQ441fQY4xTmD178vEl3xoikDlek6+ftAXsUmv2FPDIxxs4UNRyP+/E/ul4PMJDl47kp2cNoNpr+M07K/lw9b7aYyYP7sKp/Ts1W19CRSBPlLO6xdQ/Oq+jdd0/W3QcsAsVllVyyoOfcLiZYug90xLIK6kgLsrDVSdmcduZ2XgazSc+XFLBA3PW8s22Q3RNjWf+xjzKqry0i4/myatyOEHrO6hgKTnojKzQ6meN6TjgUPHVxrwmyXdQ1xS6totnx+FSSiuqOVxayd7CMmZ9s5NdhxuuIZeWGMsfLhrGez8+hTW7C2tn0BWUVfG7//pfmlIpv5UXwsxL4MHe8OdsWPS07YhCgiZgF8rs2LQPbmzvDuwpKGuw79+LtvPT15Yy8U/z+GTtvibnVFR72VfY8JwtecWBDVYpgC8fgfXvO6/LC+DdOyB/p92YQoAmYBca2LUd3z+1T22lshEZafxwYr8jLidfUe3lbx+ub7LfGBjVaJxvUVkVCzcfbPY6Xq9hx6ESqqpbV3NCRaAtXzTcNtWwf42dWEKIPoRzqV+cM4hrT+pNfmklA7o6a7I9cPFwbn9tabNFdIrKKvl62yEWbznE6F7tiYv2cPUzC8krbli+0gBvLtnJuEbF2VfuyuemFxez/WApXdvF88jloxibpTPilB+KD8CORs9mYhIhY5ydeEKIJmAX65oaT9fUuocZ5wzrRkaHBM575H9Njt1XUM5F//iydrtvelKT5FsjPbnpU+973lzB9oNOX/KegjLufH0ZH98+sZWfQEWEjR9DdaPROn0nQZwu5no02gURYob1SOOOKQOIi274T1dYXtVge0teSbPn9+uczNUTsprsX7+vqMH25rxiKrUrQvmjfe+m+zJPbPs4QpAm4BD0o0n9+PqeyUwfm3HEY6IbDU0b2r0dr9w4nrm3nUqHpKaTMU4f2LnB9inZ6cRE6beH8kPGWDjhB049CYDep8KYa+3GFCK0CyJEJcVFM6ZXe145wurJP5rUj/ZJsXy8ei/ZXVL44cS+Lc6Cu++CoSTFRbNgUx4jMtK465xBwQpdhaOz/wgn3wYVxdCxr+1oQoZOxAhh1V7DL99czmu5O4iN9nD20K50T0uga7t4pgztSqdm+nqVUlY0OxFDE3AYKKmoIsojFJVVcfWzC1mxs4Boj1P/4ZYzsm2Hp5TSmXDhKzE2mrjoKP712SZW+JYhqvIa/vLhOrYfbP5hnFLKPu0DDgFlldX8ae5aPlu/nxE90/jZ1AF0Tmk6135ro1luxsC2gyVkdGhFdSulVNBoAg4BP5y5mI/X7Adg/d4i1u0t5O2bT25y3NShXZm7sm4NrvSUOMb0at9mcSqljo0mYJerqPIyb+3+BvuW7cgnv6SySWH1C0f1pKzSy6xvdtI5JY4fn5FNfMxRlhRXSlmjCdjlDhZXNCnCHuURko9QF+KycZlcNi6zDSJTSrWWJmCX65oaT+9OSWw+UNe/O2lAOlGe1q/ntmJnPjO+2oIxcPWELIb2aGZlW6VU0GgCDgEzrhvH/f9dxYpdBZw+sHNAJklsP1jCJY9/RWmlU9jnnWW7mHvbqfTqmNTqayul/KMJOARkdEjk8StzAnrN91bsrk2+AGWVXt5dvocfTNRZTEq1FU3AIaKy2sum/cX06ph4XA/WKqq8/Hb2Sj5YuZeuqfFMGdK1yTHpKTpzTqm2pAk4BCzZfpgbZ+Syr7Cc1IQY/j59JBMHdD76ifXc+cYyZn3jrFCwt7Cc1bsLyOnVntythwAYm9Wec4d3C3jsSqkj0wQcAu59eyX7Cp16q/mlldw9awVf3DkJEf8fxL2/ck+D7Ypqw6U5PfnFOYMAw+jM9sd0PaVU62kCDgGNZ7jtyi+lotpLXLT/XRFpiTEUN1pJo2OSTtRQyiYrtSBE5E8iskZElonILBFJO/pZkatxf+2kAZ2PKfkC/OHC4dQfuZbdOZmJA4+tG0MpFVhWqqGJyFnAx8aYKhF5AMAYc+fRzovUamilFdX87cN1zN+Ux/Ceadx+1oAms+D8cbikglcWbqdXx0TOGtI1IGOJlVJ+cWc5ShG5EPi2MeaKox0bqQlYKRXyXFuO8jrgPdtBKKVUWwvaQzgR+RBoOtgU7jbGvOU75m6gCpjZwnVuBG4EyMzUGgdKqfBhrQtCRK4Bvg+cYYzxq2q4dkEopUJUs10QVoahichU4GfAaf4mX6WUCje2+oAfBVKAD0RkiYg8bikOpZSyxkoL2BjTz8Z9lVLKTdwwCkIppSKSJmCllLJEE7BSSlmiCVgppSzRamhhpKSiil/OWsHclXvI6pTEb6cNYUyvDrbDUkodgbaAw8hfP1jHf77ZSXFFNSt3FfD9FxZTUeW1HZZS6gg0AYeRhZsPNtg+UFTBpgNFlqJRSh2NJuAwMiqzYXH1tMQYsnSVY6VcSxNwGPm/s/ozZUgXPAK9OyXx2OWjj2sBT6VU29CHcGFi5a58crcc4uZJ2fzzijF4tNi6Uq6nCTgMvLRgG3fNWl67fe95g7nmpN4WI1JK+UO7IMLAwx+tb7j98QZLkSiljoUm4DBQUd1wqJkOPVMqNGgCDgPXTMhqcVsp5U7aBxwGbj0jm0Hd2rFoy0FGZ6YxdWg32yEppfygCThMTB7chcmDu9gOQyl1DLQLQimlLNEErJRSlmgCVkopSzQBK6WUJZqAlVLKEk3AIaay2osxxnYYSqkA0GFoIaKiystds5bz5jc7SUuM4RdnD+LiMT1th6WUagVtAYeIGV9t4fXFO6jyGg4UVfCzN5ax63Cp7bCUUq2gCThELNl+uMF2tdewcleBpWiUUoGgCThEjO/TscF2bLSHUZlplqJRSgWC9gGHiMvHZbL9UAlvLN5Bh6RY7pw6kE7JcbbDUkq1goTSE/WcnByTm5trOwyllDpWzS5Ro10QSilliSZgpZSyRPuAI1xZZTXPfbmFlbsKOLlfRy7NyUBEF/RUqi1oAo5wt7+2lNnLdgPwztJd7M4v47Yz+1uOSqnIoF0QEaykoop3l+9usO+13B2WolEq8mgCjmAxUR6S4xr+EdQxOdZSNEpFHk3AESwmysPPzx6Ex9flGx/j4Y4pA+wGpVQEsdIHLCL3AdMAL7APuMYYs8tGLJHu8hMyOSW7E2v2FDKmV3s6JGkLWKm2YmUihoi0M8YU+F7fCgw2xtx0tPN0IoZSKkS5ZyJGTfL1SQJCZzqeUkoFiLVhaCJyP3AVkA9MauG4G4EbATIzM9smOKWUagNB64IQkQ+Brs28dbcx5q16x/0CiDfG/Ppo19QuCKVUiGq2CyJoLWBjzJl+HjoTeBc4agJWSqlwYqUPWESy621OA9bYiEMppWyy1Qf8RxEZgDMMbStw1BEQSikVbqwkYGPMxTbuq5RSbqIz4ZRSyhJNwEopZYkmYKWUsiSk1oQTkf04D+2UfzoBB2wHocKSfm8dmwPGmKmNd4ZUAlbHRkRyjTE5tuNQ4Ue/twJDuyCUUsoSTcBKKWWJJuDw9oTtAFTY0u+tANA+YKWUskRbwEopZYkmYKWUskQTcIgSkWoRWSIiK0VkqYj8VET031MdMxExIvJQve3bReRe3+ubROSqo5x/jYg8eoT37gposGFGf2BDV6kxZqQxZggwGTgbramsjk85cJGIdGr8hjHmcWPMjFZcWxNwCzQBhwFjzD6cZZtuFkeWiHwuIl/7viYAiMgMEbmg5jwRmSki02zFrVyjCmdUw08avyEi94rI7b7XY0Vkme8vrz+JyIp6h3YXkTkisl5EHvQd/0cgwXf8zLb4IKFGE3CYMMZsAqKAzsA+YLIxZjTwHeBh32FPA9cAiEgqMAH4b5sHq9zoMeAK3/fFkTwLfN8YMxKobvTeSJzvtWHAd0Qkwxjzc+r+UrsiKFGHOE3A4SkGeFJElgOvAYMBjDGfAtkikg5cBrxhjKmyF6ZyC99K5TOAW5t7X0TSgBRjzFe+XS81OuQjY0y+MaYMWAX0ClqwYcTaqsgqsESkD06rZB9OX/BeYATOL9myeofOAL4LTAeubeMwlbv9Dfgap6V7rMrrva5Gc4tftAUcBnwt2seBR40zsyYV2G2M8QJX4nRN1HgOuA3AGLOqjUNVLmaMOQi8ClzfzHuHgUIROcG3a7qfl60UkZgAhRh2NAGHrpqHGyuBD4H3gd/43vsHcLWILAUGAsU1Jxlj9gKrOb5Wjgp/D+GUmmzO9ThdW0uAJCDfj+s9ASzTh3DN06nIEUZEEoHlwGhjjD8/QEoBICLJxpgi3+ufA92MMT+2HFZI0xZwBBGRM3Fav49o8lXH4Vu+v7pWAKcAv7MdUKjTFrBSSlmiLWCllLJEE7BSSlmiCVgppSzRBKxcRUQ6+h70LBGRPSKy0/e6SET+0YZxpIvIAhH5RkROafTePBFZ66uLsEZEHvXNFFPqmOhsFeUqxpg8nLoC+EoiFhlj/mwhlDOA5caYG47w/hXGmFwRiQX+ALwFnNZm0amwoC1gFRJEZKKIzPa9vldEnvdVfNsqIheJyIMistxXkSvGd9wYEflURBaLyFwR6dbMdbNE5GNfa/YjEckUkZHAg8A0X+s74UhxGWMqgJ8BmSIywnfNN333XCkiN/r2XScif6t33++JyF8D+f9IhR5NwCpU9QVOB84HXgQ+McYMA0pxxqvGAI8A3zbGjAGeAe5v5jqPAM8bY4YDM4GHjTFLgF8B//ZV8iptKRBjTDVQM+sQ4DrfPXOAW0WkI84U3/PqTcu91heTimDaBaFC1XvGmEpfxbcoYI5v/3IgCxgADAU+EBF8x+xu5jonAhf5Xr+A0/I9HlLv9a0icqHvdQaQbYyZLyIfA+eKyGogxhiz/DjvpcKEJmAVqsoBjDFeEak0dTOKvDjf1wKsNMacGOxARCQKpw7uahGZCJwJnGiMKRGReUC879CncFaIWIPW4lBoF4QKX2uBdBE5EUBEYkRkSDPHfUldZa8rgM+P5Sa+LoU/ANuNMctwKtEd8iXfgcD4mmONMQtwWsSXAy8f4+dRYUhbwCosGWMqROTbwMO+VR6icerdrmx06C3AsyJyB7Af/2skzxSRciAOpxpdzdJOc4CbfN0Ma4H5jc57FRhpjDl0rJ9JhR+tBaFUG/KN5PirMeYj27Eo+7QLQqk2ICJpIrIOZ400Tb4K0BawUkpZoy1gpZSyRBOwUkpZoglYKaUs0QSslFKWaAJWSilL/h8uydeqWU4zoAAAAABJRU5ErkJggg==\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": [ "From the plot, it looks like the rate of change tends to vary much more during the day! Let's check if this is significant with the F-test, assuming both distributions are normal-distributed.\n", "\n", "Note for stats geeks: The F-test works out-of-the-box with variances of the two groups, but since variance is a monotonic + increasing function of standard deviation, it would work out equivalently if we (in theory) went through the trouble of re-deriving the F-distribution and its PDF for standard deviation instead of variance. Therefore, we're still making a statement about standard deviations!" ], "metadata": { "id": "N4rxqlKWd8wk" } }, { "cell_type": "code", "source": [ "from scipy.stats import f_oneway\n", "from scipy.stats import f\n", "\n", "day_glucoses = np.array(\n", " df['Rates of change'].iloc[np.where(df['Time of Day'] == 'Day')[0]]\n", ")\n", "night_glucoses = np.array(\n", " df['Rates of change'].iloc[np.where(df['Time of Day'] == 'Night')[0]]\n", ")\n", "\n", "# here we assume that the day variance is greater than the night variance\n", "# if this assumption is violated, the order has to switch\n", "\n", "F = np.var(day_glucoses) / np.var(night_glucoses)\n", "\n", "df1 = day_glucoses.shape[0] - 1\n", "df2 = night_glucoses.shape[0] - 1\n", "\n", "p_value = 1 - f.cdf(F, df1, df2)\n", "\n", "print(f'F-value (ratio between variances): {F:.3g}')\n", "print(f'p-value: {p_value:.3g}')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "FjhydneWa2J-", "outputId": "a9e16777-d048-4231-b5bd-6e3ba1dd8ebb" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "F-value (ratio between variances): 1.24\n", "p-value: 7.01e-06\n" ] } ] }, { "cell_type": "markdown", "source": [ "Looks significant!\n", "\n", "Note: statistical test code was adapted from [this StackOverflow post](https://stackoverflow.com/questions/21494141/how-do-i-do-a-f-test-in-python), though the top answer is incorrect (so the version here is fixed).\n", "\n", "## 5.3: Anomaly Detection\n", "\n", "Finally, we'll be checking for anomalies in the data. This is a crucial step in any sort of analysis, as we want to make sure that all of the data we are analyzing are legit. In favor of interpretability and simplicity, we will use a heuristic that just checks whether a particular datapoint is too different from surrounding points. We do this by fitting a normal to the surrounding datapoints and checking whether the point in question is far enough away from the mean (say, at least five standard deviations away from the mean).\n", "\n", "Since our data has no obvious measurement-related anomalies, we manually inject one and verify that our method catches that anomaly but not any others." ], "metadata": { "id": "aj4OofwJlhmp" } }, { "cell_type": "code", "source": [ "def detect_anomaly(time_arr):\n", " window_size = 14\n", "\n", " for i, gl in enumerate(time_arr):\n", " lower_bound = max(i - window_size // 2, 0)\n", " upper_bound = min(i + window_size // 2, len(time_arr))\n", "\n", " gls = list(time_arr[lower_bound:i]) + list(time_arr[i+1:upper_bound])\n", "\n", " stdev = np.std(gls)\n", "\n", " dist = np.abs(gl - np.mean(gls))\n", " \n", " if dist > 5 * stdev:\n", " print('#' * 40)\n", " print(f'Anomaly datapoint value: {gl:.3g}')\n", " print(f'Surrounding datapoints: {time_arr[lower_bound:upper_bound]}')\n", " print(f'Anomaly is {dist / stdev:.3g} sigma away from the mean of surrounding points')\n", " print(f'Where sigma = {stdev}')\n" ], "metadata": { "id": "dnm_Wpm66dFp" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "glucose_level = np.array(df.glucose_level)\n", "glucose_level[1000] = 250 # manually inject\n", "\n", "detect_anomaly(glucose_level)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "fnrl4RbU66ft", "outputId": "94f5ff86-a15a-4c9f-ab1d-7f4b8bd7396d" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "########################################\n", "Anomaly datapoint value: 250\n", "Surrounding datapoints: [138.6964903 140.85216356 143.06604306 145.51734431 147.15623186\n", " 146.33188987 143.24873083 250. 140.29092961 141.96955006\n", " 143.05601038 142.60336627 142.1804903 143.54608766]\n", "Anomaly is 47 sigma away from the mean of surrounding points\n", "Where sigma = 2.277405484120558\n" ] } ] } ] }