{"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/deep-copula-based-survival-analysis-for","title":"Deep Copula-Based Survival Analysis for Dependent Censoring with Identifiability Guarantees","arxiv_id":"2312.15566","date":"2023-12-24","proceeding":null,"authors":["Weijia Zhang","Chun Kai Ling","Xuanhui Zhang"],"abstract":"Censoring is the central problem in survival analysis where either the time-to-event (for instance, death), or the time-tocensoring (such as loss of follow-up) is observed for each sample. The majority of existing machine learning-based survival analysis methods assume that survival is conditionally independent of censoring given a set of covariates; an assumption that cannot be verified since only marginal distributions is available from the data. The existence of dependent censoring, along with the inherent bias in current estimators has been demonstrated in a variety of applications, accentuating the need for a more nuanced approach. However, existing methods that adjust for dependent censoring require practitioners to specify the ground truth copula. This requirement poses a significant challenge for practical applications, as model misspecification can lead to substantial bias. In this work, we propose a flexible deep learning-based survival analysis method that simultaneously accommodate for dependent censoring and eliminates the requirement for specifying the ground truth copula. We theoretically prove the identifiability of our model under a broad family of copulas and survival distributions. Experiments results from a wide range of datasets demonstrate that our approach successfully discerns the underlying dependency structure and significantly reduces survival estimation bias when compared to existing methods.","url_abs":"https://arxiv.org/abs/2312.15566v4","url_pdf":"https://arxiv.org/pdf/2312.15566v4.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":"deep-copula-based-survival-analysis-for","repo_url":"https://github.com/weijiazhang24/dcsurvival","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"survival-analysis","task_name":"Survival Analysis"}],"methods":[{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2312.15566","atlas_url":"https://app.syntology.ai/?focus=2312.15566","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2312.15566"}},"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/weijiazhang24/dcsurvival","reach":{"status":"ok"}}],"summary":{"ran":13,"unverified":6},"by_repo_kind":{"official":{"samples":19,"ran":13,"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":19,"samples":[{"code_sha256_prefix":"ce3510af3e2e42d8","entry":"C_index","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"metrics/metric.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/metrics/metric.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":"ce3510af3e2e42d8"}},{"code_sha256_prefix":"54147b308c6813d1","entry":"DIV","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"model/oracle_net.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/model/oracle_net.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"54147b308c6813d1"}},{"code_sha256_prefix":"00aafa76d52a487f","entry":"Survival","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"metrics/metric_sksurv.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/metrics/metric_sksurv.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":"00aafa76d52a487f"}},{"code_sha256_prefix":"e5b1c9b1af995cfe","entry":"create_representation","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"nde.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/nde.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":"e5b1c9b1af995cfe"}},{"code_sha256_prefix":"7fba6a30b5b91936","entry":"create_representation_positive","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"nde.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/nde.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":"7fba6a30b5b91936"}},{"code_sha256_prefix":"a06abbc6c2dae367","entry":"inverse_transform","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"synthetic_dgp.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/synthetic_dgp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a06abbc6c2dae367"}},{"code_sha256_prefix":"fd5182cd4763d9dc","entry":"linear_dgp","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"synthetic_dgp.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/synthetic_dgp.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":"fd5182cd4763d9dc"}},{"code_sha256_prefix":"675e226d754bcbeb","entry":"log_clayton_partial_u","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"model/oracle_net.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/model/oracle_net.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"675e226d754bcbeb"}},{"code_sha256_prefix":"5fb9d8fdf68dde58","entry":"log_density","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"survival.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/survival.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":"5fb9d8fdf68dde58"}},{"code_sha256_prefix":"fbffaede87b84139","entry":"log_survival","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"survival.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/survival.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fbffaede87b84139"}},{"code_sha256_prefix":"8ea8283439b91452","entry":"surv_diff","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"metrics/metric.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/metrics/metric.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":"8ea8283439b91452"}},{"code_sha256_prefix":"5de6c690a462a26c","entry":"surv_diff","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"metrics/metric_sksurv.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/metrics/metric_sksurv.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":"5de6c690a462a26c"}},{"code_sha256_prefix":"0203f3aa16887432","entry":"survival","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"survival.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/survival.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":"0203f3aa16887432"}},{"code_sha256_prefix":"30b6ce813c8b878c","entry":"LOG","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"model/oracle_net.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/model/oracle_net.py","link_basis":"harvester_set","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":"30b6ce813c8b878c"}},{"code_sha256_prefix":"b072d214fef5b33d","entry":"Survival","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"metrics/metric.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/metrics/metric.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":"b072d214fef5b33d"}},{"code_sha256_prefix":"f994e17d7fe8ac28","entry":"Survival","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"metrics/metric_pycox.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/metrics/metric_pycox.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":"f994e17d7fe8ac28"}},{"code_sha256_prefix":"67d2a873c8c8fcd0","entry":"sine","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"model/truth_net.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/model/truth_net.py","link_basis":"harvester_set","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":"67d2a873c8c8fcd0"}},{"code_sha256_prefix":"b3dc17f44ecaef82","entry":"surv_diff","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"metrics/metric_pycox.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/metrics/metric_pycox.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":"b3dc17f44ecaef82"}},{"code_sha256_prefix":"67c620a7172fb3c6","entry":"total_loss","repo":"weijiazhang24/dcsurvival","repo_kind":"official","path":"nde.py","file_url":"https://github.com/weijiazhang24/dcsurvival/blob/HEAD/nde.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":"67c620a7172fb3c6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}