You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: paper/paper.md
+6-28Lines changed: 6 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,24 +35,20 @@ bibliography: paper.bib
35
35
36
36
37
37
# Summary
38
-
A description of the high-level functionality and purpose of the software for a diverse, non-specialist audience.
38
+
Bayesian model combination (BMC) provides a principled framework for combining predictions from multiple models while quantifying uncertainty. Unlike simple averaging methods, BMC explicitly accounts for correlations among models and infers optimal model weights through Bayesian inference, producing predictions with calibrated uncertainty estimates.
39
39
40
-
pybmc is a Python package for Bayesian model combination (BMC), a Bayesian machine learning framework for combining predictions from multiple correlated models while quantifying predictive uncertainty. Unlike simple averaging, pybmc explicitly accounts for inter-model correlations and learns optimal model weights through Bayesian inference, yielding combined predictions with uncertainty estimates.
40
+
The pybmc package implements this methodology in Python, allowing researchers to apply Bayesian model combination to ensembles of predictive models defined on a shared domain. The package is designed for applications in which different theoretical or computational models produce systematically different predictions.
41
41
42
-
The package is designed for scientific applications in which models are defined on a shared domain but differ systematically in their assumptions, approximations, or parameterizations. pybmc provides a flexible API for data handling, orthogonalization, Gibbs sampling, and prediction with uncertainty quantification.
43
-
44
-
pybmc is implemented in Python with minimal dependencies and is intended to integrate naturally into existing scientific workflows. While motivated by applications in nuclear physics, the package is applicable to a broad class of problems involving ensemble modeling and uncertainty-aware prediction.
42
+
By providing a lightweight and flexible interface for constructing model ensembles and generating uncertainty-aware predictions, pybmc makes Bayesian model combination accessible for research workflows. While motivated by applications in nuclear physics, the approach is general and applicable to a broad range of problems involving ensemble modeling and uncertainty-aware prediction.
45
43
46
44
47
45
# Statement of need - An
48
46
A section that clearly illustrates the research purpose of the software and places it in the context of related work. This should clearly state what problems the software is designed to solve, who the target audience is, and its relation to other work.
49
47
50
-
# State of the fields - KYLE
51
-
A description of how this software compares to other commonly-used packages in the research area. If related tools exist, provide a clear “build vs. contribute” justification explaining your unique scholarly contribution and why existing alternatives are insufficient.
52
-
48
+
# State of the fields
53
49
This package represents the first user-focused software implementation of the model orthogonalization and combination strategy detailed in [cite]. While there exist other Bayesian model mixing software, including the Taweret software package [cite Taweret JOSS], the current package is primarily designed to be used in scenarios where practicioners have precomputed databases of model predictions (with or without uncertainties) and wish to combine the results efficiently without needing to run additional simulations. This is particularly beneficial in nuclear physics, for instance, where global calculations of nuclear properties for all possible isotopes is computationally demanding.
54
50
55
-
# Software design
51
+
# Structure
56
52
An explanation of the trade-offs you weighed, the design/architecture you chose, and why it matters for your research application. This should demonstrate meaningful design thinking beyond a superficial code structure description.
57
53
58
54
@@ -68,12 +64,8 @@ The original methodology was published in a peer-reviewed journal [cite] and the
68
64
Once the package was completed, it began replacing the original, bespoke implementation in new scientific works including a study on Q-alpha trends in superheavy nuclei, the impact of nuclear uncertainties in r-process nucleosynthesis, and a systematic study of charge radii. Students involved in these projects have presented results obtained using the software at the American Physical Society's annual Division of Nuclear Physics meeting and at presentations locally.
69
65
The package has also been adopted for release with the Bayesian Analysis for Nuclear Dynamics collaboration's V0.5 release and disseminated broadly to the nuclear physics community.
70
66
71
-
# Mathematics (some formal theory here?) - I think we can just include the documentation already on the Github
72
-
73
67
74
-
# Figures (?)
75
-
76
-
# AI usage disclosure - We should each contribute what we used AI for
68
+
# AI usage disclosure
77
69
78
70
Generative AI was used in the creation of a package template early in the development process and during development via inline autocomplete within the developers' editors. No code was adopted without human oversight and our metric for correctness was defined by detailed numerical comparison to the bespoke implementation already published in [cite].
79
71
AI tools were also used to expand the package documentation and write additional tests, with the resulting documentation going through a round of human review for completeness, correctness, and accessibility.
@@ -82,20 +74,6 @@ AI tools were also used to expand the package documentation and write additional
0 commit comments