{"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/manifold-constrained-gaussian-process","title":"Manifold-constrained Gaussian process inference for time-varying parameters in dynamic systems","arxiv_id":"2105.13407","date":"2021-05-27","proceeding":null,"authors":["Yan Sun","Shihao Yang"],"abstract":"Identification of parameters in ordinary differential equations (ODEs) is an important and challenging task when modeling dynamic systems in biomedical research and other scientific areas, especially with the presence of time-varying parameters. This article proposes a fast and accurate method, TVMAGI (Time-Varying MAnifold-constrained Gaussian process Inference), to estimate both time-constant and time-varying parameters in the ODE using noisy and sparse observation data. TVMAGI imposes a Gaussian process model over the time series of system components as well as time-varying parameters, and restricts the derivative process to satisfy ODE conditions. Consequently, TVMAGI completely bypasses numerical integration and achieves substantial savings in computation time. By incorporating the ODE structures through manifold constraints, TVMAGI enjoys a principled statistical construct under the Bayesian paradigm, which further enables it to handle systems with missing data or unobserved components. The Gaussian process prior also alleviates the identifiability issue often associated with the time-varying parameters in ODE. Unlike existing approaches, TVMAGI can be applied to general nonlinear systems without specific structural assumptions. Three simulation examples, including an infectious disease compartmental model, are provided to illustrate the robustness and efficiency of our method compared with numerical integration and Bayesian filtering methods.","url_abs":"https://arxiv.org/abs/2105.13407v2","url_pdf":"https://arxiv.org/pdf/2105.13407v2.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":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"manifold-constrained-gaussian-process","repo_url":"https://github.com/canadasunyan/tvmagi","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2105.13407","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.13407"}},"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/canadasunyan/tvmagi","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"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":"4d8d5a544f9adbd7","entry":"GPTrain","repo":"canadasunyan/tvmagi","repo_kind":"official","path":"package/gpm.py","file_url":"https://github.com/canadasunyan/tvmagi/blob/HEAD/package/gpm.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":"4d8d5a544f9adbd7"}},{"code_sha256_prefix":"481cc0af8df8391f","entry":"devectorize","repo":"canadasunyan/tvmagi","repo_kind":"official","path":"package/TVMAGI_HMC.py","file_url":"https://github.com/canadasunyan/tvmagi/blob/HEAD/package/TVMAGI_HMC.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":"481cc0af8df8391f"}},{"code_sha256_prefix":"2db5d627e7e8c629","entry":"get_dim","repo":"canadasunyan/tvmagi","repo_kind":"official","path":"package/TVMAGI_HMC.py","file_url":"https://github.com/canadasunyan/tvmagi/blob/HEAD/package/TVMAGI_HMC.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":"2db5d627e7e8c629"}},{"code_sha256_prefix":"17c145320ce5116a","entry":"pointwisethetasigmallikTorch","repo":"canadasunyan/tvmagi","repo_kind":"official","path":"package/pointwise_MAGI.py","file_url":"https://github.com/canadasunyan/tvmagi/blob/HEAD/package/pointwise_MAGI.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":"17c145320ce5116a"}},{"code_sha256_prefix":"d01e8eff2a168c5d","entry":"to_band","repo":"canadasunyan/tvmagi","repo_kind":"official","path":"package/gpm.py","file_url":"https://github.com/canadasunyan/tvmagi/blob/HEAD/package/gpm.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":"d01e8eff2a168c5d"}},{"code_sha256_prefix":"7830145d6e8c84b2","entry":"vectorize","repo":"canadasunyan/tvmagi","repo_kind":"official","path":"package/TVMAGI_HMC.py","file_url":"https://github.com/canadasunyan/tvmagi/blob/HEAD/package/TVMAGI_HMC.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":"7830145d6e8c84b2"}},{"code_sha256_prefix":"fef12812be650537","entry":"xthetasigmallikTorch","repo":"canadasunyan/tvmagi","repo_kind":"official","path":"package/TV_MAGI.py","file_url":"https://github.com/canadasunyan/tvmagi/blob/HEAD/package/TV_MAGI.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":"fef12812be650537"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}