{"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/a-generalised-signature-method-for-time","title":"A Generalised Signature Method for Multivariate Time Series Feature Extraction","arxiv_id":"2006.00873","date":"2020-06-01","proceeding":null,"authors":["James Morrill","Adeline Fermanian","Patrick Kidger","Terry Lyons"],"abstract":"The 'signature method' refers to a collection of feature extraction techniques for multivariate time series, derived from the theory of controlled differential equations. There is a great deal of flexibility as to how this method can be applied. On the one hand, this flexibility allows the method to be tailored to specific problems, but on the other hand, can make precise application challenging. This paper makes two contributions. First, the variations on the signature method are unified into a general approach, the \\emph{generalised signature method}, of which previous variations are special cases. A primary aim of this unifying framework is to make the signature method more accessible to any machine learning practitioner, whereas it is now mostly used by specialists. Second, and within this framework, we derive a canonical collection of choices that provide a domain-agnostic starting point. We derive these choices as a result of an extensive empirical study on 26 datasets and go on to show competitive performance against current benchmarks for multivariate time series classification. Finally, to ease practical application, we make our techniques available as part of the open-source [redacted] project.","url_abs":"https://arxiv.org/abs/2006.00873v2","url_pdf":"https://arxiv.org/pdf/2006.00873v2.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":"a-generalised-signature-method-for-time","repo_url":"https://github.com/jambo6/generalised-signature-method","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"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"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2006.00873","atlas_url":"https://app.syntology.ai/?focus=2006.00873","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.00873"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/jambo6/generalised-signature-method","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":11},"by_repo_kind":{"official":{"samples":11,"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":"8fe071dc8bdf1463","entry":"check_run_existence","repo":"jambo6/generalised-signature-method","repo_kind":"official","path":"experiments/utils.py","file_url":"https://github.com/jambo6/generalised-signature-method/blob/HEAD/experiments/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":"8fe071dc8bdf1463"}},{"code_sha256_prefix":"951e854ee3f4793f","entry":"dataloader","repo":"jambo6/generalised-signature-method","repo_kind":"official","path":"get_data/speech_commands.py","file_url":"https://github.com/jambo6/generalised-signature-method/blob/HEAD/get_data/speech_commands.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":"951e854ee3f4793f"}},{"code_sha256_prefix":"88463827f9058e38","entry":"extract_config","repo":"jambo6/generalised-signature-method","repo_kind":"official","path":"experiments/utils.py","file_url":"https://github.com/jambo6/generalised-signature-method/blob/HEAD/experiments/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":"88463827f9058e38"}},{"code_sha256_prefix":"9819e87bcbc98715","entry":"get_run_nums","repo":"jambo6/generalised-signature-method","repo_kind":"official","path":"experiments/utils.py","file_url":"https://github.com/jambo6/generalised-signature-method/blob/HEAD/experiments/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":"9819e87bcbc98715"}},{"code_sha256_prefix":"146aa98504ffd9c4","entry":"load_data","repo":"jambo6/generalised-signature-method","repo_kind":"official","path":"get_data/speech_commands.py","file_url":"https://github.com/jambo6/generalised-signature-method/blob/HEAD/get_data/speech_commands.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":"146aa98504ffd9c4"}},{"code_sha256_prefix":"553f187d34cf6171","entry":"main","repo":"jambo6/generalised-signature-method","repo_kind":"official","path":"get_data/human_activity.py","file_url":"https://github.com/jambo6/generalised-signature-method/blob/HEAD/get_data/human_activity.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":"553f187d34cf6171"}},{"code_sha256_prefix":"1150e4ebef5268ce","entry":"read_file_data","repo":"jambo6/generalised-signature-method","repo_kind":"official","path":"get_data/human_activity.py","file_url":"https://github.com/jambo6/generalised-signature-method/blob/HEAD/get_data/human_activity.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":"1150e4ebef5268ce"}},{"code_sha256_prefix":"6568932e212bb143","entry":"rescale_path","repo":"jambo6/generalised-signature-method","repo_kind":"official","path":"src/models/rescaling.py","file_url":"https://github.com/jambo6/generalised-signature-method/blob/HEAD/src/models/rescaling.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":"6568932e212bb143"}},{"code_sha256_prefix":"5bacf04bb81eed9d","entry":"rescale_path_by_length","repo":"jambo6/generalised-signature-method","repo_kind":"official","path":"src/models/rescaling.py","file_url":"https://github.com/jambo6/generalised-signature-method/blob/HEAD/src/models/rescaling.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":"5bacf04bb81eed9d"}},{"code_sha256_prefix":"39ae76dc29320765","entry":"split_data","repo":"jambo6/generalised-signature-method","repo_kind":"official","path":"get_data/speech_commands.py","file_url":"https://github.com/jambo6/generalised-signature-method/blob/HEAD/get_data/speech_commands.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":"39ae76dc29320765"}},{"code_sha256_prefix":"68f8c83ee17f85bc","entry":"window_getter","repo":"jambo6/generalised-signature-method","repo_kind":"official","path":"src/features/window.py","file_url":"https://github.com/jambo6/generalised-signature-method/blob/HEAD/src/features/window.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":"68f8c83ee17f85bc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}