INVERSION: SURROGATE MODEL ACCELERATED CALIBRATION¶
In this example, it is shown how a surrogate model can be constructed and then used instead of the original forward model in a Bayesian inversion analysis. For a computationally expensive forward model, this approach can yield considerable time savings in the analysis.
The problem considered here is similar to the one in |uq_Example_Inversion_01_Beam|. The inversion analysis is rerun and compared to an analysis using a polynomial chaos expansion (PCE) surrogate of the full computational model.
Package imports¶
from uqpylab import sessions
import numpy as np
import matplotlib.pyplot as plt
from IPython.display import Image
Start a remote UQCloud session¶
# Start the session
mySession = sessions.cloud()
# (Optional) Get a convenient handle to the command line interface
uq = mySession.cli
# Reset the session
mySession.reset()
Processing .
.
done! uqpylab.sessions :: INFO :: This is UQ[py]Lab, version 1.00, running on https://uqcloud.ethz.ch. UQ[py]Lab is free software, published under the open source BSD 3-clause license. To request special permissions, please contact: - Stefano Marelli (marelli@ibk.baug.ethz.ch). A new session (909ff192edcf4c4497285d594c1350dc) started.
uqpylab.sessions :: INFO :: Reset successful.
Set the random seed for reproducibility¶
uq.rng(100, 'twister');
Forward model¶
The simply supported beam problem is shown in the following figure:
Image(filename='SimplySupportedBeam.png')
The forward model computes the deflection of the beam $V$ at mid-span location, which reads:
$$ V = \frac{ 5 p L^4 }{32 E b h^3}$$
This computation is carried out by the function uq_SimplySupportedBeam(X) supplied with UQLab. The input variables of this function are gathered into the $N \times M$ matrix X, where $N$ and $M$ are the number of realizations input variables, respectively. The variables are given in the following order:
- $b$: beam width $(m)$
- $h$: beam height $(m)$
- $L$: beam length $(m)$
- $E$: Young's modulus $(Pa)$
- $p$: uniform load $(N/m)$
Define the forward model as a MODEL object:
ModelOpts = {
'Type': 'Model',
'ModelFun':'SimplySupportedBeam.model',
'isVectorized': True
}
myForwardModel = uq.createModel(ModelOpts)
Prior distribution of the model parameters¶
The prior information about the model parameters is gathered in a probabilistic model that includes both known and unknown parameters.
The geometrical dimensions $b$ (beam width), $h$ (beam height) and $L$ (beam length) are perfectly known:
- $b = 0.15$ m
- $h=0.3$ m
- $L = 5$ m
The applied load $p$ is known up to some Gaussian measurement noise. The Young's modulus $E$, target of the calibration experiment, is given a lognormal prior distribution:
- $p \sim \mathcal{N}(\mu_p = 1.2\times10^{-2}, \sigma_p = 6\times10^{-4})$
- $E \sim \mathcal{LN}(\mu_E = 3\times10^4, \sigma_E = 4.5\times10^3)$
Specify these distributions as an INPUT object:
PriorOpts = {
"Marginals": [
{
"Name": "b", # beam width
"Type": "Constant",
"Parameters": [0.15], # (m)
},
{
"Name": "h", # beam height
"Type": "Constant",
"Parameters": [0.3], # (m)
},
{
"Name": "L", # beam length
"Type": "Constant",
"Parameters": [5], # (m)
},
{
"Name": "E", # Young's modulus
"Type": "LogNormal",
"Moments": [30e9,4.5e9] # (Pa)
},
{
"Name": "p", # uniform load
"Type": "Gaussian",
"Moments": [12000,600] # (N/m)
}
]
}
myPriorDist = uq.createInput(PriorOpts)
Surrogate model¶
Use polynomial chaos expansions (PCE) to construct a surrogate model of |myForwardModel|:
MetaOpts = {
'Type': 'Metamodel',
'MetaType': 'PCE',
'ExpDesign': {
'NSamples': 50
}
}
mySurrogateModel = uq.createModel(MetaOpts)
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((50,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
With just 50 model evaluations, the PCE is extremely accurate and has a leave-one-out cross-validation error of $\varepsilon_{\mathrm{LOO}}\approx 10^{-7}$.
Measurement data¶
The measurement data consists of $N = 5$ independent measurements of the beam mid-span deflection. The data is stored in the column vector |y|:
myData = {
"y": (np.array([12.84, 13.12, 12.13, 12.19, 12.67])/1000).tolist(),
"Name": "Mid-span deflection",
}
Bayesian analysis¶
The options of the Bayesian analysis are specified with the following dictionary:
BayesOpts = {
"Type" : "Inversion",
"Data" : myData,
'Solver': {
'Type': 'MCMC',
'MCMC': {
'Sampler': 'AM',
'Steps': 100, # Note: Realistic cases require order of 10,000 steps.
'NChains': 300,
}
}
}
To use the original forward model |myForwardModel| in the analysis, set the following option:
BayesOpts['ForwardModel'] = {
'Model': myForwardModel['Name']
}
Run the Bayesian inversion analysis:
(Warning: This will take approximately 2 minutes to run.)
myBayesianAnalysis_fullModel = uq.createAnalysis(BayesOpts)
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((300,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((278,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((275,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((282,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((278,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((285,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((270,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((273,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((275,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((278,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((282,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((273,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((276,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((277,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((273,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((277,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((264,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((270,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((257,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((262,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((272,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((271,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((257,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((265,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((265,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((267,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((259,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((253,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((244,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((262,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((243,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((262,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((260,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((256,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((262,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((253,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((247,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((251,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((226,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((243,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((245,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((246,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((252,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((254,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((233,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((247,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((244,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((233,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((232,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((237,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((238,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((233,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((243,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((232,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((235,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((236,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((229,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((239,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((231,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((237,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((238,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((221,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((217,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((219,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((217,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((220,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((213,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((232,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((212,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((220,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((220,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((221,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((210,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((207,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((218,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((213,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((220,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((225,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((221,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((223,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((218,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((208,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((208,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((207,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((209,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((202,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((209,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((217,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((215,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((197,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((205,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((213,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((215,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((212,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((202,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((224,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((215,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((208,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((210,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((207,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: SimplySupportedBeam.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((1,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
Print out a report of the results:
uq.print(myBayesianAnalysis_fullModel)
%----------------------- Inversion output -----------------------% Number of calibrated model parameters: 2 Number of non-calibrated model parameters: 3 Number of calibrated discrepancy parameters: 1 %------------------- Data and Discrepancy % Data-/Discrepancy group 1: Number of independent observations: 5 Discrepancy: Type: Gaussian Discrepancy family: Scalar Discrepancy parameters known: No Associated outputs: Model 1: Output dimensions: 1 %------------------- Solver Solution method: MCMC Algorithm: AM Duration (HH:MM:SS): 00:01:49 Number of sample points: 3.00e+04 %------------------- Posterior Marginals --------------------------------------------------------------------- | Parameter | Mean | Std | (0.025-0.97) Quant. | Type | --------------------------------------------------------------------- | E | 2.7e+10 | 4e+09 | (2.1e+10 - 3.7e+10) | Model | | p | 1.2e+04 | 6.1e+02 | (1.1e+04 - 1.3e+04) | Model | | Sigma2 | 2.2e-05 | 3.4e-05 | (2.3e-07 - 0.00012) | Discrepancy | --------------------------------------------------------------------- %------------------- Point estimate ---------------------------------------- | Parameter | Mean | Parameter Type | ---------------------------------------- | E | 2.7e+10 | Model | | p | 1.2e+04 | Model | | Sigma2 | 2.2e-05 | Discrepancy | ---------------------------------------- %------------------- Correlation matrix (model parameters) ------------------------ | | E p | ------------------------ | E | 1 0.081 | | p | 0.081 1 | ------------------------
For comparison, the analysis is now rerun using the surrogate model |mySurrogateModel| in lieu of the original |myForwardModel|:
BayesOpts['ForwardModel']['Model'] = mySurrogateModel['Name']
Run the Bayesian inversion analysis:
myBayesianAnalysis_surrogateModel = uq.createAnalysis(BayesOpts)
Print out a report of the results:
uq.print(myBayesianAnalysis_surrogateModel)
%----------------------- Inversion output -----------------------% Number of calibrated model parameters: 2 Number of non-calibrated model parameters: 3 Number of calibrated discrepancy parameters: 1 %------------------- Data and Discrepancy % Data-/Discrepancy group 1: Number of independent observations: 5 Discrepancy: Type: Gaussian Discrepancy family: Scalar Discrepancy parameters known: No Associated outputs: Model 1: Output dimensions: 1 %------------------- Solver Solution method: MCMC Algorithm: AM Duration (HH:MM:SS): 00:00:01 Number of sample points: 3.00e+04 %------------------- Posterior Marginals --------------------------------------------------------------------- | Parameter | Mean | Std | (0.025-0.97) Quant. | Type | --------------------------------------------------------------------- | E | 2.6e+10 | 3.5e+09 | (2.1e+10 - 3.5e+10) | Model | | p | 1.2e+04 | 6.5e+02 | (1.1e+04 - 1.3e+04) | Model | | Sigma2 | 2.1e-05 | 3.4e-05 | (2.1e-07 - 0.00013) | Discrepancy | --------------------------------------------------------------------- %------------------- Point estimate ---------------------------------------- | Parameter | Mean | Parameter Type | ---------------------------------------- | E | 2.6e+10 | Model | | p | 1.2e+04 | Model | | Sigma2 | 2.1e-05 | Discrepancy | ---------------------------------------- %------------------- Correlation matrix (model parameters) ---------------------- | | E p | ---------------------- | E | 1 0.12 | | p | 0.12 1 | ----------------------
uq.display(myBayesianAnalysis_surrogateModel);
Comparing |myBayesianAnalysis_fullModel| and |myBayesianAnalysis_surrogateModel| it can be seen that the results are practically identical. The small differences come from the randomness of the MCMC algorithms.
The number of original forward model calls in MCMC with the full model was $N = 30{,}000$ compared to the $N = 50$ model evaluations necessary to compute the PCE surrogate. In cases where the original forward model is computationally expensive, accelerating MCMC with surrogate models result in significant reduction of the total computational costs.
In this example, a PCE surrogate was employed, but generally any surrogate model available in UQLab (e.g., Kriging, LRA, SVR) can be used.
Terminate the remote UQCloud session¶
mySession.quit()
uqpylab.sessions :: INFO :: Session 909ff192edcf4c4497285d594c1350dc terminated.
True