{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "import pandas as pd\n", "import pylab as pl\n", "\n", "%pylab inline --no-import-all" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Resources\n", "- [model homepage](http://www.cs.ucr.edu/~eamonn/SAX.htm)\n", "- [java implementation - jmotif](http://code.google.com/p/jmotif/)\n", "- [python implementation discussion](http://fromstefanimportblog.blogspot.sg/2011/04/symbolic-aggregate-approximation-in.html)\n", "- [python code](https://github.com/nphoff/saxpy)\n", "- [assumption free anomaly detection by SAX](http://www.cs.ucr.edu/~ratana/SSDBM05.pdf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ZNormalization - normalization to zero mean and unit of energy\n", "\n", "According to most of the recent works this type of time-series normalization is the best known transformation of the raw time-series which preserves original time-series features. Nevertheless, the article by Lin et al. explains the reasons and solutions for some cases when the zero mean and unit standard deviation normalization fails. For example if a signal is constant over most of the time span with minor noise at short intervals, this normalization will overamplify the noise to the maximal amplitude. This will also occur if the time-series contains only single value and the standard deviation is not defined" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def znormalization(ts):\n", " \"\"\"\n", " ts - each column of ts is a time series (np.ndarray)\n", " \"\"\"\n", " mus = ts.mean(axis = 0)\n", " stds = ts.std(axis = 0)\n", " return (ts - mus) / stds" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "ts1 = np.asarray([2.02, 2.33, 2.99, 6.85, 9.20, 8.80, 7.50, 6.00, 5.85, 3.85, 4.85, 3.85, 2.22, 1.45, 1.34])\n", "ts2 = np.asarray([0.50, 1.29, 2.58, 3.83, 3.25, 4.25, 3.83, 5.63, 6.44, 6.25, 8.75, 8.83, 3.25, 0.75, 0.72])\n", "ts = pd.DataFrame({\"ts1\": ts1, \"ts2\": ts2})\n", "ts.plot(style = \"-+\")\n", "\n", "zts = znormalization(ts)\n", "zts.plot(style = \"-+\")\n", "plt.hlines(0, 0, 14, colors = 'r', linestyles='--')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 17, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n6tSpVufOjJw7RSd++kkp4vv3q53EPMHBMHEiHDoExYqpnUZKlZSSRMU5FQnpGPJ0VIqjjd4+miJ5\nijC24VinrBeqL882ZcoUqlatip+fH507dyY+Pt7STUlZEEK5uOfTT9VOYr7u3eHdd5X1P+296Ldk\nuueHFapBj1duapFFRTwiIoKlS5cSFhb2tDe0du1aW2dTlZb6mnv3wr17ylqYptJS/mnTlBWBhg83\n/Tlaym8uPWTPbFiho/IHlAog7HaYQ/aVnVlUxAsXLkyuXLmIi4sjKSmJuLg4ypQpY+ts0j+yusRe\n63LkgDVr4PffYfFitdNI4ZHhXI25yrtV3lU1x8vuL3Pn0R1insSomkPvLLrYx93dnZEjR1K+fHny\n5ctHixYtaNq06QuP69GjB17/TDbt5uaGv7//03klUn/ba/V26n1q5/HwMHDoEAwcaMRo1F/+1NvH\njhkZOxZGjjTwyisA+spvzm2DwaCpPM/fnnd4Hi1ytGDfnn2q56/uUZ3wyHAKFy6cZhifMyhcuDCg\nvBYrV64EeFovzWHRic3Lly/Tpk0b9uzZQ5EiRejQoQPt27enS5cu/27YCU9U2EPfvspIjy++UDuJ\nbezYAR99pJygfekltdM4n7/j/ubleS9zYdAFVUalPG/g5oFULlqZ4a+Z0WvL5hxyYvPo0aPUr1+f\nYsWKkTNnTt577z32623YRBYc1RfMTGSkMkzvk0/Mf64W8qenaVMYO1ZZTOLZdTqfp9X8ptBydlOG\nFToyf01P84YZmkLLr789WFTEq1SpwsGDB3n8+DFCCHbs2IGvr6+tszm9efOgUycoXlztJLY1aBC8\n9ppyRG7rxSSkjDl6tkJT6GkiLK2yeJz49OnTCQ4OxtXVlZo1a/L111+TK9e/l+7Kdop1Hj6EihXh\n4EGoVEntNLaXkADNmilXoE6erHYa5/DTmZ+Yc2gOe3ruUTvKU/FJ8RSdVpS7o++SL9eLMwE6I3Nr\np7zYR6PmzoXdu5WLfLKrv/6CunVh0iTo3FntNNlfwxUNGVx3MB2qdlA7Shr+X/mzpM0S6papq3YU\nTXDYxT7ZnZp9taQkZd4Ray7u0UNfsEQJZY6VoUPhyJG0P9ND/oxoMbs5wwodnd/Wk2Fp8fW3J1nE\nNeinn5QRKfXqqZ3E/qpXh6VLlTnIb91SO032Ne/wPD6p/YnDZys0hbxy0zqynaIxQkDt2hAYCG3a\n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\n", "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nQmCC\n", "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PAA (Piecewise Aggregate Approximation) Description\n", "1. divide the original time series (usually after normalization) into $M$ equally sized piececes.\n", "2. compute the mean for each piece - the sequence assembled from the mean values is the PAA transform of the original time series.\n", "\n", "Euclidean distances between time sereis after PAA is lower bounded to their original Euclidean distances." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def paa_transform(ts, n_pieces):\n", " \"\"\"\n", " ts: the columns of which are time series represented by e.g. np.array\n", " n_pieces: M equally sized piecies into which the original ts is splitted\n", " \"\"\"\n", " splitted = np.array_split(ts, n_pieces) ## along columns as we want\n", " return np.asarray(map(lambda xs: xs.mean(axis = 0), splitted))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "split9 = paa_transform(zts, 5)\n", "split9_ext = np.repeat(split9, 3, axis = 0)\n", "for i in [0, 1]:\n", " pl.figure()\n", " pl.plot(zts.iloc[:, i], '-+', label = \"ts%i\"%i)\n", " pl.plot(split9_ext[:, i], label = \"paa%i\"%i)\n", " pl.legend(loc = \"upper left\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\ny1+gf3+YOFFW9QqhJ7OTfvfu3WnYsGGFbWR4Rn8HD6oSygMH2v7cRWP4r78O6ekgG4cJoR+rX8g1\nGAzs27eP4OBgvLy8eP311wkICCiz7bwSpS7Dw8MJr4ZX/L777jtmzpxJamoqYWFhfPTRR7Ro0cLs\n1337bVU2uUYNCwRpolq1YMMG6NoVunVTK3mFEMaJiooiypx50OZVfVBOnjypBQUFlfnchQsXtEuX\nLmmapmlbtmzRfH19y2xXXigWCtEhZGdna+7u7toXX3yhXbt2TXvyySe1bt26ldu+su/NmTOa1qCB\npmVnWypS82zerGk+PpqWlaV3JEI4PmNzpNUXZ9WvX5+6desC0K9fP65fv05OTo61T2t1rVq1YvHi\nxQQGBtKoUSMmTZrEtWvXyM3NZeDAgXh4eNCoUSMGDRpEenp68XGrV68mICAANzc32rRpw/vvv1/8\n3JdffklQUBAjRoygZs2azJs3jyNHjpCYmGhWrCtXwpAh8L9y/robMEBNGx03TnbsEsLWrJ70MzMz\ni8f0Y2Ji0DSNRo0aWfu0NvHvf/+b7du3c+LECRITE1mwYAGapjF58mRSUlJISUmhTp06zCpx9dTT\n05NvvvmGCxcusHr1ah577LHiWvvx8fGltlWsW7cubdu2JS4uzuQYCwpUCWU9LuBWZP58NYV04UK9\nIxGiejF7TH/MmDF8//33nDlzBh8fHyIjI7l+/ToA06ZN44svvuDdd9/F2dmZunXrsm7dOrODLskQ\naZllntrLxl1sNhgMzJo1Cy8vLwCef/55Hn30UebPn8+wYcOK2z333HP0LFHVrH///sW/P/DAA/Tp\n04c9e/YQEhLCpUuXaNq0aanzuLm5cfHiRVP+kwD45hto1gy6dDH5JazC2Vnt0NWlixrbL1nTXwhh\nPWYn/c8++6zC52fOnMnMmTPNPU25jE3WluTj41P8e4sWLcjIyODKlSvMnTuXb7/9ltzcXAAuXryI\npmkYDAa2bt1KZGQkSUlJFBYWcvnyZTp27AiAq6srFy5cKHUOc7dW1GuaZmU0bw6ffAJjx6rZRf/7\n/BRCWJGUYTBDSkpKqd/vuusu/vnPf5KYmEhMTAweHh4cPnyYTp06oWka+fn5jBgxgk8++YQhQ4ZQ\no0YNhg0bVjz8FRgYyJo1a4pf89KlS5w4cYLAwMByY0jITij3ud9Pws9/wGs9IEHHLQ89XT1pVKfs\n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\n", "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nnT59moSEBKKiovQOxSzjx4/n448/zv/BdyWnTp3Cx8eHIUOG0Lp1a1555RUyMjL0DqvUvL29+ctf\n/sJDDz1EgwYNqFmzJh07dtQ7LLOkpaXh6+sLgK+vL2lpaTpHZLkFCxbQrVs3vcMwy5o1a/D39ycs\nLKzU1+j6m+6K3QmFuXnzJs899xwzZsygWrVqeodTaj/++CN169alVatWLveUD5CTk8Pu3bsZPXo0\nu3fvxtPT06m7F+534sQJpk+fzunTp0lNTeXmzZt88803eodlMYPB4LK/0++//z6VKlWif//+eodS\nahkZGUyZMoVJkyblHyvN77GuSd/Pz4+kpKT8z5OSkvD399cxIvNlZ2fTp08fBgwYQK9evfQOxyzb\nt29n7dq1NG7cmH79+rFp0yYGDhyod1il5u/vj7+/P48++igAzz33XLHF/5zNrl27aNu2LbVr18bN\nzY1nn32W7du36x2WWXx9fTl//jwA586do27dujpHZL5FixYRExPjcn9wT5w4wenTpwkPD6dx48Yk\nJyfzyCOPcOHChWKv0zXpR0ZGkpiYyOnTp8nKymLlypX07NlTz5DMomkaw4YNIzQ0lHHjxukdjtmm\nTJlCUlISp06dYsWKFbRv354lS5boHVap1atXj4CAAI4dOwbAxo0bad68uc5RlV5wcDBxcXHcvn0b\nTdPYuHEjoaGheodllp49e7J48WIAFi9e7HIPPrGxsXz88cesWbOGKlWq6B2OWVq2bElaWhqnTp3i\n1KlT+Pv7s3v37pL/8Np4VpHZYmJitKZNm2pNmjTRpkyZonc4Ztm6datmMBi08PBwLSIiQouIiNDW\nrVund1gWMRqNWo8ePfQOw2x79uzRIiMjXWLKXWE+/PDD/CmbAwcO1LKysvQOqUh9+/bV6tevr7m7\nu2v+/v7aggULtMuXL2sdOnRwiSmb98c/f/58LTAwUHvooYfyf39HjRqld5hFyou/UqVK+d//ezVu\n3LhUUzYNmuaCnblCCCEs4npTNoQQQlhMkr4QQpQjkvSFEKIckaQvhBDliCR9IYQoRyTpCyFEOfL/\nAQJ2evIgdCRUAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 41 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## SAX (Symbolic Aggregate approXimation) \n", "\n", "Symbolic Aggregate approXimation (SAX) transforms original time-series data into symbolic strings.\n", "\n", "Symbolic Aggregate approXimation was proposed by Lin et al. and extends PAA-based approach inheriting algorithm simplicity and low computational complexity while providing satisfiable sensitivity and selectivity in range-query processing. Moreover, the use of a symbolic representation opens the door to the existing wealth of data-structures and string-manipulation algorithms in computer science such as hashing, regular expression pattern matching, suffix trees etc.\n", "\n", "SAX transforms a time-series X of length n into the string of arbitrary length , where $\\omega << n$ typically, using an alphabet A of size a > 2. The SAX algorithm consist of two steps: during the first step it transforms the original time-series into a PAA representation and this intermediate representation gets converted into a string during the second step. Use of PAA at the first step brings the advantage of a simple and efficient dimensionality reduction while providing the important lower bounding property as shown in the previous section. The second step, actual conversion of PAA coefficients into letters, is also computationally efficient and the contractive property of symbolic distance was proven by Lin et al.\n", "\n", "Discretization of the PAA representation of a time-series into SAX is implemented in a way which produces symbols corresponding to the time-series features with equal probability. The extensive and rigorous analysis of various time-series datasets available to the original authors has shown that time-series that are normalized by the zero mean and unit of energy follow the Normal distribution law. By using Gaussian distribution properties, it's easy to pick a equal-sized areas under the Normal curve using lookup tables for the cut lines coordinates, slicing the under-the-Gaussian-curve area. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "def sax_transform(ts, n_pieces, alphabet):\n", " \"\"\"\n", " ts: columns of which are time serieses represented by np.array\n", " n_pieces: number of segments in paa transformation\n", " alphabet: the letters to be translated to, e.g. \"abcd\", \"ab\"\n", " return np.array of ts's sax transformation\n", " Steps:\n", " 1. znormalize\n", " 2. ppa\n", " 3. find norm distribution breakpoints by scipy.stats\n", " 4. convert ppa transformation into strings\n", " \"\"\"\n", " from scipy.stats import norm\n", " alphabet_sz = len(alphabet)\n", " thrholds = norm.ppf(np.linspace(1./alphabet_sz, \n", " 1-1./alphabet_sz, \n", " alphabet_sz-1))\n", " def translate(ts_values):\n", " return np.asarray([(alphabet[0] if ts_value < thrholds[0]\n", " else (alphabet[-1] if ts_value > thrholds[-1]\n", " else alphabet[np.where(thrholds <= ts_value)[0][-1]+1]))\n", " for ts_value in ts_values])\n", " paa_ts = paa_transform(znormalization(ts), n_pieces)\n", " return np.apply_along_axis(translate, 0, paa_ts)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 78 }, { "cell_type": "code", "collapsed": false, "input": [ "sax_transform(ts, 9, \"abcd\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 80, "text": [ "array([['a', 'a'],\n", " ['c', 'b'],\n", " ['d', 'b'],\n", " ['d', 'c'],\n", " ['c', 'd'],\n", " ['b', 'd'],\n", " ['a', 'b'],\n", " ['a', 'a'],\n", " ['a', 'a']], \n", " dtype='|S1')" ] } ], "prompt_number": 80 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }