MPA: a novel cross-language API for time series analysis
Two fundamental tasks in time series analysis are identifying anomalous events (“discords”) and repeated patterns (“motifs”). Successfully accomplishing these tasks is of the utmost importance across many disciplines, and can lead to powerful technological advancements, prevention of catastrophic failures and the generation of significant economic gain. Dozens of algorithms have been developed to solve these problems, including AR(I)MA regression, Hierarchical Temporal Memory, Extreme Studentized Deviate and Artificial Neural Networks. Unfortunately, these approaches are hampered by a combination of steep methodological learning curves, numerous parameters that require tuning and the inability to scale across large datasets. The explosive growth of the data science community provides an additional hurdle for traditional time series analysis methods, as many practitioners lack experience in advanced mathematical and statistical principles. Here we present MPA (the Matrix Profile API) as a solution to all of these challenges. MPA is a cross-language platform in Python (matrixprofile), R (tsmp) and Golang (go-matrixprofile) that leverages a novel data transformation known as the Matrix Profile [@MP1] to rapidly identify motifs and discords. Perhaps most importantly, MPA is an easy-to-use API that’s relevant for time series novices and experts alike.