Skip to contents

An R package for chronological Bayesian models integrated for Optically Stimulated (OSL) Luminescence Dating

BayLumPlus is a a refined fork of the original BayLum R package. This update introduces several new capabilities, particularly for the Age processing, where we aim to test different prior assumptions without incurring the computational cost associated with the Palaeodose Model.

To cite the R package 'BayLum' please cite the R package itself and the
following article:

  Christophe C, Philippe A, Kreutzer S, Guérin G, Baumgarten F,
  Frerebeau N, Bouafia I (2024). _BayLumPlus: Chronological Bayesian
  Models Integrating Optically Stimulated Luminescence and Radiocarbon
  Age Dating_. R package version 0.3.3.9000-13,
  <https://CRAN.r-project.org/package=BayLum>.

  Philippe A, Guerin G, Kreutzer S (2019). "BayLum - An R package for
  Bayesian analysis of OSL ages: An introduction." _Quaternary
  Geochronology_, *49*, 16-24. doi:10.1016/j.quageo.2018.05.009
  <https://doi.org/10.1016/j.quageo.2018.05.009>.

Installation

You need to have JAGS installed on your computer.

The package BayLum has only a development version from GitHub with:

# install.packages("remotes")
remotes::install_github("imn167/BayLumPLus")

Please note that development versions may change day by day.

About this Extension

Graph Theory for Stratigraphic Constraints

To support the modeling of stratigraphic relationships, we introduce graph-based functions:

  • buildNetwork() – builds a network from stratigraphic input
  • network_vizualization() – visualizes stratigraphic constraints as a graph
  • remove_transitive_edges() – removes redundant edges implied by transitivity

These tools help simplify and explore complex stratigraphic relationships more intuitively.


Bayesian Age Modeling with Compute_AgeS_D()

We introduce a new modeling function: Compute_AgeS_D(), focused on Bayesian age estimation under various prior structures.

Supported priors include:

  • StrictOrder: Uniform order on the log-scale (chain-like constraints)
  • StrictNicholls: Based on the Uniform Order prior, from the original BayLum
  • Independence: For unstructured or weakly constrained stratigraphy

This function behaves similarly to AgeS_Computation() but adds two additional outputs:

  • The standard deviation of each estimated age
  • The time-series standard error, useful in detecting heteroscedasticity

Isotonic Distortion Framework

BayLumPlus introduces a new Bayesian modeling strategy called Isotonic Distortion, implemented via:

  • IsotonicCurve() – fits the isotonic model
  • PlotIsotonicCurve() – visualizes the result

This framework supports structured monotonic trends in ages, offering a flexible and interpretable alternative to traditional priors.


Comparing Priors with plotHpd()

To facilitate the comparison of different modeling choices and prior structures, the plotHpd() function allows visual comparison of Highest Posterior Density (HPD) intervals under different model settings.

This is particularly useful for:

  • Sensitivity analysis
  • Model comparison
  • Reporting credible intervals with varying assumptions

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Acknowledgements

The development of BayLum received a state financial support managed by the Agence Nationale de la Recherche (France) through the program Investissements d’avenir (ref. ANR-10-LABX-52) between 2015 and 2018.

The development of BayLumPlus received a european financial support by the European Research Center ERC through the grant QuinaWorld.