{"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/ngboost-natural-gradient-boosting-for","title":"NGBoost: Natural Gradient Boosting for Probabilistic Prediction","arxiv_id":"1910.03225","date":"2019-10-08","proceeding":"ICML 2020 1","authors":["Tony Duan","Anand Avati","Daisy Yi Ding","Khanh K. Thai","Sanjay Basu","Andrew Y. Ng","Alejandro Schuler"],"abstract":"We present Natural Gradient Boosting (NGBoost), an algorithm for generic probabilistic prediction via gradient boosting. Typical regression models return a point estimate, conditional on covariates, but probabilistic regression models output a full probability distribution over the outcome space, conditional on the covariates. This allows for predictive uncertainty estimation -- crucial in applications like healthcare and weather forecasting. NGBoost generalizes gradient boosting to probabilistic regression by treating the parameters of the conditional distribution as targets for a multiparameter boosting algorithm. Furthermore, we show how the Natural Gradient is required to correct the training dynamics of our multiparameter boosting approach. NGBoost can be used with any base learner, any family of distributions with continuous parameters, and any scoring rule. NGBoost matches or exceeds the performance of existing methods for probabilistic prediction while offering additional benefits in flexibility, scalability, and usability. An open-source implementation is available at github.com/stanfordmlgroup/ngboost.","url_abs":"https://arxiv.org/abs/1910.03225v4","url_pdf":"https://arxiv.org/pdf/1910.03225v4.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":"ngboost-natural-gradient-boosting-for","repo_url":"https://github.com/stanfordmlgroup/ngboost","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"ngboost-natural-gradient-boosting-for","repo_url":"https://github.com/acca3003/ngboostR","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"ngboost-natural-gradient-boosting-for","repo_url":"https://github.com/nyk510/simple-ngboost","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"ngboost-natural-gradient-boosting-for","repo_url":"https://github.com/ryan-wolbeck/ngboost-tuner","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":"weather-forecasting","task_name":"Weather Forecasting"},{"task_slug":"regression-1","task_name":"regression"},{"task_slug":"scoring-rule","task_name":"scoring rule"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1910.03225","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1910.03225"}},"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/ryan-wolbeck/ngboost-tuner","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/nyk510/simple-ngboost","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/stanfordmlgroup/ngboost","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/acca3003/ngboostR","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":5,"ran":0,"repositories":1},"listed":{"samples":1,"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":"be7b35ce491a9b3d","entry":"Y_from_censored","repo":"stanfordmlgroup/ngboost","repo_kind":"official","path":"ngboost/helpers.py","file_url":"https://github.com/stanfordmlgroup/ngboost/blob/HEAD/ngboost/helpers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"be7b35ce491a9b3d"}},{"code_sha256_prefix":"f3f56ca7fbf6fcdb","entry":"calculate_calib_error","repo":"stanfordmlgroup/ngboost","repo_kind":"official","path":"ngboost/evaluation.py","file_url":"https://github.com/stanfordmlgroup/ngboost/blob/HEAD/ngboost/evaluation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f3f56ca7fbf6fcdb"}},{"code_sha256_prefix":"c934da5d54f71a8b","entry":"calibration_regression","repo":"stanfordmlgroup/ngboost","repo_kind":"official","path":"ngboost/evaluation.py","file_url":"https://github.com/stanfordmlgroup/ngboost/blob/HEAD/ngboost/evaluation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c934da5d54f71a8b"}},{"code_sha256_prefix":"2399c92b27361e45","entry":"load_ngboost_model","repo":"stanfordmlgroup/ngboost","repo_kind":"official","path":"ngboost/helpers.py","file_url":"https://github.com/stanfordmlgroup/ngboost/blob/HEAD/ngboost/helpers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2399c92b27361e45"}},{"code_sha256_prefix":"e3e4ea82f2c5ddf9","entry":"manifold","repo":"stanfordmlgroup/ngboost","repo_kind":"official","path":"ngboost/manifold.py","file_url":"https://github.com/stanfordmlgroup/ngboost/blob/HEAD/ngboost/manifold.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e3e4ea82f2c5ddf9"}},{"code_sha256_prefix":"1132aa4bd56cfdc7","entry":"new_logger","repo":"ryan-wolbeck/ngboost-tuner","repo_kind":"listed","path":"ngboost_tuner/log.py","file_url":"https://github.com/ryan-wolbeck/ngboost-tuner/blob/HEAD/ngboost_tuner/log.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":"1132aa4bd56cfdc7"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}