Metadata-Version: 2.1
Name: TSPatternFinding
Version: 0.0.2
Summary: Scripts to find reoccuring patterns in time series.
Home-page: https://git.ant.isi.edu/GAWSEED
Author: Genevieve Bartlett, USC/ISI
Author-email: bartlett@isi.edu
License: UNKNOWN
Keywords: time series network events time motif motifs signal processing erf pcap network trace
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3
Description-Content-Type: text/markdown
Requires-Dist: numpy (>=1.17.4)
Requires-Dist: pandas (>=0.25.0)
Requires-Dist: matplotlib (>=3.1.2)
Requires-Dist: matrixprofile-ts (==0.0.8)
Provides-Extra: dev
Requires-Dist: check-manifest ; extra == 'dev'
Provides-Extra: test
Requires-Dist: coverage ; extra == 'test'

# Time Series Pattern Finding

The TSPatternFinding package is a collection of Python scripts aimed
at finding reoccuring patterns of various types in time series data.

This package is aimed at time series data extracted from network logs and
packet captures.  However, most functions are generic enough to be applied
to any time series data.  Though results are presented with a network event
focus.

## Approaches

### Stomp

STOMP is a highly efficient approach to "time motifs" discovery in time
series data and one of several of USR's Matrix Profile data mining approaches
(SCRIMP).  Time motifs are repeating patterns which indicate an underlying
common cause.  Details on these approaches can be [found here][scrimp paper].

### Haar

The Haar approach is based on a full decomposition of the time series using
haar wavelets. A detailed description of this approach can be 
[found here.][low-rate periodicity paper].

Most of the configuration for a Python project is done in the `setup.py` file,
an example of which is included in this project. You should edit this file
accordingly to adapt this sample project to your needs.

----
[scrimp paper]: https://www.cs.ucr.edu/~eamonn/SCRIMP_ICDM_camera_ready_updated.pdf
[low-rate periodicity paper]: https://www.isi.edu/~johnh/PAPERS/Bartlett11a.pdf


