Skip to content

Commit

Permalink
JOSS address editor comments (#305)
Browse files Browse the repository at this point in the history
* DOIs, resolved except RR2007, ScikitLearn, NUTS

* add Andre ORCID

* addressed e.g.s, reseearch list, and CES pipeline list

* replot sinusoid figures with larger fonts

* add trailing commas

* julia format

* trailing comma

* pdf update

* formatting bullets

* capitalization

* grammar...

* reduce trimmed fonts

* new pdf
  • Loading branch information
odunbar authored Apr 23, 2024
1 parent 5dfb631 commit 332101c
Show file tree
Hide file tree
Showing 11 changed files with 112 additions and 60 deletions.
3 changes: 3 additions & 0 deletions examples/Sinusoid/calibrate.jl
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@ p = plot(
legend = :bottomright,
xlims = (0, 6),
ylims = (-6, 10),
guidefontsize = 14,
tickfontsize = 12,
legendfontsize = 12,
)
vline!([theta_true[1]], color = :red, style = :dash, label = :false)
hline!([theta_true[2]], color = :red, style = :dash, label = :false)
Expand Down
46 changes: 38 additions & 8 deletions examples/Sinusoid/emulate.jl
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# First, we load the packages we need:
using LinearAlgebra, Random

using Distributions, Plots
using Distributions, Plots, Plots.PlotMeasures
using JLD2

using CalibrateEmulateSample
Expand Down Expand Up @@ -179,7 +179,7 @@ p2 = contour(
ylabel = "Vertical Shift",
title = "True Sinusoid Mean",
)
p = plot(p1, p2, size = (600, 300), layout = (1, 2))
p = plot(p1, p2, size = (600, 300), layout = (1, 2), guidefontsize = 12, tickfontsize = 10, legendfontsize = 10)
savefig(p, joinpath(data_save_directory, "sinusoid_groundtruth_contours.png"))
# The first panel shows how the range varies with respect to the two parameters in the Gaussian process
# emulator. The contours show the range is mostly dependent on the amplitude, with little variation with
Expand Down Expand Up @@ -212,7 +212,17 @@ p2 = contour(
title = "GP Sinusoid Mean",
)
plot!(inputs[1, :], inputs[2, :]; seriestype = :scatter, zcolor = outputs[2, :], label = :false)
p = plot(p1, p2, size = (600, 300), layout = (1, 2))
p = plot(
p1,
p2,
right_margin = 3mm,
bottom_margin = 3mm,
size = (600, 300),
layout = (1, 2),
guidefontsize = 12,
tickfontsize = 10,
legendfontsize = 10,
)
savefig(p, joinpath(data_save_directory, "sinusoid_GP_emulator_contours.png"))

# Plot RF emulator contours
Expand All @@ -238,7 +248,17 @@ p2 = contour(
title = "RF Sinusoid Mean",
)
plot!(inputs[1, :], inputs[2, :]; seriestype = :scatter, zcolor = outputs[2, :], label = :false)
p = plot(p1, p2, size = (600, 300), layout = (1, 2))
p = plot(
p1,
p2,
right_margin = 3mm,
bottom_margin = 3mm,
size = (600, 300),
layout = (1, 2),
guidefontsize = 12,
tickfontsize = 10,
legendfontsize = 10,
)
savefig(p, joinpath(data_save_directory, "sinusoid_RF_emulator_contours.png"))

# Both the GP and RF emulator give similar results to the ground truth G(θ), indicating they are correctly
Expand Down Expand Up @@ -272,7 +292,17 @@ p2 = contour(
ylabel = "Vertical Shift",
title = "GP 1σ in Sinusoid Mean",
)
p = plot(p1, p2, size = (600, 300), layout = (1, 2))
p = plot(
p1,
p2,
size = (600, 300),
layout = (1, 2),
right_margin = 3mm,
bottom_margin = 3mm,
guidefontsize = 12,
tickfontsize = 10,
legendfontsize = 10,
)
savefig(p, joinpath(data_save_directory, "sinusoid_GP_emulator_std_contours.png"))


Expand All @@ -299,7 +329,7 @@ p2 = contour(
ylabel = "Vertical Shift",
title = "RF 1σ in Sinusoid Mean",
)
p = plot(p1, p2, size = (600, 300), layout = (1, 2))
p = plot(p1, p2, size = (600, 300), layout = (1, 2), guidefontsize = 12, tickfontsize = 10, legendfontsize = 10)
savefig(p, joinpath(data_save_directory, "sinusoid_RF_emulator_std_contours.png"))
# The GP and RF uncertainty predictions are similar and show lower uncertainties around the region of interest
# where we have more training points.
Expand Down Expand Up @@ -331,7 +361,7 @@ p2 = contour(
ylabel = "Vertical Shift",
title = "GP error in Sinusoid Mean",
)
p = plot(p1, p2, size = (600, 300), layout = (1, 2))
p = plot(p1, p2, size = (600, 300), layout = (1, 2), guidefontsize = 12, tickfontsize = 10, legendfontsize = 10)
savefig(p, joinpath(data_save_directory, "sinusoid_GP_errors_contours.png"))

rf_diff_grid = abs.(rf_grid - g_true_grid)
Expand All @@ -357,7 +387,7 @@ p2 = contour(
ylabel = "Vertical Shift",
title = "RF error in Sinusoid Mean",
)
p = plot(p1, p2, size = (600, 300), layout = (1, 2))
p = plot(p1, p2, size = (600, 300), layout = (1, 2), guidefontsize = 12, tickfontsize = 10, legendfontsize = 10)
savefig(p, joinpath(data_save_directory, "sinusoid_RF_errors_contours.png"))

# Here, we want the emulator to show the low errors in the region around the true parameter values near θ = (3, 6),
Expand Down
12 changes: 6 additions & 6 deletions examples/Sinusoid/sample.jl
Original file line number Diff line number Diff line change
Expand Up @@ -172,9 +172,9 @@ plot_all = plot(
layout = layout,
size = (600, 600),
legend = :true,
guidefontsize = 8,
tickfontsize = 6,
legendfontsize = 6,
guidefontsize = 14,
tickfontsize = 12,
legendfontsize = 12,
)

savefig(plot_all, joinpath(data_save_directory, "sinusoid_MCMC_hist_GP.png"))
Expand Down Expand Up @@ -293,9 +293,9 @@ plot_all = plot(
layout = layout,
size = (600, 600),
legend = :true,
guidefontsize = 8,
tickfontsize = 6,
legendfontsize = 6,
guidefontsize = 14,
tickfontsize = 12,
legendfontsize = 12,
)

savefig(plot_all, joinpath(data_save_directory, "sinusoid_MCMC_hist_RF.png"))
Expand Down
10 changes: 9 additions & 1 deletion examples/Sinusoid/sinusoid_setup.jl
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,15 @@ function generate_obs(amplitude_true, vert_shift_true, Γ; rng = Random.GLOBAL_R
# Generate the "true" signal for these parameters
signal_true = model(amplitude_true, vert_shift_true; rng = rng)
# Plot
p = plot(signal_true, color = :black, linewidth = 3, label = "True signal")
p = plot(
signal_true,
color = :black,
linewidth = 3,
label = "True signal",
guidefontsize = 14,
tickfontsize = 12,
legendfontsize = 12,
)

# We will observe properties of the signal that inform us about the amplitude and vertical
# position. These properties will be the range (the difference between the maximum and the minimum),
Expand Down
68 changes: 34 additions & 34 deletions paper.bib
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
@article{julia,
doi = {10.1137/141000671},
url = {https://doi.org/10.1137%2F141000671},
year = 2017,
month = {jan},
publisher = {Society for Industrial {\&} Applied Mathematics ({SIAM})},
Expand All @@ -17,7 +16,8 @@ @book{Sisson:2018
isbn = {978-1-351-64346-7},
publisher = {CRC Press},
author = {Sisson, Scott A. and Fan, Yanan and Beaumont, Mark},
year = {2018}
year = {2018},
doi = {10.1201/9781315117195}
}

@incollection{Nott:2018,
Expand All @@ -29,6 +29,7 @@ @incollection{Nott:2018
pages = {211-241},
year = {2018},
publisher = {CRC Press},
doi = {10.1201/9781315117195-8}
}

@article{Cleary:2021,
Expand All @@ -38,14 +39,12 @@ @article{Cleary:2021
pages = {109716},
year = {2021},
issn = {0021-9991},
doi = {https://doi.org/10.1016/j.jcp.2020.109716},
url = {https://www.sciencedirect.com/science/article/pii/S0021999120304903},
doi = {10.1016/j.jcp.2020.109716},
author = {Emmet Cleary and Alfredo Garbuno-Inigo and Shiwei Lan and Tapio Schneider and Andrew M. Stuart},
}

@article{Dunbar:2022a,
doi = {10.21105/joss.04869},
url = {https://doi.org/10.21105/joss.04869},
year = {2022},
publisher = {The Open Journal},
volume = {7},
Expand All @@ -72,7 +71,7 @@ @mastersthesis{Hillier:2022
school = {Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science},
author = {Adeline Hillier},
year = {2022},
url = {https://hdl.handle.net/1721.1/145140}
doi = {1721.1/145140}
}


Expand All @@ -82,7 +81,8 @@ @book{Rasmussen:2006
volume={2},
number={3},
year={2006},
publisher={MIT press Cambridge, MA}
publisher={MIT press Cambridge, MA},
doi = {10.1142/S0129065704001899}
}

@article{Iglesias:2013,
Expand All @@ -93,7 +93,8 @@ @article{Iglesias:2013
number={4},
pages={045001},
year={2013},
publisher={IOP Publishing}
publisher={IOP Publishing},
doi={10.1088/0266-5611/29/4/045001}
}

@inproceedings{Rahimi:2007,
Expand All @@ -104,7 +105,7 @@ @inproceedings{Rahimi:2007
number={4},
pages={5},
year={2007},
organization={Citeseer}
url = {https://proceedings.neurips.cc/paper_files/paper/2007/file/013a006f03dbc5392effeb8f18fda755-Paper.pdf},
}

@inproceedings{Rahimi:2008,
Expand All @@ -113,7 +114,8 @@ @inproceedings{Rahimi:2008
booktitle={2008 46th Annual Allerton Conference on Communication, Control, and Computing},
pages={555--561},
year={2008},
organization={IEEE}
organization={IEEE},
doi = {10.1109/allerton.2008.4797607}
}

@article{Liu:2022,
Expand All @@ -138,21 +140,19 @@ @article{Cotter:2013
keywords = {algorithms, Bayesian inverse problems, Bayesian nonparametrics, Gaussian random field, MCMC},
year = {2013},
doi = {10.1214/13-STS421},
URL = {https://doi.org/10.1214/13-STS421}
}

@article{Sherlock:2010,
ISSN = {08834237},
URL = {http://www.jstor.org/stable/41058939},
author = {Chris Sherlock and Paul Fearnhead and Gareth O. Roberts},
journal = {Statistical Science},
number = {2},
pages = {172--190},
publisher = {Institute of Mathematical Statistics},
title = {The Random Walk Metropolis: Linking Theory and Practice Through a Case Study},
urldate = {2023-12-06},
volume = {25},
year = {2010}
year = {2010},
doi = {10.1214/10-sts327}
}

@article{Dunbar:2021,
Expand All @@ -163,7 +163,7 @@ @article{Dunbar:2021
number = {9},
pages = {e2020MS002454},
keywords = {uncertainty quantification, model calibration, machine learning, general circulation model, parametric uncertainty, inverse problem},
doi = {https://doi.org/10.1029/2020MS002454},
doi = {10.1029/2020MS002454},
year = {2021}
}

Expand All @@ -177,7 +177,7 @@ @article{Howland:2022
number = {3},
pages = {e2021MS002735},
keywords = {uncertainty quantification, Bayesian learning, GCM, seasonal cycle},
doi = {https://doi.org/10.1029/2021MS002735},
doi = {10.1029/2021MS002735},
year = {2022}
}

Expand All @@ -189,7 +189,7 @@ @article{Dunbar:2022b
number = {9},
pages = {e2022MS002997},
keywords = {optimal design, model calibration, uncertainty quantification, general circulation model, optimal placement, machine learning},
doi = {https://doi.org/10.1029/2022MS002997},
doi = {10.1029/2022MS002997},
year = {2022}
}

Expand All @@ -212,12 +212,12 @@ @article{Fairbrother:2022
journal={Journal of Statistical Software},
volume={102},
pages={1--36},
year={2022}
year={2022},
doi={10.18637/jss.v102.i01}
}

@article{Dixit:2022,
doi = {10.21105/joss.04561},
url = {https://doi.org/10.21105/joss.04561},
year = {2022},
publisher = {The Open Journal},
volume = {7},
Expand Down Expand Up @@ -248,14 +248,12 @@ @article{Tankhilevich:2020
month = {02},
issn = {1367-4803},
doi = {10.1093/bioinformatics/btaa078},
url = {https://doi.org/10.1093/bioinformatics/btaa078},
note = {btaa078},
eprint = {https://academic.oup.com/bioinformatics/advance-article-pdf/doi/10.1093/bioinformatics/btaa078/32353462/btaa078.pdf},
}

@article{Huang:2022,
doi = {10.1088/1361-6420/ac99fa},
url = {https://dx.doi.org/10.1088/1361-6420/ac99fa},
year = {2022},
month = {oct},
publisher = {IOP Publishing},
Expand All @@ -271,7 +269,6 @@ @article{Mansfield:2022
title = {Calibration and Uncertainty Quantification of a Gravity Wave Parameterization: A Case Study of the {Quasi}-{Biennial} {Oscillation} in an Intermediate Complexity Climate Model},
volume = {14},
issn = {1942-2466},
url = {https://onlinelibrary.wiley.com/doi/abs/10.1029/2022MS003245},
doi = {10.1029/2022MS003245},
language = {en},
number = {11},
Expand All @@ -283,8 +280,6 @@ @article{Mansfield:2022
@article{King:2023,
type = {preprint},
title = {Bayesian History Matching applied to the calibration of a gravity wave parameterization},
url = {https://essopenarchive.org/users/709594/articles/693996-bayesian-history-matching-applied-to-the-calibration-of-a-gravity-wave-parameterization?commit=613feab171223df3237efc786346eacd545733f1},
urldate = {2024-01-05},
institution = {Preprints},
author = {King, Robert C and Mansfield, Laura A and Sheshadri, Aditi},
month = dec,
Expand All @@ -301,12 +296,12 @@ @article{Metropolis:1953
number={6},
pages={1087--1092},
year={1953},
publisher={American Institute of Physics}
publisher={American Institute of Physics},
doi = {10.1063/1.1699114}
}

@article{Huggins:2023,
doi = {10.21105/joss.05428},
url = {https://doi.org/10.21105/joss.05428},
year = {2023},
publisher = {The Open Journal},
volume = {8},
Expand All @@ -317,13 +312,17 @@ @article{Huggins:2023
journal = {Journal of Open Source Software}
}

@article{Gammal:2022,
title={Fast and robust Bayesian Inference using Gaussian Processes with GPry},
author={Jonas El Gammal and Nils Schöneberg and Jesús Torrado and Christian Fidler},
year={2022},
eprint={2211.02045},
archivePrefix={arXiv},
primaryClass={astro-ph.CO}
@article{Gammal:2023,
doi = {10.1088/1475-7516/2023/10/021},
year = {2023},
month = {oct},
publisher = {IOP Publishing},
volume = {2023},
number = {10},
pages = {021},
author = {Jonas El Gammal and Nils Schöneberg and Jesús Torrado and Christian Fidler},
title = {Fast and robust Bayesian inference using Gaussian processes with GPry},
journal = {Journal of Cosmology and Astroparticle Physics},
}

@article{livingstone:2022,
Expand All @@ -334,7 +333,8 @@ @article{livingstone:2022
number={2},
pages={496--523},
year={2022},
publisher={Oxford University Press}
publisher={Oxford University Press},
doi={10.1111/rssb.12482}
}

@article{hoffman:2014,
Expand Down
Loading

0 comments on commit 332101c

Please sign in to comment.