{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/position-paper-quo-vadis-unsupervised-time","title":"Position: Quo Vadis, Unsupervised Time Series Anomaly Detection?","arxiv_id":"2405.02678","date":"2024-05-04","proceeding":null,"authors":["M. Saquib Sarfraz","Mei-Yen Chen","Lukas Layer","Kunyu Peng","Marios Koulakis"],"abstract":"The current state of machine learning scholarship in Timeseries Anomaly Detection (TAD) is plagued by the persistent use of flawed evaluation metrics, inconsistent benchmarking practices, and a lack of proper justification for the choices made in novel deep learning-based model designs. Our paper presents a critical analysis of the status quo in TAD, revealing the misleading track of current research and highlighting problematic methods, and evaluation practices. Our position advocates for a shift in focus from solely pursuing novel model designs to improving benchmarking practices, creating non-trivial datasets, and critically evaluating the utility of complex methods against simpler baselines. Our findings demonstrate the need for rigorous evaluation protocols, the creation of simple baselines, and the revelation that state-of-the-art deep anomaly detection models effectively learn linear mappings. These findings suggest the need for more exploration and development of simple and interpretable TAD methods. The increment of model complexity in the state-of-the-art deep-learning based models unfortunately offers very little improvement. We offer insights and suggestions for the field to move forward. Code: https://github.com/ssarfraz/QuoVadisTAD","url_abs":"https://arxiv.org/abs/2405.02678v3","url_pdf":"https://arxiv.org/pdf/2405.02678v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"position-paper-quo-vadis-unsupervised-time","repo_url":"https://github.com/ssarfraz/QuoVadisTAD","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"anomaly-detection","task_name":"Anomaly Detection"},{"task_slug":"benchmarking","task_name":"Benchmarking"},{"task_slug":null,"task_name":"Position"},{"task_slug":"time-series-1","task_name":"Time Series"},{"task_slug":"time-series-anomaly-detection","task_name":"Time Series Anomaly Detection"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.02678","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.02678"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/ssarfraz/QuoVadisTAD","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":14,"unverified":1},"by_repo_kind":{"official":{"samples":15,"ran":14,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"ef109be6043f560e","entry":"add_anomalies_to_univariate_series","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/dataset_utils/synthetic_series.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/dataset_utils/synthetic_series.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ef109be6043f560e"}},{"code_sha256_prefix":"d49126dac29f6ae1","entry":"adj_standard","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/model_utils/gnn.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/model_utils/gnn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d49126dac29f6ae1"}},{"code_sha256_prefix":"549caeddffb77285","entry":"compute_adj_on_slices","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/model_utils/gnn.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/model_utils/gnn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"549caeddffb77285"}},{"code_sha256_prefix":"7ba0eb523d055ae9","entry":"compute_finch_adjacency_matrix","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/model_utils/gnn.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/model_utils/gnn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7ba0eb523d055ae9"}},{"code_sha256_prefix":"dfb4bb8f14b79db2","entry":"concatenate_windows_feat","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/dataset_utils/data_utils.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/dataset_utils/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dfb4bb8f14b79db2"}},{"code_sha256_prefix":"a971fa123110463b","entry":"create_tf_dataset","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/model_utils/tf_data_loader.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/model_utils/tf_data_loader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a971fa123110463b"}},{"code_sha256_prefix":"1bb7891844cde6e8","entry":"find_files_in_path","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/dataset_utils/dataset_reader.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/dataset_utils/dataset_reader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1bb7891844cde6e8"}},{"code_sha256_prefix":"6f4a6cd9b2eb098a","entry":"get_label_loader","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/model_utils/model_def.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/model_utils/model_def.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6f4a6cd9b2eb098a"}},{"code_sha256_prefix":"1caf05df591ca634","entry":"load_wadi_112","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/dataset_utils/dataset_reader.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/dataset_utils/dataset_reader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1caf05df591ca634"}},{"code_sha256_prefix":"68e07f6da439fc28","entry":"load_wadi_127","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/dataset_utils/dataset_reader.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/dataset_utils/dataset_reader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"68e07f6da439fc28"}},{"code_sha256_prefix":"7f7d95ada40f0907","entry":"norm_1_1","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/model_utils/model_def.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/model_utils/model_def.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7f7d95ada40f0907"}},{"code_sha256_prefix":"774ce9c1ec908429","entry":"normalise_scores","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/dataset_utils/data_utils.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/dataset_utils/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"774ce9c1ec908429"}},{"code_sha256_prefix":"baeee7bf45f131bd","entry":"preprocess_data","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/dataset_utils/data_utils.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/dataset_utils/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"baeee7bf45f131bd"}},{"code_sha256_prefix":"8abe71fff56ac4fc","entry":"synthetic_dataset_with_out_of_range_anomalies","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/dataset_utils/synthetic_series.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/dataset_utils/synthetic_series.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8abe71fff56ac4fc"}},{"code_sha256_prefix":"d1a6b21a4c3a9471","entry":"convert_array_to_dataframe_for_plotting","repo":"ssarfraz/QuoVadisTAD","repo_kind":"official","path":"quovadis_tad/dataset_utils/visualization.py","file_url":"https://github.com/ssarfraz/QuoVadisTAD/blob/HEAD/quovadis_tad/dataset_utils/visualization.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d1a6b21a4c3a9471"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}