{"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/dynamical-wasserstein-barycenters-for-time","title":"Dynamical Wasserstein Barycenters for Time-series Modeling","arxiv_id":"2110.06741","date":"2021-10-13","proceeding":"NeurIPS 2021 12","authors":["Kevin C. Cheng","Shuchin Aeron","Michael C. Hughes","Eric L. Miller"],"abstract":"Many time series can be modeled as a sequence of segments representing high-level discrete states, such as running and walking in a human activity application. Flexible models should describe the system state and observations in stationary \"pure-state\" periods as well as transition periods between adjacent segments, such as a gradual slowdown between running and walking. However, most prior work assumes instantaneous transitions between pure discrete states. We propose a dynamical Wasserstein barycentric (DWB) model that estimates the system state over time as well as the data-generating distributions of pure states in an unsupervised manner. Our model assumes each pure state generates data from a multivariate normal distribution, and characterizes transitions between states via displacement-interpolation specified by the Wasserstein barycenter. The system state is represented by a barycentric weight vector which evolves over time via a random walk on the simplex. Parameter learning leverages the natural Riemannian geometry of Gaussian distributions under the Wasserstein distance, which leads to improved convergence speeds. Experiments on several human activity datasets show that our proposed DWB model accurately learns the generating distribution of pure states while improving state estimation for transition periods compared to the commonly used linear interpolation mixture models.","url_abs":"https://arxiv.org/abs/2110.06741v3","url_pdf":"https://arxiv.org/pdf/2110.06741v3.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":"dynamical-wasserstein-barycenters-for-time","repo_url":"https://github.com/kevin-c-cheng/dynamicalwassbarycenters_gaussian","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"state-estimation","task_name":"State Estimation"},{"task_slug":"time-series-1","task_name":"Time Series"},{"task_slug":"time-series","task_name":"Time Series Analysis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2110.06741","atlas_url":"https://app.syntology.ai/?focus=2110.06741","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.06741"}},"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/kevin-c-cheng/dynamicalwassbarycenters_gaussian","reach":null}],"summary":{"ran_fixture":2,"ran":3,"ran_draft_wrong":2,"ran_honours":1,"unverified":3},"by_repo_kind":{"official":{"samples":11,"ran":8,"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":"586618a9e6f611d5","entry":"ComputeOtDistance","repo":"kevin-c-cheng/dynamicalwassbarycenters_gaussian","repo_kind":"official","path":"python/DynamicalWassersteinBarycenters.py","file_url":"https://github.com/kevin-c-cheng/dynamicalwassbarycenters_gaussian/blob/HEAD/python/DynamicalWassersteinBarycenters.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"586618a9e6f611d5"}},{"code_sha256_prefix":"c52a9200499e78ec","entry":"Euclidean","repo":"kevin-c-cheng/dynamicalwassbarycenters_gaussian","repo_kind":"official","path":"python/DynamicalWassersteinBarycenters.py","file_url":"https://github.com/kevin-c-cheng/dynamicalwassbarycenters_gaussian/blob/HEAD/python/DynamicalWassersteinBarycenters.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":"c52a9200499e78ec"}},{"code_sha256_prefix":"9c0c35f73ef32cb0","entry":"GaussGmm_WassDist_MonteCarlo","repo":"kevin-c-cheng/dynamicalwassbarycenters_gaussian","repo_kind":"official","path":"python/DynamicalWassersteinBarycenters.py","file_url":"https://github.com/kevin-c-cheng/dynamicalwassbarycenters_gaussian/blob/HEAD/python/DynamicalWassersteinBarycenters.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9c0c35f73ef32cb0"}},{"code_sha256_prefix":"7353eca569c367be","entry":"LogGammaLiklihoodBimodalAB","repo":"kevin-c-cheng/dynamicalwassbarycenters_gaussian","repo_kind":"official","path":"python/DynamicalWassersteinBarycenters.py","file_url":"https://github.com/kevin-c-cheng/dynamicalwassbarycenters_gaussian/blob/HEAD/python/DynamicalWassersteinBarycenters.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7353eca569c367be"}},{"code_sha256_prefix":"1d9640fb8ba4b864","entry":"MatrixMultiply","repo":"kevin-c-cheng/dynamicalwassbarycenters_gaussian","repo_kind":"official","path":"python/DynamicalWassersteinBarycenters.py","file_url":"https://github.com/kevin-c-cheng/dynamicalwassbarycenters_gaussian/blob/HEAD/python/DynamicalWassersteinBarycenters.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1d9640fb8ba4b864"}},{"code_sha256_prefix":"5740175826bc0fc7","entry":"StateEvolutionDynamics","repo":"kevin-c-cheng/dynamicalwassbarycenters_gaussian","repo_kind":"official","path":"python/DynamicalWassersteinBarycenters.py","file_url":"https://github.com/kevin-c-cheng/dynamicalwassbarycenters_gaussian/blob/HEAD/python/DynamicalWassersteinBarycenters.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5740175826bc0fc7"}},{"code_sha256_prefix":"527ecdff05f0481f","entry":"WassersteinBuresPSDManifold","repo":"kevin-c-cheng/dynamicalwassbarycenters_gaussian","repo_kind":"official","path":"python/DynamicalWassersteinBarycenters.py","file_url":"https://github.com/kevin-c-cheng/dynamicalwassbarycenters_gaussian/blob/HEAD/python/DynamicalWassersteinBarycenters.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":"527ecdff05f0481f"}},{"code_sha256_prefix":"291c2ed47ba77eff","entry":"WassersteinPSD","repo":"kevin-c-cheng/dynamicalwassbarycenters_gaussian","repo_kind":"official","path":"python/DynamicalWassersteinBarycenters.py","file_url":"https://github.com/kevin-c-cheng/dynamicalwassbarycenters_gaussian/blob/HEAD/python/DynamicalWassersteinBarycenters.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":"291c2ed47ba77eff"}},{"code_sha256_prefix":"77355cb476b10572","entry":"GaussGmm_WassDist","repo":"kevin-c-cheng/dynamicalwassbarycenters_gaussian","repo_kind":"official","path":"python/DynamicalWassersteinBarycenters.py","file_url":"https://github.com/kevin-c-cheng/dynamicalwassbarycenters_gaussian/blob/HEAD/python/DynamicalWassersteinBarycenters.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":"77355cb476b10572"}},{"code_sha256_prefix":"e295d885416ebd1a","entry":"GaussWassDistance","repo":"kevin-c-cheng/dynamicalwassbarycenters_gaussian","repo_kind":"official","path":"python/DynamicalWassersteinBarycenters.py","file_url":"https://github.com/kevin-c-cheng/dynamicalwassbarycenters_gaussian/blob/HEAD/python/DynamicalWassersteinBarycenters.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":"e295d885416ebd1a"}},{"code_sha256_prefix":"85228c3f26d1a82b","entry":"TimeSeriesCost","repo":"kevin-c-cheng/dynamicalwassbarycenters_gaussian","repo_kind":"official","path":"python/DynamicalWassersteinBarycenters.py","file_url":"https://github.com/kevin-c-cheng/dynamicalwassbarycenters_gaussian/blob/HEAD/python/DynamicalWassersteinBarycenters.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":"85228c3f26d1a82b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}