{"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/causal-temporal-representation-learning-with","title":"Causal Temporal Representation Learning with Nonstationary Sparse Transition","arxiv_id":"2409.03142","date":"2024-09-05","proceeding":null,"authors":["Xiangchen Song","Zijian Li","Guangyi Chen","Yujia Zheng","Yewen Fan","Xinshuai Dong","Kun Zhang"],"abstract":"Causal Temporal Representation Learning (Ctrl) methods aim to identify the temporal causal dynamics of complex nonstationary temporal sequences. Despite the success of existing Ctrl methods, they require either directly observing the domain variables or assuming a Markov prior on them. Such requirements limit the application of these methods in real-world scenarios when we do not have such prior knowledge of the domain variables. To address this problem, this work adopts a sparse transition assumption, aligned with intuitive human understanding, and presents identifiability results from a theoretical perspective. In particular, we explore under what conditions on the significance of the variability of the transitions we can build a model to identify the distribution shifts. Based on the theoretical result, we introduce a novel framework, Causal Temporal Representation Learning with Nonstationary Sparse Transition (CtrlNS), designed to leverage the constraints on transition sparsity and conditional independence to reliably identify both distribution shifts and latent factors. Our experimental evaluations on synthetic and real-world datasets demonstrate significant improvements over existing baselines, highlighting the effectiveness of our approach.","url_abs":"https://arxiv.org/abs/2409.03142v1","url_pdf":"https://arxiv.org/pdf/2409.03142v1.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":"causal-temporal-representation-learning-with","repo_url":"https://github.com/xiangchensong/ctrlns","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"temporal-sequences","task_name":"Temporal Sequences"}],"methods":[{"method_slug":"adagrad","method_name":"AdaGrad"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"ctrl","method_name":"CTRL"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"gradient-clipping","method_name":"Gradient Clipping"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"linear-warmup","method_name":"Linear Warmup"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2409.03142","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2409.03142"}},"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/xiangchensong/ctrlns","reach":{"status":"ok"}}],"summary":{"ran":5,"ran_draft_wrong":2,"unverified":2},"by_repo_kind":{"official":{"samples":9,"ran":7,"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":9,"samples":[{"code_sha256_prefix":"1faa8b8bebc32849","entry":"compute_acc","repo":"xiangchensong/ctrlns","repo_kind":"official","path":"models/metrics/hmm_metrics.py","file_url":"https://github.com/xiangchensong/ctrlns/blob/HEAD/models/metrics/hmm_metrics.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1faa8b8bebc32849"}},{"code_sha256_prefix":"bf935f17ec3dc608","entry":"compute_min_A_err","repo":"xiangchensong/ctrlns","repo_kind":"official","path":"models/metrics/hmm_metrics.py","file_url":"https://github.com/xiangchensong/ctrlns/blob/HEAD/models/metrics/hmm_metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bf935f17ec3dc608"}},{"code_sha256_prefix":"827f9b4cbb75fb51","entry":"create_transition_matrix_and_stationary_distribution","repo":"xiangchensong/ctrlns","repo_kind":"official","path":"datasets/generate_data.py","file_url":"https://github.com/xiangchensong/ctrlns/blob/HEAD/datasets/generate_data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"827f9b4cbb75fb51"}},{"code_sha256_prefix":"60f32cea809132df","entry":"make_cost_matrix","repo":"xiangchensong/ctrlns","repo_kind":"official","path":"models/metrics/munkres.py","file_url":"https://github.com/xiangchensong/ctrlns/blob/HEAD/models/metrics/munkres.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"60f32cea809132df"}},{"code_sha256_prefix":"3188157d3b1c95e6","entry":"reparametrize","repo":"xiangchensong/ctrlns","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/xiangchensong/ctrlns/blob/HEAD/models/utils.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3188157d3b1c95e6"}},{"code_sha256_prefix":"ebc01db70135622d","entry":"sample_batched_visited_states","repo":"xiangchensong/ctrlns","repo_kind":"official","path":"datasets/generate_data.py","file_url":"https://github.com/xiangchensong/ctrlns/blob/HEAD/datasets/generate_data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ebc01db70135622d"}},{"code_sha256_prefix":"e09612ba58b8271b","entry":"simulate_markov_chain","repo":"xiangchensong/ctrlns","repo_kind":"official","path":"datasets/generate_data.py","file_url":"https://github.com/xiangchensong/ctrlns/blob/HEAD/datasets/generate_data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e09612ba58b8271b"}},{"code_sha256_prefix":"7e309c7f89489fdf","entry":"compute_mcc","repo":"xiangchensong/ctrlns","repo_kind":"official","path":"models/metrics/correlation.py","file_url":"https://github.com/xiangchensong/ctrlns/blob/HEAD/models/metrics/correlation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7e309c7f89489fdf"}},{"code_sha256_prefix":"2eeae371f67211e4","entry":"correlation","repo":"xiangchensong/ctrlns","repo_kind":"official","path":"models/metrics/correlation.py","file_url":"https://github.com/xiangchensong/ctrlns/blob/HEAD/models/metrics/correlation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2eeae371f67211e4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}