Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Identifying Spikes in timeseries data with Pandas
{
"metadata": {
"name": "",
"signature": "sha256:5b567adc7e237c920a2b501da6581df357e1fa1397312962223bb9edaff1f18c"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Identifying Spikes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Suppose you have some timeseries data with occasional spikes in it and you want to identify them. This is what I came up with as a solution using Pandas and [median absolute deviation](http://en.wikipedia.org/wiki/Median_absolute_deviation)."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pandas as pd\n",
"pd.__version__"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 27,
"text": [
"'0.15.2'"
]
}
],
"prompt_number": 27
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Make a fake time series that could represent something like temperature. It can change in either direction but you don't expect big jumps in a single step so the cumulative sum of random numbers makes a decent test case."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ts = pd.Series( randn(500), index=pd.date_range('1/1/2000',periods=500))\n",
"ts = ts.cumsum()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 28
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now I'll make 20 random spikes to put in."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"spikes = 25 * random_sample(20) - 12"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 29
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"...and choose 20 random locations to put the spike."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"spike_points = randint(0,500,20)\n",
"ts.ix[spike_points] = ts.ix[spike_points] + spikes"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 30
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here are the fake data with red vertical lines marking where the spikes are."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ax = ts.plot(figsize=(15,5),label=\"Data\")\n",
"ax.vlines(ts.index[spike_points],-25,25,color='r',alpha=0.5,label=\"Spikes\")\n",
"legend()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 31,
"text": [
"<matplotlib.legend.Legend at 0x7fd88443a090>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nTIAf/CD/8R5wgK/HHDsWhg+HWbPyf47GKFGT1NK6DombYkySoDiTJCjOfIrjL3/p09mOP77Yo0mP\nXGMrm6g1tPvysmVeAbvlFhgyBB580BuHjB8Pt9++fdOXyy+Hm2/2BK4uDz4IPXrA+efDWWfl/n6y\nzHz65RVX+Pq2xx/P7XEh1D+mHSlRExERERGRoure3ROYbJWsLrff7lMcO3Tw6Y9//CNccgl85ztw\n9NHb3/foo72yNn48jBjhDW5qu+46r6Jedx20KDAjOuYYaNvW16u98kpuUy2vvhpOOim3feOUqElq\nNff59hI/xZgkQXEmSVCcSVxyjS0zr6o9/HDdt2/cCJMnw+jRfn3AAG/68sILvrawLldf7evI9t4b\nrrqqplpXXe17oJ18cn7vpT6tW3sVdvbsum+/8UZvlvLSS55sbt3qa9uWLm34eVtFMzwREREREZHC\nDR/u1bErr6xplf/hh74Z9tKl0LOnNx0B3wbixz/2/cwqKup+vpNPhqef9mYj3bv7VMVBg+C++7xD\nZKGVtLp8+cteoRs6dOfbJk70JigdO/p7GzLEm5FMmNDwc6qiJqml+fYSN8WYJEFxJklQnElc8omt\nAQO82vTUU3790089Abr4Yk9wvv/97e//3e96wtOYFi388RMm+PTKqVM9KYzSyJHetXLHKtl778H6\n9V5R69PHm48ccohP23z22UbGHe0QRURERERE8mfmUxvvuMOrYN/7nm+b8MILsG6dT40s1PDhsMsu\nPg1y0yZfVxalXXbxBiY7VskWLfJq3lFH+bYBbdr48RNOgE6dGn5OJWqSWppvL3FTjEkSFGeSBMWZ\nxCXf2Bo50qtN/fvDihVw113RTFFs1cobiixb5n9np1ZGacwY7/64cmXNsUWLfMpmIZSoiYiIiIhI\nSdhnH5+meMkl8MQT0K5dtM/fsSMcdli0z5nVrh189atw7701x55/XomayE40317iphiTJCjOJAmK\nM4lLIbF15ZXw9a9H2+wjKcOGwf3311x//nnfr60QZfj2RURERERESk///vDBB95U5OOP4fXXfT+3\nQihRk9TSfHuJm2JMkqA4kyQoziQuzS22WrTwFv333+9NUI44wvdZK4T2URMREREREYnIsGG+X9ud\nd/rfhVKiloTmNO+7hN5rbPPtc33efF8/zs+uhL6XstPAZxfrmo5S/s6aMrZSfl8lKpG1Q2l5jUKV\n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\nHyWHlWzlzty9AAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x7fd8843de4d0>"
]
}
],
"prompt_number": 31
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Some of the spikes are very small. ...too small to really be detected. That's fine though. Here are the basic stats on the magnitude of the fake spikes:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pd.DataFrame( abs(spikes) ).describe()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td> 20.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td> 7.125176</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td> 4.276976</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td> 0.507204</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td> 2.101561</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td> 8.916328</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td> 10.875937</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td> 12.069473</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 32,
"text": [
" 0\n",
"count 20.000000\n",
"mean 7.125176\n",
"std 4.276976\n",
"min 0.507204\n",
"25% 2.101561\n",
"50% 8.916328\n",
"75% 10.875937\n",
"max 12.069473"
]
}
],
"prompt_number": 32
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Put this stuff into a pandas dataframe to keep track of it:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df = pd.DataFrame( ts, columns=['Data'] )"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 33
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['Spike'] = False\n",
"df.ix[spike_points,'Spike'] = True\n",
"df['SpikeVal'] = np.nan\n",
"df.ix[spike_points,'SpikeVal'] = spikes"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 34
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here's a bit of the dataframe to see what it looks like (these rows are all spikes)"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df[df.Spike].head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Data</th>\n",
" <th>Spike</th>\n",
" <th>SpikeVal</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2000-02-05</th>\n",
" <td>-13.458609</td>\n",
" <td> True</td>\n",
" <td>-11.454772</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-03-11</th>\n",
" <td> 16.520499</td>\n",
" <td> True</td>\n",
" <td> 11.157800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-04-14</th>\n",
" <td> -0.195490</td>\n",
" <td> True</td>\n",
" <td> -5.588423</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-04-20</th>\n",
" <td> 4.123250</td>\n",
" <td> True</td>\n",
" <td> -1.462108</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2000-04-27</th>\n",
" <td> -4.911280</td>\n",
" <td> True</td>\n",
" <td>-10.383314</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 35,
"text": [
" Data Spike SpikeVal\n",
"2000-02-05 -13.458609 True -11.454772\n",
"2000-03-11 16.520499 True 11.157800\n",
"2000-04-14 -0.195490 True -5.588423\n",
"2000-04-20 4.123250 True -1.462108\n",
"2000-04-27 -4.911280 True -10.383314"
]
}
],
"prompt_number": 35
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Detecting Spikes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is where I'm actually going to try to detect the spikes. I'm going to use [MAD](http://en.wikipedia.org/wiki/Median_absolute_deviation) with a rolling window. I'm going to look at each element of the data within the context of window of 3 items. I'm measure the difference between that item and the median of all three items. Then I'm going to subtract MAD of all 3 items in the window from that measure. So, as I see it, my $Relative \\ Madness$ measure should tell me how far off from it's neighbors each value is."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def relative_madness( x ):\n",
" return abs( x[1] - np.median(x) ) - np.median( abs( x - np.median(x) ) )"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 36
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['Madness'] = pd.rolling_apply( df.Data, 3, relative_madness, center=True )"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 37
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This boxplot shows me that the known spiked values do tend to have higher $Relative \\ Madness$ values than the non-spiked values. Keep in mind that many of the spikes are tiny and won't be detectable. It the case that I'm looking at right now (remember the numbers change every time this code is run because it's randomly generated), I could chose a $Madness$ threshold of $2$ and it would not give me any false positives and would detect around $75\\%$ of the spikes."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df.boxplot(column=['Madness'],by='Spike')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 38,
"text": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7fd8843de310>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x7fd8843de390>"
]
}
],
"prompt_number": 38
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Label values with a $Madness > 2$ as being detected spikes."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['SpikeFound'] = False\n",
"df.ix[df.Madness > 2,'SpikeFound'] = True"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 40
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot the results"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ax = df[['Data','Madness']].plot(figsize=(15,6))\n",
"detected = df[df.SpikeFound]\n",
"spikedf = df[df.Spike]\n",
"ax.scatter(detected.index,np.repeat(20,detected.SpikeFound.count()), s=40, marker='*', color='green', label=\"Spike Found\" )\n",
"ax.vlines(spikedf.index,-20,20,color='red', alpha=0.6, label=\"Spike\" )\n",
"legend(loc=3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 58,
"text": [
"<matplotlib.legend.Legend at 0x7fd881dad590>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x7fd881f3a350>"
]
}
],
"prompt_number": 58
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here's how the prediction did in terms of false positives and false negatives:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pd.crosstab(df.Spike,df.SpikeFound)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>SpikeFound</th>\n",
" <th>False</th>\n",
" <th>True</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Spike</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>False</th>\n",
" <td> 480</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>True </th>\n",
" <td> 6</td>\n",
" <td> 14</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 63,
"text": [
"SpikeFound False True \n",
"Spike \n",
"False 480 0\n",
"True 6 14"
]
}
],
"prompt_number": 63
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This shows that the undetected spikes (red) were smaller than the detected ones (blue) and that the $Relative \\ Madness$ was proportional to the size of the spike."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"cdict = {True: 'blue', False: 'red'}\n",
"scatter(x=abs(spikedf.SpikeVal),y=spikedf.Madness, color=spikedf.SpikeFound.map(cdict))\n",
"xlabel('Spike Magnitude')\n",
"ylabel('Relative Madness')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 75,
"text": [
"<matplotlib.text.Text at 0x7fd8819f8810>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x7fd881b11510>"
]
}
],
"prompt_number": 75
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This was done by $jkibele @ gmail.com$ 1 Feb 2015 for pretty much no reason."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment