{ "metadata": { "name": "", "signature": "sha256:db1e8ffe92d05db52ba12ff0b60051badb7575a46c67f2a8d15846c0bbcde99f" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Change Detection Tutorial\n", "\n", " author: @amanqa\n", " source: github.com/amanahuja/change-detection-tutorial\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Modified Stylesheet for notebook.\n", "from IPython.core.display import HTML\n", "def css_styling():\n", " styles = open(\"custom.css\", \"r\").read()\n", " return HTML(styles)\n", "\n", "css_styling()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n" ], "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ "" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Section 01: Starting Simple\n", "\n", "\n", "Lesson Plan\n", "\n", "* Section 01\n", "\n", " * A trivial signal\n", " * Signal 1\n", " * A \"static mean\" change detector\n", " * Recent (amplitude) vs global (mean) detector \n", " * Framing the problem and some utility code #maybe move this to an appendix?\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib.pyplot as plt\n", "import numpy as np" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "from collections import defaultdict\n", "np.random.seed(seed=111111)\n", "np.set_printoptions(precision=3, suppress=True)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Recap\n", "\n", "So far, we have\n", "\n", " * discussed what online algorithm is\n", " * written some utility code to simulate an online algorithm\n", " \n", "\n", "We'll import that utility code so we can use it:\n", " " ] }, { "cell_type": "code", "collapsed": false, "input": [ "import sys; sys.path.append('../src/')\n", "from change_detector import ChangeDetector, OnlineSimulator" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Let examine with a basic signal\n", "\n", "We'll start with as basic as a signal that we can consider. It consists of a signal value, repeated, that, at some point, changes. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "sig1 = np.ones(150)\n", "sig1[:100] *= 50\n", "sig1[100:] *= 40\n", "\n", "plt.figure(figsize=(15, 5))\n", "plt.plot(sig1, 'b.')\n", "plt.plot(sig1, '-', alpha=0.2)\n", "plt.ylim(0,100)\n", "plt.title(\"sig1 : A trivial signal\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAA3EAAAFCCAYAAABfBVRmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmQVeWZP/BvgxA1iiBCI7bYbsjihlFMnIpppZpEK1i4\nBMHoELeqGTMp45jo6NREzCTSajkuMUklRhPct8wAjoTKuLSaikssJm44IgRk7xplMYgBIef3B5P+\niYBCd4d7D/35VN0q+u1z3vfp85Tt/d5z+pyaoiiKAAAAUApdKl0AAAAAW0+IAwAAKBEhDgAAoESE\nOAAAgBIR4gAAAEpEiAMAACgRIQ6ALZo4cWIuvPDCSpfRYZ555pkMGjRoq7Y9+eSTc9ddd23VtvX1\n9Xn88cf/arW0x7x589KlS5f8+c9//quvBcD2UeM5cQB0hFdffTWXXnppZsyYkXfeeadDQsOqVavS\nr1+/HH/88Zk2bdrHbtulS5fMnj07BxxwQLvX3Vb7779/br/99px44onbfe1PMm/evBxwwAFZt25d\nunTx2S3AjsBvcwA6RPfu3TN27NjcfvvtHTbnL3/5ywwYMCDNzc1paWn5xO0/7nPJdevWdVhdAFBJ\nQhwAufbaa1NXV5cePXpk0KBBeeKJJ5IkEyZMyDnnnNO63Z133pn99tsve+21V773ve9tdBnhwIED\nc+6552bIkCEdVtekSZNywQUX5G/+5m9y9913b3G7448/PklyxBFHZPfdd89DDz2U5ubm1NXV5brr\nrsvee++d888/P83Nzdl3331bf+avfOUrG81z8cUX5+KLL06SNDQ0tAbSOXPm5MQTT8xee+2VPn36\n5Oyzz87KlSu36meYNm1ahg4dmh49eqSuri433HBDkmxUS5LMmDEjw4YNS48ePTJmzJiceeaZ+Zd/\n+ZfWbevq6vJv//Zvqa2tTf/+/fOLX/yidd9HH300w4YNyx577JEBAwbk6quv3qraACgnIQ6gk3vj\njTfywx/+MC+++GLefffd/PrXv059fX2SpKampnW7mTNn5utf/3ruu+++LFmyJCtXrszixYs32mZb\njBo1Ktddd90Wv//WW2/l6aefzpgxYzJmzJjceeedW9z26aefTpK8/PLL+eMf/9gazlpaWrJ8+fLM\nnz8/P/nJTzbaZ+zYsZk2bVpWrVqVJFm/fn0eeuihfPWrX2392T/8s/3zP/9zlixZktdffz0LFizI\nhAkTturnPP/88/PTn/407777bl577bXNXnK5du3anHrqqTnvvPOyfPnyjBs3LpMnT95o/ZaWlrz7\n7rtZvHhxbr/99nz9619vDZK77bZb7r777qxcuTKPPvpofvzjH2fKlClbVR8A5SPEAXRyXbt2zZo1\na/Laa6/lgw8+yIABA1r/ruzDlyc+/PDDOeWUU3LcccelW7du+e53v9vmAJckjzzySC677LItfv+u\nu+7K8OHDU1dXl9NOOy0zZ87M73//+21ao0uXLrn66qvTrVu37Lzzzht9b7/99stRRx2V//iP/0iS\nPPHEE9l1110zfPjwTeY58MADM2LEiHTr1i177bVXLrnkkjz11FNbVUP37t3z2muv5d13380ee+yR\nYcOGbbLNc889l/Xr1+cb3/hGunbtmlNPPXWTOrp165bvfOc76dq1a0466aTstttueeONN5IkX/jC\nFzJ06NAkyWGHHZaxY8dudX0AlI8QB9DJHXTQQbnpppsyYcKE1NbWZty4cVmyZMkm2y1evDh1dXWt\nX++yyy7p3bv3X62uO++8s/WMWu/evdPQ0JBJkyZt0xx9+vRJ9+7dt/j9s846K/fdd1+S5N577209\nC/dRLS0tGTt2bOrq6rLHHnvknHPOyTvvvLNVNfzyl7/MtGnTUl9fn4aGhjz33HObbLN48eLss88+\nG419+FLLZMMx+PCNSXbdddfWs4jPP/98TjjhhPTt2zc9e/bMT37yk62uD4DyEeIAyLhx4/LMM8/k\nrbfeSk1NTS6//PJNtunfv38WLlzY+vX777//VwsKv/3tbzN79ux873vfy95775299947zz77bO69\n996sX79+q+f5pDOFZ5xxRpqbm7No0aJMnjw5Z5111ma3u/LKK9O1a9e8+uqrWblyZe66666tvvvm\n0UcfncmTJ+d///d/M3r06IwZM2aTbfbee+8sWrRoo7H58+dv1fzJhjA6evToLFy4MCtWrMjf/d3f\neaQAwA5MiAPo5GbNmpUnnngia9asyac+9ansvPPO6dq16ybbnX766XnkkUfy7LPPZu3atZkwYcIm\nd4P805/+lLVr1yZJ1qxZkzVr1rSppkmTJmXkyJF5/fXX89JLL+Wll17Kq6++mvfffz+/+tWvNrtP\nbW1t5syZs03r9OnTJw0NDfna176WAw44IIcccshmt1u1alU+/elPp0ePHlm0aFGuv/76rZr/gw8+\nyD333JOVK1ema9eu2X333Td7bD/3uc+la9euufXWW7Nu3bpMmTIlv/vd77b651i1alV69eqV7t27\n54UXXsi9997brktdAahuQhxAJ7dmzZpcccUV6dOnT/bee++8/fbbmThxYpKNb+4xdOjQ/OAHP8jY\nsWPTv3//7L777unbt28+9alPJdnwPLJdd901hx56aGpqarLLLrtk8ODBW1z35JNPTlNT0ybjf/rT\nn/LQQw/lG9/4Rvr27dv6qq+vzznnnLPFG5xMmDAh48ePT69evfLwww9vcmOSv/jo2FlnnZXHH398\ni2fhkuSqq67KjBkzsscee2TUqFE5/fTTtzok3X333dl///2zxx575Kc//WnuueeeTWrp3r17/v3f\n/z233357evXqlXvuuSdf/vKXN7oU9OPW+9GPfpTvfOc76dGjR/71X/81Z5555sf+zACU28c+7Pu8\n887Lo48+mr59++aVV15Jkixbtixnnnlm3nrrrdTX1+fBBx9Mz549kyQTJ07MHXfcka5du+aWW27J\nyJEjt89PAcB295ezP7Nnz85+++1X6XJ2OMcee2wuuuiijB8/vtKlAFBlPvZM3Lnnnpvp06dvNNbU\n1JTGxsbMmjUrI0aMaP0UdebMmXnggQcyc+bMTJ8+PRdddJHr8QF2MI888khWr16d9957L9/61rdy\n+OGHC3Ad5Omnn87SpUuzbt26TJo0Ka+++mq+9KUvVbosAKrQx4a4z3/+8+nVq9dGY1OnTm39VHD8\n+PGZPHlykmTKlCkZN25cunXrlvr6+hx00EF54YUX/kplA1AJU6dOzT777JN99tknc+bMyf3331/p\nknYYb7zxRo488sj06tUrN954Yx5++OHU1tZWuiwAqtBO27pDS0tL6/9Uamtr09LSkmTD7ZE/+9nP\ntm5XV1e3yZ22ACi32267Lbfddluly9ghXXjhhbnwwgsrXQYAJdCuG5ts6Y/GP/x9AAAAOs42n4mr\nra3N0qVL069fvyxZsiR9+/ZNkuyzzz5ZsGBB63YLFy7c5MGlyYaHym7rLaABAAB2FAceeGBmz57d\n5v23+UzcKaeckkmTJiXZ8Byf0aNHt47ff//9Wbt2bebOnZs333wzw4cP32T/OXPmpCgKryp+XXXV\nVRWvwUuPyvzSn+p/6VH1v/Soul/6U/0vParuV3tPan3smbhx48blqaeeyttvv51999033/3ud/NP\n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\nUxmb69GTTz6ZqVOn5uWXX86rr76ab33rW0na1qPtFuI8CLz69OvXL0ceeWSSZLfddsvgwYOzaNGi\nTJ06NePHj0+SjB8/PpMnT65kmZ3ewoULM23atFxwwQX5y9XPelQ9Vq5cmWeeeSbnnXdekg1/G7zH\nHnvoUZXo0aNHunXrltWrV2fdunVZvXp1+vfvrz8V9vnPfz69evXaaGxLPZkyZUrGjRuXbt26pb6+\nPgcddFBeeOGF7V5zZ7O5HjU2NqZLlw1vHY899tgsXLgwiR5Vwub6kyT/+I//mOuuu26jMf2pjM31\n6Mc//nGuuOKKdOvWLUnSp0+fJG3r0XYLcR4EXt3mzZuX//7v/86xxx6blpaW1NbWJklqa2vT0tJS\n4eo6t0suuSTXX3996/84k+hRFZk7d2769OmTc889N0cddVQuvPDCvPfee3pUJfbcc89ceumlGTBg\nQPr375+ePXumsbFRf6rQlnqyePHi1NXVtW7n/UN1uOOOO3LyyScn0aNqMWXKlNTV1eXwww/faFx/\nqsebb76Zp59+Op/97GfT0NCQF198MUnberTdQpwHgVevVatW5fTTT8/NN9+c3XfffaPv1dTU6F0F\n/ed//mf69u2bYcOGZUv3INKjylq3bl1mzJiRiy66KDNmzMinP/3pTS7N06PKmTNnTm666abMmzcv\nixcvzqpVq3L33XdvtI3+VJ9P6ol+Vdb3v//9dO/ePWedddYWt9Gj7Wv16tW55pprcvXVV7eOfdy9\nC/WnMtatW5fly5fnueeey/XXX58xY8ZscdtP6tF2C3H77LNPFixY0Pr1ggULNkqcVMYHH3yQ008/\nPeecc05Gjx6dZMMnoEuXLk2SLFmyJH379q1kiZ3ab3/720ydOjX7779/xo0blyeeeCLnnHOOHlWR\nurq61NXV5ZhjjkmSnHHGGZkxY0b69eunR1XgxRdfzHHHHZfevXtnp512ymmnnZZnn31Wf6rQln6v\nffT9w8KFC7PPPvtUpEaSX/ziF5k2bVruueee1jE9qrw5c+Zk3rx5OeKII7L//vtn4cKF+cxnPpOW\nlhb9qSJ1dXU57bTTkiTHHHNMunTpkrfffrtNPdpuIe7oo4/Om2++mXnz5mXt2rV54IEHcsopp2yv\n5dmMoihy/vnnZ8iQIfnmN7/ZOn7KKadk0qRJSZJJkya1hju2v2uuuSYLFizI3Llzc//99+fEE0/M\nXXfdpUdVpF+/ftl3330za9asJMljjz2WoUOHZtSoUXpUBQYNGpTnnnsu77//foqiyGOPPZYhQ4bo\nTxXa0u89AgVbAAABr0lEQVS1U045Jffff3/Wrl2buXPn5s0338zw4cMrWWqnNX369Fx//fWZMmVK\ndt5559ZxPaq8ww47LC0tLZk7d27mzp2burq6zJgxI7W1tfpTRUaPHp0nnngiSTJr1qysXbs2e+21\nV9t6VGxH06ZNKwYOHFgceOCBxTXXXLM9l2YznnnmmaKmpqY44ogjiiOPPLI48sgji1/96lfFO++8\nU4wYMaI4+OCDi8bGxmL58uWVLpWiKJqbm4tRo0YVRVHoUZX5/e9/Xxx99NHF4YcfXpx66qnFihUr\n9KiKXHvttcWQIUOKQw89tPjbv/3bYu3atfpTYWPHji323nvvolu3bkVdXV1xxx13fGxPvv/97xcH\nHnhgccghhxTTp0+vYOWdx0d7dPvttxcHHXRQMWDAgNb3DH//93/fur0ebV9/6U/37t1b/xv6sP33\n37945513Wr/Wn+1vcz1au3ZtcfbZZxeHHnpocdRRRxVPPvlk6/bb2iMP+wYAACiR7fqwbwAAANpH\niAMAACgRIQ4AAKBEhDgAAIASEeIAAABKRIgDAAAoESEOAACgRIQ4AACAEvl/XEXlh2hLM+4AAAAA\nSUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##1b. Static mean detector. \n", "\n", "Earlier we looked at a simple detector that calculates the mean of the signal at each step, and uses stopping rules based on if an incoming signal value differs from the mean by some threshold percent.\n", "\n", "Here it is again: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "class MeanDetector(ChangeDetector):\n", " \"\"\"\n", " Static Mean Detector\n", " \n", " Residuals: \n", " mean_: the mean of signal values seen so far\n", " diff_: the difference between new value and mean_\n", " \n", " Stopping Rule:\n", " Stop if diff_ exceeds some threshold percentage value. \n", " Default is 5%. \n", " \"\"\"\n", " \n", " def __init__(self, threshold=0.05): \n", " super( MeanDetector, self ).__init__()\n", "\n", " # Save hyper-parameter(s)\n", " self.threshold = threshold\n", " \n", " # Required Attributes\n", " self.total_val = 0 # Used for calculating mean\n", " \n", " # new residuals(s)\n", " self.diff_ = np.nan \n", " \n", " def update_residuals(self, new_signal_value):\n", " self._update_base_residuals(new_signal_value)\n", "\n", " # Update attributes\n", " self.total_val += new_signal_value\n", " \n", " #Update residuals \n", " self.mean_ = self.total_val / self.signal_size\n", " self.diff_ = np.absolute(self.mean_ - new_signal_value)\n", " \n", " def check_stopping_rules(self, new_signal_value): \n", " #check if new value is more than % different from mean\n", " threshold_level = self.mean_ * self.threshold\n", " \n", " if self.diff_ > threshold_level:\n", " self.rules_triggered = True\n", " " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "# Create detector\n", "detector = MeanDetector(threshold=0.05)\n", "\n", "OnlineSimulator(detector, sig1).run()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Residuals: ['mean_', 'diff_']\n", "Change detected. Stopping Rule triggered at 100.\n", "\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 19, "text": [ "True" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nPqkNGzaosrJSH330kZKTk+ud+/jx45o0aZLmz5+vEydOqG/fvtqxY4fneGMrqVarVWvXrlVlZaWW\nLFmip556Snv27GnSfT333HOKiorSgw8+qOXLlysqKkr/8z//o6lTpyo6OrpJwfbIkSOKiopSUVHR\nFcesWbNG06dPl9vtVkpKiux2uyTp2LFj+uUvf6kf/OAHnrGPPPKIrrrqKn355Zfas2ePcnJy9Prr\nr3uOP/vssyouLtaBAwdUWFgoh8PhOWaxWLRixQpt3LhRhw8f1r59+7R06dImzQUAeANhF4DfMwxD\nEydOVEREhHr37q2+ffvqF7/4hSTprbfeUnp6usaPHy9JGjdunIYPH661a9fKYrEoJCREeXl5Onv2\nrKxWq5KSkuqdf926dRo0aJDuvfdedejQQbNmzVJsbGyd6zckPT1dffr0kSSNHj1aaWlp2rZtW5Pu\n7Ve/+pW++eYb9enTR4cOHdLatWs1fvx4lZeXq6ysrEktC71795bb7VZcXNwVx4wePVp2u10dOnTQ\n5MmTdeLECT399NPq0KGD7r//fhUUFKiyslKlpaVav369Fi1apGuvvVbdunXTrFmz9M4770iS+vbt\nq9TUVHXs2FExMTF66qmn6qykS9KPf/xjxcbGKioqShkZGdq7d2+T5gIAvIGwC8DvWSwWrVq1SpWV\nlXK5XPrggw/0ySefSJK++uorrVixQlFRUZ5tx44dKikpUVhYmP72t7/plVdeUY8ePTRhwgQdPHiw\n3vmPHTtWLyg25wkK69ev1y233KKuXbsqKipK69at04kTJxp93969exUVFaXo6Gh98cUX6t+/v26/\n/Xa5XC5FRUXp3XffbXINjenevbvnz9dee61iYmI8Qfraa6+VJJ06dUpfffWVzp8/r+uuu84zn//+\n7/+ub775RpJUWlqqBx54QHFxcerSpYumTZtW714v/ofCtddeq1OnTpl2HwDQXIRdAAFl9OjReuKJ\nJzR37lxJ365qTps2TW6327OdPHlSc+bMkSSlpaUpJydHJSUlSkxM1MyZM+uds0ePHiosLPS8Ngyj\nzuvOnTvrzJkzntclJSWeP1dVVWnSpEmaM2eOvv76a7ndbqWnpzep/SA5OVlut1vPPvusfvOb38jt\ndispKUn79u2T2+3W97///cu+r7kfUGvO+F69eunqq6/WiRMnPPNZUVGhvLw8SdIzzzyjDh066LPP\n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\nRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we have a residual `diff`, which is just the difference between the latest signal value and the mean. We also have a stopping rule triggered if `diff` is greater than a manually provided threshold percentage. \n", "\n", "## Sounds too simple? \n", "\n", "Yeah, it's pretty basic.\n", "\n", "### Scaling\n", "Since it's based on a threshold %, the stop conditions are invariant to scaling of the signal. That's a good thing. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "# MeanDetector easily accomodates a scaling of sig1 \n", "# as the threshold is given as a percentage.\n", "\n", "detector = MeanDetector(threshold=0.05)\n", "OnlineSimulator(detector, sig1 * 1000).run()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Residuals: ['mean_', 'diff_']\n", "Change detected. Stopping Rule triggered at 100.\n", "\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "True" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nKa3xeYPzkCFD9NRTT+njjz/Wrl279PTTT+uTTz5Rfn6+kpOTVV5erqSkJOXn50uSysrKtH79epWV\nlcnlcmnp0qVmal+yZImcTqc8Ho88Ho9cLpckyel0KjQ0VB6PR9nZ2crJyenDKeNcLqUfbH/FGl8c\nrHPfY437npsa54uCn+W+dymt8XmDc1hYmCZOnChJuvbaa3XzzTfL6/Vqy5YtyszMlCRlZmZq06ZN\nkqTNmzdrwYIFGjJkiOx2u6KiolRcXKza2lq1tLQoPj5ekrRw4ULznFOvlZaWph07dvT+TAEAAIAe\nuKAvB37++ecqLS3VpEmTVF9fL6vVKkmyWq2qr6+XJNXU1Mhms5nn2Gw2eb3eLu3h4eHyer2SJK/X\nq4iICElSQECAgoOD1dDQ0LOZAQAwkCUm9vcIAJwhwNeOhw8fVlpamlatWqXAwMDTjlksFlksll4f\n3KkiIyP7/DMgrVixor+HcMljjS8O1rnvscZ9jzW+OFjnvjeQ1njChAnnPOZTcP7666+VlpamjIwM\nzZkzR9KJXea6ujqFhYWptrZWo0aNknRiJ7mqqso8t7q6WjabTeHh4aquru7SfvKcyspKjR49Wu3t\n7WpublZISMhpY/jss898nC4AAADQ+85bqmEYhhYvXqyYmBgtW7bMbJ81a5YKCgokSQUFBWagnjVr\nlgoLC9XW1qaKigp5PB7Fx8crLCxMQUFBKi4ulmEYWrdunWbPnt3lWhs3blRSUlKvTxQAAADoifPe\nx/mdd97R5MmTdcstt5ilEnl5eYqPj9f8+fNVWVkpu92uDRs2aNiwYZKklStX6rnnnlNAQIBWrVql\nadOmSTpxO7pFixbp6NGjSk1NNW9t19raqoyMDJWWlio0NFSFhYWy2+19OG0AAADgwgyYB6AAAAAA\n/YlHbgMAAAA+IDgDAAAAPiA4AwAAAD4gOAMAAAA+IDgDAAAAPiA4AwAAAD4gOAMAAAA+IDgDAAAA\nPiA4AwAAAD4gOAMAAAA+IDgDAAAAPiA4A0APvfjii5o2bdo5jycmJsrpdPb4c9xutyIiInp8HQDA\nN0NwBnBZsdvtGjp0qAIDAxUWFqaMjAwdOnSoR9f83ve+p9dee+2cxy0WiywWS48+40KFh4ertbVV\nf/nLX5SWlnbasV/84heKjY3VkCFDtGLFios6LgAYyAjOAC4rFotFr776qlpaWrR3717t27dPv/71\nr/t7WL2qqqpKI0eO1JVXXqmSkhLddtttpx13OBx64oknNGPGjIse6AFgICM4A7hsWa1WpaSk6OOP\nPzbbdu3apTvvvFPDhw/XxIkT9eabb5rHnn/+eUVGRiooKEg33XSTXnrpJbP929/+ttnv9ddfV3R0\ntIYNG6aHH35YhmGYx3Jzc5WRkWG+//zzzzVo0CB1dHRIktauXauYmBgFBQUpMjJSv//97y94Xrt3\n79att95q/ndcXNxpxxcuXKjp06crMDDwtLH5Ijc3V/PmzVNGRoaCgoJ0yy23yOPxKC8vT1arVTfc\ncINef/11s39zc7MWL16s0aNHy2az6Re/+IU517/97W+65557NGLECI0cOVLf//731dzcbJ5rt9v1\n5JNPasKECRo2bJjuv/9+tba2XvB6AEBvITgDuOycDIvV1dVyuVyaNGmSJMnr9eq+++7TL3/5SzU2\nNuq3v/2t0tLSdPDgQR05ckRZWVlyuVw6dOiQ3nvvPU2cOLHLtb/66iulpaVp5cqVOnjwoCIjI/Xu\nu++ax8+3w2u1WrV161YdOnRIa9euVXZ2tkpLS32a169+9SsNHz5cDzzwgDZs2KDhw4frv//7v7Vg\nwQKFhIT4FJIrKys1fPhwVVdXn7PPq6++qoULF6qxsVFxcXFKTk6WJNXU1OgXv/iF/vmf/9nsu2jR\nIl1xxRX629/+ptLSUhUVFemPf/yjefxnP/uZamtr9cknn6iqqkq5ubnmMYvFoldeeUWvvfaaKioq\n9OGHH+r555/3aS0AoC8QnAFcVgzD0Jw5cxQUFKTrr79ekZGR+vnPfy5JeuGFF5Samqrp06dLkqZO\nnarbb79dW7dulcVi0aBBg7Rv3z4dPXpUVqtVMTExXa6/bds2jR8/Xt/97nc1ePBgLVu2TGFhYad9\nfndSU1N14403SpImT56slJQUvf322z7N7Ze//KW+/PJL3Xjjjdq/f7+2bt2q6dOnq6mpSQ0NDT6V\nZVx//fVqbGyUzWY7Z5/JkycrOTlZgwcP1ty5c3Xw4EH95Cc/0eDBg5Wenq7PP/9chw4dUn19vbZv\n366nnnpKV199tUaOHKlly5apsLBQkhQZGamkpCQNGTJEI0aMUHZ29mk7/JL0yCOPKCwsTMOHD9fM\nmTO1Z88en9YCAPoCwRnAZcVisWjz5s06dOiQ3G63/vKXv2j37t2SpAMHDuiVV17R8OHDzde7776r\nuro6DR06VOvXr9ezzz6r0aNH67777tOnn37a5fo1NTVdQueF3Alj+/btSkhIUGhoqIYPH65t27bp\n4MGD5z2ekEE0AAAgAElEQVRvz549Gj58uEJCQvTZZ59p7Nixuueee+R2uzV8+HD96U9/8nkM5zNq\n1Cjzv6+++mqNGDHCDOVXX321JOnw4cM6cOCAvv76a1133XXmev7whz/Ul19+KUmqr6/X/fffL5vN\npuDgYGVkZHSZ66l/dFx99dU6fPhwr80DAC4UwRnAZWvy5Ml6+OGHlZOTI+nEbmtGRoYaGxvNV0tL\nix577DFJUkpKioqKilRXV6fo6Gg99NBDXa45evRoVVVVme8Nwzjt/bXXXqu///3v5vu6ujrzv1tb\nW5WWlqbHHntMX3zxhRobG5WamupTicXEiRPV2Nion/3sZ/q3f/s3NTY2KiYmRh9++KEaGxv1ne98\n56znXeiXAy+kf0REhK688kodPHjQXM/m5mbt27dPkvT//t//0+DBg/XRRx+publZ69atM+ufe2Os\nANDbCM4ALmvLli3T+++/r+LiYn3/+9/Xn//8ZxUVFen48eM6duyY3G63vF6vvvjiC23evFlHjhzR\nkCFDdM0112jw4MFdrpeamqqPP/5Yf/rTn9Te3q7Vq1efFo4nTpyot956S1VVVWpublZeXp55rK2t\nTW1tbRoxYoQGDRqk7du3q6io6ILmc/KLgW1tbaqpqdFNN93UpU97e7uOHTum48eP6+uvv9axY8e6\nDaynupAvE1533XVKSUnRj3/8Y7W0tKijo0N/+9vf9NZbb0k6sSt9zTXXKCgoSF6vV0888USvfTYA\n9AWCM4DL2ogRI5SZmanf/OY3stls2rx5s1auXKlRo0bp+uuv15NPPinDMNTR0aGnnnpK4eHhCg0N\n1dtvv61nnnlG0un3aR4xYoReeeUV/eQnP9GIESP02Wef6a677jI/b+rUqUpPT9ctt9yiO+64QzNn\nzjTPDQwM1OrVqzV//nyFhITo5Zdf1uzZs08b7/l2XT/44APdeuut2rdvn2JjY8/a58EHH9TQoUNV\nWFioxx9/XEOHDtULL7wg6cSXAwMDA8/55cCz3ZO6u/f/9V//pba2NsXExCgkJETz5s0z/5BYvny5\nPvjgAwUHB2vmzJlKS0vrdn79cT9sADiVxeBPeAAAAOC82HEGAAAAfEBwBgAMKCtXrlRgYGCX14wZ\n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\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Noise\n", "\n", "Let's try adding some noise to the signal. \n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Size of change in our test signal\n", "jump_size = sig1[0] - sig1[-1]\n", "\n", "# We'll add a small amount (0.02 x jump_size) of Gaussian noise to the signal. \n", "noise = np.random.normal(\n", " size=sig1.shape,\n", " scale=jump_size * 0.02)\n", "\n", "detector = MeanDetector(threshold=0.05)\n", "\n", "OnlineSimulator(detector, sig1 + noise).run(signal_name='Sig1 with 2% noise')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Residuals: ['mean_', 'diff_']\n", "Change detected. Stopping Rule triggered at 100.\n", "\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "True" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAArsAAAIhCAYAAABOnnKnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VPW9//H3JKglkphAYCKbQRQQUIiiLAIZloQ1gOyI\nGFGwy62V3l8FWxditRJUal36sNerBVqrFq4P2VFAGUCviqwGqlDZEsjCkknCHiDf3x/nZsgkIZkk\nM2QyeT0fj/N4MDPf8z3f8z0nk3cOnzljM8YYAQAAAEEopLYHAAAAAPgLYRcAAABBi7ALAACAoEXY\nBQAAQNAi7AIAACBoEXYBAAAQtAi7AILKP/7xDw0aNKhWxxAeHq6DBw9e8fXY2Fh99tlnV29AfvDz\nn/9cL7zwQm0PAwAqRdgFUOd88cUX6tWrlyIjI9WkSRP17t1bW7ZskSRNnjxZn376qVf9ZGdna8SI\nEWrRooVCQkKUnp7uk/GdPHlSsbGxkqSHHnpIzzzzjMfrNptNNpvNq75Wrlyp3r17KyoqSjfeeKOm\nT5+uU6dOuV9/+eWX1bRpU3Xu3Fm7du1yP//ll1/qvvvuq/nOXMFbb72lp59+2m/9A4CvEHYB1CkF\nBQUaPny4Hn/8cblcLh05ckSzZ8/WddddV+W+QkJCNHToUH300Ud+GKlvFBQU6Nlnn1VWVpa+//57\nHTlyRE888YQkKSsrS3/961914MAB/fznP9dvf/tbSdLFixf1m9/8Rq+99lptDh0AAgJhF0Cdsnfv\nXtlsNk2YMEE2m00/+clPlJCQoNtvv12StGDBAvXp08fdfs2aNWrfvr0iIyP1H//xH4qPj9e7774r\nSWrWrJl+9rOfqVu3bpVud/78+RoxYoT78a233qrx48e7H7dq1UrfffedJCtE79u3T2+//bbef/99\nvfTSSwoPD9fIkSPd7bdv364uXbooMjJSEydO1Pnz58vd7qRJk5SYmKif/OQnioyM1PTp0/Xll19K\nktLT0xUXF6dGjRppwIAB2r9/vyTpT3/6k0aOHKnWrVtXuE8pKSkaP368kpOTFRERoc6dO2vr1q3u\n17///ns5HA5FRUWpc+fOWr58ufu1klesjx8/ruHDhysqKkpNmjRR3759VfzlnJmZmRozZoyaNWum\nm2++WW+88Ualcw0AvkTYBVCntG/fXqGhoXrooYf0ySefyOVyXbHt8ePHNW7cOM2dO1e5ublq3769\nvvrqK69LCEpyOBzatGmTJCvAXbhwQV9//bUkaf/+/Tp9+rTuuOMOd3ubzaZHH31UkydP1qxZs3Ty\n5EktXbpUkmSM0eLFi/Xpp5/qwIED+u6777RgwQKvxrFhwwZ17txZknTLLbcoLS1N+fn5WrdunTp3\n7qyMjAz985//1G9+8xuv+lu+fLkmTZqk/Px8jRgxQr/85S8lSRcuXFBSUpIGDx6sY8eO6Y033tDk\nyZO1d+9e9/4Vz+O8efPUqlUrHT9+XEePHtWcOXNks9lUVFSkpKQkxcXFKTMzU5999pn+9Kc/ac2a\nNV6NDQB8gbALoE4JDw/XF198IZvNpunTp6tZs2YaOXKkjh49WqbtqlWr1LlzZ40aNUohISH61a9+\npZiYmGptt02bNgoPD9f27du1ceNGDRo0SM2bN9eePXu0YcMG9e3b94rrFl/lLGaz2dxjiYqKUlJS\nknbs2FHpGNauXau//e1v+v3vfy9JatKkiZ566in1799fq1ev1ssvv6zHH39cL730kj766CM5HA6N\nGjVKR44cuWKfffr00eDBg2Wz2fTAAw9o586dkqSvv/5ap0+f1pNPPqkGDRqoX79+Gj58uD744IMy\nfVx77bXKysrSwYMHFRoaqnvvvVeS9O233+r48eN6+umn1aBBA7Vp00bTpk3Thx9+WOm+AoCvEHYB\n1DkdOnTQ/PnzlZGRoV27dikzM1MzZswo0y4zM1MtW7b0eK7046qIj4+X0+nUpk2bFB8fr/j4eG3Y\nsEEbN25UfHx8lfoqGbobNmzo8aGz8nz99deaPHmyPvroI91yyy3u5ydOnKitW7dq5cqVSktLU8OG\nDdW1a1c98cQTWrFihcaNG1fhVV673e7+d1hYmM6dO6eioiJlZmaqVatWHm1vuukmZWZmuh8Xh/gn\nnnhCt9xyixITE9W2bVvNnTtXknTo0CFlZmYqKirKvcyZM6fcP0wAwF8IuwDqtPbt2ys5OdnjTgTF\nmjdvrsOHD7sfG2M8HldVfHy81q9fr02bNsnhcLjD74YNG64Ydr0pmaiszfbt2zVy5EgtWLBA/fr1\nK7fN2bNn9dRTT2nevHnau3evWrVqpUaNGqlbt27uWuKqbLd58+bKyMjwuCp96NAhtWjRokzbRo0a\n6ZVXXtG+ffu0bNky/fGPf9Tnn3+u1q1bq02bNnK5XO6loKBAK1asqHB/AcCXCLsA6pQ9e/boj3/8\no/u/5jMyMvTBBx+oZ8+eZdoOHTpUaWlpWrp0qS5evKg///nPys7O9mhz7tw5nTt3rsy/y1Mcds+d\nO6fmzZurd+/e+uSTT5Sbm6u4uLhy17Hb7e4Pjl1J6TKHknbt2qXBgwfrzTff1NChQ6/Y7oUXXtDU\nqVMVExOj1q1ba8+ePTp69KjWr1+vtm3bVnm73bt3V1hYmF566SVduHBBTqdTK1as0MSJE8usu2LF\nCv34448yxigiIkKhoaEKDQ3VPffco/DwcL300ks6e/asLl26pF27drlvEwcAVwNhF0CdEh4erm++\n+Ubdu3dXo0aN1LNnT91xxx2aN2+eJM8PTkVHR2vx4sWaOXOmoqOj9f3336tbt24etykLCwtTRESE\nbDabOnTooOuvv/6K27711lsVHh7uvttDRESE2rZtq3vvvdfjKmnJfz/yyCP617/+paioKI0ePbrc\nfiu67+4f//hHnThxQg8//LDCw8MVHh7uvvNEsR9++EHr1q3Tr371K0nSjTfeqCeffFKdOnXSm2++\nqTlz5ni93eLH1157rZYvX67Vq1eradOm+uUvf6m///3vateuXZl1f/zxRyUkJCg8PFy9evVy3/Ui\nJCREK1as0I4dO3TzzTeradOmevTRR1VQUFD+BAOAH9hMRX/aA0AQKSoqUqtWrfT+++9XucYWAFA3\ncWUXQFBbs2aN8vLydP78eb344ouSpB49etTyqAAAVwthF0BQ++qrr3TLLbeoadOmWrlypZYsWVKt\nb1sDANRNlDEAAAAgaHFlFwAAAEGrgT8779q1q/vbeAAAAAB/KL7veXn8emV3586dMsaw+HGZPXt2\nrY8h2BfmmHkOloU5Zo6DYWGOmefylg0bNlwxj1LGAACAr1zhyhKA2kPYBQAAQNAi7NZxDoejtocQ\n9Jjjq4N59j/m2P8cKSm1PYSgx3l8dQTTPPv11mM2m01+7B4AAACoMHNyZRcAAF/hyi4QcAi7AAAA\nCFqUMQAAAKBOo4wBAAAA9VKlYXfPnj2Ki4tzLzfccINef/115ebmKiEhQe3atVNiYqLy8vKuxngB\nAAhc1OwCAafSsNu+fXtt375d27dv19atWxUWFqb77rtPqampSkhI0N69ezVgwAClpqZejfECAAAA\nXqtSze6aNWv0/PPPa9OmTerQoYM2bNggu92u7OxsORwO/fDDD56dU7MLAAAAP/NZze6HH36oSZMm\n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\nUlJSNGXKFPfjgwcPKiQkREVFRZKk+fPnq2PHjoqIiFDbtm319ttvV3m/tmzZojvvvNP977i4OI/X\nH3zwQQ0ePFjh4eEeY/NGSkqKxo0bpylTpigiIkJ33HGH/v3vf2vOnDmy2+266aabtHbtWnf7/Px8\nPfLII2revLlatmypZ555xr2v+/btU//+/RUdHa2mTZvqgQceUH5+vnvd2NhYzZs3T126dFFkZKQm\nTpyo8+fPV3k+AMBXCLsA6oTigHf48GF98skn6t69uyTpyJEjGj58uJ599lm5XC698sorGjNmjE6c\nOKHTp0/r8ccf1yeffKKCggJ99dVX6tq1a5m+jx8/rjFjxujFF1/UiRMn1LZtW3355Zfu1yu7kmq3\n27Vy5UoVFBRo/vz5+vWvf63t27d7tV+///3vFRUVpfvvv1+LFi1SVFSUPvroI02aNEmNGzf2Ktim\np6crKipKhw8fvmKbFStW6MEHH5TL5VJcXJwSEhIkSZmZmXrmmWf005/+1N32oYce0rXXXqt9+/Zp\n+/btWrNmjd555x3360899ZSysrL0/fffKyMjQykpKe7XbDabFi9erE8//VQHDhzQd999pwULFng1\nFwDgD4RdAAHPGKNRo0YpIiJCrVu3Vtu2bfX0009Lkt577z0NHTpUgwcPliQNHDhQ3bp108qVK2Wz\n2RQSEqK0tDSdPXtWdrtdHTt2LNP/qlWr1LlzZ40ePVqhoaGaMWOGYmJiPLZfkaFDh6pNmzaSpL59\n+yoxMVGbNm3yat+effZZHTt2TG3atNH+/fu1cuVKDR48WHl5ecrNzfWqZKF169ZyuVxq2bLlFdv0\n7dtXCQkJCg0N1dixY3XixAk9+eSTCg0N1YQJE3Tw4EEVFBQoJydHq1ev1quvvqqGDRuqadOmmjFj\nhj788ENJUtu2bTVgwABdc801io6O1q9//WuPK+mS9Ktf/UoxMTGKiopSUlKSduzY4dVcAIA/EHYB\nBDybzaalS5eqoKBATqdTn3/+ubZs2SJJOnTokBYvXqyoqCj38uWXXyo7O1thYWH65z//qb/85S9q\n3ry5hg8frj179pTpPzMzs0xQrModFFavXq0ePXqoSZMmioqK0qpVq3TixIlK19uxY4eioqLUuHFj\n/fjjj2rfvr369+8vp9OpqKgoffzxx16PoTLNmjVz/7thw4aKjo52B+mGDRtKkk6dOqVDhw7pwoUL\n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\nAAAA4tb/A2j+gq9utBpSAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### More noise? \n", "\n", "If we add more noise, the detector is less reliable. with noise at 10% of the signal jump, I found the detector gives some false positives but not always. With noise at 20% of the jump, there's always false positives. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# 10% noise sometimes causes trouble\n", "noise = np.random.normal(\n", " size=sig1.shape,\n", " scale=jump_size * 0.10)\n", "\n", "detector = MeanDetector(threshold=0.05)\n", "OnlineSimulator(detector, sig1 + noise).run(signal_name='Sig1 with 10% noise')\n", "\n", "# 20% noise pretty much always causes problems\n", "noise = np.random.normal(\n", " size=sig1.shape,\n", " scale=jump_size * 0.20)\n", "\n", "detector = MeanDetector(threshold=0.05)\n", "\n", "OnlineSimulator(detector, sig1 + noise).run(signal_name='Sig1 with 20% noise')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Residuals: ['mean_', 'diff_']\n", "Change detected. Stopping Rule triggered at 39.\n", "\n", "Residuals: ['mean_', 'diff_']" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Change detected. Stopping Rule triggered at 2.\n", "\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "True" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n/vx59/Xs7Gz3/0tLSzVz5kwtX75cp0+fltPpVEpKil/lB7GxsXI6nXr00Uf1xBNPyOl0aujQodq9\ne7ecTqfuuOMOn49r7BfUGrP8VVddpUsvvVS5ubnu8SwoKNCePXskSb/4xS/UsWNH7d27VwUFBfrr\nX//qrucNRF8BINAIuwDanIceekg7duzQF198oYULF+qdd97R5s2bVVlZqZKSEjkcDp08eVKnT5/W\nW2+9peLiYl1yySXq2rWrOnbsWKu9lJQU7du3T2+++aYqKir03HPPeQTa2NhYbdu2TcePH1dBQYFW\nr17tvq+srExlZWXq1auXOnTooI0bN2rz5s2N2h7Xl9PKysp06tQpXXPNNbWWqaioUElJiSorK1Ve\nXq6SkpJ6Q2ZNjflC25VXXqnk5GT95Cc/UVFRkaqqqnTo0CFt27ZNkjX727VrV3Xr1k0nT57Ub3/7\n24CtGwCCgbALoM3p1auXUlNT9dRTTyk6OlpvvfWWVq1apd69e6tfv3565plnZIxRVVWVnn32WfXt\n21c9e/bU9u3b9cc//lGS5+/o9urVS+vXr9cjjzyiXr166bvvvtP48ePd65s4caLmzp2rkSNH6vrr\nr9e0adPcjw0LC9Nzzz2nOXPmqEePHvrb3/6m6dOne/S3odnNnTt36rrrrtOePXs0YsQIn8ssXbpU\nXbp00RtvvKH//u//VpcuXfTqq69Ksr6gFhYWVucX1Hz9ZnB91//yl7+orKxMQ4cOVY8ePTR79mx3\n+F+5cqV27typ7t27a9q0aZo5c2a923cxfq8YAGqyGU67AQAAEKKY2QUAAEDIIuwCAIJu1apVCgsL\nq3W57bbbLnbXAIQ4yhgAAAAQsjoFs/HY2FhlZGQEcxUAAABo5xISEuRwOHzeF9QyhoyMDBljuATx\nsnLlyoveh1C/MMaMc6hcGGPGOBQujDHj7Ovi/ZccWyzsAm1SWtrF7gEAAAgQwi4AAABCFmG3jbPb\n7Re7C6HHa2aXMW4ZjHPwMcbBxxgHH2PcMkJpnIP6aww2m01BbB4AAACoN3Myswt4o2YXAICQQdgF\nAABAyKKMAQAAAG0aZQwAAABolwi7gDdqdgEACBmEXQAAAISsBsPugQMHFBcX5750795dzz33nPLy\n8pSUlKRBgwYpOTlZ+fn5LdFfIPiY2QUAIGQ06gtqVVVV6tu3r3bs2KHnn39evXr10vLly/XUU0/J\n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\nXHONXn/9dfftt9xyi3u5Dz/8UEOGDFF4eLh+9KMfyRjjvi8tLU2LFi1yXz9y5Ig6dOigqqoqSdLL\nL3UDNuMAABgFSURBVL+soUOHqlu3bhowYIDWrFnT6O368ssvdd1117n/HxcX576vf//+euihhxQZ\nGSmbzaZly5aprKxMBw8e9KvtCxcuaPHixerRo4eGDRumf//73x73x8TE6J///KdeeuklLVu2TJ99\n9pnCwsJ01113uUNueHi4Jk6c2OjtAoBg63SxOwAAgeAKnydOnNAHH3ygWbNmSZJOnjypqVOn6tVX\nX9XkyZP10UcfaebMmTpw4IC+973v6cEHH9SXX36pgQMHKicnR7m5ubXaPnv2rGbOnKm1a9dq+vTp\nev755/XCCy/o7rvvlqQGyxkiIyP13nvvqX///tq2bZumTJmi66+/3iOw1uXXv/61nn32WZWUlKhj\nx4568803VVRUpE2bNqlDhw7Kzc2ttf5du3aprKxM1157rSTp2LFjGjVqlPbs2aPo6Oha63j88cd1\n+PBhZWZm6ty5c5o8ebJHm66SjSVLlqhTp0568cUXtX37dknWTG///v1VUFCgDh2YPwHQ+vDKBKDN\nM8ZoxowZ6tatm/r166cBAwbol7/8pSTp1VdfVUpKiiZPnixJmjhxosaMGaP33ntPNptNHTp00J49\ne3ThwgVFRkZq6NChtdp///33NXz4cN15553q2LGjHnroIUVFRXmsvz4pKSnq37+/JCk+Pl7Jycnu\nsNiQX/3qVzpz5oz69++vzMxMvffee5o8ebLy8/OVl5dXK+gWFhZq0aJFSktLU1hYmCSpX79+cjqd\nPoOuJK1fv16PPvqowsPDFR0drQcffLDObfK+vaFtB4CLjbALoM2z2Wx66623VFhYKIfDoY8//lhf\nfvmlJGvmcf369YqIiHBfPv30U2VnZ6tLly76+9//rhdeeEF9+vTR1KlTdeDAgVrtnzp1qlZQbMwv\nKGzcuFFjx45Vz549FRERoffff9/nDLK3Xbt2KSIiQj169NB3332nwYMH69Zbb5XD4VBERITefPNN\nj+UvXLigadOmady4cVqxYoXf/Tt16pTH9vTr18/vxwJAa0fYBRBS4uPj9aMf/cgd9vr166dFixbJ\n6XS6L0VFRVq+fLkkKTk5WZs3b1Z2draGDBmiZcuW1WqzT58+On78uPu6Mcbj+uWXX67z58+7r2dn\n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\n+n8u31/+s2CIfgAAAABJRU5ErkJggg==\n", "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAr4AAAIhCAYAAACot7njAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VPW9//H3sKlgQsKWyGYsChQFg+CGCAOYoCiKIqAF\nDLLZn72t2nsFba+SLldCq11s76+tyw9xq8Xro4gr6JXgUqtVISAuVAgEyAJJJgkkJCGZ7++PbyeZ\nJDPJzGQmmSSv5+ORB2TmzDnf852Tc97nO59zxmGMMQIAAAA6uW7t3QAAAACgLRB8AQAA0CUQfAEA\nANAlEHwBAADQJRB8AQAA0CUQfAEAANAlEHwBdBrPPfecZs6c2a5tiImJ0YEDB/w+n5SUpP/93/9t\nuwa1g5b6AADaC8EXQIfy/vvva9KkSYqLi1P//v01efJkffLJJ5KkhQsXasuWLQHNJz8/X9dff72G\nDBmibt26KScnJyztO378uJKSkiRJS5Ys0QMPPNDgeYfDIYfDEdC8XnvtNU2ePFnx8fE666yztGLF\nCp04caLu+aqqKi1dulR9+/bVWWedpV//+td1z5WWlmrmzJmKj4/XokWL5Ha7655buXKl/vrXv7Zi\nLZvn3QcAEE0IvgA6jLKyMl133XW666675HK5dOTIEa1Zs0annXZa0PPq1q2bZs2apZdeeikCLQ2P\nsrIyPfjgg8rLy9OXX36pI0eO6N577617Pj09Xfv27VNOTo62bdumX/ziF3XB/09/+pMmTJiggoIC\nHThwoC7ofvjhh8rPz9eNN97YLusEAO2J4Augw9i7d68cDocWLFggh8Oh008/XSkpKRo7dqwk6amn\nntKVV15ZN/3WrVs1atQoxcXF6Xvf+56mTp2qJ598UpI0aNAgffe739XEiRNbXO769et1/fXX1/1+\n3nnnaf78+XW/Dxs2TLt27ZJkA/W+ffv02GOP6fnnn9cvfvELxcTE6IYbbqibfseOHbrwwgsVFxen\nW265RVVVVT6Xe+uttyo1NVWnn3664uLitGLFCn3wwQd1zz/99NN64IEH1LdvX40ePVorV67UU089\nJUk6cOCApk2bpl69eunKK69Udna2amtr9cMf/lCPPvpoi+uclJSkRx55xG87H3/8cZ133nnq37+/\nbrjhBuXl5dU9161bN+3fv1+S9Prrr+v8889XbGyshg4dqkceeaRuuldffVXJycmKj4/XFVdcod27\nd7fYLgBoDYIvgA5j1KhR6t69u5YsWaI333xTLpfL77SFhYWaN2+e1q1bp+LiYo0aNUoffvhhwGUG\n3pxOp9577z1JUm5urk6dOqW///3vkqT9+/ervLxc48aNq5ve4XBo5cqVWrhwoVavXq3jx4/r5Zdf\nliQZY/Tiiy9qy5Ytys7O1q5du+rCaku2b9+uCy64QJLkcrmUl5enCy+8sO75cePGac+ePZKkCy64\nQG+99ZZOnjyp9957T+eff74effRRzZo1K6AyBIfD4bed77zzjn70ox/pxRdfVF5ens4++2zdcsst\nPuezbNkyPfbYYyorK9OePXs0ffp0STb8L1u2TI8//riKi4t1xx136Prrr1d1dXVAfQEAoSD4Augw\nYmJi9P7778vhcGjFihUaNGiQbrjhBh09erTJtK+//rouuOACzZkzR926ddMPfvADJSYmhrTcc845\nRzExMdqxY4feffddzZw5U4MHD9bXX3+t7du3a8qUKX5fa4xp8LvD4ahrS3x8vGbPnq2dO3e22Ia3\n3npLTz/9tH76059KUl2tb9++feumiY2N1fHjxyXZwFlaWqrLLrtMU6ZM0dixY/Xss8/qrrvu0ne/\n+11NnTq1Sf1xY/7a+dxzz2nZsmVKTk5Wr169tHbtWn344Yc+66R79eqlPXv2qKysTH379tX48eMl\nSY899pjuuOMOXXzxxXI4HLrtttt02mmn1Z1QAEAkEHwBdCijR4/W+vXrdejQIX3++efKzc3V3Xff\n3WS63NxcDR06tMFjjX8PxtSpU5WZman33ntPU6dO1dSpU7V9+3a9++67mjp1alDz8g7gZ5xxRoML\n1nz5+9//roULF+qll17SueeeK0k688wzJdk6YI/S0lLFxMRIkk477TT96U9/UlZWlh566CHdc889\nWrt2rZ599llJdvT4o48+avZiwMbtLC8vl6S6UV6PPn36qH///jpy5EiTebz00kt6/fXXlZSUJKfT\nWRdsDx48qEceeUTx8fF1P4cPH25QMgEA4UbwBdBhjRo1Smlpafr888+bPDd48GAdPny47ndjTIPf\ngzV16lRt27ZN7733npxOZ10Q3r59u9/gG0hZRUvT7NixQzfccIOeeuopTZs2re5xz50evEeLs7Ky\n6kohvL355ptyOBxKTU3V559/XlfXPHHixLra5GAMHjy4we3KysvLVVRUpCFDhjSZduLEidq0aZOO\n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\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "raw", "metadata": {}, "source": [ "Note that values for diff_, our primary residual, are all over the place. That's a good indication that our change detector is not well matched for the target signal type." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In both cases, note how easy it is for you, as a human, to spot the \"real change\" by visually inspecting the signal. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Additional Weaknesses of Mean Detector\n", "\n", "This MeanDetector change detection method has additional weaknesses. \n", "\n", " * Sensitive to the threshold value, which we are determining manually. \n", " * Sensitive to anomalous values and outliers\n", " * Signal must be constant. the detector doesn't work well with drift (trend) or local variation (seasonality)\n", "\n", "Manual tuning and heuristics could solve some of these problems. We could tune the threshold to be just right, avoiding false positives when we know what to expect. We could try to force the stopping rules not to trigger before the mean stabilizes. \n", " \n", "That might be the right approach for certain cases. But let's expand our change detection algorithm arsenal and see what better tools are available. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Looking ahead: Seasonality\n", "\n", "Imagine a seasonal signal like the one below. How would our MeanDetector perform on this type of signal? How could we build a change detector to handle trend and seasonality? \n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Create a seasonal signal\n", "# I imagined a metric that rises from 0 to 5 each calendar month\n", "\n", "sig2 = np.linspace(0, 5, num=30)\n", "sig2 = np.concatenate([sig2 for x in xrange(12)])\n", "\n", "# Add a jump\n", "jump_size = 5\n", "sig2[250:] = sig2[250:] + jump_size\n", "\n", "# Noise\n", "noise = np.random.normal(\n", " size=sig2.shape,\n", " scale=jump_size * 0.02)\n", "\n", "plt.figure(figsize=(15,5))\n", "plt.plot(sig2 + noise, 'b.', linestyle='')\n", "plt.plot(sig2 + noise, 'b-', alpha=0.15)\n", "plt.ylim(0,15)\n", "plt.xlim(0,365)\n", "plt.title(\"Imaginary Seasonal signal\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 20, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nfO6dd95BKBRCfX09HnjgAZx//vmWJWEtLS146qmnUFRUZMn7ecmnn36KY8eOobW1FS+99BJ27NiB\na6+91u7DIiKibmIiRkTkc2+//TZGjx6N0aNHY//+/VHT78xUWlqK9PR0VFRU4N5777XkPb1k9+7d\nyMzMRHp6Op588kmsXLkyqpomERE5G6cmEhERERERWYwjYkRERERERBbrY9YvzszMxNatW8369URE\nRERERI52+eWXo6SkJOb3TJuamJSUFPdeNOQs8+fPx/z58+0+DEoQ/x+9g/+X3sH/S2/g/6N38P/S\nO5zyf9lZTsSpiURERERERBZjIkZERERERGQxJmLUpezsbLsPgQzA/0fv4P+ld/D/0hv4/+gd/L/0\nDjf8X3KNGBERERERkQm4RoyIiIiIiMhBmIgRERERERFZjIkYERERERGRxZiIERERERERWYyJGBER\nERERkcWYiBEREREREVmMiRgREREREZHFmIgRERERERFZrNNELD8/HxkZGZg4ceIp31u4cCF69eqF\nqqoq0w6OiIiIiIjIizpNxPLy8rBq1apTXj948CA++ugjjB8/3rQDIyIiIiIi8qpOE7HLLrsM6enp\np7x+33334T//8z9NOygiIiIiIiIv6/EasbfeegtjxozB+eefb8bxEBEREREReV6fnvxwKBTCY489\nho8++qjtNUVROvz5+fPnt32enZ2N7OzsHh8gERERERGRG5SUlKCkpKRbP5ukdJZJASgvL8eUKVOw\nfft2bN++Hd///veRnJwMADh06BBGjx6NzZs3Y/jw4dG/OCmp0ySNiIiIiIjIyzrLiXo0IjZx4kRU\nVFS0fX3GGWfgf/7nfzBkyJDEjpCIiIiIiMhHOl0jdtttt+GSSy7Bnj17MHbsWCxevDjq+0lJSaYe\nHBERERERkRd1OTUx7l/MqYlERERERORjneVEPa6aSERERERERIlhIkZERERERGQxJmJEREREREQW\nYyJGRERERERkMSZiREREREREFmMiRkREREREZDEmYkRERERERBZjIkZERERERGQxJmJEREREREQW\nYyJGRERERERkMSZiREREREREFmMiRkREREREZDEmYkRERERERBZjIkZERERERGQxJmJEREREREQW\nYyJGRERERERkMSZiREREREREFmMiRkREREREZDEmYkRERERERBZjIkZERERERGQxJmJEREREREQW\nYyJGRERERERkMSZiREREREREFmMiRkREREREZDEmYkRERERERBZjIkZERERERGQxJmJEREREREQW\nYyJGRERERERksS4Tsfz8fGRkZGDixIltr82dOxfnnHMOLrjgAtx8880IBAKmHiQREREREZGXdJmI\n5eXlYdWqVVGvXXPNNdi5cye2bt2Ks88+G48//rhpB0hEREREROQ1XSZil112GdLT06Neu/rqq9Gr\nl/zViy66CIcOHTLn6IiIiIiIiDwo4TVi//Vf/4Xrr7/eiGMhIiIiIiLyhYQSsUcffRT9+vXD7bff\nbtTxEBEREREReV6feP/ikiVL8N5772H16tUd/sz8+fPbPs/OzkZ2dna8b0dERERERORoJSUlKCkp\n6dbPJimKonT1Q+Xl5ZgyZQq2b98OAFi1ahXuv/9+rF27FqeffnrsX5yUhG78aiIiIiIiIk/qLCfq\nMhG77bbbsHbtWpw8eRIZGRl45JFH8Pjjj6O5uRlDhgwBAEyePBnPPvtst9+UiIiIiIjI6xJKxMx4\nUyIiIiIiIq/rLCdKuGoiERERERER9QwTMSIiIiIiIosxESMiIiIiIrIYEzEiIiIiIiKLMREjIiIi\nIiKyGBMxIiIiIiIiizERIyIiIiIishgTMSIiIiIiIosxESMiIiIiIrIYEzEiIiIiIiKLMREjIiIi\nIiKyGBMxIiIiIiIiizERIyIiIiIishgTMSIiIiIiIosxESMiIiIiIrIYEzEiIiIiIiKLMREjIiIi\nIiKyGBMxIiIiIiIiizERIyIiIiIishgTMSIiIiIiIosxESMiIiIiIrIYEzEiIiIiIiKLMREjIiIi\nIiKyGBMxIiIiIiIiizERIyIiIiIishgTMSIiIiIiIosxESMiIiIiIrIYEzEiIiIiIiKLdZqI5efn\nIyMjAxMnTmx7raqqCldffTXOPvtsXHPNNaipqTH9IImIiIiIiLyk00QsLy8Pq1atinptwYIFuPrq\nq7Fnzx5cddVVWLBggakHSERERERE5DVJiqIonf1AeXk5pkyZgu3btwMAvvWtb2Ht2rXIyMjAsWPH\nkJ2djbKyslN/cVISuvjVRERERETkIIoC3HEHcPgwkJICvPYakJZm91G5V2c5UY/XiFVUVCAjIwMA\nkJGRgYqKisSOjoiIiIiIHKGyEti3D/j0U+D994HiYruPyLsSKtaRlJSEpKQko46FiIiIiExUWAhc\n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\n", "text": [ "" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Return to the Change Detection Tutorial [Table of Contents](https://github.com/amanahuja/change-detection-tutorial)" ] } ], "metadata": {} } ] }