{"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/discovering-state-variables-hidden-in","title":"Discovering State Variables Hidden in Experimental Data","arxiv_id":"2112.10755","date":"2021-12-20","proceeding":null,"authors":["Boyuan Chen","Kuang Huang","Sunand Raghupathi","Ishaan Chandratreya","Qiang Du","Hod Lipson"],"abstract":"All physical laws are described as relationships between state variables that give a complete and non-redundant description of the relevant system dynamics. However, despite the prevalence of computing power and AI, the process of identifying the hidden state variables themselves has resisted automation. Most data-driven methods for modeling physical phenomena still assume that observed data streams already correspond to relevant state variables. A key challenge is to identify the possible sets of state variables from scratch, given only high-dimensional observational data. Here we propose a new principle for determining how many state variables an observed system is likely to have, and what these variables might be, directly from video streams. We demonstrate the effectiveness of this approach using video recordings of a variety of physical dynamical systems, ranging from elastic double pendulums to fire flames. Without any prior knowledge of the underlying physics, our algorithm discovers the intrinsic dimension of the observed dynamics and identifies candidate sets of state variables. We suggest that this approach could help catalyze the understanding, prediction and control of increasingly complex systems. Project website is at: https://www.cs.columbia.edu/~bchen/neural-state-variables","url_abs":"https://arxiv.org/abs/2112.10755v1","url_pdf":"https://arxiv.org/pdf/2112.10755v1.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":"discovering-state-variables-hidden-in","repo_url":"https://github.com/boyuanchen/neural-state-variables","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"symbolic-regression","task_name":"Symbolic Regression"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2112.10755","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2112.10755"}},"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/boyuanchen/neural-state-variables","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":16},"by_repo_kind":{"listed":{"samples":16,"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":"eeb2a958d02454d6","entry":"Levina_Bickel","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"analysis/intrinsic_dimension_estimation/methods.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/analysis/intrinsic_dimension_estimation/methods.py","link_basis":"harvester_set","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":"eeb2a958d02454d6"}},{"code_sha256_prefix":"7dcb87b4d75248ae","entry":"MiND_ML","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"analysis/intrinsic_dimension_estimation/methods.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/analysis/intrinsic_dimension_estimation/methods.py","link_basis":"harvester_set","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":"7dcb87b4d75248ae"}},{"code_sha256_prefix":"fbfc342e7b9a5189","entry":"calc_diff","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"analysis/eval_phys_long_term_pred.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/analysis/eval_phys_long_term_pred.py","link_basis":"harvester_set","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":"fbfc342e7b9a5189"}},{"code_sha256_prefix":"6679a3f91469883d","entry":"calc_pixel_MSE","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"analysis/eval_phys_long_term_pred.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/analysis/eval_phys_long_term_pred.py","link_basis":"harvester_set","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":"6679a3f91469883d"}},{"code_sha256_prefix":"46ba4acd6bbd70c0","entry":"conv2d_bn_relu","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"model_utils.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/model_utils.py","link_basis":"harvester_set","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":"46ba4acd6bbd70c0"}},{"code_sha256_prefix":"f26e52bbca087627","entry":"conv2d_bn_sigmoid","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"model_utils.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/model_utils.py","link_basis":"harvester_set","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":"f26e52bbca087627"}},{"code_sha256_prefix":"f2f14d9162d07332","entry":"deconv_sigmoid","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"model_utils.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/model_utils.py","link_basis":"harvester_set","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":"f2f14d9162d07332"}},{"code_sha256_prefix":"751932a9358f78aa","entry":"get_data","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"pred.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/pred.py","link_basis":"harvester_set","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":"751932a9358f78aa"}},{"code_sha256_prefix":"3796a854828f92ed","entry":"kNN","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"analysis/intrinsic_dimension_estimation/methods.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/analysis/intrinsic_dimension_estimation/methods.py","link_basis":"harvester_set","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":"3796a854828f92ed"}},{"code_sha256_prefix":"7c7ae248e2910b9d","entry":"light_color","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"utils/common.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/utils/common.py","link_basis":"harvester_set","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":"7c7ae248e2910b9d"}},{"code_sha256_prefix":"cbbf6e45e2f6ff75","entry":"load_config","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"pred.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/pred.py","link_basis":"harvester_set","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":"cbbf6e45e2f6ff75"}},{"code_sha256_prefix":"0e2d80b719f2250b","entry":"parse_data_id","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"analysis/eval_regression.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/analysis/eval_regression.py","link_basis":"harvester_set","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":"0e2d80b719f2250b"}},{"code_sha256_prefix":"2d6d930f5b3dead0","entry":"physical_variables_from_data_ids","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"analysis/eval_regression.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/analysis/eval_regression.py","link_basis":"harvester_set","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":"2d6d930f5b3dead0"}},{"code_sha256_prefix":"f4e725fbf11428c2","entry":"remove_duplicates","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"analysis/eval_intrinsic_dimension.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/analysis/eval_intrinsic_dimension.py","link_basis":"harvester_set","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":"f4e725fbf11428c2"}},{"code_sha256_prefix":"faf47cf1a0889190","entry":"rename_ckpt_for_multi_models","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"models_latentpred.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/models_latentpred.py","link_basis":"harvester_set","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":"faf47cf1a0889190"}},{"code_sha256_prefix":"df9f9701b430b903","entry":"rename_ckpt_for_multi_models","repo":"boyuanchen/neural-state-variables","repo_kind":"listed","path":"pred.py","file_url":"https://github.com/boyuanchen/neural-state-variables/blob/HEAD/pred.py","link_basis":"harvester_set","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":"df9f9701b430b903"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}