{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Training Dataset Drift Detection\n", "\n", "In this example, we will demonstrate how to detect drift from training data set using the public Airlines data set." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
yearmonthdaydep_timesched_dep_timedep_delayarr_timesched_arr_timearr_delaycarrier...destair_timedistancehourminutetime_hourdateday_indexDayOfWeekMonth
0201311517.05152.0830.081911.0UA...IAH227.014005151/1/2013 5:002013-01-010TuesdayJanuary
1201311533.05294.0850.083020.0UA...IAH227.014165291/1/2013 5:002013-01-010TuesdayJanuary
..................................................................
3367742013930NaN1159NaNNaN1344NaNMQ...CLENaN419115930-09-2013 11:002013-09-30272MondaySeptember
3367752013930NaN840NaNNaN1020NaNMQ...RDUNaN43184030-09-2013 08:002013-09-30272MondaySeptember
\n", "

336776 rows × 23 columns

\n", "
" ], "text/plain": [ " year month day dep_time sched_dep_time dep_delay arr_time \\\n", "0 2013 1 1 517.0 515 2.0 830.0 \n", "1 2013 1 1 533.0 529 4.0 850.0 \n", "... ... ... ... ... ... ... ... \n", "336774 2013 9 30 NaN 1159 NaN NaN \n", "336775 2013 9 30 NaN 840 NaN NaN \n", "\n", " sched_arr_time arr_delay carrier ... dest air_time distance hour \\\n", "0 819 11.0 UA ... IAH 227.0 1400 5 \n", "1 830 20.0 UA ... IAH 227.0 1416 5 \n", "... ... ... ... ... ... ... ... ... \n", "336774 1344 NaN MQ ... CLE NaN 419 11 \n", "336775 1020 NaN MQ ... RDU NaN 431 8 \n", "\n", " minute time_hour date day_index DayOfWeek Month \n", "0 15 1/1/2013 5:00 2013-01-01 0 Tuesday January \n", "1 29 1/1/2013 5:00 2013-01-01 0 Tuesday January \n", "... ... ... ... ... ... ... \n", "336774 59 30-09-2013 11:00 2013-09-30 272 Monday September \n", "336775 40 30-09-2013 08:00 2013-09-30 272 Monday September \n", "\n", "[336776 rows x 23 columns]" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas\n", "pandas.options.display.max_rows=5 # restrict to 5 rows on display\n", "\n", "df = pandas.read_csv(\"https://raw.githubusercontent.com/Devvrat53/Flight-Delay-Prediction/master/Data/flight_data.csv\")\n", "df['date'] = pandas.to_datetime(df[['year', 'month', 'day']])\n", "df['day_index'] = (df['date'] - df['date'].min()).dt.days\n", "df['DayOfWeek'] = df['date'].dt.day_name()\n", "df['Month'] = df['date'].dt.month_name()\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data Splitting\n", "\n", "Let's assume that we trained our model with the January through November data, and we want to run our model using the data we get each day in December. To set this up, we split the data among different data frames." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "df_train = df[df['month'] <= 11]\n", "df_daily = df[df['month'] > 11]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Drift Detection\n", "\n", "Now we want to compare our training data set to each set of daily data that we plan to feed to our model. Let's start with the categorical features." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)\n" ] } ], "source": [ "from mvtk.supervisor.divergence import calc_tv_mle\n", "\n", "columns = ['carrier', 'origin', 'dest']\n", "\n", "df_train_transformed = df_train[columns]\n", "\n", "grouped = df_daily.groupby('day')\n", "batches = [g[1][columns] for g in grouped]\n", "\n", "categorical_drift_series = []\n", "for (day, _), batch in zip(grouped, batches):\n", " categorical_drift_series.append(calc_tv_mle([df_train_transformed], [batch]))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlkAAAEvCAYAAAB2a9QGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABiRUlEQVR4nO3deXhb5ZX48e8ryZK8yEu8JY6T2EnYErISQstWoFOGNUwZaIHSQqHTZUoX2lmYdroM7Uw7XX5dmRbaAt3YSylQWraWtbQQICEkIZA4IbGT2JbiTbYlWdL7+0O6snHsWLbv1b3XOZ/n4SGWtbyxHN/j8573HKW1RgghhBBCmMtj9wKEEEIIIWYiCbKEEEIIISwgQZYQQgghhAUkyBJCCCGEsIAEWUIIIYQQFpAgSwghhBDCAj67FzBaTU2NbmpqsnsZQgghhBATevHFF8Na69qxPue4IKupqYn169fbvQwhhBBCiAkppd4c73OyXSiEEEIIYQEJsoQQQgghLCBBlhBCCCGEBRxXkzWWoaEhWltbicVidi9FiGkLBoM0NjZSVFRk91KEEEJYyBVBVmtrK6FQiKamJpRSdi9HiCnTWhOJRGhtbaW5udnu5QghhLCQK7YLY7EY1dXVEmAJ11NKUV1dLVlZIYQ4DLgiyAIkwBIzhnwvCyHE4cE1QZbdlFJcfvnluY+TySS1tbWcd955U3q++++/n69//etmLW/STjvttIP6ka1fv55PfvKTAHz5y1/mW9/6Vt7P19TURDgcBuDEE08E4Iknnpjy1+dQxnveJ554AqUUDzzwQO628847jyeeeCLv577yyitpbm5mxYoVHHnkkXzgAx+gtbV13Pt/6EMfYsuWLQDcfffdHHPMMZx++uk88cQT/OUvf8n/LyWEEGLGkSArT6Wlpbz66qsMDg4C8OijjzJ37twpP9+6deu47rrrzFqeKdasWcP3v//9aT+PncFFY2Mj//3f/z2t5/jmN7/Jxo0b2bZtG6tWreKMM84gkUgcdL9UKsVPf/pTlixZAsDPfvYzfvKTn/DnP/9ZgiwhhBASZE3GOeecw+9//3sAbr/9di699NLc555//nne/va3s2rVKk488US2bdsGwHe+8x2uuuoqADZt2sSxxx7LwMAAt956K9dccw2QyZ587GMf421vexsLFy7kiSee4KqrruKYY47hyiuvzL1GWVlZ7s/33HNP7nP5Pn4i42WIfvKTn3D22WczODjIr371K9auXcvKlSv5yEc+QiqVOuj+I9cZjUa56KKLOProo3nf+96H1hqAxx9/nFWrVrFs2TKuuuoq4vH4IW//4x//yNFHH83q1au59957x/07rFixgoqKCh599NGDPjfec49HKcW1117L7Nmz+cMf/pD7u332s59lxYoVPPfcc7mM4PXXX88zzzzD1VdfzcUXX8yPf/xjvvOd77By5UqefvrpQ76OEEI4RWwoxV92hO1exowhQdYkXHLJJdxxxx3EYjFeeeUVTjjhhNznjj76aJ5++mlefvllrr/+ej73uc8B8KlPfYrt27fz29/+lg9+8IPceOONlJSUHPTcXV1dPPfcc3znO99h3bp1XHvttWzevJlNmzaxYcOGCdc23ceP54c//CEPPvgg9913H7t27eLOO+/k2WefZcOGDXi9Xn79618f8vEvv/wy3/3ud9myZQstLS08++yzxGIxrrzySu688042bdpEMpnkRz/60SFv/6d/+iceeOABXnzxRfbv33/I1/z85z/PV7/61bfcNt5z52P16tW89tprAPT393PCCSewceNGTj755Nx9vvjFL7JmzRp+/etfc/fdd/PRj36Ua6+9lg0bNnDKKafk9TpCCPcKR+Ok09ruZUzbfS+3cdlP/sbuyIDdS5kRXNHCYaT/emAzW/b2mvqcSxrK+dL5Sye83/Lly9m1axe3334755xzzls+19PTwxVXXMEbb7yBUoqhoSEAPB4Pt956K8uXL+cjH/kIJ5100pjPff7556OUYtmyZdTX17Ns2TIAli5dyq5du1i5cuUh1zbdx4/lF7/4BfPmzeO+++6jqKiIxx9/nBdffJHjjz8egMHBQerq6g75HGvXrqWxsRGAlStXsmvXLkKhEM3NzRx55JEAXHHFFdxwww2cfvrpY95+2mmn0dzczBFHHAHA5Zdfzk033TTua5566qkAPPPMM7nbtm3bNuZzf/rTn57w62Bk3wC8Xi//+I//OOFjhBCHj6de7+TKW57nh5et5pxlc+xezrS0dmVKYl5v72N+9cEJATE5ksmapHXr1vEv//Ivb9kqBPjCF77A6aefzquvvsoDDzzwliP6b7zxBmVlZezdu3fc5w0EAkAmKDP+bHycTCaBt55KG90CIJ/HT9ayZcvYtWtX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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pylab as plt\n", "\n", "plt.rcParams['figure.figsize'] = [10, 5]\n", "fig, ax = plt.subplots()\n", "\n", "days = range(1, len(categorical_drift_series) + 1)\n", "\n", "plt.plot(days, categorical_drift_series, label='Maximum Likelihood No Drift')\n", "\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see from the plot above, there is not a lot of difference between the training set and each day's set of data (floats around 0.1 to 0.2).\n", "\n", "Let's now assume that starting on day 25, flights are increasingly routed to LAX more and more each day, with all flights going to LAX from day 29 and on. Then we will run the divergences again and plot our results." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "df_daily = df_daily.reset_index(drop=True)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "x = 5\n", "\n", "for i in range(25, 32):\n", " df_daily.loc[(df_daily['day'] == i) & (df_daily.index % x == 0), ['dest']] = 'LAX'\n", " if x > 1:\n", " x -= 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below is the percentage of destination airports that are LAX per day in our updated daily data set" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Day 1: 5%\n", "Day 2: 5%\n", "Day 3: 5%\n", "Day 4: 5%\n", "Day 5: 5%\n", "Day 6: 5%\n", "Day 7: 5%\n", "Day 8: 5%\n", "Day 9: 5%\n", "Day 10: 5%\n", "Day 11: 5%\n", "Day 12: 5%\n", "Day 13: 5%\n", "Day 14: 5%\n", "Day 15: 5%\n", "Day 16: 5%\n", "Day 17: 5%\n", "Day 18: 5%\n", "Day 19: 5%\n", "Day 20: 5%\n", "Day 21: 5%\n", "Day 22: 5%\n", "Day 23: 5%\n", "Day 24: 6%\n", "Day 25: 24%\n", "Day 26: 29%\n", "Day 27: 37%\n", "Day 28: 53%\n", "Day 29: 100%\n", "Day 30: 100%\n", "Day 31: 100%\n" ] } ], "source": [ "day = 1\n", "for df_day in df_daily.groupby('day'):\n", " day_pct = df_day[1]['dest'].value_counts(normalize=True) * 100\n", " print('Day ' + str(day) + ': ' + str(round(day_pct.loc[day_pct.index == 'LAX'][0])) + '%')\n", " day += 1" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "grouped = df_daily.groupby('day')\n", "batches = [g[1][columns] for g in grouped]\n", "\n", "categorical_drift_series_updated = []\n", "for (day, _), batch in zip(grouped, batches):\n", " categorical_drift_series_updated.append(calc_tv_mle([df_train_transformed], [batch]))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlMAAAEvCAYAAABhSUTPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABBgElEQVR4nO3deXxU1f3/8dfJZF8gLAlbWMK+BRIIOypotSoKtuJWUShWxUpVqra0Vr/WX/3WfkvVWi0WN0QsLiCI+4KgyE4M+04IELaQhZB9m/P7Y0IMS/YJk+X9fDzyyMydO/d+5nLNvD333HOMtRYRERERqRkvTxcgIiIi0pApTImIiIjUgsKUiIiISC0oTImIiIjUgsKUiIiISC0oTImIiIjUgrendty6dWvbpUsXT+1eREREpMri4uJSrLVhF3rNY2GqS5cubNy40VO7FxEREakyY8zB8l7TZT4RERGRWlCYEhEREakFhSkRERGRWvBYn6kLKSwsJCkpiby8PE+XInJR+Pv7ExERgY+Pj6dLERGRGqpXYSopKYmQkBC6dOmCMcbT5YjUKWstqampJCUlERkZ6elyRESkhurVZb68vDxatWqlICVNgjGGVq1aqSVWRKSBq1dhClCQkiZF57uISMNX78KUpxljmDRpUunzoqIiwsLCuO6662q0vaVLl/LMM8+4q7xqGzNmzHnjeW3cuJEHHngAgCeffJJZs2ZVeXtdunQhJSUFgJEjRwKwYsWKGh+fipS33RUrVmCM4aOPPipddt1117FixYoqb3vKlClERkYycOBAevbsyZ133klSUlK56//qV79ix44dALz//vv06dOHsWPHsmLFClavXl31DyUiIo2OwtQ5goKC2LZtG7m5uQB89dVXdOjQocbbGz9+PDNnznRXeW4RGxvLCy+8UOvteDJERERE8PTTT9dqG3//+9/ZvHkzu3fvJiYmhssvv5yCgoLz1isuLubVV1+lb9++ALz22mu88sorLF++XGFKRETqVwf0+uLaa6/lk08+YeLEiSxYsIDbbruNlStXArB+/XoefPBB8vLyCAgI4I033qBXr14899xzbN26lddff52tW7dy2223sX79et577z02btzIiy++yJQpUwgICCA+Pp7k5GRef/115s2bx5o1axg2bBhz584FIDg4mKysLAAWLlzIxx9/zNy5c6v8/sqs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j49n7969zJw5k5///Ofs3LnzvPWKioqYNm1a6WTQS5YsYeLEicTHx3P48GGFKRFpPNISXJf4ykx91tQpTF3AtddeyyeffALAggULuO2220pfW79+PSNGjCAmJoaRI0eye/duAJ577jmmTp0KwNatW+nfvz85OTnMnTuX6dOnAzBlyhTuu+8+hg8fTteuXVmxYgVTp06lT58+TJkypXQfZVtNFi5cWPpaVd9fmfJafF555RWuueYacnNzmT9/PkOHDiU6Opp7772X4uLi89YvW2dWVhYTJ06kd+/e3H777aWTBi9btoyYmBiioqKYOnUq+fn5FS7//PPP6d27N4MGDeKDDz64YP0jR44sDU+rV69m2rRppS1V69evZ/DgwTgcDqZMmcLChQt54YUXOHr0KGPHjmXs2LGl23nssccYOHAgw4cP58SJE5Uet7Fjx3LPPfeUTr48ZswYHnroIWJjY/nnP/9Z2sr36aef8vzzzzN79mzGjh3LzJkzWblyJdHR0Tz33HOV7kdEpF7TsAjnUZi6gFtvvZV33nmHvLw8tmzZwrBhw0pf6927NytXriQ+Pp6nnnqKP/7xjwA8+OCD7Nu3j8WLF/PLX/6S//znPwQGBp637fT0dNasWcNzzz3H+PHjmTFjBtu3b2fr1q2lgaAitX1/eV588UU+/vhjlixZQmJiIu+++y6rVq1i06ZNOBwO3n777QrfHx8fz/PPP8+OHTtISEhg1apV5OXlMWXKFN599122bt1KUVERs2fPrnD53XffzUcffURcXBzHjx+/4L7KtkytXr2aSy+9FD8/PzIzM1m9enXp5cczHnjgAdq3b8/y5ctZvnw54GrBGj58OJs3b+bSSy/llVdeqdJxGjRoELt27Sp9XlBQwMaNG3n44YdLl1177bVMmzaNGTNmsHz5cp555hkuueQSNm3axIwZM6q0HxGReqm4yDXJscLUWertRMd8NhOOb3XvNttGwTWV918aMGAAiYmJLFiwgGuvvfas1zIyMpg8eTJ79+7FGENhYSEAXl5ezJ07lwEDBnDvvfcyatSoC277+uuvxxhDVFQUbdq0ISoqCoB+/fqRmJhIdHR0hbXV9v0XMm/ePDp27MiSJUvw8fFh2bJlxMXFMWTIEAByc3MrnSdv6NChREREABAdHU1iYiIhISFERkbSs2dPACZPnsxLL73E2LFj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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.rcParams['figure.figsize'] = [10, 5]\n", "fig, ax = plt.subplots()\n", "\n", "plt.plot(days, categorical_drift_series, label='Maximum Likelihood No Drift')\n", "plt.plot(days, categorical_drift_series_updated, label='Maximum Likelihood With Drift')\n", "\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see above, our drift detection increases starting from 25, alerting us of the drift.\n", "\n", "Now let's try the same exercise on the continuous features." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "from mvtk.supervisor.divergence import calc_tv_knn\n", "\n", "columns = ['dep_time', 'sched_dep_time', 'dep_delay', 'arr_time', 'sched_arr_time', 'arr_delay', 'air_time', 'distance', 'hour', 'minute']\n", "\n", "df_train_transformed = df_train[columns].fillna(0)\n", "\n", "grouped = df_daily.groupby('day')\n", "batches = [g[1][columns].fillna(0) for g in grouped]\n", "\n", "continuous_drift_series = []\n", "for (day, _), batch in zip(grouped, batches):\n", " continuous_drift_series.append(calc_tv_knn([df_train_transformed], [batch], k=20))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.rcParams['figure.figsize'] = [10, 5]\n", "fig, ax = plt.subplots()\n", "\n", "plt.plot(days, continuous_drift_series, label='Total Variation KNN No Drift')\n", "\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once again, there is not a lot of difference between the training set and each day's set of data (does not exceed 0.5).\n", "\n", "Let's now assume that starting on day 25, flights are increasingly delayed more and more each day, with all flights delayed from day 29 and on (ignoring null values). Then we will run the divergences again and plot our results." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "x = 5\n", "\n", "for i in range(25, 32):\n", " df_daily.loc[(df_daily['day'] == i) & (df_daily.index % x == 0), ['dep_delay']] += 1000\n", " if x > 1:\n", " x -= 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below is the percentage of departure delays that are 100 seconds or more per day in our updated daily data set" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Day 1: 1%\n", "Day 2: 2%\n", "Day 3: 2%\n", "Day 4: 1%\n", "Day 5: 18%\n", "Day 6: 4%\n", "Day 7: 1%\n", "Day 8: 6%\n", "Day 9: 11%\n", "Day 10: 6%\n", "Day 11: 1%\n", "Day 12: 1%\n", "Day 13: 1%\n", "Day 14: 8%\n", "Day 15: 4%\n", "Day 16: 3%\n", "Day 17: 11%\n", "Day 18: 2%\n", "Day 19: 3%\n", "Day 20: 3%\n", "Day 21: 5%\n", "Day 22: 7%\n", "Day 23: 10%\n", "Day 24: 1%\n", "Day 25: 22%\n", "Day 26: 27%\n", "Day 27: 35%\n", "Day 28: 51%\n", "Day 29: 98%\n", "Day 30: 99%\n", "Day 31: 98%\n" ] } ], "source": [ "day = 1\n", "for df_day in df_daily.groupby('day'):\n", " day_pct = df_day[1]['dep_delay'].value_counts(normalize=True, dropna=False) * 100\n", " print('Day ' + str(day) + ': ' + str(round(day_pct.loc[day_pct.index >= 100].sum())) + '%')\n", " day += 1" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "grouped = df_daily.groupby('day')\n", "batches = [g[1][columns].fillna(0) for g in grouped]\n", "\n", "continuous_drift_series_updated = []\n", "for (day, _), batch in zip(grouped, batches):\n", " continuous_drift_series_updated.append(calc_tv_knn([df_train_transformed], [batch], k=20))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.rcParams['figure.figsize'] = [10, 5]\n", "fig, ax = plt.subplots()\n", "\n", "plt.plot(days, continuous_drift_series, label='Total Variation KNN No Drift')\n", "plt.plot(days, continuous_drift_series_updated, label='Total Variation KNN With Drift')\n", "\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see above, our drift detection increases this time starting from day 28, alerting us of the drift." ] } ], "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.10.2" } }, "nbformat": 4, "nbformat_minor": 2 }