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.
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.
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).
Ball drop 1: simplest tower example with only one parameter calibrated
Ball drop 1 w/o discrepancy: similar to ball drop 1, but with no discrepancy in the model
Ball drop 2: similar to ball drop 1, but calibrates an additional parameter
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.
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.
Other examples¶
The remaining examples show more advanced or customized usages of Sepia.