Examples

Current example code is located on GitHub: Sepia examples.

A brief overview of helpful examples for new users is given here.

Example 1: synthetic data with univariate response

This example creates toy synthetic data with a univariate response as a function of a single input. It demonstrates how to create the SepiaData and SepiaModel objects before doing MCMC and visualizing the results. Finally, emulator predictions and cross-validated emulator predictions are visualized using custom plotting code. This is a good place to start to get used to the general Sepia workflow for simple problems.

Notebook link.

Example 2: synthetic data with multivariate response

This example creates toy synthetic data with a multivariate response as a function of multiple inputs. It demonstrates how to create the SepiaData and SepiaModel objects, including the creation of basis elements for modeling the multivariate response. It performs MCMC and shows some of the built-in visualization techniques in SepiaPlot. Then, various kinds of predictions are made from the model and plotted. This is a good place to start to get used to the general Sepia workflow for multivariate-output problems.

Notebook link.

Example 3: tower example

The tower examples involve a synthetic but more interpretable data set involving dropping balls from a tower and measuring how long they take to reach certain heights from the ground. The synthetic data is generated with a systematic discrepancy to the true generating process to demonstrate discrepancy modeling. The main calibration parameter is an unknown drag coefficient, but we also investigate calibrating an additional parameter (coefficient of gravity).

Two variations on these examples demonstrate that Sepia accommodates ragged outputs – that is, the observed multivariate data can exist on different, non-aligned index sets.

Exmaple 4: Neddermeyer cylinder implosions

The motivating experiment and synthetic data are discussed and analyzed in Higdon et al (2008). Briefly, this example uses synthetic data representing the time-varying radii of steel cylinders imploding due to high explosives. Parameters to calibrate include the high explosive detonation energy and the yield stress of steel, with a controllable experimental input (mass of high explosive). This example is unique because the output is actually two-dimensional, requiring some custom setup for the basis functions to represent the output – so this is a good case study for custom basis setup in Sepia.

Notebook link

Example 5: Al-5083 flyer plate

This example features real data that was analyzed previously via Bayesian model calibration in Walters et al (2018). The simulation design is over 11 inputs and the response is a time-indexed velocity of the Al-5083 aluminum alloy after impact from which important feature points have been extracted for each curve. The pairs plot of the calibration parameter posterior distributions is consistent with the 2018 paper.

Notebook link

Other examples

The remaining examples show more advanced or customized usages of Sepia.

  • Categorical input variables: link

  • Neddermeyer with separate groups of parameters for different discrepancy basis elements: link

  • Neddermeyer used to demo shared and hierarchical theta models: link

  • Tower with parallel chain sampling (not a notebook): link