{"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/root-cause-analysis-of-outliers-with-missing","title":"Root Cause Analysis of Outliers with Missing Structural Knowledge","arxiv_id":"2406.05014","date":"2024-06-07","proceeding":null,"authors":["Nastaran Okati","Sergio Hernan Garrido Mejia","William Roy Orchard","Patrick Blöbaum","Dominik Janzing"],"abstract":"Recent work conceptualized root cause analysis (RCA) of anomalies via quantitative contribution analysis using causal counterfactuals in structural causal models (SCMs).The framework comes with three practical challenges: (1) it requires the causal directed acyclic graph (DAG), together with an SCM, (2) it is statistically ill-posed since it probes regression models in regions of low probability density, (3) it relies on Shapley values which are computationally expensive to find. In this paper, we propose simplified, efficient methods of root cause analysis when the task is to identify a unique root cause instead of quantitative contribution analysis. Our proposed methods run in linear order of SCM nodes and they require only the causal DAG without counterfactuals. Furthermore, for those use cases where the causal DAG is unknown, we justify the heuristic of identifying root causes as the variables with the highest anomaly score. To this end, we prove that anomalies with small scores are unlikely to cause those with large scores and show upper bounds for the likelihood of causal pathways with non-monotonic anomaly scores.","url_abs":"https://arxiv.org/abs/2406.05014v2","url_pdf":"https://arxiv.org/pdf/2406.05014v2.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":[],"tasks":[],"methods":[{"method_slug":"counterfactuals","method_name":"Counterfactuals"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.05014","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.05014"}},"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":"deterministic:regex_extraction","url":"https://github.com/amazon-science/RCAWithMissingStructuralKnowledgeCode","reach":null}],"summary":{"ran_fixture":1,"ran_honours":1,"ran_violates":1},"by_repo_kind":{"found_in_text":{"samples":3,"ran":3,"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":"37c9d087cd0e869f","entry":"get_aberrant_thresholds","repo":"amazon-science/RCAWithMissingStructuralKnowledgeCode","repo_kind":"found_in_text","path":"algorithms/RootCauseDiscovery/funcs/root_cause_discovery_funcs.py","file_url":"https://github.com/amazon-science/RCAWithMissingStructuralKnowledgeCode/blob/HEAD/algorithms/RootCauseDiscovery/funcs/root_cause_discovery_funcs.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"37c9d087cd0e869f"}},{"code_sha256_prefix":"23c26788acf4be0d","entry":"zscore","repo":"amazon-science/RCAWithMissingStructuralKnowledgeCode","repo_kind":"found_in_text","path":"algorithms/RootCauseDiscovery/funcs/root_cause_discovery_funcs.py","file_url":"https://github.com/amazon-science/RCAWithMissingStructuralKnowledgeCode/blob/HEAD/algorithms/RootCauseDiscovery/funcs/root_cause_discovery_funcs.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"23c26788acf4be0d"}},{"code_sha256_prefix":"ed1bca19bfdb142f","entry":"zscore_vec","repo":"amazon-science/RCAWithMissingStructuralKnowledgeCode","repo_kind":"found_in_text","path":"algorithms/RootCauseDiscovery/funcs/root_cause_discovery_funcs.py","file_url":"https://github.com/amazon-science/RCAWithMissingStructuralKnowledgeCode/blob/HEAD/algorithms/RootCauseDiscovery/funcs/root_cause_discovery_funcs.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ed1bca19bfdb142f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}