{"id":8927,"date":"2022-08-04T15:11:53","date_gmt":"2022-08-04T13:11:53","guid":{"rendered":"https:\/\/www.iese.fraunhofer.de\/blog\/?p=8927"},"modified":"2024-01-12T14:34:30","modified_gmt":"2024-01-12T13:34:30","slug":"pattern-recognition","status":"publish","type":"post","link":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/","title":{"rendered":"Time Traveling with Data Science: Pattern Recognition, Motifs Discovery and the Matrix Profile (Part 4)"},"content":{"rendered":"<p class=\"lead\">In Part 4 of our Fraunhofer IESE blog series on &#8222;Time Traveling with Data Science&#8220;, we continue our journey in the field of time series analysis. In this blog post, our experts from <a href=\"https:\/\/www.iese.fraunhofer.de\/\">Fraunhofer IESE<\/a> and our guest author Markus Heidt present the fundamental task of finding similar patterns through pattern recognition. We also provide a short introduction to the most powerful algorithms on the market, the family of algorithms based on the Matrix Profile.<\/p>\n<div class=\"info-box\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-9461 alignnone\" src=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/Blogpost-Portrait-400x400.png\" alt=\"\" width=\"180\" height=\"180\" srcset=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/Blogpost-Portrait-400x400.png 400w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/Blogpost-Portrait-150x150.png 150w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/Blogpost-Portrait-32x32.png 32w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/Blogpost-Portrait-50x50.png 50w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/Blogpost-Portrait-64x64.png 64w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/Blogpost-Portrait-96x96.png 96w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/Blogpost-Portrait-128x128.png 128w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/Blogpost-Portrait-65x65.png 65w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/Blogpost-Portrait.png 612w\" sizes=\"auto, (max-width: 180px) 100vw, 180px\" \/><\/p>\n<p>Guest Author: Markus Heidt<\/p>\n<p>&nbsp;<\/p>\n<p>Markus Heidt is an award-winning data scientist with experience in applied AI Consulting and Finance. He is highly interested in time series, Natural Language Processing, DevOps, and AI use cases.<\/p>\n<p>&nbsp;<\/p>\n<p>Feel free to contact him via <a href=\"http:\/\/linkedin.com\/in\/markus-heidt\">LinkedIn<\/a>.<\/p>\n<\/div>\n<h3><strong>The task: Finding similar patterns with pattern recognition<\/strong><\/h3>\n<p>Identifying similar patterns is a fundamental task in time series analysis, which can be used for pattern recognition (finding patterns similar to a given predefined pattern), motifs discovery (finding similar patterns that occur frequently and are statistically significant), clustering (finding groups of similar patterns), or outlier analysis (finding patterns that are mostly dissimilar to all others; these are also called discords).<\/p>\n<p>The application domain for such tasks is broad (if not universal). To pick a single example, imagine data coming from electrocardiograms. Here, detecting heart-beat-specific patterns such as ventricular fibrillation might be life-saving (Sansone et al. 2013).<\/p>\n<p>In principle, identifying similar patterns (or subsequences) in a time series, which go by the nice and technical name of &#8222;time series subsequences all-pairs-similarity-search&#8220; (TSAPSS), requires two things: first, a measure of similarity between two subsequences (or two patterns), and second, a way to efficiently search for similar subsequences in the time series.<\/p>\n<h3><strong>The problem: Pattern recognition is costly<\/strong><\/h3>\n<p>Why does pattern recognition need to be efficient? \u2013 Because the problem by itself requires the computation of a lot (an understatement!) of comparisons. Researchers in the field have stated that &#8222;as such the lack of progress on TSAPSS stems not from a lack of interest, but from the daunting nature of the problem&#8220; (Yeh et al. 2017). To illustrate this point, consider a time series that is 1000 data points long. We wish to compute the similarity between all subsequences that are 10 points long. Doing so requires computing the similarity between the first subsequence (from point 1 to 10) and the second subsequence (from point 2 to 11), between the first and the third subsequence (from point 3 to 12), etc. until the 991st subsequence (from point 991 to 1000) \u2013 these are already 991 comparisons just for comparing the first subsequence with all the others. Then this process needs to be repeated for the second subsequence (comparing it with the third, the fourth, &#8230;, the 991st), for the third subsequence, for the fourth, etc., until all possible pairs of subsequences have been compared. For those who like maths, it would be a total of 991*990\/2=490,545 comparisons. If the time series is now 10000 points long (and the patterns are still 10 points long), this becomes 49,905,045 comparisons (100 times as many). The increase is exponential.<\/p>\n<p>So why bother? \u2013 It turns out that researchers have developed an algorithm based on something called the Matrix Profile, which drastically reduces (also an understatement) the computational time required to perform &#8222;time series subsequences all-pairs-similarity-search&#8220;.<\/p>\n<h3><strong>The solution: The Matrix Profile<\/strong><\/h3>\n<p>The underlying principles behind the Matrix Profile are delightfully simple yet powerful. And there are only two!<\/p>\n<p>The first idea is to recognize that the distance between two subsequences can be transformed into a mathematical operation called a convolution. Why is this important? Because convolutions are operations that can be computed in a very efficient way using the Fast Fourier Transform (FFT) algorithm and its inverse (another ingenious and beautiful algorithm; for a visual introduction see <a href=\"https:\/\/www.youtube.com\/watch?v=h7apO7q16V0\">this video<\/a>).<\/p>\n<p>The second idea is to recognize that it is not necessary to store all distances between all pairs of subsequences (e.g., the 490,545 comparisons as explained above). It is enough to store, for each subsequence, only the distance to the most similar subsequence and where this subsequence is located (for the example above, this boils down to storing the information about 991 subsequences).<\/p>\n<p>The first results related to the Matrix Profile were first published in 2016 and were entitled: &#8222;Matrix Profile I: All Pairs Similarity Joins for Time Series: A Unifying View That Includes Motifs, Discords and Shapelets&#8220; (Yeh 2016). As of 2022, the latest article from the same research group is entitled &#8222;Matrix Profile XXIV: Scaling Time Series Anomaly Detection to Trillions of Datapoints and Ultra-fast Arriving Data Streams&#8220; (Lu 2022). This research shows that what was deemed impossible a couple of years ago is now within our reach (more about the research itself can be found <a href=\"https:\/\/www.cs.ucr.edu\/~eamonn\/MatrixProfile.html\">here<\/a>).<\/p>\n<h3><strong>Talk is cheap, show me the code (Linus Torvalds)<\/strong><\/h3>\n<p>The algorithms based on the Matrix Profile (there are several ones) have been implemented and made open source.<\/p>\n<p>The Matrix Profile Foundation proposes implementations in Python, R, and GoLang (see <a href=\"https:\/\/matrixprofile.org\/\">https:\/\/matrixprofile.org\/<\/a>). Stumpy is a Python library dedicated to the efficient computation of Matrix-Profile-based algorithms (see <a href=\"https:\/\/stumpy.readthedocs.io\/en\/latest\/\">https:\/\/stumpy.readthedocs.io\/<\/a>). The sktime library also proposes its own implementation of the Matrix Profile (see <a href=\"https:\/\/www.sktime.org\/en\/stable\/api_reference\/auto_generated\/sktime.transformations.panel.matrix_profile.MatrixProfile.html\">https:\/\/www.sktime.org\/<\/a>). Finally, the tslearn library proposes choosing between a numpy-based implementation and the one from stumpy, the latter being more efficient (see <a href=\"https:\/\/tslearn.readthedocs.io\/en\/stable\/auto_examples\/misc\/plot_matrix_profile.html?highlight=matrix%20profile\">https:\/\/tslearn.readthedocs.io\/<\/a>).<\/p>\n<p>We recommend the following stumpy tutorials:<\/p>\n<ul>\n<li><a href=\"https:\/\/stumpy.readthedocs.io\/en\/latest\/Tutorial_The_Matrix_Profile.html\">Tutorial: The Matrix Profile<\/a> and<\/li>\n<li><a href=\"https:\/\/stumpy.readthedocs.io\/en\/latest\/Tutorial_Pattern_Matching.html\"> Tutorial: Pattern Matching<\/a> for a quick and hands-on introduction to the Matrix Profile.<\/li>\n<\/ul>\n<div class=\"info-box\">\n<p><strong>For more about Time Series Analysis, see our blog series:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li><a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/time-series-analysis\/\">Time Traveling with Data Science (Part 1)<\/a><\/li>\n<li><a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/change-point-detection\/\">Time Traveling with Data Science: Focusing on Change Point Detection in Time Series Analysis (Part 2)<\/a><\/li>\n<li><a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/outlier-detection\/\">Time traveling with Data Science: Outlier Detection (Part 3)<\/a><\/li>\n<\/ul>\n<\/div>\n<h3><strong>References<\/strong><\/h3>\n<p>[1] Lu, Y., Wu, R., Mueen, A., Zuluaga, M. A., Keogh, E. (2022). Matrix Profile XXIV: Scaling Time Series Anomaly Detection to Trillions of Datapoints and Ultra-fast Arriving Data Streams. ACM SIGKDD 2022<\/p>\n<p>[2] Sansone M, Fusco R, Pepino A, Sansone C. (2013). Electrocardiogram pattern recognition and analysis based on artificial neural networks and support vector machines: a review. J Healthc Eng. 2013;4(4):465-504. doi: 10.1260\/2040-2295.4.4.465. PMID: 24287428.<\/p>\n<p>[3] Yeh, C. C. M., Zhu, Y., Ulanova, L., Begum, N., Ding, Y., Dau, H. A., Furtado Silva, D., Mueen, A., Keogh E. (2016). &#8222;Matrix Profile I: All Pairs Similarity Joins for Time Series: A Unifying View That Includes Motifs, Discords and Shapelets&#8220; 2016 IEEE 16th International Conference on Data Mining (ICDM), 2016, pp. 1317-1322, doi: 10.1109\/ICDM.2016.0179<\/p>\n<p>[4] Yeh, C. C. M., Zhu, Y., Ulanova, L., Begum, N., Ding, Y., Dau, H. A., Zimmerman, Z., Furtado Silva, D., Mueen, A., Keogh, E. (2018). Time series joins, motifs, discords and shapelets: a unifying view that exploits the matrix profile. Data Mining and Knowledge Discovery, 32(1), 83-123<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Part 4 of our Fraunhofer IESE blog series on &#8222;Time Traveling with Data Science&#8220;, we continue our journey in the field of time series analysis. In this blog post, our experts from Fraunhofer IESE and our guest author Markus&#8230;<\/p>\n","protected":false},"author":66,"featured_media":9528,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[177],"tags":[26,104,170,296,429,431],"coauthors":[214],"class_list":["post-8927","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kuenstliche-intelligenz","tag-big-data","tag-data-analytics","tag-data-science","tag-machine-learning","tag-python","tag-time-series-analysis"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Time Traveling with Data Science: Pattern Recognition, Motifs Discovery and the Matrix Profile (Part 4) - Blog des Fraunhofer IESE<\/title>\n<meta name=\"description\" content=\"Check out our new blog post on &quot;Time Traveling with Data Science&quot;. In part 4, we focus on pattern recognition and motifs discovery.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Time Traveling with Data Science: Pattern Recognition, Motifs Discovery and the Matrix Profile (Part 4) - Blog des Fraunhofer IESE\" \/>\n<meta property=\"og:description\" content=\"Check out our new blog post on &quot;Time Traveling with Data Science&quot;. In part 4, we focus on pattern recognition and motifs discovery.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/\" \/>\n<meta property=\"og:site_name\" content=\"Fraunhofer IESE\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/FraunhoferIESE\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-04T13:11:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-12T13:34:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/blog_serie_time_traveling_4.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1400\" \/>\n\t<meta property=\"og:image:height\" content=\"702\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Dr. Julien Siebert\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@FraunhoferIESE\" \/>\n<meta name=\"twitter:site\" content=\"@FraunhoferIESE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dr. Julien Siebert\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Dr. Julien Siebert\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/pattern-recognition\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/pattern-recognition\\\/\"},\"author\":{\"name\":\"Dr. Julien Siebert\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/person\\\/96d3d2ce62a13a8ee470ea948601ff28\"},\"headline\":\"Time Traveling with Data Science: Pattern Recognition, Motifs Discovery and the Matrix Profile (Part 4)\",\"datePublished\":\"2022-08-04T13:11:53+00:00\",\"dateModified\":\"2024-01-12T13:34:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/pattern-recognition\\\/\"},\"wordCount\":1100,\"publisher\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/pattern-recognition\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/blog_serie_time_traveling_4.jpg\",\"keywords\":[\"Big Data\",\"Data Analytics\",\"Data Science\",\"Machine Learning\",\"Python\",\"Time Series Analysis\"],\"articleSection\":[\"K\u00fcnstliche Intelligenz\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/pattern-recognition\\\/\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/pattern-recognition\\\/\",\"name\":\"Time Traveling with Data Science: Pattern Recognition, Motifs Discovery and the Matrix Profile (Part 4) - Blog des Fraunhofer IESE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/pattern-recognition\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/pattern-recognition\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/blog_serie_time_traveling_4.jpg\",\"datePublished\":\"2022-08-04T13:11:53+00:00\",\"dateModified\":\"2024-01-12T13:34:30+00:00\",\"description\":\"Check out our new blog post on \\\"Time Traveling with Data Science\\\". In part 4, we focus on pattern recognition and motifs discovery.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/pattern-recognition\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/pattern-recognition\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/pattern-recognition\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/blog_serie_time_traveling_4.jpg\",\"contentUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/blog_serie_time_traveling_4.jpg\",\"width\":1400,\"height\":702,\"caption\":\"Time Series Analysis: Pattern Recognition\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/pattern-recognition\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Time Traveling with Data Science: Pattern Recognition, Motifs Discovery and the Matrix Profile (Part 4)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/\",\"name\":\"Fraunhofer IESE\",\"description\":\"Blog des Fraunhofer-Institut f\u00fcr Experimentelles Software Engineering\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#organization\",\"name\":\"Fraunhofer IESE\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/fhg_iese_logo.png\",\"contentUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/fhg_iese_logo.png\",\"width\":183,\"height\":50,\"caption\":\"Fraunhofer IESE\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/FraunhoferIESE\\\/\",\"https:\\\/\\\/x.com\\\/FraunhoferIESE\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/fraunhoferiese\\\/\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/FraunhoferIESE\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/person\\\/96d3d2ce62a13a8ee470ea948601ff28\",\"name\":\"Dr. Julien Siebert\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/siebert_julien_8513_blog-96x96.jpg299e210bdf5631c16552ac66c10e3e56\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/siebert_julien_8513_blog-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/siebert_julien_8513_blog-96x96.jpg\",\"caption\":\"Dr. Julien Siebert\"},\"description\":\"Julien Siebert is working as senior AI Expert in the Data Science department of Fraunhofer IESE. He studied Artificial Intelligence and Engineering Science and got his PhD in Computer Science. His professional interests include data science processes, artificial intelligence and complex systems.\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/author\\\/julien-siebert\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Time Traveling with Data Science: Pattern Recognition, Motifs Discovery and the Matrix Profile (Part 4) - Blog des Fraunhofer IESE","description":"Check out our new blog post on \"Time Traveling with Data Science\". In part 4, we focus on pattern recognition and motifs discovery.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/","og_locale":"de_DE","og_type":"article","og_title":"Time Traveling with Data Science: Pattern Recognition, Motifs Discovery and the Matrix Profile (Part 4) - Blog des Fraunhofer IESE","og_description":"Check out our new blog post on \"Time Traveling with Data Science\". In part 4, we focus on pattern recognition and motifs discovery.","og_url":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/","og_site_name":"Fraunhofer IESE","article_publisher":"https:\/\/www.facebook.com\/FraunhoferIESE\/","article_published_time":"2022-08-04T13:11:53+00:00","article_modified_time":"2024-01-12T13:34:30+00:00","og_image":[{"width":1400,"height":702,"url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/blog_serie_time_traveling_4.jpg","type":"image\/jpeg"}],"author":"Dr. Julien Siebert","twitter_card":"summary_large_image","twitter_creator":"@FraunhoferIESE","twitter_site":"@FraunhoferIESE","twitter_misc":{"Verfasst von":"Dr. Julien Siebert","Gesch\u00e4tzte Lesezeit":"4\u00a0Minuten","Written by":"Dr. Julien Siebert"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/#article","isPartOf":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/"},"author":{"name":"Dr. Julien Siebert","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/person\/96d3d2ce62a13a8ee470ea948601ff28"},"headline":"Time Traveling with Data Science: Pattern Recognition, Motifs Discovery and the Matrix Profile (Part 4)","datePublished":"2022-08-04T13:11:53+00:00","dateModified":"2024-01-12T13:34:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/"},"wordCount":1100,"publisher":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#organization"},"image":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/blog_serie_time_traveling_4.jpg","keywords":["Big Data","Data Analytics","Data Science","Machine Learning","Python","Time Series Analysis"],"articleSection":["K\u00fcnstliche Intelligenz"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/","url":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/","name":"Time Traveling with Data Science: Pattern Recognition, Motifs Discovery and the Matrix Profile (Part 4) - Blog des Fraunhofer IESE","isPartOf":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/#primaryimage"},"image":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/blog_serie_time_traveling_4.jpg","datePublished":"2022-08-04T13:11:53+00:00","dateModified":"2024-01-12T13:34:30+00:00","description":"Check out our new blog post on \"Time Traveling with Data Science\". In part 4, we focus on pattern recognition and motifs discovery.","breadcrumb":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/#primaryimage","url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/blog_serie_time_traveling_4.jpg","contentUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/blog_serie_time_traveling_4.jpg","width":1400,"height":702,"caption":"Time Series Analysis: Pattern Recognition"},{"@type":"BreadcrumbList","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/pattern-recognition\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.iese.fraunhofer.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Time Traveling with Data Science: Pattern Recognition, Motifs Discovery and the Matrix Profile (Part 4)"}]},{"@type":"WebSite","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#website","url":"https:\/\/www.iese.fraunhofer.de\/blog\/","name":"Fraunhofer IESE","description":"Blog des Fraunhofer-Institut f\u00fcr Experimentelles Software Engineering","publisher":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iese.fraunhofer.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#organization","name":"Fraunhofer IESE","url":"https:\/\/www.iese.fraunhofer.de\/blog\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2016\/08\/fhg_iese_logo.png","contentUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2016\/08\/fhg_iese_logo.png","width":183,"height":50,"caption":"Fraunhofer IESE"},"image":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/FraunhoferIESE\/","https:\/\/x.com\/FraunhoferIESE","https:\/\/www.linkedin.com\/company\/fraunhoferiese\/","https:\/\/www.youtube.com\/c\/FraunhoferIESE"]},{"@type":"Person","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/person\/96d3d2ce62a13a8ee470ea948601ff28","name":"Dr. Julien Siebert","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/10\/siebert_julien_8513_blog-96x96.jpg299e210bdf5631c16552ac66c10e3e56","url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/10\/siebert_julien_8513_blog-96x96.jpg","contentUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/10\/siebert_julien_8513_blog-96x96.jpg","caption":"Dr. Julien Siebert"},"description":"Julien Siebert is working as senior AI Expert in the Data Science department of Fraunhofer IESE. He studied Artificial Intelligence and Engineering Science and got his PhD in Computer Science. His professional interests include data science processes, artificial intelligence and complex systems.","url":"https:\/\/www.iese.fraunhofer.de\/blog\/author\/julien-siebert\/"}]}},"jetpack_featured_media_url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2022\/07\/blog_serie_time_traveling_4.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts\/8927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/users\/66"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/comments?post=8927"}],"version-history":[{"count":29,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts\/8927\/revisions"}],"predecessor-version":[{"id":10859,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts\/8927\/revisions\/10859"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/media\/9528"}],"wp:attachment":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/media?parent=8927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/categories?post=8927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/tags?post=8927"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/coauthors?post=8927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}