{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "42d04fab-1afc-4547-ab01-df3e66c8ac56",
   "metadata": {},
   "source": [
    "# Covid-19 Trends Predictions\n",
    "\n",
    "**As a Data Scientist you will login with username/password provided by the data owner and perform Remote Data Science**"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7cc0b4d2-a8cb-4832-a0c2-bc4680588498",
   "metadata": {},
   "source": [
    "## Import Libraries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "b889d920-5f67-4f3b-a909-0d3998575d50",
   "metadata": {},
   "outputs": [],
   "source": [
    "import syft as sy\n",
    "import numpy as np\n",
    "import matplotlib, matplotlib.pyplot as plt\n",
    "import os\n",
    "import pandas as pd\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d8e50aeb-b9ab-449d-8d90-f655543698d5",
   "metadata": {},
   "source": [
    "## Login to Domain Node as Data Scientist"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7969e7e1-f06b-4176-8afd-de01d42f14ef",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Connecting to None... done! \t Logging into local_node... done!\n"
     ]
    }
   ],
   "source": [
    "ds_node = sy.login(email=\"zoheb@amat.com\", password=\"bazinga\", port=8081)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "67194b5d-0bf1-482b-9df5-1c266f7bb1da",
   "metadata": {},
   "source": [
    "**Lets check our initial privacy budget**\n",
    "\n",
    "The privacy budget represents how much noise the data scientist can remove from a dataset when accessing it. Domains will set a privacy budget per data scientist."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "e28db34d-faeb-4468-89b0-f6f50635aca3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "700.0"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ds_node.privacy_budget"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ff609a03-69ff-4baa-a997-728f23cf5c31",
   "metadata": {},
   "source": [
    "## View the available datasets on the Node"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "e6c615db-b0f4-44f9-a3c2-4701773042f9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>\n",
       "                #myInput {\n",
       "                  background-position: 10px 12px; /* Position the search icon */\n",
       "                  background-repeat: no-repeat; /* Do not repeat the icon image */\n",
       "                  background-color: #bbb;\n",
       "                  width: 98%; /* Full-width */\n",
       "                  font-size: 14px; /* Increase font-size */\n",
       "                  padding: 12px 20px 12px 40px; /* Add some padding */\n",
       "                  border: 1px solid #ddd; /* Add a grey border */\n",
       "                  margin-bottom: 12px; /* Add some space below the input */\n",
       "                }\n",
       "\n",
       "                #myTable {\n",
       "                  border-collapse: collapse; /* Collapse borders */\n",
       "                  width: 100%; /* Full-width */\n",
       "                  border: 1px solid #ddd; /* Add a grey border */\n",
       "                  font-size: 14px; /* Increase font-size */\n",
       "                }\n",
       "\n",
       "                #myTable th, #myTable td {\n",
       "                  text-align: left; /* Left-align text */\n",
       "                  padding: 10px; /* Add padding */\n",
       "                }\n",
       "\n",
       "                #myTable tr {\n",
       "                  /* Add a bottom border to all table rows */\n",
       "                  border-bottom: 1px solid #ddd;\n",
       "                }\n",
       "\n",
       "                #myTable tr.header, #myTable tr:hover {\n",
       "                  /* Add a grey background color to the table header and on hover */\n",
       "                  background-color: #777;\n",
       "                }\n",
       "                </style>\n",
       "\n",
       "                <table id=\"myTable\" style=\"width:1000px\">\n",
       "                  <tr class=\"header\">\n",
       "                    <th style=\"width:30px\">Idx</th>\n",
       "                    <th style=\"width:20%;\">Name</th>\n",
       "                    <th style=\"width:35%;\">Description</th>\n",
       "                    <th style=\"width:20%;\">Assets</th>\n",
       "                    <th style=\"width:300px;\">Id</th>\n",
       "                  </tr>\n",
       "                \n",
       "\n",
       "          <tr>\n",
       "            <td>[0]</td>\n",
       "            <td>COVID19 Cases in 175 countries</td>\n",
       "            <td>Weekly data for an entire year</td>\n",
       "            <td>[\"Country 0\"] -> Tensor<br /><br />[\"Country 1\"] -> Tensor<br /><br />[\"Country 2\"] -> Tensor<br /><br />...<br /><br /></td>\n",
       "            <td>51da7d0f-7e80-4b82-b5aa-9814a3ee9cef</td>\n",
       "          </tr>\n",
       "        </table>\n",
       "\n",
       "        <script>\n",
       "        function myFunction() {\n",
       "          // Declare variables\n",
       "          var input, filter, table, tr, td, i, txtValue;\n",
       "          input = document.getElementById(\"myInput\");\n",
       "          filter = input.value.toUpperCase();\n",
       "          table = document.getElementById(\"myTable\");\n",
       "          tr = table.getElementsByTagName(\"tr\");\n",
       "\n",
       "          // Loop through all table rows, and hide those who don't match the search query\n",
       "          for (i = 0; i < tr.length; i++) {\n",
       "            name_td = tr[i].getElementsByTagName(\"td\")[1];\n",
       "            desc_td = tr[i].getElementsByTagName(\"td\")[2];\n",
       "            asset_td = tr[i].getElementsByTagName(\"td\")[3];\n",
       "            id_td = tr[i].getElementsByTagName(\"td\")[4];\n",
       "            if (name_td || desc_td || asset_td || id_td) {\n",
       "              name_txtValue = name_td.textContent || name_td.innerText;\n",
       "              desc_txtValue = desc_td.textContent || name_td.innerText;\n",
       "              asset_txtValue = asset_td.textContent || name_td.innerText;\n",
       "              id_txtValue = id_td.textContent || name_td.innerText;\n",
       "              name_bool = name_txtValue.toUpperCase().indexOf(filter) > -1;\n",
       "              desc_bool = desc_txtValue.toUpperCase().indexOf(filter) > -1;\n",
       "              asset_bool = asset_txtValue.toUpperCase().indexOf(filter) > -1;\n",
       "              id_bool = id_txtValue.toUpperCase().indexOf(filter) > -1;\n",
       "              if (name_bool || desc_bool || asset_bool || id_bool) {\n",
       "                tr[i].style.display = \"\";\n",
       "              } else {\n",
       "                tr[i].style.display = \"none\";\n",
       "              }\n",
       "            }\n",
       "          }\n",
       "        }\n",
       "        </script>"
      ],
      "text/plain": [
       "<syft.core.node.common.client_manager.dataset_api.DatasetRequestAPI at 0x1b55e5520>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ds_node.datasets"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "40159b99-9f03-4bbd-a13d-4cd01ca6e5bc",
   "metadata": {},
   "source": [
    "## Let's get a pointer to our Dataset\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "0525641c-721c-4c07-8fd8-343de0063768",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dataset: COVID19 Cases in 175 countries\n",
      "Description: Weekly data for an entire year\n",
      "\n",
      "WARNING: Too many assets to print... truncating... You may run \n",
      "\n",
      " assets = my_dataset.assets \n",
      "\n",
      "to view receive a dictionary you can parse through using Python\n",
      "(as opposed to blowing up your notebook with a massive printed table).\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<style>\n",
       "        #myInput {\n",
       "          background-position: 10px 12px; /* Position the search icon */\n",
       "          background-repeat: no-repeat; /* Do not repeat the icon image */\n",
       "          background-color: #bbb;\n",
       "          width: 98%; /* Full-width */\n",
       "          font-size: 14px; /* Increase font-size */\n",
       "          padding: 12px 20px 12px 40px; /* Add some padding */\n",
       "          border: 1px solid #ddd; /* Add a grey border */\n",
       "          margin-bottom: 12px; /* Add some space below the input */\n",
       "        }\n",
       "\n",
       "        #myTable {\n",
       "          border-collapse: collapse; /* Collapse borders */\n",
       "          width: 50%; /* Full-width */\n",
       "          border: 1px solid #ddd; /* Add a grey border */\n",
       "          font-size: 14px; /* Increase font-size */\n",
       "        }\n",
       "\n",
       "        #myTable th, #myTable td {\n",
       "          text-align: left; /* Left-align text */\n",
       "          padding: 10px; /* Add padding */\n",
       "        }\n",
       "\n",
       "        #myTable tr {\n",
       "          /* Add a bottom border to all table rows */\n",
       "          border-bottom: 1px solid #ddd;\n",
       "        }\n",
       "\n",
       "        #myTable tr.header, #myTable tr:hover {\n",
       "          /* Add a grey background color to the table header and on hover */\n",
       "          background-color: #777;\n",
       "        }\n",
       "        </style>\n",
       "\n",
       "        <table id=\"myTable\">\n",
       "          <tr class=\"header\">\n",
       "            <th style=\"width:15%;\">Asset Key</th>\n",
       "            <th style=\"width:20%;\">Type</th>\n",
       "            <th style=\"width:10%;\">Shape</th>\n",
       "          </tr>\n",
       "        \n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 0\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 1\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 2\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 3\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 4\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 5\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 6\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 7\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 8\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 9\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 10\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 11\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 12\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 13\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "\n",
       "              <tr>\n",
       "            <td>[\"Country 14\"]</td>\n",
       "            <td>Tensor</td>\n",
       "            <td>(53,)</td>\n",
       "          </tr>\n",
       "        </table>\n",
       "\n",
       "        "
      ],
      "text/plain": [
       "<syft.core.node.common.client_manager.dataset_api.Dataset at 0x10f9856a0>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "covid_ds = ds_node.datasets[0]\n",
    "covid_ds"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ee056726-22a2-4bc6-b713-f57f1c06b0eb",
   "metadata": {},
   "source": [
    "**We can't see the dataset's values by printing it, hence we can't steal.**\n",
    "**Here is the tensor pointer to the dataset**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "bee3451d-29c6-498f-b35c-89b17086773b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<syft.core.node.common.client_manager.dataset_api.Dataset object at 0x10f9856a0>\n"
     ]
    }
   ],
   "source": [
    "print(covid_ds)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "42f7a625-901d-4cdc-8e0b-8779dbcc9a00",
   "metadata": {},
   "source": [
    "## Let's do an extrapolation for next 3 months on a country's dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ef513d73-c230-4c23-8c4c-cd834196f1a7",
   "metadata": {},
   "source": [
    "### Extract the data for a country"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e89a68d8-c316-4553-8dae-a0a4e1f98775",
   "metadata": {},
   "source": [
    "Create `result` - a pointer to one of the selected dataset's tensors.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "277b8461-8ca8-4410-9907-2a1a4bf10693",
   "metadata": {},
   "outputs": [],
   "source": [
    "result = covid_ds[\"Country 0\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6847c0aa-73ba-4f17-ab48-0fbc46ec650c",
   "metadata": {},
   "source": [
    "`publish` uses the privacy budget approved by the data owner to access the data in a noised format that does not compromise the original dataset. `sigma` is the amount of privacy budget the data scientist plans to use."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "af930473-bb78-4532-b627-026cfeceb2e0",
   "metadata": {},
   "outputs": [],
   "source": [
    "published_result = result.publish(sigma=1000)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e4bdf2fd-5949-43df-a26d-f9af6eebfa7a",
   "metadata": {},
   "source": [
    "We call `get()` to access the contents of the published_result pointer created above."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "12e1278e-a39f-49fb-84fc-fcb1bc220a69",
   "metadata": {},
   "outputs": [],
   "source": [
    "published_data = published_result.block_with_timeout(60).get()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "d9f83b15-cfd9-4df9-8548-fca201814f0d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  100.73878185,   541.4500865 ,  -375.10293856,  2858.73702973,\n",
       "         686.31945154,   -20.76044026,  1197.38230958,   640.06508438,\n",
       "         347.7196077 ,   990.81971463,   588.6657162 ,  1142.07340362,\n",
       "          64.05201107,  1212.90968109,  1354.55840716,   469.85859676,\n",
       "         800.12409571,   406.92008934,  -581.09715378,  -182.33866302,\n",
       "       -1601.69871867,   344.73025418, -1440.2914348 , -1037.69893063,\n",
       "       -1455.43654042,    15.35680767,  -562.58933802,  1449.02276369,\n",
       "        -321.00256185,   455.77455451,  -367.60258788,  1993.28491317,\n",
       "       -1531.85406781,   489.68772356,   354.53473314,    91.88429386,\n",
       "         729.65001485,  1101.29951442,  -257.16234613,    88.52534715,\n",
       "         204.61057498,   321.02971848,  1061.47491978, -1127.56615556,\n",
       "         263.99707188, -1471.40921471,  -207.98838313,   729.49451665,\n",
       "         125.73934123,  1501.26873026,  1553.67660508,   681.24566677,\n",
       "        -973.26207448])"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "published_data"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3539fc28-2c92-456a-80d1-de34c6563c29",
   "metadata": {},
   "source": [
    "**Check the privacy budget spent -- its decreased**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "032f84a2-a698-4baf-ac13-554b3587c7b2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "700.0\n"
     ]
    }
   ],
   "source": [
    "print(ds_node.privacy_budget)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d9519085",
   "metadata": {},
   "source": [
    "You can request for budget from Data Owner"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b0e8468b-3756-419c-a8ef-2e2d0b9e225a",
   "metadata": {},
   "outputs": [],
   "source": [
    "#ds_node.request_budget(eps=100, reason=\"I want to do more data exploration\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fcfb0222-6e64-4684-ab92-1982115097ba",
   "metadata": {},
   "source": [
    "### Load the dataset portion into a Pandas dataframe.\n",
    "\n",
    "Let's plot the noisy data. In comparison to the data visualized by data owner, it is impossible (thanks to differential privacy) to get exact same visualization, but the machine learning properties of the data remain the same."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "fb6bcf5b-5c71-4c31-9c22-4b2f8b15d117",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data_df = pd.DataFrame(published_data)\n",
    "data_df.plot(legend=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "2404cdd0-a2d1-493a-895f-eb2bb54d2847",
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_extrapolated_country(idx):\n",
    "    x = list(range(53))\n",
    "    y = data_df.loc[:,idx].values\n",
    "\n",
    "    plt.plot(y)\n",
    "    \n",
    "    z = np.polyfit(x, y, 2)\n",
    "    f = np.poly1d(z)\n",
    "\n",
    "    new_points = range(12)\n",
    "    new_y = []\n",
    "    for x2 in new_points:\n",
    "        new_y.append(f(53+x2))\n",
    "        \n",
    "    plt.plot(range(53, 65), new_y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "6523209f-6ebc-490d-9950-730c63499d80",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_extrapolated_country(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8d6a9350-0b49-4a07-9f21-df312752eba0",
   "metadata": {},
   "source": [
    "As you can see above, the data is obscured by noise, but the trends / modeling move in the expected direction.\n",
    "\n",
    "**This is the power of Remote Data Science. We're able to work with and get the benefits of data, without directly owning it, or exposing the privacy of the subjects whose data was collected.**"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}