{"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/extreme-deconvolution-inferring-complete","title":"Extreme deconvolution: Inferring complete distribution functions from noisy, heterogeneous and incomplete observations","arxiv_id":"0905.2979","date":"2009-05-19","proceeding":null,"authors":["Jo Bovy","David W. Hogg","Sam T. Roweis"],"abstract":"We generalize the well-known mixtures of Gaussians approach to density estimation and the accompanying Expectation--Maximization technique for finding the maximum likelihood parameters of the mixture to the case where each data point carries an individual $d$-dimensional uncertainty covariance and has unique missing data properties. This algorithm reconstructs the error-deconvolved or \"underlying\" distribution function common to all samples, even when the individual data points are samples from different distributions, obtained by convolving the underlying distribution with the heteroskedastic uncertainty distribution of the data point and projecting out the missing data directions. We show how this basic algorithm can be extended with conjugate priors on all of the model parameters and a \"split-and-merge\" procedure designed to avoid local maxima of the likelihood. We demonstrate the full method by applying it to the problem of inferring the three-dimensional velocity distribution of stars near the Sun from noisy two-dimensional, transverse velocity measurements from the Hipparcos satellite.","url_abs":"https://arxiv.org/abs/0905.2979v2","url_pdf":"https://arxiv.org/pdf/0905.2979v2.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":"extreme-deconvolution-inferring-complete","repo_url":"https://github.com/wm1995/tcup","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=0905.2979","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"0905.2979"}},"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/wm1995/tcup","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"listed":{"samples":6,"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":"d32d01f112aeb9a4","entry":"normality","repo":"wm1995/tcup","repo_kind":"listed","path":"src/tcup/utils.py","file_url":"https://github.com/wm1995/tcup/blob/HEAD/src/tcup/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":"d32d01f112aeb9a4"}},{"code_sha256_prefix":"5e1753ce9a89f904","entry":"pdf_inv_nu","repo":"wm1995/tcup","repo_kind":"listed","path":"src/tcup/priors.py","file_url":"https://github.com/wm1995/tcup/blob/HEAD/src/tcup/priors.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":"5e1753ce9a89f904"}},{"code_sha256_prefix":"093f1aea4f1354fa","entry":"pdf_invgamma","repo":"wm1995/tcup","repo_kind":"listed","path":"src/tcup/priors.py","file_url":"https://github.com/wm1995/tcup/blob/HEAD/src/tcup/priors.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":"093f1aea4f1354fa"}},{"code_sha256_prefix":"22016dcae4c816d3","entry":"pdf_peak_height","repo":"wm1995/tcup","repo_kind":"listed","path":"src/tcup/priors.py","file_url":"https://github.com/wm1995/tcup/blob/HEAD/src/tcup/priors.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":"22016dcae4c816d3"}},{"code_sha256_prefix":"736ffc44e8937c09","entry":"peak_height","repo":"wm1995/tcup","repo_kind":"listed","path":"src/tcup/utils.py","file_url":"https://github.com/wm1995/tcup/blob/HEAD/src/tcup/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":"736ffc44e8937c09"}},{"code_sha256_prefix":"9168998f5b5bc32a","entry":"t_cdf","repo":"wm1995/tcup","repo_kind":"listed","path":"src/tcup/utils.py","file_url":"https://github.com/wm1995/tcup/blob/HEAD/src/tcup/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":"9168998f5b5bc32a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}