{"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/timexplain-a-framework-for-explaining-the","title":"timeXplain -- A Framework for Explaining the Predictions of Time Series Classifiers","arxiv_id":"2007.07606","date":"2020-07-15","proceeding":null,"authors":["Felix Mujkanovic","Vanja Doskoč","Martin Schirneck","Patrick Schäfer","Tobias Friedrich"],"abstract":"Modern time series classifiers display impressive predictive capabilities, yet their decision-making processes mostly remain black boxes to the user. At the same time, model-agnostic explainers, such as the recently proposed SHAP, promise to make the predictions of machine learning models interpretable, provided there are well-designed domain mappings. We bring both worlds together in our timeXplain framework, extending the reach of explainable artificial intelligence to time series classification and value prediction. We present novel domain mappings for the time domain, frequency domain, and time series statistics and analyze their explicative power as well as their limits. We employ a novel evaluation metric to experimentally compare timeXplain to several model-specific explanation approaches for state-of-the-art time series classifiers.","url_abs":"https://arxiv.org/abs/2007.07606v2","url_pdf":"https://arxiv.org/pdf/2007.07606v2.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":"timexplain-a-framework-for-explaining-the","repo_url":"https://github.com/loadingbyte/timexplain","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"explainable-artificial-intelligence","task_name":"Explainable artificial intelligence"},{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"time-series-1","task_name":"Time Series"},{"task_slug":"time-series","task_name":"Time Series Analysis"},{"task_slug":"time-series-classification","task_name":"Time Series Classification"},{"task_slug":"value-prediction","task_name":"Value prediction"}],"methods":[{"method_slug":"shap","method_name":"SHAP"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2007.07606","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2007.07606"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/loadingbyte/timexplain","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":10},"by_repo_kind":{"official":{"samples":10,"ran":0,"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":"eeae61a6df0f59b7","entry":"classname","repo":"loadingbyte/timexplain","repo_kind":"official","path":"timexplain/_utils.py","file_url":"https://github.com/loadingbyte/timexplain/blob/HEAD/timexplain/_utils.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":"eeae61a6df0f59b7"}},{"code_sha256_prefix":"941e9be5fd59c2a1","entry":"ellip_filter","repo":"loadingbyte/timexplain","repo_kind":"official","path":"timexplain/om/_freqdice.py","file_url":"https://github.com/loadingbyte/timexplain/blob/HEAD/timexplain/om/_freqdice.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":"941e9be5fd59c2a1"}},{"code_sha256_prefix":"412b65f1aa7abd97","entry":"firls_filter","repo":"loadingbyte/timexplain","repo_kind":"official","path":"timexplain/om/_freqdice.py","file_url":"https://github.com/loadingbyte/timexplain/blob/HEAD/timexplain/om/_freqdice.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":"412b65f1aa7abd97"}},{"code_sha256_prefix":"8a166ad6dd2c90b6","entry":"is_iterable","repo":"loadingbyte/timexplain","repo_kind":"official","path":"timexplain/_utils.py","file_url":"https://github.com/loadingbyte/timexplain/blob/HEAD/timexplain/_utils.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":"8a166ad6dd2c90b6"}},{"code_sha256_prefix":"b80a115b1f59553e","entry":"stats_global","repo":"loadingbyte/timexplain","repo_kind":"official","path":"timexplain/om/_statistic.py","file_url":"https://github.com/loadingbyte/timexplain/blob/HEAD/timexplain/om/_statistic.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":"b80a115b1f59553e"}},{"code_sha256_prefix":"710c6b6b5c7cc0e8","entry":"stats_sample","repo":"loadingbyte/timexplain","repo_kind":"official","path":"timexplain/om/_statistic.py","file_url":"https://github.com/loadingbyte/timexplain/blob/HEAD/timexplain/om/_statistic.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":"710c6b6b5c7cc0e8"}},{"code_sha256_prefix":"9b9c5eb3e05f686f","entry":"take_if_deep","repo":"loadingbyte/timexplain","repo_kind":"official","path":"timexplain/_utils.py","file_url":"https://github.com/loadingbyte/timexplain/blob/HEAD/timexplain/_utils.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":"9b9c5eb3e05f686f"}},{"code_sha256_prefix":"613705235f8996c8","entry":"x_global_mean","repo":"loadingbyte/timexplain","repo_kind":"official","path":"timexplain/om/_surrogate.py","file_url":"https://github.com/loadingbyte/timexplain/blob/HEAD/timexplain/om/_surrogate.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":"613705235f8996c8"}},{"code_sha256_prefix":"44814403dd425a00","entry":"x_local_mean","repo":"loadingbyte/timexplain","repo_kind":"official","path":"timexplain/om/_surrogate.py","file_url":"https://github.com/loadingbyte/timexplain/blob/HEAD/timexplain/om/_surrogate.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":"44814403dd425a00"}},{"code_sha256_prefix":"22dc74709b0cfc96","entry":"x_zero","repo":"loadingbyte/timexplain","repo_kind":"official","path":"timexplain/om/_surrogate.py","file_url":"https://github.com/loadingbyte/timexplain/blob/HEAD/timexplain/om/_surrogate.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":"22dc74709b0cfc96"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}